Changes in / [cde3891:9b086ca]
- Files:
-
- 264 added
- 317 deleted
- 149 edited
-
.gitignore (modified) (1 diff)
-
INSTALL (modified) (1 diff)
-
Jenkins/TestRegen (modified) (1 diff)
-
Jenkinsfile (modified) (9 diffs)
-
Makefile.am (modified) (1 diff)
-
Makefile.in (modified) (15 diffs)
-
aclocal.m4 (modified) (1 diff)
-
automake/cfa.m4 (modified) (1 diff)
-
automake/libtool.m4 (deleted)
-
automake/ltmain.sh (deleted)
-
automake/ltoptions.m4 (deleted)
-
automake/ltsugar.m4 (deleted)
-
automake/ltversion.m4 (deleted)
-
automake/lt~obsolete.m4 (deleted)
-
benchmark/Makefile.am (modified) (12 diffs)
-
benchmark/Makefile.in (modified) (29 diffs)
-
benchmark/Monitor.c (modified) (1 diff)
-
benchmark/c.c (deleted)
-
benchmark/compile/empty.c (added)
-
benchmark/compile/empty.cfa (deleted)
-
benchmark/creation/cfa_cor.c (added)
-
benchmark/creation/cfa_cor.cfa (deleted)
-
benchmark/creation/cfa_thrd.c (added)
-
benchmark/creation/cfa_thrd.cfa (deleted)
-
benchmark/ctxswitch/cfa_cor.c (added)
-
benchmark/ctxswitch/cfa_cor.cfa (deleted)
-
benchmark/ctxswitch/cfa_thrd.c (added)
-
benchmark/ctxswitch/cfa_thrd.cfa (deleted)
-
benchmark/ctxswitch/cfa_thrd2.c (added)
-
benchmark/ctxswitch/cfa_thrd2.cfa (deleted)
-
benchmark/cxx.cpp (deleted)
-
benchmark/mutex/cfa1.c (added)
-
benchmark/mutex/cfa1.cfa (deleted)
-
benchmark/mutex/cfa2.c (added)
-
benchmark/mutex/cfa2.cfa (deleted)
-
benchmark/mutex/cfa4.c (added)
-
benchmark/mutex/cfa4.cfa (deleted)
-
benchmark/schedext/cfa1.c (added)
-
benchmark/schedext/cfa1.cfa (deleted)
-
benchmark/schedext/cfa2.c (added)
-
benchmark/schedext/cfa2.cfa (deleted)
-
benchmark/schedext/cfa4.c (added)
-
benchmark/schedext/cfa4.cfa (deleted)
-
benchmark/schedint/cfa1.c (added)
-
benchmark/schedint/cfa1.cfa (deleted)
-
benchmark/schedint/cfa2.c (added)
-
benchmark/schedint/cfa2.cfa (deleted)
-
benchmark/schedint/cfa4.c (added)
-
benchmark/schedint/cfa4.cfa (deleted)
-
configure (modified) (27 diffs)
-
configure.ac (modified) (5 diffs)
-
doc/bibliography/pl.bib (modified) (56 diffs)
-
doc/papers/concurrency/Makefile (modified) (1 diff)
-
doc/papers/concurrency/Paper.tex (modified) (14 diffs)
-
doc/papers/general/Makefile (modified) (1 diff)
-
doc/proposals/flags.md (modified) (2 diffs)
-
doc/proposals/virtual.txt (modified) (4 diffs)
-
doc/proposals/vtable.md (deleted)
-
doc/theses/aaron_moss/comp_II/.gitignore (added)
-
doc/theses/aaron_moss/comp_II/Efficient Type Resolution in Cforall.pptx (added)
-
doc/theses/aaron_moss/comp_II/Makefile (added)
-
doc/theses/aaron_moss/comp_II/comp_II.tex (added)
-
doc/theses/aaron_moss/comp_II/conversion_dag.eps (added)
-
doc/theses/aaron_moss/comp_II/conversion_dag.odg (added)
-
doc/theses/aaron_moss/comp_II/conversion_dag.png (added)
-
doc/theses/aaron_moss/comp_II/resolution_dag.eps (added)
-
doc/theses/aaron_moss/comp_II/resolution_dag.odg (added)
-
doc/theses/aaron_moss/comp_II/resolution_dag.png (added)
-
doc/theses/aaron_moss/comp_II/resolution_dag2.odg (added)
-
doc/theses/aaron_moss/comp_II/resolution_dag2.png (added)
-
doc/theses/aaron_moss/phd/.gitignore (added)
-
doc/theses/aaron_moss/phd/Makefile (added)
-
doc/theses/aaron_moss/phd/aaron-thesis.bib (added)
-
doc/theses/aaron_moss/phd/background.tex (added)
-
doc/theses/aaron_moss/phd/conclusion.tex (added)
-
doc/theses/aaron_moss/phd/frontpgs.tex (added)
-
doc/theses/aaron_moss/phd/generic-types.tex (added)
-
doc/theses/aaron_moss/phd/introduction.tex (added)
-
doc/theses/aaron_moss/phd/macros.tex (added)
-
doc/theses/aaron_moss/phd/resolution-heuristics.tex (added)
-
doc/theses/aaron_moss/phd/thesis.tex (added)
-
doc/theses/aaron_moss/phd/type-environment.tex (added)
-
doc/theses/aaron_moss_PhD/comp_II/.gitignore (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/Efficient Type Resolution in Cforall.pptx (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/Makefile (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/comp_II.tex (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.eps (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.odg (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.png (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.eps (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.odg (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.png (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag2.odg (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag2.png (deleted)
-
doc/theses/aaron_moss_PhD/phd/.gitignore (deleted)
-
doc/theses/aaron_moss_PhD/phd/Makefile (deleted)
-
doc/theses/aaron_moss_PhD/phd/background.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/cfa-macros.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/code/bespoke-generic.c (deleted)
-
doc/theses/aaron_moss_PhD/phd/code/cfa-generic.cfa (deleted)
-
doc/theses/aaron_moss_PhD/phd/code/macro-generic.c (deleted)
-
doc/theses/aaron_moss_PhD/phd/code/void-generic.c (deleted)
-
doc/theses/aaron_moss_PhD/phd/conclusion.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/evaluation/generic-timing.dat (deleted)
-
doc/theses/aaron_moss_PhD/phd/evaluation/generic-timing.gp (deleted)
-
doc/theses/aaron_moss_PhD/phd/frontpgs.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/generic-types.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/introduction.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/macros.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/resolution-heuristics.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/thesis.tex (deleted)
-
doc/theses/aaron_moss_PhD/phd/timeline.md (deleted)
-
doc/theses/aaron_moss_PhD/phd/type-environment.tex (deleted)
-
doc/theses/lynn_tran_SE499/Bibliography.bib (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/CFA.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/Conclusion.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/Demangler.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/Extensions.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/GDB.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/Introduction.tex (deleted)
-
doc/theses/lynn_tran_SE499/Chapters/uCPP.tex (deleted)
-
doc/theses/lynn_tran_SE499/LICENSE (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master.zip (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/.gdbinit (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/README.md (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/test.cc (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/utils-gdb.gdb (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/utils-gdb.py (deleted)
-
doc/theses/lynn_tran_SE499/SE499-master/utils.cpp (deleted)
-
doc/theses/lynn_tran_SE499/Thesis.cls (deleted)
-
doc/theses/lynn_tran_SE499/lstpatch.sty (deleted)
-
doc/theses/lynn_tran_SE499/se499-report.tex (deleted)
-
doc/theses/lynn_tran_SE499/uContext_stack.png (deleted)
-
doc/theses/lynn_tran_SE499/vector.sty (deleted)
-
doc/theses/rob_schluntz/.gitignore (added)
-
doc/theses/rob_schluntz/Makefile (added)
-
doc/theses/rob_schluntz/cfa-format.tex (added)
-
doc/theses/rob_schluntz/conclusions.tex (added)
-
doc/theses/rob_schluntz/ctordtor.tex (added)
-
doc/theses/rob_schluntz/examples/conclusions/dtor.c (added)
-
doc/theses/rob_schluntz/examples/conclusions/except.c (added)
-
doc/theses/rob_schluntz/examples/conclusions/except.cc (added)
-
doc/theses/rob_schluntz/examples/ctor/array_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/copy_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/cv_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/enum_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/expr_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/global_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/hide_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/member.c (added)
-
doc/theses/rob_schluntz/examples/ctor/placement_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/return_dtor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/static_ctor.c (added)
-
doc/theses/rob_schluntz/examples/ctor/union_ctor.c (added)
-
doc/theses/rob_schluntz/examples/intro/FileOutputStream.java (added)
-
doc/theses/rob_schluntz/examples/intro/compound_lit.c (added)
-
doc/theses/rob_schluntz/examples/intro/designation.c (added)
-
doc/theses/rob_schluntz/examples/intro/ignore.c (added)
-
doc/theses/rob_schluntz/examples/intro/ires.java (added)
-
doc/theses/rob_schluntz/examples/intro/res.java (added)
-
doc/theses/rob_schluntz/examples/intro/res1.java (added)
-
doc/theses/rob_schluntz/examples/intro/res2.java (added)
-
doc/theses/rob_schluntz/examples/intro/res3.java (added)
-
doc/theses/rob_schluntz/examples/intro/tuple.cc (added)
-
doc/theses/rob_schluntz/examples/intro/variadic.java (added)
-
doc/theses/rob_schluntz/examples/malloc.cc (added)
-
doc/theses/rob_schluntz/examples/nested.c (added)
-
doc/theses/rob_schluntz/examples/poly.c (added)
-
doc/theses/rob_schluntz/examples/scope_guard.h (added)
-
doc/theses/rob_schluntz/examples/test_scoped_guard.c (added)
-
doc/theses/rob_schluntz/examples/tuples/assign.c (added)
-
doc/theses/rob_schluntz/examples/tuples/cast.c (added)
-
doc/theses/rob_schluntz/examples/tuples/ctor.c (added)
-
doc/theses/rob_schluntz/examples/tuples/mrv.c (added)
-
doc/theses/rob_schluntz/examples/tuples/mrv_1.c (added)
-
doc/theses/rob_schluntz/examples/tuples/mrv_2.c (added)
-
doc/theses/rob_schluntz/examples/tuples/mrv_3.c (added)
-
doc/theses/rob_schluntz/examples/tuples/named.c (added)
-
doc/theses/rob_schluntz/examples/variadic/new.c (added)
-
doc/theses/rob_schluntz/examples/variadic/print.c (added)
-
doc/theses/rob_schluntz/examples/variadic/sum1.c (added)
-
doc/theses/rob_schluntz/examples/variadic/sum2.c (added)
-
doc/theses/rob_schluntz/intro.tex (added)
-
doc/theses/rob_schluntz/thesis-frontpgs.tex (added)
-
doc/theses/rob_schluntz/thesis.bib (added)
-
doc/theses/rob_schluntz/thesis.tex (added)
-
doc/theses/rob_schluntz/tuples.tex (added)
-
doc/theses/rob_schluntz/variadic.tex (added)
-
doc/theses/rob_schluntz_MMath/.gitignore (deleted)
-
doc/theses/rob_schluntz_MMath/Makefile (deleted)
-
doc/theses/rob_schluntz_MMath/cfa-format.tex (deleted)
-
doc/theses/rob_schluntz_MMath/conclusions.tex (deleted)
-
doc/theses/rob_schluntz_MMath/ctordtor.tex (deleted)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/dtor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/except.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/except.cc (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/array_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/copy_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/cv_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/enum_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/expr_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/global_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/hide_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/member.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/placement_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/return_dtor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/static_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/ctor/union_ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/FileOutputStream.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/compound_lit.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/designation.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/ignore.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/ires.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/res.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/res1.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/res2.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/res3.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/tuple.cc (deleted)
-
doc/theses/rob_schluntz_MMath/examples/intro/variadic.java (deleted)
-
doc/theses/rob_schluntz_MMath/examples/malloc.cc (deleted)
-
doc/theses/rob_schluntz_MMath/examples/nested.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/poly.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/scope_guard.h (deleted)
-
doc/theses/rob_schluntz_MMath/examples/test_scoped_guard.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/assign.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/cast.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/ctor.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_1.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_2.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_3.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/tuples/named.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/variadic/new.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/variadic/print.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/variadic/sum1.c (deleted)
-
doc/theses/rob_schluntz_MMath/examples/variadic/sum2.c (deleted)
-
doc/theses/rob_schluntz_MMath/intro.tex (deleted)
-
doc/theses/rob_schluntz_MMath/thesis-frontpgs.tex (deleted)
-
doc/theses/rob_schluntz_MMath/thesis.bib (deleted)
-
doc/theses/rob_schluntz_MMath/thesis.tex (deleted)
-
doc/theses/rob_schluntz_MMath/tuples.tex (deleted)
-
doc/theses/rob_schluntz_MMath/variadic.tex (deleted)
-
doc/theses/thierry_delisle/.gitignore (added)
-
doc/theses/thierry_delisle/Makefile (added)
-
doc/theses/thierry_delisle/annex/glossary.tex (added)
-
doc/theses/thierry_delisle/annex/local.bib (added)
-
doc/theses/thierry_delisle/figures/dependency.fig (added)
-
doc/theses/thierry_delisle/figures/ext_monitor.fig (added)
-
doc/theses/thierry_delisle/figures/int_monitor.fig (added)
-
doc/theses/thierry_delisle/figures/monitor.fig (added)
-
doc/theses/thierry_delisle/figures/monitor_structs.fig (added)
-
doc/theses/thierry_delisle/figures/system.fig (added)
-
doc/theses/thierry_delisle/notes/cor-thread-traits.c (added)
-
doc/theses/thierry_delisle/notes/lit-review.md (added)
-
doc/theses/thierry_delisle/notes/notes.md (added)
-
doc/theses/thierry_delisle/style/cfa-format.tex (added)
-
doc/theses/thierry_delisle/style/style.tex (added)
-
doc/theses/thierry_delisle/text/basics.tex (added)
-
doc/theses/thierry_delisle/text/cforall.tex (added)
-
doc/theses/thierry_delisle/text/concurrency.tex (added)
-
doc/theses/thierry_delisle/text/frontpgs.tex (added)
-
doc/theses/thierry_delisle/text/future.tex (added)
-
doc/theses/thierry_delisle/text/internals.tex (added)
-
doc/theses/thierry_delisle/text/intro.tex (added)
-
doc/theses/thierry_delisle/text/parallelism.tex (added)
-
doc/theses/thierry_delisle/text/results.tex (added)
-
doc/theses/thierry_delisle/text/together.tex (added)
-
doc/theses/thierry_delisle/thePlan.md (added)
-
doc/theses/thierry_delisle/thesis.tex (added)
-
doc/theses/thierry_delisle/version (added)
-
doc/theses/thierry_delisle/version.sh (added)
-
doc/theses/thierry_delisle_MMath/.gitignore (deleted)
-
doc/theses/thierry_delisle_MMath/Makefile (deleted)
-
doc/theses/thierry_delisle_MMath/annex/glossary.tex (deleted)
-
doc/theses/thierry_delisle_MMath/annex/local.bib (deleted)
-
doc/theses/thierry_delisle_MMath/figures/dependency.fig (deleted)
-
doc/theses/thierry_delisle_MMath/figures/ext_monitor.fig (deleted)
-
doc/theses/thierry_delisle_MMath/figures/int_monitor.fig (deleted)
-
doc/theses/thierry_delisle_MMath/figures/monitor.fig (deleted)
-
doc/theses/thierry_delisle_MMath/figures/monitor_structs.fig (deleted)
-
doc/theses/thierry_delisle_MMath/figures/system.fig (deleted)
-
doc/theses/thierry_delisle_MMath/notes/cor-thread-traits.c (deleted)
-
doc/theses/thierry_delisle_MMath/notes/lit-review.md (deleted)
-
doc/theses/thierry_delisle_MMath/notes/notes.md (deleted)
-
doc/theses/thierry_delisle_MMath/style/cfa-format.tex (deleted)
-
doc/theses/thierry_delisle_MMath/style/style.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/basics.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/cforall.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/concurrency.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/frontpgs.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/future.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/internals.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/intro.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/parallelism.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/results.tex (deleted)
-
doc/theses/thierry_delisle_MMath/text/together.tex (deleted)
-
doc/theses/thierry_delisle_MMath/thePlan.md (deleted)
-
doc/theses/thierry_delisle_MMath/thesis.tex (deleted)
-
doc/theses/thierry_delisle_MMath/version (deleted)
-
doc/theses/thierry_delisle_MMath/version.sh (deleted)
-
doc/user/Makefile (modified) (2 diffs)
-
doc/user/user.tex (modified) (48 diffs)
-
doc/working/exception/impl/Makefile (deleted)
-
doc/working/exception/impl/exception.c (modified) (4 diffs)
-
doc/working/exception/impl/pdc.s (deleted)
-
doc/working/exception/impl/pic.s (deleted)
-
doc/working/exception/impl/test.c (deleted)
-
driver/Makefile.am (modified) (1 diff)
-
driver/Makefile.in (modified) (21 diffs)
-
driver/as.cc (modified) (2 diffs)
-
driver/cc1.cc (modified) (15 diffs)
-
driver/cfa.cc (modified) (12 diffs)
-
examples/ArrayN.c (modified) (2 diffs)
-
examples/gc_no_raii/src/internal/collector.c (modified) (1 diff)
-
examples/gc_no_raii/src/internal/state.h (modified) (1 diff)
-
examples/gc_no_raii/src/tools/print.h (modified) (1 diff)
-
examples/multicore.c (modified) (2 diffs)
-
examples/prolog.c (modified) (1 diff)
-
examples/quad.c (modified) (2 diffs)
-
examples/square.c (modified) (4 diffs)
-
examples/twice.c (modified) (2 diffs)
-
examples/wrapper/src/main.c (modified) (1 diff)
-
examples/wrapper/src/pointer.h (modified) (7 diffs)
-
examples/zero_one.c (modified) (1 diff)
-
libcfa/Makefile.am (modified) (1 diff)
-
libcfa/Makefile.in (modified) (15 diffs)
-
libcfa/aclocal.m4 (modified) (1 diff)
-
libcfa/automake/libtool.m4 (deleted)
-
libcfa/automake/ltmain.sh (deleted)
-
libcfa/automake/ltoptions.m4 (deleted)
-
libcfa/automake/ltsugar.m4 (deleted)
-
libcfa/automake/ltversion.m4 (deleted)
-
libcfa/automake/lt~obsolete.m4 (deleted)
-
libcfa/configure (modified) (43 diffs)
-
libcfa/configure.ac (modified) (7 diffs)
-
libcfa/prelude/Makefile.am (modified) (4 diffs)
-
libcfa/prelude/Makefile.in (modified) (17 diffs)
-
libcfa/prelude/prelude-gen.cc (modified) (1 diff)
-
libcfa/src/Makefile.am (modified) (2 diffs)
-
libcfa/src/Makefile.in (modified) (32 diffs)
-
libcfa/src/bits/locks.hfa (modified) (2 diffs)
-
libcfa/src/concurrency/CtxSwitch-arm.S (deleted)
-
libcfa/src/concurrency/CtxSwitch-armv7l.S (added)
-
libcfa/src/concurrency/coroutine.cfa (modified) (5 diffs)
-
libcfa/src/concurrency/invoke.c (modified) (2 diffs)
-
libcfa/src/concurrency/invoke.h (modified) (2 diffs)
-
libcfa/src/concurrency/kernel.cfa (modified) (1 diff)
-
libcfa/src/concurrency/kernel_private.hfa (modified) (1 diff)
-
libcfa/src/exception.c (modified) (2 diffs)
-
libcfa/src/fstream.cfa (modified) (7 diffs)
-
libcfa/src/fstream.hfa (modified) (6 diffs)
-
libcfa/src/gmp.hfa (modified) (2 diffs)
-
libcfa/src/heap.cfa (modified) (47 diffs)
-
libcfa/src/iostream.cfa (modified) (21 diffs)
-
libcfa/src/iostream.hfa (modified) (9 diffs)
-
libcfa/src/iterator.cfa (modified) (2 diffs)
-
libcfa/src/rational.cfa (modified) (3 diffs)
-
libcfa/src/rational.hfa (modified) (2 diffs)
-
libcfa/src/stdlib.hfa (modified) (2 diffs)
-
libcfa/src/time.cfa (modified) (3 diffs)
-
libcfa/src/time.hfa (modified) (4 diffs)
-
src/CodeTools/ResolvProtoDump.cc (deleted)
-
src/CodeTools/ResolvProtoDump.h (deleted)
-
src/CodeTools/module.mk (modified) (1 diff)
-
src/Common/FilterCombos.h (deleted)
-
src/Common/utility.h (modified) (2 diffs)
-
src/CompilationState.cc (modified) (1 diff)
-
src/CompilationState.h (modified) (1 diff)
-
src/Concurrency/Keywords.cc (modified) (2 diffs)
-
src/Concurrency/Waitfor.cc (modified) (4 diffs)
-
src/GenPoly/Box.cc (modified) (1 diff)
-
src/GenPoly/Specialize.cc (modified) (3 diffs)
-
src/Makefile.am (modified) (3 diffs)
-
src/Makefile.in (modified) (37 diffs)
-
src/Parser/DeclarationNode.cc (modified) (2 diffs)
-
src/Parser/LinkageSpec.cc (modified) (2 diffs)
-
src/Parser/LinkageSpec.h (modified) (2 diffs)
-
src/Parser/ParseNode.h (modified) (2 diffs)
-
src/Parser/TypeData.cc (modified) (12 diffs)
-
src/Parser/TypeData.h (modified) (2 diffs)
-
src/Parser/lex.ll (modified) (3 diffs)
-
src/Parser/parser.yy (modified) (9 diffs)
-
src/ResolvExpr/Alternative.cc (modified) (7 diffs)
-
src/ResolvExpr/Alternative.h (modified) (3 diffs)
-
src/ResolvExpr/AlternativeFinder.cc (modified) (49 diffs)
-
src/ResolvExpr/AlternativeFinder.h (modified) (3 diffs)
-
src/ResolvExpr/ConversionCost.cc (modified) (1 diff)
-
src/ResolvExpr/Cost.h (modified) (12 diffs)
-
src/ResolvExpr/ResolvMode.h (deleted)
-
src/ResolvExpr/ResolveAssertions.cc (deleted)
-
src/ResolvExpr/ResolveAssertions.h (deleted)
-
src/ResolvExpr/ResolveTypeof.cc (modified) (1 diff)
-
src/ResolvExpr/Resolver.cc (modified) (14 diffs)
-
src/ResolvExpr/SpecCost.cc (deleted)
-
src/ResolvExpr/TypeEnvironment.cc (modified) (4 diffs)
-
src/ResolvExpr/TypeEnvironment.h (modified) (5 diffs)
-
src/ResolvExpr/module.mk (modified) (1 diff)
-
src/ResolvExpr/typeops.h (modified) (2 diffs)
-
src/SymTab/Demangle.cc (modified) (1 diff)
-
src/SymTab/Mangler.cc (modified) (6 diffs)
-
src/SymTab/Mangler.h (modified) (2 diffs)
-
src/SymTab/Validate.cc (modified) (2 diffs)
-
src/SynTree/ApplicationExpr.cc (modified) (4 diffs)
-
src/SynTree/Constant.cc (modified) (3 diffs)
-
src/SynTree/Constant.h (modified) (2 diffs)
-
src/SynTree/Expression.cc (modified) (6 diffs)
-
src/SynTree/Expression.h (modified) (5 diffs)
-
src/SynTree/FunctionDecl.cc (modified) (1 diff)
-
src/SynTree/FunctionType.cc (modified) (1 diff)
-
src/SynTree/ObjectDecl.cc (modified) (1 diff)
-
src/SynTree/ReferenceToType.cc (modified) (4 diffs)
-
src/SynTree/Type.cc (modified) (1 diff)
-
src/SynTree/Type.h (modified) (1 diff)
-
src/SynTree/TypeofType.cc (modified) (2 diffs)
-
src/Tuples/Explode.h (modified) (3 diffs)
-
src/Tuples/TupleAssignment.cc (modified) (4 diffs)
-
src/cfa.make (modified) (2 diffs)
-
src/config.h.in (modified) (3 diffs)
-
src/main.cc (modified) (10 diffs)
-
tests/.expect/alloc-ERROR.txt (modified) (3 diffs)
-
tests/.expect/castError.txt (modified) (4 diffs)
-
tests/.expect/completeTypeError.txt (modified) (1 diff)
-
tests/.expect/declarationErrors.txt (modified) (1 diff)
-
tests/.expect/forctrl.txt (added)
-
tests/.expect/heap.txt (added)
-
tests/.expect/loopctrl.txt (deleted)
-
tests/.expect/nested-types-ERR1.txt (modified) (1 diff)
-
tests/.expect/nested-types-ERR2.txt (modified) (1 diff)
-
tests/.expect/quotedKeyword.txt (deleted)
-
tests/.expect/quoted_keyword.txt (added)
-
tests/.expect/scopeErrors.txt (modified) (1 diff)
-
tests/.expect/typedefRedef-ERR1.txt (modified) (1 diff)
-
tests/.expect/user_literals.txt (added)
-
tests/.expect/with-statement.txt (added)
-
tests/KRfunctions.c (added)
-
tests/KRfunctions.cfa (deleted)
-
tests/Makefile.am (modified) (6 diffs)
-
tests/Makefile.in (modified) (28 diffs)
-
tests/abort.cfa (deleted)
-
tests/abs.c (added)
-
tests/abs.cfa (deleted)
-
tests/alloc.c (added)
-
tests/alloc.cfa (deleted)
-
tests/array.c (added)
-
tests/array.cfa (deleted)
-
tests/ato.c (added)
-
tests/ato.cfa (deleted)
-
tests/attributes.c (added)
-
tests/attributes.cfa (deleted)
-
tests/avltree/avl-private.c (added)
-
tests/avltree/avl-private.cfa (deleted)
-
tests/avltree/avl0.c (added)
-
tests/avltree/avl0.cfa (deleted)
-
tests/avltree/avl1.c (added)
-
tests/avltree/avl1.cfa (deleted)
-
tests/avltree/avl2.c (added)
-
tests/avltree/avl2.cfa (deleted)
-
tests/avltree/avl3.c (added)
-
tests/avltree/avl3.cfa (deleted)
-
tests/avltree/avl4.c (added)
-
tests/avltree/avl4.cfa (deleted)
-
tests/avltree/avl_test.c (added)
-
tests/avltree/avl_test.cfa (deleted)
-
tests/builtins/sync.c (added)
-
tests/builtins/sync.cfa (deleted)
-
tests/cast.c (added)
-
tests/cast.cfa (deleted)
-
tests/castError.c (added)
-
tests/castError.cfa (deleted)
-
tests/commentMisc.c (added)
-
tests/commentMisc.cfa (deleted)
-
tests/completeTypeError.c (added)
-
tests/completeTypeError.cfa (deleted)
-
tests/complex.c (added)
-
tests/complex.cfa (deleted)
-
tests/concurrent/coroutineYield.c (added)
-
tests/concurrent/coroutineYield.cfa (deleted)
-
tests/concurrent/examples/boundedBufferEXT.c (added)
-
tests/concurrent/examples/boundedBufferEXT.cfa (deleted)
-
tests/concurrent/examples/boundedBufferINT.c (added)
-
tests/concurrent/examples/boundedBufferINT.cfa (deleted)
-
tests/concurrent/examples/datingService.c (added)
-
tests/concurrent/examples/datingService.cfa (deleted)
-
tests/concurrent/examples/matrixSum.c (added)
-
tests/concurrent/examples/matrixSum.cfa (deleted)
-
tests/concurrent/examples/quickSort.c (added)
-
tests/concurrent/examples/quickSort.cfa (deleted)
-
tests/concurrent/monitor.c (added)
-
tests/concurrent/monitor.cfa (deleted)
-
tests/concurrent/multi-monitor.c (added)
-
tests/concurrent/multi-monitor.cfa (deleted)
-
tests/concurrent/preempt.c (added)
-
tests/concurrent/preempt.cfa (deleted)
-
tests/concurrent/signal/block.c (added)
-
tests/concurrent/signal/block.cfa (deleted)
-
tests/concurrent/signal/disjoint.c (added)
-
tests/concurrent/signal/disjoint.cfa (deleted)
-
tests/concurrent/signal/wait.c (added)
-
tests/concurrent/signal/wait.cfa (deleted)
-
tests/concurrent/thread.c (added)
-
tests/concurrent/thread.cfa (deleted)
-
tests/concurrent/waitfor/barge.c (added)
-
tests/concurrent/waitfor/barge.cfa (deleted)
-
tests/concurrent/waitfor/dtor.c (added)
-
tests/concurrent/waitfor/dtor.cfa (deleted)
-
tests/concurrent/waitfor/else.c (added)
-
tests/concurrent/waitfor/else.cfa (deleted)
-
tests/concurrent/waitfor/parse.c (added)
-
tests/concurrent/waitfor/parse.cfa (deleted)
-
tests/concurrent/waitfor/parse2.c (added)
-
tests/concurrent/waitfor/parse2.cfa (deleted)
-
tests/concurrent/waitfor/recurse.c (added)
-
tests/concurrent/waitfor/recurse.cfa (deleted)
-
tests/concurrent/waitfor/simple.c (added)
-
tests/concurrent/waitfor/simple.cfa (deleted)
-
tests/concurrent/waitfor/statment.c (added)
-
tests/concurrent/waitfor/statment.cfa (deleted)
-
tests/concurrent/waitfor/when.c (added)
-
tests/concurrent/waitfor/when.cfa (deleted)
-
tests/context.c (added)
-
tests/context.cfa (deleted)
-
tests/coroutine/.expect/fmtLines.txt (modified) (2 diffs)
-
tests/coroutine/.in/fmtLines.txt (modified) (3 diffs)
-
tests/coroutine/fibonacci.c (added)
-
tests/coroutine/fibonacci.cfa (deleted)
-
tests/coroutine/fibonacci_1.c (added)
-
tests/coroutine/fibonacci_1.cfa (deleted)
-
tests/coroutine/fmtLines.c (added)
-
tests/coroutine/fmtLines.cfa (deleted)
-
tests/coroutine/pingpong.c (added)
-
tests/coroutine/pingpong.cfa (deleted)
-
tests/coroutine/prodcons.c (added)
-
tests/coroutine/prodcons.cfa (deleted)
-
tests/coroutine/runningTotal.c (added)
-
tests/coroutine/runningTotal.cfa (deleted)
-
tests/counter.c (added)
-
tests/counter.cfa (deleted)
-
tests/declarationErrors.c (added)
-
tests/declarationErrors.cfa (deleted)
-
tests/declarationSpecifier.c (added)
-
tests/declarationSpecifier.cfa (deleted)
-
tests/designations.c (added)
-
tests/designations.cfa (deleted)
-
tests/div.c (added)
-
tests/div.cfa (deleted)
-
tests/enum.c (added)
-
tests/enum.cfa (deleted)
-
tests/except-0.c (added)
-
tests/except-0.cfa (deleted)
-
tests/except-1.c (added)
-
tests/except-1.cfa (deleted)
-
tests/except-2.c (added)
-
tests/except-2.cfa (deleted)
-
tests/except-3.c (added)
-
tests/except-3.cfa (deleted)
-
tests/except-mac.h (added)
-
tests/except-mac.hfa (deleted)
-
tests/expression.c (added)
-
tests/expression.cfa (deleted)
-
tests/extension.c (added)
-
tests/extension.cfa (deleted)
-
tests/fallthrough.c (added)
-
tests/fallthrough.cfa (deleted)
-
tests/forall.c (added)
-
tests/forall.cfa (deleted)
-
tests/forctrl.c (added)
-
tests/fstream_test.c (added)
-
tests/fstream_test.cfa (deleted)
-
tests/function-operator.c (added)
-
tests/function-operator.cfa (deleted)
-
tests/functions.c (added)
-
tests/functions.cfa (deleted)
-
tests/gccExtensions.c (added)
-
tests/gccExtensions.cfa (deleted)
-
tests/genericUnion.c (added)
-
tests/genericUnion.cfa (deleted)
-
tests/gmp.c (added)
-
tests/gmp.cfa (deleted)
-
tests/heap.c (added)
-
tests/heap.cfa (deleted)
-
tests/hello.c (added)
-
tests/hello.cfa (deleted)
-
tests/identFuncDeclarator.c (added)
-
tests/identFuncDeclarator.cfa (deleted)
-
tests/identParamDeclarator.c (added)
-
tests/identParamDeclarator.cfa (deleted)
-
tests/identity.c (added)
-
tests/identity.cfa (deleted)
-
tests/ifwhileCtl.c (added)
-
tests/ifwhileCtl.cfa (deleted)
-
tests/io1.c (added)
-
tests/io1.cfa (deleted)
-
tests/io2.c (added)
-
tests/io2.cfa (deleted)
-
tests/labelledExit.c (added)
-
tests/labelledExit.cfa (deleted)
-
tests/limits.c (added)
-
tests/limits.cfa (deleted)
-
tests/literals.c (added)
-
tests/literals.cfa (deleted)
-
tests/long_tests.h (added)
-
tests/long_tests.hfa (deleted)
-
tests/loopctrl.cfa (deleted)
-
tests/math1.c (added)
-
tests/math1.cfa (deleted)
-
tests/math2.c (added)
-
tests/math2.cfa (deleted)
-
tests/math3.c (added)
-
tests/math3.cfa (deleted)
-
tests/math4.c (added)
-
tests/math4.cfa (deleted)
-
tests/maybe.c (added)
-
tests/maybe.cfa (deleted)
-
tests/minmax.c (added)
-
tests/minmax.cfa (deleted)
-
tests/namedParmArg.c (added)
-
tests/namedParmArg.cfa (deleted)
-
tests/nested-types.c (added)
-
tests/nested-types.cfa (deleted)
-
tests/numericConstants.c (added)
-
tests/numericConstants.cfa (deleted)
-
tests/occursError.c (added)
-
tests/occursError.cfa (deleted)
-
tests/operators.c (added)
-
tests/operators.cfa (deleted)
-
tests/polymorphism.c (added)
-
tests/polymorphism.cfa (deleted)
-
tests/preempt_longrun/Makefile.am (modified) (1 diff)
-
tests/preempt_longrun/Makefile.in (modified) (14 diffs)
-
tests/preempt_longrun/create.c (modified) (1 diff)
-
tests/preempt_longrun/enter3.c (modified) (1 diff)
-
tests/preempt_longrun/processor.c (modified) (1 diff)
-
tests/preempt_longrun/yield.c (modified) (1 diff)
-
tests/pybin/print-core.gdb (deleted)
-
tests/pybin/tools.py (modified) (5 diffs)
-
tests/quotedKeyword.cfa (deleted)
-
tests/quoted_keyword.c (added)
-
tests/raii/.expect/ctor-autogen-ERR1.txt (modified) (4 diffs)
-
tests/raii/.expect/dtor-early-exit-ERR1.txt (modified) (1 diff)
-
tests/raii/.expect/dtor-early-exit-ERR2.txt (modified) (1 diff)
-
tests/raii/.expect/memberCtors-ERR1.txt (modified) (1 diff)
-
tests/raii/ctor-autogen.c (added)
-
tests/raii/ctor-autogen.cfa (deleted)
-
tests/raii/dtor-early-exit.c (added)
-
tests/raii/dtor-early-exit.cfa (deleted)
-
tests/raii/globals.c (added)
-
tests/raii/globals.cfa (deleted)
-
tests/raii/init_once.c (added)
-
tests/raii/init_once.cfa (deleted)
-
tests/raii/memberCtors.c (added)
-
tests/raii/memberCtors.cfa (deleted)
-
tests/raii/multiDimension.c (added)
-
tests/raii/multiDimension.cfa (deleted)
-
tests/random.c (added)
-
tests/random.cfa (deleted)
-
tests/rational.c (added)
-
tests/rational.cfa (deleted)
-
tests/references.c (added)
-
tests/references.cfa (deleted)
-
tests/result.c (added)
-
tests/result.cfa (deleted)
-
tests/scope.c (added)
-
tests/scope.cfa (deleted)
-
tests/scopeErrors.c (added)
-
tests/scopeErrors.cfa (deleted)
-
tests/searchsort.c (added)
-
tests/searchsort.cfa (deleted)
-
tests/shortCircuit.c (added)
-
tests/shortCircuit.cfa (deleted)
-
tests/simpleGenericTriple.c (added)
-
tests/simpleGenericTriple.cfa (deleted)
-
tests/stdincludes.c (added)
-
tests/stdincludes.cfa (deleted)
-
tests/structMember.c (added)
-
tests/structMember.cfa (deleted)
-
tests/subrange.c (added)
-
tests/subrange.cfa (deleted)
-
tests/sum.c (added)
-
tests/sum.cfa (deleted)
-
tests/swap.c (added)
-
tests/swap.cfa (deleted)
-
tests/switch.c (added)
-
tests/switch.cfa (deleted)
-
tests/test.py (modified) (7 diffs)
-
tests/time.c (added)
-
tests/time.cfa (deleted)
-
tests/tuple/tupleAssign.c (added)
-
tests/tuple/tupleAssign.cfa (deleted)
-
tests/tuple/tupleCast.c (added)
-
tests/tuple/tupleCast.cfa (deleted)
-
tests/tuple/tupleFunction.c (added)
-
tests/tuple/tupleFunction.cfa (deleted)
-
tests/tuple/tupleMember.c (added)
-
tests/tuple/tupleMember.cfa (deleted)
-
tests/tuple/tuplePolymorphism.c (added)
-
tests/tuple/tuplePolymorphism.cfa (deleted)
-
tests/tuple/tupleVariadic.c (added)
-
tests/tuple/tupleVariadic.cfa (deleted)
-
tests/tuple/tuples.c (added)
-
tests/tuple/tuples.cfa (deleted)
-
tests/typeGenerator.c (added)
-
tests/typeGenerator.cfa (deleted)
-
tests/typedef.c (added)
-
tests/typedef.cfa (deleted)
-
tests/typedefDeclarator.c (added)
-
tests/typedefDeclarator.cfa (deleted)
-
tests/typedefRedef.c (added)
-
tests/typedefRedef.cfa (deleted)
-
tests/typeof.c (added)
-
tests/typeof.cfa (deleted)
-
tests/userLiterals.cfa (deleted)
-
tests/user_literals.c (added)
-
tests/variableDeclarator.c (added)
-
tests/variableDeclarator.cfa (deleted)
-
tests/vector.c (added)
-
tests/vector.cfa (deleted)
-
tests/virtualCast.c (added)
-
tests/virtualCast.cfa (deleted)
-
tests/voidPtr.c (added)
-
tests/voidPtr.cfa (deleted)
-
tests/warnings/.expect/self-assignment.txt (modified) (1 diff)
-
tests/warnings/self-assignment.c (added)
-
tests/warnings/self-assignment.cfa (deleted)
-
tests/with-statement.c (added)
-
tests/withStatement.cfa (deleted)
-
tools/Makefile.am (modified) (1 diff)
-
tools/Makefile.in (modified) (19 diffs)
-
tools/cfa.nanorc (modified) (3 diffs)
-
tools/prettyprinter/Makefile.am (modified) (1 diff)
-
tools/prettyprinter/Makefile.in (modified) (26 diffs)
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
rcde3891 r9b086ca 38 38 libcfa/prelude/gcc-builtins.cf 39 39 libcfa/prelude/gcc-builtins.c 40 libcfa/prelude/prelude.cf a40 libcfa/prelude/prelude.cf 41 41 libcfa/x64-debug/ 42 42 libcfa/x64-nodebug/ -
INSTALL
rcde3891 r9b086ca 22 22 it is important not to put quotes around the directory path; Cforall may 23 23 appear to build, but the installed version may not work properly. 24 25 --with-backend-compiler=PROGRAM specifies the installed path of gcc. It 26 defaults to the first command named 'gcc' in the current PATH. 27 28 cfa-cc itself is built with the version of g++ specified by the environment 29 variable CXX. If CXX is unset, cfa-cc is built using the first command named 30 'g++' in the current PATH. -
Jenkins/TestRegen
rcde3891 r9b086ca 70 70 //escapes the sandbox 71 71 //Also specify the compiler by hand 72 sh "./configure CXX=clang++ CC=gcc-6 --host=${arch} --enable-silent-rules --quiet"72 sh "./configure CXX=clang++ --host=${arch} --with-backend-compiler=gcc-6 --prefix=${install_dir} --enable-silent-rules --quiet" 73 73 74 74 //Compile the project 75 sh 'make -j 8 --no-print-directory '75 sh 'make -j 8 --no-print-directory install' 76 76 77 77 //Regenerate the desired tests -
Jenkinsfile
rcde3891 r9b086ca 4 4 // Main loop of the compilation 5 5 //=========================================================================================================== 6 7 node('master') { 6 node ('master'){ 7 8 8 // Globals 9 BuildDir = null10 SrcDir = null9 BuildDir = pwd tmp: true 10 SrcDir = pwd tmp: false 11 11 Settings = null 12 12 StageName = '' … … 26 26 Settings = prepare_build() 27 27 28 node(Settings.Architecture.node) { 29 BuildDir = pwd tmp: true 30 SrcDir = pwd tmp: false 31 32 clean() 33 34 checkout() 35 36 notify_server(0) 37 38 build() 39 40 test() 41 42 benchmark() 43 44 build_doc() 45 46 publish() 47 } 28 clean() 29 30 checkout() 31 32 notify_server(0) 33 34 build() 35 36 test() 37 38 benchmark() 39 40 build_doc() 41 42 publish() 48 43 49 44 notify_server(45) … … 80 75 } 81 76 } 77 82 78 //=========================================================================================================== 83 79 // Main compilation routines … … 118 114 } 119 115 120 sh "${SrcDir}/configure CXX=${Settings.Compiler. CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} ${targets} --quiet"116 sh "${SrcDir}/configure CXX=${Settings.Compiler.cpp_cc} ${Settings.Architecture.flags} ${targets} --with-backend-compiler=${Settings.Compiler.cfa_cc} --quiet" 121 117 122 118 //Compile the project … … 132 128 //Run the tests from the tests directory 133 129 if ( Settings.RunAllTests ) { 134 sh 'make --no-print-directory -C tests timeouts="--timeout=600"all-tests debug=yes'135 sh 'make --no-print-directory -C tests timeouts="--timeout=600"all-tests debug=no '130 sh 'make --no-print-directory -C tests all-tests debug=yes' 131 sh 'make --no-print-directory -C tests all-tests debug=no ' 136 132 } 137 133 else { … … 239 235 //Description of a compiler (Must be serializable since pipelines are persistent) 240 236 class CC_Desc implements Serializable { 241 public String name242 public String CXX243 public String CC244 245 CC_Desc(String name, String CXX, String CC) {246 this. name =name247 this. CXX = CXX248 this. CC = CC237 public String cc_name 238 public String cpp_cc 239 public String cfa_cc 240 241 CC_Desc(String cc_name, String cpp_cc, String cfa_cc) { 242 this.cc_name = cc_name 243 this.cpp_cc = cpp_cc 244 this.cfa_cc = cfa_cc 249 245 } 250 246 } … … 254 250 public String name 255 251 public String flags 256 public String node 257 258 Arch_Desc(String name, String flags, String node) { 252 253 Arch_Desc(String name, String flags) { 259 254 this.name = name 260 255 this.flags = flags 261 this.node = node262 256 } 263 257 } … … 298 292 switch( param.Architecture ) { 299 293 case 'x64': 300 this.Architecture = new Arch_Desc('x64', '--host=x86_64' , 'master')294 this.Architecture = new Arch_Desc('x64', '--host=x86_64') 301 295 break 302 296 case 'x86': 303 this.Architecture = new Arch_Desc('x86', '--host=i386' , 'master')297 this.Architecture = new Arch_Desc('x86', '--host=i386') 304 298 break 305 299 default : … … 315 309 316 310 def full = param.RunAllTests ? " (Full)" : "" 317 this.DescShort = "${ this.Compiler. name }:${ this.Architecture.name }${full}"318 319 this.DescLong = """Compiler : ${ this.Compiler. name } (${ this.Compiler.CXX }/${ this.Compiler.CC})311 this.DescShort = "${ this.Compiler.cc_name }:${ this.Architecture.name }${full}" 312 313 this.DescLong = """Compiler : ${ this.Compiler.cc_name } (${ this.Compiler.cpp_cc }/${ this.Compiler.cfa_cc }) 320 314 Architecture : ${ this.Architecture.name } 321 315 Arc Flags : ${ this.Architecture.flags } -
Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command 19 19 20 20 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* -
Makefile.in
rcde3891 r9b086ca 94 94 subdir = . 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 97 $(top_srcdir)/automake/ltoptions.m4 \ 98 $(top_srcdir)/automake/ltsugar.m4 \ 99 $(top_srcdir)/automake/ltversion.m4 \ 100 $(top_srcdir)/automake/lt~obsolete.m4 \ 101 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 102 98 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 103 99 $(ACLOCAL_M4) … … 202 198 $(top_srcdir)/automake/config.sub \ 203 199 $(top_srcdir)/automake/install-sh \ 204 $(top_srcdir)/automake/ltmain.sh \205 200 $(top_srcdir)/automake/missing $(top_srcdir)/src/config.h.in \ 206 201 INSTALL README automake/compile automake/config.guess \ 207 202 automake/config.sub automake/depcomp automake/install-sh \ 208 automake/ ltmain.sh automake/missing automake/ylwrap203 automake/missing automake/ylwrap 209 204 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 210 205 distdir = $(PACKAGE)-$(VERSION) … … 253 248 AMTAR = @AMTAR@ 254 249 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 255 AR = @AR@256 250 AUTOCONF = @AUTOCONF@ 257 251 AUTOHEADER = @AUTOHEADER@ 258 252 AUTOMAKE = @AUTOMAKE@ 259 253 AWK = @AWK@ 254 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command 260 255 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 261 256 CC = @CC@ … … 277 272 CPPFLAGS = @CPPFLAGS@ 278 273 CXX = @CXX@ 279 CXXCPP = @CXXCPP@280 274 CXXDEPMODE = @CXXDEPMODE@ 281 275 CXXFLAGS = @CXXFLAGS@ … … 283 277 DEFS = @DEFS@ 284 278 DEPDIR = @DEPDIR@ 285 DLLTOOL = @DLLTOOL@286 279 DRIVER_DIR = @DRIVER_DIR@ 287 DSYMUTIL = @DSYMUTIL@288 DUMPBIN = @DUMPBIN@289 280 ECHO_C = @ECHO_C@ 290 281 ECHO_N = @ECHO_N@ … … 292 283 EGREP = @EGREP@ 293 284 EXEEXT = @EXEEXT@ 294 FGREP = @FGREP@295 285 GREP = @GREP@ 296 286 HOST_FLAGS = @HOST_FLAGS@ … … 300 290 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 301 291 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 302 LD = @LD@303 292 LDFLAGS = @LDFLAGS@ 304 293 LEX = @LEX@ … … 309 298 LIBOBJS = @LIBOBJS@ 310 299 LIBS = @LIBS@ 311 LIBTOOL = @LIBTOOL@312 LIPO = @LIPO@313 LN_S = @LN_S@314 300 LTLIBOBJS = @LTLIBOBJS@ 315 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@316 301 MAKEINFO = @MAKEINFO@ 317 MANIFEST_TOOL = @MANIFEST_TOOL@318 302 MKDIR_P = @MKDIR_P@ 319 NM = @NM@320 NMEDIT = @NMEDIT@321 OBJDUMP = @OBJDUMP@322 303 OBJEXT = @OBJEXT@ 323 OTOOL = @OTOOL@324 OTOOL64 = @OTOOL64@325 304 PACKAGE = @PACKAGE@ 326 305 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 332 311 PATH_SEPARATOR = @PATH_SEPARATOR@ 333 312 RANLIB = @RANLIB@ 334 SED = @SED@335 313 SET_MAKE = @SET_MAKE@ 336 314 SHELL = @SHELL@ … … 344 322 abs_top_builddir = @abs_top_builddir@ 345 323 abs_top_srcdir = @abs_top_srcdir@ 346 ac_ct_AR = @ac_ct_AR@347 324 ac_ct_CC = @ac_ct_CC@ 348 325 ac_ct_CXX = @ac_ct_CXX@ 349 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@350 326 am__include = @am__include@ 351 327 am__leading_dot = @am__leading_dot@ … … 395 371 top_srcdir = @top_srcdir@ 396 372 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 397 ACLOCAL_AMFLAGS = -I automake398 373 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* 399 374 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@ … … 453 428 distclean-hdr: 454 429 -rm -f config.h stamp-h1 455 456 mostlyclean-libtool:457 -rm -f *.lo458 459 clean-libtool:460 -rm -rf .libs _libs461 462 distclean-libtool:463 -rm -f libtool config.lt464 430 install-man1: $(man1_MANS) 465 431 @$(NORMAL_INSTALL) … … 837 803 clean: clean-recursive 838 804 839 clean-am: clean-generic clean-libtoolmostlyclean-am805 clean-am: clean-generic mostlyclean-am 840 806 841 807 distclean: distclean-recursive 842 808 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 843 809 -rm -f Makefile 844 distclean-am: clean-am distclean-generic distclean-hdr \ 845 distclean-libtool distclean-tags 810 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags 846 811 847 812 dvi: dvi-recursive … … 893 858 mostlyclean: mostlyclean-recursive 894 859 895 mostlyclean-am: mostlyclean-generic mostlyclean-libtool860 mostlyclean-am: mostlyclean-generic 896 861 897 862 pdf: pdf-recursive … … 911 876 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 912 877 am--refresh check check-am clean clean-cscope clean-generic \ 913 clean-libtool cscope cscopelist-am ctags ctags-am dist \ 914 dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ 915 dist-xz dist-zip distcheck distclean distclean-generic \ 916 distclean-hdr distclean-libtool distclean-tags distcleancheck \ 917 distdir distuninstallcheck dvi dvi-am html html-am info \ 918 info-am install install-am install-data install-data-am \ 919 install-dvi install-dvi-am install-exec install-exec-am \ 920 install-html install-html-am install-info install-info-am \ 921 install-man install-man1 install-pdf install-pdf-am install-ps \ 922 install-ps-am install-strip installcheck installcheck-am \ 923 installdirs installdirs-am maintainer-clean \ 924 maintainer-clean-generic mostlyclean mostlyclean-generic \ 925 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ 926 uninstall-am uninstall-man uninstall-man1 878 cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ 879 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ 880 distcheck distclean distclean-generic distclean-hdr \ 881 distclean-tags distcleancheck distdir distuninstallcheck dvi \ 882 dvi-am html html-am info info-am install install-am \ 883 install-data install-data-am install-dvi install-dvi-am \ 884 install-exec install-exec-am install-html install-html-am \ 885 install-info install-info-am install-man install-man1 \ 886 install-pdf install-pdf-am install-ps install-ps-am \ 887 install-strip installcheck installcheck-am installdirs \ 888 installdirs-am maintainer-clean maintainer-clean-generic \ 889 mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ 890 tags-am uninstall uninstall-am uninstall-man uninstall-man1 927 891 928 892 .PRECIOUS: Makefile -
aclocal.m4
rcde3891 r9b086ca 1171 1171 ]) # _AM_PROG_TAR 1172 1172 1173 m4_include([automake/libtool.m4])1174 m4_include([automake/ltoptions.m4])1175 m4_include([automake/ltsugar.m4])1176 m4_include([automake/ltversion.m4])1177 m4_include([automake/lt~obsolete.m4]) -
automake/cfa.m4
rcde3891 r9b086ca 73 73 "arm" ) cannon_arch_name="arm";; 74 74 "ARM" ) cannon_arch_name="arm";; 75 "armv7l" ) cannon_arch_name="arm";;76 75 *) 77 76 >&2 echo "Unkown architecture " $arch_name; -
benchmark/Makefile.am
rcde3891 r9b086ca 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Tue Nov 6 09:01:23 201814 ## Update Count : 2 613 ## Last Modified On : Mon Jan 25 22:31:42 2016 14 ## Update Count : 25 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 20 19 # applies to both programs 21 20 include $(top_srcdir)/src/cfa.make 22 21 23 22 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 24 23 25 24 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread … … 27 26 AM_UPPFLAGS = -quiet -nodebug -multi 28 27 29 TOOLSDIR = ${abs_top_ builddir}/tools/30 REPEAT = ${ abs_top_builddir}/tools/repeat31 STATS = ${ abs_top_srcdir}/tools/stat.py28 TOOLSDIR = ${abs_top_srcdir}/tools/ 29 REPEAT = ${TOOLSDIR}repeat 30 STATS = ${TOOLSDIR}stat.py 32 31 repeats = 30 33 32 skipcompile = no … … 35 34 PRINT_FORMAT = %20s: #Comments needed for spacing 36 35 37 # Dummy hack tricks 38 EXTRA_PROGRAMS = dummy # build but do not install 39 dummy_SOURCES = dummyC.c dummyCXX.cpp 40 41 dummyC.c: 42 @echo "int main() { return 0; }" > ${@} 43 44 dummyCXX.cpp: 45 @echo "int main() { return 0; }" > ${@} 36 LIBFIBRE_DIR ?= /home/tdelisle/software/KOS/src/ 46 37 47 38 .NOTPARALLEL: 48 39 49 ## ========================================================================================================= 40 noinst_PROGRAMS = 41 50 42 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 51 43 … … 57 49 @${STATS} .result.log 58 50 @echo "------------------------------------------------------" 59 @rm -f a.out .result.log *.class51 @rm -f a.out .result.log 60 52 61 53 %.runquiet : … … 69 61 70 62 ${REPEAT} : 71 @+make -C ${ abs_top_builddir}/toolsrepeat63 @+make -C ${TOOLSDIR} repeat 72 64 73 65 ## ========================================================================================================= … … 110 102 ## ========================================================================================================= 111 103 loop$(EXEEXT): 112 $( AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c104 $(COMPILE) -DBENCH_N=5000000000 loop.c 113 105 114 106 function$(EXEEXT): 115 $( AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c107 $(COMPILE) -DBENCH_N=5000000000 function.c 116 108 117 109 fetch_add$(EXEEXT): 118 $( AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c119 120 ## ========================================================================================================= 121 CTXSWITCH_DEPEND =\110 $(COMPILE) -DBENCH_N=500000000 fetch_add.c 111 112 ## ========================================================================================================= 113 ctxswitch$(EXEEXT): \ 122 114 loop.run \ 123 115 function.run \ … … 129 121 ctxswitch-upp_coroutine.run \ 130 122 ctxswitch-upp_thread.run \ 123 -ctxswitch-kos_fibre.run \ 124 -ctxswitch-kos_fibre2.run \ 131 125 ctxswitch-goroutine.run \ 132 126 ctxswitch-java_thread.run 133 127 134 if WITH_LIBFIBRE 135 CTXSWITCH_DEPEND += \ 136 ctxswitch-kos_fibre.run \ 137 ctxswitch-kos_fibre2.run 138 128 ctxswitch-pthread$(EXEEXT): 129 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 130 131 ctxswitch-cfa_coroutine$(EXEEXT): 132 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 133 134 ctxswitch-cfa_thread$(EXEEXT): 135 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 136 137 ctxswitch-cfa_thread2$(EXEEXT): 138 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 139 140 ctxswitch-upp_coroutine$(EXEEXT): 141 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 142 143 ctxswitch-upp_thread$(EXEEXT): 144 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 139 145 140 146 ctxswitch-kos_fibre$(EXEEXT): 141 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre147 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 142 148 143 149 ctxswitch-kos_fibre2$(EXEEXT): 144 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 145 endif 146 147 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND) 148 149 ctxswitch-pthread$(EXEEXT): 150 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 151 152 ctxswitch-cfa_coroutine$(EXEEXT): 153 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa 154 155 ctxswitch-cfa_thread$(EXEEXT): 156 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa 157 158 ctxswitch-cfa_thread2$(EXEEXT): 159 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa 160 161 ctxswitch-upp_coroutine$(EXEEXT): 162 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 163 164 ctxswitch-upp_thread$(EXEEXT): 165 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 150 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 166 151 167 152 ctxswitch-goroutine$(EXEEXT): 168 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go153 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go 169 154 170 155 ctxswitch-java_thread$(EXEEXT): 171 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/ctxswitch/JavaThread.java156 @javac $(srcdir)/ctxswitch/JavaThread.java 172 157 @echo "#!/bin/sh" > a.out 173 @echo " java JavaThread" >> a.out158 @echo "cd ctxswitch && java JavaThread" >> a.out 174 159 @chmod a+x a.out 175 160 … … 187 172 188 173 mutex-pthread_lock$(EXEEXT): 189 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c174 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 190 175 191 176 mutex-upp$(EXEEXT): 192 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc177 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 193 178 194 179 mutex-cfa1$(EXEEXT): 195 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.cfa180 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 196 181 197 182 mutex-cfa2$(EXEEXT): 198 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.cfa183 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 199 184 200 185 mutex-cfa4$(EXEEXT): 201 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.cfa186 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 202 187 203 188 mutex-java_thread$(EXEEXT): 204 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/mutex/JavaThread.java189 @javac $(srcdir)/mutex/JavaThread.java 205 190 @echo "#!/bin/sh" > a.out 206 @echo " java JavaThread" >> a.out191 @echo "cd mutex && java JavaThread" >> a.out 207 192 @chmod a+x a.out 208 193 … … 217 202 218 203 signal-pthread_cond$(EXEEXT): 219 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c204 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 220 205 221 206 signal-upp$(EXEEXT): 222 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc207 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 223 208 224 209 signal-cfa1$(EXEEXT): 225 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.cfa210 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 226 211 227 212 signal-cfa2$(EXEEXT): 228 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.cfa213 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 229 214 230 215 signal-cfa4$(EXEEXT): 231 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.cfa216 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 232 217 233 218 signal-java_thread$(EXEEXT): 234 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/schedint/JavaThread.java219 @javac $(srcdir)/schedint/JavaThread.java 235 220 @echo "#!/bin/sh" > a.out 236 @echo " java JavaThread" >> a.out221 @echo "cd schedint && java JavaThread" >> a.out 237 222 @chmod a+x a.out 238 223 … … 246 231 247 232 waitfor-upp$(EXEEXT): 248 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc233 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 249 234 250 235 waitfor-cfa1$(EXEEXT): 251 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.cfa236 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 252 237 253 238 waitfor-cfa2$(EXEEXT): 254 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.cfa239 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 255 240 256 241 waitfor-cfa4$(EXEEXT): 257 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.cfa242 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 258 243 259 244 ## ========================================================================================================= … … 269 254 270 255 creation-cfa_coroutine$(EXEEXT): 271 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa256 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 272 257 273 258 creation-cfa_coroutine_eager$(EXEEXT): 274 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER259 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 275 260 276 261 creation-cfa_thread$(EXEEXT): 277 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa262 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 278 263 279 264 creation-upp_coroutine$(EXEEXT): 280 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc265 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 281 266 282 267 creation-upp_thread$(EXEEXT): 283 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc268 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 284 269 285 270 creation-pthread$(EXEEXT): 286 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c271 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 287 272 288 273 creation-goroutine$(EXEEXT): 289 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go274 @go build -o a.out $(srcdir)/creation/goroutine.go 290 275 291 276 creation-java_thread$(EXEEXT): 292 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/creation/JavaThread.java277 @javac $(srcdir)/creation/JavaThread.java 293 278 @echo "#!/bin/sh" > a.out 294 @echo " java JavaThread" >> a.out279 @echo "cd creation && java JavaThread" >> a.out 295 280 @chmod a+x a.out 296 281 … … 311 296 312 297 compile-array$(EXEEXT): 313 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa298 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 314 299 315 300 compile-attributes$(EXEEXT): 316 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa301 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c 317 302 318 303 compile-empty$(EXEEXT): 319 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa304 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 320 305 321 306 compile-expression$(EXEEXT): 322 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa307 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 323 308 324 309 compile-io$(EXEEXT): 325 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa310 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 326 311 327 312 compile-monitor$(EXEEXT): 328 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa313 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 329 314 330 315 compile-operators$(EXEEXT): 331 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa316 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 332 317 333 318 compile-thread$(EXEEXT): 334 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa319 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 335 320 336 321 compile-typeof$(EXEEXT): 337 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa338 322 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 323 -
benchmark/Makefile.in
rcde3891 r9b086ca 17 17 ######################## -*- Mode: Makefile-Automake -*- ###################### 18 18 ############################################################################### 19 19 20 VPATH = @srcdir@ 20 21 am__is_gnu_make = { \ … … 91 92 build_triplet = @build@ 92 93 host_triplet = @host@ 93 EXTRA_PROGRAMS = dummy$(EXEEXT) 94 @WITH_LIBFIBRE_TRUE@am__append_1 = \ 95 @WITH_LIBFIBRE_TRUE@ ctxswitch-kos_fibre.run \ 96 @WITH_LIBFIBRE_TRUE@ ctxswitch-kos_fibre2.run 97 94 noinst_PROGRAMS = 98 95 subdir = benchmark 99 96 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 100 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 101 $(top_srcdir)/automake/ltoptions.m4 \ 102 $(top_srcdir)/automake/ltsugar.m4 \ 103 $(top_srcdir)/automake/ltversion.m4 \ 104 $(top_srcdir)/automake/lt~obsolete.m4 \ 105 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 98 $(top_srcdir)/configure.ac 106 99 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 107 100 $(ACLOCAL_M4) … … 111 104 CONFIG_CLEAN_FILES = 112 105 CONFIG_CLEAN_VPATH_FILES = 113 am_dummy_OBJECTS = dummyC.$(OBJEXT) dummyCXX.$(OBJEXT) 114 dummy_OBJECTS = $(am_dummy_OBJECTS) 115 dummy_LDADD = $(LDADD) 116 AM_V_lt = $(am__v_lt_@AM_V@) 117 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 118 am__v_lt_0 = --silent 119 am__v_lt_1 = 106 PROGRAMS = $(noinst_PROGRAMS) 120 107 AM_V_P = $(am__v_P_@AM_V@) 121 108 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 130 117 am__v_at_0 = @ 131 118 am__v_at_1 = 132 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 133 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 134 am__depfiles_maybe = depfiles 135 am__mv = mv -f 136 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 137 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 138 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 139 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ 140 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 141 $(AM_CFLAGS) $(CFLAGS) 142 AM_V_CC = $(am__v_CC_@AM_V@) 143 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) 144 am__v_CC_0 = @echo " CC " $@; 145 am__v_CC_1 = 146 CCLD = $(CC) 147 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 148 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 149 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 150 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 151 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 152 am__v_CCLD_0 = @echo " CCLD " $@; 153 am__v_CCLD_1 = 154 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 155 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 156 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 157 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ 158 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 159 $(AM_CXXFLAGS) $(CXXFLAGS) 160 AM_V_CXX = $(am__v_CXX_@AM_V@) 161 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) 162 am__v_CXX_0 = @echo " CXX " $@; 163 am__v_CXX_1 = 164 CXXLD = $(CXX) 165 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 166 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 167 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 168 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 169 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) 170 am__v_CXXLD_0 = @echo " CXXLD " $@; 171 am__v_CXXLD_1 = 172 SOURCES = $(dummy_SOURCES) 173 DIST_SOURCES = $(dummy_SOURCES) 119 SOURCES = 120 DIST_SOURCES = 174 121 am__can_run_installinfo = \ 175 122 case $$AM_UPDATE_INFO_DIR in \ … … 178 125 esac 179 126 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 180 # Read a list of newline-separated strings from the standard input, 181 # and print each of them once, without duplicates. Input order is 182 # *not* preserved. 183 am__uniquify_input = $(AWK) '\ 184 BEGIN { nonempty = 0; } \ 185 { items[$$0] = 1; nonempty = 1; } \ 186 END { if (nonempty) { for (i in items) print i; }; } \ 187 ' 188 # Make sure the list of sources is unique. This is necessary because, 189 # e.g., the same source file might be shared among _SOURCES variables 190 # for different programs/libraries. 191 am__define_uniq_tagged_files = \ 192 list='$(am__tagged_files)'; \ 193 unique=`for i in $$list; do \ 194 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 195 done | $(am__uniquify_input)` 196 ETAGS = etags 197 CTAGS = ctags 198 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/depcomp \ 199 $(top_srcdir)/src/cfa.make compile 127 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/src/cfa.make \ 128 compile 200 129 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 201 130 ACLOCAL = @ACLOCAL@ … … 203 132 AMTAR = @AMTAR@ 204 133 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 205 AR = @AR@206 134 AUTOCONF = @AUTOCONF@ 207 135 AUTOHEADER = @AUTOHEADER@ 208 136 AUTOMAKE = @AUTOMAKE@ 209 137 AWK = @AWK@ 138 BACKEND_CC = @BACKEND_CC@ 210 139 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 211 140 CC = @CC@ … … 227 156 CPPFLAGS = @CPPFLAGS@ 228 157 CXX = @CXX@ 229 CXXCPP = @CXXCPP@230 158 CXXDEPMODE = @CXXDEPMODE@ 231 159 CXXFLAGS = @CXXFLAGS@ … … 233 161 DEFS = @DEFS@ 234 162 DEPDIR = @DEPDIR@ 235 DLLTOOL = @DLLTOOL@236 163 DRIVER_DIR = @DRIVER_DIR@ 237 DSYMUTIL = @DSYMUTIL@238 DUMPBIN = @DUMPBIN@239 164 ECHO_C = @ECHO_C@ 240 165 ECHO_N = @ECHO_N@ … … 242 167 EGREP = @EGREP@ 243 168 EXEEXT = @EXEEXT@ 244 FGREP = @FGREP@245 169 GREP = @GREP@ 246 170 HOST_FLAGS = @HOST_FLAGS@ … … 250 174 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 251 175 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 252 LD = @LD@253 176 LDFLAGS = @LDFLAGS@ 254 177 LEX = @LEX@ … … 259 182 LIBOBJS = @LIBOBJS@ 260 183 LIBS = @LIBS@ 261 LIBTOOL = @LIBTOOL@262 LIPO = @LIPO@263 LN_S = @LN_S@264 184 LTLIBOBJS = @LTLIBOBJS@ 265 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@266 185 MAKEINFO = @MAKEINFO@ 267 MANIFEST_TOOL = @MANIFEST_TOOL@268 186 MKDIR_P = @MKDIR_P@ 269 NM = @NM@270 NMEDIT = @NMEDIT@271 OBJDUMP = @OBJDUMP@272 187 OBJEXT = @OBJEXT@ 273 OTOOL = @OTOOL@274 OTOOL64 = @OTOOL64@275 188 PACKAGE = @PACKAGE@ 276 189 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 282 195 PATH_SEPARATOR = @PATH_SEPARATOR@ 283 196 RANLIB = @RANLIB@ 284 SED = @SED@285 197 SET_MAKE = @SET_MAKE@ 286 198 SHELL = @SHELL@ … … 294 206 abs_top_builddir = @abs_top_builddir@ 295 207 abs_top_srcdir = @abs_top_srcdir@ 296 ac_ct_AR = @ac_ct_AR@297 208 ac_ct_CC = @ac_ct_CC@ 298 209 ac_ct_CXX = @ac_ct_CXX@ 299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@300 210 am__include = @am__include@ 301 211 am__leading_dot = @am__leading_dot@ … … 345 255 top_srcdir = @top_srcdir@ 346 256 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 347 ACLOCAL_AMFLAGS = -I automake348 257 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 349 LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \350 $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \351 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \352 $(AM_CFLAGS) $(CFLAGS)353 354 258 AM_V_CFA = $(am__v_CFA_@AM_V@) 355 259 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 356 260 am__v_CFA_0 = @echo " CFA " $@; 357 261 am__v_CFA_1 = 358 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 359 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 360 am__v_JAVAC_0 = @echo " JAVAC " $@; 361 am__v_JAVAC_1 = 362 AM_V_GOC = $(am__v_GOC_@AM_V@) 363 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 364 am__v_GOC_0 = @echo " GOC " $@; 365 am__v_GOC_1 = 366 UPPCC = u++ 262 263 # applies to both programs 367 264 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 368 AM_V_UPP = $(am__v_UPP_@AM_V@)369 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)370 am__v_UPP_0 = @echo " UPP " $@;371 am__v_UPP_1 =372 373 # applies to both programs374 265 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread 375 266 AM_CFAFLAGS = -quiet -in-tree -nodebug 376 267 AM_UPPFLAGS = -quiet -nodebug -multi 377 TOOLSDIR = ${abs_top_ builddir}/tools/378 REPEAT = ${ abs_top_builddir}/tools/repeat379 STATS = ${ abs_top_srcdir}/tools/stat.py268 TOOLSDIR = ${abs_top_srcdir}/tools/ 269 REPEAT = ${TOOLSDIR}repeat 270 STATS = ${TOOLSDIR}stat.py 380 271 repeats = 30 381 272 skipcompile = no 382 273 TIME_FORMAT = "%E" 383 274 PRINT_FORMAT = %20s: #Comments needed for spacing 384 dummy_SOURCES = dummyC.c dummyCXX.cpp385 CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \386 ctxswitch-pthread.run ctxswitch-cfa_coroutine.run \387 ctxswitch-cfa_thread.run ctxswitch-cfa_thread2.run \388 ctxswitch-upp_coroutine.run ctxswitch-upp_thread.run \389 ctxswitch-goroutine.run ctxswitch-java_thread.run \390 $(am__append_1)391 275 testdir = $(top_srcdir)/tests 392 276 all: all-am 393 277 394 278 .SUFFIXES: 395 .SUFFIXES: .c .cfa .cpp .lo .o .obj279 .SUFFIXES: .cfa .o 396 280 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 397 281 @for dep in $?; do \ … … 425 309 $(am__aclocal_m4_deps): 426 310 427 dummy$(EXEEXT): $(dummy_OBJECTS) $(dummy_DEPENDENCIES) $(EXTRA_dummy_DEPENDENCIES) 428 @rm -f dummy$(EXEEXT) 429 $(AM_V_CXXLD)$(CXXLINK) $(dummy_OBJECTS) $(dummy_LDADD) $(LIBS) 430 431 mostlyclean-compile: 432 -rm -f *.$(OBJEXT) 433 434 distclean-compile: 435 -rm -f *.tab.c 436 437 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummyC.Po@am__quote@ 438 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummyCXX.Po@am__quote@ 439 440 .c.o: 441 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 442 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 443 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 444 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 445 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 446 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< 447 448 .c.obj: 449 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ 450 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ 451 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 452 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 453 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 454 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 455 456 .c.lo: 457 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 458 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 459 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 461 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 462 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< 463 464 .cpp.o: 465 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 466 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 467 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 468 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 469 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 470 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< 471 472 .cpp.obj: 473 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ 474 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ 475 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 476 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 477 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 478 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 479 480 .cpp.lo: 481 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 482 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 483 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 484 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 485 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 486 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< 487 488 mostlyclean-libtool: 489 -rm -f *.lo 490 491 clean-libtool: 492 -rm -rf .libs _libs 493 494 ID: $(am__tagged_files) 495 $(am__define_uniq_tagged_files); mkid -fID $$unique 496 tags: tags-am 497 TAGS: tags 498 499 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 500 set x; \ 501 here=`pwd`; \ 502 $(am__define_uniq_tagged_files); \ 503 shift; \ 504 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 505 test -n "$$unique" || unique=$$empty_fix; \ 506 if test $$# -gt 0; then \ 507 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 508 "$$@" $$unique; \ 509 else \ 510 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 511 $$unique; \ 512 fi; \ 513 fi 514 ctags: ctags-am 515 516 CTAGS: ctags 517 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 518 $(am__define_uniq_tagged_files); \ 519 test -z "$(CTAGS_ARGS)$$unique" \ 520 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 521 $$unique 522 523 GTAGS: 524 here=`$(am__cd) $(top_builddir) && pwd` \ 525 && $(am__cd) $(top_srcdir) \ 526 && gtags -i $(GTAGS_ARGS) "$$here" 527 cscopelist: cscopelist-am 528 529 cscopelist-am: $(am__tagged_files) 530 list='$(am__tagged_files)'; \ 531 case "$(srcdir)" in \ 532 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 533 *) sdir=$(subdir)/$(srcdir) ;; \ 534 esac; \ 535 for i in $$list; do \ 536 if test -f "$$i"; then \ 537 echo "$(subdir)/$$i"; \ 538 else \ 539 echo "$$sdir/$$i"; \ 540 fi; \ 541 done >> $(top_builddir)/cscope.files 542 543 distclean-tags: 544 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 311 clean-noinstPROGRAMS: 312 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 313 tags TAGS: 314 315 ctags CTAGS: 316 317 cscope cscopelist: 318 545 319 546 320 distdir: $(DISTFILES) … … 576 350 check-am: all-am 577 351 check: check-am 578 all-am: Makefile 352 all-am: Makefile $(PROGRAMS) 579 353 installdirs: 580 354 install: install-am … … 610 384 clean: clean-am 611 385 612 clean-am: clean-generic clean- libtoolmostlyclean-am386 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am 613 387 614 388 distclean: distclean-am 615 -rm -rf ./$(DEPDIR)616 389 -rm -f Makefile 617 distclean-am: clean-am distclean-compile distclean-generic \ 618 distclean-tags 390 distclean-am: clean-am distclean-generic 619 391 620 392 dvi: dvi-am … … 659 431 660 432 maintainer-clean: maintainer-clean-am 661 -rm -rf ./$(DEPDIR)662 433 -rm -f Makefile 663 434 maintainer-clean-am: distclean-am maintainer-clean-generic … … 665 436 mostlyclean: mostlyclean-am 666 437 667 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 668 mostlyclean-libtool 438 mostlyclean-am: mostlyclean-generic 669 439 670 440 pdf: pdf-am … … 680 450 .MAKE: install-am install-strip 681 451 682 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 683 clean-libtool cscopelist-am ctags ctags-am distclean \ 684 distclean-compile distclean-generic distclean-libtool \ 685 distclean-tags distdir dvi dvi-am html html-am info info-am \ 452 .PHONY: all all-am check check-am clean clean-generic \ 453 clean-noinstPROGRAMS cscopelist-am ctags-am distclean \ 454 distclean-generic distdir dvi dvi-am html html-am info info-am \ 686 455 install install-am install-data install-data-am install-dvi \ 687 456 install-dvi-am install-exec install-exec-am install-html \ … … 690 459 install-strip installcheck installcheck-am installdirs \ 691 460 maintainer-clean maintainer-clean-generic mostlyclean \ 692 mostlyclean- compile mostlyclean-generic mostlyclean-libtool \693 pdf pdf-am ps ps-am tags tags-am uninstalluninstall-am461 mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ 462 uninstall-am 694 463 695 464 .PRECIOUS: Makefile 696 465 697 466 698 .cfa.o: 467 .cfa.o: $(CFACC) $(CFACPP) 699 468 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 700 469 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 701 470 $(am__mv) $$depbase.Tpo $$depbase.Po 702 471 703 .cfa.lo: 704 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 705 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 706 $(am__mv) $$depbase.Tpo $$depbase.Plo 707 708 dummyC.c: 709 @echo "int main() { return 0; }" > ${@} 710 711 dummyCXX.cpp: 712 @echo "int main() { return 0; }" > ${@} 472 LIBFIBRE_DIR ?= /home/tdelisle/software/KOS/src/ 713 473 714 474 .NOTPARALLEL: … … 723 483 @${STATS} .result.log 724 484 @echo "------------------------------------------------------" 725 @rm -f a.out .result.log *.class485 @rm -f a.out .result.log 726 486 727 487 %.runquiet : … … 735 495 736 496 ${REPEAT} : 737 @+make -C ${ abs_top_builddir}/toolsrepeat497 @+make -C ${TOOLSDIR} repeat 738 498 739 499 jenkins$(EXEEXT): … … 773 533 774 534 loop$(EXEEXT): 775 $( AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c535 $(COMPILE) -DBENCH_N=5000000000 loop.c 776 536 777 537 function$(EXEEXT): 778 $( AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c538 $(COMPILE) -DBENCH_N=5000000000 function.c 779 539 780 540 fetch_add$(EXEEXT): 781 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 782 783 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre$(EXEEXT): 784 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 785 786 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre2$(EXEEXT): 787 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 788 789 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND) 541 $(COMPILE) -DBENCH_N=500000000 fetch_add.c 542 543 ctxswitch$(EXEEXT): \ 544 loop.run \ 545 function.run \ 546 fetch_add.run \ 547 ctxswitch-pthread.run \ 548 ctxswitch-cfa_coroutine.run \ 549 ctxswitch-cfa_thread.run \ 550 ctxswitch-cfa_thread2.run \ 551 ctxswitch-upp_coroutine.run \ 552 ctxswitch-upp_thread.run \ 553 -ctxswitch-kos_fibre.run \ 554 -ctxswitch-kos_fibre2.run \ 555 ctxswitch-goroutine.run \ 556 ctxswitch-java_thread.run 790 557 791 558 ctxswitch-pthread$(EXEEXT): 792 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c559 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 793 560 794 561 ctxswitch-cfa_coroutine$(EXEEXT): 795 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa562 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 796 563 797 564 ctxswitch-cfa_thread$(EXEEXT): 798 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa565 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 799 566 800 567 ctxswitch-cfa_thread2$(EXEEXT): 801 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa568 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 802 569 803 570 ctxswitch-upp_coroutine$(EXEEXT): 804 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc571 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 805 572 806 573 ctxswitch-upp_thread$(EXEEXT): 807 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 574 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 575 576 ctxswitch-kos_fibre$(EXEEXT): 577 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 578 579 ctxswitch-kos_fibre2$(EXEEXT): 580 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 808 581 809 582 ctxswitch-goroutine$(EXEEXT): 810 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go583 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go 811 584 812 585 ctxswitch-java_thread$(EXEEXT): 813 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/ctxswitch/JavaThread.java586 @javac $(srcdir)/ctxswitch/JavaThread.java 814 587 @echo "#!/bin/sh" > a.out 815 @echo " java JavaThread" >> a.out588 @echo "cd ctxswitch && java JavaThread" >> a.out 816 589 @chmod a+x a.out 817 590 … … 828 601 829 602 mutex-pthread_lock$(EXEEXT): 830 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c603 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 831 604 832 605 mutex-upp$(EXEEXT): 833 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc606 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 834 607 835 608 mutex-cfa1$(EXEEXT): 836 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.cfa609 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 837 610 838 611 mutex-cfa2$(EXEEXT): 839 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.cfa612 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 840 613 841 614 mutex-cfa4$(EXEEXT): 842 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.cfa615 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 843 616 844 617 mutex-java_thread$(EXEEXT): 845 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/mutex/JavaThread.java618 @javac $(srcdir)/mutex/JavaThread.java 846 619 @echo "#!/bin/sh" > a.out 847 @echo " java JavaThread" >> a.out620 @echo "cd mutex && java JavaThread" >> a.out 848 621 @chmod a+x a.out 849 622 … … 857 630 858 631 signal-pthread_cond$(EXEEXT): 859 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c632 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 860 633 861 634 signal-upp$(EXEEXT): 862 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc635 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 863 636 864 637 signal-cfa1$(EXEEXT): 865 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.cfa638 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 866 639 867 640 signal-cfa2$(EXEEXT): 868 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.cfa641 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 869 642 870 643 signal-cfa4$(EXEEXT): 871 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.cfa644 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 872 645 873 646 signal-java_thread$(EXEEXT): 874 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/schedint/JavaThread.java647 @javac $(srcdir)/schedint/JavaThread.java 875 648 @echo "#!/bin/sh" > a.out 876 @echo " java JavaThread" >> a.out649 @echo "cd schedint && java JavaThread" >> a.out 877 650 @chmod a+x a.out 878 651 … … 884 657 885 658 waitfor-upp$(EXEEXT): 886 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc659 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 887 660 888 661 waitfor-cfa1$(EXEEXT): 889 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.cfa662 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 890 663 891 664 waitfor-cfa2$(EXEEXT): 892 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.cfa665 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 893 666 894 667 waitfor-cfa4$(EXEEXT): 895 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.cfa668 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 896 669 897 670 creation$(EXEEXT) :\ … … 906 679 907 680 creation-cfa_coroutine$(EXEEXT): 908 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa681 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 909 682 910 683 creation-cfa_coroutine_eager$(EXEEXT): 911 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER684 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 912 685 913 686 creation-cfa_thread$(EXEEXT): 914 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa687 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 915 688 916 689 creation-upp_coroutine$(EXEEXT): 917 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc690 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 918 691 919 692 creation-upp_thread$(EXEEXT): 920 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc693 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 921 694 922 695 creation-pthread$(EXEEXT): 923 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c696 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 924 697 925 698 creation-goroutine$(EXEEXT): 926 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go699 @go build -o a.out $(srcdir)/creation/goroutine.go 927 700 928 701 creation-java_thread$(EXEEXT): 929 $(AM_V_JAVAC)javac -d $(builddir)$(srcdir)/creation/JavaThread.java702 @javac $(srcdir)/creation/JavaThread.java 930 703 @echo "#!/bin/sh" > a.out 931 @echo " java JavaThread" >> a.out704 @echo "cd creation && java JavaThread" >> a.out 932 705 @chmod a+x a.out 933 706 … … 943 716 944 717 compile-array$(EXEEXT): 945 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa718 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 946 719 947 720 compile-attributes$(EXEEXT): 948 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa721 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c 949 722 950 723 compile-empty$(EXEEXT): 951 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa724 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 952 725 953 726 compile-expression$(EXEEXT): 954 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa727 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 955 728 956 729 compile-io$(EXEEXT): 957 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa730 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 958 731 959 732 compile-monitor$(EXEEXT): 960 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa733 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 961 734 962 735 compile-operators$(EXEEXT): 963 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa736 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 964 737 965 738 compile-thread$(EXEEXT): 966 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa739 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 967 740 968 741 compile-typeof$(EXEEXT): 969 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa742 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 970 743 971 744 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
benchmark/Monitor.c
rcde3891 r9b086ca 29 29 EndTime = Time(); 30 30 31 sout | ( EndTime - StartTime ) / N ;31 sout | ( EndTime - StartTime ) / N | endl; 32 32 } -
configure
rcde3891 r9b086ca 199 199 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 200 200 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 201 202 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (203 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'204 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO205 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO206 PATH=/empty FPATH=/empty; export PATH FPATH207 test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\208 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1209 201 test \$(( 1 + 1 )) = 2 || exit 1" 210 202 if (eval "$as_required") 2>/dev/null; then : … … 565 557 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 566 558 567 SHELL=${CONFIG_SHELL-/bin/sh}568 569 559 570 560 test -n "$DJDIR" || exec 7<&0 </dev/null … … 636 626 LTLIBOBJS 637 627 LIBOBJS 638 CFA_BACKEND_CC639 628 ALLOCA 640 WITH_LIBFIBRE_FALSE641 WITH_LIBFIBRE_TRUE642 CXXCPP643 CPP644 LT_SYS_LIBRARY_PATH645 OTOOL64646 OTOOL647 LIPO648 NMEDIT649 DSYMUTIL650 MANIFEST_TOOL651 RANLIB652 ac_ct_AR653 AR654 DLLTOOL655 OBJDUMP656 LN_S657 NM658 ac_ct_DUMPBIN659 DUMPBIN660 LD661 FGREP662 629 EGREP 663 630 GREP 664 SED 665 LIBTOOL 631 CPP 632 RANLIB 666 633 LEXLIB 667 634 LEX_OUTPUT_ROOT … … 718 685 CFA_INCDIR 719 686 CFA_PREFIX 687 CFA_BACKEND_CC 688 BACKEND_CC 720 689 DOendif 721 690 DOifskipcompile … … 792 761 enable_silent_rules 793 762 with_cfa_name 763 with_backend_compiler 794 764 with_target_hosts 795 765 enable_dependency_tracking 796 enable_shared797 enable_static798 with_pic799 enable_fast_install800 with_aix_soname801 with_gnu_ld802 with_sysroot803 enable_libtool_lock804 766 ' 805 767 ac_precious_vars='build_alias … … 818 780 YACC 819 781 YFLAGS 820 LT_SYS_LIBRARY_PATH 821 CPP 822 CXXCPP' 782 CPP' 823 783 824 784 … … 1456 1416 --disable-dependency-tracking 1457 1417 speeds up one-time build 1458 --enable-shared[=PKGS] build shared libraries [default=yes]1459 --enable-static[=PKGS] build static libraries [default=yes]1460 --enable-fast-install[=PKGS]1461 optimize for fast installation [default=yes]1462 --disable-libtool-lock avoid locking (might break parallel builds)1463 1418 1464 1419 Optional Packages: … … 1466 1421 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1467 1422 --with-cfa-name=NAME NAME too which cfa will be installed 1423 --with-backend-compiler=PROGRAM PROGRAM that performs the final code compilation (must be gcc-compatible) 1468 1424 --with-target-hosts=HOSTS HOSTS comma seperated list of hosts to build for, format ARCH:debug|nodebug|nolib 1469 --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use1470 both]1471 --with-aix-soname=aix|svr4|both1472 shared library versioning (aka "SONAME") variant to1473 provide on AIX, [default=aix].1474 --with-gnu-ld assume the C compiler uses GNU ld [default=no]1475 --with-sysroot[=DIR] Search for dependent libraries within DIR (or the1476 compiler's sysroot if not specified).1477 1425 1478 1426 Some influential environment variables: … … 1494 1442 This script will default YFLAGS to the empty string to avoid a 1495 1443 default value of `-d' given by some make applications. 1496 LT_SYS_LIBRARY_PATH1497 User-defined run-time library search path.1498 1444 CPP C preprocessor 1499 CXXCPP C++ preprocessor1500 1445 1501 1446 Use these variables to override the choices made by `configure' or to help … … 1701 1646 } # ac_fn_c_try_link 1702 1647 1703 # ac_fn_c_check_ header_compile LINENO HEADERVAR INCLUDES1704 # ------------------------------------------- ------------1705 # Tests whether HEADER exists and can be compiled using the include files in1706 # INCLUDES, setting the cachevariable VAR accordingly.1707 ac_fn_c_check_ header_compile ()1648 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES 1649 # ------------------------------------------- 1650 # Tests whether TYPE exists after having included INCLUDES, setting cache 1651 # variable VAR accordingly. 1652 ac_fn_c_check_type () 1708 1653 { 1709 1654 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack … … 1713 1658 $as_echo_n "(cached) " >&6 1714 1659 else 1660 eval "$3=no" 1715 1661 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1716 1662 /* end confdefs.h. */ 1717 1663 $4 1718 #include <$2> 1664 int 1665 main () 1666 { 1667 if (sizeof ($2)) 1668 return 0; 1669 ; 1670 return 0; 1671 } 1719 1672 _ACEOF 1720 1673 if ac_fn_c_try_compile "$LINENO"; then : 1674 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1675 /* end confdefs.h. */ 1676 $4 1677 int 1678 main () 1679 { 1680 if (sizeof (($2))) 1681 return 0; 1682 ; 1683 return 0; 1684 } 1685 _ACEOF 1686 if ac_fn_c_try_compile "$LINENO"; then : 1687 1688 else 1721 1689 eval "$3=yes" 1722 else 1723 eval "$3=no" 1690 fi 1691 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1724 1692 fi 1725 1693 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext … … 1730 1698 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1731 1699 1732 } # ac_fn_c_check_ header_compile1700 } # ac_fn_c_check_type 1733 1701 1734 1702 # ac_fn_c_try_cpp LINENO … … 1811 1779 } # ac_fn_c_try_run 1812 1780 1781 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES 1782 # ------------------------------------------------------- 1783 # Tests whether HEADER exists and can be compiled using the include files in 1784 # INCLUDES, setting the cache variable VAR accordingly. 1785 ac_fn_c_check_header_compile () 1786 { 1787 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1788 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1789 $as_echo_n "checking for $2... " >&6; } 1790 if eval \${$3+:} false; then : 1791 $as_echo_n "(cached) " >&6 1792 else 1793 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1794 /* end confdefs.h. */ 1795 $4 1796 #include <$2> 1797 _ACEOF 1798 if ac_fn_c_try_compile "$LINENO"; then : 1799 eval "$3=yes" 1800 else 1801 eval "$3=no" 1802 fi 1803 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1804 fi 1805 eval ac_res=\$$3 1806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 1807 $as_echo "$ac_res" >&6; } 1808 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1809 1810 } # ac_fn_c_check_header_compile 1811 1813 1812 # ac_fn_c_check_func LINENO FUNC VAR 1814 1813 # ---------------------------------- … … 1877 1876 1878 1877 } # ac_fn_c_check_func 1879 1880 # ac_fn_cxx_try_cpp LINENO1881 # ------------------------1882 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.1883 ac_fn_cxx_try_cpp ()1884 {1885 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1886 if { { ac_try="$ac_cpp conftest.$ac_ext"1887 case "(($ac_try" in1888 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1889 *) ac_try_echo=$ac_try;;1890 esac1891 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1892 $as_echo "$ac_try_echo"; } >&51893 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err1894 ac_status=$?1895 if test -s conftest.err; then1896 grep -v '^ *+' conftest.err >conftest.er11897 cat conftest.er1 >&51898 mv -f conftest.er1 conftest.err1899 fi1900 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51901 test $ac_status = 0; } > conftest.i && {1902 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||1903 test ! -s conftest.err1904 }; then :1905 ac_retval=01906 else1907 $as_echo "$as_me: failed program was:" >&51908 sed 's/^/| /' conftest.$ac_ext >&51909 1910 ac_retval=11911 fi1912 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1913 as_fn_set_status $ac_retval1914 1915 } # ac_fn_cxx_try_cpp1916 1917 # ac_fn_cxx_try_link LINENO1918 # -------------------------1919 # Try to link conftest.$ac_ext, and return whether this succeeded.1920 ac_fn_cxx_try_link ()1921 {1922 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1923 rm -f conftest.$ac_objext conftest$ac_exeext1924 if { { ac_try="$ac_link"1925 case "(($ac_try" in1926 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1927 *) ac_try_echo=$ac_try;;1928 esac1929 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1930 $as_echo "$ac_try_echo"; } >&51931 (eval "$ac_link") 2>conftest.err1932 ac_status=$?1933 if test -s conftest.err; then1934 grep -v '^ *+' conftest.err >conftest.er11935 cat conftest.er1 >&51936 mv -f conftest.er1 conftest.err1937 fi1938 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51939 test $ac_status = 0; } && {1940 test -z "$ac_cxx_werror_flag" ||1941 test ! -s conftest.err1942 } && test -s conftest$ac_exeext && {1943 test "$cross_compiling" = yes ||1944 test -x conftest$ac_exeext1945 }; then :1946 ac_retval=01947 else1948 $as_echo "$as_me: failed program was:" >&51949 sed 's/^/| /' conftest.$ac_ext >&51950 1951 ac_retval=11952 fi1953 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information1954 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would1955 # interfere with the next link command; also delete a directory that is1956 # left behind by Apple's compiler. We do this before executing the actions.1957 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1958 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1959 as_fn_set_status $ac_retval1960 1961 } # ac_fn_cxx_try_link1962 1963 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES1964 # -------------------------------------------1965 # Tests whether TYPE exists after having included INCLUDES, setting cache1966 # variable VAR accordingly.1967 ac_fn_c_check_type ()1968 {1969 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1970 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51971 $as_echo_n "checking for $2... " >&6; }1972 if eval \${$3+:} false; then :1973 $as_echo_n "(cached) " >&61974 else1975 eval "$3=no"1976 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1977 /* end confdefs.h. */1978 $41979 int1980 main ()1981 {1982 if (sizeof ($2))1983 return 0;1984 ;1985 return 0;1986 }1987 _ACEOF1988 if ac_fn_c_try_compile "$LINENO"; then :1989 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1990 /* end confdefs.h. */1991 $41992 int1993 main ()1994 {1995 if (sizeof (($2)))1996 return 0;1997 ;1998 return 0;1999 }2000 _ACEOF2001 if ac_fn_c_try_compile "$LINENO"; then :2002 2003 else2004 eval "$3=yes"2005 fi2006 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext2007 fi2008 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext2009 fi2010 eval ac_res=\$$32011 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&52012 $as_echo "$ac_res" >&6; }2013 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno2014 2015 } # ac_fn_c_check_type2016 1878 2017 1879 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES … … 2616 2478 2617 2479 2618 2619 2480 #AC_CONFIG_SRCDIR([src/main.cc]) 2620 2481 ac_config_headers="$ac_config_headers config.h:src/config.h.in" … … 3303 3164 3304 3165 #============================================================================== 3166 # backend compiler implementation 3167 3168 # Check whether --with-backend-compiler was given. 3169 if test "${with_backend_compiler+set}" = set; then : 3170 withval=$with_backend_compiler; backendcompiler=$withval 3171 else 3172 backendcompiler="" 3173 fi 3174 3175 if test "x$backendcompiler" != "x"; then 3176 BACKEND_CC=${backendcompiler} 3177 else 3178 # Extract the first word of "gcc", so it can be a program name with args. 3179 set dummy gcc; ac_word=$2 3180 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3181 $as_echo_n "checking for $ac_word... " >&6; } 3182 if ${ac_cv_path_BACKEND_CC+:} false; then : 3183 $as_echo_n "(cached) " >&6 3184 else 3185 case $BACKEND_CC in 3186 [\\/]* | ?:[\\/]*) 3187 ac_cv_path_BACKEND_CC="$BACKEND_CC" # Let the user override the test with a path. 3188 ;; 3189 *) 3190 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3191 for as_dir in $PATH 3192 do 3193 IFS=$as_save_IFS 3194 test -z "$as_dir" && as_dir=. 3195 for ac_exec_ext in '' $ac_executable_extensions; do 3196 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3197 ac_cv_path_BACKEND_CC="$as_dir/$ac_word$ac_exec_ext" 3198 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3199 break 2 3200 fi 3201 done 3202 done 3203 IFS=$as_save_IFS 3204 3205 ;; 3206 esac 3207 fi 3208 BACKEND_CC=$ac_cv_path_BACKEND_CC 3209 if test -n "$BACKEND_CC"; then 3210 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BACKEND_CC" >&5 3211 $as_echo "$BACKEND_CC" >&6; } 3212 else 3213 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3214 $as_echo "no" >&6; } 3215 fi 3216 3217 # check gcc installed 3218 if test "x$BACKEND_CC" = "x"; then 3219 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5 3220 exit 1 3221 fi 3222 fi 3223 3224 cat >>confdefs.h <<_ACEOF 3225 #define CFA_BACKEND_CC "${BACKEND_CC}" 3226 _ACEOF 3227 3228 3229 3230 #============================================================================== 3305 3231 # Installation paths 3306 3232 … … 3550 3476 "arm" ) cannon_arch_name="arm";; 3551 3477 "ARM" ) cannon_arch_name="arm";; 3552 "armv7l" ) cannon_arch_name="arm";;3553 3478 *) 3554 3479 >&2 echo "Unkown architecture " $arch_name; … … 3567 3492 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 3568 3493 echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data 3569 echo -n "CONFIGURATION=${lib_config} " >> ${lib_dir}/config.data 3570 echo -n "CFA_VERSION=${ver_major}:${ver_minor}:${ver_patch}" >> ${lib_dir}/config.data 3494 echo -n "CONFIGURATION=${lib_config}" >> ${lib_dir}/config.data 3571 3495 done 3572 3496 … … 3591 3515 "arm" ) cannon_arch_name="arm";; 3592 3516 "ARM" ) cannon_arch_name="arm";; 3593 "armv7l" ) cannon_arch_name="arm";;3594 3517 *) 3595 3518 >&2 echo "Unkown architecture " $arch_name; … … 5390 5313 fi 5391 5314 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 5392 case `pwd` in 5393 *\ * | *\ *) 5394 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 5395 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; 5315 5316 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 5317 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } 5318 set x ${MAKE-make} 5319 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` 5320 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : 5321 $as_echo_n "(cached) " >&6 5322 else 5323 cat >conftest.make <<\_ACEOF 5324 SHELL = /bin/sh 5325 all: 5326 @echo '@@@%%%=$(MAKE)=@@@%%%' 5327 _ACEOF 5328 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 5329 case `${MAKE-make} -f conftest.make 2>/dev/null` in 5330 *@@@%%%=?*=@@@%%%*) 5331 eval ac_cv_prog_make_${ac_make}_set=yes;; 5332 *) 5333 eval ac_cv_prog_make_${ac_make}_set=no;; 5396 5334 esac 5397 5398 5399 5400 macro_version='2.4.6' 5401 macro_revision='2.4.6' 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 ltmain=$ac_aux_dir/ltmain.sh 5416 5417 # Backslashify metacharacters that are still active within 5418 # double-quoted strings. 5419 sed_quote_subst='s/\(["`$\\]\)/\\\1/g' 5420 5421 # Same as above, but do not quote variable references. 5422 double_quote_subst='s/\(["`\\]\)/\\\1/g' 5423 5424 # Sed substitution to delay expansion of an escaped shell variable in a 5425 # double_quote_subst'ed string. 5426 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 5427 5428 # Sed substitution to delay expansion of an escaped single quote. 5429 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 5430 5431 # Sed substitution to avoid accidental globbing in evaled expressions 5432 no_glob_subst='s/\*/\\\*/g' 5433 5434 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 5435 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 5436 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 5437 5438 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 5439 $as_echo_n "checking how to print strings... " >&6; } 5440 # Test print first, because it will be a builtin if present. 5441 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 5442 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 5443 ECHO='print -r --' 5444 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 5445 ECHO='printf %s\n' 5446 else 5447 # Use this function as a fallback that always works. 5448 func_fallback_echo () 5449 { 5450 eval 'cat <<_LTECHO_EOF 5451 $1 5452 _LTECHO_EOF' 5453 } 5454 ECHO='func_fallback_echo' 5455 fi 5456 5457 # func_echo_all arg... 5458 # Invoke $ECHO with all args, space-separated. 5459 func_echo_all () 5460 { 5461 $ECHO "" 5462 } 5463 5464 case $ECHO in 5465 printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 5466 $as_echo "printf" >&6; } ;; 5467 print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 5468 $as_echo "print -r" >&6; } ;; 5469 *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 5470 $as_echo "cat" >&6; } ;; 5471 esac 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 5487 $as_echo_n "checking for a sed that does not truncate output... " >&6; } 5488 if ${ac_cv_path_SED+:} false; then : 5335 rm -f conftest.make 5336 fi 5337 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then 5338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 5339 $as_echo "yes" >&6; } 5340 SET_MAKE= 5341 else 5342 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5343 $as_echo "no" >&6; } 5344 SET_MAKE="MAKE=${MAKE-make}" 5345 fi 5346 5347 if test -n "$ac_tool_prefix"; then 5348 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. 5349 set dummy ${ac_tool_prefix}ranlib; ac_word=$2 5350 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5351 $as_echo_n "checking for $ac_word... " >&6; } 5352 if ${ac_cv_prog_RANLIB+:} false; then : 5489 5353 $as_echo_n "(cached) " >&6 5490 5354 else 5491 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ 5492 for ac_i in 1 2 3 4 5 6 7; do 5493 ac_script="$ac_script$as_nl$ac_script" 5494 done 5495 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed 5496 { ac_script=; unset ac_script;} 5497 if test -z "$SED"; then 5498 ac_path_SED_found=false 5499 # Loop through the user's path and test for each of PROGNAME-LIST 5500 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5355 if test -n "$RANLIB"; then 5356 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 5357 else 5358 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5501 5359 for as_dir in $PATH 5502 5360 do 5503 5361 IFS=$as_save_IFS 5504 5362 test -z "$as_dir" && as_dir=. 5505 for ac_prog in sed gsed; do5506 5363 for ac_exec_ext in '' $ac_executable_extensions; do 5507 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" 5508 as_fn_executable_p "$ac_path_SED" || continue 5509 # Check for GNU ac_path_SED and select it if it is found. 5510 # Check for GNU $ac_path_SED 5511 case `"$ac_path_SED" --version 2>&1` in 5512 *GNU*) 5513 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; 5514 *) 5515 ac_count=0 5516 $as_echo_n 0123456789 >"conftest.in" 5517 while : 5518 do 5519 cat "conftest.in" "conftest.in" >"conftest.tmp" 5520 mv "conftest.tmp" "conftest.in" 5521 cp "conftest.in" "conftest.nl" 5522 $as_echo '' >> "conftest.nl" 5523 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break 5524 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 5525 as_fn_arith $ac_count + 1 && ac_count=$as_val 5526 if test $ac_count -gt ${ac_path_SED_max-0}; then 5527 # Best one so far, save it but keep looking for a better one 5528 ac_cv_path_SED="$ac_path_SED" 5529 ac_path_SED_max=$ac_count 5530 fi 5531 # 10*(2^10) chars as input seems more than enough 5532 test $ac_count -gt 10 && break 5533 done 5534 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 5535 esac 5536 5537 $ac_path_SED_found && break 3 5538 done 5539 done 5364 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5365 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" 5366 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5367 break 2 5368 fi 5369 done 5540 5370 done 5541 5371 IFS=$as_save_IFS 5542 if test -z "$ac_cv_path_SED"; then 5543 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 5372 5373 fi 5374 fi 5375 RANLIB=$ac_cv_prog_RANLIB 5376 if test -n "$RANLIB"; then 5377 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 5378 $as_echo "$RANLIB" >&6; } 5379 else 5380 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5381 $as_echo "no" >&6; } 5382 fi 5383 5384 5385 fi 5386 if test -z "$ac_cv_prog_RANLIB"; then 5387 ac_ct_RANLIB=$RANLIB 5388 # Extract the first word of "ranlib", so it can be a program name with args. 5389 set dummy ranlib; ac_word=$2 5390 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5391 $as_echo_n "checking for $ac_word... " >&6; } 5392 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 5393 $as_echo_n "(cached) " >&6 5394 else 5395 if test -n "$ac_ct_RANLIB"; then 5396 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 5397 else 5398 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5399 for as_dir in $PATH 5400 do 5401 IFS=$as_save_IFS 5402 test -z "$as_dir" && as_dir=. 5403 for ac_exec_ext in '' $ac_executable_extensions; do 5404 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5405 ac_cv_prog_ac_ct_RANLIB="ranlib" 5406 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5407 break 2 5544 5408 fi 5545 else 5546 ac_cv_path_SED=$SED 5547 fi 5548 5549 fi 5550 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 5551 $as_echo "$ac_cv_path_SED" >&6; } 5552 SED="$ac_cv_path_SED" 5553 rm -f conftest.sed 5554 5555 test -z "$SED" && SED=sed 5556 Xsed="$SED -e 1s/^X//" 5557 5558 5559 5560 5561 5562 5563 5564 5565 5409 done 5410 done 5411 IFS=$as_save_IFS 5412 5413 fi 5414 fi 5415 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 5416 if test -n "$ac_ct_RANLIB"; then 5417 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 5418 $as_echo "$ac_ct_RANLIB" >&6; } 5419 else 5420 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5421 $as_echo "no" >&6; } 5422 fi 5423 5424 if test "x$ac_ct_RANLIB" = x; then 5425 RANLIB=":" 5426 else 5427 case $cross_compiling:$ac_tool_warned in 5428 yes:) 5429 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5430 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5431 ac_tool_warned=yes ;; 5432 esac 5433 RANLIB=$ac_ct_RANLIB 5434 fi 5435 else 5436 RANLIB="$ac_cv_prog_RANLIB" 5437 fi 5438 5439 5440 # Checks for libraries. 5441 5442 # Checks for header files. 5443 ac_ext=c 5444 ac_cpp='$CPP $CPPFLAGS' 5445 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 5446 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 5447 ac_compiler_gnu=$ac_cv_c_compiler_gnu 5448 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 5449 $as_echo_n "checking how to run the C preprocessor... " >&6; } 5450 # On Suns, sometimes $CPP names a directory. 5451 if test -n "$CPP" && test -d "$CPP"; then 5452 CPP= 5453 fi 5454 if test -z "$CPP"; then 5455 if ${ac_cv_prog_CPP+:} false; then : 5456 $as_echo_n "(cached) " >&6 5457 else 5458 # Double quotes because CPP needs to be expanded 5459 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" 5460 do 5461 ac_preproc_ok=false 5462 for ac_c_preproc_warn_flag in '' yes 5463 do 5464 # Use a header file that comes with gcc, so configuring glibc 5465 # with a fresh cross-compiler works. 5466 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 5467 # <limits.h> exists even on freestanding compilers. 5468 # On the NeXT, cc -E runs the code through the compiler's parser, 5469 # not just through cpp. "Syntax error" is here to catch this case. 5470 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5471 /* end confdefs.h. */ 5472 #ifdef __STDC__ 5473 # include <limits.h> 5474 #else 5475 # include <assert.h> 5476 #endif 5477 Syntax error 5478 _ACEOF 5479 if ac_fn_c_try_cpp "$LINENO"; then : 5480 5481 else 5482 # Broken: fails on valid input. 5483 continue 5484 fi 5485 rm -f conftest.err conftest.i conftest.$ac_ext 5486 5487 # OK, works on sane cases. Now check whether nonexistent headers 5488 # can be detected and how. 5489 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5490 /* end confdefs.h. */ 5491 #include <ac_nonexistent.h> 5492 _ACEOF 5493 if ac_fn_c_try_cpp "$LINENO"; then : 5494 # Broken: success on invalid input. 5495 continue 5496 else 5497 # Passes both tests. 5498 ac_preproc_ok=: 5499 break 5500 fi 5501 rm -f conftest.err conftest.i conftest.$ac_ext 5502 5503 done 5504 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 5505 rm -f conftest.i conftest.err conftest.$ac_ext 5506 if $ac_preproc_ok; then : 5507 break 5508 fi 5509 5510 done 5511 ac_cv_prog_CPP=$CPP 5512 5513 fi 5514 CPP=$ac_cv_prog_CPP 5515 else 5516 ac_cv_prog_CPP=$CPP 5517 fi 5518 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 5519 $as_echo "$CPP" >&6; } 5520 ac_preproc_ok=false 5521 for ac_c_preproc_warn_flag in '' yes 5522 do 5523 # Use a header file that comes with gcc, so configuring glibc 5524 # with a fresh cross-compiler works. 5525 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 5526 # <limits.h> exists even on freestanding compilers. 5527 # On the NeXT, cc -E runs the code through the compiler's parser, 5528 # not just through cpp. "Syntax error" is here to catch this case. 5529 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5530 /* end confdefs.h. */ 5531 #ifdef __STDC__ 5532 # include <limits.h> 5533 #else 5534 # include <assert.h> 5535 #endif 5536 Syntax error 5537 _ACEOF 5538 if ac_fn_c_try_cpp "$LINENO"; then : 5539 5540 else 5541 # Broken: fails on valid input. 5542 continue 5543 fi 5544 rm -f conftest.err conftest.i conftest.$ac_ext 5545 5546 # OK, works on sane cases. Now check whether nonexistent headers 5547 # can be detected and how. 5548 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5549 /* end confdefs.h. */ 5550 #include <ac_nonexistent.h> 5551 _ACEOF 5552 if ac_fn_c_try_cpp "$LINENO"; then : 5553 # Broken: success on invalid input. 5554 continue 5555 else 5556 # Passes both tests. 5557 ac_preproc_ok=: 5558 break 5559 fi 5560 rm -f conftest.err conftest.i conftest.$ac_ext 5561 5562 done 5563 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 5564 rm -f conftest.i conftest.err conftest.$ac_ext 5565 if $ac_preproc_ok; then : 5566 5567 else 5568 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 5569 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 5570 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 5571 See \`config.log' for more details" "$LINENO" 5; } 5572 fi 5573 5574 ac_ext=c 5575 ac_cpp='$CPP $CPPFLAGS' 5576 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 5577 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 5578 ac_compiler_gnu=$ac_cv_c_compiler_gnu 5566 5579 5567 5580 … … 5696 5709 5697 5710 5698 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&55699 $as_echo_n "checking for fgrep... " >&6; }5700 if ${ac_cv_path_FGREP+:} false; then :5701 $as_echo_n "(cached) " >&65702 else5703 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&15704 then ac_cv_path_FGREP="$GREP -F"5705 else5706 if test -z "$FGREP"; then5707 ac_path_FGREP_found=false5708 # Loop through the user's path and test for each of PROGNAME-LIST5709 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5710 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin5711 do5712 IFS=$as_save_IFS5713 test -z "$as_dir" && as_dir=.5714 for ac_prog in fgrep; do5715 for ac_exec_ext in '' $ac_executable_extensions; do5716 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"5717 as_fn_executable_p "$ac_path_FGREP" || continue5718 # Check for GNU ac_path_FGREP and select it if it is found.5719 # Check for GNU $ac_path_FGREP5720 case `"$ac_path_FGREP" --version 2>&1` in5721 *GNU*)5722 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;5723 *)5724 ac_count=05725 $as_echo_n 0123456789 >"conftest.in"5726 while :5727 do5728 cat "conftest.in" "conftest.in" >"conftest.tmp"5729 mv "conftest.tmp" "conftest.in"5730 cp "conftest.in" "conftest.nl"5731 $as_echo 'FGREP' >> "conftest.nl"5732 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break5733 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break5734 as_fn_arith $ac_count + 1 && ac_count=$as_val5735 if test $ac_count -gt ${ac_path_FGREP_max-0}; then5736 # Best one so far, save it but keep looking for a better one5737 ac_cv_path_FGREP="$ac_path_FGREP"5738 ac_path_FGREP_max=$ac_count5739 fi5740 # 10*(2^10) chars as input seems more than enough5741 test $ac_count -gt 10 && break5742 done5743 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;5744 esac5745 5746 $ac_path_FGREP_found && break 35747 done5748 done5749 done5750 IFS=$as_save_IFS5751 if test -z "$ac_cv_path_FGREP"; then5752 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 55753 fi5754 else5755 ac_cv_path_FGREP=$FGREP5756 fi5757 5758 fi5759 fi5760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&55761 $as_echo "$ac_cv_path_FGREP" >&6; }5762 FGREP="$ac_cv_path_FGREP"5763 5764 5765 test -z "$GREP" && GREP=grep5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 # Check whether --with-gnu-ld was given.5786 if test "${with_gnu_ld+set}" = set; then :5787 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes5788 else5789 with_gnu_ld=no5790 fi5791 5792 ac_prog=ld5793 if test yes = "$GCC"; then5794 # Check if gcc -print-prog-name=ld gives a path.5795 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&55796 $as_echo_n "checking for ld used by $CC... " >&6; }5797 case $host in5798 *-*-mingw*)5799 # gcc leaves a trailing carriage return, which upsets mingw5800 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;5801 *)5802 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;5803 esac5804 case $ac_prog in5805 # Accept absolute paths.5806 [\\/]* | ?:[\\/]*)5807 re_direlt='/[^/][^/]*/\.\./'5808 # Canonicalize the pathname of ld5809 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`5810 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do5811 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`5812 done5813 test -z "$LD" && LD=$ac_prog5814 ;;5815 "")5816 # If it fails, then pretend we aren't using GCC.5817 ac_prog=ld5818 ;;5819 *)5820 # If it is relative, then search for the first ld in PATH.5821 with_gnu_ld=unknown5822 ;;5823 esac5824 elif test yes = "$with_gnu_ld"; then5825 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&55826 $as_echo_n "checking for GNU ld... " >&6; }5827 else5828 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&55829 $as_echo_n "checking for non-GNU ld... " >&6; }5830 fi5831 if ${lt_cv_path_LD+:} false; then :5832 $as_echo_n "(cached) " >&65833 else5834 if test -z "$LD"; then5835 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR5836 for ac_dir in $PATH; do5837 IFS=$lt_save_ifs5838 test -z "$ac_dir" && ac_dir=.5839 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then5840 lt_cv_path_LD=$ac_dir/$ac_prog5841 # Check to see if the program is GNU ld. I'd rather use --version,5842 # but apparently some variants of GNU ld only accept -v.5843 # Break only if it was the GNU/non-GNU ld that we prefer.5844 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in5845 *GNU* | *'with BFD'*)5846 test no != "$with_gnu_ld" && break5847 ;;5848 *)5849 test yes != "$with_gnu_ld" && break5850 ;;5851 esac5852 fi5853 done5854 IFS=$lt_save_ifs5855 else5856 lt_cv_path_LD=$LD # Let the user override the test with a path.5857 fi5858 fi5859 5860 LD=$lt_cv_path_LD5861 if test -n "$LD"; then5862 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&55863 $as_echo "$LD" >&6; }5864 else5865 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55866 $as_echo "no" >&6; }5867 fi5868 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 55869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&55870 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }5871 if ${lt_cv_prog_gnu_ld+:} false; then :5872 $as_echo_n "(cached) " >&65873 else5874 # I'd rather use --version here, but apparently some GNU lds only accept -v.5875 case `$LD -v 2>&1 </dev/null` in5876 *GNU* | *'with BFD'*)5877 lt_cv_prog_gnu_ld=yes5878 ;;5879 *)5880 lt_cv_prog_gnu_ld=no5881 ;;5882 esac5883 fi5884 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&55885 $as_echo "$lt_cv_prog_gnu_ld" >&6; }5886 with_gnu_ld=$lt_cv_prog_gnu_ld5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&55897 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }5898 if ${lt_cv_path_NM+:} false; then :5899 $as_echo_n "(cached) " >&65900 else5901 if test -n "$NM"; then5902 # Let the user override the test.5903 lt_cv_path_NM=$NM5904 else5905 lt_nm_to_check=${ac_tool_prefix}nm5906 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then5907 lt_nm_to_check="$lt_nm_to_check nm"5908 fi5909 for lt_tmp_nm in $lt_nm_to_check; do5910 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR5911 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do5912 IFS=$lt_save_ifs5913 test -z "$ac_dir" && ac_dir=.5914 tmp_nm=$ac_dir/$lt_tmp_nm5915 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then5916 # Check to see if the nm accepts a BSD-compat flag.5917 # Adding the 'sed 1q' prevents false positives on HP-UX, which says:5918 # nm: unknown option "B" ignored5919 # Tru64's nm complains that /dev/null is an invalid object file5920 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty5921 case $build_os in5922 mingw*) lt_bad_file=conftest.nm/nofile ;;5923 *) lt_bad_file=/dev/null ;;5924 esac5925 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in5926 *$lt_bad_file* | *'Invalid file or object type'*)5927 lt_cv_path_NM="$tmp_nm -B"5928 break 25929 ;;5930 *)5931 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in5932 */dev/null*)5933 lt_cv_path_NM="$tmp_nm -p"5934 break 25935 ;;5936 *)5937 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but5938 continue # so that we can try to find one that supports BSD flags5939 ;;5940 esac5941 ;;5942 esac5943 fi5944 done5945 IFS=$lt_save_ifs5946 done5947 : ${lt_cv_path_NM=no}5948 fi5949 fi5950 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&55951 $as_echo "$lt_cv_path_NM" >&6; }5952 if test no != "$lt_cv_path_NM"; then5953 NM=$lt_cv_path_NM5954 else5955 # Didn't find any BSD compatible name lister, look for dumpbin.5956 if test -n "$DUMPBIN"; then :5957 # Let the user override the test.5958 else5959 if test -n "$ac_tool_prefix"; then5960 for ac_prog in dumpbin "link -dump"5961 do5962 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.5963 set dummy $ac_tool_prefix$ac_prog; ac_word=$25964 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55965 $as_echo_n "checking for $ac_word... " >&6; }5966 if ${ac_cv_prog_DUMPBIN+:} false; then :5967 $as_echo_n "(cached) " >&65968 else5969 if test -n "$DUMPBIN"; then5970 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.5971 else5972 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5973 for as_dir in $PATH5974 do5975 IFS=$as_save_IFS5976 test -z "$as_dir" && as_dir=.5977 for ac_exec_ext in '' $ac_executable_extensions; do5978 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5979 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"5980 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55981 break 25982 fi5983 done5984 done5985 IFS=$as_save_IFS5986 5987 fi5988 fi5989 DUMPBIN=$ac_cv_prog_DUMPBIN5990 if test -n "$DUMPBIN"; then5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&55992 $as_echo "$DUMPBIN" >&6; }5993 else5994 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55995 $as_echo "no" >&6; }5996 fi5997 5998 5999 test -n "$DUMPBIN" && break6000 done6001 fi6002 if test -z "$DUMPBIN"; then6003 ac_ct_DUMPBIN=$DUMPBIN6004 for ac_prog in dumpbin "link -dump"6005 do6006 # Extract the first word of "$ac_prog", so it can be a program name with args.6007 set dummy $ac_prog; ac_word=$26008 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56009 $as_echo_n "checking for $ac_word... " >&6; }6010 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :6011 $as_echo_n "(cached) " >&66012 else6013 if test -n "$ac_ct_DUMPBIN"; then6014 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.6015 else6016 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6017 for as_dir in $PATH6018 do6019 IFS=$as_save_IFS6020 test -z "$as_dir" && as_dir=.6021 for ac_exec_ext in '' $ac_executable_extensions; do6022 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6023 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"6024 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56025 break 26026 fi6027 done6028 done6029 IFS=$as_save_IFS6030 6031 fi6032 fi6033 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN6034 if test -n "$ac_ct_DUMPBIN"; then6035 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&56036 $as_echo "$ac_ct_DUMPBIN" >&6; }6037 else6038 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56039 $as_echo "no" >&6; }6040 fi6041 6042 6043 test -n "$ac_ct_DUMPBIN" && break6044 done6045 6046 if test "x$ac_ct_DUMPBIN" = x; then6047 DUMPBIN=":"6048 else6049 case $cross_compiling:$ac_tool_warned in6050 yes:)6051 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56052 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6053 ac_tool_warned=yes ;;6054 esac6055 DUMPBIN=$ac_ct_DUMPBIN6056 fi6057 fi6058 6059 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in6060 *COFF*)6061 DUMPBIN="$DUMPBIN -symbols -headers"6062 ;;6063 *)6064 DUMPBIN=:6065 ;;6066 esac6067 fi6068 6069 if test : != "$DUMPBIN"; then6070 NM=$DUMPBIN6071 fi6072 fi6073 test -z "$NM" && NM=nm6074 6075 6076 6077 6078 6079 6080 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&56081 $as_echo_n "checking the name lister ($NM) interface... " >&6; }6082 if ${lt_cv_nm_interface+:} false; then :6083 $as_echo_n "(cached) " >&66084 else6085 lt_cv_nm_interface="BSD nm"6086 echo "int some_variable = 0;" > conftest.$ac_ext6087 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)6088 (eval "$ac_compile" 2>conftest.err)6089 cat conftest.err >&56090 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)6091 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)6092 cat conftest.err >&56093 (eval echo "\"\$as_me:$LINENO: output\"" >&5)6094 cat conftest.out >&56095 if $GREP 'External.*some_variable' conftest.out > /dev/null; then6096 lt_cv_nm_interface="MS dumpbin"6097 fi6098 rm -f conftest*6099 fi6100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&56101 $as_echo "$lt_cv_nm_interface" >&6; }6102 6103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&56104 $as_echo_n "checking whether ln -s works... " >&6; }6105 LN_S=$as_ln_s6106 if test "$LN_S" = "ln -s"; then6107 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&56108 $as_echo "yes" >&6; }6109 else6110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&56111 $as_echo "no, using $LN_S" >&6; }6112 fi6113 6114 # find the maximum length of command line arguments6115 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&56116 $as_echo_n "checking the maximum length of command line arguments... " >&6; }6117 if ${lt_cv_sys_max_cmd_len+:} false; then :6118 $as_echo_n "(cached) " >&66119 else6120 i=06121 teststring=ABCD6122 6123 case $build_os in6124 msdosdjgpp*)6125 # On DJGPP, this test can blow up pretty badly due to problems in libc6126 # (any single argument exceeding 2000 bytes causes a buffer overrun6127 # during glob expansion). Even if it were fixed, the result of this6128 # check would be larger than it should be.6129 lt_cv_sys_max_cmd_len=12288; # 12K is about right6130 ;;6131 6132 gnu*)6133 # Under GNU Hurd, this test is not required because there is6134 # no limit to the length of command line arguments.6135 # Libtool will interpret -1 as no limit whatsoever6136 lt_cv_sys_max_cmd_len=-1;6137 ;;6138 6139 cygwin* | mingw* | cegcc*)6140 # On Win9x/ME, this test blows up -- it succeeds, but takes6141 # about 5 minutes as the teststring grows exponentially.6142 # Worse, since 9x/ME are not pre-emptively multitasking,6143 # you end up with a "frozen" computer, even though with patience6144 # the test eventually succeeds (with a max line length of 256k).6145 # Instead, let's just punt: use the minimum linelength reported by6146 # all of the supported platforms: 8192 (on NT/2K/XP).6147 lt_cv_sys_max_cmd_len=8192;6148 ;;6149 6150 mint*)6151 # On MiNT this can take a long time and run out of memory.6152 lt_cv_sys_max_cmd_len=8192;6153 ;;6154 6155 amigaos*)6156 # On AmigaOS with pdksh, this test takes hours, literally.6157 # So we just punt and use a minimum line length of 8192.6158 lt_cv_sys_max_cmd_len=8192;6159 ;;6160 6161 bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)6162 # This has been around since 386BSD, at least. Likely further.6163 if test -x /sbin/sysctl; then6164 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`6165 elif test -x /usr/sbin/sysctl; then6166 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`6167 else6168 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs6169 fi6170 # And add a safety zone6171 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`6172 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`6173 ;;6174 6175 interix*)6176 # We know the value 262144 and hardcode it with a safety zone (like BSD)6177 lt_cv_sys_max_cmd_len=1966086178 ;;6179 6180 os2*)6181 # The test takes a long time on OS/2.6182 lt_cv_sys_max_cmd_len=81926183 ;;6184 6185 osf*)6186 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure6187 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not6188 # nice to cause kernel panics so lets avoid the loop below.6189 # First set a reasonable default.6190 lt_cv_sys_max_cmd_len=163846191 #6192 if test -x /sbin/sysconfig; then6193 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in6194 *1*) lt_cv_sys_max_cmd_len=-1 ;;6195 esac6196 fi6197 ;;6198 sco3.2v5*)6199 lt_cv_sys_max_cmd_len=1024006200 ;;6201 sysv5* | sco5v6* | sysv4.2uw2*)6202 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`6203 if test -n "$kargmax"; then6204 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`6205 else6206 lt_cv_sys_max_cmd_len=327686207 fi6208 ;;6209 *)6210 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`6211 if test -n "$lt_cv_sys_max_cmd_len" && \6212 test undefined != "$lt_cv_sys_max_cmd_len"; then6213 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`6214 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`6215 else6216 # Make teststring a little bigger before we do anything with it.6217 # a 1K string should be a reasonable start.6218 for i in 1 2 3 4 5 6 7 8; do6219 teststring=$teststring$teststring6220 done6221 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}6222 # If test is not a shell built-in, we'll probably end up computing a6223 # maximum length that is only half of the actual maximum length, but6224 # we can't tell.6225 while { test X`env echo "$teststring$teststring" 2>/dev/null` \6226 = "X$teststring$teststring"; } >/dev/null 2>&1 &&6227 test 17 != "$i" # 1/2 MB should be enough6228 do6229 i=`expr $i + 1`6230 teststring=$teststring$teststring6231 done6232 # Only check the string length outside the loop.6233 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`6234 teststring=6235 # Add a significant safety factor because C++ compilers can tack on6236 # massive amounts of additional arguments before passing them to the6237 # linker. It appears as though 1/2 is a usable value.6238 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`6239 fi6240 ;;6241 esac6242 6243 fi6244 6245 if test -n "$lt_cv_sys_max_cmd_len"; then6246 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&56247 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }6248 else6249 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&56250 $as_echo "none" >&6; }6251 fi6252 max_cmd_len=$lt_cv_sys_max_cmd_len6253 6254 6255 6256 6257 6258 6259 : ${CP="cp -f"}6260 : ${MV="mv -f"}6261 : ${RM="rm -f"}6262 6263 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then6264 lt_unset=unset6265 else6266 lt_unset=false6267 fi6268 6269 6270 6271 6272 6273 # test EBCDIC or ASCII6274 case `echo X|tr X '\101'` in6275 A) # ASCII based system6276 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr6277 lt_SP2NL='tr \040 \012'6278 lt_NL2SP='tr \015\012 \040\040'6279 ;;6280 *) # EBCDIC based system6281 lt_SP2NL='tr \100 \n'6282 lt_NL2SP='tr \r\n \100\100'6283 ;;6284 esac6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&56295 $as_echo_n "checking how to convert $build file names to $host format... " >&6; }6296 if ${lt_cv_to_host_file_cmd+:} false; then :6297 $as_echo_n "(cached) " >&66298 else6299 case $host in6300 *-*-mingw* )6301 case $build in6302 *-*-mingw* ) # actually msys6303 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w326304 ;;6305 *-*-cygwin* )6306 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w326307 ;;6308 * ) # otherwise, assume *nix6309 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w326310 ;;6311 esac6312 ;;6313 *-*-cygwin* )6314 case $build in6315 *-*-mingw* ) # actually msys6316 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin6317 ;;6318 *-*-cygwin* )6319 lt_cv_to_host_file_cmd=func_convert_file_noop6320 ;;6321 * ) # otherwise, assume *nix6322 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin6323 ;;6324 esac6325 ;;6326 * ) # unhandled hosts (and "normal" native builds)6327 lt_cv_to_host_file_cmd=func_convert_file_noop6328 ;;6329 esac6330 6331 fi6332 6333 to_host_file_cmd=$lt_cv_to_host_file_cmd6334 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&56335 $as_echo "$lt_cv_to_host_file_cmd" >&6; }6336 6337 6338 6339 6340 6341 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&56342 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }6343 if ${lt_cv_to_tool_file_cmd+:} false; then :6344 $as_echo_n "(cached) " >&66345 else6346 #assume ordinary cross tools, or native build.6347 lt_cv_to_tool_file_cmd=func_convert_file_noop6348 case $host in6349 *-*-mingw* )6350 case $build in6351 *-*-mingw* ) # actually msys6352 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w326353 ;;6354 esac6355 ;;6356 esac6357 6358 fi6359 6360 to_tool_file_cmd=$lt_cv_to_tool_file_cmd6361 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&56362 $as_echo "$lt_cv_to_tool_file_cmd" >&6; }6363 6364 6365 6366 6367 6368 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&56369 $as_echo_n "checking for $LD option to reload object files... " >&6; }6370 if ${lt_cv_ld_reload_flag+:} false; then :6371 $as_echo_n "(cached) " >&66372 else6373 lt_cv_ld_reload_flag='-r'6374 fi6375 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&56376 $as_echo "$lt_cv_ld_reload_flag" >&6; }6377 reload_flag=$lt_cv_ld_reload_flag6378 case $reload_flag in6379 "" | " "*) ;;6380 *) reload_flag=" $reload_flag" ;;6381 esac6382 reload_cmds='$LD$reload_flag -o $output$reload_objs'6383 case $host_os in6384 cygwin* | mingw* | pw32* | cegcc*)6385 if test yes != "$GCC"; then6386 reload_cmds=false6387 fi6388 ;;6389 darwin*)6390 if test yes = "$GCC"; then6391 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'6392 else6393 reload_cmds='$LD$reload_flag -o $output$reload_objs'6394 fi6395 ;;6396 esac6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 if test -n "$ac_tool_prefix"; then6407 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.6408 set dummy ${ac_tool_prefix}objdump; ac_word=$26409 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56410 $as_echo_n "checking for $ac_word... " >&6; }6411 if ${ac_cv_prog_OBJDUMP+:} false; then :6412 $as_echo_n "(cached) " >&66413 else6414 if test -n "$OBJDUMP"; then6415 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.6416 else6417 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6418 for as_dir in $PATH6419 do6420 IFS=$as_save_IFS6421 test -z "$as_dir" && as_dir=.6422 for ac_exec_ext in '' $ac_executable_extensions; do6423 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6424 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"6425 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56426 break 26427 fi6428 done6429 done6430 IFS=$as_save_IFS6431 6432 fi6433 fi6434 OBJDUMP=$ac_cv_prog_OBJDUMP6435 if test -n "$OBJDUMP"; then6436 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&56437 $as_echo "$OBJDUMP" >&6; }6438 else6439 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56440 $as_echo "no" >&6; }6441 fi6442 6443 6444 fi6445 if test -z "$ac_cv_prog_OBJDUMP"; then6446 ac_ct_OBJDUMP=$OBJDUMP6447 # Extract the first word of "objdump", so it can be a program name with args.6448 set dummy objdump; ac_word=$26449 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56450 $as_echo_n "checking for $ac_word... " >&6; }6451 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :6452 $as_echo_n "(cached) " >&66453 else6454 if test -n "$ac_ct_OBJDUMP"; then6455 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.6456 else6457 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6458 for as_dir in $PATH6459 do6460 IFS=$as_save_IFS6461 test -z "$as_dir" && as_dir=.6462 for ac_exec_ext in '' $ac_executable_extensions; do6463 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6464 ac_cv_prog_ac_ct_OBJDUMP="objdump"6465 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56466 break 26467 fi6468 done6469 done6470 IFS=$as_save_IFS6471 6472 fi6473 fi6474 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP6475 if test -n "$ac_ct_OBJDUMP"; then6476 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&56477 $as_echo "$ac_ct_OBJDUMP" >&6; }6478 else6479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56480 $as_echo "no" >&6; }6481 fi6482 6483 if test "x$ac_ct_OBJDUMP" = x; then6484 OBJDUMP="false"6485 else6486 case $cross_compiling:$ac_tool_warned in6487 yes:)6488 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56489 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6490 ac_tool_warned=yes ;;6491 esac6492 OBJDUMP=$ac_ct_OBJDUMP6493 fi6494 else6495 OBJDUMP="$ac_cv_prog_OBJDUMP"6496 fi6497 6498 test -z "$OBJDUMP" && OBJDUMP=objdump6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&56509 $as_echo_n "checking how to recognize dependent libraries... " >&6; }6510 if ${lt_cv_deplibs_check_method+:} false; then :6511 $as_echo_n "(cached) " >&66512 else6513 lt_cv_file_magic_cmd='$MAGIC_CMD'6514 lt_cv_file_magic_test_file=6515 lt_cv_deplibs_check_method='unknown'6516 # Need to set the preceding variable on all platforms that support6517 # interlibrary dependencies.6518 # 'none' -- dependencies not supported.6519 # 'unknown' -- same as none, but documents that we really don't know.6520 # 'pass_all' -- all dependencies passed with no checks.6521 # 'test_compile' -- check by making test program.6522 # 'file_magic [[regex]]' -- check by looking for files in library path6523 # that responds to the $file_magic_cmd with a given extended regex.6524 # If you have 'file' or equivalent on your system and you're not sure6525 # whether 'pass_all' will *always* work, you probably want this one.6526 6527 case $host_os in6528 aix[4-9]*)6529 lt_cv_deplibs_check_method=pass_all6530 ;;6531 6532 beos*)6533 lt_cv_deplibs_check_method=pass_all6534 ;;6535 6536 bsdi[45]*)6537 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'6538 lt_cv_file_magic_cmd='/usr/bin/file -L'6539 lt_cv_file_magic_test_file=/shlib/libc.so6540 ;;6541 6542 cygwin*)6543 # func_win32_libid is a shell function defined in ltmain.sh6544 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'6545 lt_cv_file_magic_cmd='func_win32_libid'6546 ;;6547 6548 mingw* | pw32*)6549 # Base MSYS/MinGW do not provide the 'file' command needed by6550 # func_win32_libid shell function, so use a weaker test based on 'objdump',6551 # unless we find 'file', for example because we are cross-compiling.6552 if ( file / ) >/dev/null 2>&1; then6553 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'6554 lt_cv_file_magic_cmd='func_win32_libid'6555 else6556 # Keep this pattern in sync with the one in func_win32_libid.6557 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'6558 lt_cv_file_magic_cmd='$OBJDUMP -f'6559 fi6560 ;;6561 6562 cegcc*)6563 # use the weaker test based on 'objdump'. See mingw*.6564 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'6565 lt_cv_file_magic_cmd='$OBJDUMP -f'6566 ;;6567 6568 darwin* | rhapsody*)6569 lt_cv_deplibs_check_method=pass_all6570 ;;6571 6572 freebsd* | dragonfly*)6573 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then6574 case $host_cpu in6575 i*86 )6576 # Not sure whether the presence of OpenBSD here was a mistake.6577 # Let's accept both of them until this is cleared up.6578 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'6579 lt_cv_file_magic_cmd=/usr/bin/file6580 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`6581 ;;6582 esac6583 else6584 lt_cv_deplibs_check_method=pass_all6585 fi6586 ;;6587 6588 haiku*)6589 lt_cv_deplibs_check_method=pass_all6590 ;;6591 6592 hpux10.20* | hpux11*)6593 lt_cv_file_magic_cmd=/usr/bin/file6594 case $host_cpu in6595 ia64*)6596 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'6597 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so6598 ;;6599 hppa*64*)6600 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'6601 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl6602 ;;6603 *)6604 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'6605 lt_cv_file_magic_test_file=/usr/lib/libc.sl6606 ;;6607 esac6608 ;;6609 6610 interix[3-9]*)6611 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here6612 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'6613 ;;6614 6615 irix5* | irix6* | nonstopux*)6616 case $LD in6617 *-32|*"-32 ") libmagic=32-bit;;6618 *-n32|*"-n32 ") libmagic=N32;;6619 *-64|*"-64 ") libmagic=64-bit;;6620 *) libmagic=never-match;;6621 esac6622 lt_cv_deplibs_check_method=pass_all6623 ;;6624 6625 # This must be glibc/ELF.6626 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)6627 lt_cv_deplibs_check_method=pass_all6628 ;;6629 6630 netbsd* | netbsdelf*-gnu)6631 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then6632 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'6633 else6634 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'6635 fi6636 ;;6637 6638 newos6*)6639 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'6640 lt_cv_file_magic_cmd=/usr/bin/file6641 lt_cv_file_magic_test_file=/usr/lib/libnls.so6642 ;;6643 6644 *nto* | *qnx*)6645 lt_cv_deplibs_check_method=pass_all6646 ;;6647 6648 openbsd* | bitrig*)6649 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then6650 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'6651 else6652 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'6653 fi6654 ;;6655 6656 osf3* | osf4* | osf5*)6657 lt_cv_deplibs_check_method=pass_all6658 ;;6659 6660 rdos*)6661 lt_cv_deplibs_check_method=pass_all6662 ;;6663 6664 solaris*)6665 lt_cv_deplibs_check_method=pass_all6666 ;;6667 6668 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)6669 lt_cv_deplibs_check_method=pass_all6670 ;;6671 6672 sysv4 | sysv4.3*)6673 case $host_vendor in6674 motorola)6675 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'6676 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`6677 ;;6678 ncr)6679 lt_cv_deplibs_check_method=pass_all6680 ;;6681 sequent)6682 lt_cv_file_magic_cmd='/bin/file'6683 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'6684 ;;6685 sni)6686 lt_cv_file_magic_cmd='/bin/file'6687 lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"6688 lt_cv_file_magic_test_file=/lib/libc.so6689 ;;6690 siemens)6691 lt_cv_deplibs_check_method=pass_all6692 ;;6693 pc)6694 lt_cv_deplibs_check_method=pass_all6695 ;;6696 esac6697 ;;6698 6699 tpf*)6700 lt_cv_deplibs_check_method=pass_all6701 ;;6702 os2*)6703 lt_cv_deplibs_check_method=pass_all6704 ;;6705 esac6706 6707 fi6708 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&56709 $as_echo "$lt_cv_deplibs_check_method" >&6; }6710 6711 file_magic_glob=6712 want_nocaseglob=no6713 if test "$build" = "$host"; then6714 case $host_os in6715 mingw* | pw32*)6716 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then6717 want_nocaseglob=yes6718 else6719 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`6720 fi6721 ;;6722 esac6723 fi6724 6725 file_magic_cmd=$lt_cv_file_magic_cmd6726 deplibs_check_method=$lt_cv_deplibs_check_method6727 test -z "$deplibs_check_method" && deplibs_check_method=unknown6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 if test -n "$ac_tool_prefix"; then6751 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.6752 set dummy ${ac_tool_prefix}dlltool; ac_word=$26753 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56754 $as_echo_n "checking for $ac_word... " >&6; }6755 if ${ac_cv_prog_DLLTOOL+:} false; then :6756 $as_echo_n "(cached) " >&66757 else6758 if test -n "$DLLTOOL"; then6759 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.6760 else6761 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6762 for as_dir in $PATH6763 do6764 IFS=$as_save_IFS6765 test -z "$as_dir" && as_dir=.6766 for ac_exec_ext in '' $ac_executable_extensions; do6767 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6768 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"6769 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56770 break 26771 fi6772 done6773 done6774 IFS=$as_save_IFS6775 6776 fi6777 fi6778 DLLTOOL=$ac_cv_prog_DLLTOOL6779 if test -n "$DLLTOOL"; then6780 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&56781 $as_echo "$DLLTOOL" >&6; }6782 else6783 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56784 $as_echo "no" >&6; }6785 fi6786 6787 6788 fi6789 if test -z "$ac_cv_prog_DLLTOOL"; then6790 ac_ct_DLLTOOL=$DLLTOOL6791 # Extract the first word of "dlltool", so it can be a program name with args.6792 set dummy dlltool; ac_word=$26793 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56794 $as_echo_n "checking for $ac_word... " >&6; }6795 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :6796 $as_echo_n "(cached) " >&66797 else6798 if test -n "$ac_ct_DLLTOOL"; then6799 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.6800 else6801 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6802 for as_dir in $PATH6803 do6804 IFS=$as_save_IFS6805 test -z "$as_dir" && as_dir=.6806 for ac_exec_ext in '' $ac_executable_extensions; do6807 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6808 ac_cv_prog_ac_ct_DLLTOOL="dlltool"6809 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56810 break 26811 fi6812 done6813 done6814 IFS=$as_save_IFS6815 6816 fi6817 fi6818 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL6819 if test -n "$ac_ct_DLLTOOL"; then6820 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&56821 $as_echo "$ac_ct_DLLTOOL" >&6; }6822 else6823 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56824 $as_echo "no" >&6; }6825 fi6826 6827 if test "x$ac_ct_DLLTOOL" = x; then6828 DLLTOOL="false"6829 else6830 case $cross_compiling:$ac_tool_warned in6831 yes:)6832 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56833 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6834 ac_tool_warned=yes ;;6835 esac6836 DLLTOOL=$ac_ct_DLLTOOL6837 fi6838 else6839 DLLTOOL="$ac_cv_prog_DLLTOOL"6840 fi6841 6842 test -z "$DLLTOOL" && DLLTOOL=dlltool6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&56854 $as_echo_n "checking how to associate runtime and link libraries... " >&6; }6855 if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :6856 $as_echo_n "(cached) " >&66857 else6858 lt_cv_sharedlib_from_linklib_cmd='unknown'6859 6860 case $host_os in6861 cygwin* | mingw* | pw32* | cegcc*)6862 # two different shell functions defined in ltmain.sh;6863 # decide which one to use based on capabilities of $DLLTOOL6864 case `$DLLTOOL --help 2>&1` in6865 *--identify-strict*)6866 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib6867 ;;6868 *)6869 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback6870 ;;6871 esac6872 ;;6873 *)6874 # fallback: assume linklib IS sharedlib6875 lt_cv_sharedlib_from_linklib_cmd=$ECHO6876 ;;6877 esac6878 6879 fi6880 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&56881 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }6882 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd6883 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO6884 6885 6886 6887 6888 6889 6890 6891 if test -n "$ac_tool_prefix"; then6892 for ac_prog in ar6893 do6894 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.6895 set dummy $ac_tool_prefix$ac_prog; ac_word=$26896 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56897 $as_echo_n "checking for $ac_word... " >&6; }6898 if ${ac_cv_prog_AR+:} false; then :6899 $as_echo_n "(cached) " >&66900 else6901 if test -n "$AR"; then6902 ac_cv_prog_AR="$AR" # Let the user override the test.6903 else6904 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6905 for as_dir in $PATH6906 do6907 IFS=$as_save_IFS6908 test -z "$as_dir" && as_dir=.6909 for ac_exec_ext in '' $ac_executable_extensions; do6910 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6911 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"6912 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56913 break 26914 fi6915 done6916 done6917 IFS=$as_save_IFS6918 6919 fi6920 fi6921 AR=$ac_cv_prog_AR6922 if test -n "$AR"; then6923 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&56924 $as_echo "$AR" >&6; }6925 else6926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56927 $as_echo "no" >&6; }6928 fi6929 6930 6931 test -n "$AR" && break6932 done6933 fi6934 if test -z "$AR"; then6935 ac_ct_AR=$AR6936 for ac_prog in ar6937 do6938 # Extract the first word of "$ac_prog", so it can be a program name with args.6939 set dummy $ac_prog; ac_word=$26940 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56941 $as_echo_n "checking for $ac_word... " >&6; }6942 if ${ac_cv_prog_ac_ct_AR+:} false; then :6943 $as_echo_n "(cached) " >&66944 else6945 if test -n "$ac_ct_AR"; then6946 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.6947 else6948 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6949 for as_dir in $PATH6950 do6951 IFS=$as_save_IFS6952 test -z "$as_dir" && as_dir=.6953 for ac_exec_ext in '' $ac_executable_extensions; do6954 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6955 ac_cv_prog_ac_ct_AR="$ac_prog"6956 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56957 break 26958 fi6959 done6960 done6961 IFS=$as_save_IFS6962 6963 fi6964 fi6965 ac_ct_AR=$ac_cv_prog_ac_ct_AR6966 if test -n "$ac_ct_AR"; then6967 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&56968 $as_echo "$ac_ct_AR" >&6; }6969 else6970 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56971 $as_echo "no" >&6; }6972 fi6973 6974 6975 test -n "$ac_ct_AR" && break6976 done6977 6978 if test "x$ac_ct_AR" = x; then6979 AR="false"6980 else6981 case $cross_compiling:$ac_tool_warned in6982 yes:)6983 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56984 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6985 ac_tool_warned=yes ;;6986 esac6987 AR=$ac_ct_AR6988 fi6989 fi6990 6991 : ${AR=ar}6992 : ${AR_FLAGS=cru}6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&57005 $as_echo_n "checking for archiver @FILE support... " >&6; }7006 if ${lt_cv_ar_at_file+:} false; then :7007 $as_echo_n "(cached) " >&67008 else7009 lt_cv_ar_at_file=no7010 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7011 /* end confdefs.h. */7012 7013 int7014 main ()7015 {7016 7017 ;7018 return 0;7019 }7020 _ACEOF7021 if ac_fn_c_try_compile "$LINENO"; then :7022 echo conftest.$ac_objext > conftest.lst7023 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'7024 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&57025 (eval $lt_ar_try) 2>&57026 ac_status=$?7027 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57028 test $ac_status = 0; }7029 if test 0 -eq "$ac_status"; then7030 # Ensure the archiver fails upon bogus file names.7031 rm -f conftest.$ac_objext libconftest.a7032 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&57033 (eval $lt_ar_try) 2>&57034 ac_status=$?7035 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57036 test $ac_status = 0; }7037 if test 0 -ne "$ac_status"; then7038 lt_cv_ar_at_file=@7039 fi7040 fi7041 rm -f conftest.* libconftest.a7042 7043 fi7044 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext7045 7046 fi7047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&57048 $as_echo "$lt_cv_ar_at_file" >&6; }7049 7050 if test no = "$lt_cv_ar_at_file"; then7051 archiver_list_spec=7052 else7053 archiver_list_spec=$lt_cv_ar_at_file7054 fi7055 7056 7057 7058 7059 7060 7061 7062 if test -n "$ac_tool_prefix"; then7063 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.7064 set dummy ${ac_tool_prefix}strip; ac_word=$27065 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57066 $as_echo_n "checking for $ac_word... " >&6; }7067 if ${ac_cv_prog_STRIP+:} false; then :7068 $as_echo_n "(cached) " >&67069 else7070 if test -n "$STRIP"; then7071 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.7072 else7073 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7074 for as_dir in $PATH7075 do7076 IFS=$as_save_IFS7077 test -z "$as_dir" && as_dir=.7078 for ac_exec_ext in '' $ac_executable_extensions; do7079 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7080 ac_cv_prog_STRIP="${ac_tool_prefix}strip"7081 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57082 break 27083 fi7084 done7085 done7086 IFS=$as_save_IFS7087 7088 fi7089 fi7090 STRIP=$ac_cv_prog_STRIP7091 if test -n "$STRIP"; then7092 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&57093 $as_echo "$STRIP" >&6; }7094 else7095 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57096 $as_echo "no" >&6; }7097 fi7098 7099 7100 fi7101 if test -z "$ac_cv_prog_STRIP"; then7102 ac_ct_STRIP=$STRIP7103 # Extract the first word of "strip", so it can be a program name with args.7104 set dummy strip; ac_word=$27105 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57106 $as_echo_n "checking for $ac_word... " >&6; }7107 if ${ac_cv_prog_ac_ct_STRIP+:} false; then :7108 $as_echo_n "(cached) " >&67109 else7110 if test -n "$ac_ct_STRIP"; then7111 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.7112 else7113 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7114 for as_dir in $PATH7115 do7116 IFS=$as_save_IFS7117 test -z "$as_dir" && as_dir=.7118 for ac_exec_ext in '' $ac_executable_extensions; do7119 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7120 ac_cv_prog_ac_ct_STRIP="strip"7121 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57122 break 27123 fi7124 done7125 done7126 IFS=$as_save_IFS7127 7128 fi7129 fi7130 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP7131 if test -n "$ac_ct_STRIP"; then7132 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&57133 $as_echo "$ac_ct_STRIP" >&6; }7134 else7135 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57136 $as_echo "no" >&6; }7137 fi7138 7139 if test "x$ac_ct_STRIP" = x; then7140 STRIP=":"7141 else7142 case $cross_compiling:$ac_tool_warned in7143 yes:)7144 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57145 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7146 ac_tool_warned=yes ;;7147 esac7148 STRIP=$ac_ct_STRIP7149 fi7150 else7151 STRIP="$ac_cv_prog_STRIP"7152 fi7153 7154 test -z "$STRIP" && STRIP=:7155 7156 7157 7158 7159 7160 7161 if test -n "$ac_tool_prefix"; then7162 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.7163 set dummy ${ac_tool_prefix}ranlib; ac_word=$27164 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57165 $as_echo_n "checking for $ac_word... " >&6; }7166 if ${ac_cv_prog_RANLIB+:} false; then :7167 $as_echo_n "(cached) " >&67168 else7169 if test -n "$RANLIB"; then7170 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.7171 else7172 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7173 for as_dir in $PATH7174 do7175 IFS=$as_save_IFS7176 test -z "$as_dir" && as_dir=.7177 for ac_exec_ext in '' $ac_executable_extensions; do7178 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7179 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"7180 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57181 break 27182 fi7183 done7184 done7185 IFS=$as_save_IFS7186 7187 fi7188 fi7189 RANLIB=$ac_cv_prog_RANLIB7190 if test -n "$RANLIB"; then7191 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&57192 $as_echo "$RANLIB" >&6; }7193 else7194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57195 $as_echo "no" >&6; }7196 fi7197 7198 7199 fi7200 if test -z "$ac_cv_prog_RANLIB"; then7201 ac_ct_RANLIB=$RANLIB7202 # Extract the first word of "ranlib", so it can be a program name with args.7203 set dummy ranlib; ac_word=$27204 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57205 $as_echo_n "checking for $ac_word... " >&6; }7206 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :7207 $as_echo_n "(cached) " >&67208 else7209 if test -n "$ac_ct_RANLIB"; then7210 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.7211 else7212 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7213 for as_dir in $PATH7214 do7215 IFS=$as_save_IFS7216 test -z "$as_dir" && as_dir=.7217 for ac_exec_ext in '' $ac_executable_extensions; do7218 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7219 ac_cv_prog_ac_ct_RANLIB="ranlib"7220 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57221 break 27222 fi7223 done7224 done7225 IFS=$as_save_IFS7226 7227 fi7228 fi7229 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB7230 if test -n "$ac_ct_RANLIB"; then7231 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&57232 $as_echo "$ac_ct_RANLIB" >&6; }7233 else7234 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57235 $as_echo "no" >&6; }7236 fi7237 7238 if test "x$ac_ct_RANLIB" = x; then7239 RANLIB=":"7240 else7241 case $cross_compiling:$ac_tool_warned in7242 yes:)7243 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57244 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7245 ac_tool_warned=yes ;;7246 esac7247 RANLIB=$ac_ct_RANLIB7248 fi7249 else7250 RANLIB="$ac_cv_prog_RANLIB"7251 fi7252 7253 test -z "$RANLIB" && RANLIB=:7254 7255 7256 7257 7258 7259 7260 # Determine commands to create old-style static archives.7261 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'7262 old_postinstall_cmds='chmod 644 $oldlib'7263 old_postuninstall_cmds=7264 7265 if test -n "$RANLIB"; then7266 case $host_os in7267 bitrig* | openbsd*)7268 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"7269 ;;7270 *)7271 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"7272 ;;7273 esac7274 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"7275 fi7276 7277 case $host_os in7278 darwin*)7279 lock_old_archive_extraction=yes ;;7280 *)7281 lock_old_archive_extraction=no ;;7282 esac7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 # If no C compiler was specified, use CC.7323 LTCC=${LTCC-"$CC"}7324 7325 # If no C compiler flags were specified, use CFLAGS.7326 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}7327 7328 # Allow CC to be a program name with arguments.7329 compiler=$CC7330 7331 7332 # Check for command to grab the raw symbol name followed by C symbol from nm.7333 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&57334 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }7335 if ${lt_cv_sys_global_symbol_pipe+:} false; then :7336 $as_echo_n "(cached) " >&67337 else7338 7339 # These are sane defaults that work on at least a few old systems.7340 # [They come from Ultrix. What could be older than Ultrix?!! ;)]7341 7342 # Character class describing NM global symbol codes.7343 symcode='[BCDEGRST]'7344 7345 # Regexp to match symbols that can be accessed directly from C.7346 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'7347 7348 # Define system-specific variables.7349 case $host_os in7350 aix*)7351 symcode='[BCDT]'7352 ;;7353 cygwin* | mingw* | pw32* | cegcc*)7354 symcode='[ABCDGISTW]'7355 ;;7356 hpux*)7357 if test ia64 = "$host_cpu"; then7358 symcode='[ABCDEGRST]'7359 fi7360 ;;7361 irix* | nonstopux*)7362 symcode='[BCDEGRST]'7363 ;;7364 osf*)7365 symcode='[BCDEGQRST]'7366 ;;7367 solaris*)7368 symcode='[BDRT]'7369 ;;7370 sco3.2v5*)7371 symcode='[DT]'7372 ;;7373 sysv4.2uw2*)7374 symcode='[DT]'7375 ;;7376 sysv5* | sco5v6* | unixware* | OpenUNIX*)7377 symcode='[ABDT]'7378 ;;7379 sysv4)7380 symcode='[DFNSTU]'7381 ;;7382 esac7383 7384 # If we're using GNU nm, then use its standard symbol codes.7385 case `$NM -V 2>&1` in7386 *GNU* | *'with BFD'*)7387 symcode='[ABCDGIRSTW]' ;;7388 esac7389 7390 if test "$lt_cv_nm_interface" = "MS dumpbin"; then7391 # Gets list of data symbols to import.7392 lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"7393 # Adjust the below global symbol transforms to fixup imported variables.7394 lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"7395 lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"7396 lt_c_name_lib_hook="\7397 -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\7398 -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"7399 else7400 # Disable hooks by default.7401 lt_cv_sys_global_symbol_to_import=7402 lt_cdecl_hook=7403 lt_c_name_hook=7404 lt_c_name_lib_hook=7405 fi7406 7407 # Transform an extracted symbol line into a proper C declaration.7408 # Some systems (esp. on ia64) link data and code symbols differently,7409 # so use this general approach.7410 lt_cv_sys_global_symbol_to_cdecl="sed -n"\7411 $lt_cdecl_hook\7412 " -e 's/^T .* \(.*\)$/extern int \1();/p'"\7413 " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"7414 7415 # Transform an extracted symbol line into symbol name and symbol address7416 lt_cv_sys_global_symbol_to_c_name_address="sed -n"\7417 $lt_c_name_hook\7418 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\7419 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"7420 7421 # Transform an extracted symbol line into symbol name with lib prefix and7422 # symbol address.7423 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\7424 $lt_c_name_lib_hook\7425 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\7426 " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\7427 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"7428 7429 # Handle CRLF in mingw tool chain7430 opt_cr=7431 case $build_os in7432 mingw*)7433 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp7434 ;;7435 esac7436 7437 # Try without a prefix underscore, then with it.7438 for ac_symprfx in "" "_"; do7439 7440 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.7441 symxfrm="\\1 $ac_symprfx\\2 \\2"7442 7443 # Write the raw and C identifiers.7444 if test "$lt_cv_nm_interface" = "MS dumpbin"; then7445 # Fake it for dumpbin and say T for any non-static function,7446 # D for any global variable and I for any imported variable.7447 # Also find C++ and __fastcall symbols from MSVC++,7448 # which start with @ or ?.7449 lt_cv_sys_global_symbol_pipe="$AWK '"\7450 " {last_section=section; section=\$ 3};"\7451 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\7452 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\7453 " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\7454 " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\7455 " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\7456 " \$ 0!~/External *\|/{next};"\7457 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\7458 " {if(hide[section]) next};"\7459 " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\7460 " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\7461 " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\7462 " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\7463 " ' prfx=^$ac_symprfx"7464 else7465 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"7466 fi7467 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"7468 7469 # Check to see that the pipe works correctly.7470 pipe_works=no7471 7472 rm -f conftest*7473 cat > conftest.$ac_ext <<_LT_EOF7474 #ifdef __cplusplus7475 extern "C" {7476 #endif7477 char nm_test_var;7478 void nm_test_func(void);7479 void nm_test_func(void){}7480 #ifdef __cplusplus7481 }7482 #endif7483 int main(){nm_test_var='a';nm_test_func();return(0);}7484 _LT_EOF7485 7486 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57487 (eval $ac_compile) 2>&57488 ac_status=$?7489 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57490 test $ac_status = 0; }; then7491 # Now try to grab the symbols.7492 nlist=conftest.nm7493 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&57494 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&57495 ac_status=$?7496 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57497 test $ac_status = 0; } && test -s "$nlist"; then7498 # Try sorting and uniquifying the output.7499 if sort "$nlist" | uniq > "$nlist"T; then7500 mv -f "$nlist"T "$nlist"7501 else7502 rm -f "$nlist"T7503 fi7504 7505 # Make sure that we snagged all the symbols we need.7506 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then7507 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then7508 cat <<_LT_EOF > conftest.$ac_ext7509 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */7510 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE7511 /* DATA imports from DLLs on WIN32 can't be const, because runtime7512 relocations are performed -- see ld's documentation on pseudo-relocs. */7513 # define LT_DLSYM_CONST7514 #elif defined __osf__7515 /* This system does not cope well with relocations in const data. */7516 # define LT_DLSYM_CONST7517 #else7518 # define LT_DLSYM_CONST const7519 #endif7520 7521 #ifdef __cplusplus7522 extern "C" {7523 #endif7524 7525 _LT_EOF7526 # Now generate the symbol file.7527 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'7528 7529 cat <<_LT_EOF >> conftest.$ac_ext7530 7531 /* The mapping between symbol names and symbols. */7532 LT_DLSYM_CONST struct {7533 const char *name;7534 void *address;7535 }7536 lt__PROGRAM__LTX_preloaded_symbols[] =7537 {7538 { "@PROGRAM@", (void *) 0 },7539 _LT_EOF7540 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext7541 cat <<\_LT_EOF >> conftest.$ac_ext7542 {0, (void *) 0}7543 };7544 7545 /* This works around a problem in FreeBSD linker */7546 #ifdef FREEBSD_WORKAROUND7547 static const void *lt_preloaded_setup() {7548 return lt__PROGRAM__LTX_preloaded_symbols;7549 }7550 #endif7551 7552 #ifdef __cplusplus7553 }7554 #endif7555 _LT_EOF7556 # Now try linking the two files.7557 mv conftest.$ac_objext conftstm.$ac_objext7558 lt_globsym_save_LIBS=$LIBS7559 lt_globsym_save_CFLAGS=$CFLAGS7560 LIBS=conftstm.$ac_objext7561 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"7562 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&57563 (eval $ac_link) 2>&57564 ac_status=$?7565 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57566 test $ac_status = 0; } && test -s conftest$ac_exeext; then7567 pipe_works=yes7568 fi7569 LIBS=$lt_globsym_save_LIBS7570 CFLAGS=$lt_globsym_save_CFLAGS7571 else7572 echo "cannot find nm_test_func in $nlist" >&57573 fi7574 else7575 echo "cannot find nm_test_var in $nlist" >&57576 fi7577 else7578 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&57579 fi7580 else7581 echo "$progname: failed program was:" >&57582 cat conftest.$ac_ext >&57583 fi7584 rm -rf conftest* conftst*7585 7586 # Do not use the global_symbol_pipe unless it works.7587 if test yes = "$pipe_works"; then7588 break7589 else7590 lt_cv_sys_global_symbol_pipe=7591 fi7592 done7593 7594 fi7595 7596 if test -z "$lt_cv_sys_global_symbol_pipe"; then7597 lt_cv_sys_global_symbol_to_cdecl=7598 fi7599 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then7600 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&57601 $as_echo "failed" >&6; }7602 else7603 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&57604 $as_echo "ok" >&6; }7605 fi7606 7607 # Response file support.7608 if test "$lt_cv_nm_interface" = "MS dumpbin"; then7609 nm_file_list_spec='@'7610 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then7611 nm_file_list_spec='@'7612 fi7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&57651 $as_echo_n "checking for sysroot... " >&6; }7652 7653 # Check whether --with-sysroot was given.7654 if test "${with_sysroot+set}" = set; then :7655 withval=$with_sysroot;7656 else7657 with_sysroot=no7658 fi7659 7660 7661 lt_sysroot=7662 case $with_sysroot in #(7663 yes)7664 if test yes = "$GCC"; then7665 lt_sysroot=`$CC --print-sysroot 2>/dev/null`7666 fi7667 ;; #(7668 /*)7669 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`7670 ;; #(7671 no|'')7672 ;; #(7673 *)7674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&57675 $as_echo "$with_sysroot" >&6; }7676 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 57677 ;;7678 esac7679 7680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&57681 $as_echo "${lt_sysroot:-no}" >&6; }7682 7683 7684 7685 7686 7687 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&57688 $as_echo_n "checking for a working dd... " >&6; }7689 if ${ac_cv_path_lt_DD+:} false; then :7690 $as_echo_n "(cached) " >&67691 else7692 printf 0123456789abcdef0123456789abcdef >conftest.i7693 cat conftest.i conftest.i >conftest2.i7694 : ${lt_DD:=$DD}7695 if test -z "$lt_DD"; then7696 ac_path_lt_DD_found=false7697 # Loop through the user's path and test for each of PROGNAME-LIST7698 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7699 for as_dir in $PATH7700 do7701 IFS=$as_save_IFS7702 test -z "$as_dir" && as_dir=.7703 for ac_prog in dd; do7704 for ac_exec_ext in '' $ac_executable_extensions; do7705 ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"7706 as_fn_executable_p "$ac_path_lt_DD" || continue7707 if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then7708 cmp -s conftest.i conftest.out \7709 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:7710 fi7711 $ac_path_lt_DD_found && break 37712 done7713 done7714 done7715 IFS=$as_save_IFS7716 if test -z "$ac_cv_path_lt_DD"; then7717 :7718 fi7719 else7720 ac_cv_path_lt_DD=$lt_DD7721 fi7722 7723 rm -f conftest.i conftest2.i conftest.out7724 fi7725 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&57726 $as_echo "$ac_cv_path_lt_DD" >&6; }7727 7728 7729 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&57730 $as_echo_n "checking how to truncate binary pipes... " >&6; }7731 if ${lt_cv_truncate_bin+:} false; then :7732 $as_echo_n "(cached) " >&67733 else7734 printf 0123456789abcdef0123456789abcdef >conftest.i7735 cat conftest.i conftest.i >conftest2.i7736 lt_cv_truncate_bin=7737 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then7738 cmp -s conftest.i conftest.out \7739 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"7740 fi7741 rm -f conftest.i conftest2.i conftest.out7742 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"7743 fi7744 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&57745 $as_echo "$lt_cv_truncate_bin" >&6; }7746 7747 7748 7749 7750 7751 7752 7753 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.7754 func_cc_basename ()7755 {7756 for cc_temp in $*""; do7757 case $cc_temp in7758 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;7759 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;7760 \-*) ;;7761 *) break;;7762 esac7763 done7764 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`7765 }7766 7767 # Check whether --enable-libtool-lock was given.7768 if test "${enable_libtool_lock+set}" = set; then :7769 enableval=$enable_libtool_lock;7770 fi7771 7772 test no = "$enable_libtool_lock" || enable_libtool_lock=yes7773 7774 # Some flags need to be propagated to the compiler or linker for good7775 # libtool support.7776 case $host in7777 ia64-*-hpux*)7778 # Find out what ABI is being produced by ac_compile, and set mode7779 # options accordingly.7780 echo 'int i;' > conftest.$ac_ext7781 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57782 (eval $ac_compile) 2>&57783 ac_status=$?7784 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57785 test $ac_status = 0; }; then7786 case `/usr/bin/file conftest.$ac_objext` in7787 *ELF-32*)7788 HPUX_IA64_MODE=327789 ;;7790 *ELF-64*)7791 HPUX_IA64_MODE=647792 ;;7793 esac7794 fi7795 rm -rf conftest*7796 ;;7797 *-*-irix6*)7798 # Find out what ABI is being produced by ac_compile, and set linker7799 # options accordingly.7800 echo '#line '$LINENO' "configure"' > conftest.$ac_ext7801 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57802 (eval $ac_compile) 2>&57803 ac_status=$?7804 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57805 test $ac_status = 0; }; then7806 if test yes = "$lt_cv_prog_gnu_ld"; then7807 case `/usr/bin/file conftest.$ac_objext` in7808 *32-bit*)7809 LD="${LD-ld} -melf32bsmip"7810 ;;7811 *N32*)7812 LD="${LD-ld} -melf32bmipn32"7813 ;;7814 *64-bit*)7815 LD="${LD-ld} -melf64bmip"7816 ;;7817 esac7818 else7819 case `/usr/bin/file conftest.$ac_objext` in7820 *32-bit*)7821 LD="${LD-ld} -32"7822 ;;7823 *N32*)7824 LD="${LD-ld} -n32"7825 ;;7826 *64-bit*)7827 LD="${LD-ld} -64"7828 ;;7829 esac7830 fi7831 fi7832 rm -rf conftest*7833 ;;7834 7835 mips64*-*linux*)7836 # Find out what ABI is being produced by ac_compile, and set linker7837 # options accordingly.7838 echo '#line '$LINENO' "configure"' > conftest.$ac_ext7839 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57840 (eval $ac_compile) 2>&57841 ac_status=$?7842 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57843 test $ac_status = 0; }; then7844 emul=elf7845 case `/usr/bin/file conftest.$ac_objext` in7846 *32-bit*)7847 emul="${emul}32"7848 ;;7849 *64-bit*)7850 emul="${emul}64"7851 ;;7852 esac7853 case `/usr/bin/file conftest.$ac_objext` in7854 *MSB*)7855 emul="${emul}btsmip"7856 ;;7857 *LSB*)7858 emul="${emul}ltsmip"7859 ;;7860 esac7861 case `/usr/bin/file conftest.$ac_objext` in7862 *N32*)7863 emul="${emul}n32"7864 ;;7865 esac7866 LD="${LD-ld} -m $emul"7867 fi7868 rm -rf conftest*7869 ;;7870 7871 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \7872 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)7873 # Find out what ABI is being produced by ac_compile, and set linker7874 # options accordingly. Note that the listed cases only cover the7875 # situations where additional linker options are needed (such as when7876 # doing 32-bit compilation for a host where ld defaults to 64-bit, or7877 # vice versa); the common cases where no linker options are needed do7878 # not appear in the list.7879 echo 'int i;' > conftest.$ac_ext7880 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57881 (eval $ac_compile) 2>&57882 ac_status=$?7883 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57884 test $ac_status = 0; }; then7885 case `/usr/bin/file conftest.o` in7886 *32-bit*)7887 case $host in7888 x86_64-*kfreebsd*-gnu)7889 LD="${LD-ld} -m elf_i386_fbsd"7890 ;;7891 x86_64-*linux*)7892 case `/usr/bin/file conftest.o` in7893 *x86-64*)7894 LD="${LD-ld} -m elf32_x86_64"7895 ;;7896 *)7897 LD="${LD-ld} -m elf_i386"7898 ;;7899 esac7900 ;;7901 powerpc64le-*linux*)7902 LD="${LD-ld} -m elf32lppclinux"7903 ;;7904 powerpc64-*linux*)7905 LD="${LD-ld} -m elf32ppclinux"7906 ;;7907 s390x-*linux*)7908 LD="${LD-ld} -m elf_s390"7909 ;;7910 sparc64-*linux*)7911 LD="${LD-ld} -m elf32_sparc"7912 ;;7913 esac7914 ;;7915 *64-bit*)7916 case $host in7917 x86_64-*kfreebsd*-gnu)7918 LD="${LD-ld} -m elf_x86_64_fbsd"7919 ;;7920 x86_64-*linux*)7921 LD="${LD-ld} -m elf_x86_64"7922 ;;7923 powerpcle-*linux*)7924 LD="${LD-ld} -m elf64lppc"7925 ;;7926 powerpc-*linux*)7927 LD="${LD-ld} -m elf64ppc"7928 ;;7929 s390*-*linux*|s390*-*tpf*)7930 LD="${LD-ld} -m elf64_s390"7931 ;;7932 sparc*-*linux*)7933 LD="${LD-ld} -m elf64_sparc"7934 ;;7935 esac7936 ;;7937 esac7938 fi7939 rm -rf conftest*7940 ;;7941 7942 *-*-sco3.2v5*)7943 # On SCO OpenServer 5, we need -belf to get full-featured binaries.7944 SAVE_CFLAGS=$CFLAGS7945 CFLAGS="$CFLAGS -belf"7946 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&57947 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }7948 if ${lt_cv_cc_needs_belf+:} false; then :7949 $as_echo_n "(cached) " >&67950 else7951 ac_ext=c7952 ac_cpp='$CPP $CPPFLAGS'7953 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'7954 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'7955 ac_compiler_gnu=$ac_cv_c_compiler_gnu7956 7957 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7958 /* end confdefs.h. */7959 7960 int7961 main ()7962 {7963 7964 ;7965 return 0;7966 }7967 _ACEOF7968 if ac_fn_c_try_link "$LINENO"; then :7969 lt_cv_cc_needs_belf=yes7970 else7971 lt_cv_cc_needs_belf=no7972 fi7973 rm -f core conftest.err conftest.$ac_objext \7974 conftest$ac_exeext conftest.$ac_ext7975 ac_ext=c7976 ac_cpp='$CPP $CPPFLAGS'7977 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'7978 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'7979 ac_compiler_gnu=$ac_cv_c_compiler_gnu7980 7981 fi7982 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&57983 $as_echo "$lt_cv_cc_needs_belf" >&6; }7984 if test yes != "$lt_cv_cc_needs_belf"; then7985 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf7986 CFLAGS=$SAVE_CFLAGS7987 fi7988 ;;7989 *-*solaris*)7990 # Find out what ABI is being produced by ac_compile, and set linker7991 # options accordingly.7992 echo 'int i;' > conftest.$ac_ext7993 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&57994 (eval $ac_compile) 2>&57995 ac_status=$?7996 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&57997 test $ac_status = 0; }; then7998 case `/usr/bin/file conftest.o` in7999 *64-bit*)8000 case $lt_cv_prog_gnu_ld in8001 yes*)8002 case $host in8003 i?86-*-solaris*|x86_64-*-solaris*)8004 LD="${LD-ld} -m elf_x86_64"8005 ;;8006 sparc*-*-solaris*)8007 LD="${LD-ld} -m elf64_sparc"8008 ;;8009 esac8010 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.8011 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then8012 LD=${LD-ld}_sol28013 fi8014 ;;8015 *)8016 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then8017 LD="${LD-ld} -64"8018 fi8019 ;;8020 esac8021 ;;8022 esac8023 fi8024 rm -rf conftest*8025 ;;8026 esac8027 8028 need_locks=$enable_libtool_lock8029 8030 if test -n "$ac_tool_prefix"; then8031 # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.8032 set dummy ${ac_tool_prefix}mt; ac_word=$28033 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58034 $as_echo_n "checking for $ac_word... " >&6; }8035 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :8036 $as_echo_n "(cached) " >&68037 else8038 if test -n "$MANIFEST_TOOL"; then8039 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.8040 else8041 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8042 for as_dir in $PATH8043 do8044 IFS=$as_save_IFS8045 test -z "$as_dir" && as_dir=.8046 for ac_exec_ext in '' $ac_executable_extensions; do8047 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8048 ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"8049 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58050 break 28051 fi8052 done8053 done8054 IFS=$as_save_IFS8055 8056 fi8057 fi8058 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL8059 if test -n "$MANIFEST_TOOL"; then8060 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&58061 $as_echo "$MANIFEST_TOOL" >&6; }8062 else8063 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58064 $as_echo "no" >&6; }8065 fi8066 8067 8068 fi8069 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then8070 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL8071 # Extract the first word of "mt", so it can be a program name with args.8072 set dummy mt; ac_word=$28073 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58074 $as_echo_n "checking for $ac_word... " >&6; }8075 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :8076 $as_echo_n "(cached) " >&68077 else8078 if test -n "$ac_ct_MANIFEST_TOOL"; then8079 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.8080 else8081 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8082 for as_dir in $PATH8083 do8084 IFS=$as_save_IFS8085 test -z "$as_dir" && as_dir=.8086 for ac_exec_ext in '' $ac_executable_extensions; do8087 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8088 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"8089 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58090 break 28091 fi8092 done8093 done8094 IFS=$as_save_IFS8095 8096 fi8097 fi8098 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL8099 if test -n "$ac_ct_MANIFEST_TOOL"; then8100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&58101 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; }8102 else8103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58104 $as_echo "no" >&6; }8105 fi8106 8107 if test "x$ac_ct_MANIFEST_TOOL" = x; then8108 MANIFEST_TOOL=":"8109 else8110 case $cross_compiling:$ac_tool_warned in8111 yes:)8112 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58113 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8114 ac_tool_warned=yes ;;8115 esac8116 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL8117 fi8118 else8119 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"8120 fi8121 8122 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt8123 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&58124 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }8125 if ${lt_cv_path_mainfest_tool+:} false; then :8126 $as_echo_n "(cached) " >&68127 else8128 lt_cv_path_mainfest_tool=no8129 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&58130 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out8131 cat conftest.err >&58132 if $GREP 'Manifest Tool' conftest.out > /dev/null; then8133 lt_cv_path_mainfest_tool=yes8134 fi8135 rm -f conftest*8136 fi8137 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&58138 $as_echo "$lt_cv_path_mainfest_tool" >&6; }8139 if test yes != "$lt_cv_path_mainfest_tool"; then8140 MANIFEST_TOOL=:8141 fi8142 8143 8144 8145 8146 8147 8148 case $host_os in8149 rhapsody* | darwin*)8150 if test -n "$ac_tool_prefix"; then8151 # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.8152 set dummy ${ac_tool_prefix}dsymutil; ac_word=$28153 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58154 $as_echo_n "checking for $ac_word... " >&6; }8155 if ${ac_cv_prog_DSYMUTIL+:} false; then :8156 $as_echo_n "(cached) " >&68157 else8158 if test -n "$DSYMUTIL"; then8159 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.8160 else8161 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8162 for as_dir in $PATH8163 do8164 IFS=$as_save_IFS8165 test -z "$as_dir" && as_dir=.8166 for ac_exec_ext in '' $ac_executable_extensions; do8167 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8168 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"8169 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58170 break 28171 fi8172 done8173 done8174 IFS=$as_save_IFS8175 8176 fi8177 fi8178 DSYMUTIL=$ac_cv_prog_DSYMUTIL8179 if test -n "$DSYMUTIL"; then8180 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&58181 $as_echo "$DSYMUTIL" >&6; }8182 else8183 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58184 $as_echo "no" >&6; }8185 fi8186 8187 8188 fi8189 if test -z "$ac_cv_prog_DSYMUTIL"; then8190 ac_ct_DSYMUTIL=$DSYMUTIL8191 # Extract the first word of "dsymutil", so it can be a program name with args.8192 set dummy dsymutil; ac_word=$28193 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58194 $as_echo_n "checking for $ac_word... " >&6; }8195 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :8196 $as_echo_n "(cached) " >&68197 else8198 if test -n "$ac_ct_DSYMUTIL"; then8199 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.8200 else8201 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8202 for as_dir in $PATH8203 do8204 IFS=$as_save_IFS8205 test -z "$as_dir" && as_dir=.8206 for ac_exec_ext in '' $ac_executable_extensions; do8207 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8208 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"8209 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58210 break 28211 fi8212 done8213 done8214 IFS=$as_save_IFS8215 8216 fi8217 fi8218 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL8219 if test -n "$ac_ct_DSYMUTIL"; then8220 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&58221 $as_echo "$ac_ct_DSYMUTIL" >&6; }8222 else8223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58224 $as_echo "no" >&6; }8225 fi8226 8227 if test "x$ac_ct_DSYMUTIL" = x; then8228 DSYMUTIL=":"8229 else8230 case $cross_compiling:$ac_tool_warned in8231 yes:)8232 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58233 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8234 ac_tool_warned=yes ;;8235 esac8236 DSYMUTIL=$ac_ct_DSYMUTIL8237 fi8238 else8239 DSYMUTIL="$ac_cv_prog_DSYMUTIL"8240 fi8241 8242 if test -n "$ac_tool_prefix"; then8243 # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.8244 set dummy ${ac_tool_prefix}nmedit; ac_word=$28245 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58246 $as_echo_n "checking for $ac_word... " >&6; }8247 if ${ac_cv_prog_NMEDIT+:} false; then :8248 $as_echo_n "(cached) " >&68249 else8250 if test -n "$NMEDIT"; then8251 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.8252 else8253 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8254 for as_dir in $PATH8255 do8256 IFS=$as_save_IFS8257 test -z "$as_dir" && as_dir=.8258 for ac_exec_ext in '' $ac_executable_extensions; do8259 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8260 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"8261 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58262 break 28263 fi8264 done8265 done8266 IFS=$as_save_IFS8267 8268 fi8269 fi8270 NMEDIT=$ac_cv_prog_NMEDIT8271 if test -n "$NMEDIT"; then8272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&58273 $as_echo "$NMEDIT" >&6; }8274 else8275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58276 $as_echo "no" >&6; }8277 fi8278 8279 8280 fi8281 if test -z "$ac_cv_prog_NMEDIT"; then8282 ac_ct_NMEDIT=$NMEDIT8283 # Extract the first word of "nmedit", so it can be a program name with args.8284 set dummy nmedit; ac_word=$28285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58286 $as_echo_n "checking for $ac_word... " >&6; }8287 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :8288 $as_echo_n "(cached) " >&68289 else8290 if test -n "$ac_ct_NMEDIT"; then8291 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.8292 else8293 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8294 for as_dir in $PATH8295 do8296 IFS=$as_save_IFS8297 test -z "$as_dir" && as_dir=.8298 for ac_exec_ext in '' $ac_executable_extensions; do8299 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8300 ac_cv_prog_ac_ct_NMEDIT="nmedit"8301 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58302 break 28303 fi8304 done8305 done8306 IFS=$as_save_IFS8307 8308 fi8309 fi8310 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT8311 if test -n "$ac_ct_NMEDIT"; then8312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&58313 $as_echo "$ac_ct_NMEDIT" >&6; }8314 else8315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58316 $as_echo "no" >&6; }8317 fi8318 8319 if test "x$ac_ct_NMEDIT" = x; then8320 NMEDIT=":"8321 else8322 case $cross_compiling:$ac_tool_warned in8323 yes:)8324 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58325 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8326 ac_tool_warned=yes ;;8327 esac8328 NMEDIT=$ac_ct_NMEDIT8329 fi8330 else8331 NMEDIT="$ac_cv_prog_NMEDIT"8332 fi8333 8334 if test -n "$ac_tool_prefix"; then8335 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.8336 set dummy ${ac_tool_prefix}lipo; ac_word=$28337 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58338 $as_echo_n "checking for $ac_word... " >&6; }8339 if ${ac_cv_prog_LIPO+:} false; then :8340 $as_echo_n "(cached) " >&68341 else8342 if test -n "$LIPO"; then8343 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.8344 else8345 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8346 for as_dir in $PATH8347 do8348 IFS=$as_save_IFS8349 test -z "$as_dir" && as_dir=.8350 for ac_exec_ext in '' $ac_executable_extensions; do8351 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8352 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"8353 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58354 break 28355 fi8356 done8357 done8358 IFS=$as_save_IFS8359 8360 fi8361 fi8362 LIPO=$ac_cv_prog_LIPO8363 if test -n "$LIPO"; then8364 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&58365 $as_echo "$LIPO" >&6; }8366 else8367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58368 $as_echo "no" >&6; }8369 fi8370 8371 8372 fi8373 if test -z "$ac_cv_prog_LIPO"; then8374 ac_ct_LIPO=$LIPO8375 # Extract the first word of "lipo", so it can be a program name with args.8376 set dummy lipo; ac_word=$28377 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58378 $as_echo_n "checking for $ac_word... " >&6; }8379 if ${ac_cv_prog_ac_ct_LIPO+:} false; then :8380 $as_echo_n "(cached) " >&68381 else8382 if test -n "$ac_ct_LIPO"; then8383 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.8384 else8385 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8386 for as_dir in $PATH8387 do8388 IFS=$as_save_IFS8389 test -z "$as_dir" && as_dir=.8390 for ac_exec_ext in '' $ac_executable_extensions; do8391 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8392 ac_cv_prog_ac_ct_LIPO="lipo"8393 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58394 break 28395 fi8396 done8397 done8398 IFS=$as_save_IFS8399 8400 fi8401 fi8402 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO8403 if test -n "$ac_ct_LIPO"; then8404 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&58405 $as_echo "$ac_ct_LIPO" >&6; }8406 else8407 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58408 $as_echo "no" >&6; }8409 fi8410 8411 if test "x$ac_ct_LIPO" = x; then8412 LIPO=":"8413 else8414 case $cross_compiling:$ac_tool_warned in8415 yes:)8416 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58417 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8418 ac_tool_warned=yes ;;8419 esac8420 LIPO=$ac_ct_LIPO8421 fi8422 else8423 LIPO="$ac_cv_prog_LIPO"8424 fi8425 8426 if test -n "$ac_tool_prefix"; then8427 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.8428 set dummy ${ac_tool_prefix}otool; ac_word=$28429 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58430 $as_echo_n "checking for $ac_word... " >&6; }8431 if ${ac_cv_prog_OTOOL+:} false; then :8432 $as_echo_n "(cached) " >&68433 else8434 if test -n "$OTOOL"; then8435 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.8436 else8437 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8438 for as_dir in $PATH8439 do8440 IFS=$as_save_IFS8441 test -z "$as_dir" && as_dir=.8442 for ac_exec_ext in '' $ac_executable_extensions; do8443 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8444 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"8445 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58446 break 28447 fi8448 done8449 done8450 IFS=$as_save_IFS8451 8452 fi8453 fi8454 OTOOL=$ac_cv_prog_OTOOL8455 if test -n "$OTOOL"; then8456 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&58457 $as_echo "$OTOOL" >&6; }8458 else8459 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58460 $as_echo "no" >&6; }8461 fi8462 8463 8464 fi8465 if test -z "$ac_cv_prog_OTOOL"; then8466 ac_ct_OTOOL=$OTOOL8467 # Extract the first word of "otool", so it can be a program name with args.8468 set dummy otool; ac_word=$28469 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58470 $as_echo_n "checking for $ac_word... " >&6; }8471 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :8472 $as_echo_n "(cached) " >&68473 else8474 if test -n "$ac_ct_OTOOL"; then8475 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.8476 else8477 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8478 for as_dir in $PATH8479 do8480 IFS=$as_save_IFS8481 test -z "$as_dir" && as_dir=.8482 for ac_exec_ext in '' $ac_executable_extensions; do8483 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8484 ac_cv_prog_ac_ct_OTOOL="otool"8485 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58486 break 28487 fi8488 done8489 done8490 IFS=$as_save_IFS8491 8492 fi8493 fi8494 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL8495 if test -n "$ac_ct_OTOOL"; then8496 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&58497 $as_echo "$ac_ct_OTOOL" >&6; }8498 else8499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58500 $as_echo "no" >&6; }8501 fi8502 8503 if test "x$ac_ct_OTOOL" = x; then8504 OTOOL=":"8505 else8506 case $cross_compiling:$ac_tool_warned in8507 yes:)8508 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58509 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8510 ac_tool_warned=yes ;;8511 esac8512 OTOOL=$ac_ct_OTOOL8513 fi8514 else8515 OTOOL="$ac_cv_prog_OTOOL"8516 fi8517 8518 if test -n "$ac_tool_prefix"; then8519 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.8520 set dummy ${ac_tool_prefix}otool64; ac_word=$28521 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58522 $as_echo_n "checking for $ac_word... " >&6; }8523 if ${ac_cv_prog_OTOOL64+:} false; then :8524 $as_echo_n "(cached) " >&68525 else8526 if test -n "$OTOOL64"; then8527 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.8528 else8529 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8530 for as_dir in $PATH8531 do8532 IFS=$as_save_IFS8533 test -z "$as_dir" && as_dir=.8534 for ac_exec_ext in '' $ac_executable_extensions; do8535 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8536 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"8537 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58538 break 28539 fi8540 done8541 done8542 IFS=$as_save_IFS8543 8544 fi8545 fi8546 OTOOL64=$ac_cv_prog_OTOOL648547 if test -n "$OTOOL64"; then8548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&58549 $as_echo "$OTOOL64" >&6; }8550 else8551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58552 $as_echo "no" >&6; }8553 fi8554 8555 8556 fi8557 if test -z "$ac_cv_prog_OTOOL64"; then8558 ac_ct_OTOOL64=$OTOOL648559 # Extract the first word of "otool64", so it can be a program name with args.8560 set dummy otool64; ac_word=$28561 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&58562 $as_echo_n "checking for $ac_word... " >&6; }8563 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :8564 $as_echo_n "(cached) " >&68565 else8566 if test -n "$ac_ct_OTOOL64"; then8567 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.8568 else8569 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR8570 for as_dir in $PATH8571 do8572 IFS=$as_save_IFS8573 test -z "$as_dir" && as_dir=.8574 for ac_exec_ext in '' $ac_executable_extensions; do8575 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then8576 ac_cv_prog_ac_ct_OTOOL64="otool64"8577 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&58578 break 28579 fi8580 done8581 done8582 IFS=$as_save_IFS8583 8584 fi8585 fi8586 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL648587 if test -n "$ac_ct_OTOOL64"; then8588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&58589 $as_echo "$ac_ct_OTOOL64" >&6; }8590 else8591 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58592 $as_echo "no" >&6; }8593 fi8594 8595 if test "x$ac_ct_OTOOL64" = x; then8596 OTOOL64=":"8597 else8598 case $cross_compiling:$ac_tool_warned in8599 yes:)8600 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&58601 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}8602 ac_tool_warned=yes ;;8603 esac8604 OTOOL64=$ac_ct_OTOOL648605 fi8606 else8607 OTOOL64="$ac_cv_prog_OTOOL64"8608 fi8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&58637 $as_echo_n "checking for -single_module linker flag... " >&6; }8638 if ${lt_cv_apple_cc_single_mod+:} false; then :8639 $as_echo_n "(cached) " >&68640 else8641 lt_cv_apple_cc_single_mod=no8642 if test -z "$LT_MULTI_MODULE"; then8643 # By default we will add the -single_module flag. You can override8644 # by either setting the environment variable LT_MULTI_MODULE8645 # non-empty at configure time, or by adding -multi_module to the8646 # link flags.8647 rm -rf libconftest.dylib*8648 echo "int foo(void){return 1;}" > conftest.c8649 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \8650 -dynamiclib -Wl,-single_module conftest.c" >&58651 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \8652 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err8653 _lt_result=$?8654 # If there is a non-empty error log, and "single_module"8655 # appears in it, assume the flag caused a linker warning8656 if test -s conftest.err && $GREP single_module conftest.err; then8657 cat conftest.err >&58658 # Otherwise, if the output was created with a 0 exit code from8659 # the compiler, it worked.8660 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then8661 lt_cv_apple_cc_single_mod=yes8662 else8663 cat conftest.err >&58664 fi8665 rm -rf libconftest.dylib*8666 rm -f conftest.*8667 fi8668 fi8669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&58670 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }8671 8672 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&58673 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }8674 if ${lt_cv_ld_exported_symbols_list+:} false; then :8675 $as_echo_n "(cached) " >&68676 else8677 lt_cv_ld_exported_symbols_list=no8678 save_LDFLAGS=$LDFLAGS8679 echo "_main" > conftest.sym8680 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"8681 cat confdefs.h - <<_ACEOF >conftest.$ac_ext8682 /* end confdefs.h. */8683 8684 int8685 main ()8686 {8687 8688 ;8689 return 0;8690 }8691 _ACEOF8692 if ac_fn_c_try_link "$LINENO"; then :8693 lt_cv_ld_exported_symbols_list=yes8694 else8695 lt_cv_ld_exported_symbols_list=no8696 fi8697 rm -f core conftest.err conftest.$ac_objext \8698 conftest$ac_exeext conftest.$ac_ext8699 LDFLAGS=$save_LDFLAGS8700 8701 fi8702 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&58703 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }8704 8705 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&58706 $as_echo_n "checking for -force_load linker flag... " >&6; }8707 if ${lt_cv_ld_force_load+:} false; then :8708 $as_echo_n "(cached) " >&68709 else8710 lt_cv_ld_force_load=no8711 cat > conftest.c << _LT_EOF8712 int forced_loaded() { return 2;}8713 _LT_EOF8714 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&58715 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&58716 echo "$AR cru libconftest.a conftest.o" >&58717 $AR cru libconftest.a conftest.o 2>&58718 echo "$RANLIB libconftest.a" >&58719 $RANLIB libconftest.a 2>&58720 cat > conftest.c << _LT_EOF8721 int main() { return 0;}8722 _LT_EOF8723 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&58724 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err8725 _lt_result=$?8726 if test -s conftest.err && $GREP force_load conftest.err; then8727 cat conftest.err >&58728 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then8729 lt_cv_ld_force_load=yes8730 else8731 cat conftest.err >&58732 fi8733 rm -f conftest.err libconftest.a conftest conftest.c8734 rm -rf conftest.dSYM8735 8736 fi8737 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&58738 $as_echo "$lt_cv_ld_force_load" >&6; }8739 case $host_os in8740 rhapsody* | darwin1.[012])8741 _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;8742 darwin1.*)8743 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;8744 darwin*) # darwin 5.x on8745 # if running on 10.5 or later, the deployment target defaults8746 # to the OS version, if on x86, and 10.4, the deployment8747 # target defaults to 10.4. Don't you love it?8748 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in8749 10.0,*86*-darwin8*|10.0,*-darwin[91]*)8750 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;8751 10.[012][,.]*)8752 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;8753 10.*)8754 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;8755 esac8756 ;;8757 esac8758 if test yes = "$lt_cv_apple_cc_single_mod"; then8759 _lt_dar_single_mod='$single_module'8760 fi8761 if test yes = "$lt_cv_ld_exported_symbols_list"; then8762 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'8763 else8764 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'8765 fi8766 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then8767 _lt_dsymutil='~$DSYMUTIL $lib || :'8768 else8769 _lt_dsymutil=8770 fi8771 ;;8772 esac8773 8774 # func_munge_path_list VARIABLE PATH8775 # -----------------------------------8776 # VARIABLE is name of variable containing _space_ separated list of8777 # directories to be munged by the contents of PATH, which is string8778 # having a format:8779 # "DIR[:DIR]:"8780 # string "DIR[ DIR]" will be prepended to VARIABLE8781 # ":DIR[:DIR]"8782 # string "DIR[ DIR]" will be appended to VARIABLE8783 # "DIRP[:DIRP]::[DIRA:]DIRA"8784 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string8785 # "DIRA[ DIRA]" will be appended to VARIABLE8786 # "DIR[:DIR]"8787 # VARIABLE will be replaced by "DIR[ DIR]"8788 func_munge_path_list ()8789 {8790 case x$2 in8791 x)8792 ;;8793 *:)8794 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"8795 ;;8796 x:*)8797 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"8798 ;;8799 *::*)8800 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"8801 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"8802 ;;8803 *)8804 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"8805 ;;8806 esac8807 }8808 8809 ac_ext=c8810 ac_cpp='$CPP $CPPFLAGS'8811 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'8812 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'8813 ac_compiler_gnu=$ac_cv_c_compiler_gnu8814 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&58815 $as_echo_n "checking how to run the C preprocessor... " >&6; }8816 # On Suns, sometimes $CPP names a directory.8817 if test -n "$CPP" && test -d "$CPP"; then8818 CPP=8819 fi8820 if test -z "$CPP"; then8821 if ${ac_cv_prog_CPP+:} false; then :8822 $as_echo_n "(cached) " >&68823 else8824 # Double quotes because CPP needs to be expanded8825 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"8826 do8827 ac_preproc_ok=false8828 for ac_c_preproc_warn_flag in '' yes8829 do8830 # Use a header file that comes with gcc, so configuring glibc8831 # with a fresh cross-compiler works.8832 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since8833 # <limits.h> exists even on freestanding compilers.8834 # On the NeXT, cc -E runs the code through the compiler's parser,8835 # not just through cpp. "Syntax error" is here to catch this case.8836 cat confdefs.h - <<_ACEOF >conftest.$ac_ext8837 /* end confdefs.h. */8838 #ifdef __STDC__8839 # include <limits.h>8840 #else8841 # include <assert.h>8842 #endif8843 Syntax error8844 _ACEOF8845 if ac_fn_c_try_cpp "$LINENO"; then :8846 8847 else8848 # Broken: fails on valid input.8849 continue8850 fi8851 rm -f conftest.err conftest.i conftest.$ac_ext8852 8853 # OK, works on sane cases. Now check whether nonexistent headers8854 # can be detected and how.8855 cat confdefs.h - <<_ACEOF >conftest.$ac_ext8856 /* end confdefs.h. */8857 #include <ac_nonexistent.h>8858 _ACEOF8859 if ac_fn_c_try_cpp "$LINENO"; then :8860 # Broken: success on invalid input.8861 continue8862 else8863 # Passes both tests.8864 ac_preproc_ok=:8865 break8866 fi8867 rm -f conftest.err conftest.i conftest.$ac_ext8868 8869 done8870 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.8871 rm -f conftest.i conftest.err conftest.$ac_ext8872 if $ac_preproc_ok; then :8873 break8874 fi8875 8876 done8877 ac_cv_prog_CPP=$CPP8878 8879 fi8880 CPP=$ac_cv_prog_CPP8881 else8882 ac_cv_prog_CPP=$CPP8883 fi8884 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&58885 $as_echo "$CPP" >&6; }8886 ac_preproc_ok=false8887 for ac_c_preproc_warn_flag in '' yes8888 do8889 # Use a header file that comes with gcc, so configuring glibc8890 # with a fresh cross-compiler works.8891 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since8892 # <limits.h> exists even on freestanding compilers.8893 # On the NeXT, cc -E runs the code through the compiler's parser,8894 # not just through cpp. "Syntax error" is here to catch this case.8895 cat confdefs.h - <<_ACEOF >conftest.$ac_ext8896 /* end confdefs.h. */8897 #ifdef __STDC__8898 # include <limits.h>8899 #else8900 # include <assert.h>8901 #endif8902 Syntax error8903 _ACEOF8904 if ac_fn_c_try_cpp "$LINENO"; then :8905 8906 else8907 # Broken: fails on valid input.8908 continue8909 fi8910 rm -f conftest.err conftest.i conftest.$ac_ext8911 8912 # OK, works on sane cases. Now check whether nonexistent headers8913 # can be detected and how.8914 cat confdefs.h - <<_ACEOF >conftest.$ac_ext8915 /* end confdefs.h. */8916 #include <ac_nonexistent.h>8917 _ACEOF8918 if ac_fn_c_try_cpp "$LINENO"; then :8919 # Broken: success on invalid input.8920 continue8921 else8922 # Passes both tests.8923 ac_preproc_ok=:8924 break8925 fi8926 rm -f conftest.err conftest.i conftest.$ac_ext8927 8928 done8929 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.8930 rm -f conftest.i conftest.err conftest.$ac_ext8931 if $ac_preproc_ok; then :8932 8933 else8934 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&58935 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}8936 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check8937 See \`config.log' for more details" "$LINENO" 5; }8938 fi8939 8940 ac_ext=c8941 ac_cpp='$CPP $CPPFLAGS'8942 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'8943 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'8944 ac_compiler_gnu=$ac_cv_c_compiler_gnu8945 8946 8947 5711 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 8948 5712 $as_echo_n "checking for ANSI C header files... " >&6; } … … 9074 5838 9075 5839 9076 for ac_header in dlfcn.h9077 do :9078 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default9079 "9080 if test "x$ac_cv_header_dlfcn_h" = xyes; then :9081 cat >>confdefs.h <<_ACEOF9082 #define HAVE_DLFCN_H 19083 _ACEOF9084 9085 fi9086 9087 done9088 9089 9090 9091 9092 func_stripname_cnf ()9093 {9094 case $2 in9095 .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;9096 *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;9097 esac9098 } # func_stripname_cnf9099 9100 9101 9102 9103 9104 # Set options9105 9106 9107 9108 enable_dlopen=no9109 9110 9111 enable_win32_dll=no9112 9113 9114 # Check whether --enable-shared was given.9115 if test "${enable_shared+set}" = set; then :9116 enableval=$enable_shared; p=${PACKAGE-default}9117 case $enableval in9118 yes) enable_shared=yes ;;9119 no) enable_shared=no ;;9120 *)9121 enable_shared=no9122 # Look at the argument we got. We use all the common list separators.9123 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,9124 for pkg in $enableval; do9125 IFS=$lt_save_ifs9126 if test "X$pkg" = "X$p"; then9127 enable_shared=yes9128 fi9129 done9130 IFS=$lt_save_ifs9131 ;;9132 esac9133 else9134 enable_shared=yes9135 fi9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 # Check whether --enable-static was given.9146 if test "${enable_static+set}" = set; then :9147 enableval=$enable_static; p=${PACKAGE-default}9148 case $enableval in9149 yes) enable_static=yes ;;9150 no) enable_static=no ;;9151 *)9152 enable_static=no9153 # Look at the argument we got. We use all the common list separators.9154 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,9155 for pkg in $enableval; do9156 IFS=$lt_save_ifs9157 if test "X$pkg" = "X$p"; then9158 enable_static=yes9159 fi9160 done9161 IFS=$lt_save_ifs9162 ;;9163 esac9164 else9165 enable_static=yes9166 fi9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 # Check whether --with-pic was given.9178 if test "${with_pic+set}" = set; then :9179 withval=$with_pic; lt_p=${PACKAGE-default}9180 case $withval in9181 yes|no) pic_mode=$withval ;;9182 *)9183 pic_mode=default9184 # Look at the argument we got. We use all the common list separators.9185 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,9186 for lt_pkg in $withval; do9187 IFS=$lt_save_ifs9188 if test "X$lt_pkg" = "X$lt_p"; then9189 pic_mode=yes9190 fi9191 done9192 IFS=$lt_save_ifs9193 ;;9194 esac9195 else9196 pic_mode=default9197 fi9198 9199 9200 9201 9202 9203 9204 9205 9206 # Check whether --enable-fast-install was given.9207 if test "${enable_fast_install+set}" = set; then :9208 enableval=$enable_fast_install; p=${PACKAGE-default}9209 case $enableval in9210 yes) enable_fast_install=yes ;;9211 no) enable_fast_install=no ;;9212 *)9213 enable_fast_install=no9214 # Look at the argument we got. We use all the common list separators.9215 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,9216 for pkg in $enableval; do9217 IFS=$lt_save_ifs9218 if test "X$pkg" = "X$p"; then9219 enable_fast_install=yes9220 fi9221 done9222 IFS=$lt_save_ifs9223 ;;9224 esac9225 else9226 enable_fast_install=yes9227 fi9228 9229 9230 9231 9232 9233 9234 9235 9236 shared_archive_member_spec=9237 case $host,$enable_shared in9238 power*-*-aix[5-9]*,yes)9239 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&59240 $as_echo_n "checking which variant of shared library versioning to provide... " >&6; }9241 9242 # Check whether --with-aix-soname was given.9243 if test "${with_aix_soname+set}" = set; then :9244 withval=$with_aix_soname; case $withval in9245 aix|svr4|both)9246 ;;9247 *)9248 as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 59249 ;;9250 esac9251 lt_cv_with_aix_soname=$with_aix_soname9252 else9253 if ${lt_cv_with_aix_soname+:} false; then :9254 $as_echo_n "(cached) " >&69255 else9256 lt_cv_with_aix_soname=aix9257 fi9258 9259 with_aix_soname=$lt_cv_with_aix_soname9260 fi9261 9262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&59263 $as_echo "$with_aix_soname" >&6; }9264 if test aix != "$with_aix_soname"; then9265 # For the AIX way of multilib, we name the shared archive member9266 # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',9267 # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.9268 # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,9269 # the AIX toolchain works better with OBJECT_MODE set (default 32).9270 if test 64 = "${OBJECT_MODE-32}"; then9271 shared_archive_member_spec=shr_649272 else9273 shared_archive_member_spec=shr9274 fi9275 fi9276 ;;9277 *)9278 with_aix_soname=aix9279 ;;9280 esac9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 # This can be used to rebuild libtool when needed9292 LIBTOOL_DEPS=$ltmain9293 9294 # Always use our own libtool.9295 LIBTOOL='$(SHELL) $(top_builddir)/libtool'9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 test -z "$LN_S" && LN_S="ln -s"9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 if test -n "${ZSH_VERSION+set}"; then9342 setopt NO_GLOB_SUBST9343 fi9344 9345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&59346 $as_echo_n "checking for objdir... " >&6; }9347 if ${lt_cv_objdir+:} false; then :9348 $as_echo_n "(cached) " >&69349 else9350 rm -f .libs 2>/dev/null9351 mkdir .libs 2>/dev/null9352 if test -d .libs; then9353 lt_cv_objdir=.libs9354 else9355 # MS-DOS does not allow filenames that begin with a dot.9356 lt_cv_objdir=_libs9357 fi9358 rmdir .libs 2>/dev/null9359 fi9360 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&59361 $as_echo "$lt_cv_objdir" >&6; }9362 objdir=$lt_cv_objdir9363 9364 9365 9366 9367 9368 cat >>confdefs.h <<_ACEOF9369 #define LT_OBJDIR "$lt_cv_objdir/"9370 _ACEOF9371 9372 9373 9374 9375 case $host_os in9376 aix3*)9377 # AIX sometimes has problems with the GCC collect2 program. For some9378 # reason, if we set the COLLECT_NAMES environment variable, the problems9379 # vanish in a puff of smoke.9380 if test set != "${COLLECT_NAMES+set}"; then9381 COLLECT_NAMES=9382 export COLLECT_NAMES9383 fi9384 ;;9385 esac9386 9387 # Global variables:9388 ofile=libtool9389 can_build_shared=yes9390 9391 # All known linkers require a '.a' archive for static linking (except MSVC,9392 # which needs '.lib').9393 libext=a9394 9395 with_gnu_ld=$lt_cv_prog_gnu_ld9396 9397 old_CC=$CC9398 old_CFLAGS=$CFLAGS9399 9400 # Set sane defaults for various variables9401 test -z "$CC" && CC=cc9402 test -z "$LTCC" && LTCC=$CC9403 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS9404 test -z "$LD" && LD=ld9405 test -z "$ac_objext" && ac_objext=o9406 9407 func_cc_basename $compiler9408 cc_basename=$func_cc_basename_result9409 9410 9411 # Only perform the check for file, if the check method requires it9412 test -z "$MAGIC_CMD" && MAGIC_CMD=file9413 case $deplibs_check_method in9414 file_magic*)9415 if test "$file_magic_cmd" = '$MAGIC_CMD'; then9416 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&59417 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }9418 if ${lt_cv_path_MAGIC_CMD+:} false; then :9419 $as_echo_n "(cached) " >&69420 else9421 case $MAGIC_CMD in9422 [\\/*] | ?:[\\/]*)9423 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.9424 ;;9425 *)9426 lt_save_MAGIC_CMD=$MAGIC_CMD9427 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR9428 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"9429 for ac_dir in $ac_dummy; do9430 IFS=$lt_save_ifs9431 test -z "$ac_dir" && ac_dir=.9432 if test -f "$ac_dir/${ac_tool_prefix}file"; then9433 lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"9434 if test -n "$file_magic_test_file"; then9435 case $deplibs_check_method in9436 "file_magic "*)9437 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`9438 MAGIC_CMD=$lt_cv_path_MAGIC_CMD9439 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |9440 $EGREP "$file_magic_regex" > /dev/null; then9441 :9442 else9443 cat <<_LT_EOF 1>&29444 9445 *** Warning: the command libtool uses to detect shared libraries,9446 *** $file_magic_cmd, produces output that libtool cannot recognize.9447 *** The result is that libtool may fail to recognize shared libraries9448 *** as such. This will affect the creation of libtool libraries that9449 *** depend on shared libraries, but programs linked with such libtool9450 *** libraries will work regardless of this problem. Nevertheless, you9451 *** may want to report the problem to your system manager and/or to9452 *** bug-libtool@gnu.org9453 9454 _LT_EOF9455 fi ;;9456 esac9457 fi9458 break9459 fi9460 done9461 IFS=$lt_save_ifs9462 MAGIC_CMD=$lt_save_MAGIC_CMD9463 ;;9464 esac9465 fi9466 9467 MAGIC_CMD=$lt_cv_path_MAGIC_CMD9468 if test -n "$MAGIC_CMD"; then9469 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&59470 $as_echo "$MAGIC_CMD" >&6; }9471 else9472 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&59473 $as_echo "no" >&6; }9474 fi9475 9476 9477 9478 9479 9480 if test -z "$lt_cv_path_MAGIC_CMD"; then9481 if test -n "$ac_tool_prefix"; then9482 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&59483 $as_echo_n "checking for file... " >&6; }9484 if ${lt_cv_path_MAGIC_CMD+:} false; then :9485 $as_echo_n "(cached) " >&69486 else9487 case $MAGIC_CMD in9488 [\\/*] | ?:[\\/]*)9489 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.9490 ;;9491 *)9492 lt_save_MAGIC_CMD=$MAGIC_CMD9493 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR9494 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"9495 for ac_dir in $ac_dummy; do9496 IFS=$lt_save_ifs9497 test -z "$ac_dir" && ac_dir=.9498 if test -f "$ac_dir/file"; then9499 lt_cv_path_MAGIC_CMD=$ac_dir/"file"9500 if test -n "$file_magic_test_file"; then9501 case $deplibs_check_method in9502 "file_magic "*)9503 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`9504 MAGIC_CMD=$lt_cv_path_MAGIC_CMD9505 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |9506 $EGREP "$file_magic_regex" > /dev/null; then9507 :9508 else9509 cat <<_LT_EOF 1>&29510 9511 *** Warning: the command libtool uses to detect shared libraries,9512 *** $file_magic_cmd, produces output that libtool cannot recognize.9513 *** The result is that libtool may fail to recognize shared libraries9514 *** as such. This will affect the creation of libtool libraries that9515 *** depend on shared libraries, but programs linked with such libtool9516 *** libraries will work regardless of this problem. Nevertheless, you9517 *** may want to report the problem to your system manager and/or to9518 *** bug-libtool@gnu.org9519 9520 _LT_EOF9521 fi ;;9522 esac9523 fi9524 break9525 fi9526 done9527 IFS=$lt_save_ifs9528 MAGIC_CMD=$lt_save_MAGIC_CMD9529 ;;9530 esac9531 fi9532 9533 MAGIC_CMD=$lt_cv_path_MAGIC_CMD9534 if test -n "$MAGIC_CMD"; then9535 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&59536 $as_echo "$MAGIC_CMD" >&6; }9537 else9538 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&59539 $as_echo "no" >&6; }9540 fi9541 9542 9543 else9544 MAGIC_CMD=:9545 fi9546 fi9547 9548 fi9549 ;;9550 esac9551 9552 # Use C for the default configuration in the libtool script9553 9554 lt_save_CC=$CC9555 ac_ext=c9556 ac_cpp='$CPP $CPPFLAGS'9557 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'9558 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'9559 ac_compiler_gnu=$ac_cv_c_compiler_gnu9560 9561 9562 # Source file extension for C test sources.9563 ac_ext=c9564 9565 # Object file extension for compiled C test sources.9566 objext=o9567 objext=$objext9568 9569 # Code to be used in simple compile tests9570 lt_simple_compile_test_code="int some_variable = 0;"9571 9572 # Code to be used in simple link tests9573 lt_simple_link_test_code='int main(){return(0);}'9574 9575 9576 9577 9578 9579 9580 9581 # If no C compiler was specified, use CC.9582 LTCC=${LTCC-"$CC"}9583 9584 # If no C compiler flags were specified, use CFLAGS.9585 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}9586 9587 # Allow CC to be a program name with arguments.9588 compiler=$CC9589 9590 # Save the default compiler, since it gets overwritten when the other9591 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.9592 compiler_DEFAULT=$CC9593 9594 # save warnings/boilerplate of simple test code9595 ac_outfile=conftest.$ac_objext9596 echo "$lt_simple_compile_test_code" >conftest.$ac_ext9597 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err9598 _lt_compiler_boilerplate=`cat conftest.err`9599 $RM conftest*9600 9601 ac_outfile=conftest.$ac_objext9602 echo "$lt_simple_link_test_code" >conftest.$ac_ext9603 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err9604 _lt_linker_boilerplate=`cat conftest.err`9605 $RM -r conftest*9606 9607 9608 ## CAVEAT EMPTOR:9609 ## There is no encapsulation within the following macros, do not change9610 ## the running order or otherwise move them around unless you know exactly9611 ## what you are doing...9612 if test -n "$compiler"; then9613 9614 lt_prog_compiler_no_builtin_flag=9615 9616 if test yes = "$GCC"; then9617 case $cc_basename in9618 nvcc*)9619 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;9620 *)9621 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;9622 esac9623 9624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&59625 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }9626 if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :9627 $as_echo_n "(cached) " >&69628 else9629 lt_cv_prog_compiler_rtti_exceptions=no9630 ac_outfile=conftest.$ac_objext9631 echo "$lt_simple_compile_test_code" > conftest.$ac_ext9632 lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment9633 # Insert the option either (1) after the last *FLAGS variable, or9634 # (2) before a word containing "conftest.", or (3) at the end.9635 # Note that $ac_compile itself does not contain backslashes and begins9636 # with a dollar sign (not a hyphen), so the echo should work correctly.9637 # The option is referenced via a variable to avoid confusing sed.9638 lt_compile=`echo "$ac_compile" | $SED \9639 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \9640 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \9641 -e 's:$: $lt_compiler_flag:'`9642 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)9643 (eval "$lt_compile" 2>conftest.err)9644 ac_status=$?9645 cat conftest.err >&59646 echo "$as_me:$LINENO: \$? = $ac_status" >&59647 if (exit $ac_status) && test -s "$ac_outfile"; then9648 # The compiler can only warn and ignore the option if not recognized9649 # So say no if there are warnings other than the usual output.9650 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp9651 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er29652 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then9653 lt_cv_prog_compiler_rtti_exceptions=yes9654 fi9655 fi9656 $RM conftest*9657 9658 fi9659 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&59660 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }9661 9662 if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then9663 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"9664 else9665 :9666 fi9667 9668 fi9669 9670 9671 9672 9673 9674 9675 lt_prog_compiler_wl=9676 lt_prog_compiler_pic=9677 lt_prog_compiler_static=9678 9679 9680 if test yes = "$GCC"; then9681 lt_prog_compiler_wl='-Wl,'9682 lt_prog_compiler_static='-static'9683 9684 case $host_os in9685 aix*)9686 # All AIX code is PIC.9687 if test ia64 = "$host_cpu"; then9688 # AIX 5 now supports IA64 processor9689 lt_prog_compiler_static='-Bstatic'9690 fi9691 lt_prog_compiler_pic='-fPIC'9692 ;;9693 9694 amigaos*)9695 case $host_cpu in9696 powerpc)9697 # see comment about AmigaOS4 .so support9698 lt_prog_compiler_pic='-fPIC'9699 ;;9700 m68k)9701 # FIXME: we need at least 68020 code to build shared libraries, but9702 # adding the '-m68020' flag to GCC prevents building anything better,9703 # like '-m68040'.9704 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'9705 ;;9706 esac9707 ;;9708 9709 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)9710 # PIC is the default for these OSes.9711 ;;9712 9713 mingw* | cygwin* | pw32* | os2* | cegcc*)9714 # This hack is so that the source file can tell whether it is being9715 # built for inclusion in a dll (and should export symbols for example).9716 # Although the cygwin gcc ignores -fPIC, still need this for old-style9717 # (--disable-auto-import) libraries9718 lt_prog_compiler_pic='-DDLL_EXPORT'9719 case $host_os in9720 os2*)9721 lt_prog_compiler_static='$wl-static'9722 ;;9723 esac9724 ;;9725 9726 darwin* | rhapsody*)9727 # PIC is the default on this platform9728 # Common symbols not allowed in MH_DYLIB files9729 lt_prog_compiler_pic='-fno-common'9730 ;;9731 9732 haiku*)9733 # PIC is the default for Haiku.9734 # The "-static" flag exists, but is broken.9735 lt_prog_compiler_static=9736 ;;9737 9738 hpux*)9739 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit9740 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag9741 # sets the default TLS model and affects inlining.9742 case $host_cpu in9743 hppa*64*)9744 # +Z the default9745 ;;9746 *)9747 lt_prog_compiler_pic='-fPIC'9748 ;;9749 esac9750 ;;9751 9752 interix[3-9]*)9753 # Interix 3.x gcc -fpic/-fPIC options generate broken code.9754 # Instead, we relocate shared libraries at runtime.9755 ;;9756 9757 msdosdjgpp*)9758 # Just because we use GCC doesn't mean we suddenly get shared libraries9759 # on systems that don't support them.9760 lt_prog_compiler_can_build_shared=no9761 enable_shared=no9762 ;;9763 9764 *nto* | *qnx*)9765 # QNX uses GNU C++, but need to define -shared option too, otherwise9766 # it will coredump.9767 lt_prog_compiler_pic='-fPIC -shared'9768 ;;9769 9770 sysv4*MP*)9771 if test -d /usr/nec; then9772 lt_prog_compiler_pic=-Kconform_pic9773 fi9774 ;;9775 9776 *)9777 lt_prog_compiler_pic='-fPIC'9778 ;;9779 esac9780 9781 case $cc_basename in9782 nvcc*) # Cuda Compiler Driver 2.29783 lt_prog_compiler_wl='-Xlinker '9784 if test -n "$lt_prog_compiler_pic"; then9785 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"9786 fi9787 ;;9788 esac9789 else9790 # PORTME Check for flag to pass linker flags through the system compiler.9791 case $host_os in9792 aix*)9793 lt_prog_compiler_wl='-Wl,'9794 if test ia64 = "$host_cpu"; then9795 # AIX 5 now supports IA64 processor9796 lt_prog_compiler_static='-Bstatic'9797 else9798 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'9799 fi9800 ;;9801 9802 darwin* | rhapsody*)9803 # PIC is the default on this platform9804 # Common symbols not allowed in MH_DYLIB files9805 lt_prog_compiler_pic='-fno-common'9806 case $cc_basename in9807 nagfor*)9808 # NAG Fortran compiler9809 lt_prog_compiler_wl='-Wl,-Wl,,'9810 lt_prog_compiler_pic='-PIC'9811 lt_prog_compiler_static='-Bstatic'9812 ;;9813 esac9814 ;;9815 9816 mingw* | cygwin* | pw32* | os2* | cegcc*)9817 # This hack is so that the source file can tell whether it is being9818 # built for inclusion in a dll (and should export symbols for example).9819 lt_prog_compiler_pic='-DDLL_EXPORT'9820 case $host_os in9821 os2*)9822 lt_prog_compiler_static='$wl-static'9823 ;;9824 esac9825 ;;9826 9827 hpux9* | hpux10* | hpux11*)9828 lt_prog_compiler_wl='-Wl,'9829 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but9830 # not for PA HP-UX.9831 case $host_cpu in9832 hppa*64*|ia64*)9833 # +Z the default9834 ;;9835 *)9836 lt_prog_compiler_pic='+Z'9837 ;;9838 esac9839 # Is there a better lt_prog_compiler_static that works with the bundled CC?9840 lt_prog_compiler_static='$wl-a ${wl}archive'9841 ;;9842 9843 irix5* | irix6* | nonstopux*)9844 lt_prog_compiler_wl='-Wl,'9845 # PIC (with -KPIC) is the default.9846 lt_prog_compiler_static='-non_shared'9847 ;;9848 9849 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)9850 case $cc_basename in9851 # old Intel for x86_64, which still supported -KPIC.9852 ecc*)9853 lt_prog_compiler_wl='-Wl,'9854 lt_prog_compiler_pic='-KPIC'9855 lt_prog_compiler_static='-static'9856 ;;9857 # icc used to be incompatible with GCC.9858 # ICC 10 doesn't accept -KPIC any more.9859 icc* | ifort*)9860 lt_prog_compiler_wl='-Wl,'9861 lt_prog_compiler_pic='-fPIC'9862 lt_prog_compiler_static='-static'9863 ;;9864 # Lahey Fortran 8.1.9865 lf95*)9866 lt_prog_compiler_wl='-Wl,'9867 lt_prog_compiler_pic='--shared'9868 lt_prog_compiler_static='--static'9869 ;;9870 nagfor*)9871 # NAG Fortran compiler9872 lt_prog_compiler_wl='-Wl,-Wl,,'9873 lt_prog_compiler_pic='-PIC'9874 lt_prog_compiler_static='-Bstatic'9875 ;;9876 tcc*)9877 # Fabrice Bellard et al's Tiny C Compiler9878 lt_prog_compiler_wl='-Wl,'9879 lt_prog_compiler_pic='-fPIC'9880 lt_prog_compiler_static='-static'9881 ;;9882 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)9883 # Portland Group compilers (*not* the Pentium gcc compiler,9884 # which looks to be a dead project)9885 lt_prog_compiler_wl='-Wl,'9886 lt_prog_compiler_pic='-fpic'9887 lt_prog_compiler_static='-Bstatic'9888 ;;9889 ccc*)9890 lt_prog_compiler_wl='-Wl,'9891 # All Alpha code is PIC.9892 lt_prog_compiler_static='-non_shared'9893 ;;9894 xl* | bgxl* | bgf* | mpixl*)9895 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene9896 lt_prog_compiler_wl='-Wl,'9897 lt_prog_compiler_pic='-qpic'9898 lt_prog_compiler_static='-qstaticlink'9899 ;;9900 *)9901 case `$CC -V 2>&1 | sed 5q` in9902 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)9903 # Sun Fortran 8.3 passes all unrecognized flags to the linker9904 lt_prog_compiler_pic='-KPIC'9905 lt_prog_compiler_static='-Bstatic'9906 lt_prog_compiler_wl=''9907 ;;9908 *Sun\ F* | *Sun*Fortran*)9909 lt_prog_compiler_pic='-KPIC'9910 lt_prog_compiler_static='-Bstatic'9911 lt_prog_compiler_wl='-Qoption ld '9912 ;;9913 *Sun\ C*)9914 # Sun C 5.99915 lt_prog_compiler_pic='-KPIC'9916 lt_prog_compiler_static='-Bstatic'9917 lt_prog_compiler_wl='-Wl,'9918 ;;9919 *Intel*\ [CF]*Compiler*)9920 lt_prog_compiler_wl='-Wl,'9921 lt_prog_compiler_pic='-fPIC'9922 lt_prog_compiler_static='-static'9923 ;;9924 *Portland\ Group*)9925 lt_prog_compiler_wl='-Wl,'9926 lt_prog_compiler_pic='-fpic'9927 lt_prog_compiler_static='-Bstatic'9928 ;;9929 esac9930 ;;9931 esac9932 ;;9933 9934 newsos6)9935 lt_prog_compiler_pic='-KPIC'9936 lt_prog_compiler_static='-Bstatic'9937 ;;9938 9939 *nto* | *qnx*)9940 # QNX uses GNU C++, but need to define -shared option too, otherwise9941 # it will coredump.9942 lt_prog_compiler_pic='-fPIC -shared'9943 ;;9944 9945 osf3* | osf4* | osf5*)9946 lt_prog_compiler_wl='-Wl,'9947 # All OSF/1 code is PIC.9948 lt_prog_compiler_static='-non_shared'9949 ;;9950 9951 rdos*)9952 lt_prog_compiler_static='-non_shared'9953 ;;9954 9955 solaris*)9956 lt_prog_compiler_pic='-KPIC'9957 lt_prog_compiler_static='-Bstatic'9958 case $cc_basename in9959 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)9960 lt_prog_compiler_wl='-Qoption ld ';;9961 *)9962 lt_prog_compiler_wl='-Wl,';;9963 esac9964 ;;9965 9966 sunos4*)9967 lt_prog_compiler_wl='-Qoption ld '9968 lt_prog_compiler_pic='-PIC'9969 lt_prog_compiler_static='-Bstatic'9970 ;;9971 9972 sysv4 | sysv4.2uw2* | sysv4.3*)9973 lt_prog_compiler_wl='-Wl,'9974 lt_prog_compiler_pic='-KPIC'9975 lt_prog_compiler_static='-Bstatic'9976 ;;9977 9978 sysv4*MP*)9979 if test -d /usr/nec; then9980 lt_prog_compiler_pic='-Kconform_pic'9981 lt_prog_compiler_static='-Bstatic'9982 fi9983 ;;9984 9985 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)9986 lt_prog_compiler_wl='-Wl,'9987 lt_prog_compiler_pic='-KPIC'9988 lt_prog_compiler_static='-Bstatic'9989 ;;9990 9991 unicos*)9992 lt_prog_compiler_wl='-Wl,'9993 lt_prog_compiler_can_build_shared=no9994 ;;9995 9996 uts4*)9997 lt_prog_compiler_pic='-pic'9998 lt_prog_compiler_static='-Bstatic'9999 ;;10000 10001 *)10002 lt_prog_compiler_can_build_shared=no10003 ;;10004 esac10005 fi10006 10007 case $host_os in10008 # For platforms that do not support PIC, -DPIC is meaningless:10009 *djgpp*)10010 lt_prog_compiler_pic=10011 ;;10012 *)10013 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"10014 ;;10015 esac10016 10017 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&510018 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }10019 if ${lt_cv_prog_compiler_pic+:} false; then :10020 $as_echo_n "(cached) " >&610021 else10022 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic10023 fi10024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&510025 $as_echo "$lt_cv_prog_compiler_pic" >&6; }10026 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic10027 10028 #10029 # Check to make sure the PIC flag actually works.10030 #10031 if test -n "$lt_prog_compiler_pic"; then10032 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&510033 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }10034 if ${lt_cv_prog_compiler_pic_works+:} false; then :10035 $as_echo_n "(cached) " >&610036 else10037 lt_cv_prog_compiler_pic_works=no10038 ac_outfile=conftest.$ac_objext10039 echo "$lt_simple_compile_test_code" > conftest.$ac_ext10040 lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment10041 # Insert the option either (1) after the last *FLAGS variable, or10042 # (2) before a word containing "conftest.", or (3) at the end.10043 # Note that $ac_compile itself does not contain backslashes and begins10044 # with a dollar sign (not a hyphen), so the echo should work correctly.10045 # The option is referenced via a variable to avoid confusing sed.10046 lt_compile=`echo "$ac_compile" | $SED \10047 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \10048 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \10049 -e 's:$: $lt_compiler_flag:'`10050 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)10051 (eval "$lt_compile" 2>conftest.err)10052 ac_status=$?10053 cat conftest.err >&510054 echo "$as_me:$LINENO: \$? = $ac_status" >&510055 if (exit $ac_status) && test -s "$ac_outfile"; then10056 # The compiler can only warn and ignore the option if not recognized10057 # So say no if there are warnings other than the usual output.10058 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp10059 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er210060 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then10061 lt_cv_prog_compiler_pic_works=yes10062 fi10063 fi10064 $RM conftest*10065 10066 fi10067 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&510068 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }10069 10070 if test yes = "$lt_cv_prog_compiler_pic_works"; then10071 case $lt_prog_compiler_pic in10072 "" | " "*) ;;10073 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;10074 esac10075 else10076 lt_prog_compiler_pic=10077 lt_prog_compiler_can_build_shared=no10078 fi10079 10080 fi10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 #10093 # Check to make sure the static flag actually works.10094 #10095 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"10096 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&510097 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }10098 if ${lt_cv_prog_compiler_static_works+:} false; then :10099 $as_echo_n "(cached) " >&610100 else10101 lt_cv_prog_compiler_static_works=no10102 save_LDFLAGS=$LDFLAGS10103 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"10104 echo "$lt_simple_link_test_code" > conftest.$ac_ext10105 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then10106 # The linker can only warn and ignore the option if not recognized10107 # So say no if there are warnings10108 if test -s conftest.err; then10109 # Append any errors to the config.log.10110 cat conftest.err 1>&510111 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp10112 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er210113 if diff conftest.exp conftest.er2 >/dev/null; then10114 lt_cv_prog_compiler_static_works=yes10115 fi10116 else10117 lt_cv_prog_compiler_static_works=yes10118 fi10119 fi10120 $RM -r conftest*10121 LDFLAGS=$save_LDFLAGS10122 10123 fi10124 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&510125 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }10126 10127 if test yes = "$lt_cv_prog_compiler_static_works"; then10128 :10129 else10130 lt_prog_compiler_static=10131 fi10132 10133 10134 10135 10136 10137 10138 10139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&510140 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }10141 if ${lt_cv_prog_compiler_c_o+:} false; then :10142 $as_echo_n "(cached) " >&610143 else10144 lt_cv_prog_compiler_c_o=no10145 $RM -r conftest 2>/dev/null10146 mkdir conftest10147 cd conftest10148 mkdir out10149 echo "$lt_simple_compile_test_code" > conftest.$ac_ext10150 10151 lt_compiler_flag="-o out/conftest2.$ac_objext"10152 # Insert the option either (1) after the last *FLAGS variable, or10153 # (2) before a word containing "conftest.", or (3) at the end.10154 # Note that $ac_compile itself does not contain backslashes and begins10155 # with a dollar sign (not a hyphen), so the echo should work correctly.10156 lt_compile=`echo "$ac_compile" | $SED \10157 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \10158 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \10159 -e 's:$: $lt_compiler_flag:'`10160 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)10161 (eval "$lt_compile" 2>out/conftest.err)10162 ac_status=$?10163 cat out/conftest.err >&510164 echo "$as_me:$LINENO: \$? = $ac_status" >&510165 if (exit $ac_status) && test -s out/conftest2.$ac_objext10166 then10167 # The compiler can only warn and ignore the option if not recognized10168 # So say no if there are warnings10169 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp10170 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er210171 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then10172 lt_cv_prog_compiler_c_o=yes10173 fi10174 fi10175 chmod u+w . 2>&510176 $RM conftest*10177 # SGI C++ compiler will create directory out/ii_files/ for10178 # template instantiation10179 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files10180 $RM out/* && rmdir out10181 cd ..10182 $RM -r conftest10183 $RM conftest*10184 10185 fi10186 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&510187 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }10188 10189 10190 10191 10192 10193 10194 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&510195 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }10196 if ${lt_cv_prog_compiler_c_o+:} false; then :10197 $as_echo_n "(cached) " >&610198 else10199 lt_cv_prog_compiler_c_o=no10200 $RM -r conftest 2>/dev/null10201 mkdir conftest10202 cd conftest10203 mkdir out10204 echo "$lt_simple_compile_test_code" > conftest.$ac_ext10205 10206 lt_compiler_flag="-o out/conftest2.$ac_objext"10207 # Insert the option either (1) after the last *FLAGS variable, or10208 # (2) before a word containing "conftest.", or (3) at the end.10209 # Note that $ac_compile itself does not contain backslashes and begins10210 # with a dollar sign (not a hyphen), so the echo should work correctly.10211 lt_compile=`echo "$ac_compile" | $SED \10212 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \10213 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \10214 -e 's:$: $lt_compiler_flag:'`10215 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)10216 (eval "$lt_compile" 2>out/conftest.err)10217 ac_status=$?10218 cat out/conftest.err >&510219 echo "$as_me:$LINENO: \$? = $ac_status" >&510220 if (exit $ac_status) && test -s out/conftest2.$ac_objext10221 then10222 # The compiler can only warn and ignore the option if not recognized10223 # So say no if there are warnings10224 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp10225 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er210226 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then10227 lt_cv_prog_compiler_c_o=yes10228 fi10229 fi10230 chmod u+w . 2>&510231 $RM conftest*10232 # SGI C++ compiler will create directory out/ii_files/ for10233 # template instantiation10234 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files10235 $RM out/* && rmdir out10236 cd ..10237 $RM -r conftest10238 $RM conftest*10239 10240 fi10241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&510242 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }10243 10244 10245 10246 10247 hard_links=nottested10248 if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then10249 # do not overwrite the value of need_locks provided by the user10250 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&510251 $as_echo_n "checking if we can lock with hard links... " >&6; }10252 hard_links=yes10253 $RM conftest*10254 ln conftest.a conftest.b 2>/dev/null && hard_links=no10255 touch conftest.a10256 ln conftest.a conftest.b 2>&5 || hard_links=no10257 ln conftest.a conftest.b 2>/dev/null && hard_links=no10258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&510259 $as_echo "$hard_links" >&6; }10260 if test no = "$hard_links"; then10261 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&510262 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}10263 need_locks=warn10264 fi10265 else10266 need_locks=no10267 fi10268 10269 10270 10271 10272 10273 10274 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&510275 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }10276 10277 runpath_var=10278 allow_undefined_flag=10279 always_export_symbols=no10280 archive_cmds=10281 archive_expsym_cmds=10282 compiler_needs_object=no10283 enable_shared_with_static_runtimes=no10284 export_dynamic_flag_spec=10285 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'10286 hardcode_automatic=no10287 hardcode_direct=no10288 hardcode_direct_absolute=no10289 hardcode_libdir_flag_spec=10290 hardcode_libdir_separator=10291 hardcode_minus_L=no10292 hardcode_shlibpath_var=unsupported10293 inherit_rpath=no10294 link_all_deplibs=unknown10295 module_cmds=10296 module_expsym_cmds=10297 old_archive_from_new_cmds=10298 old_archive_from_expsyms_cmds=10299 thread_safe_flag_spec=10300 whole_archive_flag_spec=10301 # include_expsyms should be a list of space-separated symbols to be *always*10302 # included in the symbol list10303 include_expsyms=10304 # exclude_expsyms can be an extended regexp of symbols to exclude10305 # it will be wrapped by ' (' and ')$', so one must not match beginning or10306 # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',10307 # as well as any symbol that contains 'd'.10308 exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'10309 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out10310 # platforms (ab)use it in PIC code, but their linkers get confused if10311 # the symbol is explicitly referenced. Since portable code cannot10312 # rely on this symbol name, it's probably fine to never include it in10313 # preloaded symbol tables.10314 # Exclude shared library initialization/finalization symbols.10315 extract_expsyms_cmds=10316 10317 case $host_os in10318 cygwin* | mingw* | pw32* | cegcc*)10319 # FIXME: the MSVC++ port hasn't been tested in a loooong time10320 # When not using gcc, we currently assume that we are using10321 # Microsoft Visual C++.10322 if test yes != "$GCC"; then10323 with_gnu_ld=no10324 fi10325 ;;10326 interix*)10327 # we just hope/assume this is gcc and not c89 (= MSVC++)10328 with_gnu_ld=yes10329 ;;10330 openbsd* | bitrig*)10331 with_gnu_ld=no10332 ;;10333 linux* | k*bsd*-gnu | gnu*)10334 link_all_deplibs=no10335 ;;10336 esac10337 10338 ld_shlibs=yes10339 10340 # On some targets, GNU ld is compatible enough with the native linker10341 # that we're better off using the native interface for both.10342 lt_use_gnu_ld_interface=no10343 if test yes = "$with_gnu_ld"; then10344 case $host_os in10345 aix*)10346 # The AIX port of GNU ld has always aspired to compatibility10347 # with the native linker. However, as the warning in the GNU ld10348 # block says, versions before 2.19.5* couldn't really create working10349 # shared libraries, regardless of the interface used.10350 case `$LD -v 2>&1` in10351 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;10352 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;10353 *\ \(GNU\ Binutils\)\ [3-9]*) ;;10354 *)10355 lt_use_gnu_ld_interface=yes10356 ;;10357 esac10358 ;;10359 *)10360 lt_use_gnu_ld_interface=yes10361 ;;10362 esac10363 fi10364 10365 if test yes = "$lt_use_gnu_ld_interface"; then10366 # If archive_cmds runs LD, not CC, wlarc should be empty10367 wlarc='$wl'10368 10369 # Set some defaults for GNU ld with shared library support. These10370 # are reset later if shared libraries are not supported. Putting them10371 # here allows them to be overridden if necessary.10372 runpath_var=LD_RUN_PATH10373 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10374 export_dynamic_flag_spec='$wl--export-dynamic'10375 # ancient GNU ld didn't support --whole-archive et. al.10376 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then10377 whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'10378 else10379 whole_archive_flag_spec=10380 fi10381 supports_anon_versioning=no10382 case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in10383 *GNU\ gold*) supports_anon_versioning=yes ;;10384 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.1110385 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...10386 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...10387 *\ 2.11.*) ;; # other 2.11 versions10388 *) supports_anon_versioning=yes ;;10389 esac10390 10391 # See if GNU ld supports shared libraries.10392 case $host_os in10393 aix[3-9]*)10394 # On AIX/PPC, the GNU linker is very broken10395 if test ia64 != "$host_cpu"; then10396 ld_shlibs=no10397 cat <<_LT_EOF 1>&210398 10399 *** Warning: the GNU linker, at least up to release 2.19, is reported10400 *** to be unable to reliably create shared libraries on AIX.10401 *** Therefore, libtool is disabling shared libraries support. If you10402 *** really care for shared libraries, you may want to install binutils10403 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.10404 *** You will then need to restart the configuration process.10405 10406 _LT_EOF10407 fi10408 ;;10409 10410 amigaos*)10411 case $host_cpu in10412 powerpc)10413 # see comment about AmigaOS4 .so support10414 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10415 archive_expsym_cmds=''10416 ;;10417 m68k)10418 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'10419 hardcode_libdir_flag_spec='-L$libdir'10420 hardcode_minus_L=yes10421 ;;10422 esac10423 ;;10424 10425 beos*)10426 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then10427 allow_undefined_flag=unsupported10428 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc10429 # support --undefined. This deserves some investigation. FIXME10430 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10431 else10432 ld_shlibs=no10433 fi10434 ;;10435 10436 cygwin* | mingw* | pw32* | cegcc*)10437 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,10438 # as there is no search path for DLLs.10439 hardcode_libdir_flag_spec='-L$libdir'10440 export_dynamic_flag_spec='$wl--export-all-symbols'10441 allow_undefined_flag=unsupported10442 always_export_symbols=no10443 enable_shared_with_static_runtimes=yes10444 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'10445 exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'10446 10447 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then10448 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'10449 # If the export-symbols file already is a .def file, use it as10450 # is; otherwise, prepend EXPORTS...10451 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then10452 cp $export_symbols $output_objdir/$soname.def;10453 else10454 echo EXPORTS > $output_objdir/$soname.def;10455 cat $export_symbols >> $output_objdir/$soname.def;10456 fi~10457 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'10458 else10459 ld_shlibs=no10460 fi10461 ;;10462 10463 haiku*)10464 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10465 link_all_deplibs=yes10466 ;;10467 10468 os2*)10469 hardcode_libdir_flag_spec='-L$libdir'10470 hardcode_minus_L=yes10471 allow_undefined_flag=unsupported10472 shrext_cmds=.dll10473 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~10474 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~10475 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~10476 $ECHO EXPORTS >> $output_objdir/$libname.def~10477 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~10478 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~10479 emximp -o $lib $output_objdir/$libname.def'10480 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~10481 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~10482 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~10483 $ECHO EXPORTS >> $output_objdir/$libname.def~10484 prefix_cmds="$SED"~10485 if test EXPORTS = "`$SED 1q $export_symbols`"; then10486 prefix_cmds="$prefix_cmds -e 1d";10487 fi~10488 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~10489 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~10490 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~10491 emximp -o $lib $output_objdir/$libname.def'10492 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'10493 enable_shared_with_static_runtimes=yes10494 ;;10495 10496 interix[3-9]*)10497 hardcode_direct=no10498 hardcode_shlibpath_var=no10499 hardcode_libdir_flag_spec='$wl-rpath,$libdir'10500 export_dynamic_flag_spec='$wl-E'10501 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.10502 # Instead, shared libraries are loaded at an image base (0x10000000 by10503 # default) and relocated if they conflict, which is a slow very memory10504 # consuming and fragmenting process. To avoid this, we pick a random,10505 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link10506 # time. Moving up from 0x10000000 also allows more sbrk(2) space.10507 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'10508 archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'10509 ;;10510 10511 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)10512 tmp_diet=no10513 if test linux-dietlibc = "$host_os"; then10514 case $cc_basename in10515 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)10516 esac10517 fi10518 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \10519 && test no = "$tmp_diet"10520 then10521 tmp_addflag=' $pic_flag'10522 tmp_sharedflag='-shared'10523 case $cc_basename,$host_cpu in10524 pgcc*) # Portland Group C compiler10525 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'10526 tmp_addflag=' $pic_flag'10527 ;;10528 pgf77* | pgf90* | pgf95* | pgfortran*)10529 # Portland Group f77 and f90 compilers10530 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'10531 tmp_addflag=' $pic_flag -Mnomain' ;;10532 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia6410533 tmp_addflag=' -i_dynamic' ;;10534 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia6410535 tmp_addflag=' -i_dynamic -nofor_main' ;;10536 ifc* | ifort*) # Intel Fortran compiler10537 tmp_addflag=' -nofor_main' ;;10538 lf95*) # Lahey Fortran 8.110539 whole_archive_flag_spec=10540 tmp_sharedflag='--shared' ;;10541 nagfor*) # NAGFOR 5.310542 tmp_sharedflag='-Wl,-shared' ;;10543 xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)10544 tmp_sharedflag='-qmkshrobj'10545 tmp_addflag= ;;10546 nvcc*) # Cuda Compiler Driver 2.210547 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'10548 compiler_needs_object=yes10549 ;;10550 esac10551 case `$CC -V 2>&1 | sed 5q` in10552 *Sun\ C*) # Sun C 5.910553 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'10554 compiler_needs_object=yes10555 tmp_sharedflag='-G' ;;10556 *Sun\ F*) # Sun Fortran 8.310557 tmp_sharedflag='-G' ;;10558 esac10559 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10560 10561 if test yes = "$supports_anon_versioning"; then10562 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~10563 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~10564 echo "local: *; };" >> $output_objdir/$libname.ver~10565 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'10566 fi10567 10568 case $cc_basename in10569 tcc*)10570 export_dynamic_flag_spec='-rdynamic'10571 ;;10572 xlf* | bgf* | bgxlf* | mpixlf*)10573 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself10574 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'10575 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10576 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'10577 if test yes = "$supports_anon_versioning"; then10578 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~10579 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~10580 echo "local: *; };" >> $output_objdir/$libname.ver~10581 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'10582 fi10583 ;;10584 esac10585 else10586 ld_shlibs=no10587 fi10588 ;;10589 10590 netbsd* | netbsdelf*-gnu)10591 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then10592 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'10593 wlarc=10594 else10595 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10596 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'10597 fi10598 ;;10599 10600 solaris*)10601 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then10602 ld_shlibs=no10603 cat <<_LT_EOF 1>&210604 10605 *** Warning: The releases 2.8.* of the GNU linker cannot reliably10606 *** create shared libraries on Solaris systems. Therefore, libtool10607 *** is disabling shared libraries support. We urge you to upgrade GNU10608 *** binutils to release 2.9.1 or newer. Another option is to modify10609 *** your PATH or compiler configuration so that the native linker is10610 *** used, and then restart.10611 10612 _LT_EOF10613 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then10614 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10615 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'10616 else10617 ld_shlibs=no10618 fi10619 ;;10620 10621 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)10622 case `$LD -v 2>&1` in10623 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)10624 ld_shlibs=no10625 cat <<_LT_EOF 1>&210626 10627 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot10628 *** reliably create shared libraries on SCO systems. Therefore, libtool10629 *** is disabling shared libraries support. We urge you to upgrade GNU10630 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify10631 *** your PATH or compiler configuration so that the native linker is10632 *** used, and then restart.10633 10634 _LT_EOF10635 ;;10636 *)10637 # For security reasons, it is highly recommended that you always10638 # use absolute paths for naming shared libraries, and exclude the10639 # DT_RUNPATH tag from executables and libraries. But doing so10640 # requires that you compile everything twice, which is a pain.10641 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then10642 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10643 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10644 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'10645 else10646 ld_shlibs=no10647 fi10648 ;;10649 esac10650 ;;10651 10652 sunos4*)10653 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'10654 wlarc=10655 hardcode_direct=yes10656 hardcode_shlibpath_var=no10657 ;;10658 10659 *)10660 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then10661 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10662 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'10663 else10664 ld_shlibs=no10665 fi10666 ;;10667 esac10668 10669 if test no = "$ld_shlibs"; then10670 runpath_var=10671 hardcode_libdir_flag_spec=10672 export_dynamic_flag_spec=10673 whole_archive_flag_spec=10674 fi10675 else10676 # PORTME fill in a description of your system's linker (not GNU ld)10677 case $host_os in10678 aix3*)10679 allow_undefined_flag=unsupported10680 always_export_symbols=yes10681 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'10682 # Note: this linker hardcodes the directories in LIBPATH if there10683 # are no directories specified by -L.10684 hardcode_minus_L=yes10685 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then10686 # Neither direct hardcoding nor static linking is supported with a10687 # broken collect2.10688 hardcode_direct=unsupported10689 fi10690 ;;10691 10692 aix[4-9]*)10693 if test ia64 = "$host_cpu"; then10694 # On IA64, the linker does run time linking by default, so we don't10695 # have to do anything special.10696 aix_use_runtimelinking=no10697 exp_sym_flag='-Bexport'10698 no_entry_flag=10699 else10700 # If we're using GNU nm, then we don't want the "-C" option.10701 # -C means demangle to GNU nm, but means don't demangle to AIX nm.10702 # Without the "-l" option, or with the "-B" option, AIX nm treats10703 # weak defined symbols like other global defined symbols, whereas10704 # GNU nm marks them as "W".10705 # While the 'weak' keyword is ignored in the Export File, we need10706 # it in the Import File for the 'aix-soname' feature, so we have10707 # to replace the "-B" option with "-P" for AIX nm.10708 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then10709 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'10710 else10711 export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'10712 fi10713 aix_use_runtimelinking=no10714 10715 # Test if we are trying to use run time linking or normal10716 # AIX style linking. If -brtl is somewhere in LDFLAGS, we10717 # have runtime linking enabled, and use it for executables.10718 # For shared libraries, we enable/disable runtime linking10719 # depending on the kind of the shared library created -10720 # when "with_aix_soname,aix_use_runtimelinking" is:10721 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables10722 # "aix,yes" lib.so shared, rtl:yes, for executables10723 # lib.a static archive10724 # "both,no" lib.so.V(shr.o) shared, rtl:yes10725 # lib.a(lib.so.V) shared, rtl:no, for executables10726 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables10727 # lib.a(lib.so.V) shared, rtl:no10728 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables10729 # lib.a static archive10730 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)10731 for ld_flag in $LDFLAGS; do10732 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then10733 aix_use_runtimelinking=yes10734 break10735 fi10736 done10737 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then10738 # With aix-soname=svr4, we create the lib.so.V shared archives only,10739 # so we don't have lib.a shared libs to link our executables.10740 # We have to force runtime linking in this case.10741 aix_use_runtimelinking=yes10742 LDFLAGS="$LDFLAGS -Wl,-brtl"10743 fi10744 ;;10745 esac10746 10747 exp_sym_flag='-bexport'10748 no_entry_flag='-bnoentry'10749 fi10750 10751 # When large executables or shared objects are built, AIX ld can10752 # have problems creating the table of contents. If linking a library10753 # or program results in "error TOC overflow" add -mminimal-toc to10754 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not10755 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.10756 10757 archive_cmds=''10758 hardcode_direct=yes10759 hardcode_direct_absolute=yes10760 hardcode_libdir_separator=':'10761 link_all_deplibs=yes10762 file_list_spec='$wl-f,'10763 case $with_aix_soname,$aix_use_runtimelinking in10764 aix,*) ;; # traditional, no import file10765 svr4,* | *,yes) # use import file10766 # The Import File defines what to hardcode.10767 hardcode_direct=no10768 hardcode_direct_absolute=no10769 ;;10770 esac10771 10772 if test yes = "$GCC"; then10773 case $host_os in aix4.[012]|aix4.[012].*)10774 # We only want to do this on AIX 4.2 and lower, the check10775 # below for broken collect2 doesn't work under 4.3+10776 collect2name=`$CC -print-prog-name=collect2`10777 if test -f "$collect2name" &&10778 strings "$collect2name" | $GREP resolve_lib_name >/dev/null10779 then10780 # We have reworked collect210781 :10782 else10783 # We have old collect210784 hardcode_direct=unsupported10785 # It fails to find uninstalled libraries when the uninstalled10786 # path is not listed in the libpath. Setting hardcode_minus_L10787 # to unsupported forces relinking10788 hardcode_minus_L=yes10789 hardcode_libdir_flag_spec='-L$libdir'10790 hardcode_libdir_separator=10791 fi10792 ;;10793 esac10794 shared_flag='-shared'10795 if test yes = "$aix_use_runtimelinking"; then10796 shared_flag="$shared_flag "'$wl-G'10797 fi10798 # Need to ensure runtime linking is disabled for the traditional10799 # shared library, or the linker may eventually find shared libraries10800 # /with/ Import File - we do not want to mix them.10801 shared_flag_aix='-shared'10802 shared_flag_svr4='-shared $wl-G'10803 else10804 # not using gcc10805 if test ia64 = "$host_cpu"; then10806 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release10807 # chokes on -Wl,-G. The following line is correct:10808 shared_flag='-G'10809 else10810 if test yes = "$aix_use_runtimelinking"; then10811 shared_flag='$wl-G'10812 else10813 shared_flag='$wl-bM:SRE'10814 fi10815 shared_flag_aix='$wl-bM:SRE'10816 shared_flag_svr4='$wl-G'10817 fi10818 fi10819 10820 export_dynamic_flag_spec='$wl-bexpall'10821 # It seems that -bexpall does not export symbols beginning with10822 # underscore (_), so it is better to generate a list of symbols to export.10823 always_export_symbols=yes10824 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then10825 # Warning - without using the other runtime loading flags (-brtl),10826 # -berok will link without error, but may produce a broken library.10827 allow_undefined_flag='-berok'10828 # Determine the default libpath from the value encoded in an10829 # empty executable.10830 if test set = "${lt_cv_aix_libpath+set}"; then10831 aix_libpath=$lt_cv_aix_libpath10832 else10833 if ${lt_cv_aix_libpath_+:} false; then :10834 $as_echo_n "(cached) " >&610835 else10836 cat confdefs.h - <<_ACEOF >conftest.$ac_ext10837 /* end confdefs.h. */10838 10839 int10840 main ()10841 {10842 10843 ;10844 return 0;10845 }10846 _ACEOF10847 if ac_fn_c_try_link "$LINENO"; then :10848 10849 lt_aix_libpath_sed='10850 /Import File Strings/,/^$/ {10851 /^0/ {10852 s/^0 *\([^ ]*\) *$/\1/10853 p10854 }10855 }'10856 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`10857 # Check for a 64-bit object if we didn't find anything.10858 if test -z "$lt_cv_aix_libpath_"; then10859 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`10860 fi10861 fi10862 rm -f core conftest.err conftest.$ac_objext \10863 conftest$ac_exeext conftest.$ac_ext10864 if test -z "$lt_cv_aix_libpath_"; then10865 lt_cv_aix_libpath_=/usr/lib:/lib10866 fi10867 10868 fi10869 10870 aix_libpath=$lt_cv_aix_libpath_10871 fi10872 10873 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"10874 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag10875 else10876 if test ia64 = "$host_cpu"; then10877 hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'10878 allow_undefined_flag="-z nodefs"10879 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"10880 else10881 # Determine the default libpath from the value encoded in an10882 # empty executable.10883 if test set = "${lt_cv_aix_libpath+set}"; then10884 aix_libpath=$lt_cv_aix_libpath10885 else10886 if ${lt_cv_aix_libpath_+:} false; then :10887 $as_echo_n "(cached) " >&610888 else10889 cat confdefs.h - <<_ACEOF >conftest.$ac_ext10890 /* end confdefs.h. */10891 10892 int10893 main ()10894 {10895 10896 ;10897 return 0;10898 }10899 _ACEOF10900 if ac_fn_c_try_link "$LINENO"; then :10901 10902 lt_aix_libpath_sed='10903 /Import File Strings/,/^$/ {10904 /^0/ {10905 s/^0 *\([^ ]*\) *$/\1/10906 p10907 }10908 }'10909 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`10910 # Check for a 64-bit object if we didn't find anything.10911 if test -z "$lt_cv_aix_libpath_"; then10912 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`10913 fi10914 fi10915 rm -f core conftest.err conftest.$ac_objext \10916 conftest$ac_exeext conftest.$ac_ext10917 if test -z "$lt_cv_aix_libpath_"; then10918 lt_cv_aix_libpath_=/usr/lib:/lib10919 fi10920 10921 fi10922 10923 aix_libpath=$lt_cv_aix_libpath_10924 fi10925 10926 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"10927 # Warning - without using the other run time loading flags,10928 # -berok will link without error, but may produce a broken library.10929 no_undefined_flag=' $wl-bernotok'10930 allow_undefined_flag=' $wl-berok'10931 if test yes = "$with_gnu_ld"; then10932 # We only use this code for GNU lds that support --whole-archive.10933 whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'10934 else10935 # Exported symbols can be pulled into shared objects from archives10936 whole_archive_flag_spec='$convenience'10937 fi10938 archive_cmds_need_lc=yes10939 archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'10940 # -brtl affects multiple linker settings, -berok does not and is overridden later10941 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'10942 if test svr4 != "$with_aix_soname"; then10943 # This is similar to how AIX traditionally builds its shared libraries.10944 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'10945 fi10946 if test aix != "$with_aix_soname"; then10947 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'10948 else10949 # used by -dlpreopen to get the symbols10950 archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'10951 fi10952 archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'10953 fi10954 fi10955 ;;10956 10957 amigaos*)10958 case $host_cpu in10959 powerpc)10960 # see comment about AmigaOS4 .so support10961 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'10962 archive_expsym_cmds=''10963 ;;10964 m68k)10965 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'10966 hardcode_libdir_flag_spec='-L$libdir'10967 hardcode_minus_L=yes10968 ;;10969 esac10970 ;;10971 10972 bsdi[45]*)10973 export_dynamic_flag_spec=-rdynamic10974 ;;10975 10976 cygwin* | mingw* | pw32* | cegcc*)10977 # When not using gcc, we currently assume that we are using10978 # Microsoft Visual C++.10979 # hardcode_libdir_flag_spec is actually meaningless, as there is10980 # no search path for DLLs.10981 case $cc_basename in10982 cl*)10983 # Native MSVC10984 hardcode_libdir_flag_spec=' '10985 allow_undefined_flag=unsupported10986 always_export_symbols=yes10987 file_list_spec='@'10988 # Tell ltmain to make .lib files, not .a files.10989 libext=lib10990 # Tell ltmain to make .dll files, not .so files.10991 shrext_cmds=.dll10992 # FIXME: Setting linknames here is a bad hack.10993 archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='10994 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then10995 cp "$export_symbols" "$output_objdir/$soname.def";10996 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";10997 else10998 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;10999 fi~11000 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~11001 linknames='11002 # The linker will not automatically build a static lib if we build a DLL.11003 # _LT_TAGVAR(old_archive_from_new_cmds, )='true'11004 enable_shared_with_static_runtimes=yes11005 exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'11006 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'11007 # Don't use ranlib11008 old_postinstall_cmds='chmod 644 $oldlib'11009 postlink_cmds='lt_outputfile="@OUTPUT@"~11010 lt_tool_outputfile="@TOOL_OUTPUT@"~11011 case $lt_outputfile in11012 *.exe|*.EXE) ;;11013 *)11014 lt_outputfile=$lt_outputfile.exe11015 lt_tool_outputfile=$lt_tool_outputfile.exe11016 ;;11017 esac~11018 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then11019 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;11020 $RM "$lt_outputfile.manifest";11021 fi'11022 ;;11023 *)11024 # Assume MSVC wrapper11025 hardcode_libdir_flag_spec=' '11026 allow_undefined_flag=unsupported11027 # Tell ltmain to make .lib files, not .a files.11028 libext=lib11029 # Tell ltmain to make .dll files, not .so files.11030 shrext_cmds=.dll11031 # FIXME: Setting linknames here is a bad hack.11032 archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='11033 # The linker will automatically build a .lib file if we build a DLL.11034 old_archive_from_new_cmds='true'11035 # FIXME: Should let the user specify the lib program.11036 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'11037 enable_shared_with_static_runtimes=yes11038 ;;11039 esac11040 ;;11041 11042 darwin* | rhapsody*)11043 11044 11045 archive_cmds_need_lc=no11046 hardcode_direct=no11047 hardcode_automatic=yes11048 hardcode_shlibpath_var=unsupported11049 if test yes = "$lt_cv_ld_force_load"; then11050 whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'11051 11052 else11053 whole_archive_flag_spec=''11054 fi11055 link_all_deplibs=yes11056 allow_undefined_flag=$_lt_dar_allow_undefined11057 case $cc_basename in11058 ifort*|nagfor*) _lt_dar_can_shared=yes ;;11059 *) _lt_dar_can_shared=$GCC ;;11060 esac11061 if test yes = "$_lt_dar_can_shared"; then11062 output_verbose_link_cmd=func_echo_all11063 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"11064 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"11065 archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"11066 module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"11067 11068 else11069 ld_shlibs=no11070 fi11071 11072 ;;11073 11074 dgux*)11075 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11076 hardcode_libdir_flag_spec='-L$libdir'11077 hardcode_shlibpath_var=no11078 ;;11079 11080 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor11081 # support. Future versions do this automatically, but an explicit c++rt0.o11082 # does not break anything, and helps significantly (at the cost of a little11083 # extra space).11084 freebsd2.2*)11085 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'11086 hardcode_libdir_flag_spec='-R$libdir'11087 hardcode_direct=yes11088 hardcode_shlibpath_var=no11089 ;;11090 11091 # Unfortunately, older versions of FreeBSD 2 do not have this feature.11092 freebsd2.*)11093 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'11094 hardcode_direct=yes11095 hardcode_minus_L=yes11096 hardcode_shlibpath_var=no11097 ;;11098 11099 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.11100 freebsd* | dragonfly*)11101 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'11102 hardcode_libdir_flag_spec='-R$libdir'11103 hardcode_direct=yes11104 hardcode_shlibpath_var=no11105 ;;11106 11107 hpux9*)11108 if test yes = "$GCC"; then11109 archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'11110 else11111 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'11112 fi11113 hardcode_libdir_flag_spec='$wl+b $wl$libdir'11114 hardcode_libdir_separator=:11115 hardcode_direct=yes11116 11117 # hardcode_minus_L: Not really in the search PATH,11118 # but as the default location of the library.11119 hardcode_minus_L=yes11120 export_dynamic_flag_spec='$wl-E'11121 ;;11122 11123 hpux10*)11124 if test yes,no = "$GCC,$with_gnu_ld"; then11125 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'11126 else11127 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'11128 fi11129 if test no = "$with_gnu_ld"; then11130 hardcode_libdir_flag_spec='$wl+b $wl$libdir'11131 hardcode_libdir_separator=:11132 hardcode_direct=yes11133 hardcode_direct_absolute=yes11134 export_dynamic_flag_spec='$wl-E'11135 # hardcode_minus_L: Not really in the search PATH,11136 # but as the default location of the library.11137 hardcode_minus_L=yes11138 fi11139 ;;11140 11141 hpux11*)11142 if test yes,no = "$GCC,$with_gnu_ld"; then11143 case $host_cpu in11144 hppa*64*)11145 archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'11146 ;;11147 ia64*)11148 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'11149 ;;11150 *)11151 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'11152 ;;11153 esac11154 else11155 case $host_cpu in11156 hppa*64*)11157 archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'11158 ;;11159 ia64*)11160 archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'11161 ;;11162 *)11163 11164 # Older versions of the 11.00 compiler do not understand -b yet11165 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)11166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&511167 $as_echo_n "checking if $CC understands -b... " >&6; }11168 if ${lt_cv_prog_compiler__b+:} false; then :11169 $as_echo_n "(cached) " >&611170 else11171 lt_cv_prog_compiler__b=no11172 save_LDFLAGS=$LDFLAGS11173 LDFLAGS="$LDFLAGS -b"11174 echo "$lt_simple_link_test_code" > conftest.$ac_ext11175 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then11176 # The linker can only warn and ignore the option if not recognized11177 # So say no if there are warnings11178 if test -s conftest.err; then11179 # Append any errors to the config.log.11180 cat conftest.err 1>&511181 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp11182 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er211183 if diff conftest.exp conftest.er2 >/dev/null; then11184 lt_cv_prog_compiler__b=yes11185 fi11186 else11187 lt_cv_prog_compiler__b=yes11188 fi11189 fi11190 $RM -r conftest*11191 LDFLAGS=$save_LDFLAGS11192 11193 fi11194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&511195 $as_echo "$lt_cv_prog_compiler__b" >&6; }11196 11197 if test yes = "$lt_cv_prog_compiler__b"; then11198 archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'11199 else11200 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'11201 fi11202 11203 ;;11204 esac11205 fi11206 if test no = "$with_gnu_ld"; then11207 hardcode_libdir_flag_spec='$wl+b $wl$libdir'11208 hardcode_libdir_separator=:11209 11210 case $host_cpu in11211 hppa*64*|ia64*)11212 hardcode_direct=no11213 hardcode_shlibpath_var=no11214 ;;11215 *)11216 hardcode_direct=yes11217 hardcode_direct_absolute=yes11218 export_dynamic_flag_spec='$wl-E'11219 11220 # hardcode_minus_L: Not really in the search PATH,11221 # but as the default location of the library.11222 hardcode_minus_L=yes11223 ;;11224 esac11225 fi11226 ;;11227 11228 irix5* | irix6* | nonstopux*)11229 if test yes = "$GCC"; then11230 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'11231 # Try to use the -exported_symbol ld option, if it does not11232 # work, assume that -exports_file does not work either and11233 # implicitly export all symbols.11234 # This should be the same for all languages, so no per-tag cache variable.11235 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&511236 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }11237 if ${lt_cv_irix_exported_symbol+:} false; then :11238 $as_echo_n "(cached) " >&611239 else11240 save_LDFLAGS=$LDFLAGS11241 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"11242 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11243 /* end confdefs.h. */11244 int foo (void) { return 0; }11245 _ACEOF11246 if ac_fn_c_try_link "$LINENO"; then :11247 lt_cv_irix_exported_symbol=yes11248 else11249 lt_cv_irix_exported_symbol=no11250 fi11251 rm -f core conftest.err conftest.$ac_objext \11252 conftest$ac_exeext conftest.$ac_ext11253 LDFLAGS=$save_LDFLAGS11254 fi11255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&511256 $as_echo "$lt_cv_irix_exported_symbol" >&6; }11257 if test yes = "$lt_cv_irix_exported_symbol"; then11258 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'11259 fi11260 link_all_deplibs=no11261 else11262 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'11263 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'11264 fi11265 archive_cmds_need_lc='no'11266 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'11267 hardcode_libdir_separator=:11268 inherit_rpath=yes11269 link_all_deplibs=yes11270 ;;11271 11272 linux*)11273 case $cc_basename in11274 tcc*)11275 # Fabrice Bellard et al's Tiny C Compiler11276 ld_shlibs=yes11277 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'11278 ;;11279 esac11280 ;;11281 11282 netbsd* | netbsdelf*-gnu)11283 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then11284 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out11285 else11286 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF11287 fi11288 hardcode_libdir_flag_spec='-R$libdir'11289 hardcode_direct=yes11290 hardcode_shlibpath_var=no11291 ;;11292 11293 newsos6)11294 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11295 hardcode_direct=yes11296 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'11297 hardcode_libdir_separator=:11298 hardcode_shlibpath_var=no11299 ;;11300 11301 *nto* | *qnx*)11302 ;;11303 11304 openbsd* | bitrig*)11305 if test -f /usr/libexec/ld.so; then11306 hardcode_direct=yes11307 hardcode_shlibpath_var=no11308 hardcode_direct_absolute=yes11309 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then11310 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'11311 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'11312 hardcode_libdir_flag_spec='$wl-rpath,$libdir'11313 export_dynamic_flag_spec='$wl-E'11314 else11315 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'11316 hardcode_libdir_flag_spec='$wl-rpath,$libdir'11317 fi11318 else11319 ld_shlibs=no11320 fi11321 ;;11322 11323 os2*)11324 hardcode_libdir_flag_spec='-L$libdir'11325 hardcode_minus_L=yes11326 allow_undefined_flag=unsupported11327 shrext_cmds=.dll11328 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~11329 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~11330 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~11331 $ECHO EXPORTS >> $output_objdir/$libname.def~11332 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~11333 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~11334 emximp -o $lib $output_objdir/$libname.def'11335 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~11336 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~11337 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~11338 $ECHO EXPORTS >> $output_objdir/$libname.def~11339 prefix_cmds="$SED"~11340 if test EXPORTS = "`$SED 1q $export_symbols`"; then11341 prefix_cmds="$prefix_cmds -e 1d";11342 fi~11343 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~11344 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~11345 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~11346 emximp -o $lib $output_objdir/$libname.def'11347 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'11348 enable_shared_with_static_runtimes=yes11349 ;;11350 11351 osf3*)11352 if test yes = "$GCC"; then11353 allow_undefined_flag=' $wl-expect_unresolved $wl\*'11354 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'11355 else11356 allow_undefined_flag=' -expect_unresolved \*'11357 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'11358 fi11359 archive_cmds_need_lc='no'11360 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'11361 hardcode_libdir_separator=:11362 ;;11363 11364 osf4* | osf5*) # as osf3* with the addition of -msym flag11365 if test yes = "$GCC"; then11366 allow_undefined_flag=' $wl-expect_unresolved $wl\*'11367 archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'11368 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'11369 else11370 allow_undefined_flag=' -expect_unresolved \*'11371 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'11372 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~11373 $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'11374 11375 # Both c and cxx compiler support -rpath directly11376 hardcode_libdir_flag_spec='-rpath $libdir'11377 fi11378 archive_cmds_need_lc='no'11379 hardcode_libdir_separator=:11380 ;;11381 11382 solaris*)11383 no_undefined_flag=' -z defs'11384 if test yes = "$GCC"; then11385 wlarc='$wl'11386 archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'11387 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~11388 $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'11389 else11390 case `$CC -V 2>&1` in11391 *"Compilers 5.0"*)11392 wlarc=''11393 archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'11394 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~11395 $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'11396 ;;11397 *)11398 wlarc='$wl'11399 archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'11400 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~11401 $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'11402 ;;11403 esac11404 fi11405 hardcode_libdir_flag_spec='-R$libdir'11406 hardcode_shlibpath_var=no11407 case $host_os in11408 solaris2.[0-5] | solaris2.[0-5].*) ;;11409 *)11410 # The compiler driver will combine and reorder linker options,11411 # but understands '-z linker_flag'. GCC discards it without '$wl',11412 # but is careful enough not to reorder.11413 # Supported since Solaris 2.6 (maybe 2.5.1?)11414 if test yes = "$GCC"; then11415 whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'11416 else11417 whole_archive_flag_spec='-z allextract$convenience -z defaultextract'11418 fi11419 ;;11420 esac11421 link_all_deplibs=yes11422 ;;11423 11424 sunos4*)11425 if test sequent = "$host_vendor"; then11426 # Use $CC to link under sequent, because it throws in some extra .o11427 # files that make .init and .fini sections work.11428 archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'11429 else11430 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'11431 fi11432 hardcode_libdir_flag_spec='-L$libdir'11433 hardcode_direct=yes11434 hardcode_minus_L=yes11435 hardcode_shlibpath_var=no11436 ;;11437 11438 sysv4)11439 case $host_vendor in11440 sni)11441 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11442 hardcode_direct=yes # is this really true???11443 ;;11444 siemens)11445 ## LD is ld it makes a PLAMLIB11446 ## CC just makes a GrossModule.11447 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'11448 reload_cmds='$CC -r -o $output$reload_objs'11449 hardcode_direct=no11450 ;;11451 motorola)11452 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11453 hardcode_direct=no #Motorola manual says yes, but my tests say they lie11454 ;;11455 esac11456 runpath_var='LD_RUN_PATH'11457 hardcode_shlibpath_var=no11458 ;;11459 11460 sysv4.3*)11461 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11462 hardcode_shlibpath_var=no11463 export_dynamic_flag_spec='-Bexport'11464 ;;11465 11466 sysv4*MP*)11467 if test -d /usr/nec; then11468 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11469 hardcode_shlibpath_var=no11470 runpath_var=LD_RUN_PATH11471 hardcode_runpath_var=yes11472 ld_shlibs=yes11473 fi11474 ;;11475 11476 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)11477 no_undefined_flag='$wl-z,text'11478 archive_cmds_need_lc=no11479 hardcode_shlibpath_var=no11480 runpath_var='LD_RUN_PATH'11481 11482 if test yes = "$GCC"; then11483 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11484 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11485 else11486 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11487 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11488 fi11489 ;;11490 11491 sysv5* | sco3.2v5* | sco5v6*)11492 # Note: We CANNOT use -z defs as we might desire, because we do not11493 # link with -lc, and that would cause any symbols used from libc to11494 # always be unresolved, which means just about no library would11495 # ever link correctly. If we're not using GNU ld we use -z text11496 # though, which does catch some bad symbols but isn't as heavy-handed11497 # as -z defs.11498 no_undefined_flag='$wl-z,text'11499 allow_undefined_flag='$wl-z,nodefs'11500 archive_cmds_need_lc=no11501 hardcode_shlibpath_var=no11502 hardcode_libdir_flag_spec='$wl-R,$libdir'11503 hardcode_libdir_separator=':'11504 link_all_deplibs=yes11505 export_dynamic_flag_spec='$wl-Bexport'11506 runpath_var='LD_RUN_PATH'11507 11508 if test yes = "$GCC"; then11509 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11510 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11511 else11512 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11513 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'11514 fi11515 ;;11516 11517 uts4*)11518 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'11519 hardcode_libdir_flag_spec='-L$libdir'11520 hardcode_shlibpath_var=no11521 ;;11522 11523 *)11524 ld_shlibs=no11525 ;;11526 esac11527 11528 if test sni = "$host_vendor"; then11529 case $host in11530 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)11531 export_dynamic_flag_spec='$wl-Blargedynsym'11532 ;;11533 esac11534 fi11535 fi11536 11537 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&511538 $as_echo "$ld_shlibs" >&6; }11539 test no = "$ld_shlibs" && can_build_shared=no11540 11541 with_gnu_ld=$with_gnu_ld11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 #11558 # Do we need to explicitly link libc?11559 #11560 case "x$archive_cmds_need_lc" in11561 x|xyes)11562 # Assume -lc should be added11563 archive_cmds_need_lc=yes11564 11565 if test yes,yes = "$GCC,$enable_shared"; then11566 case $archive_cmds in11567 *'~'*)11568 # FIXME: we may have to deal with multi-command sequences.11569 ;;11570 '$CC '*)11571 # Test whether the compiler implicitly links with -lc since on some11572 # systems, -lgcc has to come before -lc. If gcc already passes -lc11573 # to ld, don't add -lc before -lgcc.11574 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&511575 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }11576 if ${lt_cv_archive_cmds_need_lc+:} false; then :11577 $as_echo_n "(cached) " >&611578 else11579 $RM conftest*11580 echo "$lt_simple_compile_test_code" > conftest.$ac_ext11581 11582 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&511583 (eval $ac_compile) 2>&511584 ac_status=$?11585 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&511586 test $ac_status = 0; } 2>conftest.err; then11587 soname=conftest11588 lib=conftest11589 libobjs=conftest.$ac_objext11590 deplibs=11591 wl=$lt_prog_compiler_wl11592 pic_flag=$lt_prog_compiler_pic11593 compiler_flags=-v11594 linker_flags=-v11595 verstring=11596 output_objdir=.11597 libname=conftest11598 lt_save_allow_undefined_flag=$allow_undefined_flag11599 allow_undefined_flag=11600 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&511601 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&511602 ac_status=$?11603 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&511604 test $ac_status = 0; }11605 then11606 lt_cv_archive_cmds_need_lc=no11607 else11608 lt_cv_archive_cmds_need_lc=yes11609 fi11610 allow_undefined_flag=$lt_save_allow_undefined_flag11611 else11612 cat conftest.err 1>&511613 fi11614 $RM conftest*11615 11616 fi11617 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&511618 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; }11619 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc11620 ;;11621 esac11622 fi11623 ;;11624 esac11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&511778 $as_echo_n "checking dynamic linker characteristics... " >&6; }11779 11780 if test yes = "$GCC"; then11781 case $host_os in11782 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;11783 *) lt_awk_arg='/^libraries:/' ;;11784 esac11785 case $host_os in11786 mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;11787 *) lt_sed_strip_eq='s|=/|/|g' ;;11788 esac11789 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`11790 case $lt_search_path_spec in11791 *\;*)11792 # if the path contains ";" then we assume it to be the separator11793 # otherwise default to the standard path separator (i.e. ":") - it is11794 # assumed that no part of a normal pathname contains ";" but that should11795 # okay in the real world where ";" in dirpaths is itself problematic.11796 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`11797 ;;11798 *)11799 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`11800 ;;11801 esac11802 # Ok, now we have the path, separated by spaces, we can step through it11803 # and add multilib dir if necessary...11804 lt_tmp_lt_search_path_spec=11805 lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`11806 # ...but if some path component already ends with the multilib dir we assume11807 # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).11808 case "$lt_multi_os_dir; $lt_search_path_spec " in11809 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)11810 lt_multi_os_dir=11811 ;;11812 esac11813 for lt_sys_path in $lt_search_path_spec; do11814 if test -d "$lt_sys_path$lt_multi_os_dir"; then11815 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"11816 elif test -n "$lt_multi_os_dir"; then11817 test -d "$lt_sys_path" && \11818 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"11819 fi11820 done11821 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '11822 BEGIN {RS = " "; FS = "/|\n";} {11823 lt_foo = "";11824 lt_count = 0;11825 for (lt_i = NF; lt_i > 0; lt_i--) {11826 if ($lt_i != "" && $lt_i != ".") {11827 if ($lt_i == "..") {11828 lt_count++;11829 } else {11830 if (lt_count == 0) {11831 lt_foo = "/" $lt_i lt_foo;11832 } else {11833 lt_count--;11834 }11835 }11836 }11837 }11838 if (lt_foo != "") { lt_freq[lt_foo]++; }11839 if (lt_freq[lt_foo] == 1) { print lt_foo; }11840 }'`11841 # AWK program above erroneously prepends '/' to C:/dos/paths11842 # for these hosts.11843 case $host_os in11844 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\11845 $SED 's|/\([A-Za-z]:\)|\1|g'` ;;11846 esac11847 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`11848 else11849 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"11850 fi11851 library_names_spec=11852 libname_spec='lib$name'11853 soname_spec=11854 shrext_cmds=.so11855 postinstall_cmds=11856 postuninstall_cmds=11857 finish_cmds=11858 finish_eval=11859 shlibpath_var=11860 shlibpath_overrides_runpath=unknown11861 version_type=none11862 dynamic_linker="$host_os ld.so"11863 sys_lib_dlsearch_path_spec="/lib /usr/lib"11864 need_lib_prefix=unknown11865 hardcode_into_libs=no11866 11867 # when you set need_version to no, make sure it does not cause -set_version11868 # flags to be left without arguments11869 need_version=unknown11870 11871 11872 11873 case $host_os in11874 aix3*)11875 version_type=linux # correct to gnu/linux during the next big refactor11876 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'11877 shlibpath_var=LIBPATH11878 11879 # AIX 3 has no versioning support, so we append a major version to the name.11880 soname_spec='$libname$release$shared_ext$major'11881 ;;11882 11883 aix[4-9]*)11884 version_type=linux # correct to gnu/linux during the next big refactor11885 need_lib_prefix=no11886 need_version=no11887 hardcode_into_libs=yes11888 if test ia64 = "$host_cpu"; then11889 # AIX 5 supports IA6411890 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'11891 shlibpath_var=LD_LIBRARY_PATH11892 else11893 # With GCC up to 2.95.x, collect2 would create an import file11894 # for dependence libraries. The import file would start with11895 # the line '#! .'. This would cause the generated library to11896 # depend on '.', always an invalid library. This was fixed in11897 # development snapshots of GCC prior to 3.0.11898 case $host_os in11899 aix4 | aix4.[01] | aix4.[01].*)11900 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'11901 echo ' yes '11902 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then11903 :11904 else11905 can_build_shared=no11906 fi11907 ;;11908 esac11909 # Using Import Files as archive members, it is possible to support11910 # filename-based versioning of shared library archives on AIX. While11911 # this would work for both with and without runtime linking, it will11912 # prevent static linking of such archives. So we do filename-based11913 # shared library versioning with .so extension only, which is used11914 # when both runtime linking and shared linking is enabled.11915 # Unfortunately, runtime linking may impact performance, so we do11916 # not want this to be the default eventually. Also, we use the11917 # versioned .so libs for executables only if there is the -brtl11918 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.11919 # To allow for filename-based versioning support, we need to create11920 # libNAME.so.V as an archive file, containing:11921 # *) an Import File, referring to the versioned filename of the11922 # archive as well as the shared archive member, telling the11923 # bitwidth (32 or 64) of that shared object, and providing the11924 # list of exported symbols of that shared object, eventually11925 # decorated with the 'weak' keyword11926 # *) the shared object with the F_LOADONLY flag set, to really avoid11927 # it being seen by the linker.11928 # At run time we better use the real file rather than another symlink,11929 # but for link time we create the symlink libNAME.so -> libNAME.so.V11930 11931 case $with_aix_soname,$aix_use_runtimelinking in11932 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct11933 # soname into executable. Probably we can add versioning support to11934 # collect2, so additional links can be useful in future.11935 aix,yes) # traditional libtool11936 dynamic_linker='AIX unversionable lib.so'11937 # If using run time linking (on AIX 4.2 or later) use lib<name>.so11938 # instead of lib<name>.a to let people know that these are not11939 # typical AIX shared libraries.11940 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11941 ;;11942 aix,no) # traditional AIX only11943 dynamic_linker='AIX lib.a(lib.so.V)'11944 # We preserve .a as extension for shared libraries through AIX4.211945 # and later when we are not doing run time linking.11946 library_names_spec='$libname$release.a $libname.a'11947 soname_spec='$libname$release$shared_ext$major'11948 ;;11949 svr4,*) # full svr4 only11950 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"11951 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'11952 # We do not specify a path in Import Files, so LIBPATH fires.11953 shlibpath_overrides_runpath=yes11954 ;;11955 *,yes) # both, prefer svr411956 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"11957 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'11958 # unpreferred sharedlib libNAME.a needs extra handling11959 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'11960 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'11961 # We do not specify a path in Import Files, so LIBPATH fires.11962 shlibpath_overrides_runpath=yes11963 ;;11964 *,no) # both, prefer aix11965 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"11966 library_names_spec='$libname$release.a $libname.a'11967 soname_spec='$libname$release$shared_ext$major'11968 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling11969 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'11970 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'11971 ;;11972 esac11973 shlibpath_var=LIBPATH11974 fi11975 ;;11976 11977 amigaos*)11978 case $host_cpu in11979 powerpc)11980 # Since July 2007 AmigaOS4 officially supports .so libraries.11981 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.11982 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11983 ;;11984 m68k)11985 library_names_spec='$libname.ixlibrary $libname.a'11986 # Create ${libname}_ixlibrary.a entries in /sys/libs.11987 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'11988 ;;11989 esac11990 ;;11991 11992 beos*)11993 library_names_spec='$libname$shared_ext'11994 dynamic_linker="$host_os ld.so"11995 shlibpath_var=LIBRARY_PATH11996 ;;11997 11998 bsdi[45]*)11999 version_type=linux # correct to gnu/linux during the next big refactor12000 need_version=no12001 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12002 soname_spec='$libname$release$shared_ext$major'12003 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'12004 shlibpath_var=LD_LIBRARY_PATH12005 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"12006 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"12007 # the default ld.so.conf also contains /usr/contrib/lib and12008 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow12009 # libtool to hard-code these into programs12010 ;;12011 12012 cygwin* | mingw* | pw32* | cegcc*)12013 version_type=windows12014 shrext_cmds=.dll12015 need_version=no12016 need_lib_prefix=no12017 12018 case $GCC,$cc_basename in12019 yes,*)12020 # gcc12021 library_names_spec='$libname.dll.a'12022 # DLL is installed to $(libdir)/../bin by postinstall_cmds12023 postinstall_cmds='base_file=`basename \$file`~12024 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~12025 dldir=$destdir/`dirname \$dlpath`~12026 test -d \$dldir || mkdir -p \$dldir~12027 $install_prog $dir/$dlname \$dldir/$dlname~12028 chmod a+x \$dldir/$dlname~12029 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then12030 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;12031 fi'12032 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~12033 dlpath=$dir/\$dldll~12034 $RM \$dlpath'12035 shlibpath_overrides_runpath=yes12036 12037 case $host_os in12038 cygwin*)12039 # Cygwin DLLs use 'cyg' prefix rather than 'lib'12040 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'12041 12042 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"12043 ;;12044 mingw* | cegcc*)12045 # MinGW DLLs use traditional 'lib' prefix12046 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'12047 ;;12048 pw32*)12049 # pw32 DLLs use 'pw' prefix rather than 'lib'12050 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'12051 ;;12052 esac12053 dynamic_linker='Win32 ld.exe'12054 ;;12055 12056 *,cl*)12057 # Native MSVC12058 libname_spec='$name'12059 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'12060 library_names_spec='$libname.dll.lib'12061 12062 case $build_os in12063 mingw*)12064 sys_lib_search_path_spec=12065 lt_save_ifs=$IFS12066 IFS=';'12067 for lt_path in $LIB12068 do12069 IFS=$lt_save_ifs12070 # Let DOS variable expansion print the short 8.3 style file name.12071 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`12072 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"12073 done12074 IFS=$lt_save_ifs12075 # Convert to MSYS style.12076 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`12077 ;;12078 cygwin*)12079 # Convert to unix form, then to dos form, then back to unix form12080 # but this time dos style (no spaces!) so that the unix form looks12081 # like /cygdrive/c/PROGRA~1:/cygdr...12082 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`12083 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`12084 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`12085 ;;12086 *)12087 sys_lib_search_path_spec=$LIB12088 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then12089 # It is most probably a Windows format PATH.12090 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`12091 else12092 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`12093 fi12094 # FIXME: find the short name or the path components, as spaces are12095 # common. (e.g. "Program Files" -> "PROGRA~1")12096 ;;12097 esac12098 12099 # DLL is installed to $(libdir)/../bin by postinstall_cmds12100 postinstall_cmds='base_file=`basename \$file`~12101 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~12102 dldir=$destdir/`dirname \$dlpath`~12103 test -d \$dldir || mkdir -p \$dldir~12104 $install_prog $dir/$dlname \$dldir/$dlname'12105 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~12106 dlpath=$dir/\$dldll~12107 $RM \$dlpath'12108 shlibpath_overrides_runpath=yes12109 dynamic_linker='Win32 link.exe'12110 ;;12111 12112 *)12113 # Assume MSVC wrapper12114 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'12115 dynamic_linker='Win32 ld.exe'12116 ;;12117 esac12118 # FIXME: first we should search . and the directory the executable is in12119 shlibpath_var=PATH12120 ;;12121 12122 darwin* | rhapsody*)12123 dynamic_linker="$host_os dyld"12124 version_type=darwin12125 need_lib_prefix=no12126 need_version=no12127 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'12128 soname_spec='$libname$release$major$shared_ext'12129 shlibpath_overrides_runpath=yes12130 shlibpath_var=DYLD_LIBRARY_PATH12131 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'12132 12133 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"12134 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'12135 ;;12136 12137 dgux*)12138 version_type=linux # correct to gnu/linux during the next big refactor12139 need_lib_prefix=no12140 need_version=no12141 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12142 soname_spec='$libname$release$shared_ext$major'12143 shlibpath_var=LD_LIBRARY_PATH12144 ;;12145 12146 freebsd* | dragonfly*)12147 # DragonFly does not have aout. When/if they implement a new12148 # versioning mechanism, adjust this.12149 if test -x /usr/bin/objformat; then12150 objformat=`/usr/bin/objformat`12151 else12152 case $host_os in12153 freebsd[23].*) objformat=aout ;;12154 *) objformat=elf ;;12155 esac12156 fi12157 version_type=freebsd-$objformat12158 case $version_type in12159 freebsd-elf*)12160 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12161 soname_spec='$libname$release$shared_ext$major'12162 need_version=no12163 need_lib_prefix=no12164 ;;12165 freebsd-*)12166 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'12167 need_version=yes12168 ;;12169 esac12170 shlibpath_var=LD_LIBRARY_PATH12171 case $host_os in12172 freebsd2.*)12173 shlibpath_overrides_runpath=yes12174 ;;12175 freebsd3.[01]* | freebsdelf3.[01]*)12176 shlibpath_overrides_runpath=yes12177 hardcode_into_libs=yes12178 ;;12179 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \12180 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)12181 shlibpath_overrides_runpath=no12182 hardcode_into_libs=yes12183 ;;12184 *) # from 4.6 on, and DragonFly12185 shlibpath_overrides_runpath=yes12186 hardcode_into_libs=yes12187 ;;12188 esac12189 ;;12190 12191 haiku*)12192 version_type=linux # correct to gnu/linux during the next big refactor12193 need_lib_prefix=no12194 need_version=no12195 dynamic_linker="$host_os runtime_loader"12196 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12197 soname_spec='$libname$release$shared_ext$major'12198 shlibpath_var=LIBRARY_PATH12199 shlibpath_overrides_runpath=no12200 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'12201 hardcode_into_libs=yes12202 ;;12203 12204 hpux9* | hpux10* | hpux11*)12205 # Give a soname corresponding to the major version so that dld.sl refuses to12206 # link against other versions.12207 version_type=sunos12208 need_lib_prefix=no12209 need_version=no12210 case $host_cpu in12211 ia64*)12212 shrext_cmds='.so'12213 hardcode_into_libs=yes12214 dynamic_linker="$host_os dld.so"12215 shlibpath_var=LD_LIBRARY_PATH12216 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.12217 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12218 soname_spec='$libname$release$shared_ext$major'12219 if test 32 = "$HPUX_IA64_MODE"; then12220 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"12221 sys_lib_dlsearch_path_spec=/usr/lib/hpux3212222 else12223 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"12224 sys_lib_dlsearch_path_spec=/usr/lib/hpux6412225 fi12226 ;;12227 hppa*64*)12228 shrext_cmds='.sl'12229 hardcode_into_libs=yes12230 dynamic_linker="$host_os dld.sl"12231 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH12232 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.12233 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12234 soname_spec='$libname$release$shared_ext$major'12235 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"12236 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec12237 ;;12238 *)12239 shrext_cmds='.sl'12240 dynamic_linker="$host_os dld.sl"12241 shlibpath_var=SHLIB_PATH12242 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH12243 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12244 soname_spec='$libname$release$shared_ext$major'12245 ;;12246 esac12247 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...12248 postinstall_cmds='chmod 555 $lib'12249 # or fails outright, so override atomically:12250 install_override_mode=55512251 ;;12252 12253 interix[3-9]*)12254 version_type=linux # correct to gnu/linux during the next big refactor12255 need_lib_prefix=no12256 need_version=no12257 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12258 soname_spec='$libname$release$shared_ext$major'12259 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'12260 shlibpath_var=LD_LIBRARY_PATH12261 shlibpath_overrides_runpath=no12262 hardcode_into_libs=yes12263 ;;12264 12265 irix5* | irix6* | nonstopux*)12266 case $host_os in12267 nonstopux*) version_type=nonstopux ;;12268 *)12269 if test yes = "$lt_cv_prog_gnu_ld"; then12270 version_type=linux # correct to gnu/linux during the next big refactor12271 else12272 version_type=irix12273 fi ;;12274 esac12275 need_lib_prefix=no12276 need_version=no12277 soname_spec='$libname$release$shared_ext$major'12278 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'12279 case $host_os in12280 irix5* | nonstopux*)12281 libsuff= shlibsuff=12282 ;;12283 *)12284 case $LD in # libtool.m4 will add one of these switches to LD12285 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")12286 libsuff= shlibsuff= libmagic=32-bit;;12287 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")12288 libsuff=32 shlibsuff=N32 libmagic=N32;;12289 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")12290 libsuff=64 shlibsuff=64 libmagic=64-bit;;12291 *) libsuff= shlibsuff= libmagic=never-match;;12292 esac12293 ;;12294 esac12295 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH12296 shlibpath_overrides_runpath=no12297 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"12298 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"12299 hardcode_into_libs=yes12300 ;;12301 12302 # No shared lib support for Linux oldld, aout, or coff.12303 linux*oldld* | linux*aout* | linux*coff*)12304 dynamic_linker=no12305 ;;12306 12307 linux*android*)12308 version_type=none # Android doesn't support versioned libraries.12309 need_lib_prefix=no12310 need_version=no12311 library_names_spec='$libname$release$shared_ext'12312 soname_spec='$libname$release$shared_ext'12313 finish_cmds=12314 shlibpath_var=LD_LIBRARY_PATH12315 shlibpath_overrides_runpath=yes12316 12317 # This implies no fast_install, which is unacceptable.12318 # Some rework will be needed to allow for fast_install12319 # before this can be enabled.12320 hardcode_into_libs=yes12321 12322 dynamic_linker='Android linker'12323 # Don't embed -rpath directories since the linker doesn't support them.12324 hardcode_libdir_flag_spec='-L$libdir'12325 ;;12326 12327 # This must be glibc/ELF.12328 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)12329 version_type=linux # correct to gnu/linux during the next big refactor12330 need_lib_prefix=no12331 need_version=no12332 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12333 soname_spec='$libname$release$shared_ext$major'12334 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'12335 shlibpath_var=LD_LIBRARY_PATH12336 shlibpath_overrides_runpath=no12337 12338 # Some binutils ld are patched to set DT_RUNPATH12339 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :12340 $as_echo_n "(cached) " >&612341 else12342 lt_cv_shlibpath_overrides_runpath=no12343 save_LDFLAGS=$LDFLAGS12344 save_libdir=$libdir12345 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \12346 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""12347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12348 /* end confdefs.h. */12349 12350 int12351 main ()12352 {12353 12354 ;12355 return 0;12356 }12357 _ACEOF12358 if ac_fn_c_try_link "$LINENO"; then :12359 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :12360 lt_cv_shlibpath_overrides_runpath=yes12361 fi12362 fi12363 rm -f core conftest.err conftest.$ac_objext \12364 conftest$ac_exeext conftest.$ac_ext12365 LDFLAGS=$save_LDFLAGS12366 libdir=$save_libdir12367 12368 fi12369 12370 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath12371 12372 # This implies no fast_install, which is unacceptable.12373 # Some rework will be needed to allow for fast_install12374 # before this can be enabled.12375 hardcode_into_libs=yes12376 12377 # Ideally, we could use ldconfig to report *all* directores which are12378 # searched for libraries, however this is still not possible. Aside from not12379 # being certain /sbin/ldconfig is available, command12380 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,12381 # even though it is searched at run-time. Try to do the best guess by12382 # appending ld.so.conf contents (and includes) to the search path.12383 if test -f /etc/ld.so.conf; then12384 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`12385 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"12386 fi12387 12388 # We used to test for /lib/ld.so.1 and disable shared libraries on12389 # powerpc, because MkLinux only supported shared libraries with the12390 # GNU dynamic linker. Since this was broken with cross compilers,12391 # most powerpc-linux boxes support dynamic linking these days and12392 # people can always --disable-shared, the test was removed, and we12393 # assume the GNU/Linux dynamic linker is in use.12394 dynamic_linker='GNU/Linux ld.so'12395 ;;12396 12397 netbsdelf*-gnu)12398 version_type=linux12399 need_lib_prefix=no12400 need_version=no12401 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'12402 soname_spec='${libname}${release}${shared_ext}$major'12403 shlibpath_var=LD_LIBRARY_PATH12404 shlibpath_overrides_runpath=no12405 hardcode_into_libs=yes12406 dynamic_linker='NetBSD ld.elf_so'12407 ;;12408 12409 netbsd*)12410 version_type=sunos12411 need_lib_prefix=no12412 need_version=no12413 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then12414 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'12415 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'12416 dynamic_linker='NetBSD (a.out) ld.so'12417 else12418 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12419 soname_spec='$libname$release$shared_ext$major'12420 dynamic_linker='NetBSD ld.elf_so'12421 fi12422 shlibpath_var=LD_LIBRARY_PATH12423 shlibpath_overrides_runpath=yes12424 hardcode_into_libs=yes12425 ;;12426 12427 newsos6)12428 version_type=linux # correct to gnu/linux during the next big refactor12429 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12430 shlibpath_var=LD_LIBRARY_PATH12431 shlibpath_overrides_runpath=yes12432 ;;12433 12434 *nto* | *qnx*)12435 version_type=qnx12436 need_lib_prefix=no12437 need_version=no12438 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12439 soname_spec='$libname$release$shared_ext$major'12440 shlibpath_var=LD_LIBRARY_PATH12441 shlibpath_overrides_runpath=no12442 hardcode_into_libs=yes12443 dynamic_linker='ldqnx.so'12444 ;;12445 12446 openbsd* | bitrig*)12447 version_type=sunos12448 sys_lib_dlsearch_path_spec=/usr/lib12449 need_lib_prefix=no12450 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then12451 need_version=no12452 else12453 need_version=yes12454 fi12455 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'12456 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'12457 shlibpath_var=LD_LIBRARY_PATH12458 shlibpath_overrides_runpath=yes12459 ;;12460 12461 os2*)12462 libname_spec='$name'12463 version_type=windows12464 shrext_cmds=.dll12465 need_version=no12466 need_lib_prefix=no12467 # OS/2 can only load a DLL with a base name of 8 characters or less.12468 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";12469 v=$($ECHO $release$versuffix | tr -d .-);12470 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);12471 $ECHO $n$v`$shared_ext'12472 library_names_spec='${libname}_dll.$libext'12473 dynamic_linker='OS/2 ld.exe'12474 shlibpath_var=BEGINLIBPATH12475 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"12476 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec12477 postinstall_cmds='base_file=`basename \$file`~12478 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~12479 dldir=$destdir/`dirname \$dlpath`~12480 test -d \$dldir || mkdir -p \$dldir~12481 $install_prog $dir/$dlname \$dldir/$dlname~12482 chmod a+x \$dldir/$dlname~12483 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then12484 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;12485 fi'12486 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~12487 dlpath=$dir/\$dldll~12488 $RM \$dlpath'12489 ;;12490 12491 osf3* | osf4* | osf5*)12492 version_type=osf12493 need_lib_prefix=no12494 need_version=no12495 soname_spec='$libname$release$shared_ext$major'12496 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12497 shlibpath_var=LD_LIBRARY_PATH12498 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"12499 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec12500 ;;12501 12502 rdos*)12503 dynamic_linker=no12504 ;;12505 12506 solaris*)12507 version_type=linux # correct to gnu/linux during the next big refactor12508 need_lib_prefix=no12509 need_version=no12510 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12511 soname_spec='$libname$release$shared_ext$major'12512 shlibpath_var=LD_LIBRARY_PATH12513 shlibpath_overrides_runpath=yes12514 hardcode_into_libs=yes12515 # ldd complains unless libraries are executable12516 postinstall_cmds='chmod +x $lib'12517 ;;12518 12519 sunos4*)12520 version_type=sunos12521 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'12522 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'12523 shlibpath_var=LD_LIBRARY_PATH12524 shlibpath_overrides_runpath=yes12525 if test yes = "$with_gnu_ld"; then12526 need_lib_prefix=no12527 fi12528 need_version=yes12529 ;;12530 12531 sysv4 | sysv4.3*)12532 version_type=linux # correct to gnu/linux during the next big refactor12533 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12534 soname_spec='$libname$release$shared_ext$major'12535 shlibpath_var=LD_LIBRARY_PATH12536 case $host_vendor in12537 sni)12538 shlibpath_overrides_runpath=no12539 need_lib_prefix=no12540 runpath_var=LD_RUN_PATH12541 ;;12542 siemens)12543 need_lib_prefix=no12544 ;;12545 motorola)12546 need_lib_prefix=no12547 need_version=no12548 shlibpath_overrides_runpath=no12549 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'12550 ;;12551 esac12552 ;;12553 12554 sysv4*MP*)12555 if test -d /usr/nec; then12556 version_type=linux # correct to gnu/linux during the next big refactor12557 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'12558 soname_spec='$libname$shared_ext.$major'12559 shlibpath_var=LD_LIBRARY_PATH12560 fi12561 ;;12562 12563 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)12564 version_type=sco12565 need_lib_prefix=no12566 need_version=no12567 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'12568 soname_spec='$libname$release$shared_ext$major'12569 shlibpath_var=LD_LIBRARY_PATH12570 shlibpath_overrides_runpath=yes12571 hardcode_into_libs=yes12572 if test yes = "$with_gnu_ld"; then12573 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'12574 else12575 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'12576 case $host_os in12577 sco3.2v5*)12578 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"12579 ;;12580 esac12581 fi12582 sys_lib_dlsearch_path_spec='/usr/lib'12583 ;;12584 12585 tpf*)12586 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.12587 version_type=linux # correct to gnu/linux during the next big refactor12588 need_lib_prefix=no12589 need_version=no12590 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12591 shlibpath_var=LD_LIBRARY_PATH12592 shlibpath_overrides_runpath=no12593 hardcode_into_libs=yes12594 ;;12595 12596 uts4*)12597 version_type=linux # correct to gnu/linux during the next big refactor12598 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'12599 soname_spec='$libname$release$shared_ext$major'12600 shlibpath_var=LD_LIBRARY_PATH12601 ;;12602 12603 *)12604 dynamic_linker=no12605 ;;12606 esac12607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&512608 $as_echo "$dynamic_linker" >&6; }12609 test no = "$dynamic_linker" && can_build_shared=no12610 12611 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"12612 if test yes = "$GCC"; then12613 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"12614 fi12615 12616 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then12617 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec12618 fi12619 12620 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then12621 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec12622 fi12623 12624 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...12625 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec12626 12627 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code12628 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"12629 12630 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool12631 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&512730 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }12731 hardcode_action=12732 if test -n "$hardcode_libdir_flag_spec" ||12733 test -n "$runpath_var" ||12734 test yes = "$hardcode_automatic"; then12735 12736 # We can hardcode non-existent directories.12737 if test no != "$hardcode_direct" &&12738 # If the only mechanism to avoid hardcoding is shlibpath_var, we12739 # have to relink, otherwise we might link with an installed library12740 # when we should be linking with a yet-to-be-installed one12741 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&12742 test no != "$hardcode_minus_L"; then12743 # Linking always hardcodes the temporary library directory.12744 hardcode_action=relink12745 else12746 # We can link without hardcoding, and we can hardcode nonexisting dirs.12747 hardcode_action=immediate12748 fi12749 else12750 # We cannot hardcode anything, or else we can only hardcode existing12751 # directories.12752 hardcode_action=unsupported12753 fi12754 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&512755 $as_echo "$hardcode_action" >&6; }12756 12757 if test relink = "$hardcode_action" ||12758 test yes = "$inherit_rpath"; then12759 # Fast installation is not supported12760 enable_fast_install=no12761 elif test yes = "$shlibpath_overrides_runpath" ||12762 test no = "$enable_shared"; then12763 # Fast installation is not necessary12764 enable_fast_install=needless12765 fi12766 12767 12768 12769 12770 12771 12772 if test yes != "$enable_dlopen"; then12773 enable_dlopen=unknown12774 enable_dlopen_self=unknown12775 enable_dlopen_self_static=unknown12776 else12777 lt_cv_dlopen=no12778 lt_cv_dlopen_libs=12779 12780 case $host_os in12781 beos*)12782 lt_cv_dlopen=load_add_on12783 lt_cv_dlopen_libs=12784 lt_cv_dlopen_self=yes12785 ;;12786 12787 mingw* | pw32* | cegcc*)12788 lt_cv_dlopen=LoadLibrary12789 lt_cv_dlopen_libs=12790 ;;12791 12792 cygwin*)12793 lt_cv_dlopen=dlopen12794 lt_cv_dlopen_libs=12795 ;;12796 12797 darwin*)12798 # if libdl is installed we need to link against it12799 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&512800 $as_echo_n "checking for dlopen in -ldl... " >&6; }12801 if ${ac_cv_lib_dl_dlopen+:} false; then :12802 $as_echo_n "(cached) " >&612803 else12804 ac_check_lib_save_LIBS=$LIBS12805 LIBS="-ldl $LIBS"12806 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12807 /* end confdefs.h. */12808 12809 /* Override any GCC internal prototype to avoid an error.12810 Use char because int might match the return type of a GCC12811 builtin and then its argument prototype would still apply. */12812 #ifdef __cplusplus12813 extern "C"12814 #endif12815 char dlopen ();12816 int12817 main ()12818 {12819 return dlopen ();12820 ;12821 return 0;12822 }12823 _ACEOF12824 if ac_fn_c_try_link "$LINENO"; then :12825 ac_cv_lib_dl_dlopen=yes12826 else12827 ac_cv_lib_dl_dlopen=no12828 fi12829 rm -f core conftest.err conftest.$ac_objext \12830 conftest$ac_exeext conftest.$ac_ext12831 LIBS=$ac_check_lib_save_LIBS12832 fi12833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&512834 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }12835 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :12836 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl12837 else12838 12839 lt_cv_dlopen=dyld12840 lt_cv_dlopen_libs=12841 lt_cv_dlopen_self=yes12842 12843 fi12844 12845 ;;12846 12847 tpf*)12848 # Don't try to run any link tests for TPF. We know it's impossible12849 # because TPF is a cross-compiler, and we know how we open DSOs.12850 lt_cv_dlopen=dlopen12851 lt_cv_dlopen_libs=12852 lt_cv_dlopen_self=no12853 ;;12854 12855 *)12856 ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"12857 if test "x$ac_cv_func_shl_load" = xyes; then :12858 lt_cv_dlopen=shl_load12859 else12860 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&512861 $as_echo_n "checking for shl_load in -ldld... " >&6; }12862 if ${ac_cv_lib_dld_shl_load+:} false; then :12863 $as_echo_n "(cached) " >&612864 else12865 ac_check_lib_save_LIBS=$LIBS12866 LIBS="-ldld $LIBS"12867 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12868 /* end confdefs.h. */12869 12870 /* Override any GCC internal prototype to avoid an error.12871 Use char because int might match the return type of a GCC12872 builtin and then its argument prototype would still apply. */12873 #ifdef __cplusplus12874 extern "C"12875 #endif12876 char shl_load ();12877 int12878 main ()12879 {12880 return shl_load ();12881 ;12882 return 0;12883 }12884 _ACEOF12885 if ac_fn_c_try_link "$LINENO"; then :12886 ac_cv_lib_dld_shl_load=yes12887 else12888 ac_cv_lib_dld_shl_load=no12889 fi12890 rm -f core conftest.err conftest.$ac_objext \12891 conftest$ac_exeext conftest.$ac_ext12892 LIBS=$ac_check_lib_save_LIBS12893 fi12894 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&512895 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }12896 if test "x$ac_cv_lib_dld_shl_load" = xyes; then :12897 lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld12898 else12899 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"12900 if test "x$ac_cv_func_dlopen" = xyes; then :12901 lt_cv_dlopen=dlopen12902 else12903 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&512904 $as_echo_n "checking for dlopen in -ldl... " >&6; }12905 if ${ac_cv_lib_dl_dlopen+:} false; then :12906 $as_echo_n "(cached) " >&612907 else12908 ac_check_lib_save_LIBS=$LIBS12909 LIBS="-ldl $LIBS"12910 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12911 /* end confdefs.h. */12912 12913 /* Override any GCC internal prototype to avoid an error.12914 Use char because int might match the return type of a GCC12915 builtin and then its argument prototype would still apply. */12916 #ifdef __cplusplus12917 extern "C"12918 #endif12919 char dlopen ();12920 int12921 main ()12922 {12923 return dlopen ();12924 ;12925 return 0;12926 }12927 _ACEOF12928 if ac_fn_c_try_link "$LINENO"; then :12929 ac_cv_lib_dl_dlopen=yes12930 else12931 ac_cv_lib_dl_dlopen=no12932 fi12933 rm -f core conftest.err conftest.$ac_objext \12934 conftest$ac_exeext conftest.$ac_ext12935 LIBS=$ac_check_lib_save_LIBS12936 fi12937 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&512938 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }12939 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :12940 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl12941 else12942 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&512943 $as_echo_n "checking for dlopen in -lsvld... " >&6; }12944 if ${ac_cv_lib_svld_dlopen+:} false; then :12945 $as_echo_n "(cached) " >&612946 else12947 ac_check_lib_save_LIBS=$LIBS12948 LIBS="-lsvld $LIBS"12949 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12950 /* end confdefs.h. */12951 12952 /* Override any GCC internal prototype to avoid an error.12953 Use char because int might match the return type of a GCC12954 builtin and then its argument prototype would still apply. */12955 #ifdef __cplusplus12956 extern "C"12957 #endif12958 char dlopen ();12959 int12960 main ()12961 {12962 return dlopen ();12963 ;12964 return 0;12965 }12966 _ACEOF12967 if ac_fn_c_try_link "$LINENO"; then :12968 ac_cv_lib_svld_dlopen=yes12969 else12970 ac_cv_lib_svld_dlopen=no12971 fi12972 rm -f core conftest.err conftest.$ac_objext \12973 conftest$ac_exeext conftest.$ac_ext12974 LIBS=$ac_check_lib_save_LIBS12975 fi12976 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&512977 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }12978 if test "x$ac_cv_lib_svld_dlopen" = xyes; then :12979 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld12980 else12981 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&512982 $as_echo_n "checking for dld_link in -ldld... " >&6; }12983 if ${ac_cv_lib_dld_dld_link+:} false; then :12984 $as_echo_n "(cached) " >&612985 else12986 ac_check_lib_save_LIBS=$LIBS12987 LIBS="-ldld $LIBS"12988 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12989 /* end confdefs.h. */12990 12991 /* Override any GCC internal prototype to avoid an error.12992 Use char because int might match the return type of a GCC12993 builtin and then its argument prototype would still apply. */12994 #ifdef __cplusplus12995 extern "C"12996 #endif12997 char dld_link ();12998 int12999 main ()13000 {13001 return dld_link ();13002 ;13003 return 0;13004 }13005 _ACEOF13006 if ac_fn_c_try_link "$LINENO"; then :13007 ac_cv_lib_dld_dld_link=yes13008 else13009 ac_cv_lib_dld_dld_link=no13010 fi13011 rm -f core conftest.err conftest.$ac_objext \13012 conftest$ac_exeext conftest.$ac_ext13013 LIBS=$ac_check_lib_save_LIBS13014 fi13015 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&513016 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }13017 if test "x$ac_cv_lib_dld_dld_link" = xyes; then :13018 lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld13019 fi13020 13021 13022 fi13023 13024 13025 fi13026 13027 13028 fi13029 13030 13031 fi13032 13033 13034 fi13035 13036 ;;13037 esac13038 13039 if test no = "$lt_cv_dlopen"; then13040 enable_dlopen=no13041 else13042 enable_dlopen=yes13043 fi13044 13045 case $lt_cv_dlopen in13046 dlopen)13047 save_CPPFLAGS=$CPPFLAGS13048 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"13049 13050 save_LDFLAGS=$LDFLAGS13051 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"13052 13053 save_LIBS=$LIBS13054 LIBS="$lt_cv_dlopen_libs $LIBS"13055 13056 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&513057 $as_echo_n "checking whether a program can dlopen itself... " >&6; }13058 if ${lt_cv_dlopen_self+:} false; then :13059 $as_echo_n "(cached) " >&613060 else13061 if test yes = "$cross_compiling"; then :13062 lt_cv_dlopen_self=cross13063 else13064 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=213065 lt_status=$lt_dlunknown13066 cat > conftest.$ac_ext <<_LT_EOF13067 #line $LINENO "configure"13068 #include "confdefs.h"13069 13070 #if HAVE_DLFCN_H13071 #include <dlfcn.h>13072 #endif13073 13074 #include <stdio.h>13075 13076 #ifdef RTLD_GLOBAL13077 # define LT_DLGLOBAL RTLD_GLOBAL13078 #else13079 # ifdef DL_GLOBAL13080 # define LT_DLGLOBAL DL_GLOBAL13081 # else13082 # define LT_DLGLOBAL 013083 # endif13084 #endif13085 13086 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we13087 find out it does not work in some platform. */13088 #ifndef LT_DLLAZY_OR_NOW13089 # ifdef RTLD_LAZY13090 # define LT_DLLAZY_OR_NOW RTLD_LAZY13091 # else13092 # ifdef DL_LAZY13093 # define LT_DLLAZY_OR_NOW DL_LAZY13094 # else13095 # ifdef RTLD_NOW13096 # define LT_DLLAZY_OR_NOW RTLD_NOW13097 # else13098 # ifdef DL_NOW13099 # define LT_DLLAZY_OR_NOW DL_NOW13100 # else13101 # define LT_DLLAZY_OR_NOW 013102 # endif13103 # endif13104 # endif13105 # endif13106 #endif13107 13108 /* When -fvisibility=hidden is used, assume the code has been annotated13109 correspondingly for the symbols needed. */13110 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))13111 int fnord () __attribute__((visibility("default")));13112 #endif13113 13114 int fnord () { return 42; }13115 int main ()13116 {13117 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);13118 int status = $lt_dlunknown;13119 13120 if (self)13121 {13122 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;13123 else13124 {13125 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;13126 else puts (dlerror ());13127 }13128 /* dlclose (self); */13129 }13130 else13131 puts (dlerror ());13132 13133 return status;13134 }13135 _LT_EOF13136 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&513137 (eval $ac_link) 2>&513138 ac_status=$?13139 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&513140 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then13141 (./conftest; exit; ) >&5 2>/dev/null13142 lt_status=$?13143 case x$lt_status in13144 x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;13145 x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;13146 x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;13147 esac13148 else :13149 # compilation failed13150 lt_cv_dlopen_self=no13151 fi13152 fi13153 rm -fr conftest*13154 13155 13156 fi13157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&513158 $as_echo "$lt_cv_dlopen_self" >&6; }13159 13160 if test yes = "$lt_cv_dlopen_self"; then13161 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"13162 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&513163 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }13164 if ${lt_cv_dlopen_self_static+:} false; then :13165 $as_echo_n "(cached) " >&613166 else13167 if test yes = "$cross_compiling"; then :13168 lt_cv_dlopen_self_static=cross13169 else13170 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=213171 lt_status=$lt_dlunknown13172 cat > conftest.$ac_ext <<_LT_EOF13173 #line $LINENO "configure"13174 #include "confdefs.h"13175 13176 #if HAVE_DLFCN_H13177 #include <dlfcn.h>13178 #endif13179 13180 #include <stdio.h>13181 13182 #ifdef RTLD_GLOBAL13183 # define LT_DLGLOBAL RTLD_GLOBAL13184 #else13185 # ifdef DL_GLOBAL13186 # define LT_DLGLOBAL DL_GLOBAL13187 # else13188 # define LT_DLGLOBAL 013189 # endif13190 #endif13191 13192 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we13193 find out it does not work in some platform. */13194 #ifndef LT_DLLAZY_OR_NOW13195 # ifdef RTLD_LAZY13196 # define LT_DLLAZY_OR_NOW RTLD_LAZY13197 # else13198 # ifdef DL_LAZY13199 # define LT_DLLAZY_OR_NOW DL_LAZY13200 # else13201 # ifdef RTLD_NOW13202 # define LT_DLLAZY_OR_NOW RTLD_NOW13203 # else13204 # ifdef DL_NOW13205 # define LT_DLLAZY_OR_NOW DL_NOW13206 # else13207 # define LT_DLLAZY_OR_NOW 013208 # endif13209 # endif13210 # endif13211 # endif13212 #endif13213 13214 /* When -fvisibility=hidden is used, assume the code has been annotated13215 correspondingly for the symbols needed. */13216 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))13217 int fnord () __attribute__((visibility("default")));13218 #endif13219 13220 int fnord () { return 42; }13221 int main ()13222 {13223 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);13224 int status = $lt_dlunknown;13225 13226 if (self)13227 {13228 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;13229 else13230 {13231 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;13232 else puts (dlerror ());13233 }13234 /* dlclose (self); */13235 }13236 else13237 puts (dlerror ());13238 13239 return status;13240 }13241 _LT_EOF13242 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&513243 (eval $ac_link) 2>&513244 ac_status=$?13245 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&513246 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then13247 (./conftest; exit; ) >&5 2>/dev/null13248 lt_status=$?13249 case x$lt_status in13250 x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;13251 x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;13252 x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;13253 esac13254 else :13255 # compilation failed13256 lt_cv_dlopen_self_static=no13257 fi13258 fi13259 rm -fr conftest*13260 13261 13262 fi13263 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&513264 $as_echo "$lt_cv_dlopen_self_static" >&6; }13265 fi13266 13267 CPPFLAGS=$save_CPPFLAGS13268 LDFLAGS=$save_LDFLAGS13269 LIBS=$save_LIBS13270 ;;13271 esac13272 13273 case $lt_cv_dlopen_self in13274 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;13275 *) enable_dlopen_self=unknown ;;13276 esac13277 13278 case $lt_cv_dlopen_self_static in13279 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;13280 *) enable_dlopen_self_static=unknown ;;13281 esac13282 fi13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 striplib=13301 old_striplib=13302 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&513303 $as_echo_n "checking whether stripping libraries is possible... " >&6; }13304 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then13305 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"13306 test -z "$striplib" && striplib="$STRIP --strip-unneeded"13307 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&513308 $as_echo "yes" >&6; }13309 else13310 # FIXME - insert some real tests, host_os isn't really good enough13311 case $host_os in13312 darwin*)13313 if test -n "$STRIP"; then13314 striplib="$STRIP -x"13315 old_striplib="$STRIP -S"13316 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&513317 $as_echo "yes" >&6; }13318 else13319 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&513320 $as_echo "no" >&6; }13321 fi13322 ;;13323 *)13324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&513325 $as_echo "no" >&6; }13326 ;;13327 esac13328 fi13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 # Report what library types will actually be built13342 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&513343 $as_echo_n "checking if libtool supports shared libraries... " >&6; }13344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&513345 $as_echo "$can_build_shared" >&6; }13346 13347 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&513348 $as_echo_n "checking whether to build shared libraries... " >&6; }13349 test no = "$can_build_shared" && enable_shared=no13350 13351 # On AIX, shared libraries and static libraries use the same namespace, and13352 # are all built from PIC.13353 case $host_os in13354 aix3*)13355 test yes = "$enable_shared" && enable_static=no13356 if test -n "$RANLIB"; then13357 archive_cmds="$archive_cmds~\$RANLIB \$lib"13358 postinstall_cmds='$RANLIB $lib'13359 fi13360 ;;13361 13362 aix[4-9]*)13363 if test ia64 != "$host_cpu"; then13364 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in13365 yes,aix,yes) ;; # shared object as lib.so file only13366 yes,svr4,*) ;; # shared object as lib.so archive member only13367 yes,*) enable_static=no ;; # shared object in lib.a archive as well13368 esac13369 fi13370 ;;13371 esac13372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&513373 $as_echo "$enable_shared" >&6; }13374 13375 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&513376 $as_echo_n "checking whether to build static libraries... " >&6; }13377 # Make sure either enable_shared or enable_static is yes.13378 test yes = "$enable_shared" || enable_static=yes13379 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&513380 $as_echo "$enable_static" >&6; }13381 13382 13383 13384 13385 fi13386 ac_ext=c13387 ac_cpp='$CPP $CPPFLAGS'13388 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'13389 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'13390 ac_compiler_gnu=$ac_cv_c_compiler_gnu13391 13392 CC=$lt_save_CC13393 13394 if test -n "$CXX" && ( test no != "$CXX" &&13395 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||13396 (test g++ != "$CXX"))); then13397 ac_ext=cpp13398 ac_cpp='$CXXCPP $CPPFLAGS'13399 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'13400 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'13401 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu13402 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&513403 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }13404 if test -z "$CXXCPP"; then13405 if ${ac_cv_prog_CXXCPP+:} false; then :13406 $as_echo_n "(cached) " >&613407 else13408 # Double quotes because CXXCPP needs to be expanded13409 for CXXCPP in "$CXX -E" "/lib/cpp"13410 do13411 ac_preproc_ok=false13412 for ac_cxx_preproc_warn_flag in '' yes13413 do13414 # Use a header file that comes with gcc, so configuring glibc13415 # with a fresh cross-compiler works.13416 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since13417 # <limits.h> exists even on freestanding compilers.13418 # On the NeXT, cc -E runs the code through the compiler's parser,13419 # not just through cpp. "Syntax error" is here to catch this case.13420 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13421 /* end confdefs.h. */13422 #ifdef __STDC__13423 # include <limits.h>13424 #else13425 # include <assert.h>13426 #endif13427 Syntax error13428 _ACEOF13429 if ac_fn_cxx_try_cpp "$LINENO"; then :13430 13431 else13432 # Broken: fails on valid input.13433 continue13434 fi13435 rm -f conftest.err conftest.i conftest.$ac_ext13436 13437 # OK, works on sane cases. Now check whether nonexistent headers13438 # can be detected and how.13439 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13440 /* end confdefs.h. */13441 #include <ac_nonexistent.h>13442 _ACEOF13443 if ac_fn_cxx_try_cpp "$LINENO"; then :13444 # Broken: success on invalid input.13445 continue13446 else13447 # Passes both tests.13448 ac_preproc_ok=:13449 break13450 fi13451 rm -f conftest.err conftest.i conftest.$ac_ext13452 13453 done13454 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.13455 rm -f conftest.i conftest.err conftest.$ac_ext13456 if $ac_preproc_ok; then :13457 break13458 fi13459 13460 done13461 ac_cv_prog_CXXCPP=$CXXCPP13462 13463 fi13464 CXXCPP=$ac_cv_prog_CXXCPP13465 else13466 ac_cv_prog_CXXCPP=$CXXCPP13467 fi13468 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&513469 $as_echo "$CXXCPP" >&6; }13470 ac_preproc_ok=false13471 for ac_cxx_preproc_warn_flag in '' yes13472 do13473 # Use a header file that comes with gcc, so configuring glibc13474 # with a fresh cross-compiler works.13475 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since13476 # <limits.h> exists even on freestanding compilers.13477 # On the NeXT, cc -E runs the code through the compiler's parser,13478 # not just through cpp. "Syntax error" is here to catch this case.13479 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13480 /* end confdefs.h. */13481 #ifdef __STDC__13482 # include <limits.h>13483 #else13484 # include <assert.h>13485 #endif13486 Syntax error13487 _ACEOF13488 if ac_fn_cxx_try_cpp "$LINENO"; then :13489 13490 else13491 # Broken: fails on valid input.13492 continue13493 fi13494 rm -f conftest.err conftest.i conftest.$ac_ext13495 13496 # OK, works on sane cases. Now check whether nonexistent headers13497 # can be detected and how.13498 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13499 /* end confdefs.h. */13500 #include <ac_nonexistent.h>13501 _ACEOF13502 if ac_fn_cxx_try_cpp "$LINENO"; then :13503 # Broken: success on invalid input.13504 continue13505 else13506 # Passes both tests.13507 ac_preproc_ok=:13508 break13509 fi13510 rm -f conftest.err conftest.i conftest.$ac_ext13511 13512 done13513 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.13514 rm -f conftest.i conftest.err conftest.$ac_ext13515 if $ac_preproc_ok; then :13516 13517 else13518 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&513519 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}13520 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check13521 See \`config.log' for more details" "$LINENO" 5; }13522 fi13523 13524 ac_ext=c13525 ac_cpp='$CPP $CPPFLAGS'13526 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'13527 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'13528 ac_compiler_gnu=$ac_cv_c_compiler_gnu13529 13530 else13531 _lt_caught_CXX_error=yes13532 fi13533 13534 ac_ext=cpp13535 ac_cpp='$CXXCPP $CPPFLAGS'13536 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'13537 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'13538 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu13539 13540 archive_cmds_need_lc_CXX=no13541 allow_undefined_flag_CXX=13542 always_export_symbols_CXX=no13543 archive_expsym_cmds_CXX=13544 compiler_needs_object_CXX=no13545 export_dynamic_flag_spec_CXX=13546 hardcode_direct_CXX=no13547 hardcode_direct_absolute_CXX=no13548 hardcode_libdir_flag_spec_CXX=13549 hardcode_libdir_separator_CXX=13550 hardcode_minus_L_CXX=no13551 hardcode_shlibpath_var_CXX=unsupported13552 hardcode_automatic_CXX=no13553 inherit_rpath_CXX=no13554 module_cmds_CXX=13555 module_expsym_cmds_CXX=13556 link_all_deplibs_CXX=unknown13557 old_archive_cmds_CXX=$old_archive_cmds13558 reload_flag_CXX=$reload_flag13559 reload_cmds_CXX=$reload_cmds13560 no_undefined_flag_CXX=13561 whole_archive_flag_spec_CXX=13562 enable_shared_with_static_runtimes_CXX=no13563 13564 # Source file extension for C++ test sources.13565 ac_ext=cpp13566 13567 # Object file extension for compiled C++ test sources.13568 objext=o13569 objext_CXX=$objext13570 13571 # No sense in running all these tests if we already determined that13572 # the CXX compiler isn't working. Some variables (like enable_shared)13573 # are currently assumed to apply to all compilers on this platform,13574 # and will be corrupted by setting them based on a non-working compiler.13575 if test yes != "$_lt_caught_CXX_error"; then13576 # Code to be used in simple compile tests13577 lt_simple_compile_test_code="int some_variable = 0;"13578 13579 # Code to be used in simple link tests13580 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'13581 13582 # ltmain only uses $CC for tagged configurations so make sure $CC is set.13583 13584 13585 13586 13587 13588 13589 # If no C compiler was specified, use CC.13590 LTCC=${LTCC-"$CC"}13591 13592 # If no C compiler flags were specified, use CFLAGS.13593 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}13594 13595 # Allow CC to be a program name with arguments.13596 compiler=$CC13597 13598 13599 # save warnings/boilerplate of simple test code13600 ac_outfile=conftest.$ac_objext13601 echo "$lt_simple_compile_test_code" >conftest.$ac_ext13602 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err13603 _lt_compiler_boilerplate=`cat conftest.err`13604 $RM conftest*13605 13606 ac_outfile=conftest.$ac_objext13607 echo "$lt_simple_link_test_code" >conftest.$ac_ext13608 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err13609 _lt_linker_boilerplate=`cat conftest.err`13610 $RM -r conftest*13611 13612 13613 # Allow CC to be a program name with arguments.13614 lt_save_CC=$CC13615 lt_save_CFLAGS=$CFLAGS13616 lt_save_LD=$LD13617 lt_save_GCC=$GCC13618 GCC=$GXX13619 lt_save_with_gnu_ld=$with_gnu_ld13620 lt_save_path_LD=$lt_cv_path_LD13621 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then13622 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx13623 else13624 $as_unset lt_cv_prog_gnu_ld13625 fi13626 if test -n "${lt_cv_path_LDCXX+set}"; then13627 lt_cv_path_LD=$lt_cv_path_LDCXX13628 else13629 $as_unset lt_cv_path_LD13630 fi13631 test -z "${LDCXX+set}" || LD=$LDCXX13632 CC=${CXX-"c++"}13633 CFLAGS=$CXXFLAGS13634 compiler=$CC13635 compiler_CXX=$CC13636 func_cc_basename $compiler13637 cc_basename=$func_cc_basename_result13638 13639 13640 if test -n "$compiler"; then13641 # We don't want -fno-exception when compiling C++ code, so set the13642 # no_builtin_flag separately13643 if test yes = "$GXX"; then13644 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'13645 else13646 lt_prog_compiler_no_builtin_flag_CXX=13647 fi13648 13649 if test yes = "$GXX"; then13650 # Set up default GNU C++ configuration13651 13652 13653 13654 # Check whether --with-gnu-ld was given.13655 if test "${with_gnu_ld+set}" = set; then :13656 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes13657 else13658 with_gnu_ld=no13659 fi13660 13661 ac_prog=ld13662 if test yes = "$GCC"; then13663 # Check if gcc -print-prog-name=ld gives a path.13664 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&513665 $as_echo_n "checking for ld used by $CC... " >&6; }13666 case $host in13667 *-*-mingw*)13668 # gcc leaves a trailing carriage return, which upsets mingw13669 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;13670 *)13671 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;13672 esac13673 case $ac_prog in13674 # Accept absolute paths.13675 [\\/]* | ?:[\\/]*)13676 re_direlt='/[^/][^/]*/\.\./'13677 # Canonicalize the pathname of ld13678 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`13679 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do13680 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`13681 done13682 test -z "$LD" && LD=$ac_prog13683 ;;13684 "")13685 # If it fails, then pretend we aren't using GCC.13686 ac_prog=ld13687 ;;13688 *)13689 # If it is relative, then search for the first ld in PATH.13690 with_gnu_ld=unknown13691 ;;13692 esac13693 elif test yes = "$with_gnu_ld"; then13694 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&513695 $as_echo_n "checking for GNU ld... " >&6; }13696 else13697 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&513698 $as_echo_n "checking for non-GNU ld... " >&6; }13699 fi13700 if ${lt_cv_path_LD+:} false; then :13701 $as_echo_n "(cached) " >&613702 else13703 if test -z "$LD"; then13704 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR13705 for ac_dir in $PATH; do13706 IFS=$lt_save_ifs13707 test -z "$ac_dir" && ac_dir=.13708 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then13709 lt_cv_path_LD=$ac_dir/$ac_prog13710 # Check to see if the program is GNU ld. I'd rather use --version,13711 # but apparently some variants of GNU ld only accept -v.13712 # Break only if it was the GNU/non-GNU ld that we prefer.13713 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in13714 *GNU* | *'with BFD'*)13715 test no != "$with_gnu_ld" && break13716 ;;13717 *)13718 test yes != "$with_gnu_ld" && break13719 ;;13720 esac13721 fi13722 done13723 IFS=$lt_save_ifs13724 else13725 lt_cv_path_LD=$LD # Let the user override the test with a path.13726 fi13727 fi13728 13729 LD=$lt_cv_path_LD13730 if test -n "$LD"; then13731 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&513732 $as_echo "$LD" >&6; }13733 else13734 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&513735 $as_echo "no" >&6; }13736 fi13737 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 513738 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&513739 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }13740 if ${lt_cv_prog_gnu_ld+:} false; then :13741 $as_echo_n "(cached) " >&613742 else13743 # I'd rather use --version here, but apparently some GNU lds only accept -v.13744 case `$LD -v 2>&1 </dev/null` in13745 *GNU* | *'with BFD'*)13746 lt_cv_prog_gnu_ld=yes13747 ;;13748 *)13749 lt_cv_prog_gnu_ld=no13750 ;;13751 esac13752 fi13753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&513754 $as_echo "$lt_cv_prog_gnu_ld" >&6; }13755 with_gnu_ld=$lt_cv_prog_gnu_ld13756 13757 13758 13759 13760 13761 13762 13763 # Check if GNU C++ uses GNU ld as the underlying linker, since the13764 # archiving commands below assume that GNU ld is being used.13765 if test yes = "$with_gnu_ld"; then13766 archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'13767 archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'13768 13769 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'13770 export_dynamic_flag_spec_CXX='$wl--export-dynamic'13771 13772 # If archive_cmds runs LD, not CC, wlarc should be empty13773 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to13774 # investigate it a little bit more. (MM)13775 wlarc='$wl'13776 13777 # ancient GNU ld didn't support --whole-archive et. al.13778 if eval "`$CC -print-prog-name=ld` --help 2>&1" |13779 $GREP 'no-whole-archive' > /dev/null; then13780 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'13781 else13782 whole_archive_flag_spec_CXX=13783 fi13784 else13785 with_gnu_ld=no13786 wlarc=13787 13788 # A generic and very simple default shared library creation13789 # command for GNU C++ for the case where it uses the native13790 # linker, instead of GNU ld. If possible, this setting should13791 # overridden to take advantage of the native linker features on13792 # the platform it is being used on.13793 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'13794 fi13795 13796 # Commands to make compiler produce verbose output that lists13797 # what "hidden" libraries, object files and flags are used when13798 # linking a shared library.13799 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'13800 13801 else13802 GXX=no13803 with_gnu_ld=no13804 wlarc=13805 fi13806 13807 # PORTME: fill in a description of your system's C++ link characteristics13808 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&513809 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }13810 ld_shlibs_CXX=yes13811 case $host_os in13812 aix3*)13813 # FIXME: insert proper C++ library support13814 ld_shlibs_CXX=no13815 ;;13816 aix[4-9]*)13817 if test ia64 = "$host_cpu"; then13818 # On IA64, the linker does run time linking by default, so we don't13819 # have to do anything special.13820 aix_use_runtimelinking=no13821 exp_sym_flag='-Bexport'13822 no_entry_flag=13823 else13824 aix_use_runtimelinking=no13825 13826 # Test if we are trying to use run time linking or normal13827 # AIX style linking. If -brtl is somewhere in LDFLAGS, we13828 # have runtime linking enabled, and use it for executables.13829 # For shared libraries, we enable/disable runtime linking13830 # depending on the kind of the shared library created -13831 # when "with_aix_soname,aix_use_runtimelinking" is:13832 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables13833 # "aix,yes" lib.so shared, rtl:yes, for executables13834 # lib.a static archive13835 # "both,no" lib.so.V(shr.o) shared, rtl:yes13836 # lib.a(lib.so.V) shared, rtl:no, for executables13837 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables13838 # lib.a(lib.so.V) shared, rtl:no13839 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables13840 # lib.a static archive13841 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)13842 for ld_flag in $LDFLAGS; do13843 case $ld_flag in13844 *-brtl*)13845 aix_use_runtimelinking=yes13846 break13847 ;;13848 esac13849 done13850 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then13851 # With aix-soname=svr4, we create the lib.so.V shared archives only,13852 # so we don't have lib.a shared libs to link our executables.13853 # We have to force runtime linking in this case.13854 aix_use_runtimelinking=yes13855 LDFLAGS="$LDFLAGS -Wl,-brtl"13856 fi13857 ;;13858 esac13859 13860 exp_sym_flag='-bexport'13861 no_entry_flag='-bnoentry'13862 fi13863 13864 # When large executables or shared objects are built, AIX ld can13865 # have problems creating the table of contents. If linking a library13866 # or program results in "error TOC overflow" add -mminimal-toc to13867 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not13868 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.13869 13870 archive_cmds_CXX=''13871 hardcode_direct_CXX=yes13872 hardcode_direct_absolute_CXX=yes13873 hardcode_libdir_separator_CXX=':'13874 link_all_deplibs_CXX=yes13875 file_list_spec_CXX='$wl-f,'13876 case $with_aix_soname,$aix_use_runtimelinking in13877 aix,*) ;; # no import file13878 svr4,* | *,yes) # use import file13879 # The Import File defines what to hardcode.13880 hardcode_direct_CXX=no13881 hardcode_direct_absolute_CXX=no13882 ;;13883 esac13884 13885 if test yes = "$GXX"; then13886 case $host_os in aix4.[012]|aix4.[012].*)13887 # We only want to do this on AIX 4.2 and lower, the check13888 # below for broken collect2 doesn't work under 4.3+13889 collect2name=`$CC -print-prog-name=collect2`13890 if test -f "$collect2name" &&13891 strings "$collect2name" | $GREP resolve_lib_name >/dev/null13892 then13893 # We have reworked collect213894 :13895 else13896 # We have old collect213897 hardcode_direct_CXX=unsupported13898 # It fails to find uninstalled libraries when the uninstalled13899 # path is not listed in the libpath. Setting hardcode_minus_L13900 # to unsupported forces relinking13901 hardcode_minus_L_CXX=yes13902 hardcode_libdir_flag_spec_CXX='-L$libdir'13903 hardcode_libdir_separator_CXX=13904 fi13905 esac13906 shared_flag='-shared'13907 if test yes = "$aix_use_runtimelinking"; then13908 shared_flag=$shared_flag' $wl-G'13909 fi13910 # Need to ensure runtime linking is disabled for the traditional13911 # shared library, or the linker may eventually find shared libraries13912 # /with/ Import File - we do not want to mix them.13913 shared_flag_aix='-shared'13914 shared_flag_svr4='-shared $wl-G'13915 else13916 # not using gcc13917 if test ia64 = "$host_cpu"; then13918 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release13919 # chokes on -Wl,-G. The following line is correct:13920 shared_flag='-G'13921 else13922 if test yes = "$aix_use_runtimelinking"; then13923 shared_flag='$wl-G'13924 else13925 shared_flag='$wl-bM:SRE'13926 fi13927 shared_flag_aix='$wl-bM:SRE'13928 shared_flag_svr4='$wl-G'13929 fi13930 fi13931 13932 export_dynamic_flag_spec_CXX='$wl-bexpall'13933 # It seems that -bexpall does not export symbols beginning with13934 # underscore (_), so it is better to generate a list of symbols to13935 # export.13936 always_export_symbols_CXX=yes13937 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then13938 # Warning - without using the other runtime loading flags (-brtl),13939 # -berok will link without error, but may produce a broken library.13940 # The "-G" linker flag allows undefined symbols.13941 no_undefined_flag_CXX='-bernotok'13942 # Determine the default libpath from the value encoded in an empty13943 # executable.13944 if test set = "${lt_cv_aix_libpath+set}"; then13945 aix_libpath=$lt_cv_aix_libpath13946 else13947 if ${lt_cv_aix_libpath__CXX+:} false; then :13948 $as_echo_n "(cached) " >&613949 else13950 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13951 /* end confdefs.h. */13952 13953 int13954 main ()13955 {13956 13957 ;13958 return 0;13959 }13960 _ACEOF13961 if ac_fn_cxx_try_link "$LINENO"; then :13962 13963 lt_aix_libpath_sed='13964 /Import File Strings/,/^$/ {13965 /^0/ {13966 s/^0 *\([^ ]*\) *$/\1/13967 p13968 }13969 }'13970 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13971 # Check for a 64-bit object if we didn't find anything.13972 if test -z "$lt_cv_aix_libpath__CXX"; then13973 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13974 fi13975 fi13976 rm -f core conftest.err conftest.$ac_objext \13977 conftest$ac_exeext conftest.$ac_ext13978 if test -z "$lt_cv_aix_libpath__CXX"; then13979 lt_cv_aix_libpath__CXX=/usr/lib:/lib13980 fi13981 13982 fi13983 13984 aix_libpath=$lt_cv_aix_libpath__CXX13985 fi13986 13987 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"13988 13989 archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag13990 else13991 if test ia64 = "$host_cpu"; then13992 hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'13993 allow_undefined_flag_CXX="-z nodefs"13994 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"13995 else13996 # Determine the default libpath from the value encoded in an13997 # empty executable.13998 if test set = "${lt_cv_aix_libpath+set}"; then13999 aix_libpath=$lt_cv_aix_libpath14000 else14001 if ${lt_cv_aix_libpath__CXX+:} false; then :14002 $as_echo_n "(cached) " >&614003 else14004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext14005 /* end confdefs.h. */14006 14007 int14008 main ()14009 {14010 14011 ;14012 return 0;14013 }14014 _ACEOF14015 if ac_fn_cxx_try_link "$LINENO"; then :14016 14017 lt_aix_libpath_sed='14018 /Import File Strings/,/^$/ {14019 /^0/ {14020 s/^0 *\([^ ]*\) *$/\1/14021 p14022 }14023 }'14024 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`14025 # Check for a 64-bit object if we didn't find anything.14026 if test -z "$lt_cv_aix_libpath__CXX"; then14027 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`14028 fi14029 fi14030 rm -f core conftest.err conftest.$ac_objext \14031 conftest$ac_exeext conftest.$ac_ext14032 if test -z "$lt_cv_aix_libpath__CXX"; then14033 lt_cv_aix_libpath__CXX=/usr/lib:/lib14034 fi14035 14036 fi14037 14038 aix_libpath=$lt_cv_aix_libpath__CXX14039 fi14040 14041 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"14042 # Warning - without using the other run time loading flags,14043 # -berok will link without error, but may produce a broken library.14044 no_undefined_flag_CXX=' $wl-bernotok'14045 allow_undefined_flag_CXX=' $wl-berok'14046 if test yes = "$with_gnu_ld"; then14047 # We only use this code for GNU lds that support --whole-archive.14048 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'14049 else14050 # Exported symbols can be pulled into shared objects from archives14051 whole_archive_flag_spec_CXX='$convenience'14052 fi14053 archive_cmds_need_lc_CXX=yes14054 archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'14055 # -brtl affects multiple linker settings, -berok does not and is overridden later14056 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'14057 if test svr4 != "$with_aix_soname"; then14058 # This is similar to how AIX traditionally builds its shared14059 # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.14060 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'14061 fi14062 if test aix != "$with_aix_soname"; then14063 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'14064 else14065 # used by -dlpreopen to get the symbols14066 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'14067 fi14068 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'14069 fi14070 fi14071 ;;14072 14073 beos*)14074 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then14075 allow_undefined_flag_CXX=unsupported14076 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc14077 # support --undefined. This deserves some investigation. FIXME14078 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'14079 else14080 ld_shlibs_CXX=no14081 fi14082 ;;14083 14084 chorus*)14085 case $cc_basename in14086 *)14087 # FIXME: insert proper C++ library support14088 ld_shlibs_CXX=no14089 ;;14090 esac14091 ;;14092 14093 cygwin* | mingw* | pw32* | cegcc*)14094 case $GXX,$cc_basename in14095 ,cl* | no,cl*)14096 # Native MSVC14097 # hardcode_libdir_flag_spec is actually meaningless, as there is14098 # no search path for DLLs.14099 hardcode_libdir_flag_spec_CXX=' '14100 allow_undefined_flag_CXX=unsupported14101 always_export_symbols_CXX=yes14102 file_list_spec_CXX='@'14103 # Tell ltmain to make .lib files, not .a files.14104 libext=lib14105 # Tell ltmain to make .dll files, not .so files.14106 shrext_cmds=.dll14107 # FIXME: Setting linknames here is a bad hack.14108 archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='14109 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then14110 cp "$export_symbols" "$output_objdir/$soname.def";14111 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";14112 else14113 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;14114 fi~14115 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~14116 linknames='14117 # The linker will not automatically build a static lib if we build a DLL.14118 # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'14119 enable_shared_with_static_runtimes_CXX=yes14120 # Don't use ranlib14121 old_postinstall_cmds_CXX='chmod 644 $oldlib'14122 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~14123 lt_tool_outputfile="@TOOL_OUTPUT@"~14124 case $lt_outputfile in14125 *.exe|*.EXE) ;;14126 *)14127 lt_outputfile=$lt_outputfile.exe14128 lt_tool_outputfile=$lt_tool_outputfile.exe14129 ;;14130 esac~14131 func_to_tool_file "$lt_outputfile"~14132 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then14133 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;14134 $RM "$lt_outputfile.manifest";14135 fi'14136 ;;14137 *)14138 # g++14139 # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,14140 # as there is no search path for DLLs.14141 hardcode_libdir_flag_spec_CXX='-L$libdir'14142 export_dynamic_flag_spec_CXX='$wl--export-all-symbols'14143 allow_undefined_flag_CXX=unsupported14144 always_export_symbols_CXX=no14145 enable_shared_with_static_runtimes_CXX=yes14146 14147 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then14148 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'14149 # If the export-symbols file already is a .def file, use it as14150 # is; otherwise, prepend EXPORTS...14151 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then14152 cp $export_symbols $output_objdir/$soname.def;14153 else14154 echo EXPORTS > $output_objdir/$soname.def;14155 cat $export_symbols >> $output_objdir/$soname.def;14156 fi~14157 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'14158 else14159 ld_shlibs_CXX=no14160 fi14161 ;;14162 esac14163 ;;14164 darwin* | rhapsody*)14165 14166 14167 archive_cmds_need_lc_CXX=no14168 hardcode_direct_CXX=no14169 hardcode_automatic_CXX=yes14170 hardcode_shlibpath_var_CXX=unsupported14171 if test yes = "$lt_cv_ld_force_load"; then14172 whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'14173 14174 else14175 whole_archive_flag_spec_CXX=''14176 fi14177 link_all_deplibs_CXX=yes14178 allow_undefined_flag_CXX=$_lt_dar_allow_undefined14179 case $cc_basename in14180 ifort*|nagfor*) _lt_dar_can_shared=yes ;;14181 *) _lt_dar_can_shared=$GCC ;;14182 esac14183 if test yes = "$_lt_dar_can_shared"; then14184 output_verbose_link_cmd=func_echo_all14185 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"14186 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"14187 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"14188 module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"14189 if test yes != "$lt_cv_apple_cc_single_mod"; then14190 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"14191 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"14192 fi14193 14194 else14195 ld_shlibs_CXX=no14196 fi14197 14198 ;;14199 14200 os2*)14201 hardcode_libdir_flag_spec_CXX='-L$libdir'14202 hardcode_minus_L_CXX=yes14203 allow_undefined_flag_CXX=unsupported14204 shrext_cmds=.dll14205 archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~14206 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~14207 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~14208 $ECHO EXPORTS >> $output_objdir/$libname.def~14209 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~14210 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~14211 emximp -o $lib $output_objdir/$libname.def'14212 archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~14213 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~14214 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~14215 $ECHO EXPORTS >> $output_objdir/$libname.def~14216 prefix_cmds="$SED"~14217 if test EXPORTS = "`$SED 1q $export_symbols`"; then14218 prefix_cmds="$prefix_cmds -e 1d";14219 fi~14220 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~14221 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~14222 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~14223 emximp -o $lib $output_objdir/$libname.def'14224 old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'14225 enable_shared_with_static_runtimes_CXX=yes14226 ;;14227 14228 dgux*)14229 case $cc_basename in14230 ec++*)14231 # FIXME: insert proper C++ library support14232 ld_shlibs_CXX=no14233 ;;14234 ghcx*)14235 # Green Hills C++ Compiler14236 # FIXME: insert proper C++ library support14237 ld_shlibs_CXX=no14238 ;;14239 *)14240 # FIXME: insert proper C++ library support14241 ld_shlibs_CXX=no14242 ;;14243 esac14244 ;;14245 14246 freebsd2.*)14247 # C++ shared libraries reported to be fairly broken before14248 # switch to ELF14249 ld_shlibs_CXX=no14250 ;;14251 14252 freebsd-elf*)14253 archive_cmds_need_lc_CXX=no14254 ;;14255 14256 freebsd* | dragonfly*)14257 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF14258 # conventions14259 ld_shlibs_CXX=yes14260 ;;14261 14262 haiku*)14263 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'14264 link_all_deplibs_CXX=yes14265 ;;14266 14267 hpux9*)14268 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'14269 hardcode_libdir_separator_CXX=:14270 export_dynamic_flag_spec_CXX='$wl-E'14271 hardcode_direct_CXX=yes14272 hardcode_minus_L_CXX=yes # Not in the search PATH,14273 # but as the default14274 # location of the library.14275 14276 case $cc_basename in14277 CC*)14278 # FIXME: insert proper C++ library support14279 ld_shlibs_CXX=no14280 ;;14281 aCC*)14282 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'14283 # Commands to make compiler produce verbose output that lists14284 # what "hidden" libraries, object files and flags are used when14285 # linking a shared library.14286 #14287 # There doesn't appear to be a way to prevent this compiler from14288 # explicitly linking system object files so we need to strip them14289 # from the output so that they don't get included in the library14290 # dependencies.14291 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'14292 ;;14293 *)14294 if test yes = "$GXX"; then14295 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'14296 else14297 # FIXME: insert proper C++ library support14298 ld_shlibs_CXX=no14299 fi14300 ;;14301 esac14302 ;;14303 14304 hpux10*|hpux11*)14305 if test no = "$with_gnu_ld"; then14306 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'14307 hardcode_libdir_separator_CXX=:14308 14309 case $host_cpu in14310 hppa*64*|ia64*)14311 ;;14312 *)14313 export_dynamic_flag_spec_CXX='$wl-E'14314 ;;14315 esac14316 fi14317 case $host_cpu in14318 hppa*64*|ia64*)14319 hardcode_direct_CXX=no14320 hardcode_shlibpath_var_CXX=no14321 ;;14322 *)14323 hardcode_direct_CXX=yes14324 hardcode_direct_absolute_CXX=yes14325 hardcode_minus_L_CXX=yes # Not in the search PATH,14326 # but as the default14327 # location of the library.14328 ;;14329 esac14330 14331 case $cc_basename in14332 CC*)14333 # FIXME: insert proper C++ library support14334 ld_shlibs_CXX=no14335 ;;14336 aCC*)14337 case $host_cpu in14338 hppa*64*)14339 archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14340 ;;14341 ia64*)14342 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14343 ;;14344 *)14345 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14346 ;;14347 esac14348 # Commands to make compiler produce verbose output that lists14349 # what "hidden" libraries, object files and flags are used when14350 # linking a shared library.14351 #14352 # There doesn't appear to be a way to prevent this compiler from14353 # explicitly linking system object files so we need to strip them14354 # from the output so that they don't get included in the library14355 # dependencies.14356 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'14357 ;;14358 *)14359 if test yes = "$GXX"; then14360 if test no = "$with_gnu_ld"; then14361 case $host_cpu in14362 hppa*64*)14363 archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14364 ;;14365 ia64*)14366 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14367 ;;14368 *)14369 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14370 ;;14371 esac14372 fi14373 else14374 # FIXME: insert proper C++ library support14375 ld_shlibs_CXX=no14376 fi14377 ;;14378 esac14379 ;;14380 14381 interix[3-9]*)14382 hardcode_direct_CXX=no14383 hardcode_shlibpath_var_CXX=no14384 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'14385 export_dynamic_flag_spec_CXX='$wl-E'14386 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.14387 # Instead, shared libraries are loaded at an image base (0x10000000 by14388 # default) and relocated if they conflict, which is a slow very memory14389 # consuming and fragmenting process. To avoid this, we pick a random,14390 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link14391 # time. Moving up from 0x10000000 also allows more sbrk(2) space.14392 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'14393 archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'14394 ;;14395 irix5* | irix6*)14396 case $cc_basename in14397 CC*)14398 # SGI C++14399 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'14400 14401 # Archives containing C++ object files must be created using14402 # "CC -ar", where "CC" is the IRIX C++ compiler. This is14403 # necessary to make sure instantiated templates are included14404 # in the archive.14405 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'14406 ;;14407 *)14408 if test yes = "$GXX"; then14409 if test no = "$with_gnu_ld"; then14410 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'14411 else14412 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'14413 fi14414 fi14415 link_all_deplibs_CXX=yes14416 ;;14417 esac14418 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'14419 hardcode_libdir_separator_CXX=:14420 inherit_rpath_CXX=yes14421 ;;14422 14423 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)14424 case $cc_basename in14425 KCC*)14426 # Kuck and Associates, Inc. (KAI) C++ Compiler14427 14428 # KCC will only create a shared library if the output file14429 # ends with ".so" (or ".sl" for HP-UX), so rename the library14430 # to its proper name (with version) after linking.14431 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'14432 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'14433 # Commands to make compiler produce verbose output that lists14434 # what "hidden" libraries, object files and flags are used when14435 # linking a shared library.14436 #14437 # There doesn't appear to be a way to prevent this compiler from14438 # explicitly linking system object files so we need to strip them14439 # from the output so that they don't get included in the library14440 # dependencies.14441 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'14442 14443 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'14444 export_dynamic_flag_spec_CXX='$wl--export-dynamic'14445 14446 # Archives containing C++ object files must be created using14447 # "CC -Bstatic", where "CC" is the KAI C++ compiler.14448 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'14449 ;;14450 icpc* | ecpc* )14451 # Intel C++14452 with_gnu_ld=yes14453 # version 8.0 and above of icpc choke on multiply defined symbols14454 # if we add $predep_objects and $postdep_objects, however 7.1 and14455 # earlier do not add the objects themselves.14456 case `$CC -V 2>&1` in14457 *"Version 7."*)14458 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'14459 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'14460 ;;14461 *) # Version 8.0 or newer14462 tmp_idyn=14463 case $host_cpu in14464 ia64*) tmp_idyn=' -i_dynamic';;14465 esac14466 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'14467 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'14468 ;;14469 esac14470 archive_cmds_need_lc_CXX=no14471 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'14472 export_dynamic_flag_spec_CXX='$wl--export-dynamic'14473 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'14474 ;;14475 pgCC* | pgcpp*)14476 # Portland Group C++ compiler14477 case `$CC -V` in14478 *pgCC\ [1-5].* | *pgcpp\ [1-5].*)14479 prelink_cmds_CXX='tpldir=Template.dir~14480 rm -rf $tpldir~14481 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~14482 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'14483 old_archive_cmds_CXX='tpldir=Template.dir~14484 rm -rf $tpldir~14485 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~14486 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~14487 $RANLIB $oldlib'14488 archive_cmds_CXX='tpldir=Template.dir~14489 rm -rf $tpldir~14490 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~14491 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'14492 archive_expsym_cmds_CXX='tpldir=Template.dir~14493 rm -rf $tpldir~14494 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~14495 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'14496 ;;14497 *) # Version 6 and above use weak symbols14498 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'14499 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'14500 ;;14501 esac14502 14503 hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'14504 export_dynamic_flag_spec_CXX='$wl--export-dynamic'14505 whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'14506 ;;14507 cxx*)14508 # Compaq C++14509 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'14510 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'14511 14512 runpath_var=LD_RUN_PATH14513 hardcode_libdir_flag_spec_CXX='-rpath $libdir'14514 hardcode_libdir_separator_CXX=:14515 14516 # Commands to make compiler produce verbose output that lists14517 # what "hidden" libraries, object files and flags are used when14518 # linking a shared library.14519 #14520 # There doesn't appear to be a way to prevent this compiler from14521 # explicitly linking system object files so we need to strip them14522 # from the output so that they don't get included in the library14523 # dependencies.14524 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'14525 ;;14526 xl* | mpixl* | bgxl*)14527 # IBM XL 8.0 on PPC, with GNU ld14528 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'14529 export_dynamic_flag_spec_CXX='$wl--export-dynamic'14530 archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'14531 if test yes = "$supports_anon_versioning"; then14532 archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~14533 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~14534 echo "local: *; };" >> $output_objdir/$libname.ver~14535 $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'14536 fi14537 ;;14538 *)14539 case `$CC -V 2>&1 | sed 5q` in14540 *Sun\ C*)14541 # Sun C++ 5.914542 no_undefined_flag_CXX=' -zdefs'14543 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14544 archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'14545 hardcode_libdir_flag_spec_CXX='-R$libdir'14546 whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'14547 compiler_needs_object_CXX=yes14548 14549 # Not sure whether something based on14550 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&114551 # would be better.14552 output_verbose_link_cmd='func_echo_all'14553 14554 # Archives containing C++ object files must be created using14555 # "CC -xar", where "CC" is the Sun C++ compiler. This is14556 # necessary to make sure instantiated templates are included14557 # in the archive.14558 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'14559 ;;14560 esac14561 ;;14562 esac14563 ;;14564 14565 lynxos*)14566 # FIXME: insert proper C++ library support14567 ld_shlibs_CXX=no14568 ;;14569 14570 m88k*)14571 # FIXME: insert proper C++ library support14572 ld_shlibs_CXX=no14573 ;;14574 14575 mvs*)14576 case $cc_basename in14577 cxx*)14578 # FIXME: insert proper C++ library support14579 ld_shlibs_CXX=no14580 ;;14581 *)14582 # FIXME: insert proper C++ library support14583 ld_shlibs_CXX=no14584 ;;14585 esac14586 ;;14587 14588 netbsd*)14589 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then14590 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'14591 wlarc=14592 hardcode_libdir_flag_spec_CXX='-R$libdir'14593 hardcode_direct_CXX=yes14594 hardcode_shlibpath_var_CXX=no14595 fi14596 # Workaround some broken pre-1.5 toolchains14597 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'14598 ;;14599 14600 *nto* | *qnx*)14601 ld_shlibs_CXX=yes14602 ;;14603 14604 openbsd* | bitrig*)14605 if test -f /usr/libexec/ld.so; then14606 hardcode_direct_CXX=yes14607 hardcode_shlibpath_var_CXX=no14608 hardcode_direct_absolute_CXX=yes14609 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'14610 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'14611 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then14612 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'14613 export_dynamic_flag_spec_CXX='$wl-E'14614 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'14615 fi14616 output_verbose_link_cmd=func_echo_all14617 else14618 ld_shlibs_CXX=no14619 fi14620 ;;14621 14622 osf3* | osf4* | osf5*)14623 case $cc_basename in14624 KCC*)14625 # Kuck and Associates, Inc. (KAI) C++ Compiler14626 14627 # KCC will only create a shared library if the output file14628 # ends with ".so" (or ".sl" for HP-UX), so rename the library14629 # to its proper name (with version) after linking.14630 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'14631 14632 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'14633 hardcode_libdir_separator_CXX=:14634 14635 # Archives containing C++ object files must be created using14636 # the KAI C++ compiler.14637 case $host in14638 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;14639 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;14640 esac14641 ;;14642 RCC*)14643 # Rational C++ 2.4.114644 # FIXME: insert proper C++ library support14645 ld_shlibs_CXX=no14646 ;;14647 cxx*)14648 case $host in14649 osf3*)14650 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'14651 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'14652 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'14653 ;;14654 *)14655 allow_undefined_flag_CXX=' -expect_unresolved \*'14656 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'14657 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~14658 echo "-hidden">> $lib.exp~14659 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~14660 $RM $lib.exp'14661 hardcode_libdir_flag_spec_CXX='-rpath $libdir'14662 ;;14663 esac14664 14665 hardcode_libdir_separator_CXX=:14666 14667 # Commands to make compiler produce verbose output that lists14668 # what "hidden" libraries, object files and flags are used when14669 # linking a shared library.14670 #14671 # There doesn't appear to be a way to prevent this compiler from14672 # explicitly linking system object files so we need to strip them14673 # from the output so that they don't get included in the library14674 # dependencies.14675 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'14676 ;;14677 *)14678 if test yes,no = "$GXX,$with_gnu_ld"; then14679 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'14680 case $host in14681 osf3*)14682 archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'14683 ;;14684 *)14685 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'14686 ;;14687 esac14688 14689 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'14690 hardcode_libdir_separator_CXX=:14691 14692 # Commands to make compiler produce verbose output that lists14693 # what "hidden" libraries, object files and flags are used when14694 # linking a shared library.14695 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'14696 14697 else14698 # FIXME: insert proper C++ library support14699 ld_shlibs_CXX=no14700 fi14701 ;;14702 esac14703 ;;14704 14705 psos*)14706 # FIXME: insert proper C++ library support14707 ld_shlibs_CXX=no14708 ;;14709 14710 sunos4*)14711 case $cc_basename in14712 CC*)14713 # Sun C++ 4.x14714 # FIXME: insert proper C++ library support14715 ld_shlibs_CXX=no14716 ;;14717 lcc*)14718 # Lucid14719 # FIXME: insert proper C++ library support14720 ld_shlibs_CXX=no14721 ;;14722 *)14723 # FIXME: insert proper C++ library support14724 ld_shlibs_CXX=no14725 ;;14726 esac14727 ;;14728 14729 solaris*)14730 case $cc_basename in14731 CC* | sunCC*)14732 # Sun C++ 4.2, 5.x and Centerline C++14733 archive_cmds_need_lc_CXX=yes14734 no_undefined_flag_CXX=' -zdefs'14735 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'14736 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~14737 $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'14738 14739 hardcode_libdir_flag_spec_CXX='-R$libdir'14740 hardcode_shlibpath_var_CXX=no14741 case $host_os in14742 solaris2.[0-5] | solaris2.[0-5].*) ;;14743 *)14744 # The compiler driver will combine and reorder linker options,14745 # but understands '-z linker_flag'.14746 # Supported since Solaris 2.6 (maybe 2.5.1?)14747 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'14748 ;;14749 esac14750 link_all_deplibs_CXX=yes14751 14752 output_verbose_link_cmd='func_echo_all'14753 14754 # Archives containing C++ object files must be created using14755 # "CC -xar", where "CC" is the Sun C++ compiler. This is14756 # necessary to make sure instantiated templates are included14757 # in the archive.14758 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'14759 ;;14760 gcx*)14761 # Green Hills C++ Compiler14762 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'14763 14764 # The C++ compiler must be used to create the archive.14765 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'14766 ;;14767 *)14768 # GNU C++ compiler with Solaris linker14769 if test yes,no = "$GXX,$with_gnu_ld"; then14770 no_undefined_flag_CXX=' $wl-z ${wl}defs'14771 if $CC --version | $GREP -v '^2\.7' > /dev/null; then14772 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'14773 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~14774 $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'14775 14776 # Commands to make compiler produce verbose output that lists14777 # what "hidden" libraries, object files and flags are used when14778 # linking a shared library.14779 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'14780 else14781 # g++ 2.7 appears to require '-G' NOT '-shared' on this14782 # platform.14783 archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'14784 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~14785 $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'14786 14787 # Commands to make compiler produce verbose output that lists14788 # what "hidden" libraries, object files and flags are used when14789 # linking a shared library.14790 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'14791 fi14792 14793 hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'14794 case $host_os in14795 solaris2.[0-5] | solaris2.[0-5].*) ;;14796 *)14797 whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'14798 ;;14799 esac14800 fi14801 ;;14802 esac14803 ;;14804 14805 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)14806 no_undefined_flag_CXX='$wl-z,text'14807 archive_cmds_need_lc_CXX=no14808 hardcode_shlibpath_var_CXX=no14809 runpath_var='LD_RUN_PATH'14810 14811 case $cc_basename in14812 CC*)14813 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14814 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14815 ;;14816 *)14817 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14818 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14819 ;;14820 esac14821 ;;14822 14823 sysv5* | sco3.2v5* | sco5v6*)14824 # Note: We CANNOT use -z defs as we might desire, because we do not14825 # link with -lc, and that would cause any symbols used from libc to14826 # always be unresolved, which means just about no library would14827 # ever link correctly. If we're not using GNU ld we use -z text14828 # though, which does catch some bad symbols but isn't as heavy-handed14829 # as -z defs.14830 no_undefined_flag_CXX='$wl-z,text'14831 allow_undefined_flag_CXX='$wl-z,nodefs'14832 archive_cmds_need_lc_CXX=no14833 hardcode_shlibpath_var_CXX=no14834 hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'14835 hardcode_libdir_separator_CXX=':'14836 link_all_deplibs_CXX=yes14837 export_dynamic_flag_spec_CXX='$wl-Bexport'14838 runpath_var='LD_RUN_PATH'14839 14840 case $cc_basename in14841 CC*)14842 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14843 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14844 old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~14845 '"$old_archive_cmds_CXX"14846 reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~14847 '"$reload_cmds_CXX"14848 ;;14849 *)14850 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14851 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14852 ;;14853 esac14854 ;;14855 14856 tandem*)14857 case $cc_basename in14858 NCC*)14859 # NonStop-UX NCC 3.2014860 # FIXME: insert proper C++ library support14861 ld_shlibs_CXX=no14862 ;;14863 *)14864 # FIXME: insert proper C++ library support14865 ld_shlibs_CXX=no14866 ;;14867 esac14868 ;;14869 14870 vxworks*)14871 # FIXME: insert proper C++ library support14872 ld_shlibs_CXX=no14873 ;;14874 14875 *)14876 # FIXME: insert proper C++ library support14877 ld_shlibs_CXX=no14878 ;;14879 esac14880 14881 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&514882 $as_echo "$ld_shlibs_CXX" >&6; }14883 test no = "$ld_shlibs_CXX" && can_build_shared=no14884 14885 GCC_CXX=$GXX14886 LD_CXX=$LD14887 14888 ## CAVEAT EMPTOR:14889 ## There is no encapsulation within the following macros, do not change14890 ## the running order or otherwise move them around unless you know exactly14891 ## what you are doing...14892 # Dependencies to place before and after the object being linked:14893 predep_objects_CXX=14894 postdep_objects_CXX=14895 predeps_CXX=14896 postdeps_CXX=14897 compiler_lib_search_path_CXX=14898 14899 cat > conftest.$ac_ext <<_LT_EOF14900 class Foo14901 {14902 public:14903 Foo (void) { a = 0; }14904 private:14905 int a;14906 };14907 _LT_EOF14908 14909 14910 _lt_libdeps_save_CFLAGS=$CFLAGS14911 case "$CC $CFLAGS " in #(14912 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;14913 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;14914 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;14915 esac14916 14917 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&514918 (eval $ac_compile) 2>&514919 ac_status=$?14920 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&514921 test $ac_status = 0; }; then14922 # Parse the compiler output and extract the necessary14923 # objects, libraries and library flags.14924 14925 # Sentinel used to keep track of whether or not we are before14926 # the conftest object file.14927 pre_test_object_deps_done=no14928 14929 for p in `eval "$output_verbose_link_cmd"`; do14930 case $prev$p in14931 14932 -L* | -R* | -l*)14933 # Some compilers place space between "-{L,R}" and the path.14934 # Remove the space.14935 if test x-L = "$p" ||14936 test x-R = "$p"; then14937 prev=$p14938 continue14939 fi14940 14941 # Expand the sysroot to ease extracting the directories later.14942 if test -z "$prev"; then14943 case $p in14944 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;14945 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;14946 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;14947 esac14948 fi14949 case $p in14950 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;14951 esac14952 if test no = "$pre_test_object_deps_done"; then14953 case $prev in14954 -L | -R)14955 # Internal compiler library paths should come after those14956 # provided the user. The postdeps already come after the14957 # user supplied libs so there is no need to process them.14958 if test -z "$compiler_lib_search_path_CXX"; then14959 compiler_lib_search_path_CXX=$prev$p14960 else14961 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"14962 fi14963 ;;14964 # The "-l" case would never come before the object being14965 # linked, so don't bother handling this case.14966 esac14967 else14968 if test -z "$postdeps_CXX"; then14969 postdeps_CXX=$prev$p14970 else14971 postdeps_CXX="${postdeps_CXX} $prev$p"14972 fi14973 fi14974 prev=14975 ;;14976 14977 *.lto.$objext) ;; # Ignore GCC LTO objects14978 *.$objext)14979 # This assumes that the test object file only shows up14980 # once in the compiler output.14981 if test "$p" = "conftest.$objext"; then14982 pre_test_object_deps_done=yes14983 continue14984 fi14985 14986 if test no = "$pre_test_object_deps_done"; then14987 if test -z "$predep_objects_CXX"; then14988 predep_objects_CXX=$p14989 else14990 predep_objects_CXX="$predep_objects_CXX $p"14991 fi14992 else14993 if test -z "$postdep_objects_CXX"; then14994 postdep_objects_CXX=$p14995 else14996 postdep_objects_CXX="$postdep_objects_CXX $p"14997 fi14998 fi14999 ;;15000 15001 *) ;; # Ignore the rest.15002 15003 esac15004 done15005 15006 # Clean up.15007 rm -f a.out a.exe15008 else15009 echo "libtool.m4: error: problem compiling CXX test program"15010 fi15011 15012 $RM -f confest.$objext15013 CFLAGS=$_lt_libdeps_save_CFLAGS15014 15015 # PORTME: override above test on systems where it is broken15016 case $host_os in15017 interix[3-9]*)15018 # Interix 3.5 installs completely hosed .la files for C++, so rather than15019 # hack all around it, let's just trust "g++" to DTRT.15020 predep_objects_CXX=15021 postdep_objects_CXX=15022 postdeps_CXX=15023 ;;15024 esac15025 15026 15027 case " $postdeps_CXX " in15028 *" -lc "*) archive_cmds_need_lc_CXX=no ;;15029 esac15030 compiler_lib_search_dirs_CXX=15031 if test -n "${compiler_lib_search_path_CXX}"; then15032 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`15033 fi15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 lt_prog_compiler_wl_CXX=15066 lt_prog_compiler_pic_CXX=15067 lt_prog_compiler_static_CXX=15068 15069 15070 # C++ specific cases for pic, static, wl, etc.15071 if test yes = "$GXX"; then15072 lt_prog_compiler_wl_CXX='-Wl,'15073 lt_prog_compiler_static_CXX='-static'15074 15075 case $host_os in15076 aix*)15077 # All AIX code is PIC.15078 if test ia64 = "$host_cpu"; then15079 # AIX 5 now supports IA64 processor15080 lt_prog_compiler_static_CXX='-Bstatic'15081 fi15082 lt_prog_compiler_pic_CXX='-fPIC'15083 ;;15084 15085 amigaos*)15086 case $host_cpu in15087 powerpc)15088 # see comment about AmigaOS4 .so support15089 lt_prog_compiler_pic_CXX='-fPIC'15090 ;;15091 m68k)15092 # FIXME: we need at least 68020 code to build shared libraries, but15093 # adding the '-m68020' flag to GCC prevents building anything better,15094 # like '-m68040'.15095 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'15096 ;;15097 esac15098 ;;15099 15100 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)15101 # PIC is the default for these OSes.15102 ;;15103 mingw* | cygwin* | os2* | pw32* | cegcc*)15104 # This hack is so that the source file can tell whether it is being15105 # built for inclusion in a dll (and should export symbols for example).15106 # Although the cygwin gcc ignores -fPIC, still need this for old-style15107 # (--disable-auto-import) libraries15108 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'15109 case $host_os in15110 os2*)15111 lt_prog_compiler_static_CXX='$wl-static'15112 ;;15113 esac15114 ;;15115 darwin* | rhapsody*)15116 # PIC is the default on this platform15117 # Common symbols not allowed in MH_DYLIB files15118 lt_prog_compiler_pic_CXX='-fno-common'15119 ;;15120 *djgpp*)15121 # DJGPP does not support shared libraries at all15122 lt_prog_compiler_pic_CXX=15123 ;;15124 haiku*)15125 # PIC is the default for Haiku.15126 # The "-static" flag exists, but is broken.15127 lt_prog_compiler_static_CXX=15128 ;;15129 interix[3-9]*)15130 # Interix 3.x gcc -fpic/-fPIC options generate broken code.15131 # Instead, we relocate shared libraries at runtime.15132 ;;15133 sysv4*MP*)15134 if test -d /usr/nec; then15135 lt_prog_compiler_pic_CXX=-Kconform_pic15136 fi15137 ;;15138 hpux*)15139 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit15140 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag15141 # sets the default TLS model and affects inlining.15142 case $host_cpu in15143 hppa*64*)15144 ;;15145 *)15146 lt_prog_compiler_pic_CXX='-fPIC'15147 ;;15148 esac15149 ;;15150 *qnx* | *nto*)15151 # QNX uses GNU C++, but need to define -shared option too, otherwise15152 # it will coredump.15153 lt_prog_compiler_pic_CXX='-fPIC -shared'15154 ;;15155 *)15156 lt_prog_compiler_pic_CXX='-fPIC'15157 ;;15158 esac15159 else15160 case $host_os in15161 aix[4-9]*)15162 # All AIX code is PIC.15163 if test ia64 = "$host_cpu"; then15164 # AIX 5 now supports IA64 processor15165 lt_prog_compiler_static_CXX='-Bstatic'15166 else15167 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'15168 fi15169 ;;15170 chorus*)15171 case $cc_basename in15172 cxch68*)15173 # Green Hills C++ Compiler15174 # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"15175 ;;15176 esac15177 ;;15178 mingw* | cygwin* | os2* | pw32* | cegcc*)15179 # This hack is so that the source file can tell whether it is being15180 # built for inclusion in a dll (and should export symbols for example).15181 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'15182 ;;15183 dgux*)15184 case $cc_basename in15185 ec++*)15186 lt_prog_compiler_pic_CXX='-KPIC'15187 ;;15188 ghcx*)15189 # Green Hills C++ Compiler15190 lt_prog_compiler_pic_CXX='-pic'15191 ;;15192 *)15193 ;;15194 esac15195 ;;15196 freebsd* | dragonfly*)15197 # FreeBSD uses GNU C++15198 ;;15199 hpux9* | hpux10* | hpux11*)15200 case $cc_basename in15201 CC*)15202 lt_prog_compiler_wl_CXX='-Wl,'15203 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'15204 if test ia64 != "$host_cpu"; then15205 lt_prog_compiler_pic_CXX='+Z'15206 fi15207 ;;15208 aCC*)15209 lt_prog_compiler_wl_CXX='-Wl,'15210 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'15211 case $host_cpu in15212 hppa*64*|ia64*)15213 # +Z the default15214 ;;15215 *)15216 lt_prog_compiler_pic_CXX='+Z'15217 ;;15218 esac15219 ;;15220 *)15221 ;;15222 esac15223 ;;15224 interix*)15225 # This is c89, which is MS Visual C++ (no shared libs)15226 # Anyone wants to do a port?15227 ;;15228 irix5* | irix6* | nonstopux*)15229 case $cc_basename in15230 CC*)15231 lt_prog_compiler_wl_CXX='-Wl,'15232 lt_prog_compiler_static_CXX='-non_shared'15233 # CC pic flag -KPIC is the default.15234 ;;15235 *)15236 ;;15237 esac15238 ;;15239 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)15240 case $cc_basename in15241 KCC*)15242 # KAI C++ Compiler15243 lt_prog_compiler_wl_CXX='--backend -Wl,'15244 lt_prog_compiler_pic_CXX='-fPIC'15245 ;;15246 ecpc* )15247 # old Intel C++ for x86_64, which still supported -KPIC.15248 lt_prog_compiler_wl_CXX='-Wl,'15249 lt_prog_compiler_pic_CXX='-KPIC'15250 lt_prog_compiler_static_CXX='-static'15251 ;;15252 icpc* )15253 # Intel C++, used to be incompatible with GCC.15254 # ICC 10 doesn't accept -KPIC any more.15255 lt_prog_compiler_wl_CXX='-Wl,'15256 lt_prog_compiler_pic_CXX='-fPIC'15257 lt_prog_compiler_static_CXX='-static'15258 ;;15259 pgCC* | pgcpp*)15260 # Portland Group C++ compiler15261 lt_prog_compiler_wl_CXX='-Wl,'15262 lt_prog_compiler_pic_CXX='-fpic'15263 lt_prog_compiler_static_CXX='-Bstatic'15264 ;;15265 cxx*)15266 # Compaq C++15267 # Make sure the PIC flag is empty. It appears that all Alpha15268 # Linux and Compaq Tru64 Unix objects are PIC.15269 lt_prog_compiler_pic_CXX=15270 lt_prog_compiler_static_CXX='-non_shared'15271 ;;15272 xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)15273 # IBM XL 8.0, 9.0 on PPC and BlueGene15274 lt_prog_compiler_wl_CXX='-Wl,'15275 lt_prog_compiler_pic_CXX='-qpic'15276 lt_prog_compiler_static_CXX='-qstaticlink'15277 ;;15278 *)15279 case `$CC -V 2>&1 | sed 5q` in15280 *Sun\ C*)15281 # Sun C++ 5.915282 lt_prog_compiler_pic_CXX='-KPIC'15283 lt_prog_compiler_static_CXX='-Bstatic'15284 lt_prog_compiler_wl_CXX='-Qoption ld '15285 ;;15286 esac15287 ;;15288 esac15289 ;;15290 lynxos*)15291 ;;15292 m88k*)15293 ;;15294 mvs*)15295 case $cc_basename in15296 cxx*)15297 lt_prog_compiler_pic_CXX='-W c,exportall'15298 ;;15299 *)15300 ;;15301 esac15302 ;;15303 netbsd* | netbsdelf*-gnu)15304 ;;15305 *qnx* | *nto*)15306 # QNX uses GNU C++, but need to define -shared option too, otherwise15307 # it will coredump.15308 lt_prog_compiler_pic_CXX='-fPIC -shared'15309 ;;15310 osf3* | osf4* | osf5*)15311 case $cc_basename in15312 KCC*)15313 lt_prog_compiler_wl_CXX='--backend -Wl,'15314 ;;15315 RCC*)15316 # Rational C++ 2.4.115317 lt_prog_compiler_pic_CXX='-pic'15318 ;;15319 cxx*)15320 # Digital/Compaq C++15321 lt_prog_compiler_wl_CXX='-Wl,'15322 # Make sure the PIC flag is empty. It appears that all Alpha15323 # Linux and Compaq Tru64 Unix objects are PIC.15324 lt_prog_compiler_pic_CXX=15325 lt_prog_compiler_static_CXX='-non_shared'15326 ;;15327 *)15328 ;;15329 esac15330 ;;15331 psos*)15332 ;;15333 solaris*)15334 case $cc_basename in15335 CC* | sunCC*)15336 # Sun C++ 4.2, 5.x and Centerline C++15337 lt_prog_compiler_pic_CXX='-KPIC'15338 lt_prog_compiler_static_CXX='-Bstatic'15339 lt_prog_compiler_wl_CXX='-Qoption ld '15340 ;;15341 gcx*)15342 # Green Hills C++ Compiler15343 lt_prog_compiler_pic_CXX='-PIC'15344 ;;15345 *)15346 ;;15347 esac15348 ;;15349 sunos4*)15350 case $cc_basename in15351 CC*)15352 # Sun C++ 4.x15353 lt_prog_compiler_pic_CXX='-pic'15354 lt_prog_compiler_static_CXX='-Bstatic'15355 ;;15356 lcc*)15357 # Lucid15358 lt_prog_compiler_pic_CXX='-pic'15359 ;;15360 *)15361 ;;15362 esac15363 ;;15364 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)15365 case $cc_basename in15366 CC*)15367 lt_prog_compiler_wl_CXX='-Wl,'15368 lt_prog_compiler_pic_CXX='-KPIC'15369 lt_prog_compiler_static_CXX='-Bstatic'15370 ;;15371 esac15372 ;;15373 tandem*)15374 case $cc_basename in15375 NCC*)15376 # NonStop-UX NCC 3.2015377 lt_prog_compiler_pic_CXX='-KPIC'15378 ;;15379 *)15380 ;;15381 esac15382 ;;15383 vxworks*)15384 ;;15385 *)15386 lt_prog_compiler_can_build_shared_CXX=no15387 ;;15388 esac15389 fi15390 15391 case $host_os in15392 # For platforms that do not support PIC, -DPIC is meaningless:15393 *djgpp*)15394 lt_prog_compiler_pic_CXX=15395 ;;15396 *)15397 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"15398 ;;15399 esac15400 15401 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&515402 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }15403 if ${lt_cv_prog_compiler_pic_CXX+:} false; then :15404 $as_echo_n "(cached) " >&615405 else15406 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX15407 fi15408 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&515409 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }15410 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX15411 15412 #15413 # Check to make sure the PIC flag actually works.15414 #15415 if test -n "$lt_prog_compiler_pic_CXX"; then15416 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&515417 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }15418 if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :15419 $as_echo_n "(cached) " >&615420 else15421 lt_cv_prog_compiler_pic_works_CXX=no15422 ac_outfile=conftest.$ac_objext15423 echo "$lt_simple_compile_test_code" > conftest.$ac_ext15424 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment15425 # Insert the option either (1) after the last *FLAGS variable, or15426 # (2) before a word containing "conftest.", or (3) at the end.15427 # Note that $ac_compile itself does not contain backslashes and begins15428 # with a dollar sign (not a hyphen), so the echo should work correctly.15429 # The option is referenced via a variable to avoid confusing sed.15430 lt_compile=`echo "$ac_compile" | $SED \15431 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \15432 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \15433 -e 's:$: $lt_compiler_flag:'`15434 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)15435 (eval "$lt_compile" 2>conftest.err)15436 ac_status=$?15437 cat conftest.err >&515438 echo "$as_me:$LINENO: \$? = $ac_status" >&515439 if (exit $ac_status) && test -s "$ac_outfile"; then15440 # The compiler can only warn and ignore the option if not recognized15441 # So say no if there are warnings other than the usual output.15442 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp15443 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er215444 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then15445 lt_cv_prog_compiler_pic_works_CXX=yes15446 fi15447 fi15448 $RM conftest*15449 15450 fi15451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&515452 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }15453 15454 if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then15455 case $lt_prog_compiler_pic_CXX in15456 "" | " "*) ;;15457 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;15458 esac15459 else15460 lt_prog_compiler_pic_CXX=15461 lt_prog_compiler_can_build_shared_CXX=no15462 fi15463 15464 fi15465 15466 15467 15468 15469 15470 #15471 # Check to make sure the static flag actually works.15472 #15473 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"15474 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&515475 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }15476 if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :15477 $as_echo_n "(cached) " >&615478 else15479 lt_cv_prog_compiler_static_works_CXX=no15480 save_LDFLAGS=$LDFLAGS15481 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"15482 echo "$lt_simple_link_test_code" > conftest.$ac_ext15483 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then15484 # The linker can only warn and ignore the option if not recognized15485 # So say no if there are warnings15486 if test -s conftest.err; then15487 # Append any errors to the config.log.15488 cat conftest.err 1>&515489 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp15490 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er215491 if diff conftest.exp conftest.er2 >/dev/null; then15492 lt_cv_prog_compiler_static_works_CXX=yes15493 fi15494 else15495 lt_cv_prog_compiler_static_works_CXX=yes15496 fi15497 fi15498 $RM -r conftest*15499 LDFLAGS=$save_LDFLAGS15500 15501 fi15502 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&515503 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }15504 15505 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then15506 :15507 else15508 lt_prog_compiler_static_CXX=15509 fi15510 15511 15512 15513 15514 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&515515 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }15516 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :15517 $as_echo_n "(cached) " >&615518 else15519 lt_cv_prog_compiler_c_o_CXX=no15520 $RM -r conftest 2>/dev/null15521 mkdir conftest15522 cd conftest15523 mkdir out15524 echo "$lt_simple_compile_test_code" > conftest.$ac_ext15525 15526 lt_compiler_flag="-o out/conftest2.$ac_objext"15527 # Insert the option either (1) after the last *FLAGS variable, or15528 # (2) before a word containing "conftest.", or (3) at the end.15529 # Note that $ac_compile itself does not contain backslashes and begins15530 # with a dollar sign (not a hyphen), so the echo should work correctly.15531 lt_compile=`echo "$ac_compile" | $SED \15532 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \15533 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \15534 -e 's:$: $lt_compiler_flag:'`15535 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)15536 (eval "$lt_compile" 2>out/conftest.err)15537 ac_status=$?15538 cat out/conftest.err >&515539 echo "$as_me:$LINENO: \$? = $ac_status" >&515540 if (exit $ac_status) && test -s out/conftest2.$ac_objext15541 then15542 # The compiler can only warn and ignore the option if not recognized15543 # So say no if there are warnings15544 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp15545 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er215546 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then15547 lt_cv_prog_compiler_c_o_CXX=yes15548 fi15549 fi15550 chmod u+w . 2>&515551 $RM conftest*15552 # SGI C++ compiler will create directory out/ii_files/ for15553 # template instantiation15554 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files15555 $RM out/* && rmdir out15556 cd ..15557 $RM -r conftest15558 $RM conftest*15559 15560 fi15561 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&515562 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }15563 15564 15565 15566 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&515567 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }15568 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :15569 $as_echo_n "(cached) " >&615570 else15571 lt_cv_prog_compiler_c_o_CXX=no15572 $RM -r conftest 2>/dev/null15573 mkdir conftest15574 cd conftest15575 mkdir out15576 echo "$lt_simple_compile_test_code" > conftest.$ac_ext15577 15578 lt_compiler_flag="-o out/conftest2.$ac_objext"15579 # Insert the option either (1) after the last *FLAGS variable, or15580 # (2) before a word containing "conftest.", or (3) at the end.15581 # Note that $ac_compile itself does not contain backslashes and begins15582 # with a dollar sign (not a hyphen), so the echo should work correctly.15583 lt_compile=`echo "$ac_compile" | $SED \15584 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \15585 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \15586 -e 's:$: $lt_compiler_flag:'`15587 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)15588 (eval "$lt_compile" 2>out/conftest.err)15589 ac_status=$?15590 cat out/conftest.err >&515591 echo "$as_me:$LINENO: \$? = $ac_status" >&515592 if (exit $ac_status) && test -s out/conftest2.$ac_objext15593 then15594 # The compiler can only warn and ignore the option if not recognized15595 # So say no if there are warnings15596 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp15597 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er215598 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then15599 lt_cv_prog_compiler_c_o_CXX=yes15600 fi15601 fi15602 chmod u+w . 2>&515603 $RM conftest*15604 # SGI C++ compiler will create directory out/ii_files/ for15605 # template instantiation15606 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files15607 $RM out/* && rmdir out15608 cd ..15609 $RM -r conftest15610 $RM conftest*15611 15612 fi15613 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&515614 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }15615 15616 15617 15618 15619 hard_links=nottested15620 if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then15621 # do not overwrite the value of need_locks provided by the user15622 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&515623 $as_echo_n "checking if we can lock with hard links... " >&6; }15624 hard_links=yes15625 $RM conftest*15626 ln conftest.a conftest.b 2>/dev/null && hard_links=no15627 touch conftest.a15628 ln conftest.a conftest.b 2>&5 || hard_links=no15629 ln conftest.a conftest.b 2>/dev/null && hard_links=no15630 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&515631 $as_echo "$hard_links" >&6; }15632 if test no = "$hard_links"; then15633 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&515634 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}15635 need_locks=warn15636 fi15637 else15638 need_locks=no15639 fi15640 15641 15642 15643 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&515644 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }15645 15646 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'15647 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'15648 case $host_os in15649 aix[4-9]*)15650 # If we're using GNU nm, then we don't want the "-C" option.15651 # -C means demangle to GNU nm, but means don't demangle to AIX nm.15652 # Without the "-l" option, or with the "-B" option, AIX nm treats15653 # weak defined symbols like other global defined symbols, whereas15654 # GNU nm marks them as "W".15655 # While the 'weak' keyword is ignored in the Export File, we need15656 # it in the Import File for the 'aix-soname' feature, so we have15657 # to replace the "-B" option with "-P" for AIX nm.15658 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then15659 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'15660 else15661 export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'15662 fi15663 ;;15664 pw32*)15665 export_symbols_cmds_CXX=$ltdll_cmds15666 ;;15667 cygwin* | mingw* | cegcc*)15668 case $cc_basename in15669 cl*)15670 exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'15671 ;;15672 *)15673 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'15674 exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'15675 ;;15676 esac15677 ;;15678 linux* | k*bsd*-gnu | gnu*)15679 link_all_deplibs_CXX=no15680 ;;15681 *)15682 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'15683 ;;15684 esac15685 15686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&515687 $as_echo "$ld_shlibs_CXX" >&6; }15688 test no = "$ld_shlibs_CXX" && can_build_shared=no15689 15690 with_gnu_ld_CXX=$with_gnu_ld15691 15692 15693 15694 15695 15696 15697 #15698 # Do we need to explicitly link libc?15699 #15700 case "x$archive_cmds_need_lc_CXX" in15701 x|xyes)15702 # Assume -lc should be added15703 archive_cmds_need_lc_CXX=yes15704 15705 if test yes,yes = "$GCC,$enable_shared"; then15706 case $archive_cmds_CXX in15707 *'~'*)15708 # FIXME: we may have to deal with multi-command sequences.15709 ;;15710 '$CC '*)15711 # Test whether the compiler implicitly links with -lc since on some15712 # systems, -lgcc has to come before -lc. If gcc already passes -lc15713 # to ld, don't add -lc before -lgcc.15714 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&515715 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }15716 if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :15717 $as_echo_n "(cached) " >&615718 else15719 $RM conftest*15720 echo "$lt_simple_compile_test_code" > conftest.$ac_ext15721 15722 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&515723 (eval $ac_compile) 2>&515724 ac_status=$?15725 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&515726 test $ac_status = 0; } 2>conftest.err; then15727 soname=conftest15728 lib=conftest15729 libobjs=conftest.$ac_objext15730 deplibs=15731 wl=$lt_prog_compiler_wl_CXX15732 pic_flag=$lt_prog_compiler_pic_CXX15733 compiler_flags=-v15734 linker_flags=-v15735 verstring=15736 output_objdir=.15737 libname=conftest15738 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX15739 allow_undefined_flag_CXX=15740 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&515741 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&515742 ac_status=$?15743 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&515744 test $ac_status = 0; }15745 then15746 lt_cv_archive_cmds_need_lc_CXX=no15747 else15748 lt_cv_archive_cmds_need_lc_CXX=yes15749 fi15750 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag15751 else15752 cat conftest.err 1>&515753 fi15754 $RM conftest*15755 15756 fi15757 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&515758 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }15759 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX15760 ;;15761 esac15762 fi15763 ;;15764 esac15765 15766 15767 15768 15769 15770 15771 15772 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789 15790 15791 15792 15793 15794 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807 15808 15809 15810 15811 15812 15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&515828 $as_echo_n "checking dynamic linker characteristics... " >&6; }15829 15830 library_names_spec=15831 libname_spec='lib$name'15832 soname_spec=15833 shrext_cmds=.so15834 postinstall_cmds=15835 postuninstall_cmds=15836 finish_cmds=15837 finish_eval=15838 shlibpath_var=15839 shlibpath_overrides_runpath=unknown15840 version_type=none15841 dynamic_linker="$host_os ld.so"15842 sys_lib_dlsearch_path_spec="/lib /usr/lib"15843 need_lib_prefix=unknown15844 hardcode_into_libs=no15845 15846 # when you set need_version to no, make sure it does not cause -set_version15847 # flags to be left without arguments15848 need_version=unknown15849 15850 15851 15852 case $host_os in15853 aix3*)15854 version_type=linux # correct to gnu/linux during the next big refactor15855 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'15856 shlibpath_var=LIBPATH15857 15858 # AIX 3 has no versioning support, so we append a major version to the name.15859 soname_spec='$libname$release$shared_ext$major'15860 ;;15861 15862 aix[4-9]*)15863 version_type=linux # correct to gnu/linux during the next big refactor15864 need_lib_prefix=no15865 need_version=no15866 hardcode_into_libs=yes15867 if test ia64 = "$host_cpu"; then15868 # AIX 5 supports IA6415869 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'15870 shlibpath_var=LD_LIBRARY_PATH15871 else15872 # With GCC up to 2.95.x, collect2 would create an import file15873 # for dependence libraries. The import file would start with15874 # the line '#! .'. This would cause the generated library to15875 # depend on '.', always an invalid library. This was fixed in15876 # development snapshots of GCC prior to 3.0.15877 case $host_os in15878 aix4 | aix4.[01] | aix4.[01].*)15879 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'15880 echo ' yes '15881 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then15882 :15883 else15884 can_build_shared=no15885 fi15886 ;;15887 esac15888 # Using Import Files as archive members, it is possible to support15889 # filename-based versioning of shared library archives on AIX. While15890 # this would work for both with and without runtime linking, it will15891 # prevent static linking of such archives. So we do filename-based15892 # shared library versioning with .so extension only, which is used15893 # when both runtime linking and shared linking is enabled.15894 # Unfortunately, runtime linking may impact performance, so we do15895 # not want this to be the default eventually. Also, we use the15896 # versioned .so libs for executables only if there is the -brtl15897 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.15898 # To allow for filename-based versioning support, we need to create15899 # libNAME.so.V as an archive file, containing:15900 # *) an Import File, referring to the versioned filename of the15901 # archive as well as the shared archive member, telling the15902 # bitwidth (32 or 64) of that shared object, and providing the15903 # list of exported symbols of that shared object, eventually15904 # decorated with the 'weak' keyword15905 # *) the shared object with the F_LOADONLY flag set, to really avoid15906 # it being seen by the linker.15907 # At run time we better use the real file rather than another symlink,15908 # but for link time we create the symlink libNAME.so -> libNAME.so.V15909 15910 case $with_aix_soname,$aix_use_runtimelinking in15911 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct15912 # soname into executable. Probably we can add versioning support to15913 # collect2, so additional links can be useful in future.15914 aix,yes) # traditional libtool15915 dynamic_linker='AIX unversionable lib.so'15916 # If using run time linking (on AIX 4.2 or later) use lib<name>.so15917 # instead of lib<name>.a to let people know that these are not15918 # typical AIX shared libraries.15919 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15920 ;;15921 aix,no) # traditional AIX only15922 dynamic_linker='AIX lib.a(lib.so.V)'15923 # We preserve .a as extension for shared libraries through AIX4.215924 # and later when we are not doing run time linking.15925 library_names_spec='$libname$release.a $libname.a'15926 soname_spec='$libname$release$shared_ext$major'15927 ;;15928 svr4,*) # full svr4 only15929 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"15930 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'15931 # We do not specify a path in Import Files, so LIBPATH fires.15932 shlibpath_overrides_runpath=yes15933 ;;15934 *,yes) # both, prefer svr415935 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"15936 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'15937 # unpreferred sharedlib libNAME.a needs extra handling15938 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'15939 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'15940 # We do not specify a path in Import Files, so LIBPATH fires.15941 shlibpath_overrides_runpath=yes15942 ;;15943 *,no) # both, prefer aix15944 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"15945 library_names_spec='$libname$release.a $libname.a'15946 soname_spec='$libname$release$shared_ext$major'15947 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling15948 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'15949 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'15950 ;;15951 esac15952 shlibpath_var=LIBPATH15953 fi15954 ;;15955 15956 amigaos*)15957 case $host_cpu in15958 powerpc)15959 # Since July 2007 AmigaOS4 officially supports .so libraries.15960 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.15961 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15962 ;;15963 m68k)15964 library_names_spec='$libname.ixlibrary $libname.a'15965 # Create ${libname}_ixlibrary.a entries in /sys/libs.15966 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'15967 ;;15968 esac15969 ;;15970 15971 beos*)15972 library_names_spec='$libname$shared_ext'15973 dynamic_linker="$host_os ld.so"15974 shlibpath_var=LIBRARY_PATH15975 ;;15976 15977 bsdi[45]*)15978 version_type=linux # correct to gnu/linux during the next big refactor15979 need_version=no15980 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15981 soname_spec='$libname$release$shared_ext$major'15982 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'15983 shlibpath_var=LD_LIBRARY_PATH15984 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"15985 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"15986 # the default ld.so.conf also contains /usr/contrib/lib and15987 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow15988 # libtool to hard-code these into programs15989 ;;15990 15991 cygwin* | mingw* | pw32* | cegcc*)15992 version_type=windows15993 shrext_cmds=.dll15994 need_version=no15995 need_lib_prefix=no15996 15997 case $GCC,$cc_basename in15998 yes,*)15999 # gcc16000 library_names_spec='$libname.dll.a'16001 # DLL is installed to $(libdir)/../bin by postinstall_cmds16002 postinstall_cmds='base_file=`basename \$file`~16003 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~16004 dldir=$destdir/`dirname \$dlpath`~16005 test -d \$dldir || mkdir -p \$dldir~16006 $install_prog $dir/$dlname \$dldir/$dlname~16007 chmod a+x \$dldir/$dlname~16008 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then16009 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;16010 fi'16011 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~16012 dlpath=$dir/\$dldll~16013 $RM \$dlpath'16014 shlibpath_overrides_runpath=yes16015 16016 case $host_os in16017 cygwin*)16018 # Cygwin DLLs use 'cyg' prefix rather than 'lib'16019 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'16020 16021 ;;16022 mingw* | cegcc*)16023 # MinGW DLLs use traditional 'lib' prefix16024 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'16025 ;;16026 pw32*)16027 # pw32 DLLs use 'pw' prefix rather than 'lib'16028 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'16029 ;;16030 esac16031 dynamic_linker='Win32 ld.exe'16032 ;;16033 16034 *,cl*)16035 # Native MSVC16036 libname_spec='$name'16037 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'16038 library_names_spec='$libname.dll.lib'16039 16040 case $build_os in16041 mingw*)16042 sys_lib_search_path_spec=16043 lt_save_ifs=$IFS16044 IFS=';'16045 for lt_path in $LIB16046 do16047 IFS=$lt_save_ifs16048 # Let DOS variable expansion print the short 8.3 style file name.16049 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`16050 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"16051 done16052 IFS=$lt_save_ifs16053 # Convert to MSYS style.16054 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`16055 ;;16056 cygwin*)16057 # Convert to unix form, then to dos form, then back to unix form16058 # but this time dos style (no spaces!) so that the unix form looks16059 # like /cygdrive/c/PROGRA~1:/cygdr...16060 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`16061 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`16062 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`16063 ;;16064 *)16065 sys_lib_search_path_spec=$LIB16066 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then16067 # It is most probably a Windows format PATH.16068 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`16069 else16070 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`16071 fi16072 # FIXME: find the short name or the path components, as spaces are16073 # common. (e.g. "Program Files" -> "PROGRA~1")16074 ;;16075 esac16076 16077 # DLL is installed to $(libdir)/../bin by postinstall_cmds16078 postinstall_cmds='base_file=`basename \$file`~16079 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~16080 dldir=$destdir/`dirname \$dlpath`~16081 test -d \$dldir || mkdir -p \$dldir~16082 $install_prog $dir/$dlname \$dldir/$dlname'16083 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~16084 dlpath=$dir/\$dldll~16085 $RM \$dlpath'16086 shlibpath_overrides_runpath=yes16087 dynamic_linker='Win32 link.exe'16088 ;;16089 16090 *)16091 # Assume MSVC wrapper16092 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'16093 dynamic_linker='Win32 ld.exe'16094 ;;16095 esac16096 # FIXME: first we should search . and the directory the executable is in16097 shlibpath_var=PATH16098 ;;16099 16100 darwin* | rhapsody*)16101 dynamic_linker="$host_os dyld"16102 version_type=darwin16103 need_lib_prefix=no16104 need_version=no16105 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'16106 soname_spec='$libname$release$major$shared_ext'16107 shlibpath_overrides_runpath=yes16108 shlibpath_var=DYLD_LIBRARY_PATH16109 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'16110 16111 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'16112 ;;16113 16114 dgux*)16115 version_type=linux # correct to gnu/linux during the next big refactor16116 need_lib_prefix=no16117 need_version=no16118 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16119 soname_spec='$libname$release$shared_ext$major'16120 shlibpath_var=LD_LIBRARY_PATH16121 ;;16122 16123 freebsd* | dragonfly*)16124 # DragonFly does not have aout. When/if they implement a new16125 # versioning mechanism, adjust this.16126 if test -x /usr/bin/objformat; then16127 objformat=`/usr/bin/objformat`16128 else16129 case $host_os in16130 freebsd[23].*) objformat=aout ;;16131 *) objformat=elf ;;16132 esac16133 fi16134 version_type=freebsd-$objformat16135 case $version_type in16136 freebsd-elf*)16137 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16138 soname_spec='$libname$release$shared_ext$major'16139 need_version=no16140 need_lib_prefix=no16141 ;;16142 freebsd-*)16143 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'16144 need_version=yes16145 ;;16146 esac16147 shlibpath_var=LD_LIBRARY_PATH16148 case $host_os in16149 freebsd2.*)16150 shlibpath_overrides_runpath=yes16151 ;;16152 freebsd3.[01]* | freebsdelf3.[01]*)16153 shlibpath_overrides_runpath=yes16154 hardcode_into_libs=yes16155 ;;16156 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \16157 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)16158 shlibpath_overrides_runpath=no16159 hardcode_into_libs=yes16160 ;;16161 *) # from 4.6 on, and DragonFly16162 shlibpath_overrides_runpath=yes16163 hardcode_into_libs=yes16164 ;;16165 esac16166 ;;16167 16168 haiku*)16169 version_type=linux # correct to gnu/linux during the next big refactor16170 need_lib_prefix=no16171 need_version=no16172 dynamic_linker="$host_os runtime_loader"16173 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16174 soname_spec='$libname$release$shared_ext$major'16175 shlibpath_var=LIBRARY_PATH16176 shlibpath_overrides_runpath=no16177 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'16178 hardcode_into_libs=yes16179 ;;16180 16181 hpux9* | hpux10* | hpux11*)16182 # Give a soname corresponding to the major version so that dld.sl refuses to16183 # link against other versions.16184 version_type=sunos16185 need_lib_prefix=no16186 need_version=no16187 case $host_cpu in16188 ia64*)16189 shrext_cmds='.so'16190 hardcode_into_libs=yes16191 dynamic_linker="$host_os dld.so"16192 shlibpath_var=LD_LIBRARY_PATH16193 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.16194 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16195 soname_spec='$libname$release$shared_ext$major'16196 if test 32 = "$HPUX_IA64_MODE"; then16197 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"16198 sys_lib_dlsearch_path_spec=/usr/lib/hpux3216199 else16200 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"16201 sys_lib_dlsearch_path_spec=/usr/lib/hpux6416202 fi16203 ;;16204 hppa*64*)16205 shrext_cmds='.sl'16206 hardcode_into_libs=yes16207 dynamic_linker="$host_os dld.sl"16208 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH16209 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.16210 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16211 soname_spec='$libname$release$shared_ext$major'16212 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"16213 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec16214 ;;16215 *)16216 shrext_cmds='.sl'16217 dynamic_linker="$host_os dld.sl"16218 shlibpath_var=SHLIB_PATH16219 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH16220 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16221 soname_spec='$libname$release$shared_ext$major'16222 ;;16223 esac16224 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...16225 postinstall_cmds='chmod 555 $lib'16226 # or fails outright, so override atomically:16227 install_override_mode=55516228 ;;16229 16230 interix[3-9]*)16231 version_type=linux # correct to gnu/linux during the next big refactor16232 need_lib_prefix=no16233 need_version=no16234 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16235 soname_spec='$libname$release$shared_ext$major'16236 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'16237 shlibpath_var=LD_LIBRARY_PATH16238 shlibpath_overrides_runpath=no16239 hardcode_into_libs=yes16240 ;;16241 16242 irix5* | irix6* | nonstopux*)16243 case $host_os in16244 nonstopux*) version_type=nonstopux ;;16245 *)16246 if test yes = "$lt_cv_prog_gnu_ld"; then16247 version_type=linux # correct to gnu/linux during the next big refactor16248 else16249 version_type=irix16250 fi ;;16251 esac16252 need_lib_prefix=no16253 need_version=no16254 soname_spec='$libname$release$shared_ext$major'16255 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'16256 case $host_os in16257 irix5* | nonstopux*)16258 libsuff= shlibsuff=16259 ;;16260 *)16261 case $LD in # libtool.m4 will add one of these switches to LD16262 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")16263 libsuff= shlibsuff= libmagic=32-bit;;16264 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")16265 libsuff=32 shlibsuff=N32 libmagic=N32;;16266 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")16267 libsuff=64 shlibsuff=64 libmagic=64-bit;;16268 *) libsuff= shlibsuff= libmagic=never-match;;16269 esac16270 ;;16271 esac16272 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH16273 shlibpath_overrides_runpath=no16274 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"16275 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"16276 hardcode_into_libs=yes16277 ;;16278 16279 # No shared lib support for Linux oldld, aout, or coff.16280 linux*oldld* | linux*aout* | linux*coff*)16281 dynamic_linker=no16282 ;;16283 16284 linux*android*)16285 version_type=none # Android doesn't support versioned libraries.16286 need_lib_prefix=no16287 need_version=no16288 library_names_spec='$libname$release$shared_ext'16289 soname_spec='$libname$release$shared_ext'16290 finish_cmds=16291 shlibpath_var=LD_LIBRARY_PATH16292 shlibpath_overrides_runpath=yes16293 16294 # This implies no fast_install, which is unacceptable.16295 # Some rework will be needed to allow for fast_install16296 # before this can be enabled.16297 hardcode_into_libs=yes16298 16299 dynamic_linker='Android linker'16300 # Don't embed -rpath directories since the linker doesn't support them.16301 hardcode_libdir_flag_spec_CXX='-L$libdir'16302 ;;16303 16304 # This must be glibc/ELF.16305 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)16306 version_type=linux # correct to gnu/linux during the next big refactor16307 need_lib_prefix=no16308 need_version=no16309 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16310 soname_spec='$libname$release$shared_ext$major'16311 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'16312 shlibpath_var=LD_LIBRARY_PATH16313 shlibpath_overrides_runpath=no16314 16315 # Some binutils ld are patched to set DT_RUNPATH16316 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :16317 $as_echo_n "(cached) " >&616318 else16319 lt_cv_shlibpath_overrides_runpath=no16320 save_LDFLAGS=$LDFLAGS16321 save_libdir=$libdir16322 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \16323 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""16324 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16325 /* end confdefs.h. */16326 16327 int16328 main ()16329 {16330 16331 ;16332 return 0;16333 }16334 _ACEOF16335 if ac_fn_cxx_try_link "$LINENO"; then :16336 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :16337 lt_cv_shlibpath_overrides_runpath=yes16338 fi16339 fi16340 rm -f core conftest.err conftest.$ac_objext \16341 conftest$ac_exeext conftest.$ac_ext16342 LDFLAGS=$save_LDFLAGS16343 libdir=$save_libdir16344 16345 fi16346 16347 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath16348 16349 # This implies no fast_install, which is unacceptable.16350 # Some rework will be needed to allow for fast_install16351 # before this can be enabled.16352 hardcode_into_libs=yes16353 16354 # Ideally, we could use ldconfig to report *all* directores which are16355 # searched for libraries, however this is still not possible. Aside from not16356 # being certain /sbin/ldconfig is available, command16357 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,16358 # even though it is searched at run-time. Try to do the best guess by16359 # appending ld.so.conf contents (and includes) to the search path.16360 if test -f /etc/ld.so.conf; then16361 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`16362 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"16363 fi16364 16365 # We used to test for /lib/ld.so.1 and disable shared libraries on16366 # powerpc, because MkLinux only supported shared libraries with the16367 # GNU dynamic linker. Since this was broken with cross compilers,16368 # most powerpc-linux boxes support dynamic linking these days and16369 # people can always --disable-shared, the test was removed, and we16370 # assume the GNU/Linux dynamic linker is in use.16371 dynamic_linker='GNU/Linux ld.so'16372 ;;16373 16374 netbsdelf*-gnu)16375 version_type=linux16376 need_lib_prefix=no16377 need_version=no16378 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'16379 soname_spec='${libname}${release}${shared_ext}$major'16380 shlibpath_var=LD_LIBRARY_PATH16381 shlibpath_overrides_runpath=no16382 hardcode_into_libs=yes16383 dynamic_linker='NetBSD ld.elf_so'16384 ;;16385 16386 netbsd*)16387 version_type=sunos16388 need_lib_prefix=no16389 need_version=no16390 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then16391 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'16392 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'16393 dynamic_linker='NetBSD (a.out) ld.so'16394 else16395 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16396 soname_spec='$libname$release$shared_ext$major'16397 dynamic_linker='NetBSD ld.elf_so'16398 fi16399 shlibpath_var=LD_LIBRARY_PATH16400 shlibpath_overrides_runpath=yes16401 hardcode_into_libs=yes16402 ;;16403 16404 newsos6)16405 version_type=linux # correct to gnu/linux during the next big refactor16406 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16407 shlibpath_var=LD_LIBRARY_PATH16408 shlibpath_overrides_runpath=yes16409 ;;16410 16411 *nto* | *qnx*)16412 version_type=qnx16413 need_lib_prefix=no16414 need_version=no16415 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16416 soname_spec='$libname$release$shared_ext$major'16417 shlibpath_var=LD_LIBRARY_PATH16418 shlibpath_overrides_runpath=no16419 hardcode_into_libs=yes16420 dynamic_linker='ldqnx.so'16421 ;;16422 16423 openbsd* | bitrig*)16424 version_type=sunos16425 sys_lib_dlsearch_path_spec=/usr/lib16426 need_lib_prefix=no16427 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then16428 need_version=no16429 else16430 need_version=yes16431 fi16432 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'16433 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'16434 shlibpath_var=LD_LIBRARY_PATH16435 shlibpath_overrides_runpath=yes16436 ;;16437 16438 os2*)16439 libname_spec='$name'16440 version_type=windows16441 shrext_cmds=.dll16442 need_version=no16443 need_lib_prefix=no16444 # OS/2 can only load a DLL with a base name of 8 characters or less.16445 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";16446 v=$($ECHO $release$versuffix | tr -d .-);16447 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);16448 $ECHO $n$v`$shared_ext'16449 library_names_spec='${libname}_dll.$libext'16450 dynamic_linker='OS/2 ld.exe'16451 shlibpath_var=BEGINLIBPATH16452 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"16453 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec16454 postinstall_cmds='base_file=`basename \$file`~16455 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~16456 dldir=$destdir/`dirname \$dlpath`~16457 test -d \$dldir || mkdir -p \$dldir~16458 $install_prog $dir/$dlname \$dldir/$dlname~16459 chmod a+x \$dldir/$dlname~16460 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then16461 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;16462 fi'16463 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~16464 dlpath=$dir/\$dldll~16465 $RM \$dlpath'16466 ;;16467 16468 osf3* | osf4* | osf5*)16469 version_type=osf16470 need_lib_prefix=no16471 need_version=no16472 soname_spec='$libname$release$shared_ext$major'16473 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16474 shlibpath_var=LD_LIBRARY_PATH16475 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"16476 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec16477 ;;16478 16479 rdos*)16480 dynamic_linker=no16481 ;;16482 16483 solaris*)16484 version_type=linux # correct to gnu/linux during the next big refactor16485 need_lib_prefix=no16486 need_version=no16487 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16488 soname_spec='$libname$release$shared_ext$major'16489 shlibpath_var=LD_LIBRARY_PATH16490 shlibpath_overrides_runpath=yes16491 hardcode_into_libs=yes16492 # ldd complains unless libraries are executable16493 postinstall_cmds='chmod +x $lib'16494 ;;16495 16496 sunos4*)16497 version_type=sunos16498 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'16499 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'16500 shlibpath_var=LD_LIBRARY_PATH16501 shlibpath_overrides_runpath=yes16502 if test yes = "$with_gnu_ld"; then16503 need_lib_prefix=no16504 fi16505 need_version=yes16506 ;;16507 16508 sysv4 | sysv4.3*)16509 version_type=linux # correct to gnu/linux during the next big refactor16510 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16511 soname_spec='$libname$release$shared_ext$major'16512 shlibpath_var=LD_LIBRARY_PATH16513 case $host_vendor in16514 sni)16515 shlibpath_overrides_runpath=no16516 need_lib_prefix=no16517 runpath_var=LD_RUN_PATH16518 ;;16519 siemens)16520 need_lib_prefix=no16521 ;;16522 motorola)16523 need_lib_prefix=no16524 need_version=no16525 shlibpath_overrides_runpath=no16526 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'16527 ;;16528 esac16529 ;;16530 16531 sysv4*MP*)16532 if test -d /usr/nec; then16533 version_type=linux # correct to gnu/linux during the next big refactor16534 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'16535 soname_spec='$libname$shared_ext.$major'16536 shlibpath_var=LD_LIBRARY_PATH16537 fi16538 ;;16539 16540 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)16541 version_type=sco16542 need_lib_prefix=no16543 need_version=no16544 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'16545 soname_spec='$libname$release$shared_ext$major'16546 shlibpath_var=LD_LIBRARY_PATH16547 shlibpath_overrides_runpath=yes16548 hardcode_into_libs=yes16549 if test yes = "$with_gnu_ld"; then16550 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'16551 else16552 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'16553 case $host_os in16554 sco3.2v5*)16555 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"16556 ;;16557 esac16558 fi16559 sys_lib_dlsearch_path_spec='/usr/lib'16560 ;;16561 16562 tpf*)16563 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.16564 version_type=linux # correct to gnu/linux during the next big refactor16565 need_lib_prefix=no16566 need_version=no16567 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16568 shlibpath_var=LD_LIBRARY_PATH16569 shlibpath_overrides_runpath=no16570 hardcode_into_libs=yes16571 ;;16572 16573 uts4*)16574 version_type=linux # correct to gnu/linux during the next big refactor16575 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'16576 soname_spec='$libname$release$shared_ext$major'16577 shlibpath_var=LD_LIBRARY_PATH16578 ;;16579 16580 *)16581 dynamic_linker=no16582 ;;16583 esac16584 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&516585 $as_echo "$dynamic_linker" >&6; }16586 test no = "$dynamic_linker" && can_build_shared=no16587 16588 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"16589 if test yes = "$GCC"; then16590 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"16591 fi16592 16593 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then16594 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec16595 fi16596 16597 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then16598 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec16599 fi16600 16601 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...16602 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec16603 16604 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code16605 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"16606 16607 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool16608 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH16609 16610 16611 16612 16613 16614 16615 16616 16617 16618 16619 16620 16621 16622 16623 16624 16625 16626 16627 16628 16629 16630 16631 16632 16633 16634 16635 16636 16637 16638 16639 16640 16641 16642 16643 16644 16645 16646 16647 16648 16649 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&516650 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }16651 hardcode_action_CXX=16652 if test -n "$hardcode_libdir_flag_spec_CXX" ||16653 test -n "$runpath_var_CXX" ||16654 test yes = "$hardcode_automatic_CXX"; then16655 16656 # We can hardcode non-existent directories.16657 if test no != "$hardcode_direct_CXX" &&16658 # If the only mechanism to avoid hardcoding is shlibpath_var, we16659 # have to relink, otherwise we might link with an installed library16660 # when we should be linking with a yet-to-be-installed one16661 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&16662 test no != "$hardcode_minus_L_CXX"; then16663 # Linking always hardcodes the temporary library directory.16664 hardcode_action_CXX=relink16665 else16666 # We can link without hardcoding, and we can hardcode nonexisting dirs.16667 hardcode_action_CXX=immediate16668 fi16669 else16670 # We cannot hardcode anything, or else we can only hardcode existing16671 # directories.16672 hardcode_action_CXX=unsupported16673 fi16674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&516675 $as_echo "$hardcode_action_CXX" >&6; }16676 16677 if test relink = "$hardcode_action_CXX" ||16678 test yes = "$inherit_rpath_CXX"; then16679 # Fast installation is not supported16680 enable_fast_install=no16681 elif test yes = "$shlibpath_overrides_runpath" ||16682 test no = "$enable_shared"; then16683 # Fast installation is not necessary16684 enable_fast_install=needless16685 fi16686 16687 16688 16689 16690 16691 16692 16693 fi # test -n "$compiler"16694 16695 CC=$lt_save_CC16696 CFLAGS=$lt_save_CFLAGS16697 LDCXX=$LD16698 LD=$lt_save_LD16699 GCC=$lt_save_GCC16700 with_gnu_ld=$lt_save_with_gnu_ld16701 lt_cv_path_LDCXX=$lt_cv_path_LD16702 lt_cv_path_LD=$lt_save_path_LD16703 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld16704 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld16705 fi # test yes != "$_lt_caught_CXX_error"16706 16707 ac_ext=c16708 ac_cpp='$CPP $CPPFLAGS'16709 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'16710 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'16711 ac_compiler_gnu=$ac_cv_c_compiler_gnu16712 16713 16714 16715 16716 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 ac_config_commands="$ac_config_commands libtool"16728 16729 16730 16731 16732 # Only expand once:16733 16734 16735 16736 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&516737 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }16738 set x ${MAKE-make}16739 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`16740 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :16741 $as_echo_n "(cached) " >&616742 else16743 cat >conftest.make <<\_ACEOF16744 SHELL = /bin/sh16745 all:16746 @echo '@@@%%%=$(MAKE)=@@@%%%'16747 _ACEOF16748 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.16749 case `${MAKE-make} -f conftest.make 2>/dev/null` in16750 *@@@%%%=?*=@@@%%%*)16751 eval ac_cv_prog_make_${ac_make}_set=yes;;16752 *)16753 eval ac_cv_prog_make_${ac_make}_set=no;;16754 esac16755 rm -f conftest.make16756 fi16757 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then16758 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&516759 $as_echo "yes" >&6; }16760 SET_MAKE=16761 else16762 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&516763 $as_echo "no" >&6; }16764 SET_MAKE="MAKE=${MAKE-make}"16765 fi16766 16767 16768 # Checks for libraries.16769 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&516770 $as_echo_n "checking for Fibre::yield in -lfibre... " >&6; }16771 if ${ac_cv_lib_fibre_Fibre__yield+:} false; then :16772 $as_echo_n "(cached) " >&616773 else16774 ac_check_lib_save_LIBS=$LIBS16775 LIBS="-lfibre $LIBS"16776 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16777 /* end confdefs.h. */16778 16779 /* Override any GCC internal prototype to avoid an error.16780 Use char because int might match the return type of a GCC16781 builtin and then its argument prototype would still apply. */16782 #ifdef __cplusplus16783 extern "C"16784 #endif16785 char Fibre::yield ();16786 int16787 main ()16788 {16789 return Fibre::yield ();16790 ;16791 return 0;16792 }16793 _ACEOF16794 if ac_fn_c_try_link "$LINENO"; then :16795 ac_cv_lib_fibre_Fibre__yield=yes16796 else16797 ac_cv_lib_fibre_Fibre__yield=no16798 fi16799 rm -f core conftest.err conftest.$ac_objext \16800 conftest$ac_exeext conftest.$ac_ext16801 LIBS=$ac_check_lib_save_LIBS16802 fi16803 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&516804 $as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; }16805 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then :16806 HAVE_LIBFIBRE=116807 else16808 HAVE_LIBFIBRE=016809 fi16810 16811 if test "$HAVE_LIBFIBRE" -eq 1; then16812 WITH_LIBFIBRE_TRUE=16813 WITH_LIBFIBRE_FALSE='#'16814 else16815 WITH_LIBFIBRE_TRUE='#'16816 WITH_LIBFIBRE_FALSE=16817 fi16818 16819 16820 # Checks for header files.16821 5840 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" 16822 5841 if test "x$ac_cv_type_size_t" = xyes; then : … … 17309 6328 fi 17310 6329 done 17311 17312 17313 #==============================================================================17314 # backend compiler implementation17315 17316 cat >>confdefs.h <<_ACEOF17317 #define CFA_BACKEND_CC "${CC}"17318 _ACEOF17319 17320 6330 17321 6331 … … 17470 6480 Usually this means the macro was only invoked conditionally." "$LINENO" 5 17471 6481 fi 17472 if test -z "${WITH_LIBFIBRE_TRUE}" && test -z "${WITH_LIBFIBRE_FALSE}"; then17473 as_fn_error $? "conditional \"WITH_LIBFIBRE\" was never defined.17474 Usually this means the macro was only invoked conditionally." "$LINENO" 517475 fi17476 6482 17477 6483 : "${CONFIG_STATUS=./config.status}" … … 18062 7068 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 18063 7069 18064 18065 # The HP-UX ksh and POSIX shell print the target directory to stdout18066 # if CDPATH is set.18067 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH18068 18069 sed_quote_subst='$sed_quote_subst'18070 double_quote_subst='$double_quote_subst'18071 delay_variable_subst='$delay_variable_subst'18072 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'18073 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'18074 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'18075 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'18076 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'18077 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'18078 shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'18079 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'18080 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'18081 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'18082 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'18083 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'18084 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'18085 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'18086 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'18087 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'18088 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'18089 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'18090 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'18091 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'18092 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'18093 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'18094 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'18095 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'18096 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'18097 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'18098 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'18099 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'18100 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'18101 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'18102 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'18103 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'18104 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'18105 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'18106 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'18107 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'18108 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'18109 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'18110 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'18111 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'18112 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'18113 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'18114 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'18115 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'18116 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'18117 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'18118 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'18119 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'18120 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'18121 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'18122 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'18123 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'18124 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'18125 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'18126 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'18127 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'18128 lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'18129 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'18130 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'18131 lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'18132 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'18133 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'18134 lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'18135 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'18136 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'18137 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'18138 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'18139 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'18140 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'18141 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'18142 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'18143 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'18144 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'18145 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'18146 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'18147 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'18148 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'18149 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'18150 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'18151 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'18152 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'18153 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'18154 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'18155 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'18156 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'18157 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'18158 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'18159 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'18160 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'18161 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'18162 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'18163 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'18164 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'18165 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'18166 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'18167 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'18168 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'18169 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'18170 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'18171 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'18172 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'18173 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'18174 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'18175 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'18176 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'18177 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'18178 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'18179 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'18180 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'18181 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'18182 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'18183 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'18184 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'18185 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'18186 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'18187 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'18188 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'18189 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'18190 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'18191 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'18192 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'18193 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'18194 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'18195 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'18196 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'18197 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'18198 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'18199 configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'18200 configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'18201 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'18202 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'18203 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'18204 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'18205 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'18206 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'18207 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'18208 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'18209 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'18210 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'18211 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'18212 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'18213 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'18214 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'18215 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'18216 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'18217 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'18218 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'18219 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'18220 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'18221 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'18222 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'18223 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'18224 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'18225 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'18226 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'18227 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'18228 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'18229 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'18230 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'18231 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'18232 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'18233 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'18234 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'18235 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'18236 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'18237 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'18238 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'18239 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'18240 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'18241 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'18242 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'18243 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'18244 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'18245 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'18246 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'18247 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'18248 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'18249 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'18250 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'18251 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'18252 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'18253 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'18254 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'18255 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'18256 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'18257 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'18258 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'18259 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'18260 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'18261 18262 LTCC='$LTCC'18263 LTCFLAGS='$LTCFLAGS'18264 compiler='$compiler_DEFAULT'18265 18266 # A function that is used when there is no print builtin or printf.18267 func_fallback_echo ()18268 {18269 eval 'cat <<_LTECHO_EOF18270 \$118271 _LTECHO_EOF'18272 }18273 18274 # Quote evaled strings.18275 for var in SHELL \18276 ECHO \18277 PATH_SEPARATOR \18278 SED \18279 GREP \18280 EGREP \18281 FGREP \18282 LD \18283 NM \18284 LN_S \18285 lt_SP2NL \18286 lt_NL2SP \18287 reload_flag \18288 OBJDUMP \18289 deplibs_check_method \18290 file_magic_cmd \18291 file_magic_glob \18292 want_nocaseglob \18293 DLLTOOL \18294 sharedlib_from_linklib_cmd \18295 AR \18296 AR_FLAGS \18297 archiver_list_spec \18298 STRIP \18299 RANLIB \18300 CC \18301 CFLAGS \18302 compiler \18303 lt_cv_sys_global_symbol_pipe \18304 lt_cv_sys_global_symbol_to_cdecl \18305 lt_cv_sys_global_symbol_to_import \18306 lt_cv_sys_global_symbol_to_c_name_address \18307 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \18308 lt_cv_nm_interface \18309 nm_file_list_spec \18310 lt_cv_truncate_bin \18311 lt_prog_compiler_no_builtin_flag \18312 lt_prog_compiler_pic \18313 lt_prog_compiler_wl \18314 lt_prog_compiler_static \18315 lt_cv_prog_compiler_c_o \18316 need_locks \18317 MANIFEST_TOOL \18318 DSYMUTIL \18319 NMEDIT \18320 LIPO \18321 OTOOL \18322 OTOOL64 \18323 shrext_cmds \18324 export_dynamic_flag_spec \18325 whole_archive_flag_spec \18326 compiler_needs_object \18327 with_gnu_ld \18328 allow_undefined_flag \18329 no_undefined_flag \18330 hardcode_libdir_flag_spec \18331 hardcode_libdir_separator \18332 exclude_expsyms \18333 include_expsyms \18334 file_list_spec \18335 variables_saved_for_relink \18336 libname_spec \18337 library_names_spec \18338 soname_spec \18339 install_override_mode \18340 finish_eval \18341 old_striplib \18342 striplib \18343 compiler_lib_search_dirs \18344 predep_objects \18345 postdep_objects \18346 predeps \18347 postdeps \18348 compiler_lib_search_path \18349 LD_CXX \18350 reload_flag_CXX \18351 compiler_CXX \18352 lt_prog_compiler_no_builtin_flag_CXX \18353 lt_prog_compiler_pic_CXX \18354 lt_prog_compiler_wl_CXX \18355 lt_prog_compiler_static_CXX \18356 lt_cv_prog_compiler_c_o_CXX \18357 export_dynamic_flag_spec_CXX \18358 whole_archive_flag_spec_CXX \18359 compiler_needs_object_CXX \18360 with_gnu_ld_CXX \18361 allow_undefined_flag_CXX \18362 no_undefined_flag_CXX \18363 hardcode_libdir_flag_spec_CXX \18364 hardcode_libdir_separator_CXX \18365 exclude_expsyms_CXX \18366 include_expsyms_CXX \18367 file_list_spec_CXX \18368 compiler_lib_search_dirs_CXX \18369 predep_objects_CXX \18370 postdep_objects_CXX \18371 predeps_CXX \18372 postdeps_CXX \18373 compiler_lib_search_path_CXX; do18374 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in18375 *[\\\\\\\`\\"\\\$]*)18376 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes18377 ;;18378 *)18379 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""18380 ;;18381 esac18382 done18383 18384 # Double-quote double-evaled strings.18385 for var in reload_cmds \18386 old_postinstall_cmds \18387 old_postuninstall_cmds \18388 old_archive_cmds \18389 extract_expsyms_cmds \18390 old_archive_from_new_cmds \18391 old_archive_from_expsyms_cmds \18392 archive_cmds \18393 archive_expsym_cmds \18394 module_cmds \18395 module_expsym_cmds \18396 export_symbols_cmds \18397 prelink_cmds \18398 postlink_cmds \18399 postinstall_cmds \18400 postuninstall_cmds \18401 finish_cmds \18402 sys_lib_search_path_spec \18403 configure_time_dlsearch_path \18404 configure_time_lt_sys_library_path \18405 reload_cmds_CXX \18406 old_archive_cmds_CXX \18407 old_archive_from_new_cmds_CXX \18408 old_archive_from_expsyms_cmds_CXX \18409 archive_cmds_CXX \18410 archive_expsym_cmds_CXX \18411 module_cmds_CXX \18412 module_expsym_cmds_CXX \18413 export_symbols_cmds_CXX \18414 prelink_cmds_CXX \18415 postlink_cmds_CXX; do18416 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in18417 *[\\\\\\\`\\"\\\$]*)18418 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes18419 ;;18420 *)18421 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""18422 ;;18423 esac18424 done18425 18426 ac_aux_dir='$ac_aux_dir'18427 18428 # See if we are running on zsh, and set the options that allow our18429 # commands through without removal of \ escapes INIT.18430 if test -n "\${ZSH_VERSION+set}"; then18431 setopt NO_GLOB_SUBST18432 fi18433 18434 18435 PACKAGE='$PACKAGE'18436 VERSION='$VERSION'18437 RM='$RM'18438 ofile='$ofile'18439 18440 18441 18442 18443 18444 18445 7070 _ACEOF 18446 7071 … … 18453 7078 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;; 18454 7079 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 18455 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;18456 7080 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 18457 7081 "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;; … … 19184 7808 } 19185 7809 ;; 19186 "libtool":C)19187 19188 # See if we are running on zsh, and set the options that allow our19189 # commands through without removal of \ escapes.19190 if test -n "${ZSH_VERSION+set}"; then19191 setopt NO_GLOB_SUBST19192 fi19193 19194 cfgfile=${ofile}T19195 trap "$RM \"$cfgfile\"; exit 1" 1 2 1519196 $RM "$cfgfile"19197 19198 cat <<_LT_EOF >> "$cfgfile"19199 #! $SHELL19200 # Generated automatically by $as_me ($PACKAGE) $VERSION19201 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:19202 # NOTE: Changes made to this file will be lost: look at ltmain.sh.19203 19204 # Provide generalized library-building support services.19205 # Written by Gordon Matzigkeit, 199619206 19207 # Copyright (C) 2014 Free Software Foundation, Inc.19208 # This is free software; see the source for copying conditions. There is NO19209 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.19210 19211 # GNU Libtool is free software; you can redistribute it and/or modify19212 # it under the terms of the GNU General Public License as published by19213 # the Free Software Foundation; either version 2 of of the License, or19214 # (at your option) any later version.19215 #19216 # As a special exception to the GNU General Public License, if you19217 # distribute this file as part of a program or library that is built19218 # using GNU Libtool, you may include this file under the same19219 # distribution terms that you use for the rest of that program.19220 #19221 # GNU Libtool is distributed in the hope that it will be useful, but19222 # WITHOUT ANY WARRANTY; without even the implied warranty of19223 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the19224 # GNU General Public License for more details.19225 #19226 # You should have received a copy of the GNU General Public License19227 # along with this program. If not, see <http://www.gnu.org/licenses/>.19228 19229 19230 # The names of the tagged configurations supported by this script.19231 available_tags='CXX '19232 19233 # Configured defaults for sys_lib_dlsearch_path munging.19234 : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}19235 19236 # ### BEGIN LIBTOOL CONFIG19237 19238 # Which release of libtool.m4 was used?19239 macro_version=$macro_version19240 macro_revision=$macro_revision19241 19242 # Whether or not to build shared libraries.19243 build_libtool_libs=$enable_shared19244 19245 # Whether or not to build static libraries.19246 build_old_libs=$enable_static19247 19248 # What type of objects to build.19249 pic_mode=$pic_mode19250 19251 # Whether or not to optimize for fast installation.19252 fast_install=$enable_fast_install19253 19254 # Shared archive member basename,for filename based shared library versioning on AIX.19255 shared_archive_member_spec=$shared_archive_member_spec19256 19257 # Shell to use when invoking shell scripts.19258 SHELL=$lt_SHELL19259 19260 # An echo program that protects backslashes.19261 ECHO=$lt_ECHO19262 19263 # The PATH separator for the build system.19264 PATH_SEPARATOR=$lt_PATH_SEPARATOR19265 19266 # The host system.19267 host_alias=$host_alias19268 host=$host19269 host_os=$host_os19270 19271 # The build system.19272 build_alias=$build_alias19273 build=$build19274 build_os=$build_os19275 19276 # A sed program that does not truncate output.19277 SED=$lt_SED19278 19279 # Sed that helps us avoid accidentally triggering echo(1) options like -n.19280 Xsed="\$SED -e 1s/^X//"19281 19282 # A grep program that handles long lines.19283 GREP=$lt_GREP19284 19285 # An ERE matcher.19286 EGREP=$lt_EGREP19287 19288 # A literal string matcher.19289 FGREP=$lt_FGREP19290 19291 # A BSD- or MS-compatible name lister.19292 NM=$lt_NM19293 19294 # Whether we need soft or hard links.19295 LN_S=$lt_LN_S19296 19297 # What is the maximum length of a command?19298 max_cmd_len=$max_cmd_len19299 19300 # Object file suffix (normally "o").19301 objext=$ac_objext19302 19303 # Executable file suffix (normally "").19304 exeext=$exeext19305 19306 # whether the shell understands "unset".19307 lt_unset=$lt_unset19308 19309 # turn spaces into newlines.19310 SP2NL=$lt_lt_SP2NL19311 19312 # turn newlines into spaces.19313 NL2SP=$lt_lt_NL2SP19314 19315 # convert \$build file names to \$host format.19316 to_host_file_cmd=$lt_cv_to_host_file_cmd19317 19318 # convert \$build files to toolchain format.19319 to_tool_file_cmd=$lt_cv_to_tool_file_cmd19320 19321 # An object symbol dumper.19322 OBJDUMP=$lt_OBJDUMP19323 19324 # Method to check whether dependent libraries are shared objects.19325 deplibs_check_method=$lt_deplibs_check_method19326 19327 # Command to use when deplibs_check_method = "file_magic".19328 file_magic_cmd=$lt_file_magic_cmd19329 19330 # How to find potential files when deplibs_check_method = "file_magic".19331 file_magic_glob=$lt_file_magic_glob19332 19333 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".19334 want_nocaseglob=$lt_want_nocaseglob19335 19336 # DLL creation program.19337 DLLTOOL=$lt_DLLTOOL19338 19339 # Command to associate shared and link libraries.19340 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd19341 19342 # The archiver.19343 AR=$lt_AR19344 19345 # Flags to create an archive.19346 AR_FLAGS=$lt_AR_FLAGS19347 19348 # How to feed a file listing to the archiver.19349 archiver_list_spec=$lt_archiver_list_spec19350 19351 # A symbol stripping program.19352 STRIP=$lt_STRIP19353 19354 # Commands used to install an old-style archive.19355 RANLIB=$lt_RANLIB19356 old_postinstall_cmds=$lt_old_postinstall_cmds19357 old_postuninstall_cmds=$lt_old_postuninstall_cmds19358 19359 # Whether to use a lock for old archive extraction.19360 lock_old_archive_extraction=$lock_old_archive_extraction19361 19362 # A C compiler.19363 LTCC=$lt_CC19364 19365 # LTCC compiler flags.19366 LTCFLAGS=$lt_CFLAGS19367 19368 # Take the output of nm and produce a listing of raw symbols and C names.19369 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe19370 19371 # Transform the output of nm in a proper C declaration.19372 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl19373 19374 # Transform the output of nm into a list of symbols to manually relocate.19375 global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import19376 19377 # Transform the output of nm in a C name address pair.19378 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address19379 19380 # Transform the output of nm in a C name address pair when lib prefix is needed.19381 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix19382 19383 # The name lister interface.19384 nm_interface=$lt_lt_cv_nm_interface19385 19386 # Specify filename containing input files for \$NM.19387 nm_file_list_spec=$lt_nm_file_list_spec19388 19389 # The root where to search for dependent libraries,and where our libraries should be installed.19390 lt_sysroot=$lt_sysroot19391 19392 # Command to truncate a binary pipe.19393 lt_truncate_bin=$lt_lt_cv_truncate_bin19394 19395 # The name of the directory that contains temporary libtool files.19396 objdir=$objdir19397 19398 # Used to examine libraries when file_magic_cmd begins with "file".19399 MAGIC_CMD=$MAGIC_CMD19400 19401 # Must we lock files when doing compilation?19402 need_locks=$lt_need_locks19403 19404 # Manifest tool.19405 MANIFEST_TOOL=$lt_MANIFEST_TOOL19406 19407 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.19408 DSYMUTIL=$lt_DSYMUTIL19409 19410 # Tool to change global to local symbols on Mac OS X.19411 NMEDIT=$lt_NMEDIT19412 19413 # Tool to manipulate fat objects and archives on Mac OS X.19414 LIPO=$lt_LIPO19415 19416 # ldd/readelf like tool for Mach-O binaries on Mac OS X.19417 OTOOL=$lt_OTOOL19418 19419 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.19420 OTOOL64=$lt_OTOOL6419421 19422 # Old archive suffix (normally "a").19423 libext=$libext19424 19425 # Shared library suffix (normally ".so").19426 shrext_cmds=$lt_shrext_cmds19427 19428 # The commands to extract the exported symbol list from a shared archive.19429 extract_expsyms_cmds=$lt_extract_expsyms_cmds19430 19431 # Variables whose values should be saved in libtool wrapper scripts and19432 # restored at link time.19433 variables_saved_for_relink=$lt_variables_saved_for_relink19434 19435 # Do we need the "lib" prefix for modules?19436 need_lib_prefix=$need_lib_prefix19437 19438 # Do we need a version for libraries?19439 need_version=$need_version19440 19441 # Library versioning type.19442 version_type=$version_type19443 19444 # Shared library runtime path variable.19445 runpath_var=$runpath_var19446 19447 # Shared library path variable.19448 shlibpath_var=$shlibpath_var19449 19450 # Is shlibpath searched before the hard-coded library search path?19451 shlibpath_overrides_runpath=$shlibpath_overrides_runpath19452 19453 # Format of library name prefix.19454 libname_spec=$lt_libname_spec19455 19456 # List of archive names. First name is the real one, the rest are links.19457 # The last name is the one that the linker finds with -lNAME19458 library_names_spec=$lt_library_names_spec19459 19460 # The coded name of the library, if different from the real name.19461 soname_spec=$lt_soname_spec19462 19463 # Permission mode override for installation of shared libraries.19464 install_override_mode=$lt_install_override_mode19465 19466 # Command to use after installation of a shared archive.19467 postinstall_cmds=$lt_postinstall_cmds19468 19469 # Command to use after uninstallation of a shared archive.19470 postuninstall_cmds=$lt_postuninstall_cmds19471 19472 # Commands used to finish a libtool library installation in a directory.19473 finish_cmds=$lt_finish_cmds19474 19475 # As "finish_cmds", except a single script fragment to be evaled but19476 # not shown.19477 finish_eval=$lt_finish_eval19478 19479 # Whether we should hardcode library paths into libraries.19480 hardcode_into_libs=$hardcode_into_libs19481 19482 # Compile-time system search path for libraries.19483 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec19484 19485 # Detected run-time system search path for libraries.19486 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path19487 19488 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time.19489 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path19490 19491 # Whether dlopen is supported.19492 dlopen_support=$enable_dlopen19493 19494 # Whether dlopen of programs is supported.19495 dlopen_self=$enable_dlopen_self19496 19497 # Whether dlopen of statically linked programs is supported.19498 dlopen_self_static=$enable_dlopen_self_static19499 19500 # Commands to strip libraries.19501 old_striplib=$lt_old_striplib19502 striplib=$lt_striplib19503 19504 19505 # The linker used to build libraries.19506 LD=$lt_LD19507 19508 # How to create reloadable object files.19509 reload_flag=$lt_reload_flag19510 reload_cmds=$lt_reload_cmds19511 19512 # Commands used to build an old-style archive.19513 old_archive_cmds=$lt_old_archive_cmds19514 19515 # A language specific compiler.19516 CC=$lt_compiler19517 19518 # Is the compiler the GNU compiler?19519 with_gcc=$GCC19520 19521 # Compiler flag to turn off builtin functions.19522 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag19523 19524 # Additional compiler flags for building library objects.19525 pic_flag=$lt_lt_prog_compiler_pic19526 19527 # How to pass a linker flag through the compiler.19528 wl=$lt_lt_prog_compiler_wl19529 19530 # Compiler flag to prevent dynamic linking.19531 link_static_flag=$lt_lt_prog_compiler_static19532 19533 # Does compiler simultaneously support -c and -o options?19534 compiler_c_o=$lt_lt_cv_prog_compiler_c_o19535 19536 # Whether or not to add -lc for building shared libraries.19537 build_libtool_need_lc=$archive_cmds_need_lc19538 19539 # Whether or not to disallow shared libs when runtime libs are static.19540 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes19541 19542 # Compiler flag to allow reflexive dlopens.19543 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec19544 19545 # Compiler flag to generate shared objects directly from archives.19546 whole_archive_flag_spec=$lt_whole_archive_flag_spec19547 19548 # Whether the compiler copes with passing no objects directly.19549 compiler_needs_object=$lt_compiler_needs_object19550 19551 # Create an old-style archive from a shared archive.19552 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds19553 19554 # Create a temporary old-style archive to link instead of a shared archive.19555 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds19556 19557 # Commands used to build a shared archive.19558 archive_cmds=$lt_archive_cmds19559 archive_expsym_cmds=$lt_archive_expsym_cmds19560 19561 # Commands used to build a loadable module if different from building19562 # a shared archive.19563 module_cmds=$lt_module_cmds19564 module_expsym_cmds=$lt_module_expsym_cmds19565 19566 # Whether we are building with GNU ld or not.19567 with_gnu_ld=$lt_with_gnu_ld19568 19569 # Flag that allows shared libraries with undefined symbols to be built.19570 allow_undefined_flag=$lt_allow_undefined_flag19571 19572 # Flag that enforces no undefined symbols.19573 no_undefined_flag=$lt_no_undefined_flag19574 19575 # Flag to hardcode \$libdir into a binary during linking.19576 # This must work even if \$libdir does not exist19577 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec19578 19579 # Whether we need a single "-rpath" flag with a separated argument.19580 hardcode_libdir_separator=$lt_hardcode_libdir_separator19581 19582 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19583 # DIR into the resulting binary.19584 hardcode_direct=$hardcode_direct19585 19586 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19587 # DIR into the resulting binary and the resulting library dependency is19588 # "absolute",i.e impossible to change by setting \$shlibpath_var if the19589 # library is relocated.19590 hardcode_direct_absolute=$hardcode_direct_absolute19591 19592 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR19593 # into the resulting binary.19594 hardcode_minus_L=$hardcode_minus_L19595 19596 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR19597 # into the resulting binary.19598 hardcode_shlibpath_var=$hardcode_shlibpath_var19599 19600 # Set to "yes" if building a shared library automatically hardcodes DIR19601 # into the library and all subsequent libraries and executables linked19602 # against it.19603 hardcode_automatic=$hardcode_automatic19604 19605 # Set to yes if linker adds runtime paths of dependent libraries19606 # to runtime path list.19607 inherit_rpath=$inherit_rpath19608 19609 # Whether libtool must link a program against all its dependency libraries.19610 link_all_deplibs=$link_all_deplibs19611 19612 # Set to "yes" if exported symbols are required.19613 always_export_symbols=$always_export_symbols19614 19615 # The commands to list exported symbols.19616 export_symbols_cmds=$lt_export_symbols_cmds19617 19618 # Symbols that should not be listed in the preloaded symbols.19619 exclude_expsyms=$lt_exclude_expsyms19620 19621 # Symbols that must always be exported.19622 include_expsyms=$lt_include_expsyms19623 19624 # Commands necessary for linking programs (against libraries) with templates.19625 prelink_cmds=$lt_prelink_cmds19626 19627 # Commands necessary for finishing linking programs.19628 postlink_cmds=$lt_postlink_cmds19629 19630 # Specify filename containing input files.19631 file_list_spec=$lt_file_list_spec19632 19633 # How to hardcode a shared library path into an executable.19634 hardcode_action=$hardcode_action19635 19636 # The directories searched by this compiler when creating a shared library.19637 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs19638 19639 # Dependencies to place before and after the objects being linked to19640 # create a shared library.19641 predep_objects=$lt_predep_objects19642 postdep_objects=$lt_postdep_objects19643 predeps=$lt_predeps19644 postdeps=$lt_postdeps19645 19646 # The library search path used internally by the compiler when linking19647 # a shared library.19648 compiler_lib_search_path=$lt_compiler_lib_search_path19649 19650 # ### END LIBTOOL CONFIG19651 19652 _LT_EOF19653 19654 cat <<'_LT_EOF' >> "$cfgfile"19655 19656 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE19657 19658 # func_munge_path_list VARIABLE PATH19659 # -----------------------------------19660 # VARIABLE is name of variable containing _space_ separated list of19661 # directories to be munged by the contents of PATH, which is string19662 # having a format:19663 # "DIR[:DIR]:"19664 # string "DIR[ DIR]" will be prepended to VARIABLE19665 # ":DIR[:DIR]"19666 # string "DIR[ DIR]" will be appended to VARIABLE19667 # "DIRP[:DIRP]::[DIRA:]DIRA"19668 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string19669 # "DIRA[ DIRA]" will be appended to VARIABLE19670 # "DIR[:DIR]"19671 # VARIABLE will be replaced by "DIR[ DIR]"19672 func_munge_path_list ()19673 {19674 case x$2 in19675 x)19676 ;;19677 *:)19678 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"19679 ;;19680 x:*)19681 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"19682 ;;19683 *::*)19684 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"19685 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"19686 ;;19687 *)19688 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"19689 ;;19690 esac19691 }19692 19693 19694 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.19695 func_cc_basename ()19696 {19697 for cc_temp in $*""; do19698 case $cc_temp in19699 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;19700 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;19701 \-*) ;;19702 *) break;;19703 esac19704 done19705 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`19706 }19707 19708 19709 # ### END FUNCTIONS SHARED WITH CONFIGURE19710 19711 _LT_EOF19712 19713 case $host_os in19714 aix3*)19715 cat <<\_LT_EOF >> "$cfgfile"19716 # AIX sometimes has problems with the GCC collect2 program. For some19717 # reason, if we set the COLLECT_NAMES environment variable, the problems19718 # vanish in a puff of smoke.19719 if test set != "${COLLECT_NAMES+set}"; then19720 COLLECT_NAMES=19721 export COLLECT_NAMES19722 fi19723 _LT_EOF19724 ;;19725 esac19726 19727 19728 ltmain=$ac_aux_dir/ltmain.sh19729 19730 19731 # We use sed instead of cat because bash on DJGPP gets confused if19732 # if finds mixed CR/LF and LF-only lines. Since sed operates in19733 # text mode, it properly converts lines to CR/LF. This bash problem19734 # is reportedly fixed, but why not run on old versions too?19735 sed '$q' "$ltmain" >> "$cfgfile" \19736 || (rm -f "$cfgfile"; exit 1)19737 19738 mv -f "$cfgfile" "$ofile" ||19739 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")19740 chmod +x "$ofile"19741 19742 19743 cat <<_LT_EOF >> "$ofile"19744 19745 # ### BEGIN LIBTOOL TAG CONFIG: CXX19746 19747 # The linker used to build libraries.19748 LD=$lt_LD_CXX19749 19750 # How to create reloadable object files.19751 reload_flag=$lt_reload_flag_CXX19752 reload_cmds=$lt_reload_cmds_CXX19753 19754 # Commands used to build an old-style archive.19755 old_archive_cmds=$lt_old_archive_cmds_CXX19756 19757 # A language specific compiler.19758 CC=$lt_compiler_CXX19759 19760 # Is the compiler the GNU compiler?19761 with_gcc=$GCC_CXX19762 19763 # Compiler flag to turn off builtin functions.19764 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX19765 19766 # Additional compiler flags for building library objects.19767 pic_flag=$lt_lt_prog_compiler_pic_CXX19768 19769 # How to pass a linker flag through the compiler.19770 wl=$lt_lt_prog_compiler_wl_CXX19771 19772 # Compiler flag to prevent dynamic linking.19773 link_static_flag=$lt_lt_prog_compiler_static_CXX19774 19775 # Does compiler simultaneously support -c and -o options?19776 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX19777 19778 # Whether or not to add -lc for building shared libraries.19779 build_libtool_need_lc=$archive_cmds_need_lc_CXX19780 19781 # Whether or not to disallow shared libs when runtime libs are static.19782 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX19783 19784 # Compiler flag to allow reflexive dlopens.19785 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX19786 19787 # Compiler flag to generate shared objects directly from archives.19788 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX19789 19790 # Whether the compiler copes with passing no objects directly.19791 compiler_needs_object=$lt_compiler_needs_object_CXX19792 19793 # Create an old-style archive from a shared archive.19794 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX19795 19796 # Create a temporary old-style archive to link instead of a shared archive.19797 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX19798 19799 # Commands used to build a shared archive.19800 archive_cmds=$lt_archive_cmds_CXX19801 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX19802 19803 # Commands used to build a loadable module if different from building19804 # a shared archive.19805 module_cmds=$lt_module_cmds_CXX19806 module_expsym_cmds=$lt_module_expsym_cmds_CXX19807 19808 # Whether we are building with GNU ld or not.19809 with_gnu_ld=$lt_with_gnu_ld_CXX19810 19811 # Flag that allows shared libraries with undefined symbols to be built.19812 allow_undefined_flag=$lt_allow_undefined_flag_CXX19813 19814 # Flag that enforces no undefined symbols.19815 no_undefined_flag=$lt_no_undefined_flag_CXX19816 19817 # Flag to hardcode \$libdir into a binary during linking.19818 # This must work even if \$libdir does not exist19819 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX19820 19821 # Whether we need a single "-rpath" flag with a separated argument.19822 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX19823 19824 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19825 # DIR into the resulting binary.19826 hardcode_direct=$hardcode_direct_CXX19827 19828 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19829 # DIR into the resulting binary and the resulting library dependency is19830 # "absolute",i.e impossible to change by setting \$shlibpath_var if the19831 # library is relocated.19832 hardcode_direct_absolute=$hardcode_direct_absolute_CXX19833 19834 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR19835 # into the resulting binary.19836 hardcode_minus_L=$hardcode_minus_L_CXX19837 19838 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR19839 # into the resulting binary.19840 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX19841 19842 # Set to "yes" if building a shared library automatically hardcodes DIR19843 # into the library and all subsequent libraries and executables linked19844 # against it.19845 hardcode_automatic=$hardcode_automatic_CXX19846 19847 # Set to yes if linker adds runtime paths of dependent libraries19848 # to runtime path list.19849 inherit_rpath=$inherit_rpath_CXX19850 19851 # Whether libtool must link a program against all its dependency libraries.19852 link_all_deplibs=$link_all_deplibs_CXX19853 19854 # Set to "yes" if exported symbols are required.19855 always_export_symbols=$always_export_symbols_CXX19856 19857 # The commands to list exported symbols.19858 export_symbols_cmds=$lt_export_symbols_cmds_CXX19859 19860 # Symbols that should not be listed in the preloaded symbols.19861 exclude_expsyms=$lt_exclude_expsyms_CXX19862 19863 # Symbols that must always be exported.19864 include_expsyms=$lt_include_expsyms_CXX19865 19866 # Commands necessary for linking programs (against libraries) with templates.19867 prelink_cmds=$lt_prelink_cmds_CXX19868 19869 # Commands necessary for finishing linking programs.19870 postlink_cmds=$lt_postlink_cmds_CXX19871 19872 # Specify filename containing input files.19873 file_list_spec=$lt_file_list_spec_CXX19874 19875 # How to hardcode a shared library path into an executable.19876 hardcode_action=$hardcode_action_CXX19877 19878 # The directories searched by this compiler when creating a shared library.19879 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX19880 19881 # Dependencies to place before and after the objects being linked to19882 # create a shared library.19883 predep_objects=$lt_predep_objects_CXX19884 postdep_objects=$lt_postdep_objects_CXX19885 predeps=$lt_predeps_CXX19886 postdeps=$lt_postdeps_CXX19887 19888 # The library search path used internally by the compiler when linking19889 # a shared library.19890 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX19891 19892 # ### END LIBTOOL TAG CONFIG: CXX19893 _LT_EOF19894 19895 ;;19896 7810 19897 7811 esac -
configure.ac
rcde3891 r9b086ca 5 5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 6 AC_CONFIG_AUX_DIR([automake]) 7 AC_CONFIG_MACRO_DIRS([automake])8 7 #AC_CONFIG_SRCDIR([src/main.cc]) 9 8 AC_CONFIG_HEADERS([config.h:src/config.h.in]) … … 56 55 AC_SUBST([DOendif]) 57 56 AM_SUBST_NOTMAKE([DOendif]) 57 58 #============================================================================== 59 # backend compiler implementation 60 AC_ARG_WITH(backend-compiler, 61 [ --with-backend-compiler=PROGRAM PROGRAM that performs the final code compilation (must be gcc-compatible) ], 62 backendcompiler=$withval, backendcompiler="") 63 if test "x$backendcompiler" != "x"; then 64 BACKEND_CC=${backendcompiler} 65 else 66 AC_PATH_PROG(BACKEND_CC, gcc, []) # check gcc installed 67 if test "x$BACKEND_CC" = "x"; then 68 AC_MSG_ERROR(some version of gcc is needed. Get it at ftp://ftp.gnu.org) 69 exit 1 70 fi 71 fi 72 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${BACKEND_CC}", [Location of include files.]) 73 AC_SUBST(CFA_BACKEND_CC) 58 74 59 75 #============================================================================== … … 156 172 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 157 173 echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data 158 echo -n "CONFIGURATION=${lib_config} " >> ${lib_dir}/config.data 159 echo -n "CFA_VERSION=${ver_major}:${ver_minor}:${ver_patch}" >> ${lib_dir}/config.data 174 echo -n "CONFIGURATION=${lib_config}" >> ${lib_dir}/config.data 160 175 done 161 176 … … 184 199 AC_PROG_LEX 185 200 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 186 AC_PROG_LIBTOOL187 201 AC_PROG_INSTALL 188 202 AC_PROG_MAKE_SET 203 AC_PROG_RANLIB 189 204 190 205 # Checks for libraries. 191 AC_CHECK_LIB([fibre], [Fibre::yield], [HAVE_LIBFIBRE=1], [HAVE_LIBFIBRE=0])192 AM_CONDITIONAL([WITH_LIBFIBRE], [test "$HAVE_LIBFIBRE" -eq 1])193 206 194 207 # Checks for header files. … … 212 225 213 226 #============================================================================== 214 # backend compiler implementation215 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${CC}", [Backend compiler to use.])216 AC_SUBST(CFA_BACKEND_CC)217 218 #==============================================================================219 227 AC_CONFIG_FILES([ 220 228 Makefile -
doc/bibliography/pl.bib
rcde3891 r9b086ca 21 21 % toplas: ACM Trans. on Prog. Lang. & Sys. 22 22 % tcs: Theoretical Computer Science 23 24 string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"} 25 @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."} 26 string{ieeese="IEEE Transactions on Software Engineering"} 27 @string{ieeese="IEEE Trans. Softw. Eng."} 28 string{spe="Software---\-Practice and Experience"} 29 @string{spe="Softw. Pract. Exper."} 30 string{ccpe="Concurrency and Computation: Practice and Experience"} 31 @string{ccpe="Concurrency Comput.: Pract. Exper."} 32 string{sigplan="SIGPLAN Notices"} 33 @string{sigplan="SIGPLAN Not."} 34 string{joop="Journal of Object-Oriented Programming"} 35 @string{joop="J. of Object-Oriented Program."} 23 @string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"} 24 % @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."} 25 @string{ieeese="IEEE Transactions on Software Engineering"} 26 % @string{ieeese="IEEE Trans. Softw. Eng."} 27 @string{spe="Software---\-Practice and Experience"} 28 % @string{spe="Softw. Pract. Exp."} 29 @string{ccpe="Concurrency and Computation: Practice and Experience"} 30 % @string{ccpe="Concurrency Comput: Pract Experience"} 31 @string{sigplan="SIGPLAN Notices"} 32 % @string{sigplan="SIGPLAN Not."} 33 @string{joop="Journal of Object-Oriented Programming"} 34 % @string{joop="J. of Object-Oriented Program."} 36 35 @string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"} 37 36 @string{osr="Operating Systems Review"} 38 37 @string{pldi="Programming Language Design and Implementation"} 39 38 @string{toplas="Transactions on Programming Languages and Systems"} 40 string{mathann="Mathematische Annalen"}41 @string{mathann="Math. Ann."}39 @string{mathann="Mathematische Annalen"} 40 % @string{mathann="Math. Ann."} 42 41 43 42 % A … … 567 566 } 568 567 569 @inproceedings {Qin18,570 author = {Henry Qin and Qian Li and Jacqueline Speiser and Peter Kraft and John Ousterhout},571 title = {Arachne: Core-Aware Thread Management},572 booktitle = {13th {USENIX} Symp. on Oper. Sys. Design and Impl. ({OSDI} 18)},573 year = {2018},574 address = {Carlsbad, CA},575 pages = {145-160},576 publisher = {{USENIX} Association},577 note = {\href{https://www.usenix.org/conference/osdi18/presentation/qin}{https://\-www.usenix.org/\-conference/\-osdi18/\-presentation/\-qin}},578 }579 580 568 @article{Kessels82, 581 569 keywords = {concurrency, critical section}, … … 665 653 author = {Joung, Yuh-Jzer}, 666 654 title = {Asynchronous group mutual exclusion}, 667 journal = {Dist. Comput.}, 668 optjournal = {Distributed Computing}, 655 journal = {Distributed Computing}, 669 656 year = {2000}, 670 657 month = {Nov}, … … 713 700 714 701 % B 715 716 @article{Michael13,717 contributer = {pabuhr@plg},718 author = {Maged M. Michael},719 title = {The Balancing Act of Choosing Nonblocking Features},720 journal = cacm,721 volume = 56,722 number = 9,723 month = sep,724 year = 2013,725 pages = {46--53},726 publisher = {ACM},727 address = {New York, NY, USA},728 }729 702 730 703 @incollection{beta:old, … … 809 782 time computable inheritance hierarchy. 810 783 }, 811 comment = {784 comment = { 812 785 Classes are predicates; if object {\tt o} is in class {\tt C}, then 813 786 {\tt C} is true of {\tt o}. Classes are combined with {\tt :AND}, … … 843 816 month = oct, 844 817 type = {Diplomarbeit}, 845 note = { \href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}},818 note = {{\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-KrischerThesis.ps.gz}}}, 846 819 } 847 820 … … 935 908 936 909 @misc{Cforall, 937 contributer = {pabuhr@plg},938 910 key = {Cforall}, 939 author = {{\textsf{C}{$\mathbf{\forall}$} Features}},940 howpublished= {\ href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-$\sim$cforall/\-features}},911 title = {\textsf{C}{$\mathbf{\forall}$} Features}, 912 howpublished= {\url{https://plg.uwaterloo.ca/~cforall/features}}, 941 913 optnote = {Accessed: 2018-01-01}, 942 914 } … … 954 926 955 927 @misc{CFAStackEvaluation, 956 contributer = {a3moss@plg},957 928 author = {Aaron Moss}, 958 929 title = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs}, … … 963 934 964 935 @article{Moss18, 965 keywords = { type systems, polymorphism, tuples, Cforall},936 keywords = {concurrency, C++}, 966 937 contributer = {pabuhr@plg}, 967 938 author = {Aaron Moss and Robert Schluntz and Peter A. Buhr}, 968 939 title = {\textsf{C}$\mathbf{\forall}$ : Adding Modern Programming Language Features to C}, 940 year = 2018, 969 941 journal = spe, 970 volume = 48, 971 number = 12, 972 month = dec, 973 year = 2018, 974 pages = {2111-2146}, 975 note = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}}, 942 note = {Accepted, to appear}, 976 943 } 977 944 … … 995 962 comment = { 996 963 The evidence given is thin. 997 }, 964 } 998 965 } 999 966 … … 1005 972 journal = {Dr. Dobb's Journal of Software Tools}, 1006 973 year = 1989, 1007 month = feb, 1008 volume = 14, 1009 number = 2, 1010 pages = {45-51}, 974 month = feb, volume = 14, number = 2, pages = {45-51}, 1011 975 comment = { 1012 976 A light-weight multitasking kernel for MS-DOS. A task\_control … … 1120 1084 month = oct, 1121 1085 year = 2001, 1122 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\- $\sim$cforall/\-cfa.ps}},1086 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-\char`\~cforall/\-cfa.ps}}, 1123 1087 } 1124 1088 … … 1452 1416 } 1453 1417 1454 @misc{NThreadCode13,1455 keywords = {N-thread software-solution mutual exclusion},1456 contributer = {pabuhr@plg},1457 key = {concurrent locking},1458 author = {Peter A. Buhr and David Dice and Wim H. Hesselink},1459 title = {concurrent-locking},1460 howpublished= {\href{https://github.com/pabuhr/concurrent-locking}{https://\-github.com/\-pabuhr/\-concurrent-locking}},1461 optnote = {[Accessed April 2017]},1462 }1463 1464 1418 @incollection{Reppy93, 1465 1419 keywords = {ML, concurrency, continuation passing}, … … 1526 1480 } 1527 1481 1528 @ manual{uC++,1482 @techreport{uC++, 1529 1483 keywords = {C++, concurrency, light-weight process, shared memory}, 1530 1484 contributer = {pabuhr@plg}, 1531 key = {uC++},1532 1485 author = {Peter A. Buhr}, 1533 1486 title = {$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Annotated Reference Manual, Version 7.0.0}, 1534 organization= {University of Waterloo}, 1535 month = sep, 1536 year = 2018, 1537 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/uC++.pdf}}, 1487 institution = {School of Computer Science, University of Waterloo}, 1488 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1489 month = dec, 1490 year = 2017, 1491 note = {\href{http://plg.uwaterloo.ca/~usystem/pub/uSystem/u++-7.0.0.sh}{http://\-plg.\-uwaterloo.\-ca/\-$\sim$usystem/\-pub/\-uSystem/\-u++-7.0.0.sh}}, 1538 1492 } 1539 1493 … … 1602 1556 } 1603 1557 1604 @mastersthesis{Sun15,1605 author = {Sun, Xianda},1606 title = {Concurrent High-performance Persistent Hash Table In {J}ava},1607 school = {School of Computer Sc., University of Waterloo},1608 year = 2015,1609 optaddress = {Waterloo, Ontario, Canada, N2L 3G1},1610 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/10013}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-10013}},1611 }1612 1613 1558 @book{Andrews91:book, 1614 1559 keywords = {concurrency}, … … 1635 1580 1636 1581 @mastersthesis{Delisle18, 1637 keywords = {concurrency, Cforall}, 1638 contributer = {pabuhr@plg}, 1639 author = {Thierry Delisle}, 1582 author = {Thierry Delisle }, 1640 1583 title = {Concurrency in \textsf{C}$\mathbf{\forall}$}, 1641 1584 school = {School of Computer Science, University of Waterloo}, 1642 1585 year = 2018, 1643 optaddress = {Waterloo, Ontario, Canada, N2L 3G1},1586 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1644 1587 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/12888}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-12888}}, 1645 }1646 1647 @article{Delisle18b,1648 keywords = {concurrency, Cforall},1649 contributer = {pabuhr@plg},1650 author = {Thierry Delisle and Peter A. Buhr},1651 title = {Concurrency in \textsf{C}$\mathbf{\forall}$},1652 year = 2018,1653 journal = spe,1654 pages = {1-32},1655 note = {submitted},1656 1588 } 1657 1589 … … 1828 1760 author = {Glen Ditchfield}, 1829 1761 title = {Conversions for \textsf{C}$\mathbf{\forall}$}, 1830 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\- $\sim$cforall/\-Conversions/\-index.html}},1762 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde cforall/\-Conversions/\-index.html}}, 1831 1763 month = {Nov}, 1832 1764 year = {2002}, … … 1895 1827 key = {Peter Buhr}, 1896 1828 title = {CS343}, 1897 year = 201 8,1898 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\- $\sim$cs343}},1829 year = 2017, 1830 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-~cs343}}, 1899 1831 } 1900 1832 … … 1955 1887 note = {Svensk Standard SS 63 61 14}, 1956 1888 year = 1987, 1957 abstract = {Standard for the programming language SIMULA. Written in English.} 1958 } 1959 1960 @article{Galil91, 1961 keywords = {union-find}, 1962 contributer = {a3moss@uwaterloo.ca}, 1963 title = {Data structures and algorithms for disjoint set union problems}, 1964 author = {Galil, Zvi and Italiano, Giuseppe F}, 1965 journal = {ACM Computing Surveys (CSUR)}, 1966 volume = 23, 1967 number = 3, 1968 pages = {319--344}, 1969 year = 1991, 1970 publisher = {ACM}, 1889 abstract = { 1890 Standard for the programming language SIMULA. Written in English. 1891 } 1971 1892 } 1972 1893 … … 2108 2029 year = {1998}, 2109 2030 pages = {393-407}, 2110 }2111 2112 @book{Aho74,2113 keywords = {algorithms, textbook, union-find},2114 contributer = {a3moss@uwaterloo.ca},2115 title = {The Design and Analysis of Computer Algorithms},2116 author = {Aho, Alfred V and Hopcroft, John E and Ullman, Jeffrey D},2117 year = {1974},2118 publisher = {Addison-Wesley},2119 address = {Reading, MA, USA}2120 2031 } 2121 2032 … … 2920 2831 } 2921 2832 2922 @inproceedings{Patwary10,2923 keywords = {union-find},2924 contributer = {a3moss@uwaterloo.ca},2925 author = {Patwary, Md. Mostofa Ali and Blair, Jean and Manne, Fredrik},2926 editor = {Festa, Paola},2927 title = {Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure},2928 booktitle = {Experimental Algorithms},2929 year = 2010,2930 publisher = {Springer Berlin Heidelberg},2931 address = {Berlin, Heidelberg},2932 pages = {411--423},2933 isbn = {978-3-642-13193-6}2934 }2935 2936 2833 % F 2937 2834 … … 2967 2864 keywords = {concurrency, mutual exclusion, performance experiment, software solutions}, 2968 2865 title = {Fast mutual exclusion by the {T}riangle algorithm}, 2969 author = {Wim H. Hesselink and Peter A.Buhr and David Dice},2866 author = {Wim H. Hesselink and Peter Buhr and David Dice}, 2970 2867 journal = ccpe, 2971 2868 volume = 30, … … 2974 2871 month = feb, 2975 2872 publisher = {John Wiley \& Sons}, 2976 note = {\ href{https://doi.org/10.1002/cpe.4183}{https://\-doi.org/\-10.1002/\-cpe.4183}}2873 note = {\url{https://doi.org/10.1002/cpe.4183}} 2977 2874 } 2978 2875 … … 3277 3174 keywords = {Go programming language}, 3278 3175 contributer = {pabuhr@plg}, 3176 title = {{Go} Programming Language}, 3279 3177 author = {Robert Griesemer and Rob Pike and Ken Thompson}, 3280 title = {{Go} Programming Language},3281 3178 organization= {Google}, 3282 3179 year = 2009, … … 3386 3283 edition = {{S}imon {M}arlow}, 3387 3284 year = 2010, 3388 note = {\href{https://haskell.org/definition/haskell2010.pdf}{https:// \-haskell.org/\-definition/\-haskell2010.pdf}},3285 note = {\href{https://haskell.org/definition/haskell2010.pdf}{https://haskell.org/\-definition/\-haskell2010.pdf}}, 3389 3286 } 3390 3287 … … 3460 3357 } 3461 3358 3462 @article{Hesselink17 b,3359 @article{Hesselink17, 3463 3360 keywords = {concurrency, mutual exclusion, performance experiment, software solutions}, 3464 3361 title = {High-Contention Mutual Exclusion by Elevator Algorithms}, 3465 author = {Peter A.Buhr and David Dice and Wim H. Hesselink},3362 author = {Peter Buhr and David Dice and Wim H. Hesselink}, 3466 3363 journal = ccpe, 3467 volume = 30,3468 number = 18,3364 volumeopt = 30, 3365 numberopt = 4, 3469 3366 year = 2018, 3470 month = sep,3367 month = may, 3471 3368 publisher = {John Wiley \& Sons}, 3472 note = {\ href{https://doi.org/10.1002/cpe.4475}{https://\-doi.org/\-10.1002/\-cpe.4475}},3369 note = {\url{https://doi-org.proxy.lib.uwaterloo.ca/10.1002/cpe.4475}} 3473 3370 } 3474 3371 … … 3608 3505 publisher = {ACM Press}, 3609 3506 address = {New York, NY, USA}, 3610 }3611 3612 @article{Galler64,3613 keywords = {union-find, original},3614 contributer = {a3moss@uwaterloo.ca},3615 title = {An improved equivalence algorithm},3616 author = {Galler, Bernard A and Fisher, Michael J},3617 journal = {Communications of the ACM},3618 volume = {7},3619 number = {5},3620 pages = {301--303},3621 year = {1964},3622 publisher = {ACM}3623 3507 } 3624 3508 … … 3962 3846 % K 3963 3847 3964 @inproceedings{Buhr96b,3965 author = {Peter A. Buhr and Martin Karsten and Jun Shih},3966 title = {{\small\textsf{KDB}}: A Multi-threaded Debugger for Multi-threaded Applications},3967 booktitle = {Proc. of SPDT'96: SIGMETRICS Symp. on Parallel and Distributed Tools},3968 publisher = {ACM Press},3969 address = {Philadelphia, Pennsylvania, U.S.A.},3970 month = may,3971 year = 1996,3972 pages = {80-87},3973 }3974 3975 3848 @article{Duggan96, 3976 3849 keywords = {concurrency, critical section}, 3977 3850 contributer = {pabuhr@plg}, 3978 author = {Dominic Duggan and G ordonV. Cormack and John Ophel},3851 author = {Dominic Duggan and G. V. Cormack and John Ophel}, 3979 3852 title = {Kinded Type Inference for Parametric Overloading}, 3980 3853 journal = acta, … … 4211 4084 month = sep, 4212 4085 year = 2006, 4213 note = {\textsf{http://cs.anu.edu.au/\- $\sim$Robin.Garner/\-mmtk-guide.pdf}},4086 note = {\textsf{http://cs.anu.edu.au/\-\char`\~Robin.Garner/\-mmtk-guide.pdf}}, 4214 4087 } 4215 4088 … … 4315 4188 month = sep, 4316 4189 year = 1994, 4317 note = { \href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}},4190 note = {{\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-uSystem/\-uSystem.ps.gz}}}, 4318 4191 } 4319 4192 … … 4659 4532 4660 4533 % N 4661 4662 @techreport{Drepper03,4663 keywords = {NPTL, threading, 1:1 model},4664 contributer = {pabuhr@plg},4665 author = {Ulrich Drepper and Ingo Molnar},4666 title = {The Native POSIX Thread Library for Linux},4667 institution = {Red Hat},4668 year = 2003,4669 note = {\href{http://www.cs.utexas.edu/~witchel/372/lectures/POSIX_Linux_Threading.pdf}{http://www.cs.utexas.edu/\-$\sim$witchel/\-372/\-lectures/\-POSIX\_Linux\_Threading.pdf}},4670 }4671 4534 4672 4535 @article{Haddon77, … … 4795 4658 } 4796 4659 4797 @misc{nginx,4798 key = {nginx},4799 author = {{NGINX}},4800 howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}},4801 }4802 4803 4660 @article{Herlihy05, 4804 4661 keywords = {Multiprocessors, concurrent data structures, dynamic data structures, memory management, nonblocking synchronization}, … … 4857 4714 year = 1995, 4858 4715 number = 31, 4859 note = {{\small\textsf{http://\-www.cs.wustl.edu/\- $\sim$schmidt/\-PDF/\-IPC\_SAP-92.pdf}}},4716 note = {{\small\textsf{http://\-www.cs.wustl.edu/\-\char`\~schmidt/\-PDF/\-IPC\_SAP-92.pdf}}}, 4860 4717 } 4861 4718 … … 4911 4768 @misc{obj-c-book, 4912 4769 keywords = {objective-c}, 4913 contributor = { pabuhr@plg},4770 contributor = {a3moss@uwaterloo.ca}, 4914 4771 key = {Objective-C}, 4915 author= {Objective-C},4772 title = {Objective-C}, 4916 4773 publisher = {Apple Inc.}, 4917 year = 201 4,4918 howpublished= {\href{https://developer.apple.com/library/ archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Cocoa/\-Conceptual/\-ProgrammingWithObjectiveC}},4774 year = 2015, 4775 howpublished= {\href{https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/ObjectiveC.html}{https://developer.apple.com/\-library/\-content/\-documentation/\-General/\-Conceptual/\-DevPedia-\-CocoaCore/\-ObjectiveC.html}}, 4919 4776 optnote = {Accessed: 2018-03} 4920 4777 } … … 4926 4783 title = {{X}code 7 Release Notes}, 4927 4784 year = 2015, 4928 howpublished= {\href{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}{https:// \-developer.apple.com/\-library/\-content/\-documentation/\-Xcode/\-Conceptual/\-RN-Xcode-Archive/\-Chapters/\-xc7\_release\_notes.html}},4785 howpublished= {\href{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}{https://developer.apple.com/\-library/\-content/\-documentation/\-Xcode/\-Conceptual/\-RN-Xcode-Archive/\-Chapters/\-xc7\_release\_notes.html}}, 4929 4786 optnote = {Accessed: 2017-04} 4930 4787 } … … 5426 5283 } 5427 5284 5428 @misc{perf,5429 contributer = {pabuhr@plg},5430 key = {perf},5431 author = {perf},5432 howpublished= {\href{https://perf.wiki.kernel.org/index.php/Tutorial}{https://\-perf.wiki.kernel.org/\-index.php/\-Tutorial}},5433 }5434 5435 @misc{Verch12,5436 contributer = {pabuhr@plg},5437 author = {Shaun Verch},5438 title = {Performance Analysis of 64-Bit Capriccio},5439 month = may,5440 year = 2012,5441 howpublished= {\href{http://cs.brown.edu/research/pubs/theses/masters/2012/verch.pdf}{http://cs.brown.edu/\-research/\-pubs/\-theses/\-masters/\-2012/\-verch.pdf}},5442 optnote = {Accessed: 2013-10-4}5443 }5444 5445 5285 @article{Anderson90, 5446 5286 keywords = {spin locks, back off, performance}, … … 5454 5294 number = 1, 5455 5295 pages = {6-16}, 5456 }5457 5458 @inproceedings{Conchon07,5459 keywords = {persistent array, union-find},5460 contributer = {a3moss@uwaterloo.ca},5461 title = {A persistent union-find data structure},5462 author = {Conchon, Sylvain and Filli{\^a}tre, Jean-Christophe},5463 booktitle = {Proceedings of the 2007 workshop on Workshop on ML},5464 pages = {37--46},5465 year = {2007},5466 organization= {ACM}5467 5296 } 5468 5297 … … 5674 5503 note = {Proceedings of the OOPSLA'89 Conference, Oct. 1--6, 1989, New Orleans, Lousiana}, 5675 5504 abstract = {}, 5676 }5677 5678 @inproceedings{Buhr98,5679 keywords = {profiling, monitoring, visualization},5680 contributer = {pabuhr@plg},5681 author = {Peter A. Buhr and Robert Denda},5682 title = {{$\mu$Profiler} : Profiling User-Level Threads in a Shared-Memory Programming Environment},5683 booktitle = {Proc. of 2nd Inter. Symp. on Computing in Object-Oriented Parallel Environments},5684 series = {Lecture Notes in Computer Science},5685 publisher = {Springer-Verlag},5686 volume = 1505,5687 opteditor = {Dennis Caromel and Rodney R. Oldehoeft and Marydell Tholburn},5688 address = {Santa Fe, New Mexico, U.S.A.},5689 month = dec,5690 year = 1998,5691 pages = {159-166},5692 5505 } 5693 5506 … … 6042 5855 keywords = {Cyclone, existential types, polymorphism, type variables}, 6043 5856 contributer = {a3moss@plg}, 6044 author = {D anGrossman},5857 author = {D. Grossman}, 6045 5858 title = {Quantified Types in an Imperative Language}, 6046 5859 journal = toplas, … … 6052 5865 issn = {0164-0925}, 6053 5866 pages = {429-475}, 6054 url = {http://doi.acm.org /10.1145/1133651.1133653},5867 url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653}, 6055 5868 doi = {10.1145/1133651.1133653}, 6056 5869 acmid = {1133653}, … … 6151 5964 } 6152 5965 6153 @article{Ronsse03,6154 keywords = {profiling, replay},6155 contributer = {pabuhr@plg},6156 author = {Michiel Ronsse and De Bosschere, Koen and Mark Christiaens and Jacques Chassin de Kergommeaux and Dieter Kranzlm\"{u}ller},6157 title = {Record/Replay for Nondeterministic Program Executions},6158 journal = cacm,6159 month = sep,6160 year = 2003,6161 volume = 46,6162 number = 9,6163 pages = {62-67},6164 }6165 6166 5966 @article{Robinson48, 6167 5967 keywords = {recursion, Ackermann function}, … … 6202 6002 } 6203 6003 6204 @mastersthesis{Schuster99,6205 author = {Oliver Schuster},6206 title = {Replay of Concurrent Shared-Memory Programs},6207 school = {Universit\"at Mannheim},6208 address = {Mannheim, Deutschland},6209 year = 1999,6210 month = apr,6211 type = {Diplomarbeit},6212 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-SchusterThesis.pdf}},6213 }6214 6215 6004 @article{Euclid, 6216 6005 keywords = {Euclid}, … … 6244 6033 school = {School of Computer Science, University of Waterloo}, 6245 6034 year = 2017, 6246 optaddress = {Waterloo, Ontario, Canada, N2L 3G1},6035 address = {Waterloo, Ontario, Canada, N2L 3G1}, 6247 6036 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/11830}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-11830}}, 6248 6037 } … … 6319 6108 contributer = {pabuhr@plg}, 6320 6109 key = {Rust}, 6321 title = { {R}ust Programming Language},6322 optaddress = {Rust Project Developers},6110 title = {The {R}ust Programming Language}, 6111 address = {The Rust Project Developers}, 6323 6112 year = 2015, 6324 6113 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, … … 6386 6175 publisher = {Springer}, 6387 6176 note = {Lecture Notes in Computer Science v. 173}, 6388 }6389 6390 @article{Baker78,6391 keywords = {Algol display, FUNARG's, Lisp 1.5, deep binding, environment trees, multiprogramming, shallow binding},6392 contributer = {a3moss@uwaterloo.ca},6393 author = {Baker,Jr., Henry G.},6394 title = {Shallow Binding in Lisp 1.5},6395 journal = {Commun. ACM},6396 issue_date = {July 1978},6397 volume = 21,6398 number = 7,6399 month = jul,6400 year = 1978,6401 issn = {0001-0782},6402 pages = {565--569},6403 numpages = {5},6404 url = {http://doi.acm.org/10.1145/359545.359566},6405 doi = {10.1145/359545.359566},6406 acmid = {359566},6407 publisher = {ACM},6408 address = {New York, NY, USA}6409 }6410 6411 @article{Baker91,6412 keywords = {shallow binding, functional arrays},6413 contributer = {a3moss@uwaterloo.ca},6414 author = {Baker, Henry G.},6415 title = {Shallow Binding Makes Functional Arrays Fast},6416 journal = {SIGPLAN Not.},6417 issue_date = {Aug. 1991},6418 volume = 26,6419 number = 8,6420 month = aug,6421 year = 1991,6422 issn = {0362-1340},6423 pages = {145--147},6424 numpages = {3},6425 url = {http://doi.acm.org/10.1145/122598.122614},6426 doi = {10.1145/122598.122614},6427 acmid = {122614},6428 publisher = {ACM},6429 address = {New York, NY, USA},6430 6177 } 6431 6178 … … 7113 6860 contributer = {pabuhr@plg}, 7114 6861 key = {TIOBE Index}, 7115 author = {{TIOBE Index}},6862 title = {{TIOBE} Index}, 7116 6863 howpublished= {\href{http://www.tiobe.com/tiobe_index}{http://\-www.tiobe.com/\-tiobe\_index}}, 7117 6864 optnote = {Accessed: 2018-09}, … … 7253 7000 year = 1980 7254 7001 } 7255 7256 @misc{TraceCompass,7257 contributer = {pabuhr@plg},7258 key = {Trace Compass},7259 author = {{T}race {C}ompass},7260 howpublished= {\href{https://projects.eclipse.org/proposals/trace-compass}{https://\-projects.eclipse.org/\-proposals/\-trace-compass}},7261 }7262 7002 7263 7003 @article{Leroy00, … … 7395 7135 title = {Usability Challenges in Exception Handling}, 7396 7136 booktitle = {5th International Workshop on Exception Handling (WEH)}, 7397 o ptorganization= {16th International Symposium on the Foundations of Software Engineering (FSE 16)},7137 organization= {16th International Symposium on the Foundations of Software Engineering (FSE 16)}, 7398 7138 address = {Zurich, Switzerland}, 7399 7139 month = jun, … … 7539 7279 } 7540 7280 7541 @inproceedings{vonBehren03,7542 keywords = {threads, events, web server},7543 contributer = {pabuhr@plg},7544 author = {Rob von Behren and Jeremy Condit and Eric Brewer},7545 title = {Why Events Are a Bad Idea (for high-concurrency servers)},7546 booktitle = {HotOS IX: The 9th Workshop on Hot Topics in Operating Systems},7547 publisher = {USENIX Association},7548 address = {Lihue, Hawaii, U.S.A.},7549 month = may,7550 year = 2003,7551 pages = {19-24},7552 }7553 7554 7281 @techreport{Moss90, 7555 7282 keywords = {Swizzling, database}, … … 7596 7323 } 7597 7324 7598 @article{Tarjan84,7599 keywords = {union-find},7600 contributer = {a3moss@uwaterloo.ca},7601 author = {Tarjan, Robert E. and van Leeuwen, Jan},7602 title = {Worst-case Analysis of Set Union Algorithms},7603 journal = {J. ACM},7604 issue_date = {April 1984},7605 volume = 31,7606 number = 2,7607 month = mar,7608 year = 1984,7609 issn = {0004-5411},7610 pages = {245--281},7611 numpages = {37},7612 url = {http://doi.acm.org/10.1145/62.2160},7613 doi = {10.1145/62.2160},7614 acmid = {2160},7615 publisher = {ACM},7616 address = {New York, NY, USA},7617 }7618 7619 7325 % X 7620 7326 … … 7637 7343 year = 1986, 7638 7344 editor = {Norman Meyrowitz}, 7639 publisher = sigplan ,7345 publisher = sigplan # " 21(11)", 7640 7346 organization= {Association for Computing Machinery}, 7641 7347 address = {Portland, Oregon}, 7642 month = sep ,7348 month = sep # { 29} 7643 7349 } 7644 7350 … … 7649 7355 year = 1987, 7650 7356 editor = {Norman Meyrowitz}, 7651 publisher = sigplan ,7357 publisher = sigplan # " 22(12)", 7652 7358 organization= {Association for Computing Machinery}, 7653 7359 address = {Orlando, Florida}, 7654 month = oct ,7360 month = oct # { 4--8} 7655 7361 } 7656 7362 … … 7661 7367 year = 1988, 7662 7368 editor = {Norman Meyrowitz}, 7663 publisher = sigplan ,7369 publisher = sigplan # " 23(11)", 7664 7370 organization= {Association for Computing Machinery}, 7665 7371 address = {San Diego, California}, 7666 month = sep ,7372 month = sep # { 25--30} 7667 7373 } 7668 7374 … … 7673 7379 year = 1989, 7674 7380 editor = {Norman Meyrowitz}, 7675 publisher = sigplan ,7381 publisher = sigplan # " 24(10)", 7676 7382 organization= {Association for Computing Machinery}, 7677 7383 address = {New Orleans, Louisiana}, 7678 month = oct ,7384 month = oct # { 1--6} 7679 7385 } 7680 7386 … … 7685 7391 year = 1990, 7686 7392 editor = {Norman Meyrowitz}, 7687 publisher = sigplan ,7393 publisher = sigplan # " 25(10)", 7688 7394 organization= {Association for Computing Machinery}, 7689 7395 address = {Ottawa, Canada}, 7690 month = oct ,7396 month = oct # { 21--25} 7691 7397 } 7692 7398 … … 7697 7403 year = 1991, 7698 7404 editor = {Andreas Paepcke}, 7699 publisher = sigplan ,7405 publisher = sigplan # " 26(11)", 7700 7406 organization= {Association for Computing Machinery}, 7701 7407 address = {Phoenix, Arizona}, 7702 month = oct ,7703 } 7408 month = oct # { 6--11} 7409 } -
doc/papers/concurrency/Makefile
rcde3891 r9b086ca 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .: ../../LaTeXmacros:${Macros}:${Build}:6 TeXLIB = .:annex:../../LaTeXmacros:${Macros}:${Build}:../../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= annex:../../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/papers/concurrency/Paper.tex
rcde3891 r9b086ca 686 686 Fib f1, f2; 687 687 for ( int i = 1; i <= 10; i += 1 ) { 688 sout | next( f1 ) | next( f2 ) ;688 sout | next( f1 ) | next( f2 ) | endl; 689 689 } 690 690 } … … 772 772 sout | " "; // separator 773 773 } 774 sout | nl;774 sout | endl; 775 775 } 776 776 } 777 777 void ?{}( Format & fmt ) { `resume( fmt );` } 778 778 void ^?{}( Format & fmt ) with( fmt ) { 779 if ( g != 0 || b != 0 ) sout | nl;779 if ( g != 0 || b != 0 ) sout | endl; 780 780 } 781 781 void format( Format & fmt ) { … … 855 855 for ( int i = 0; i < N; i += 1 ) { 856 856 int p1 = random( 100 ), p2 = random( 100 ); 857 sout | p1 | " " | p2 ;857 sout | p1 | " " | p2 | endl; 858 858 int status = delivery( c, p1, p2 ); 859 sout | " $" | money | nl | status;859 sout | " $" | money | endl | status | endl; 860 860 receipt += 1; 861 861 } 862 862 stop( c ); 863 sout | "prod stops" ;863 sout | "prod stops" | endl; 864 864 } 865 865 int payment( Prod & prod, int money ) { … … 895 895 int money = 1, receipt; 896 896 for ( ; ! done; ) { 897 sout | p1 | " " | p2 | nl | " $" | money;897 sout | p1 | " " | p2 | endl | " $" | money | endl; 898 898 status += 1; 899 899 receipt = payment( p, money ); 900 sout | " #" | receipt ;900 sout | " #" | receipt | endl; 901 901 money += 1; 902 902 } 903 sout | "cons stops" ;903 sout | "cons stops" | endl; 904 904 } 905 905 int delivery( Cons & cons, int p1, int p2 ) { … … 1099 1099 1100 1100 void main(foo & this) { 1101 sout | "Hello World!" ;1101 sout | "Hello World!" | endl; 1102 1102 } 1103 1103 \end{cfa} … … 1124 1124 1125 1125 void hello(/*unused*/ int) { 1126 sout | "Hello World!" ;1126 sout | "Hello World!" | endl; 1127 1127 } 1128 1128 … … 1141 1141 thread World {}; 1142 1142 void main( World & this ) { 1143 sout | "World!" ;1143 sout | "World!" | endl; 1144 1144 } 1145 1145 int main() { 1146 1146 World w`[10]`; $\C{// implicit forks after creation}$ 1147 sout | "Hello " ; $\C{// "Hello " and 10 "World!" printed concurrently}$1147 sout | "Hello " | endl; $\C{// "Hello " and 10 "World!" printed concurrently}$ 1148 1148 } $\C{// implicit joins before destruction}$ 1149 1149 \end{cfa} … … 1193 1193 total += subtotals[r]; $\C{// total subtotal}$ 1194 1194 } 1195 sout | total ;1195 sout | total | endl; 1196 1196 } 1197 1197 \end{cfa} … … 2192 2192 BENCH( 2193 2193 for ( size_t i = 0; i < N; i += 1 ) { @resume( c );@ } ) 2194 sout | result`ns ;2194 sout | result`ns | endl; 2195 2195 } 2196 2196 \end{cfa} … … 2205 2205 BENCH( 2206 2206 for ( size_t i = 0; i < N; i += 1 ) { @yield();@ } ) 2207 sout | result`ns ;2207 sout | result`ns | endl; 2208 2208 } 2209 2209 \end{cfa} … … 2244 2244 int main() { 2245 2245 BENCH( for( size_t i = 0; i < N; i += 1 ) { @do_call( m1/*, m2, m3, m4*/ );@ } ) 2246 sout | result`ns ;2246 sout | result`ns | endl; 2247 2247 } 2248 2248 \end{cfa} … … 2305 2305 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @wait( c );@ } ); 2306 2306 go = 0; // stop other thread 2307 sout | result`ns ;2307 sout | result`ns | endl; 2308 2308 } 2309 2309 int main() { … … 2356 2356 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @waitfor( do_call, m );@ } ) 2357 2357 go = 0; // stop other thread 2358 sout | result`ns ;2358 sout | result`ns | endl; 2359 2359 } 2360 2360 int main() { … … 2391 2391 int main() { 2392 2392 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @MyThread m;@ } ) 2393 sout | result`ns ;2393 sout | result`ns | endl; 2394 2394 } 2395 2395 \end{cfa} -
doc/papers/general/Makefile
rcde3891 r9b086ca 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .:${Macros}:${Build}: 6 TeXLIB = .:${Macros}:${Build}:../../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ../../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/proposals/flags.md
rcde3891 r9b086ca 60 60 ``` 61 61 FunFlags f = some_val(); 62 if ( f ) { sout | "f has some flag(s) set" ; }63 if ( f & FOO ) { sout | "f has FOO set" ; }62 if ( f ) { sout | "f has some flag(s) set" | endl; } 63 if ( f & FOO ) { sout | "f has FOO set" | endl; } 64 64 f |= FOO; // set FOO 65 65 f -= FOO; // unset FOO … … 88 88 ``` 89 89 FunFlags f = some_val(); 90 if ( f.FOO ) { sout | "f has FOO set" ; }90 if ( f.FOO ) { sout | "f has FOO set" | endl; } 91 91 f.FOO = true; // set FOO 92 92 f.FOO = false; // unset FOO -
doc/proposals/virtual.txt
rcde3891 r9b086ca 87 87 first polymorphic parameter). 88 88 89 Instances of a trait are created by wrapping an existing instance of a type 90 that implements that trait. This wrapper includes all the function pointers 91 and other values required to preform the dynamic look-up. These are chosen by 92 the normal look-up rules at the point of abstraction.89 Once a function in a trait has been marked as virtual it defines a new 90 function that takes in that trait's reference and then dynamically calls the 91 underlying type implementation. Hence a trait reference becomes a kind of 92 abstract type, cannot be directly instantiated but can still be used. 93 93 94 94 One of the limitations of this design is that it does not support double … … 98 98 is also restricted, initially forbidden, see extension. 99 99 100 Ownership of the underlying structure is also a bit of a trick. Considering101 the use cases for trait object, it is probably best to have the underlying102 object be heap allocated and owned by the trait object.103 104 100 Extension: Multi-parameter Virtual Traits: 105 101 … … 161 157 context, for instance if the cast occurs on the right hand side of an 162 158 assignment. 163 164 Function look-up follows the same rules as relaxed (behavioural) inheritance.165 Traits can be upcast and down cast without losing information unless the166 trait is cast down to a structure. Here there are two options.167 168 Abstraction Time Binding: The more efficient and consistant with other parts169 of CFA. Only the trait types use dynamic look-up, if converveted back into a170 structure the normal static look-up rules find the function at compile time.171 Casting down to a structure type can then result in the loss of a set of172 bindings.173 Construction Time Binding: For more consistant handling of the virtual174 structs, they are always considered wrapped. Functions are bound to the175 instance the moment it is constructed and remain unchanged throughout its176 lifetime, so down casting does not lose information.177 178 (We will have to decide between one of these two.)179 159 180 160 Extension: Multiple Parents … … 225 205 226 206 We have so far been silent on how the vtable is created, stored and accessed. 227 The vtables for the two types might be handled slightly differently and then 228 there is also the hierarchy data for virtual casts. 229 230 The hierarchy data is simple conceptually. A single (exactly one copy) pointer 231 for each type can act as the identity for it. The value of the pointer is 232 its parent type, with the root pointer being NULL. Additional meta-data 233 can accompany the parent pointer, such as a string name or the vtable fields. 234 235 They types of each vtable can be constructed from the definitions of the 236 traits (or internal nodes). The stand alone/base vtable is the same for both 237 kinds of inheritance. It may be argumented differently however (include parent 238 /this pointer in hierachal inheritance). 239 240 Creation of the actual vtable is tricky. For classical single implementation 241 semantics we would assemble the functions and create one vtable at compile 242 time. However, not only does this not give CFA-like behaviour, it is 243 impossible generally because types can satify assertions in different ways at 244 different times and stop satifying them. A special set of harder rules could 245 be used, instead we have decided to try creating multiple vtables for each 246 type. The different vtables will all implement the same type but not always 247 in the same way. 248 249 Storage has some issues from creation. If the contents of every vtable could 250 be determained at compile time they could all be created and stored 251 statically. However since thunks can be constructed on the stack and become 252 the best match, that isn't always possible. Those will have to be stored in 253 dynamic memory. Which means that all vtables must be stored dynamically or 254 there must be a way to determain which ones to free when the trait object is 255 destroyed. 207 208 Creation happens at compile time. Function pointers are found by using the 209 same best match rules as elsewhere (additional rules for defaults from the 210 parent may or may not be required). For strict virtual this must happen at the 211 global scope and forbidding static functions, to ensure that a single unique 212 vtable is created. Similarly, there may have to be stricter matching rules 213 for the functions that go into the vtable, possibly requiring an exact match. 214 Relaxed virtual could relax both restrictions, if we allow different vtable 215 at different conversion (struct to trait reference) sites. If it is allowed 216 local functions being bound to a vtable could cause issues when they go out 217 of scope, however this should follow the lifetime rules most C programs 218 already follow implicitly. 219 220 Most vtables should be stored statically, the only exception being some of 221 the relaxed vtables that could have local function pointers. These may be able 222 to be stack allocated. All vtables should be immutable and require no manual 223 cleanup. 256 224 257 225 Access has two main options: -
doc/user/Makefile
rcde3891 r9b086ca 4 4 Figures = figures 5 5 Macros = ../LaTeXmacros 6 TeXLIB = .:${Macros}:${Build}: 6 TeXLIB = .:${Macros}:${Build}:../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory --silent # … … 79 79 ## Define the default recipes. 80 80 81 ${Build} :81 ${Build}: 82 82 mkdir -p ${Build} 83 83 -
doc/user/user.tex
rcde3891 r9b086ca 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : T ue Dec 11 23:19:26201814 %% Update Count : 3 40013 %% Last Modified On : Thu Jul 26 17:29:05 2018 14 %% Update Count : 3366 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 178 178 int main( void ) { 179 179 int x = 0, y = 1, z = 2; 180 ®sout | x | y | z ;®§\indexc{sout}§180 ®sout | x | y | z | endl;®§\indexc{sout}§ 181 181 } 182 182 \end{cfa} … … 210 210 Even with all its problems, C continues to be popular because it allows writing software at virtually any level in a computer system without restriction. 211 211 For system programming, where direct access to hardware, storage management, and real-time issues are a requirement, C is usually the only language of choice. 212 The TIOBE index~\cite{TIOBE} for July 2018 ranks the top five most \emph{popular} programming languages as\Index*{Java} 16\%, C 14\%, \Index*[C++]{\CC{}} 7.5\%, Python 6\%, Visual Basic 4\% = 47.5\%, where the next 50 languages are less than 4\% each, with a long tail.212 The TIOBE index~\cite{TIOBE} for July 2018 ranks the top 5 most \emph{popular} programming languages as: \Index*{Java} 16\%, C 14\%, \Index*[C++]{\CC{}} 7.5\%, Python 6\%, Visual Basic 4\% = 47.5\%, where the next 50 languages are less than 4\% each, with a long tail. 213 213 The top 3 rankings over the past 30 years are: 214 214 \begin{center} … … 351 351 The 2011 C standard plus GNU extensions. 352 352 \item 353 \Indexc[deletekeywords=inline]{-fgnu89-inline}\index{compilation option!-fgnu89-inline@{\lstinline[deletekeywords=inline] $-fgnu89-inline$}}353 \Indexc[deletekeywords=inline]{-fgnu89-inline}\index{compilation option!-fgnu89-inline@{\lstinline[deletekeywords=inline]@-fgnu89-inline@}} 354 354 Use the traditional GNU semantics for inline routines in C11 mode, which allows inline routines in header files. 355 355 \end{description} … … 455 455 #endif 456 456 457 ®#include_next <bfdlink.h> §\C{// must have internal check for multiple expansion}§457 ®#include_next <bfdlink.h> §\C{// must have internal check for multiple expansion}§ 458 458 ® 459 459 #if defined( with ) && defined( __CFA_BFD_H__ ) §\C{// reset only if set}§ … … 504 504 505 505 C, \CC, and Java (and many other programming languages) have no exponentiation operator\index{exponentiation!operator}\index{operator!exponentiation}, \ie $x^y$, and instead use a routine, like \Indexc{pow}, to perform the exponentiation operation. 506 \CFA extends the basic operators with the exponentiation operator ©?\?©\index{?\\?@ ©?\?©} and ©?\=?©\index{?\\=?@©\=?©}, as in, ©x \ y© and ©x \= y©, which means $x^y$ and $x \leftarrow x^y$.506 \CFA extends the basic operators with the exponentiation operator ©?\?©\index{?\\?@\lstinline@?\?@} and ©?\=?©\index{?\\=?@\lstinline@?\=?@}, as in, ©x \ y© and ©x \= y©, which means $x^y$ and $x \leftarrow x^y$. 507 507 The priority of the exponentiation operator is between the cast and multiplicative operators, so that ©w * (int)x \ (int)y * z© is parenthesized as ©((w * (((int)x) \ ((int)y))) * z)©. 508 508 … … 513 513 Floating exponentiation\index{exponentiation!floating} is performed using \Index{logarithm}s\index{exponentiation!logarithm}, so the base cannot be negative. 514 514 \begin{cfa} 515 sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi) ;515 sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi) | endl; 516 516 256 64 -64 0.015625 -0.015625 18.3791736799526 0.264715-1.1922i 517 517 \end{cfa} 518 Parenthesis are necessary for complex constants or the expression is parsed as ©1.0f+®(®2.0fi \ 3.0f®)®+2.0fi©.518 Parenthesis are necessary for the complex constants or the expression is parsed as ©1.0f+(2.0fi \ 3.0f)+2.0fi©. 519 519 The exponentiation operator is available for all the basic types, but for user-defined types, only the integral-computation versions are available. 520 520 For returning an integral value, the user type ©T© must define multiplication, ©*©, and one, ©1©; … … 527 527 528 528 529 %\subsection{\texorpdfstring{\protect\lstinline@if@/\protect\lstinline@while@ Statement}{if Statement}} 530 \subsection{\texorpdfstring{\LstKeywordStyle{if}/\LstKeywordStyle{while} Statement}{if/while Statement}} 531 532 The ©if©/©while© expression allows declarations, similar to ©for© declaration expression. 533 (Does not make sense for ©do©-©while©.) 534 \begin{cfa} 535 if ( ®int x = f()® ) ... §\C{// x != 0}§ 536 if ( ®int x = f(), y = g()® ) ... §\C{// x != 0 \&\& y != 0}§ 537 if ( ®int x = f(), y = g(); x < y® ) ... §\C{// relational expression}§ 538 if ( ®struct S { int i; } x = { f() }; x.i < 4® ) §\C{// relational expression}§ 539 540 while ( ®int x = f()® ) ... §\C{// x != 0}§ 541 while ( ®int x = f(), y = g()® ) ... §\C{// x != 0 \&\& y != 0}§ 542 while ( ®int x = f(), y = g(); x < y® ) ... §\C{// relational expression}§ 543 while ( ®struct S { int i; } x = { f() }; x.i < 4® ) ... §\C{// relational expression}§ 544 \end{cfa} 545 Unless a relational expression is specified, each variable is compared not equal to 0, which is the standard semantics for the ©if©/©while© expression, and the results are combined using the logical ©&&© operator.\footnote{\CC only provides a single declaration always compared not equal to 0.} 529 %\subsection{\texorpdfstring{\protect\lstinline@if@ Statement}{if Statement}} 530 \subsection{\texorpdfstring{\LstKeywordStyle{if} Statement}{if Statement}} 531 532 The ©if© expression allows declarations, similar to ©for© declaration expression: 533 \begin{cfa} 534 if ( int x = f() ) ... §\C{// x != 0}§ 535 if ( int x = f(), y = g() ) ... §\C{// x != 0 \&\& y != 0}§ 536 if ( int x = f(), y = g(); ®x < y® ) ... §\C{// relational expression}§ 537 \end{cfa} 538 Unless a relational expression is specified, each variable is compared not equal to 0, which is the standard semantics for the ©if© expression, and the results are combined using the logical ©&&© operator.\footnote{\CC only provides a single declaration always compared not equal to 0.} 546 539 The scope of the declaration(s) is local to the @if@ statement but exist within both the ``then'' and ``else'' clauses. 547 548 549 \subsection{Loop Control}550 551 The ©for©/©while©/©do-while© loop-control allows empty or simplified ranges.552 An empty conditional implies ©1©.553 The up-to range ©~©\index{~@©~©} means exclusive range [M,N);554 the up-to range ©~=©\index{~=@©~=©} means inclusive range [M,N].555 The down-to range ©-~©\index{-~@©-~©} means exclusive range [N,M);556 the down-to range ©-~=©\index{-~=@©-~=©} means inclusive range [N,M].557 ©0© is the implicit start value;558 ©1© is the implicit increment value.559 The up-to range uses ©+=© for increment;560 the down-to range uses ©-=© for decrement.561 The loop index is polymorphic in the type of the start value or comparison value when start is implicitly ©0©.562 \begin{cquote}563 \begin{tabular}{@{}ll|l@{}}564 \multicolumn{2}{c|}{loop control} & \multicolumn{1}{c}{output} \\565 \hline566 \begin{cfa}567 while ®()® { sout | "empty"; break; }568 do { sout | "empty"; break; } while ®()®;569 for ®()® { sout | "empty"; break; }570 for ( ®0® ) { sout | "A"; }571 for ( ®1® ) { sout | "A"; }572 for ( ®10® ) { sout | "A"; }573 for ( ®1 ~= 10 ~ 2® ) { sout | "B"; }574 for ( ®10 -~= 1 ~ 2® ) { sout | "C"; }575 for ( ®0.5 ~ 5.5® ) { sout | "D"; }576 for ( ®5.5 -~ 0.5® ) { sout | "E"; }577 for ( ®i; 10® ) { sout | i; }578 for ( ®i; 1 ~= 10 ~ 2® ) { sout | i; }579 for ( ®i; 10 -~= 1 ~ 2® ) { sout | i; }580 for ( ®i; 0.5 ~ 5.5® ) { sout | i; }581 for ( ®i; 5.5 -~ 0.5® ) { sout | i; }582 for ( ®ui; 2u ~= 10u ~ 2u® ) { sout | ui; }583 for ( ®ui; 10u -~= 2u ~ 2u® ) { sout | ui; }584 enum { N = 10 };585 for ( ®N® ) { sout | "N"; }586 for ( ®i; N® ) { sout | i; }587 for ( ®i; N -~ 0® ) { sout | i; }588 const int start = 3, comp = 10, inc = 2;589 for ( ®i; start ~ comp ~ inc + 1® ) { sout | i; }590 \end{cfa}591 &592 \begin{cfa}593 sout | nl;594 sout | nl;595 sout | nl;596 sout | "zero" | nl;597 sout | nl;598 sout | nl;599 sout | nl;600 sout | nl;601 sout | nl;602 sout | nl;603 sout | nl;604 sout | nl;605 sout | nl;606 sout | nl;607 sout | nl;608 sout | nl;609 sout | nl | nl;610 611 sout | nl;612 sout | nl;613 sout | nl | nl;614 615 sout | nl;616 \end{cfa}617 &618 \begin{cfa}619 empty620 empty621 empty622 zero623 A624 A A A A A A A A A A625 B B B B B626 C C C C C627 D D D D D628 E E E E E629 0 1 2 3 4 5 6 7 8 9630 1 3 5 7 9631 10 8 6 4 2632 0.5 1.5 2.5 3.5 4.5633 5.5 4.5 3.5 2.5 1.5634 2 4 6 8 10635 10 8 6 4 2636 637 N N N N N N N N N N638 0 1 2 3 4 5 6 7 8 9639 10 9 8 7 6 5 4 3 2 1640 641 3 6 9642 \end{cfa}643 \end{tabular}644 \end{cquote}645 540 646 541 … … 905 800 906 801 907 % for () => for ( ;; )908 % for ( 10 - t ) => for ( typeof(10 - t) ? = 0 ; ? < 10 - t; ? += 1 ) // using 0 and 1909 % for ( i ; 10 - t ) => for ( typeof(10 - t) i = 0 ; i < 10 - t; i += 1 ) // using 0 and 1910 % for ( T i ; 10 - t ) => for ( T i = 0 ; i < 10 - t; i += 1 ) // using 0 and 1911 % for ( 3~9 ) => for ( int ? = 3 ; ? < 9; ? += 1 ) // using 1912 % for ( i ; 3~9 ) => for ( int i = 3 ; i < 9; i += 1 ) // using 1913 % for ( T i ; 3~9 ) => for ( T i = 3 ; i < 9; i += 1 ) // using 1914 915 916 802 %\subsection{\texorpdfstring{Labelled \protect\lstinline@continue@ / \protect\lstinline@break@}{Labelled continue / break}} 917 803 \subsection{\texorpdfstring{Labelled \LstKeywordStyle{continue} / \LstKeywordStyle{break} Statement}{Labelled continue / break Statement}} … … 919 805 While C provides ©continue© and ©break© statements for altering control flow, both are restricted to one level of nesting for a particular control structure. 920 806 Unfortunately, this restriction forces programmers to use \Indexc{goto} to achieve the equivalent control-flow for more than one level of nesting. 921 To prevent having to switch to the ©goto©, \CFA extends the \Indexc{continue}\index{continue@ ©continue©!labelled}\index{labelled!continue@©continue©} and \Indexc{break}\index{break@©break©!labelled}\index{labelled!break@©break©} with a target label to support static multi-level exit\index{multi-level exit}\index{static multi-level exit}~\cite{Buhr85}, as in Java.807 To prevent having to switch to the ©goto©, \CFA extends the \Indexc{continue}\index{continue@\lstinline@continue@!labelled}\index{labelled!continue@©continue©} and \Indexc{break}\index{break@\lstinline@break@!labelled}\index{labelled!break@©break©} with a target label to support static multi-level exit\index{multi-level exit}\index{static multi-level exit}~\cite{Buhr85}, as in Java. 922 808 For both ©continue© and ©break©, the target label must be directly associated with a ©for©, ©while© or ©do© statement; 923 809 for ©break©, the target label can also be associated with a ©switch©, ©if© or compound (©{}©) statement. … … 1004 890 \end{figure} 1005 891 1006 Both labelled ©continue© and ©break© are a ©goto©\index{goto@ ©goto©!restricted} restricted in the following ways:892 Both labelled ©continue© and ©break© are a ©goto©\index{goto@\lstinline@goto@!restricted} restricted in the following ways: 1007 893 \begin{itemize} 1008 894 \item … … 2459 2345 int bar( int p ) { 2460 2346 ®i® += 1; §\C{// dependent on local variable}§ 2461 sout | ®i® ;2347 sout | ®i® | endl; 2462 2348 } 2463 2349 return bar; §\C{// undefined because of local dependence}§ … … 2465 2351 int main() { 2466 2352 * [int]( int ) fp = foo(); §\C{// int (* fp)( int )}§ 2467 sout | fp( 3 ) ;2353 sout | fp( 3 ) | endl; 2468 2354 } 2469 2355 \end{cfa} … … 3231 3117 \begin{cfa} 3232 3118 int x = 1, y = 2, z = 3; 3233 sout | x ®|® y ®|® z ;3119 sout | x ®|® y ®|® z | endl; 3234 3120 \end{cfa} 3235 3121 & … … 3252 3138 \begin{cfa} 3253 3139 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3254 sout | t1 | t2 ;§\C{// print tuples}§3140 sout | t1 | t2 | endl; §\C{// print tuples}§ 3255 3141 \end{cfa} 3256 3142 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3264 3150 & 3265 3151 \begin{cfa} 3266 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) ;3152 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl; 3267 3153 \end{cfa} 3268 3154 \\ … … 3290 3176 A separator does not appear at the start or end of a line. 3291 3177 \begin{cfa}[belowskip=0pt] 3292 sout | 1 | 2 | 3 ;3178 sout | 1 | 2 | 3 | endl; 3293 3179 \end{cfa} 3294 3180 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3299 3185 A separator does not appear before or after a character literal or variable. 3300 3186 \begin{cfa} 3301 sout | '1' | '2' | '3' ;3187 sout | '1' | '2' | '3' | endl; 3302 3188 123 3303 3189 \end{cfa} … … 3306 3192 A separator does not appear before or after a null (empty) C string. 3307 3193 \begin{cfa} 3308 sout | 1 | "" | 2 | "" | 3 ;3194 sout | 1 | "" | 2 | "" | 3 | endl; 3309 3195 123 3310 3196 \end{cfa} … … 3316 3202 \begin{cfa}[mathescape=off] 3317 3203 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3318 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 ;3204 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl; 3319 3205 \end{cfa} 3320 3206 %$ … … 3330 3216 \begin{cfa}[belowskip=0pt] 3331 3217 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 3332 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" ;3218 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl; 3333 3219 \end{cfa} 3334 3220 \begin{cfa}[basicstyle=\tt,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3340 3226 A seperator does not appear before or after a C string begining/ending with the \Index*{ASCII} quote or whitespace characters: \lstinline[basicstyle=\tt,showspaces=true]@`'": \t\v\f\r\n@ 3341 3227 \begin{cfa}[belowskip=0pt] 3342 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" ;3228 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl; 3343 3229 \end{cfa} 3344 3230 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3349 3235 If a space is desired before or after one of the special string start/end characters, simply insert a space. 3350 3236 \begin{cfa}[belowskip=0pt] 3351 sout | "x (§\color{red}\texttt{\textvisiblespace}§" | 1 | "§\color{red}\texttt{\textvisiblespace}§) x" | 2 | "§\color{red}\texttt{\textvisiblespace}§, x" | 3 | "§\color{red}\texttt{\textvisiblespace}§:x:§\color{red}\texttt{\textvisiblespace}§" | 4 ;3237 sout | "x (§\color{red}\texttt{\textvisiblespace}§" | 1 | "§\color{red}\texttt{\textvisiblespace}§) x" | 2 | "§\color{red}\texttt{\textvisiblespace}§, x" | 3 | "§\color{red}\texttt{\textvisiblespace}§:x:§\color{red}\texttt{\textvisiblespace}§" | 4 | endl; 3352 3238 \end{cfa} 3353 3239 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3366 3252 \begin{cfa}[mathescape=off,belowskip=0pt] 3367 3253 sepSet( sout, ", $" ); §\C{// set separator from " " to ", \$"}§ 3368 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" ;3254 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" | endl; 3369 3255 \end{cfa} 3370 3256 %$ … … 3375 3261 \begin{cfa}[belowskip=0pt] 3376 3262 sepSet( sout, " " ); §\C{// reset separator to " "}§ 3377 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" ;3263 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" | endl; 3378 3264 \end{cfa} 3379 3265 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3385 3271 strcpy( store, sepGet( sout ) ); §\C{// copy current separator}§ 3386 3272 sepSet( sout, "_" ); §\C{// change separator to underscore}§ 3387 sout | 1 | 2 | 3 ;3273 sout | 1 | 2 | 3 | endl; 3388 3274 \end{cfa} 3389 3275 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3392 3278 \begin{cfa}[belowskip=0pt] 3393 3279 sepSet( sout, store ); §\C{// change separator back to original}§ 3394 sout | 1 | 2 | 3 ;3280 sout | 1 | 2 | 3 | endl; 3395 3281 \end{cfa} 3396 3282 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3403 3289 \begin{cfa}[belowskip=0pt] 3404 3290 sepSetTuple( sout, " " ); §\C{// set tuple separator from ", " to " "}§ 3405 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" ;3291 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" | endl; 3406 3292 \end{cfa} 3407 3293 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3410 3296 \begin{cfa}[belowskip=0pt] 3411 3297 sepSetTuple( sout, ", " ); §\C{// reset tuple separator to ", "}§ 3412 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" ;3298 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" | endl; 3413 3299 \end{cfa} 3414 3300 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3420 3306 Manipulators \Indexc{sepDisable}\index{manipulator!sepDisable@©sepDisable©} and \Indexc{sepEnable}\index{manipulator!sepEnable@©sepEnable©} \emph{globally} toggle printing the separator, \ie the seperator is adjusted with respect to all subsequent printed items. 3421 3307 \begin{cfa}[belowskip=0pt] 3422 sout | sepDisable | 1 | 2 | 3 ;§\C{// globally turn off implicit separator}§3308 sout | sepDisable | 1 | 2 | 3 | endl; §\C{// globally turn off implicit separator}§ 3423 3309 \end{cfa} 3424 3310 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3426 3312 \end{cfa} 3427 3313 \begin{cfa}[belowskip=0pt] 3428 sout | sepEnable | 1 | 2 | 3 ; §\C{// globally turn on implicit separator}§3314 sout | sepEnable | 1 | 2 | 3 | endl; §\C{// globally turn on implicit separator}§ 3429 3315 \end{cfa} 3430 3316 \begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3435 3321 Manipulators \Indexc{sepOn}\index{manipulator!sepOn@©sepOn©} and \Indexc{sepOff}\index{manipulator!sepOff@©sepOff©} \emph{locally} toggle printing the separator, \ie the seperator is adjusted only with respect to the next printed item. 3436 3322 \begin{cfa}[belowskip=0pt] 3437 sout | 1 | sepOff | 2 | 3 ; §\C{// locally turn off implicit separator}§3323 sout | 1 | sepOff | 2 | 3 | endl; §\C{// locally turn off implicit separator}§ 3438 3324 \end{cfa} 3439 3325 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3441 3327 \end{cfa} 3442 3328 \begin{cfa}[belowskip=0pt] 3443 sout | sepDisable | 1 | sepOn | 2 | 3 ; §\C{// locally turn on implicit separator}§3329 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; §\C{// locally turn on implicit separator}§ 3444 3330 \end{cfa} 3445 3331 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3448 3334 The tuple separator also responses to being turned on and off. 3449 3335 \begin{cfa}[belowskip=0pt] 3450 sout | t1 | sepOff | t2 ; §\C{// locally turn on/off implicit separator}§3336 sout | t1 | sepOff | t2 | endl; §\C{// locally turn on/off implicit separator}§ 3451 3337 \end{cfa} 3452 3338 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3456 3342 use ©sep© to accomplish this functionality. 3457 3343 \begin{cfa}[belowskip=0pt] 3458 sout | sepOn | 1 | 2 | 3 | sepOn ; §\C{// sepOn does nothing at start/end of line}§3344 sout | sepOn | 1 | 2 | 3 | sepOn | endl ; §\C{// sepOn does nothing at start/end of line}§ 3459 3345 \end{cfa} 3460 3346 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3462 3348 \end{cfa} 3463 3349 \begin{cfa}[belowskip=0pt] 3464 sout | sep | 1 | 2 | 3 | sep ; §\C{// use sep to print separator at start/end of line}§3350 sout | sep | 1 | 2 | 3 | sep | endl ; §\C{// use sep to print separator at start/end of line}§ 3465 3351 \end{cfa} 3466 3352 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3475 3361 int main( void ) { 3476 3362 int x = 1, y = 2, z = 3; 3477 sout | x | y | z ;3363 sout | x | y | z | endl; 3478 3364 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3479 sout | t1 | t2 ; // print tuples3480 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) ;3481 sout | 1 | 2 | 3 ;3482 sout | '1' | '2' | '3' ;3483 sout | 1 | "" | 2 | "" | 3 ;3365 sout | t1 | t2 | endl; // print tuples 3366 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl; 3367 sout | 1 | 2 | 3 | endl; 3368 sout | '1' | '2' | '3' | endl; 3369 sout | 1 | "" | 2 | "" | 3 | endl; 3484 3370 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3485 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 ;3371 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl; 3486 3372 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 3487 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" ;3488 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" ;3489 sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4 ;3373 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl; 3374 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl; 3375 sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4 | endl; 3490 3376 3491 3377 sepSet( sout, ", $" ); // set separator from " " to ", $" 3492 sout | 1 | 2 | 3 | " \"" | sep | "\"" ;3378 sout | 1 | 2 | 3 | " \"" | sep | "\"" | endl; 3493 3379 sepSet( sout, " " ); // reset separator to " " 3494 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" ;3380 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl; 3495 3381 3496 3382 char store[sepSize]; 3497 3383 strcpy( store, sepGet( sout ) ); 3498 3384 sepSet( sout, "_" ); 3499 sout | 1 | 2 | 3 ;3385 sout | 1 | 2 | 3 | endl; 3500 3386 sepSet( sout, store ); 3501 sout | 1 | 2 | 3 ;3387 sout | 1 | 2 | 3 | endl; 3502 3388 3503 3389 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 3504 sout | t1 | t2 | " \"" | sepTuple | "\"" ;3390 sout | t1 | t2 | " \"" | sepTuple | "\"" | endl; 3505 3391 sepSetTuple( sout, ", " ); // reset tuple separator to ", " 3506 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" ;3507 3508 sout | sepDisable | 1 | 2 | 3 ; // globally turn off implicit separator3509 sout | sepEnable | 1 | 2 | 3 ; // globally turn on implicit separator3510 3511 sout | 1 | sepOff | 2 | 3 ; // locally turn on implicit separator3512 sout | sepDisable | 1 | sepOn | 2 | 3 ; // globally turn off implicit separator3392 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl; 3393 3394 sout | sepDisable | 1 | 2 | 3 | endl; // globally turn off implicit separator 3395 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separator 3396 3397 sout | 1 | sepOff | 2 | 3 | endl; // locally turn on implicit separator 3398 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; // globally turn off implicit separator 3513 3399 sout | sepEnable; 3514 sout | t1 | sepOff | t2 ; // locally turn on/off implicit separator3515 3516 sout | sepOn | 1 | 2 | 3 | sepOn ; // sepOn does nothing at start/end of line3517 sout | sep | 1 | 2 | 3 | sep ; // use sep to print separator at start/end of line3400 sout | t1 | sepOff | t2 | endl; // locally turn on/off implicit separator 3401 3402 sout | sepOn | 1 | 2 | 3 | sepOn | endl ; // sepOn does nothing at start/end of line 3403 sout | sep | 1 | 2 | 3 | sep | endl ; // use sep to print separator at start/end of line 3518 3404 } 3519 3405 … … 4180 4066 Fibonacci f1, f2; 4181 4067 for ( int i = 1; i <= 10; i += 1 ) { 4182 sout | next( &f1 ) | ' ' | next( &f2 ) ;4068 sout | next( &f1 ) | ' ' | next( &f2 ) | endl; 4183 4069 } // for 4184 4070 } … … 4246 4132 MyThread f[4]; 4247 4133 } 4248 sout | global.value ;4134 sout | global.value | endl; 4249 4135 } 4250 4136 \end{cfa} … … 4324 4210 void main( First * this ) { 4325 4211 for ( int i = 0; i < 10; i += 1 ) { 4326 sout | "First : Suspend No." | i + 1 ;4212 sout | "First : Suspend No." | i + 1 | endl; 4327 4213 yield(); 4328 4214 } … … 4333 4219 wait( this->lock ); 4334 4220 for ( int i = 0; i < 10; i += 1 ) { 4335 sout | "Second : Suspend No." | i + 1 ;4221 sout | "Second : Suspend No." | i + 1 | endl; 4336 4222 yield(); 4337 4223 } … … 4340 4226 int main( void ) { 4341 4227 signal_once lock; 4342 sout | "User main begin" ;4228 sout | "User main begin" | endl; 4343 4229 { 4344 4230 processor p; … … 4348 4234 } 4349 4235 } 4350 sout | "User main end" ;4236 sout | "User main end" | endl; 4351 4237 } 4352 4238 \end{cfa} … … 5045 4931 void ?{}( Line * l ) { 5046 4932 l->lnth = 0.0; 5047 sout | "default" ;4933 sout | "default" | endl; 5048 4934 } 5049 4935 … … 5052 4938 void ?{}( Line * l, float lnth ) { 5053 4939 l->lnth = lnth; 5054 sout | "lnth" | l->lnth ;4940 sout | "lnth" | l->lnth | endl; 5055 4941 5056 4942 } … … 5058 4944 // destructor 5059 4945 void ^?() { 5060 sout | "destroyed" ;4946 sout | "destroyed" | endl; 5061 4947 l.lnth = 0.0; 5062 4948 } … … 5804 5690 In particular, output of ©char© variable now print a character rather than the decimal ASCII value of the character. 5805 5691 \begin{cfa} 5806 sout | 'x' | " " | (int)'x' ;5692 sout | 'x' | " " | (int)'x' | endl; 5807 5693 x 120 5808 5694 \end{cfa} … … 7034 6920 #include <gmp>§\indexc{gmp}§ 7035 6921 int main( void ) { 7036 sout | "Factorial Numbers" ;6922 sout | "Factorial Numbers" | endl; 7037 6923 Int fact = 1; 7038 6924 7039 sout | 0 | fact ;6925 sout | 0 | fact | endl; 7040 6926 for ( unsigned int i = 1; i <= 40; i += 1 ) { 7041 6927 fact *= i; 7042 sout | i | fact ;6928 sout | i | fact | endl; 7043 6929 } 7044 6930 } -
doc/working/exception/impl/exception.c
rcde3891 r9b086ca 243 243 244 244 // Get a function pointer from the relative offset and call it 245 // _Unwind_Reason_Code (*matcher)() = (_Unwind_Reason_Code (*)())lsd_info.LPStart + imatcher; 245 // _Unwind_Reason_Code (*matcher)() = (_Unwind_Reason_Code (*)())lsd_info.LPStart + imatcher; 246 246 247 247 _Unwind_Reason_Code (*matcher)() = … … 320 320 // on how the assembly works. 321 321 // Setup the personality routine 322 #if defined(__PIC__)323 asm volatile (".cfi_personality 0x9b,CFA.ref.__gcfa_personality_v0");324 // Setup the exception table325 asm volatile (".cfi_lsda 0x1b, .LLSDACFA2");326 #else327 322 asm volatile (".cfi_personality 0x3,__gcfa_personality_v0"); 328 323 // Setup the exception table 329 324 asm volatile (".cfi_lsda 0x3, .LLSDACFA2"); 330 #endif331 325 332 326 // Label which defines the start of the area for which the handler is setup … … 362 356 // Some more works need to be done if we want to have a single 363 357 // call to the try routine 364 #if defined(__PIC__)365 asm (366 //HEADER367 ".LFECFA1:\n"368 " .globl __gcfa_personality_v0\n"369 " .section .gcc_except_table,\"a\",@progbits\n"370 ".LLSDACFA2:\n" //TABLE header371 " .byte 0xff\n"372 " .byte 0xff\n"373 " .byte 0x1\n"374 " .uleb128 .LLSDACSECFA2-.LLSDACSBCFA2\n" // BODY length375 // Body uses language specific data and therefore could be modified arbitrarily376 ".LLSDACSBCFA2:\n" // BODY start377 " .uleb128 .TRYSTART-__try_terminate\n" // Handled area start (relative to start of function)378 " .uleb128 .TRYEND-.TRYSTART\n" // Handled area length379 " .uleb128 .CATCH-__try_terminate\n" // Handler landing pad adress (relative to start of function)380 " .uleb128 1\n" // Action code, gcc seems to use always 0381 ".LLSDACSECFA2:\n" // BODY end382 " .text\n" // TABLE footer383 " .size __try_terminate, .-__try_terminate\n"384 );385 386 // Somehow this piece of helps with the resolution of debug symbols.387 __attribute__((unused)) static const int dummy = 0;388 asm (389 " .hidden CFA.ref.__gcfa_personality_v0\n" // Declare an new hidden symbol390 " .weak CFA.ref.__gcfa_personality_v0\n"391 " .section .data.rel.local.CFA.ref.__gcfa_personality_v0,\"awG\",@progbits,CFA.ref.__gcfa_personality_v0,comdat\n" // No clue what this does specifically392 " .align 8\n"393 " .type CFA.ref.__gcfa_personality_v0, @object\n" // Type of our hidden symbol (it's not actually the function itself)394 " .size CFA.ref.__gcfa_personality_v0, 8\n" // Size of our hidden symbol395 "CFA.ref.__gcfa_personality_v0:\n"396 " .quad __gcfa_personality_v0\n"397 );398 #else399 358 asm ( 400 359 //HEADER … … 416 375 " .text\n" // TABLE footer 417 376 " .size __try_terminate, .-__try_terminate\n" 377 " .ident \"GCC: (Ubuntu 6.2.0-3ubuntu11~16.04) 6.2.0 20160901\"\n" 378 // " .section .note.GNU-stack,\"x\",@progbits\n" 418 379 ); 419 #endif -
driver/Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 20 19 # applies to both programs -
driver/Makefile.in
rcde3891 r9b086ca 96 96 subdir = driver 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 99 $(top_srcdir)/automake/ltoptions.m4 \ 100 $(top_srcdir)/automake/ltsugar.m4 \ 101 $(top_srcdir)/automake/ltversion.m4 \ 102 $(top_srcdir)/automake/lt~obsolete.m4 \ 103 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 104 100 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 105 101 $(ACLOCAL_M4) … … 114 110 as_OBJECTS = $(am_as_OBJECTS) 115 111 as_LDADD = $(LDADD) 116 AM_V_lt = $(am__v_lt_@AM_V@)117 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)118 am__v_lt_0 = --silent119 am__v_lt_1 =120 112 am_cc1_OBJECTS = cc1.$(OBJEXT) 121 113 cc1_OBJECTS = $(am_cc1_OBJECTS) … … 142 134 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 143 135 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 144 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \145 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \146 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \147 $(AM_CXXFLAGS) $(CXXFLAGS)148 136 AM_V_CXX = $(am__v_CXX_@AM_V@) 149 137 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 151 139 am__v_CXX_1 = 152 140 CXXLD = $(CXX) 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 141 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 142 -o $@ 156 143 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 157 144 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 190 177 AMTAR = @AMTAR@ 191 178 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 192 AR = @AR@193 179 AUTOCONF = @AUTOCONF@ 194 180 AUTOHEADER = @AUTOHEADER@ 195 181 AUTOMAKE = @AUTOMAKE@ 196 182 AWK = @AWK@ 183 BACKEND_CC = @BACKEND_CC@ 197 184 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 198 185 CC = @CC@ … … 214 201 CPPFLAGS = @CPPFLAGS@ 215 202 CXX = @CXX@ 216 CXXCPP = @CXXCPP@217 203 CXXDEPMODE = @CXXDEPMODE@ 218 204 CXXFLAGS = @CXXFLAGS@ … … 220 206 DEFS = @DEFS@ 221 207 DEPDIR = @DEPDIR@ 222 DLLTOOL = @DLLTOOL@223 208 DRIVER_DIR = @DRIVER_DIR@ 224 DSYMUTIL = @DSYMUTIL@225 DUMPBIN = @DUMPBIN@226 209 ECHO_C = @ECHO_C@ 227 210 ECHO_N = @ECHO_N@ … … 229 212 EGREP = @EGREP@ 230 213 EXEEXT = @EXEEXT@ 231 FGREP = @FGREP@232 214 GREP = @GREP@ 233 215 HOST_FLAGS = @HOST_FLAGS@ … … 237 219 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 238 220 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 239 LD = @LD@240 221 LDFLAGS = @LDFLAGS@ 241 222 LEX = @LEX@ … … 246 227 LIBOBJS = @LIBOBJS@ 247 228 LIBS = @LIBS@ 248 LIBTOOL = @LIBTOOL@249 LIPO = @LIPO@250 LN_S = @LN_S@251 229 LTLIBOBJS = @LTLIBOBJS@ 252 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@253 230 MAKEINFO = @MAKEINFO@ 254 MANIFEST_TOOL = @MANIFEST_TOOL@255 231 MKDIR_P = @MKDIR_P@ 256 NM = @NM@257 NMEDIT = @NMEDIT@258 OBJDUMP = @OBJDUMP@259 232 OBJEXT = @OBJEXT@ 260 OTOOL = @OTOOL@261 OTOOL64 = @OTOOL64@262 233 PACKAGE = @PACKAGE@ 263 234 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 269 240 PATH_SEPARATOR = @PATH_SEPARATOR@ 270 241 RANLIB = @RANLIB@ 271 SED = @SED@272 242 SET_MAKE = @SET_MAKE@ 273 243 SHELL = @SHELL@ … … 281 251 abs_top_builddir = @abs_top_builddir@ 282 252 abs_top_srcdir = @abs_top_srcdir@ 283 ac_ct_AR = @ac_ct_AR@284 253 ac_ct_CC = @ac_ct_CC@ 285 254 ac_ct_CXX = @ac_ct_CXX@ 286 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@287 255 am__include = @am__include@ 288 256 am__leading_dot = @am__leading_dot@ … … 332 300 top_srcdir = @top_srcdir@ 333 301 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 334 ACLOCAL_AMFLAGS = -I automake335 302 336 303 # applies to both programs … … 346 313 347 314 .SUFFIXES: 348 .SUFFIXES: .cc . lo .o .obj315 .SUFFIXES: .cc .o .obj 349 316 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 350 317 @for dep in $?; do \ … … 386 353 sed 's/$(EXEEXT)$$//' | \ 387 354 while read p p1; do if test -f $$p \ 388 || test -f $$p1 \389 355 ; then echo "$$p"; echo "$$p"; else :; fi; \ 390 356 done | \ … … 401 367 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 402 368 test -z "$$files" || { \ 403 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \404 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \369 echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \ 370 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \ 405 371 } \ 406 372 ; done … … 418 384 419 385 clean-cc1libPROGRAMS: 420 @list='$(cc1lib_PROGRAMS)'; test -n "$$list" || exit 0; \ 421 echo " rm -f" $$list; \ 422 rm -f $$list || exit $$?; \ 423 test -n "$(EXEEXT)" || exit 0; \ 424 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 425 echo " rm -f" $$list; \ 426 rm -f $$list 386 -test -z "$(cc1lib_PROGRAMS)" || rm -f $(cc1lib_PROGRAMS) 427 387 428 388 clean-noinstPROGRAMS: 429 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ 430 echo " rm -f" $$list; \ 431 rm -f $$list || exit $$?; \ 432 test -n "$(EXEEXT)" || exit 0; \ 433 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 434 echo " rm -f" $$list; \ 435 rm -f $$list 389 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 436 390 437 391 as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES) … … 472 426 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 473 427 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 474 475 .cc.lo:476 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\477 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\478 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo479 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@480 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@481 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<482 483 mostlyclean-libtool:484 -rm -f *.lo485 486 clean-libtool:487 -rm -rf .libs _libs488 428 489 429 ID: $(am__tagged_files) … … 609 549 clean: clean-am 610 550 611 clean-am: clean-cc1libPROGRAMS clean-generic clean- libtool\612 clean-noinstPROGRAMSmostlyclean-am551 clean-am: clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \ 552 mostlyclean-am 613 553 614 554 distclean: distclean-am … … 666 606 mostlyclean: mostlyclean-am 667 607 668 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 669 mostlyclean-libtool 608 mostlyclean-am: mostlyclean-compile mostlyclean-generic 670 609 671 610 pdf: pdf-am … … 683 622 684 623 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 685 clean-cc1libPROGRAMS clean-generic clean-libtool \ 686 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ 687 distclean-compile distclean-generic distclean-libtool \ 688 distclean-tags distdir dvi dvi-am html html-am info info-am \ 689 install install-am install-cc1libPROGRAMS install-data \ 690 install-data-am install-dvi install-dvi-am install-exec \ 691 install-exec-am install-exec-hook install-html install-html-am \ 692 install-info install-info-am install-man install-pdf \ 693 install-pdf-am install-ps install-ps-am install-strip \ 694 installcheck installcheck-am installdirs maintainer-clean \ 695 maintainer-clean-generic mostlyclean mostlyclean-compile \ 696 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 624 clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \ 625 cscopelist-am ctags ctags-am distclean distclean-compile \ 626 distclean-generic distclean-tags distdir dvi dvi-am html \ 627 html-am info info-am install install-am install-cc1libPROGRAMS \ 628 install-data install-data-am install-dvi install-dvi-am \ 629 install-exec install-exec-am install-exec-hook install-html \ 630 install-html-am install-info install-info-am install-man \ 631 install-pdf install-pdf-am install-ps install-ps-am \ 632 install-strip installcheck installcheck-am installdirs \ 633 maintainer-clean maintainer-clean-generic mostlyclean \ 634 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 697 635 tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \ 698 636 uninstall-hook -
driver/as.cc
rcde3891 r9b086ca 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 7 // as.c -- map assembler file, scan for debug information. If found, expand file by one character and insert Cforall 8 // language code on the N line from the start of the debug information. 9 // 6 // 7 // as.c -- 8 // 10 9 // Author : Peter A. Buhr 11 10 // Created On : Wed Aug 1 10:49:42 2018 12 11 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Sat Sep 8 08:40:16201814 // Update Count : 9 715 // 12 // Last Modified On : Wed Aug 22 17:30:24 2018 13 // Update Count : 93 14 // 16 15 17 16 #include <cstdio> // perror … … 44 43 off_t size = mystat.st_size; 45 44 46 if ( size ) { // cannot map 0 sized file 47 char * start = (char *)mmap( NULL, size + 2, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); 48 if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); }; 45 char * start = (char *)mmap( NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); 46 if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); }; 49 47 50 if ( char * cursor = strstr( start, ".Ldebug_info0:" ) ) { // debug information ?51 // Expand file by one byte to hold 2 character Cforall language code.52 if ( ftruncate( fd, size + 1 ) ) { perror( "ftruncate" ); exit( EXIT_FAILURE ); };48 if ( char * cursor = strstr( start, ".Ldebug_info0:" ) ) { // debug information ? 49 // Expand file by one byte to hold 2 character Cforall language code. 50 if ( ftruncate( fd, size + 1 ) ) { perror( "ftruncate" ); exit( EXIT_FAILURE ); }; 53 51 54 for ( int i = 0; i < 8; i += 1 ) {// move N (magic) lines forward55 cursor = strstr( cursor, "\n" ) + 1;56 } // for52 for ( int i = 0; i < 8; i += 1 ) { // move N (magic) lines forward 53 cursor = strstr( cursor, "\n" ) + 1; 54 } // for 57 55 58 cursor -= 2;// backup over "c\n" language value59 if ( *(cursor - 1) != 'x' ) { fprintf( stderr, "invalid C language code\n" ); exit( EXIT_FAILURE ); };56 cursor -= 2; // backup over "c\n" language value 57 if ( *(cursor - 1) != 'x' ) { fprintf( stderr, "invalid C language code\n" ); exit( EXIT_FAILURE ); }; 60 58 61 memmove( cursor + 2, cursor + 1, start + size - cursor - 1 ); // move remaining text 1 character right59 memmove( cursor + 2, cursor + 1, start + size - cursor - 1 ); // move remaining text 1 character right 62 60 63 *(cursor) = '2';// replace C language value with CFA64 *(cursor + 1) = '5';65 } // if61 *(cursor) = '2'; // replace C language value with CFA 62 *(cursor + 1) = '5'; 63 } // if 66 64 67 if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk 68 } // if 65 if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk 69 66 70 67 argv[0] = "as"; -
driver/cc1.cc
rcde3891 r9b086ca 10 10 // Created On : Fri Aug 26 14:23:51 2005 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 3 16:57:05201813 // Update Count : 12 512 // Last Modified On : Thu Aug 23 09:48:40 2018 13 // Update Count : 122 14 14 // 15 15 … … 32 32 string compiler_name( CFA_BACKEND_CC ); // path/name of C compiler 33 33 34 string D__GCC_X__( "-D__GCC_X__=" ); 34 35 string D__GCC_BPREFIX__( "-D__GCC_BPREFIX__=" ); 35 36 string D__CFA_FLAGPREFIX__( "-D__CFA_FLAG__=" ); … … 45 46 enum { NumSuffixes = 2 }; 46 47 const string suffixes[NumSuffixes] = { "cfa", "hfa", }; 48 47 49 48 50 void suffix( string arg, const char * args[], int & nargs ) { … … 114 116 void Stage1( const int argc, const char * const argv[] ) { 115 117 int code; 118 int i; 116 119 117 120 string arg; … … 136 139 cerr << "Stage1" << endl; 137 140 #endif // __DEBUG_H__ 141 142 // process all the arguments 143 138 144 checkEnv( args, nargs ); // arguments passed via environment variables 139 #ifdef __DEBUG_H__ 140 for ( int i = 1; i < argc; i += 1 ) { 145 146 for ( i = 1; i < argc; i += 1 ) { 147 #ifdef __DEBUG_H__ 141 148 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 142 } // for 143 #endif // __DEBUG_H__ 144 145 // process all the arguments 146 147 for ( int i = 1; i < argc; i += 1 ) { 149 #endif // __DEBUG_H__ 148 150 arg = argv[i]; 151 #ifdef __DEBUG_H__ 152 cerr << "arg:\"" << arg << "\"" << endl; 153 #endif // __DEBUG_H__ 149 154 if ( prefix( arg, "-" ) ) { 150 155 // strip g++ flags that are inappropriate or cause duplicates in subsequent passes … … 180 185 ncargs += 1; 181 186 i += 1; // and the argument 187 // } else if ( prefix( arg, D__GCC_X__ ) ) { 188 // args[nargs] = "-x"; 189 // nargs += 1; 190 // args[nargs] = ( *new string( arg.substr( D__GCC_X__.size() ) ) ).c_str(); // pass the flag along 191 // nargs += 1; 192 // } else if ( arg == "-D" && prefix( argv[i + 1], D__GCC_X__.substr(2) ) ) { 193 // args[nargs] = "-x"; 194 // nargs += 1; 195 // args[nargs] = ( *new string( string( argv[i + 1] ).substr( D__GCC_X__.size() - 2 ) ) ).c_str(); // pass the flag along 196 // nargs += 1; 197 // i += 1; // and the argument 182 198 } else if ( prefix( arg, D__GCC_BPREFIX__ ) ) { 183 199 bprefix = arg.substr( D__GCC_BPREFIX__.size() ); … … 235 251 #ifdef __DEBUG_H__ 236 252 cerr << "args:"; 237 for ( i nt i= 1; i < nargs; i += 1 ) {253 for ( i = 1; i < nargs; i += 1 ) { 238 254 cerr << " " << args[i]; 239 255 } // for … … 266 282 #ifdef __DEBUG_H__ 267 283 cerr << "nargs: " << nargs << endl; 268 for ( i nt i= 0; args[i] != NULL; i += 1 ) {284 for ( i = 0; args[i] != NULL; i += 1 ) { 269 285 cerr << args[i] << " "; 270 286 } // for … … 308 324 #ifdef __DEBUG_H__ 309 325 cerr << "cpp nargs: " << nargs << endl; 310 for ( i nt i= 0; args[i] != NULL; i += 1 ) {326 for ( i = 0; args[i] != NULL; i += 1 ) { 311 327 cerr << args[i] << " "; 312 328 } // for … … 361 377 #ifdef __DEBUG_H__ 362 378 cerr << "cfa-cpp ncargs: " << o_name << " " << CFA_flag << " " << ncargs << endl; 363 for ( i nt i= 0; cargs[i] != NULL; i += 1 ) {379 for ( i = 0; cargs[i] != NULL; i += 1 ) { 364 380 cerr << cargs[i] << " "; 365 381 } // for … … 391 407 392 408 void Stage2( const int argc, const char * const * argv ) { 409 int i; 410 393 411 string arg; 394 412 … … 401 419 cerr << "Stage2" << endl; 402 420 #endif // __DEBUG_H__ 421 422 // process all the arguments 423 403 424 checkEnv( args, nargs ); // arguments passed via environment variables 404 #ifdef __DEBUG_H__ 405 for ( int i = 1; i < argc; i += 1 ) { 425 426 for ( i = 1; i < argc; i += 1 ) { 427 #ifdef __DEBUG_H__ 406 428 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 407 } // for 408 #endif // __DEBUG_H__ 409 410 // process all the arguments 411 412 for ( int i = 1; i < argc; i += 1 ) { 429 #endif // __DEBUG_H__ 413 430 arg = argv[i]; 431 #ifdef __DEBUG_H__ 432 cerr << "arg:\"" << arg << "\"" << endl; 433 #endif // __DEBUG_H__ 414 434 if ( prefix( arg, "-" ) ) { 415 435 // strip inappropriate flags … … 456 476 #ifdef __DEBUG_H__ 457 477 cerr << "args:"; 458 for ( i nt i= 1; i < nargs; i += 1 ) {478 for ( i = 1; i < nargs; i += 1 ) { 459 479 cerr << " " << args[i]; 460 480 } // for … … 472 492 #ifdef __DEBUG_H__ 473 493 cerr << "stage2 nargs: " << nargs << endl; 474 for ( i nt i= 0; args[i] != NULL; i += 1 ) {494 for ( i = 0; args[i] != NULL; i += 1 ) { 475 495 cerr << args[i] << " "; 476 496 } // for … … 486 506 int main( const int argc, const char * const argv[], __attribute__((unused)) const char * const env[] ) { 487 507 #ifdef __DEBUG_H__ 488 for ( int i nt i= 0; env[i] != NULL; i += 1 ) {508 for ( int i = 0; env[i] != NULL; i += 1 ) { 489 509 cerr << env[i] << endl; 490 510 } // for -
driver/cfa.cc
rcde3891 r9b086ca 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Jan 15 20:56:03 201913 // Update Count : 2 8012 // Last Modified On : Thu Aug 23 15:41:55 2018 13 // Update Count : 270 14 14 // 15 15 … … 43 43 const string suffixes[NumSuffixes] = { "cfa", "hfa", }; 44 44 45 boolsuffix( string arg, const char * args[], int & nargs ) {45 void suffix( string arg, const char * args[], int & nargs ) { 46 46 //std::cerr << arg << std::endl; 47 47 size_t dot = arg.find_last_of( "." ); 48 48 //std::cerr << dot << " " << (dot != string::npos ? arg.substr( dot + 1 ) : "fred" ) << std::endl; 49 if ( dot == string::npos ) return false;49 if ( dot == string::npos ) return; 50 50 string sx = arg.substr( dot + 1 ); 51 51 for ( int i = 0; i < NumSuffixes; i += 1 ) { … … 55 55 args[nargs] = "c"; 56 56 nargs += 1; 57 return true;57 return; 58 58 } // if 59 59 } // for 60 return false;61 60 } // suffix 62 61 … … 114 113 bool std_flag = false; // -std= flag 115 114 bool noincstd_flag = false; // -no-include-stdhdr= flag 115 bool xflag = false; // user supplied -x flag 116 116 bool debugging __attribute(( unused )) = false; // -g flag 117 117 bool m32 = false; // -m32 flag … … 128 128 #ifdef __DEBUG_H__ 129 129 cerr << "CFA:" << endl; 130 #endif // __DEBUG_H__ 131 132 // process command-line arguments 133 130 134 for ( int i = 1; i < argc; i += 1 ) { 131 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 132 } // for 133 #endif // __DEBUG_H__ 134 135 // process command-line arguments 136 137 for ( int i = 1; i < argc; i += 1 ) { 135 #ifdef __DEBUG_H__ 136 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 137 #endif // __DEBUG_H__ 138 138 arg = argv[i]; // convert to string value 139 #ifdef __DEBUG_H__ 140 cerr << "arg:\"" << arg << "\"" << endl; 141 #endif // __DEBUG_H__ 139 142 if ( prefix( arg, "-" ) ) { 140 143 // pass through arguments … … 199 202 args[nargs] = argv[i]; // pass the argument along 200 203 nargs += 1; 204 } else if ( arg == "-x" ) { 205 xflag = true; 206 args[nargs] = argv[i]; // pass the argument along 207 nargs += 1; 208 i += 1; // advance to argument 209 args[nargs] = argv[i]; // pass the argument along 210 nargs += 1; 211 // args[nargs] = ( *new string( string("-D__GCC_X__=") + argv[i] ) ).c_str(); // add the argument for -x 212 // nargs += 1; 213 } else if ( prefix( arg, "-x" ) ) { 214 xflag = true; 215 args[nargs] = argv[i]; // pass the argument along 216 nargs += 1; 217 // args[nargs] = ( *new string( string("-D__GCC_X__=") + arg.substr(2) ) ).c_str(); // add the argument for -x 218 // nargs += 1; 201 219 } else if ( arg == "-w" ) { 202 220 args[nargs] = argv[i]; // pass the argument along … … 280 298 } // if 281 299 } else { 282 bool cfa = suffix( arg, args, nargs ); // check suffix 283 args[nargs] = argv[i]; // concatenate file 300 bool opt = false; 301 if ( ! xflag ) { 302 suffix( arg, args, nargs ); // check suffix 303 // args[nargs] = ( *new string( string("-D__GCC_X__=c") ) ).c_str(); // add the argument for -x 304 // nargs += 1; 305 opt = true; 306 } // if 307 // concatenate other arguments 308 args[nargs] = argv[i]; 284 309 nargs += 1; 285 if ( cfa) {310 if ( opt ) { 286 311 args[nargs] = "-x"; 287 312 nargs += 1; 288 313 args[nargs] = "none"; 289 314 nargs += 1; 315 // args[nargs] = ( *new string( string("-D__GCC_X__=none") ) ).c_str(); // add the argument for -x 316 // nargs += 1; 290 317 } // if 291 318 nonoptarg = true; 319 xflag = false; 292 320 } // if 293 321 } // for 294 295 args[nargs] = "-x"; // turn off language296 nargs += 1;297 args[nargs] = "none";298 nargs += 1;299 322 300 323 #ifdef __x86_64__ … … 357 380 358 381 string arch = m32 ? CFA_32_CPU : (m64 ? CFA_64_CPU : CFA_DEFAULT_CPU); 359 if ( ! m32 && ! m64 ) { 360 if ( arch == "x86" ) { 361 args[nargs] = "-m32"; 362 nargs += 1; 363 } else if ( arch == "x64" ) { 364 args[nargs] = "-m64"; 365 nargs += 1; 366 } // if 382 if ( ! m32 && ! m64 && arch == "x86" ) { // no override and 32-bit architecture 383 args[nargs] = "-m32"; 384 nargs += 1; 367 385 } // if 368 386 const char * config = debug ? "debug": "nodebug"; … … 384 402 nargs += 1; 385 403 386 for ( int i = 0; i < nlibs; i += 1 ) { // copy non-user libraries after all user libraries387 args[nargs] = libs[i];388 nargs += 1;389 } // for390 391 404 if ( link ) { 392 405 args[nargs] = "-Xlinker"; … … 408 421 409 422 // include the cfa library in case it's needed 410 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src/.libs" : "")) ).c_str(); 411 nargs += 1; 412 args[nargs] = ( *new string( string("-Wl,-rpath," ) + libdir + (intree ? "/src/.libs" : "")) ).c_str(); 423 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src" : "")) ).c_str(); 413 424 nargs += 1; 414 425 args[nargs] = "-lcfa"; … … 419 430 nargs += 1; 420 431 args[nargs] = "-lrt"; 421 nargs += 1;422 args[nargs] = "-lm";423 432 nargs += 1; 424 433 } // if … … 505 514 args[nargs] = ( *new string( string("-B") + Bprefix ) ).c_str(); 506 515 nargs += 1; 516 args[nargs] = "-lm"; 517 nargs += 1; 507 518 } else { 508 519 cerr << argv[0] << " error, compiler \"" << compiler_name << "\" unsupported." << endl; 509 520 exit( EXIT_FAILURE ); 510 521 } // if 522 523 for ( int i = 0; i < nlibs; i += 1 ) { // copy non-user libraries after all user libraries 524 args[nargs] = libs[i]; 525 nargs += 1; 526 } // for 511 527 512 528 args[nargs] = NULL; // terminate with NULL -
examples/ArrayN.c
rcde3891 r9b086ca 7 7 8 8 forall(otype index_t) 9 index_t offset_to_index(unsigned offset, index_t size) { 9 index_t offset_to_index(unsigned offset, index_t size) 10 { 10 11 return [offset / size.0, offset % size.1]; 11 12 } 12 13 13 int main(int argc, char* argv[]) { 14 int main(int argc, char* argv[]) 15 { 14 16 unsigned x = 0, y = 0, i = 0; 15 17 unsigned sx = 4, sy = 4; … … 18 20 [x, y] = offset_to_index(6, [sx, sy]); 19 21 20 sout | x | ' ' | y ;22 sout | x | ' ' | y | endl; 21 23 22 24 return 0; -
examples/gc_no_raii/src/internal/collector.c
rcde3891 r9b086ca 38 38 void* gc_allocate(size_t target_size) 39 39 { 40 // sout | "Allocating " | target_size | " bytes" ;40 // sout | "Allocating " | target_size | " bytes" | endl; 41 41 42 42 size_t size = gc_compute_size(target_size + sizeof(gc_object_header)); 43 43 44 // sout | "Object header size: " | sizeof(gc_object_header) | " bytes" ;45 // sout | "Actual allocation size: " | size | " bytes" ;44 // sout | "Object header size: " | sizeof(gc_object_header) | " bytes" | endl; 45 // sout | "Actual allocation size: " | size | " bytes" | endl; 46 46 47 47 check(size < POOL_SIZE_BYTES); -
examples/gc_no_raii/src/internal/state.h
rcde3891 r9b086ca 38 38 static inline bool gc_needs_collect(gc_state* state) 39 39 { 40 // sout | "Used Space: " | state->used_space | " bytes" ;40 // sout | "Used Space: " | state->used_space | " bytes" | endl; 41 41 return state->used_space * 2 > state->total_space; 42 42 } -
examples/gc_no_raii/src/tools/print.h
rcde3891 r9b086ca 5 5 // #include <fstream.hfa> 6 6 // 7 // #define DEBUG_OUT(x) sout | x ;7 // #define DEBUG_OUT(x) sout | x | endl; 8 8 // 9 9 // #else -
examples/multicore.c
rcde3891 r9b086ca 15 15 16 16 int main(int argc, char* argv[]) { 17 // sout | "User main begin" ;17 // sout | "User main begin" | endl; 18 18 { 19 19 processor p; … … 22 22 } 23 23 } 24 // sout | "User main end" ;24 // sout | "User main end" | endl; 25 25 } -
examples/prolog.c
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 23:27:19 201813 // Update Count : 612 // Last Modified On : Tue Mar 8 22:09:39 2016 13 // Update Count : 5 14 14 // 15 15 16 16 #include <fstream.hfa> 17 17 18 void printResult( int x ) { sout | "int" ; }19 void printResult( double x ) { sout | "double" ; }20 void printResult( char * x ) { sout | "char*" ; }18 void printResult( int x ) { sout | "int" | endl; } 19 void printResult( double x ) { sout | "double" | endl; } 20 void printResult( char * x ) { sout | "char*" | endl; } 21 21 22 22 void is_arithmetic( int x ) {} -
examples/quad.c
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 23:26:58 201813 // Update Count : 912 // Last Modified On : Tue Mar 8 22:07:02 2016 13 // Update Count : 8 14 14 // 15 15 … … 28 28 int main() { 29 29 int N = 2; 30 sout | "result of quad of" | N | "is" | quad( N ) ;30 sout | "result of quad of" | N | "is" | quad( N ) | endl; 31 31 } 32 32 -
examples/square.c
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 23:28:24 201813 // Update Count : 2 812 // Last Modified On : Tue Mar 8 22:05:48 2016 13 // Update Count : 27 14 14 // 15 15 … … 23 23 int main() { 24 24 #if 0 25 sout | "result of squaring 9 is " ;25 sout | "result of squaring 9 is " | endl; 26 26 27 27 // char does not have multiplication. … … 30 30 } // ?*? 31 31 char c = 9; 32 sout | "char\t\t\t" | square( c ) ;32 sout | "char\t\t\t" | square( c ) | endl; 33 33 34 sout | square( s ) ;34 sout | square( s ) | endl; 35 35 #endif 36 36 short s = 9; … … 38 38 #if 0 39 39 signed int i = 9; 40 sout | "signed int\t\t" | square( i ) ;40 sout | "signed int\t\t" | square( i ) | endl; 41 41 42 42 unsigned int ui = 9; 43 sout | "unsigned int\t\t" | square( ui ) ;43 sout | "unsigned int\t\t" | square( ui ) | endl; 44 44 45 45 long int li = 9; 46 sout | "signed long int\t\t" | square( li ) ;46 sout | "signed long int\t\t" | square( li ) | endl; 47 47 48 48 unsigned long int uli = 9; 49 sout | "unsigned long int\t" | square( uli ) ;49 sout | "unsigned long int\t" | square( uli ) | endl; 50 50 51 51 signed long long int lli = 9; 52 sout | "signed long long int\t" | square( lli ) ;52 sout | "signed long long int\t" | square( lli ) | endl; 53 53 54 54 unsigned long long int ulli = 9; 55 sout | "unsigned long long int\t" | square( ulli ) ;55 sout | "unsigned long long int\t" | square( ulli ) | endl; 56 56 57 57 float f = 9.0; 58 sout | "float\t\t\t" | square( f ) ;58 sout | "float\t\t\t" | square( f ) | endl; 59 59 60 60 double d = 9.0; 61 sout | "double\t\t\t" | square( d ) ;61 sout | "double\t\t\t" | square( d ) | endl; 62 62 63 63 long double ld = 9.0; 64 sout | "long double\t\t" | square( ld ) ;64 sout | "long double\t\t" | square( ld ) | endl; 65 65 #endif 66 66 } // main -
examples/twice.c
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 11 23:28:08 201813 // Update Count : 4 712 // Last Modified On : Thu Oct 19 21:52:57 2017 13 // Update Count : 46 14 14 // 15 15 … … 28 28 29 29 int main( void ) { 30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ) ;30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ) | endl; 31 31 } 32 32 -
examples/wrapper/src/main.c
rcde3891 r9b086ca 1 1 #include "pointer.h" 2 2 3 wrapper_t make_copy(wrapper_t copy) { 3 wrapper_t make_copy(wrapper_t copy) 4 { 4 5 return copy; 5 6 } 6 7 7 int main(int argc, char const *argv[]) { 8 int main(int argc, char const *argv[]) 9 { 8 10 wrapper_t p = wrap(6); 9 sout | nl | "test started"; 11 12 sout | endl | "test started" | endl; 13 10 14 wrapper_t p2 = p; 15 11 16 clear(&p); 17 12 18 p = p2; 19 13 20 wrapper_t p3 = make_copy(p2); 14 sout | nl | "test ended"; 21 22 sout | endl | "test ended" | endl; 23 15 24 return 0; 16 25 } -
examples/wrapper/src/pointer.h
rcde3891 r9b086ca 34 34 void ?{}(content_t* this) 35 35 { 36 sout | "Constructing content" ;36 sout | "Constructing content" | endl; 37 37 this->count = 0; 38 38 } … … 40 40 void ^?{}(content_t* this) 41 41 { 42 sout | "Destroying content" ;42 sout | "Destroying content" | endl; 43 43 } 44 44 … … 53 53 void ?{}(wrapper_t* this) 54 54 { 55 sout | "Constructing empty ref pointer" | nl;55 sout | "Constructing empty ref pointer" | endl | endl; 56 56 this->ptr = NULL; 57 57 } … … 59 59 void ?{}(wrapper_t* this, wrapper_t rhs) 60 60 { 61 sout | "Constructing ref pointer from copy" ;61 sout | "Constructing ref pointer from copy" | endl; 62 62 this->ptr = rhs.ptr; 63 63 this->ptr->count++; 64 sout | "Reference is " | this->ptr->count | nl;64 sout | "Reference is " | this->ptr->count | endl | endl; 65 65 } 66 66 … … 69 69 if(this->ptr) 70 70 { 71 sout | "Destroying ref pointer" ;71 sout | "Destroying ref pointer" | endl; 72 72 this->ptr->count--; 73 sout | "Reference is " | this->ptr->count | nl;73 sout | "Reference is " | this->ptr->count | endl | endl; 74 74 if(!this->ptr->count) delete(this->ptr); 75 75 } 76 76 else 77 77 { 78 sout | "Destroying empty ref pointer" | nl;78 sout | "Destroying empty ref pointer" | endl | endl; 79 79 } 80 80 } … … 82 82 wrapper_t ?=?(wrapper_t* this, wrapper_t rhs) 83 83 { 84 sout | "Setting ref pointer" ;84 sout | "Setting ref pointer" | endl; 85 85 if(this->ptr) 86 86 { 87 87 this->ptr->count--; 88 sout | "Reference is " | this->ptr->count | nl;88 sout | "Reference is " | this->ptr->count | endl | endl; 89 89 if(!this->ptr->count) delete(this->ptr); 90 90 } 91 91 this->ptr = rhs.ptr; 92 92 this->ptr->count++; 93 sout | "Reference is " | this->ptr->count | nl;93 sout | "Reference is " | this->ptr->count | endl | endl; 94 94 } 95 95 … … 98 98 this->ptr = c; 99 99 this->ptr->count++; 100 sout | "Setting ref pointer" ;101 sout | "Reference is " | this->ptr->count | nl;100 sout | "Setting ref pointer" | endl; 101 sout | "Reference is " | this->ptr->count | endl | endl; 102 102 } 103 103 104 104 void clear(wrapper_t* this) 105 105 { 106 sout | "Clearing ref pointer" ;106 sout | "Clearing ref pointer" | endl; 107 107 this->ptr->count--; 108 sout | "Reference is " | this->ptr->count | nl;108 sout | "Reference is " | this->ptr->count | endl | endl; 109 109 if(!this->ptr->count) delete(this->ptr); 110 110 this->ptr = NULL; -
examples/zero_one.c
rcde3891 r9b086ca 3 3 void foo(zero_t o) 4 4 { 5 sout | "It's a Zero!" ;5 sout | "It's a Zero!" | endl; 6 6 } 7 7 8 8 void foo(one_t o) 9 9 { 10 sout | "It's a One!" ;10 sout | "It's a One!" | endl; 11 11 } 12 12 13 13 void foo(int o) 14 14 { 15 sout | "It's a Number!" ;15 sout | "It's a Number!" | endl; 16 16 } 17 17 -
libcfa/Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 SUBDIRS = prelude src # order important -
libcfa/Makefile.in
rcde3891 r9b086ca 89 89 PRE_UNINSTALL = : 90 90 POST_UNINSTALL = : 91 build_triplet = @build@92 host_triplet = @host@93 91 subdir = . 94 92 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 95 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 96 $(top_srcdir)/automake/ltoptions.m4 \ 97 $(top_srcdir)/automake/ltsugar.m4 \ 98 $(top_srcdir)/automake/ltversion.m4 \ 99 $(top_srcdir)/automake/lt~obsolete.m4 \ 100 $(top_srcdir)/../automake/cfa.m4 $(top_srcdir)/configure.ac 93 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 94 $(top_srcdir)/configure.ac 101 95 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 102 96 $(ACLOCAL_M4) … … 164 158 CSCOPE = cscope 165 159 DIST_SUBDIRS = $(SUBDIRS) 166 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/compile \ 167 $(top_srcdir)/automake/config.guess \ 168 $(top_srcdir)/automake/config.sub \ 169 $(top_srcdir)/automake/install-sh \ 170 $(top_srcdir)/automake/ltmain.sh \ 171 $(top_srcdir)/automake/missing automake/compile \ 172 automake/config.guess automake/config.sub automake/depcomp \ 173 automake/install-sh automake/ltmain.sh automake/missing 160 am__DIST_COMMON = $(srcdir)/Makefile.in \ 161 $(top_srcdir)/./automake/compile \ 162 $(top_srcdir)/./automake/install-sh \ 163 $(top_srcdir)/./automake/missing ./automake/compile \ 164 ./automake/config.guess ./automake/config.sub \ 165 ./automake/depcomp ./automake/install-sh ./automake/missing 174 166 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 175 167 distdir = $(PACKAGE)-$(VERSION) … … 217 209 AMTAR = @AMTAR@ 218 210 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 219 AR = @AR@220 211 ARCHITECTURE = @ARCHITECTURE@ 221 212 ARCH_FLAGS = @ARCH_FLAGS@ … … 236 227 CFA_NAME = @CFA_NAME@ 237 228 CFA_PREFIX = @CFA_PREFIX@ 238 CFA_VERSION = @CFA_VERSION@239 229 CFLAGS = @CFLAGS@ 240 230 CONFIGURATION = @CONFIGURATION@ 241 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@242 231 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 243 232 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 244 CPP = @CPP@245 233 CPPFLAGS = @CPPFLAGS@ 246 234 CXX = @CXX@ 247 CXXCPP = @CXXCPP@248 235 CXXDEPMODE = @CXXDEPMODE@ 249 236 CXXFLAGS = @CXXFLAGS@ … … 251 238 DEFS = @DEFS@ 252 239 DEPDIR = @DEPDIR@ 253 DLLTOOL = @DLLTOOL@254 240 DRIVER_DIR = @DRIVER_DIR@ 255 DSYMUTIL = @DSYMUTIL@256 DUMPBIN = @DUMPBIN@257 241 ECHO_C = @ECHO_C@ 258 242 ECHO_N = @ECHO_N@ 259 243 ECHO_T = @ECHO_T@ 260 EGREP = @EGREP@261 244 EXEEXT = @EXEEXT@ 262 FGREP = @FGREP@263 GREP = @GREP@264 245 INSTALL = @INSTALL@ 265 246 INSTALL_DATA = @INSTALL_DATA@ … … 267 248 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 268 249 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 269 LD = @LD@270 250 LDFLAGS = @LDFLAGS@ 271 251 LIBOBJS = @LIBOBJS@ 272 252 LIBS = @LIBS@ 273 LIBTOOL = @LIBTOOL@274 LIPO = @LIPO@275 LN_S = @LN_S@276 253 LTLIBOBJS = @LTLIBOBJS@ 277 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@278 254 MAKEINFO = @MAKEINFO@ 279 MANIFEST_TOOL = @MANIFEST_TOOL@280 255 MKDIR_P = @MKDIR_P@ 281 NM = @NM@282 NMEDIT = @NMEDIT@283 OBJDUMP = @OBJDUMP@284 256 OBJEXT = @OBJEXT@ 285 OTOOL = @OTOOL@286 OTOOL64 = @OTOOL64@287 257 PACKAGE = @PACKAGE@ 288 258 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 294 264 PATH_SEPARATOR = @PATH_SEPARATOR@ 295 265 RANLIB = @RANLIB@ 296 SED = @SED@297 266 SET_MAKE = @SET_MAKE@ 298 267 SHELL = @SHELL@ … … 303 272 abs_top_builddir = @abs_top_builddir@ 304 273 abs_top_srcdir = @abs_top_srcdir@ 305 ac_ct_AR = @ac_ct_AR@306 274 ac_ct_CC = @ac_ct_CC@ 307 275 ac_ct_CXX = @ac_ct_CXX@ 308 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@309 276 am__include = @am__include@ 310 277 am__leading_dot = @am__leading_dot@ … … 313 280 am__untar = @am__untar@ 314 281 bindir = @bindir@ 315 build = @build@316 282 build_alias = @build_alias@ 317 build_cpu = @build_cpu@318 build_os = @build_os@319 build_vendor = @build_vendor@320 283 builddir = @builddir@ 321 284 datadir = @datadir@ … … 324 287 dvidir = @dvidir@ 325 288 exec_prefix = @exec_prefix@ 326 host = @host@327 289 host_alias = @host_alias@ 328 host_cpu = @host_cpu@329 host_os = @host_os@330 host_vendor = @host_vendor@331 290 htmldir = @htmldir@ 332 291 includedir = @includedir@ … … 354 313 top_srcdir = @top_srcdir@ 355 314 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 356 ACLOCAL_AMFLAGS = -I automake357 315 SUBDIRS = prelude src # order important 358 316 all: all-recursive … … 392 350 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 393 351 $(am__aclocal_m4_deps): 394 395 mostlyclean-libtool:396 -rm -f *.lo397 398 clean-libtool:399 -rm -rf .libs _libs400 401 distclean-libtool:402 -rm -f libtool config.lt403 352 404 353 # This directory's subdirectories are mostly independent; you can cd … … 733 682 clean: clean-recursive 734 683 735 clean-am: clean-generic clean-libtoolmostlyclean-am684 clean-am: clean-generic mostlyclean-am 736 685 737 686 distclean: distclean-recursive 738 687 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 739 688 -rm -f Makefile 740 distclean-am: clean-am distclean-generic distclean-libtool \ 741 distclean-tags 689 distclean-am: clean-am distclean-generic distclean-tags 742 690 743 691 dvi: dvi-recursive … … 789 737 mostlyclean: mostlyclean-recursive 790 738 791 mostlyclean-am: mostlyclean-generic mostlyclean-libtool739 mostlyclean-am: mostlyclean-generic 792 740 793 741 pdf: pdf-recursive … … 805 753 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 806 754 am--refresh check check-am clean clean-cscope clean-generic \ 807 clean-libtool cscope cscopelist-am ctags ctags-am dist \ 808 dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ 809 dist-xz dist-zip distcheck distclean distclean-generic \ 810 distclean-libtool distclean-tags distcleancheck distdir \ 811 distuninstallcheck dvi dvi-am html html-am info info-am \ 812 install install-am install-data install-data-am install-dvi \ 813 install-dvi-am install-exec install-exec-am install-html \ 814 install-html-am install-info install-info-am install-man \ 815 install-pdf install-pdf-am install-ps install-ps-am \ 816 install-strip installcheck installcheck-am installdirs \ 817 installdirs-am maintainer-clean maintainer-clean-generic \ 818 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ 819 ps ps-am tags tags-am uninstall uninstall-am 755 cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ 756 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ 757 distcheck distclean distclean-generic distclean-tags \ 758 distcleancheck distdir distuninstallcheck dvi dvi-am html \ 759 html-am info info-am install install-am install-data \ 760 install-data-am install-dvi install-dvi-am install-exec \ 761 install-exec-am install-html install-html-am install-info \ 762 install-info-am install-man install-pdf install-pdf-am \ 763 install-ps install-ps-am install-strip installcheck \ 764 installcheck-am installdirs installdirs-am maintainer-clean \ 765 maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ 766 pdf-am ps ps-am tags tags-am uninstall uninstall-am 820 767 821 768 .PRECIOUS: Makefile -
libcfa/aclocal.m4
rcde3891 r9b086ca 1171 1171 ]) # _AM_PROG_TAR 1172 1172 1173 m4_include([automake/libtool.m4])1174 m4_include([automake/ltoptions.m4])1175 m4_include([automake/ltsugar.m4])1176 m4_include([automake/ltversion.m4])1177 m4_include([automake/lt~obsolete.m4]) -
libcfa/configure
rcde3891 r9b086ca 198 198 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 199 199 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 200 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 201 202 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( 203 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 204 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO 205 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO 206 PATH=/empty FPATH=/empty; export PATH FPATH 207 test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ 208 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 209 test \$(( 1 + 1 )) = 2 || exit 1" 200 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" 210 201 if (eval "$as_required") 2>/dev/null; then : 211 202 as_have_required=yes … … 565 556 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 566 557 567 SHELL=${CONFIG_SHELL-/bin/sh}568 569 558 570 559 test -n "$DJDIR" || exec 7<&0 </dev/null … … 596 585 PACKAGE_URL='' 597 586 598 # Factoring default headers for most tests.599 ac_includes_default="\600 #include <stdio.h>601 #ifdef HAVE_SYS_TYPES_H602 # include <sys/types.h>603 #endif604 #ifdef HAVE_SYS_STAT_H605 # include <sys/stat.h>606 #endif607 #ifdef STDC_HEADERS608 # include <stdlib.h>609 # include <stddef.h>610 #else611 # ifdef HAVE_STDLIB_H612 # include <stdlib.h>613 # endif614 #endif615 #ifdef HAVE_STRING_H616 # if !defined STDC_HEADERS && defined HAVE_MEMORY_H617 # include <memory.h>618 # endif619 # include <string.h>620 #endif621 #ifdef HAVE_STRINGS_H622 # include <strings.h>623 #endif624 #ifdef HAVE_INTTYPES_H625 # include <inttypes.h>626 #endif627 #ifdef HAVE_STDINT_H628 # include <stdint.h>629 #endif630 #ifdef HAVE_UNISTD_H631 # include <unistd.h>632 #endif"633 634 587 ac_subst_vars='am__EXEEXT_FALSE 635 588 am__EXEEXT_TRUE 636 589 LTLIBOBJS 637 590 LIBOBJS 591 RANLIB 638 592 am__fastdepCCAS_FALSE 639 593 am__fastdepCCAS_TRUE … … 641 595 CCASFLAGS 642 596 CCAS 643 CXXCPP 597 am__fastdepCC_FALSE 598 am__fastdepCC_TRUE 599 CCDEPMODE 600 ac_ct_CC 601 CFLAGS 602 CC 644 603 am__fastdepCXX_FALSE 645 604 am__fastdepCXX_TRUE 646 605 CXXDEPMODE 647 ac_ct_CXX648 CXXFLAGS649 CXX650 CPP651 LT_SYS_LIBRARY_PATH652 OTOOL64653 OTOOL654 LIPO655 NMEDIT656 DSYMUTIL657 MANIFEST_TOOL658 RANLIB659 ac_ct_AR660 AR661 DLLTOOL662 OBJDUMP663 LN_S664 NM665 ac_ct_DUMPBIN666 DUMPBIN667 LD668 FGREP669 EGREP670 GREP671 SED672 am__fastdepCC_FALSE673 am__fastdepCC_TRUE674 CCDEPMODE675 606 am__nodep 676 607 AMDEPBACKSLASH … … 682 613 OBJEXT 683 614 EXEEXT 684 ac_ct_C C615 ac_ct_CXX 685 616 CPPFLAGS 686 617 LDFLAGS 687 CFLAGS 688 CC 689 host_os 690 host_vendor 691 host_cpu 692 host 693 build_os 694 build_vendor 695 build_cpu 696 build 697 LIBTOOL 618 CXXFLAGS 619 CXX 698 620 CFA_LIBDIR 699 621 CFA_BINDIR … … 701 623 CFA_PREFIX 702 624 CFA_NAME 703 BUILDLIB_FALSE704 BUILDLIB_TRUE705 CONFIG_BUILDLIB706 625 CONFIG_CFAFLAGS 707 626 CONFIG_CFLAGS … … 709 628 CFACPP 710 629 CFACC 711 CFA_VERSION712 630 DRIVER_DIR 713 631 CONFIGURATION … … 784 702 enable_silent_rules 785 703 with_cfa_name 786 enable_shared787 enable_static788 with_pic789 enable_fast_install790 with_aix_soname791 704 enable_dependency_tracking 792 with_gnu_ld793 with_sysroot794 enable_libtool_lock795 705 ' 796 706 ac_precious_vars='build_alias … … 800 710 CONFIGURATION 801 711 DRIVER_DIR 802 CFA_VERSION 803 CC 804 CFLAGS 712 CXX 713 CXXFLAGS 805 714 LDFLAGS 806 715 LIBS 807 716 CPPFLAGS 808 LT_SYS_LIBRARY_PATH809 CPP810 CXX811 CXXFLAGS812 717 CCC 813 CXXCPP 718 CC 719 CFLAGS 814 720 CCAS 815 721 CCASFLAGS' … … 1426 1332 --program-suffix=SUFFIX append SUFFIX to installed program names 1427 1333 --program-transform-name=PROGRAM run sed PROGRAM on installed program names 1428 1429 System types:1430 --build=BUILD configure for building on BUILD [guessed]1431 --host=HOST cross-compile to build programs to run on HOST [BUILD]1432 1334 _ACEOF 1433 1335 fi … … 1445 1347 --enable-silent-rules less verbose build output (undo: "make V=1") 1446 1348 --disable-silent-rules verbose build output (undo: "make V=0") 1447 --enable-shared[=PKGS] build shared libraries [default=yes]1448 --enable-static[=PKGS] build static libraries [default=yes]1449 --enable-fast-install[=PKGS]1450 optimize for fast installation [default=yes]1451 1349 --enable-dependency-tracking 1452 1350 do not reject slow dependency extractors 1453 1351 --disable-dependency-tracking 1454 1352 speeds up one-time build 1455 --disable-libtool-lock avoid locking (might break parallel builds)1456 1353 1457 1354 Optional Packages: … … 1459 1356 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1460 1357 --with-cfa-name=NAME NAME too which cfa will be installed 1461 --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use1462 both]1463 --with-aix-soname=aix|svr4|both1464 shared library versioning (aka "SONAME") variant to1465 provide on AIX, [default=aix].1466 --with-gnu-ld assume the C compiler uses GNU ld [default=no]1467 --with-sysroot[=DIR] Search for dependent libraries within DIR (or the1468 compiler's sysroot if not specified).1469 1358 1470 1359 Some influential environment variables: … … 1475 1364 deubg, nodebug, nolib (prelude-only) 1476 1365 DRIVER_DIR The path to the cforall driver directory 1477 CFA_VERSION The long version of cfa 1478 CC C compiler command 1479 CFLAGS C compiler flags 1366 CXX C++ compiler command 1367 CXXFLAGS C++ compiler flags 1480 1368 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a 1481 1369 nonstandard directory <lib dir> … … 1483 1371 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if 1484 1372 you have headers in a nonstandard directory <include dir> 1485 LT_SYS_LIBRARY_PATH 1486 User-defined run-time library search path. 1487 CPP C preprocessor 1488 CXX C++ compiler command 1489 CXXFLAGS C++ compiler flags 1490 CXXCPP C++ preprocessor 1373 CC C compiler command 1374 CFLAGS C compiler flags 1491 1375 CCAS assembler compiler command (defaults to CC) 1492 1376 CCASFLAGS assembler compiler flags (defaults to CFLAGS) … … 1571 1455 ## Autoconf initialization. ## 1572 1456 ## ------------------------ ## 1457 1458 # ac_fn_cxx_try_compile LINENO 1459 # ---------------------------- 1460 # Try to compile conftest.$ac_ext, and return whether this succeeded. 1461 ac_fn_cxx_try_compile () 1462 { 1463 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1464 rm -f conftest.$ac_objext 1465 if { { ac_try="$ac_compile" 1466 case "(($ac_try" in 1467 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1468 *) ac_try_echo=$ac_try;; 1469 esac 1470 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1471 $as_echo "$ac_try_echo"; } >&5 1472 (eval "$ac_compile") 2>conftest.err 1473 ac_status=$? 1474 if test -s conftest.err; then 1475 grep -v '^ *+' conftest.err >conftest.er1 1476 cat conftest.er1 >&5 1477 mv -f conftest.er1 conftest.err 1478 fi 1479 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1480 test $ac_status = 0; } && { 1481 test -z "$ac_cxx_werror_flag" || 1482 test ! -s conftest.err 1483 } && test -s conftest.$ac_objext; then : 1484 ac_retval=0 1485 else 1486 $as_echo "$as_me: failed program was:" >&5 1487 sed 's/^/| /' conftest.$ac_ext >&5 1488 1489 ac_retval=1 1490 fi 1491 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1492 as_fn_set_status $ac_retval 1493 1494 } # ac_fn_cxx_try_compile 1573 1495 1574 1496 # ac_fn_c_try_compile LINENO … … 1609 1531 1610 1532 } # ac_fn_c_try_compile 1611 1612 # ac_fn_c_try_link LINENO1613 # -----------------------1614 # Try to link conftest.$ac_ext, and return whether this succeeded.1615 ac_fn_c_try_link ()1616 {1617 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1618 rm -f conftest.$ac_objext conftest$ac_exeext1619 if { { ac_try="$ac_link"1620 case "(($ac_try" in1621 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1622 *) ac_try_echo=$ac_try;;1623 esac1624 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1625 $as_echo "$ac_try_echo"; } >&51626 (eval "$ac_link") 2>conftest.err1627 ac_status=$?1628 if test -s conftest.err; then1629 grep -v '^ *+' conftest.err >conftest.er11630 cat conftest.er1 >&51631 mv -f conftest.er1 conftest.err1632 fi1633 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51634 test $ac_status = 0; } && {1635 test -z "$ac_c_werror_flag" ||1636 test ! -s conftest.err1637 } && test -s conftest$ac_exeext && {1638 test "$cross_compiling" = yes ||1639 test -x conftest$ac_exeext1640 }; then :1641 ac_retval=01642 else1643 $as_echo "$as_me: failed program was:" >&51644 sed 's/^/| /' conftest.$ac_ext >&51645 1646 ac_retval=11647 fi1648 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information1649 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would1650 # interfere with the next link command; also delete a directory that is1651 # left behind by Apple's compiler. We do this before executing the actions.1652 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1653 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1654 as_fn_set_status $ac_retval1655 1656 } # ac_fn_c_try_link1657 1658 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES1659 # -------------------------------------------------------1660 # Tests whether HEADER exists and can be compiled using the include files in1661 # INCLUDES, setting the cache variable VAR accordingly.1662 ac_fn_c_check_header_compile ()1663 {1664 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1665 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51666 $as_echo_n "checking for $2... " >&6; }1667 if eval \${$3+:} false; then :1668 $as_echo_n "(cached) " >&61669 else1670 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1671 /* end confdefs.h. */1672 $41673 #include <$2>1674 _ACEOF1675 if ac_fn_c_try_compile "$LINENO"; then :1676 eval "$3=yes"1677 else1678 eval "$3=no"1679 fi1680 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext1681 fi1682 eval ac_res=\$$31683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51684 $as_echo "$ac_res" >&6; }1685 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1686 1687 } # ac_fn_c_check_header_compile1688 1689 # ac_fn_c_try_cpp LINENO1690 # ----------------------1691 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.1692 ac_fn_c_try_cpp ()1693 {1694 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1695 if { { ac_try="$ac_cpp conftest.$ac_ext"1696 case "(($ac_try" in1697 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1698 *) ac_try_echo=$ac_try;;1699 esac1700 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1701 $as_echo "$ac_try_echo"; } >&51702 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err1703 ac_status=$?1704 if test -s conftest.err; then1705 grep -v '^ *+' conftest.err >conftest.er11706 cat conftest.er1 >&51707 mv -f conftest.er1 conftest.err1708 fi1709 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51710 test $ac_status = 0; } > conftest.i && {1711 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||1712 test ! -s conftest.err1713 }; then :1714 ac_retval=01715 else1716 $as_echo "$as_me: failed program was:" >&51717 sed 's/^/| /' conftest.$ac_ext >&51718 1719 ac_retval=11720 fi1721 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1722 as_fn_set_status $ac_retval1723 1724 } # ac_fn_c_try_cpp1725 1726 # ac_fn_c_try_run LINENO1727 # ----------------------1728 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes1729 # that executables *can* be run.1730 ac_fn_c_try_run ()1731 {1732 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1733 if { { ac_try="$ac_link"1734 case "(($ac_try" in1735 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1736 *) ac_try_echo=$ac_try;;1737 esac1738 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1739 $as_echo "$ac_try_echo"; } >&51740 (eval "$ac_link") 2>&51741 ac_status=$?1742 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51743 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'1744 { { case "(($ac_try" in1745 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1746 *) ac_try_echo=$ac_try;;1747 esac1748 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1749 $as_echo "$ac_try_echo"; } >&51750 (eval "$ac_try") 2>&51751 ac_status=$?1752 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51753 test $ac_status = 0; }; }; then :1754 ac_retval=01755 else1756 $as_echo "$as_me: program exited with status $ac_status" >&51757 $as_echo "$as_me: failed program was:" >&51758 sed 's/^/| /' conftest.$ac_ext >&51759 1760 ac_retval=$ac_status1761 fi1762 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1763 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1764 as_fn_set_status $ac_retval1765 1766 } # ac_fn_c_try_run1767 1768 # ac_fn_c_check_func LINENO FUNC VAR1769 # ----------------------------------1770 # Tests whether FUNC exists, setting the cache variable VAR accordingly1771 ac_fn_c_check_func ()1772 {1773 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1774 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51775 $as_echo_n "checking for $2... " >&6; }1776 if eval \${$3+:} false; then :1777 $as_echo_n "(cached) " >&61778 else1779 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1780 /* end confdefs.h. */1781 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.1782 For example, HP-UX 11i <limits.h> declares gettimeofday. */1783 #define $2 innocuous_$21784 1785 /* System header to define __stub macros and hopefully few prototypes,1786 which can conflict with char $2 (); below.1787 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since1788 <limits.h> exists even on freestanding compilers. */1789 1790 #ifdef __STDC__1791 # include <limits.h>1792 #else1793 # include <assert.h>1794 #endif1795 1796 #undef $21797 1798 /* Override any GCC internal prototype to avoid an error.1799 Use char because int might match the return type of a GCC1800 builtin and then its argument prototype would still apply. */1801 #ifdef __cplusplus1802 extern "C"1803 #endif1804 char $2 ();1805 /* The GNU C library defines this for functions which it implements1806 to always fail with ENOSYS. Some functions are actually named1807 something starting with __ and the normal name is an alias. */1808 #if defined __stub_$2 || defined __stub___$21809 choke me1810 #endif1811 1812 int1813 main ()1814 {1815 return $2 ();1816 ;1817 return 0;1818 }1819 _ACEOF1820 if ac_fn_c_try_link "$LINENO"; then :1821 eval "$3=yes"1822 else1823 eval "$3=no"1824 fi1825 rm -f core conftest.err conftest.$ac_objext \1826 conftest$ac_exeext conftest.$ac_ext1827 fi1828 eval ac_res=\$$31829 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51830 $as_echo "$ac_res" >&6; }1831 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1832 1833 } # ac_fn_c_check_func1834 1835 # ac_fn_cxx_try_compile LINENO1836 # ----------------------------1837 # Try to compile conftest.$ac_ext, and return whether this succeeded.1838 ac_fn_cxx_try_compile ()1839 {1840 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1841 rm -f conftest.$ac_objext1842 if { { ac_try="$ac_compile"1843 case "(($ac_try" in1844 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1845 *) ac_try_echo=$ac_try;;1846 esac1847 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1848 $as_echo "$ac_try_echo"; } >&51849 (eval "$ac_compile") 2>conftest.err1850 ac_status=$?1851 if test -s conftest.err; then1852 grep -v '^ *+' conftest.err >conftest.er11853 cat conftest.er1 >&51854 mv -f conftest.er1 conftest.err1855 fi1856 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51857 test $ac_status = 0; } && {1858 test -z "$ac_cxx_werror_flag" ||1859 test ! -s conftest.err1860 } && test -s conftest.$ac_objext; then :1861 ac_retval=01862 else1863 $as_echo "$as_me: failed program was:" >&51864 sed 's/^/| /' conftest.$ac_ext >&51865 1866 ac_retval=11867 fi1868 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1869 as_fn_set_status $ac_retval1870 1871 } # ac_fn_cxx_try_compile1872 1873 # ac_fn_cxx_try_cpp LINENO1874 # ------------------------1875 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.1876 ac_fn_cxx_try_cpp ()1877 {1878 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1879 if { { ac_try="$ac_cpp conftest.$ac_ext"1880 case "(($ac_try" in1881 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1882 *) ac_try_echo=$ac_try;;1883 esac1884 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1885 $as_echo "$ac_try_echo"; } >&51886 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err1887 ac_status=$?1888 if test -s conftest.err; then1889 grep -v '^ *+' conftest.err >conftest.er11890 cat conftest.er1 >&51891 mv -f conftest.er1 conftest.err1892 fi1893 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51894 test $ac_status = 0; } > conftest.i && {1895 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||1896 test ! -s conftest.err1897 }; then :1898 ac_retval=01899 else1900 $as_echo "$as_me: failed program was:" >&51901 sed 's/^/| /' conftest.$ac_ext >&51902 1903 ac_retval=11904 fi1905 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1906 as_fn_set_status $ac_retval1907 1908 } # ac_fn_cxx_try_cpp1909 1910 # ac_fn_cxx_try_link LINENO1911 # -------------------------1912 # Try to link conftest.$ac_ext, and return whether this succeeded.1913 ac_fn_cxx_try_link ()1914 {1915 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1916 rm -f conftest.$ac_objext conftest$ac_exeext1917 if { { ac_try="$ac_link"1918 case "(($ac_try" in1919 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;1920 *) ac_try_echo=$ac_try;;1921 esac1922 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""1923 $as_echo "$ac_try_echo"; } >&51924 (eval "$ac_link") 2>conftest.err1925 ac_status=$?1926 if test -s conftest.err; then1927 grep -v '^ *+' conftest.err >conftest.er11928 cat conftest.er1 >&51929 mv -f conftest.er1 conftest.err1930 fi1931 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51932 test $ac_status = 0; } && {1933 test -z "$ac_cxx_werror_flag" ||1934 test ! -s conftest.err1935 } && test -s conftest$ac_exeext && {1936 test "$cross_compiling" = yes ||1937 test -x conftest$ac_exeext1938 }; then :1939 ac_retval=01940 else1941 $as_echo "$as_me: failed program was:" >&51942 sed 's/^/| /' conftest.$ac_ext >&51943 1944 ac_retval=11945 fi1946 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information1947 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would1948 # interfere with the next link command; also delete a directory that is1949 # left behind by Apple's compiler. We do this before executing the actions.1950 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1951 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1952 as_fn_set_status $ac_retval1953 1954 } # ac_fn_cxx_try_link1955 1533 cat >config.log <<_ACEOF 1956 1534 This file contains any messages produced by compilers while … … 2306 1884 2307 1885 ac_aux_dir= 2308 for ac_dir in automake "$srcdir"/automake; do1886 for ac_dir in ./automake "$srcdir"/./automake; do 2309 1887 if test -f "$ac_dir/install-sh"; then 2310 1888 ac_aux_dir=$ac_dir … … 2322 1900 done 2323 1901 if test -z "$ac_aux_dir"; then 2324 as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 51902 as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./automake \"$srcdir\"/./automake" "$LINENO" 5 2325 1903 fi 2326 1904 … … 2332 1910 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. 2333 1911 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. 2334 2335 1912 2336 1913 … … 2373 1950 fi 2374 1951 AM_BACKSLASH='\' 2375 2376 1952 2377 1953 … … 2927 2503 : ${CFLAGS=""} 2928 2504 2929 # define this to override2930 AR_FLAGS="cr"2931 2932 2505 # Allow program name tansformation 2933 2506 # will fill program_transform_name with appropriate sed regex … … 2938 2511 2939 2512 2940 2941 2513 CFACC=${DRIVER_DIR}cfa 2942 2514 CFACPP=${DRIVER_DIR}cfa-cpp 2943 2944 2515 2945 2516 … … 2959 2530 CONFIG_CFLAGS="-O0 -g" 2960 2531 CONFIG_CFAFLAGS="-debug" 2961 CONFIG_BUILDLIB="yes"2962 2532 ;; 2963 2533 "nodebug" ) 2964 2534 CONFIG_CFLAGS="-O2 -s" 2965 2535 CONFIG_CFAFLAGS="-nodebug" 2966 CONFIG_BUILDLIB="yes"2967 2536 ;; 2968 2537 "nolib" ) 2969 CONFIG_CFLAGS="-O2 -s" 2970 CONFIG_CFAFLAGS="-nodebug" 2971 CONFIG_BUILDLIB="no" 2972 ;; 2973 *) 2974 as_fn_error $? "'Invalid value $CONFIGURATION for \$CONFIGURATION'" "$LINENO" 5 2538 CONFIG_CFLAGS="" 2539 CONFIG_CFAFLAGS="" 2975 2540 ;; 2976 2541 esac 2977 2542 2978 2543 2979 2980 2981 2982 if test "x${CONFIG_BUILDLIB}" = "xyes"; then2983 BUILDLIB_TRUE=2984 BUILDLIB_FALSE='#'2985 else2986 BUILDLIB_TRUE='#'2987 BUILDLIB_FALSE=2988 fi2989 2544 2990 2545 … … 3076 2631 3077 2632 # Checks for programs. 3078 case `pwd` in 3079 *\ * | *\ *) 3080 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 3081 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; 3082 esac 3083 3084 3085 3086 macro_version='2.4.6' 3087 macro_revision='2.4.6' 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 ltmain=$ac_aux_dir/ltmain.sh 3102 3103 # Make sure we can run config.sub. 3104 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || 3105 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 3106 3107 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 3108 $as_echo_n "checking build system type... " >&6; } 3109 if ${ac_cv_build+:} false; then : 3110 $as_echo_n "(cached) " >&6 3111 else 3112 ac_build_alias=$build_alias 3113 test "x$ac_build_alias" = x && 3114 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` 3115 test "x$ac_build_alias" = x && 3116 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 3117 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || 3118 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 3119 3120 fi 3121 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 3122 $as_echo "$ac_cv_build" >&6; } 3123 case $ac_cv_build in 3124 *-*-*) ;; 3125 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; 3126 esac 3127 build=$ac_cv_build 3128 ac_save_IFS=$IFS; IFS='-' 3129 set x $ac_cv_build 3130 shift 3131 build_cpu=$1 3132 build_vendor=$2 3133 shift; shift 3134 # Remember, the first character of IFS is used to create $*, 3135 # except with old shells: 3136 build_os=$* 3137 IFS=$ac_save_IFS 3138 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac 3139 3140 3141 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 3142 $as_echo_n "checking host system type... " >&6; } 3143 if ${ac_cv_host+:} false; then : 3144 $as_echo_n "(cached) " >&6 3145 else 3146 if test "x$host_alias" = x; then 3147 ac_cv_host=$ac_cv_build 3148 else 3149 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || 3150 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 3151 fi 3152 3153 fi 3154 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 3155 $as_echo "$ac_cv_host" >&6; } 3156 case $ac_cv_host in 3157 *-*-*) ;; 3158 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; 3159 esac 3160 host=$ac_cv_host 3161 ac_save_IFS=$IFS; IFS='-' 3162 set x $ac_cv_host 3163 shift 3164 host_cpu=$1 3165 host_vendor=$2 3166 shift; shift 3167 # Remember, the first character of IFS is used to create $*, 3168 # except with old shells: 3169 host_os=$* 3170 IFS=$ac_save_IFS 3171 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac 3172 3173 3174 # Backslashify metacharacters that are still active within 3175 # double-quoted strings. 3176 sed_quote_subst='s/\(["`$\\]\)/\\\1/g' 3177 3178 # Same as above, but do not quote variable references. 3179 double_quote_subst='s/\(["`\\]\)/\\\1/g' 3180 3181 # Sed substitution to delay expansion of an escaped shell variable in a 3182 # double_quote_subst'ed string. 3183 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 3184 3185 # Sed substitution to delay expansion of an escaped single quote. 3186 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 3187 3188 # Sed substitution to avoid accidental globbing in evaled expressions 3189 no_glob_subst='s/\*/\\\*/g' 3190 3191 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 3192 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 3193 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 3194 3195 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 3196 $as_echo_n "checking how to print strings... " >&6; } 3197 # Test print first, because it will be a builtin if present. 3198 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 3199 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 3200 ECHO='print -r --' 3201 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 3202 ECHO='printf %s\n' 3203 else 3204 # Use this function as a fallback that always works. 3205 func_fallback_echo () 3206 { 3207 eval 'cat <<_LTECHO_EOF 3208 $1 3209 _LTECHO_EOF' 3210 } 3211 ECHO='func_fallback_echo' 3212 fi 3213 3214 # func_echo_all arg... 3215 # Invoke $ECHO with all args, space-separated. 3216 func_echo_all () 3217 { 3218 $ECHO "" 3219 } 3220 3221 case $ECHO in 3222 printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 3223 $as_echo "printf" >&6; } ;; 3224 print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 3225 $as_echo "print -r" >&6; } ;; 3226 *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 3227 $as_echo "cat" >&6; } ;; 3228 esac 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 DEPDIR="${am__leading_dot}deps" 3244 3245 ac_config_commands="$ac_config_commands depfiles" 3246 3247 3248 am_make=${MAKE-make} 3249 cat > confinc << 'END' 3250 am__doit: 3251 @echo this is the am__doit target 3252 .PHONY: am__doit 3253 END 3254 # If we don't find an include directive, just comment out the code. 3255 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 3256 $as_echo_n "checking for style of include used by $am_make... " >&6; } 3257 am__include="#" 3258 am__quote= 3259 _am_result=none 3260 # First try GNU make style include. 3261 echo "include confinc" > confmf 3262 # Ignore all kinds of additional output from 'make'. 3263 case `$am_make -s -f confmf 2> /dev/null` in #( 3264 *the\ am__doit\ target*) 3265 am__include=include 3266 am__quote= 3267 _am_result=GNU 3268 ;; 3269 esac 3270 # Now try BSD make style include. 3271 if test "$am__include" = "#"; then 3272 echo '.include "confinc"' > confmf 3273 case `$am_make -s -f confmf 2> /dev/null` in #( 3274 *the\ am__doit\ target*) 3275 am__include=.include 3276 am__quote="\"" 3277 _am_result=BSD 3278 ;; 3279 esac 3280 fi 3281 3282 3283 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 3284 $as_echo "$_am_result" >&6; } 3285 rm -f confinc confmf 3286 3287 # Check whether --enable-dependency-tracking was given. 3288 if test "${enable_dependency_tracking+set}" = set; then : 3289 enableval=$enable_dependency_tracking; 3290 fi 3291 3292 if test "x$enable_dependency_tracking" != xno; then 3293 am_depcomp="$ac_aux_dir/depcomp" 3294 AMDEPBACKSLASH='\' 3295 am__nodep='_no' 3296 fi 3297 if test "x$enable_dependency_tracking" != xno; then 3298 AMDEP_TRUE= 3299 AMDEP_FALSE='#' 3300 else 3301 AMDEP_TRUE='#' 3302 AMDEP_FALSE= 3303 fi 3304 3305 3306 ac_ext=c 3307 ac_cpp='$CPP $CPPFLAGS' 3308 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 3309 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3310 ac_compiler_gnu=$ac_cv_c_compiler_gnu 3311 if test -n "$ac_tool_prefix"; then 3312 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. 3313 set dummy ${ac_tool_prefix}gcc; ac_word=$2 2633 ac_ext=cpp 2634 ac_cpp='$CXXCPP $CPPFLAGS' 2635 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 2636 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 2637 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 2638 if test -z "$CXX"; then 2639 if test -n "$CCC"; then 2640 CXX=$CCC 2641 else 2642 if test -n "$ac_tool_prefix"; then 2643 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 2644 do 2645 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. 2646 set dummy $ac_tool_prefix$ac_prog; ac_word=$2 3314 2647 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3315 2648 $as_echo_n "checking for $ac_word... " >&6; } 3316 if ${ac_cv_prog_C C+:} false; then :2649 if ${ac_cv_prog_CXX+:} false; then : 3317 2650 $as_echo_n "(cached) " >&6 3318 2651 else 3319 if test -n "$C C"; then3320 ac_cv_prog_C C="$CC" # Let the user override the test.2652 if test -n "$CXX"; then 2653 ac_cv_prog_CXX="$CXX" # Let the user override the test. 3321 2654 else 3322 2655 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 3327 2660 for ac_exec_ext in '' $ac_executable_extensions; do 3328 2661 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3329 ac_cv_prog_C C="${ac_tool_prefix}gcc"2662 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" 3330 2663 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3331 2664 break 2 … … 3337 2670 fi 3338 2671 fi 3339 C C=$ac_cv_prog_CC3340 if test -n "$C C"; then3341 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $C C" >&53342 $as_echo "$C C" >&6; }2672 CXX=$ac_cv_prog_CXX 2673 if test -n "$CXX"; then 2674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 2675 $as_echo "$CXX" >&6; } 3343 2676 else 3344 2677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 3347 2680 3348 2681 3349 fi 3350 if test -z "$ac_cv_prog_CC"; then 3351 ac_ct_CC=$CC 3352 # Extract the first word of "gcc", so it can be a program name with args. 3353 set dummy gcc; ac_word=$2 2682 test -n "$CXX" && break 2683 done 2684 fi 2685 if test -z "$CXX"; then 2686 ac_ct_CXX=$CXX 2687 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 2688 do 2689 # Extract the first word of "$ac_prog", so it can be a program name with args. 2690 set dummy $ac_prog; ac_word=$2 3354 2691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3355 2692 $as_echo_n "checking for $ac_word... " >&6; } 3356 if ${ac_cv_prog_ac_ct_C C+:} false; then :2693 if ${ac_cv_prog_ac_ct_CXX+:} false; then : 3357 2694 $as_echo_n "(cached) " >&6 3358 2695 else 3359 if test -n "$ac_ct_C C"; then3360 ac_cv_prog_ac_ct_C C="$ac_ct_CC" # Let the user override the test.2696 if test -n "$ac_ct_CXX"; then 2697 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. 3361 2698 else 3362 2699 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 3367 2704 for ac_exec_ext in '' $ac_executable_extensions; do 3368 2705 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3369 ac_cv_prog_ac_ct_C C="gcc"2706 ac_cv_prog_ac_ct_CXX="$ac_prog" 3370 2707 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3371 2708 break 2 … … 3377 2714 fi 3378 2715 fi 3379 ac_ct_C C=$ac_cv_prog_ac_ct_CC3380 if test -n "$ac_ct_C C"; then3381 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_C C" >&53382 $as_echo "$ac_ct_C C" >&6; }2716 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX 2717 if test -n "$ac_ct_CXX"; then 2718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 2719 $as_echo "$ac_ct_CXX" >&6; } 3383 2720 else 3384 2721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 3386 2723 fi 3387 2724 3388 if test "x$ac_ct_CC" = x; then 3389 CC="" 2725 2726 test -n "$ac_ct_CXX" && break 2727 done 2728 2729 if test "x$ac_ct_CXX" = x; then 2730 CXX="g++" 3390 2731 else 3391 2732 case $cross_compiling:$ac_tool_warned in … … 3395 2736 ac_tool_warned=yes ;; 3396 2737 esac 3397 C C=$ac_ct_CC2738 CXX=$ac_ct_CXX 3398 2739 fi 3399 else 3400 CC="$ac_cv_prog_CC" 3401 fi 3402 3403 if test -z "$CC"; then 3404 if test -n "$ac_tool_prefix"; then 3405 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. 3406 set dummy ${ac_tool_prefix}cc; ac_word=$2 3407 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3408 $as_echo_n "checking for $ac_word... " >&6; } 3409 if ${ac_cv_prog_CC+:} false; then : 3410 $as_echo_n "(cached) " >&6 3411 else 3412 if test -n "$CC"; then 3413 ac_cv_prog_CC="$CC" # Let the user override the test. 3414 else 3415 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3416 for as_dir in $PATH 3417 do 3418 IFS=$as_save_IFS 3419 test -z "$as_dir" && as_dir=. 3420 for ac_exec_ext in '' $ac_executable_extensions; do 3421 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3422 ac_cv_prog_CC="${ac_tool_prefix}cc" 3423 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3424 break 2 2740 fi 2741 3425 2742 fi 3426 done 3427 done 3428 IFS=$as_save_IFS 3429 3430 fi 3431 fi 3432 CC=$ac_cv_prog_CC 3433 if test -n "$CC"; then 3434 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3435 $as_echo "$CC" >&6; } 3436 else 3437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3438 $as_echo "no" >&6; } 3439 fi 3440 3441 3442 fi 3443 fi 3444 if test -z "$CC"; then 3445 # Extract the first word of "cc", so it can be a program name with args. 3446 set dummy cc; ac_word=$2 3447 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3448 $as_echo_n "checking for $ac_word... " >&6; } 3449 if ${ac_cv_prog_CC+:} false; then : 3450 $as_echo_n "(cached) " >&6 3451 else 3452 if test -n "$CC"; then 3453 ac_cv_prog_CC="$CC" # Let the user override the test. 3454 else 3455 ac_prog_rejected=no 3456 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3457 for as_dir in $PATH 3458 do 3459 IFS=$as_save_IFS 3460 test -z "$as_dir" && as_dir=. 3461 for ac_exec_ext in '' $ac_executable_extensions; do 3462 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3463 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then 3464 ac_prog_rejected=yes 3465 continue 3466 fi 3467 ac_cv_prog_CC="cc" 3468 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3469 break 2 3470 fi 3471 done 3472 done 3473 IFS=$as_save_IFS 3474 3475 if test $ac_prog_rejected = yes; then 3476 # We found a bogon in the path, so make sure we never use it. 3477 set dummy $ac_cv_prog_CC 3478 shift 3479 if test $# != 0; then 3480 # We chose a different compiler from the bogus one. 3481 # However, it has the same basename, so the bogon will be chosen 3482 # first if we set CC to just the basename; use the full file name. 3483 shift 3484 ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" 3485 fi 3486 fi 3487 fi 3488 fi 3489 CC=$ac_cv_prog_CC 3490 if test -n "$CC"; then 3491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3492 $as_echo "$CC" >&6; } 3493 else 3494 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3495 $as_echo "no" >&6; } 3496 fi 3497 3498 3499 fi 3500 if test -z "$CC"; then 3501 if test -n "$ac_tool_prefix"; then 3502 for ac_prog in cl.exe 3503 do 3504 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. 3505 set dummy $ac_tool_prefix$ac_prog; ac_word=$2 3506 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3507 $as_echo_n "checking for $ac_word... " >&6; } 3508 if ${ac_cv_prog_CC+:} false; then : 3509 $as_echo_n "(cached) " >&6 3510 else 3511 if test -n "$CC"; then 3512 ac_cv_prog_CC="$CC" # Let the user override the test. 3513 else 3514 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3515 for as_dir in $PATH 3516 do 3517 IFS=$as_save_IFS 3518 test -z "$as_dir" && as_dir=. 3519 for ac_exec_ext in '' $ac_executable_extensions; do 3520 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3521 ac_cv_prog_CC="$ac_tool_prefix$ac_prog" 3522 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3523 break 2 3524 fi 3525 done 3526 done 3527 IFS=$as_save_IFS 3528 3529 fi 3530 fi 3531 CC=$ac_cv_prog_CC 3532 if test -n "$CC"; then 3533 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3534 $as_echo "$CC" >&6; } 3535 else 3536 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3537 $as_echo "no" >&6; } 3538 fi 3539 3540 3541 test -n "$CC" && break 3542 done 3543 fi 3544 if test -z "$CC"; then 3545 ac_ct_CC=$CC 3546 for ac_prog in cl.exe 3547 do 3548 # Extract the first word of "$ac_prog", so it can be a program name with args. 3549 set dummy $ac_prog; ac_word=$2 3550 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3551 $as_echo_n "checking for $ac_word... " >&6; } 3552 if ${ac_cv_prog_ac_ct_CC+:} false; then : 3553 $as_echo_n "(cached) " >&6 3554 else 3555 if test -n "$ac_ct_CC"; then 3556 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. 3557 else 3558 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3559 for as_dir in $PATH 3560 do 3561 IFS=$as_save_IFS 3562 test -z "$as_dir" && as_dir=. 3563 for ac_exec_ext in '' $ac_executable_extensions; do 3564 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3565 ac_cv_prog_ac_ct_CC="$ac_prog" 3566 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3567 break 2 3568 fi 3569 done 3570 done 3571 IFS=$as_save_IFS 3572 3573 fi 3574 fi 3575 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3576 if test -n "$ac_ct_CC"; then 3577 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 3578 $as_echo "$ac_ct_CC" >&6; } 3579 else 3580 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3581 $as_echo "no" >&6; } 3582 fi 3583 3584 3585 test -n "$ac_ct_CC" && break 3586 done 3587 3588 if test "x$ac_ct_CC" = x; then 3589 CC="" 3590 else 3591 case $cross_compiling:$ac_tool_warned in 3592 yes:) 3593 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 3594 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 3595 ac_tool_warned=yes ;; 3596 esac 3597 CC=$ac_ct_CC 3598 fi 3599 fi 3600 3601 fi 3602 3603 3604 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3605 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3606 as_fn_error $? "no acceptable C compiler found in \$PATH 3607 See \`config.log' for more details" "$LINENO" 5; } 3608 2743 fi 3609 2744 # Provide some information about the compiler. 3610 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&52745 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 3611 2746 set X $ac_compile 3612 2747 ac_compiler=$2 … … 3648 2783 # It will help us diagnose broken compilers, and finding out an intuition 3649 2784 # of exeext. 3650 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&53651 $as_echo_n "checking whether the C compiler works... " >&6; }2785 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 2786 $as_echo_n "checking whether the C++ compiler works... " >&6; } 3652 2787 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` 3653 2788 … … 3719 2854 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3720 2855 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3721 as_fn_error 77 "C compiler cannot create executables2856 as_fn_error 77 "C++ compiler cannot create executables 3722 2857 See \`config.log' for more details" "$LINENO" 5; } 3723 2858 else … … 3725 2860 $as_echo "yes" >&6; } 3726 2861 fi 3727 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&53728 $as_echo_n "checking for C compiler default output file name... " >&6; }2862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 2863 $as_echo_n "checking for C++ compiler default output file name... " >&6; } 3729 2864 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 3730 2865 $as_echo "$ac_file" >&6; } … … 3820 2955 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3821 2956 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3822 as_fn_error $? "cannot run C compiled programs.2957 as_fn_error $? "cannot run C++ compiled programs. 3823 2958 If you meant to cross compile, use \`--host'. 3824 2959 See \`config.log' for more details" "$LINENO" 5; } … … 3882 3017 OBJEXT=$ac_cv_objext 3883 3018 ac_objext=$OBJEXT 3019 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 3020 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } 3021 if ${ac_cv_cxx_compiler_gnu+:} false; then : 3022 $as_echo_n "(cached) " >&6 3023 else 3024 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3025 /* end confdefs.h. */ 3026 3027 int 3028 main () 3029 { 3030 #ifndef __GNUC__ 3031 choke me 3032 #endif 3033 3034 ; 3035 return 0; 3036 } 3037 _ACEOF 3038 if ac_fn_cxx_try_compile "$LINENO"; then : 3039 ac_compiler_gnu=yes 3040 else 3041 ac_compiler_gnu=no 3042 fi 3043 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3044 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu 3045 3046 fi 3047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 3048 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } 3049 if test $ac_compiler_gnu = yes; then 3050 GXX=yes 3051 else 3052 GXX= 3053 fi 3054 ac_test_CXXFLAGS=${CXXFLAGS+set} 3055 ac_save_CXXFLAGS=$CXXFLAGS 3056 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 3057 $as_echo_n "checking whether $CXX accepts -g... " >&6; } 3058 if ${ac_cv_prog_cxx_g+:} false; then : 3059 $as_echo_n "(cached) " >&6 3060 else 3061 ac_save_cxx_werror_flag=$ac_cxx_werror_flag 3062 ac_cxx_werror_flag=yes 3063 ac_cv_prog_cxx_g=no 3064 CXXFLAGS="-g" 3065 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3066 /* end confdefs.h. */ 3067 3068 int 3069 main () 3070 { 3071 3072 ; 3073 return 0; 3074 } 3075 _ACEOF 3076 if ac_fn_cxx_try_compile "$LINENO"; then : 3077 ac_cv_prog_cxx_g=yes 3078 else 3079 CXXFLAGS="" 3080 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3081 /* end confdefs.h. */ 3082 3083 int 3084 main () 3085 { 3086 3087 ; 3088 return 0; 3089 } 3090 _ACEOF 3091 if ac_fn_cxx_try_compile "$LINENO"; then : 3092 3093 else 3094 ac_cxx_werror_flag=$ac_save_cxx_werror_flag 3095 CXXFLAGS="-g" 3096 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3097 /* end confdefs.h. */ 3098 3099 int 3100 main () 3101 { 3102 3103 ; 3104 return 0; 3105 } 3106 _ACEOF 3107 if ac_fn_cxx_try_compile "$LINENO"; then : 3108 ac_cv_prog_cxx_g=yes 3109 fi 3110 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3111 fi 3112 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3113 fi 3114 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3115 ac_cxx_werror_flag=$ac_save_cxx_werror_flag 3116 fi 3117 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 3118 $as_echo "$ac_cv_prog_cxx_g" >&6; } 3119 if test "$ac_test_CXXFLAGS" = set; then 3120 CXXFLAGS=$ac_save_CXXFLAGS 3121 elif test $ac_cv_prog_cxx_g = yes; then 3122 if test "$GXX" = yes; then 3123 CXXFLAGS="-g -O2" 3124 else 3125 CXXFLAGS="-g" 3126 fi 3127 else 3128 if test "$GXX" = yes; then 3129 CXXFLAGS="-O2" 3130 else 3131 CXXFLAGS= 3132 fi 3133 fi 3134 ac_ext=c 3135 ac_cpp='$CPP $CPPFLAGS' 3136 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 3137 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3138 ac_compiler_gnu=$ac_cv_c_compiler_gnu 3139 DEPDIR="${am__leading_dot}deps" 3140 3141 ac_config_commands="$ac_config_commands depfiles" 3142 3143 3144 am_make=${MAKE-make} 3145 cat > confinc << 'END' 3146 am__doit: 3147 @echo this is the am__doit target 3148 .PHONY: am__doit 3149 END 3150 # If we don't find an include directive, just comment out the code. 3151 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 3152 $as_echo_n "checking for style of include used by $am_make... " >&6; } 3153 am__include="#" 3154 am__quote= 3155 _am_result=none 3156 # First try GNU make style include. 3157 echo "include confinc" > confmf 3158 # Ignore all kinds of additional output from 'make'. 3159 case `$am_make -s -f confmf 2> /dev/null` in #( 3160 *the\ am__doit\ target*) 3161 am__include=include 3162 am__quote= 3163 _am_result=GNU 3164 ;; 3165 esac 3166 # Now try BSD make style include. 3167 if test "$am__include" = "#"; then 3168 echo '.include "confinc"' > confmf 3169 case `$am_make -s -f confmf 2> /dev/null` in #( 3170 *the\ am__doit\ target*) 3171 am__include=.include 3172 am__quote="\"" 3173 _am_result=BSD 3174 ;; 3175 esac 3176 fi 3177 3178 3179 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 3180 $as_echo "$_am_result" >&6; } 3181 rm -f confinc confmf 3182 3183 # Check whether --enable-dependency-tracking was given. 3184 if test "${enable_dependency_tracking+set}" = set; then : 3185 enableval=$enable_dependency_tracking; 3186 fi 3187 3188 if test "x$enable_dependency_tracking" != xno; then 3189 am_depcomp="$ac_aux_dir/depcomp" 3190 AMDEPBACKSLASH='\' 3191 am__nodep='_no' 3192 fi 3193 if test "x$enable_dependency_tracking" != xno; then 3194 AMDEP_TRUE= 3195 AMDEP_FALSE='#' 3196 else 3197 AMDEP_TRUE='#' 3198 AMDEP_FALSE= 3199 fi 3200 3201 3202 3203 depcc="$CXX" am_compiler_list= 3204 3205 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 3206 $as_echo_n "checking dependency style of $depcc... " >&6; } 3207 if ${am_cv_CXX_dependencies_compiler_type+:} false; then : 3208 $as_echo_n "(cached) " >&6 3209 else 3210 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then 3211 # We make a subdir and do the tests there. Otherwise we can end up 3212 # making bogus files that we don't know about and never remove. For 3213 # instance it was reported that on HP-UX the gcc test will end up 3214 # making a dummy file named 'D' -- because '-MD' means "put the output 3215 # in D". 3216 rm -rf conftest.dir 3217 mkdir conftest.dir 3218 # Copy depcomp to subdir because otherwise we won't find it if we're 3219 # using a relative directory. 3220 cp "$am_depcomp" conftest.dir 3221 cd conftest.dir 3222 # We will build objects and dependencies in a subdirectory because 3223 # it helps to detect inapplicable dependency modes. For instance 3224 # both Tru64's cc and ICC support -MD to output dependencies as a 3225 # side effect of compilation, but ICC will put the dependencies in 3226 # the current directory while Tru64 will put them in the object 3227 # directory. 3228 mkdir sub 3229 3230 am_cv_CXX_dependencies_compiler_type=none 3231 if test "$am_compiler_list" = ""; then 3232 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` 3233 fi 3234 am__universal=false 3235 case " $depcc " in #( 3236 *\ -arch\ *\ -arch\ *) am__universal=true ;; 3237 esac 3238 3239 for depmode in $am_compiler_list; do 3240 # Setup a source with many dependencies, because some compilers 3241 # like to wrap large dependency lists on column 80 (with \), and 3242 # we should not choose a depcomp mode which is confused by this. 3243 # 3244 # We need to recreate these files for each test, as the compiler may 3245 # overwrite some of them when testing with obscure command lines. 3246 # This happens at least with the AIX C compiler. 3247 : > sub/conftest.c 3248 for i in 1 2 3 4 5 6; do 3249 echo '#include "conftst'$i'.h"' >> sub/conftest.c 3250 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with 3251 # Solaris 10 /bin/sh. 3252 echo '/* dummy */' > sub/conftst$i.h 3253 done 3254 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 3255 3256 # We check with '-c' and '-o' for the sake of the "dashmstdout" 3257 # mode. It turns out that the SunPro C++ compiler does not properly 3258 # handle '-M -o', and we need to detect this. Also, some Intel 3259 # versions had trouble with output in subdirs. 3260 am__obj=sub/conftest.${OBJEXT-o} 3261 am__minus_obj="-o $am__obj" 3262 case $depmode in 3263 gcc) 3264 # This depmode causes a compiler race in universal mode. 3265 test "$am__universal" = false || continue 3266 ;; 3267 nosideeffect) 3268 # After this tag, mechanisms are not by side-effect, so they'll 3269 # only be used when explicitly requested. 3270 if test "x$enable_dependency_tracking" = xyes; then 3271 continue 3272 else 3273 break 3274 fi 3275 ;; 3276 msvc7 | msvc7msys | msvisualcpp | msvcmsys) 3277 # This compiler won't grok '-c -o', but also, the minuso test has 3278 # not run yet. These depmodes are late enough in the game, and 3279 # so weak that their functioning should not be impacted. 3280 am__obj=conftest.${OBJEXT-o} 3281 am__minus_obj= 3282 ;; 3283 none) break ;; 3284 esac 3285 if depmode=$depmode \ 3286 source=sub/conftest.c object=$am__obj \ 3287 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ 3288 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ 3289 >/dev/null 2>conftest.err && 3290 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && 3291 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && 3292 grep $am__obj sub/conftest.Po > /dev/null 2>&1 && 3293 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 3294 # icc doesn't choke on unknown options, it will just issue warnings 3295 # or remarks (even with -Werror). So we grep stderr for any message 3296 # that says an option was ignored or not supported. 3297 # When given -MP, icc 7.0 and 7.1 complain thusly: 3298 # icc: Command line warning: ignoring option '-M'; no argument required 3299 # The diagnosis changed in icc 8.0: 3300 # icc: Command line remark: option '-MP' not supported 3301 if (grep 'ignoring option' conftest.err || 3302 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 3303 am_cv_CXX_dependencies_compiler_type=$depmode 3304 break 3305 fi 3306 fi 3307 done 3308 3309 cd .. 3310 rm -rf conftest.dir 3311 else 3312 am_cv_CXX_dependencies_compiler_type=none 3313 fi 3314 3315 fi 3316 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 3317 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } 3318 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type 3319 3320 if 3321 test "x$enable_dependency_tracking" != xno \ 3322 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then 3323 am__fastdepCXX_TRUE= 3324 am__fastdepCXX_FALSE='#' 3325 else 3326 am__fastdepCXX_TRUE='#' 3327 am__fastdepCXX_FALSE= 3328 fi 3329 3330 3331 ac_ext=c 3332 ac_cpp='$CPP $CPPFLAGS' 3333 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 3334 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3335 ac_compiler_gnu=$ac_cv_c_compiler_gnu 3336 if test -n "$ac_tool_prefix"; then 3337 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. 3338 set dummy ${ac_tool_prefix}gcc; ac_word=$2 3339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3340 $as_echo_n "checking for $ac_word... " >&6; } 3341 if ${ac_cv_prog_CC+:} false; then : 3342 $as_echo_n "(cached) " >&6 3343 else 3344 if test -n "$CC"; then 3345 ac_cv_prog_CC="$CC" # Let the user override the test. 3346 else 3347 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3348 for as_dir in $PATH 3349 do 3350 IFS=$as_save_IFS 3351 test -z "$as_dir" && as_dir=. 3352 for ac_exec_ext in '' $ac_executable_extensions; do 3353 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3354 ac_cv_prog_CC="${ac_tool_prefix}gcc" 3355 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3356 break 2 3357 fi 3358 done 3359 done 3360 IFS=$as_save_IFS 3361 3362 fi 3363 fi 3364 CC=$ac_cv_prog_CC 3365 if test -n "$CC"; then 3366 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3367 $as_echo "$CC" >&6; } 3368 else 3369 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3370 $as_echo "no" >&6; } 3371 fi 3372 3373 3374 fi 3375 if test -z "$ac_cv_prog_CC"; then 3376 ac_ct_CC=$CC 3377 # Extract the first word of "gcc", so it can be a program name with args. 3378 set dummy gcc; ac_word=$2 3379 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3380 $as_echo_n "checking for $ac_word... " >&6; } 3381 if ${ac_cv_prog_ac_ct_CC+:} false; then : 3382 $as_echo_n "(cached) " >&6 3383 else 3384 if test -n "$ac_ct_CC"; then 3385 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. 3386 else 3387 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3388 for as_dir in $PATH 3389 do 3390 IFS=$as_save_IFS 3391 test -z "$as_dir" && as_dir=. 3392 for ac_exec_ext in '' $ac_executable_extensions; do 3393 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3394 ac_cv_prog_ac_ct_CC="gcc" 3395 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3396 break 2 3397 fi 3398 done 3399 done 3400 IFS=$as_save_IFS 3401 3402 fi 3403 fi 3404 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3405 if test -n "$ac_ct_CC"; then 3406 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 3407 $as_echo "$ac_ct_CC" >&6; } 3408 else 3409 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3410 $as_echo "no" >&6; } 3411 fi 3412 3413 if test "x$ac_ct_CC" = x; then 3414 CC="" 3415 else 3416 case $cross_compiling:$ac_tool_warned in 3417 yes:) 3418 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 3419 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 3420 ac_tool_warned=yes ;; 3421 esac 3422 CC=$ac_ct_CC 3423 fi 3424 else 3425 CC="$ac_cv_prog_CC" 3426 fi 3427 3428 if test -z "$CC"; then 3429 if test -n "$ac_tool_prefix"; then 3430 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. 3431 set dummy ${ac_tool_prefix}cc; ac_word=$2 3432 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3433 $as_echo_n "checking for $ac_word... " >&6; } 3434 if ${ac_cv_prog_CC+:} false; then : 3435 $as_echo_n "(cached) " >&6 3436 else 3437 if test -n "$CC"; then 3438 ac_cv_prog_CC="$CC" # Let the user override the test. 3439 else 3440 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3441 for as_dir in $PATH 3442 do 3443 IFS=$as_save_IFS 3444 test -z "$as_dir" && as_dir=. 3445 for ac_exec_ext in '' $ac_executable_extensions; do 3446 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3447 ac_cv_prog_CC="${ac_tool_prefix}cc" 3448 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3449 break 2 3450 fi 3451 done 3452 done 3453 IFS=$as_save_IFS 3454 3455 fi 3456 fi 3457 CC=$ac_cv_prog_CC 3458 if test -n "$CC"; then 3459 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3460 $as_echo "$CC" >&6; } 3461 else 3462 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3463 $as_echo "no" >&6; } 3464 fi 3465 3466 3467 fi 3468 fi 3469 if test -z "$CC"; then 3470 # Extract the first word of "cc", so it can be a program name with args. 3471 set dummy cc; ac_word=$2 3472 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3473 $as_echo_n "checking for $ac_word... " >&6; } 3474 if ${ac_cv_prog_CC+:} false; then : 3475 $as_echo_n "(cached) " >&6 3476 else 3477 if test -n "$CC"; then 3478 ac_cv_prog_CC="$CC" # Let the user override the test. 3479 else 3480 ac_prog_rejected=no 3481 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3482 for as_dir in $PATH 3483 do 3484 IFS=$as_save_IFS 3485 test -z "$as_dir" && as_dir=. 3486 for ac_exec_ext in '' $ac_executable_extensions; do 3487 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3488 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then 3489 ac_prog_rejected=yes 3490 continue 3491 fi 3492 ac_cv_prog_CC="cc" 3493 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3494 break 2 3495 fi 3496 done 3497 done 3498 IFS=$as_save_IFS 3499 3500 if test $ac_prog_rejected = yes; then 3501 # We found a bogon in the path, so make sure we never use it. 3502 set dummy $ac_cv_prog_CC 3503 shift 3504 if test $# != 0; then 3505 # We chose a different compiler from the bogus one. 3506 # However, it has the same basename, so the bogon will be chosen 3507 # first if we set CC to just the basename; use the full file name. 3508 shift 3509 ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" 3510 fi 3511 fi 3512 fi 3513 fi 3514 CC=$ac_cv_prog_CC 3515 if test -n "$CC"; then 3516 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3517 $as_echo "$CC" >&6; } 3518 else 3519 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3520 $as_echo "no" >&6; } 3521 fi 3522 3523 3524 fi 3525 if test -z "$CC"; then 3526 if test -n "$ac_tool_prefix"; then 3527 for ac_prog in cl.exe 3528 do 3529 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. 3530 set dummy $ac_tool_prefix$ac_prog; ac_word=$2 3531 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3532 $as_echo_n "checking for $ac_word... " >&6; } 3533 if ${ac_cv_prog_CC+:} false; then : 3534 $as_echo_n "(cached) " >&6 3535 else 3536 if test -n "$CC"; then 3537 ac_cv_prog_CC="$CC" # Let the user override the test. 3538 else 3539 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3540 for as_dir in $PATH 3541 do 3542 IFS=$as_save_IFS 3543 test -z "$as_dir" && as_dir=. 3544 for ac_exec_ext in '' $ac_executable_extensions; do 3545 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3546 ac_cv_prog_CC="$ac_tool_prefix$ac_prog" 3547 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3548 break 2 3549 fi 3550 done 3551 done 3552 IFS=$as_save_IFS 3553 3554 fi 3555 fi 3556 CC=$ac_cv_prog_CC 3557 if test -n "$CC"; then 3558 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3559 $as_echo "$CC" >&6; } 3560 else 3561 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3562 $as_echo "no" >&6; } 3563 fi 3564 3565 3566 test -n "$CC" && break 3567 done 3568 fi 3569 if test -z "$CC"; then 3570 ac_ct_CC=$CC 3571 for ac_prog in cl.exe 3572 do 3573 # Extract the first word of "$ac_prog", so it can be a program name with args. 3574 set dummy $ac_prog; ac_word=$2 3575 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 3576 $as_echo_n "checking for $ac_word... " >&6; } 3577 if ${ac_cv_prog_ac_ct_CC+:} false; then : 3578 $as_echo_n "(cached) " >&6 3579 else 3580 if test -n "$ac_ct_CC"; then 3581 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. 3582 else 3583 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3584 for as_dir in $PATH 3585 do 3586 IFS=$as_save_IFS 3587 test -z "$as_dir" && as_dir=. 3588 for ac_exec_ext in '' $ac_executable_extensions; do 3589 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 3590 ac_cv_prog_ac_ct_CC="$ac_prog" 3591 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 3592 break 2 3593 fi 3594 done 3595 done 3596 IFS=$as_save_IFS 3597 3598 fi 3599 fi 3600 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3601 if test -n "$ac_ct_CC"; then 3602 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 3603 $as_echo "$ac_ct_CC" >&6; } 3604 else 3605 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3606 $as_echo "no" >&6; } 3607 fi 3608 3609 3610 test -n "$ac_ct_CC" && break 3611 done 3612 3613 if test "x$ac_ct_CC" = x; then 3614 CC="" 3615 else 3616 case $cross_compiling:$ac_tool_warned in 3617 yes:) 3618 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 3619 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 3620 ac_tool_warned=yes ;; 3621 esac 3622 CC=$ac_ct_CC 3623 fi 3624 fi 3625 3626 fi 3627 3628 3629 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3630 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3631 as_fn_error $? "no acceptable C compiler found in \$PATH 3632 See \`config.log' for more details" "$LINENO" 5; } 3633 3634 # Provide some information about the compiler. 3635 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 3636 set X $ac_compile 3637 ac_compiler=$2 3638 for ac_option in --version -v -V -qversion; do 3639 { { ac_try="$ac_compiler $ac_option >&5" 3640 case "(($ac_try" in 3641 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 3642 *) ac_try_echo=$ac_try;; 3643 esac 3644 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 3645 $as_echo "$ac_try_echo"; } >&5 3646 (eval "$ac_compiler $ac_option >&5") 2>conftest.err 3647 ac_status=$? 3648 if test -s conftest.err; then 3649 sed '10a\ 3650 ... rest of stderr output deleted ... 3651 10q' conftest.err >conftest.er1 3652 cat conftest.er1 >&5 3653 fi 3654 rm -f conftest.er1 conftest.err 3655 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 3656 test $ac_status = 0; } 3657 done 3658 3884 3659 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 3885 3660 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } … … 4280 4055 4281 4056 4282 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&54283 $as_echo_n "checking for a sed that does not truncate output... " >&6; }4284 if ${ac_cv_path_SED+:} false; then :4285 $as_echo_n "(cached) " >&64286 else4287 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/4288 for ac_i in 1 2 3 4 5 6 7; do4289 ac_script="$ac_script$as_nl$ac_script"4290 done4291 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed4292 { ac_script=; unset ac_script;}4293 if test -z "$SED"; then4294 ac_path_SED_found=false4295 # Loop through the user's path and test for each of PROGNAME-LIST4296 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4297 for as_dir in $PATH4298 do4299 IFS=$as_save_IFS4300 test -z "$as_dir" && as_dir=.4301 for ac_prog in sed gsed; do4302 for ac_exec_ext in '' $ac_executable_extensions; do4303 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"4304 as_fn_executable_p "$ac_path_SED" || continue4305 # Check for GNU ac_path_SED and select it if it is found.4306 # Check for GNU $ac_path_SED4307 case `"$ac_path_SED" --version 2>&1` in4308 *GNU*)4309 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;4310 *)4311 ac_count=04312 $as_echo_n 0123456789 >"conftest.in"4313 while :4314 do4315 cat "conftest.in" "conftest.in" >"conftest.tmp"4316 mv "conftest.tmp" "conftest.in"4317 cp "conftest.in" "conftest.nl"4318 $as_echo '' >> "conftest.nl"4319 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break4320 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break4321 as_fn_arith $ac_count + 1 && ac_count=$as_val4322 if test $ac_count -gt ${ac_path_SED_max-0}; then4323 # Best one so far, save it but keep looking for a better one4324 ac_cv_path_SED="$ac_path_SED"4325 ac_path_SED_max=$ac_count4326 fi4327 # 10*(2^10) chars as input seems more than enough4328 test $ac_count -gt 10 && break4329 done4330 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;4331 esac4332 4333 $ac_path_SED_found && break 34334 done4335 done4336 done4337 IFS=$as_save_IFS4338 if test -z "$ac_cv_path_SED"; then4339 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 54340 fi4341 else4342 ac_cv_path_SED=$SED4343 fi4344 4345 fi4346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&54347 $as_echo "$ac_cv_path_SED" >&6; }4348 SED="$ac_cv_path_SED"4349 rm -f conftest.sed4350 4351 test -z "$SED" && SED=sed4352 Xsed="$SED -e 1s/^X//"4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&54365 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }4366 if ${ac_cv_path_GREP+:} false; then :4367 $as_echo_n "(cached) " >&64368 else4369 if test -z "$GREP"; then4370 ac_path_GREP_found=false4371 # Loop through the user's path and test for each of PROGNAME-LIST4372 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4373 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin4374 do4375 IFS=$as_save_IFS4376 test -z "$as_dir" && as_dir=.4377 for ac_prog in grep ggrep; do4378 for ac_exec_ext in '' $ac_executable_extensions; do4379 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"4380 as_fn_executable_p "$ac_path_GREP" || continue4381 # Check for GNU ac_path_GREP and select it if it is found.4382 # Check for GNU $ac_path_GREP4383 case `"$ac_path_GREP" --version 2>&1` in4384 *GNU*)4385 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;4386 *)4387 ac_count=04388 $as_echo_n 0123456789 >"conftest.in"4389 while :4390 do4391 cat "conftest.in" "conftest.in" >"conftest.tmp"4392 mv "conftest.tmp" "conftest.in"4393 cp "conftest.in" "conftest.nl"4394 $as_echo 'GREP' >> "conftest.nl"4395 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break4396 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break4397 as_fn_arith $ac_count + 1 && ac_count=$as_val4398 if test $ac_count -gt ${ac_path_GREP_max-0}; then4399 # Best one so far, save it but keep looking for a better one4400 ac_cv_path_GREP="$ac_path_GREP"4401 ac_path_GREP_max=$ac_count4402 fi4403 # 10*(2^10) chars as input seems more than enough4404 test $ac_count -gt 10 && break4405 done4406 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;4407 esac4408 4409 $ac_path_GREP_found && break 34410 done4411 done4412 done4413 IFS=$as_save_IFS4414 if test -z "$ac_cv_path_GREP"; then4415 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 54416 fi4417 else4418 ac_cv_path_GREP=$GREP4419 fi4420 4421 fi4422 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&54423 $as_echo "$ac_cv_path_GREP" >&6; }4424 GREP="$ac_cv_path_GREP"4425 4426 4427 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&54428 $as_echo_n "checking for egrep... " >&6; }4429 if ${ac_cv_path_EGREP+:} false; then :4430 $as_echo_n "(cached) " >&64431 else4432 if echo a | $GREP -E '(a|b)' >/dev/null 2>&14433 then ac_cv_path_EGREP="$GREP -E"4434 else4435 if test -z "$EGREP"; then4436 ac_path_EGREP_found=false4437 # Loop through the user's path and test for each of PROGNAME-LIST4438 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4439 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin4440 do4441 IFS=$as_save_IFS4442 test -z "$as_dir" && as_dir=.4443 for ac_prog in egrep; do4444 for ac_exec_ext in '' $ac_executable_extensions; do4445 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"4446 as_fn_executable_p "$ac_path_EGREP" || continue4447 # Check for GNU ac_path_EGREP and select it if it is found.4448 # Check for GNU $ac_path_EGREP4449 case `"$ac_path_EGREP" --version 2>&1` in4450 *GNU*)4451 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;4452 *)4453 ac_count=04454 $as_echo_n 0123456789 >"conftest.in"4455 while :4456 do4457 cat "conftest.in" "conftest.in" >"conftest.tmp"4458 mv "conftest.tmp" "conftest.in"4459 cp "conftest.in" "conftest.nl"4460 $as_echo 'EGREP' >> "conftest.nl"4461 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break4462 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break4463 as_fn_arith $ac_count + 1 && ac_count=$as_val4464 if test $ac_count -gt ${ac_path_EGREP_max-0}; then4465 # Best one so far, save it but keep looking for a better one4466 ac_cv_path_EGREP="$ac_path_EGREP"4467 ac_path_EGREP_max=$ac_count4468 fi4469 # 10*(2^10) chars as input seems more than enough4470 test $ac_count -gt 10 && break4471 done4472 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;4473 esac4474 4475 $ac_path_EGREP_found && break 34476 done4477 done4478 done4479 IFS=$as_save_IFS4480 if test -z "$ac_cv_path_EGREP"; then4481 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 54482 fi4483 else4484 ac_cv_path_EGREP=$EGREP4485 fi4486 4487 fi4488 fi4489 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&54490 $as_echo "$ac_cv_path_EGREP" >&6; }4491 EGREP="$ac_cv_path_EGREP"4492 4493 4494 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&54495 $as_echo_n "checking for fgrep... " >&6; }4496 if ${ac_cv_path_FGREP+:} false; then :4497 $as_echo_n "(cached) " >&64498 else4499 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&14500 then ac_cv_path_FGREP="$GREP -F"4501 else4502 if test -z "$FGREP"; then4503 ac_path_FGREP_found=false4504 # Loop through the user's path and test for each of PROGNAME-LIST4505 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4506 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin4507 do4508 IFS=$as_save_IFS4509 test -z "$as_dir" && as_dir=.4510 for ac_prog in fgrep; do4511 for ac_exec_ext in '' $ac_executable_extensions; do4512 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"4513 as_fn_executable_p "$ac_path_FGREP" || continue4514 # Check for GNU ac_path_FGREP and select it if it is found.4515 # Check for GNU $ac_path_FGREP4516 case `"$ac_path_FGREP" --version 2>&1` in4517 *GNU*)4518 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;4519 *)4520 ac_count=04521 $as_echo_n 0123456789 >"conftest.in"4522 while :4523 do4524 cat "conftest.in" "conftest.in" >"conftest.tmp"4525 mv "conftest.tmp" "conftest.in"4526 cp "conftest.in" "conftest.nl"4527 $as_echo 'FGREP' >> "conftest.nl"4528 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break4529 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break4530 as_fn_arith $ac_count + 1 && ac_count=$as_val4531 if test $ac_count -gt ${ac_path_FGREP_max-0}; then4532 # Best one so far, save it but keep looking for a better one4533 ac_cv_path_FGREP="$ac_path_FGREP"4534 ac_path_FGREP_max=$ac_count4535 fi4536 # 10*(2^10) chars as input seems more than enough4537 test $ac_count -gt 10 && break4538 done4539 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;4540 esac4541 4542 $ac_path_FGREP_found && break 34543 done4544 done4545 done4546 IFS=$as_save_IFS4547 if test -z "$ac_cv_path_FGREP"; then4548 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 54549 fi4550 else4551 ac_cv_path_FGREP=$FGREP4552 fi4553 4554 fi4555 fi4556 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&54557 $as_echo "$ac_cv_path_FGREP" >&6; }4558 FGREP="$ac_cv_path_FGREP"4559 4560 4561 test -z "$GREP" && GREP=grep4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 # Check whether --with-gnu-ld was given.4582 if test "${with_gnu_ld+set}" = set; then :4583 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes4584 else4585 with_gnu_ld=no4586 fi4587 4588 ac_prog=ld4589 if test yes = "$GCC"; then4590 # Check if gcc -print-prog-name=ld gives a path.4591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&54592 $as_echo_n "checking for ld used by $CC... " >&6; }4593 case $host in4594 *-*-mingw*)4595 # gcc leaves a trailing carriage return, which upsets mingw4596 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;4597 *)4598 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;4599 esac4600 case $ac_prog in4601 # Accept absolute paths.4602 [\\/]* | ?:[\\/]*)4603 re_direlt='/[^/][^/]*/\.\./'4604 # Canonicalize the pathname of ld4605 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`4606 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do4607 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`4608 done4609 test -z "$LD" && LD=$ac_prog4610 ;;4611 "")4612 # If it fails, then pretend we aren't using GCC.4613 ac_prog=ld4614 ;;4615 *)4616 # If it is relative, then search for the first ld in PATH.4617 with_gnu_ld=unknown4618 ;;4619 esac4620 elif test yes = "$with_gnu_ld"; then4621 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&54622 $as_echo_n "checking for GNU ld... " >&6; }4623 else4624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&54625 $as_echo_n "checking for non-GNU ld... " >&6; }4626 fi4627 if ${lt_cv_path_LD+:} false; then :4628 $as_echo_n "(cached) " >&64629 else4630 if test -z "$LD"; then4631 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR4632 for ac_dir in $PATH; do4633 IFS=$lt_save_ifs4634 test -z "$ac_dir" && ac_dir=.4635 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then4636 lt_cv_path_LD=$ac_dir/$ac_prog4637 # Check to see if the program is GNU ld. I'd rather use --version,4638 # but apparently some variants of GNU ld only accept -v.4639 # Break only if it was the GNU/non-GNU ld that we prefer.4640 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in4641 *GNU* | *'with BFD'*)4642 test no != "$with_gnu_ld" && break4643 ;;4644 *)4645 test yes != "$with_gnu_ld" && break4646 ;;4647 esac4648 fi4649 done4650 IFS=$lt_save_ifs4651 else4652 lt_cv_path_LD=$LD # Let the user override the test with a path.4653 fi4654 fi4655 4656 LD=$lt_cv_path_LD4657 if test -n "$LD"; then4658 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&54659 $as_echo "$LD" >&6; }4660 else4661 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54662 $as_echo "no" >&6; }4663 fi4664 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 54665 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&54666 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }4667 if ${lt_cv_prog_gnu_ld+:} false; then :4668 $as_echo_n "(cached) " >&64669 else4670 # I'd rather use --version here, but apparently some GNU lds only accept -v.4671 case `$LD -v 2>&1 </dev/null` in4672 *GNU* | *'with BFD'*)4673 lt_cv_prog_gnu_ld=yes4674 ;;4675 *)4676 lt_cv_prog_gnu_ld=no4677 ;;4678 esac4679 fi4680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&54681 $as_echo "$lt_cv_prog_gnu_ld" >&6; }4682 with_gnu_ld=$lt_cv_prog_gnu_ld4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&54693 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }4694 if ${lt_cv_path_NM+:} false; then :4695 $as_echo_n "(cached) " >&64696 else4697 if test -n "$NM"; then4698 # Let the user override the test.4699 lt_cv_path_NM=$NM4700 else4701 lt_nm_to_check=${ac_tool_prefix}nm4702 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then4703 lt_nm_to_check="$lt_nm_to_check nm"4704 fi4705 for lt_tmp_nm in $lt_nm_to_check; do4706 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR4707 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do4708 IFS=$lt_save_ifs4709 test -z "$ac_dir" && ac_dir=.4710 tmp_nm=$ac_dir/$lt_tmp_nm4711 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then4712 # Check to see if the nm accepts a BSD-compat flag.4713 # Adding the 'sed 1q' prevents false positives on HP-UX, which says:4714 # nm: unknown option "B" ignored4715 # Tru64's nm complains that /dev/null is an invalid object file4716 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty4717 case $build_os in4718 mingw*) lt_bad_file=conftest.nm/nofile ;;4719 *) lt_bad_file=/dev/null ;;4720 esac4721 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in4722 *$lt_bad_file* | *'Invalid file or object type'*)4723 lt_cv_path_NM="$tmp_nm -B"4724 break 24725 ;;4726 *)4727 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in4728 */dev/null*)4729 lt_cv_path_NM="$tmp_nm -p"4730 break 24731 ;;4732 *)4733 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but4734 continue # so that we can try to find one that supports BSD flags4735 ;;4736 esac4737 ;;4738 esac4739 fi4740 done4741 IFS=$lt_save_ifs4742 done4743 : ${lt_cv_path_NM=no}4744 fi4745 fi4746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&54747 $as_echo "$lt_cv_path_NM" >&6; }4748 if test no != "$lt_cv_path_NM"; then4749 NM=$lt_cv_path_NM4750 else4751 # Didn't find any BSD compatible name lister, look for dumpbin.4752 if test -n "$DUMPBIN"; then :4753 # Let the user override the test.4754 else4755 if test -n "$ac_tool_prefix"; then4756 for ac_prog in dumpbin "link -dump"4757 do4758 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.4759 set dummy $ac_tool_prefix$ac_prog; ac_word=$24760 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54761 $as_echo_n "checking for $ac_word... " >&6; }4762 if ${ac_cv_prog_DUMPBIN+:} false; then :4763 $as_echo_n "(cached) " >&64764 else4765 if test -n "$DUMPBIN"; then4766 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.4767 else4768 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4769 for as_dir in $PATH4770 do4771 IFS=$as_save_IFS4772 test -z "$as_dir" && as_dir=.4773 for ac_exec_ext in '' $ac_executable_extensions; do4774 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4775 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"4776 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54777 break 24778 fi4779 done4780 done4781 IFS=$as_save_IFS4782 4783 fi4784 fi4785 DUMPBIN=$ac_cv_prog_DUMPBIN4786 if test -n "$DUMPBIN"; then4787 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&54788 $as_echo "$DUMPBIN" >&6; }4789 else4790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54791 $as_echo "no" >&6; }4792 fi4793 4794 4795 test -n "$DUMPBIN" && break4796 done4797 fi4798 if test -z "$DUMPBIN"; then4799 ac_ct_DUMPBIN=$DUMPBIN4800 for ac_prog in dumpbin "link -dump"4801 do4802 # Extract the first word of "$ac_prog", so it can be a program name with args.4803 set dummy $ac_prog; ac_word=$24804 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54805 $as_echo_n "checking for $ac_word... " >&6; }4806 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :4807 $as_echo_n "(cached) " >&64808 else4809 if test -n "$ac_ct_DUMPBIN"; then4810 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.4811 else4812 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4813 for as_dir in $PATH4814 do4815 IFS=$as_save_IFS4816 test -z "$as_dir" && as_dir=.4817 for ac_exec_ext in '' $ac_executable_extensions; do4818 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4819 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"4820 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54821 break 24822 fi4823 done4824 done4825 IFS=$as_save_IFS4826 4827 fi4828 fi4829 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN4830 if test -n "$ac_ct_DUMPBIN"; then4831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&54832 $as_echo "$ac_ct_DUMPBIN" >&6; }4833 else4834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54835 $as_echo "no" >&6; }4836 fi4837 4838 4839 test -n "$ac_ct_DUMPBIN" && break4840 done4841 4842 if test "x$ac_ct_DUMPBIN" = x; then4843 DUMPBIN=":"4844 else4845 case $cross_compiling:$ac_tool_warned in4846 yes:)4847 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&54848 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}4849 ac_tool_warned=yes ;;4850 esac4851 DUMPBIN=$ac_ct_DUMPBIN4852 fi4853 fi4854 4855 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in4856 *COFF*)4857 DUMPBIN="$DUMPBIN -symbols -headers"4858 ;;4859 *)4860 DUMPBIN=:4861 ;;4862 esac4863 fi4864 4865 if test : != "$DUMPBIN"; then4866 NM=$DUMPBIN4867 fi4868 fi4869 test -z "$NM" && NM=nm4870 4871 4872 4873 4874 4875 4876 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&54877 $as_echo_n "checking the name lister ($NM) interface... " >&6; }4878 if ${lt_cv_nm_interface+:} false; then :4879 $as_echo_n "(cached) " >&64880 else4881 lt_cv_nm_interface="BSD nm"4882 echo "int some_variable = 0;" > conftest.$ac_ext4883 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)4884 (eval "$ac_compile" 2>conftest.err)4885 cat conftest.err >&54886 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)4887 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)4888 cat conftest.err >&54889 (eval echo "\"\$as_me:$LINENO: output\"" >&5)4890 cat conftest.out >&54891 if $GREP 'External.*some_variable' conftest.out > /dev/null; then4892 lt_cv_nm_interface="MS dumpbin"4893 fi4894 rm -f conftest*4895 fi4896 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&54897 $as_echo "$lt_cv_nm_interface" >&6; }4898 4899 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&54900 $as_echo_n "checking whether ln -s works... " >&6; }4901 LN_S=$as_ln_s4902 if test "$LN_S" = "ln -s"; then4903 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&54904 $as_echo "yes" >&6; }4905 else4906 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&54907 $as_echo "no, using $LN_S" >&6; }4908 fi4909 4910 # find the maximum length of command line arguments4911 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&54912 $as_echo_n "checking the maximum length of command line arguments... " >&6; }4913 if ${lt_cv_sys_max_cmd_len+:} false; then :4914 $as_echo_n "(cached) " >&64915 else4916 i=04917 teststring=ABCD4918 4919 case $build_os in4920 msdosdjgpp*)4921 # On DJGPP, this test can blow up pretty badly due to problems in libc4922 # (any single argument exceeding 2000 bytes causes a buffer overrun4923 # during glob expansion). Even if it were fixed, the result of this4924 # check would be larger than it should be.4925 lt_cv_sys_max_cmd_len=12288; # 12K is about right4926 ;;4927 4928 gnu*)4929 # Under GNU Hurd, this test is not required because there is4930 # no limit to the length of command line arguments.4931 # Libtool will interpret -1 as no limit whatsoever4932 lt_cv_sys_max_cmd_len=-1;4933 ;;4934 4935 cygwin* | mingw* | cegcc*)4936 # On Win9x/ME, this test blows up -- it succeeds, but takes4937 # about 5 minutes as the teststring grows exponentially.4938 # Worse, since 9x/ME are not pre-emptively multitasking,4939 # you end up with a "frozen" computer, even though with patience4940 # the test eventually succeeds (with a max line length of 256k).4941 # Instead, let's just punt: use the minimum linelength reported by4942 # all of the supported platforms: 8192 (on NT/2K/XP).4943 lt_cv_sys_max_cmd_len=8192;4944 ;;4945 4946 mint*)4947 # On MiNT this can take a long time and run out of memory.4948 lt_cv_sys_max_cmd_len=8192;4949 ;;4950 4951 amigaos*)4952 # On AmigaOS with pdksh, this test takes hours, literally.4953 # So we just punt and use a minimum line length of 8192.4954 lt_cv_sys_max_cmd_len=8192;4955 ;;4956 4957 bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)4958 # This has been around since 386BSD, at least. Likely further.4959 if test -x /sbin/sysctl; then4960 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`4961 elif test -x /usr/sbin/sysctl; then4962 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`4963 else4964 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs4965 fi4966 # And add a safety zone4967 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`4968 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`4969 ;;4970 4971 interix*)4972 # We know the value 262144 and hardcode it with a safety zone (like BSD)4973 lt_cv_sys_max_cmd_len=1966084974 ;;4975 4976 os2*)4977 # The test takes a long time on OS/2.4978 lt_cv_sys_max_cmd_len=81924979 ;;4980 4981 osf*)4982 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure4983 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not4984 # nice to cause kernel panics so lets avoid the loop below.4985 # First set a reasonable default.4986 lt_cv_sys_max_cmd_len=163844987 #4988 if test -x /sbin/sysconfig; then4989 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in4990 *1*) lt_cv_sys_max_cmd_len=-1 ;;4991 esac4992 fi4993 ;;4994 sco3.2v5*)4995 lt_cv_sys_max_cmd_len=1024004996 ;;4997 sysv5* | sco5v6* | sysv4.2uw2*)4998 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`4999 if test -n "$kargmax"; then5000 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`5001 else5002 lt_cv_sys_max_cmd_len=327685003 fi5004 ;;5005 *)5006 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`5007 if test -n "$lt_cv_sys_max_cmd_len" && \5008 test undefined != "$lt_cv_sys_max_cmd_len"; then5009 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`5010 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`5011 else5012 # Make teststring a little bigger before we do anything with it.5013 # a 1K string should be a reasonable start.5014 for i in 1 2 3 4 5 6 7 8; do5015 teststring=$teststring$teststring5016 done5017 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}5018 # If test is not a shell built-in, we'll probably end up computing a5019 # maximum length that is only half of the actual maximum length, but5020 # we can't tell.5021 while { test X`env echo "$teststring$teststring" 2>/dev/null` \5022 = "X$teststring$teststring"; } >/dev/null 2>&1 &&5023 test 17 != "$i" # 1/2 MB should be enough5024 do5025 i=`expr $i + 1`5026 teststring=$teststring$teststring5027 done5028 # Only check the string length outside the loop.5029 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`5030 teststring=5031 # Add a significant safety factor because C++ compilers can tack on5032 # massive amounts of additional arguments before passing them to the5033 # linker. It appears as though 1/2 is a usable value.5034 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`5035 fi5036 ;;5037 esac5038 5039 fi5040 5041 if test -n "$lt_cv_sys_max_cmd_len"; then5042 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&55043 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }5044 else5045 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&55046 $as_echo "none" >&6; }5047 fi5048 max_cmd_len=$lt_cv_sys_max_cmd_len5049 5050 5051 5052 5053 5054 5055 : ${CP="cp -f"}5056 : ${MV="mv -f"}5057 : ${RM="rm -f"}5058 5059 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then5060 lt_unset=unset5061 else5062 lt_unset=false5063 fi5064 5065 5066 5067 5068 5069 # test EBCDIC or ASCII5070 case `echo X|tr X '\101'` in5071 A) # ASCII based system5072 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr5073 lt_SP2NL='tr \040 \012'5074 lt_NL2SP='tr \015\012 \040\040'5075 ;;5076 *) # EBCDIC based system5077 lt_SP2NL='tr \100 \n'5078 lt_NL2SP='tr \r\n \100\100'5079 ;;5080 esac5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&55091 $as_echo_n "checking how to convert $build file names to $host format... " >&6; }5092 if ${lt_cv_to_host_file_cmd+:} false; then :5093 $as_echo_n "(cached) " >&65094 else5095 case $host in5096 *-*-mingw* )5097 case $build in5098 *-*-mingw* ) # actually msys5099 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w325100 ;;5101 *-*-cygwin* )5102 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w325103 ;;5104 * ) # otherwise, assume *nix5105 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w325106 ;;5107 esac5108 ;;5109 *-*-cygwin* )5110 case $build in5111 *-*-mingw* ) # actually msys5112 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin5113 ;;5114 *-*-cygwin* )5115 lt_cv_to_host_file_cmd=func_convert_file_noop5116 ;;5117 * ) # otherwise, assume *nix5118 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin5119 ;;5120 esac5121 ;;5122 * ) # unhandled hosts (and "normal" native builds)5123 lt_cv_to_host_file_cmd=func_convert_file_noop5124 ;;5125 esac5126 5127 fi5128 5129 to_host_file_cmd=$lt_cv_to_host_file_cmd5130 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&55131 $as_echo "$lt_cv_to_host_file_cmd" >&6; }5132 5133 5134 5135 5136 5137 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&55138 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }5139 if ${lt_cv_to_tool_file_cmd+:} false; then :5140 $as_echo_n "(cached) " >&65141 else5142 #assume ordinary cross tools, or native build.5143 lt_cv_to_tool_file_cmd=func_convert_file_noop5144 case $host in5145 *-*-mingw* )5146 case $build in5147 *-*-mingw* ) # actually msys5148 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w325149 ;;5150 esac5151 ;;5152 esac5153 5154 fi5155 5156 to_tool_file_cmd=$lt_cv_to_tool_file_cmd5157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&55158 $as_echo "$lt_cv_to_tool_file_cmd" >&6; }5159 5160 5161 5162 5163 5164 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&55165 $as_echo_n "checking for $LD option to reload object files... " >&6; }5166 if ${lt_cv_ld_reload_flag+:} false; then :5167 $as_echo_n "(cached) " >&65168 else5169 lt_cv_ld_reload_flag='-r'5170 fi5171 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&55172 $as_echo "$lt_cv_ld_reload_flag" >&6; }5173 reload_flag=$lt_cv_ld_reload_flag5174 case $reload_flag in5175 "" | " "*) ;;5176 *) reload_flag=" $reload_flag" ;;5177 esac5178 reload_cmds='$LD$reload_flag -o $output$reload_objs'5179 case $host_os in5180 cygwin* | mingw* | pw32* | cegcc*)5181 if test yes != "$GCC"; then5182 reload_cmds=false5183 fi5184 ;;5185 darwin*)5186 if test yes = "$GCC"; then5187 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'5188 else5189 reload_cmds='$LD$reload_flag -o $output$reload_objs'5190 fi5191 ;;5192 esac5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 if test -n "$ac_tool_prefix"; then5203 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.5204 set dummy ${ac_tool_prefix}objdump; ac_word=$25205 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55206 $as_echo_n "checking for $ac_word... " >&6; }5207 if ${ac_cv_prog_OBJDUMP+:} false; then :5208 $as_echo_n "(cached) " >&65209 else5210 if test -n "$OBJDUMP"; then5211 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.5212 else5213 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5214 for as_dir in $PATH5215 do5216 IFS=$as_save_IFS5217 test -z "$as_dir" && as_dir=.5218 for ac_exec_ext in '' $ac_executable_extensions; do5219 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5220 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"5221 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55222 break 25223 fi5224 done5225 done5226 IFS=$as_save_IFS5227 5228 fi5229 fi5230 OBJDUMP=$ac_cv_prog_OBJDUMP5231 if test -n "$OBJDUMP"; then5232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&55233 $as_echo "$OBJDUMP" >&6; }5234 else5235 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55236 $as_echo "no" >&6; }5237 fi5238 5239 5240 fi5241 if test -z "$ac_cv_prog_OBJDUMP"; then5242 ac_ct_OBJDUMP=$OBJDUMP5243 # Extract the first word of "objdump", so it can be a program name with args.5244 set dummy objdump; ac_word=$25245 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55246 $as_echo_n "checking for $ac_word... " >&6; }5247 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :5248 $as_echo_n "(cached) " >&65249 else5250 if test -n "$ac_ct_OBJDUMP"; then5251 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.5252 else5253 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5254 for as_dir in $PATH5255 do5256 IFS=$as_save_IFS5257 test -z "$as_dir" && as_dir=.5258 for ac_exec_ext in '' $ac_executable_extensions; do5259 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5260 ac_cv_prog_ac_ct_OBJDUMP="objdump"5261 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55262 break 25263 fi5264 done5265 done5266 IFS=$as_save_IFS5267 5268 fi5269 fi5270 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP5271 if test -n "$ac_ct_OBJDUMP"; then5272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&55273 $as_echo "$ac_ct_OBJDUMP" >&6; }5274 else5275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55276 $as_echo "no" >&6; }5277 fi5278 5279 if test "x$ac_ct_OBJDUMP" = x; then5280 OBJDUMP="false"5281 else5282 case $cross_compiling:$ac_tool_warned in5283 yes:)5284 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&55285 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}5286 ac_tool_warned=yes ;;5287 esac5288 OBJDUMP=$ac_ct_OBJDUMP5289 fi5290 else5291 OBJDUMP="$ac_cv_prog_OBJDUMP"5292 fi5293 5294 test -z "$OBJDUMP" && OBJDUMP=objdump5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&55305 $as_echo_n "checking how to recognize dependent libraries... " >&6; }5306 if ${lt_cv_deplibs_check_method+:} false; then :5307 $as_echo_n "(cached) " >&65308 else5309 lt_cv_file_magic_cmd='$MAGIC_CMD'5310 lt_cv_file_magic_test_file=5311 lt_cv_deplibs_check_method='unknown'5312 # Need to set the preceding variable on all platforms that support5313 # interlibrary dependencies.5314 # 'none' -- dependencies not supported.5315 # 'unknown' -- same as none, but documents that we really don't know.5316 # 'pass_all' -- all dependencies passed with no checks.5317 # 'test_compile' -- check by making test program.5318 # 'file_magic [[regex]]' -- check by looking for files in library path5319 # that responds to the $file_magic_cmd with a given extended regex.5320 # If you have 'file' or equivalent on your system and you're not sure5321 # whether 'pass_all' will *always* work, you probably want this one.5322 5323 case $host_os in5324 aix[4-9]*)5325 lt_cv_deplibs_check_method=pass_all5326 ;;5327 5328 beos*)5329 lt_cv_deplibs_check_method=pass_all5330 ;;5331 5332 bsdi[45]*)5333 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'5334 lt_cv_file_magic_cmd='/usr/bin/file -L'5335 lt_cv_file_magic_test_file=/shlib/libc.so5336 ;;5337 5338 cygwin*)5339 # func_win32_libid is a shell function defined in ltmain.sh5340 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'5341 lt_cv_file_magic_cmd='func_win32_libid'5342 ;;5343 5344 mingw* | pw32*)5345 # Base MSYS/MinGW do not provide the 'file' command needed by5346 # func_win32_libid shell function, so use a weaker test based on 'objdump',5347 # unless we find 'file', for example because we are cross-compiling.5348 if ( file / ) >/dev/null 2>&1; then5349 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'5350 lt_cv_file_magic_cmd='func_win32_libid'5351 else5352 # Keep this pattern in sync with the one in func_win32_libid.5353 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'5354 lt_cv_file_magic_cmd='$OBJDUMP -f'5355 fi5356 ;;5357 5358 cegcc*)5359 # use the weaker test based on 'objdump'. See mingw*.5360 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'5361 lt_cv_file_magic_cmd='$OBJDUMP -f'5362 ;;5363 5364 darwin* | rhapsody*)5365 lt_cv_deplibs_check_method=pass_all5366 ;;5367 5368 freebsd* | dragonfly*)5369 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then5370 case $host_cpu in5371 i*86 )5372 # Not sure whether the presence of OpenBSD here was a mistake.5373 # Let's accept both of them until this is cleared up.5374 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'5375 lt_cv_file_magic_cmd=/usr/bin/file5376 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`5377 ;;5378 esac5379 else5380 lt_cv_deplibs_check_method=pass_all5381 fi5382 ;;5383 5384 haiku*)5385 lt_cv_deplibs_check_method=pass_all5386 ;;5387 5388 hpux10.20* | hpux11*)5389 lt_cv_file_magic_cmd=/usr/bin/file5390 case $host_cpu in5391 ia64*)5392 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'5393 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so5394 ;;5395 hppa*64*)5396 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'5397 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl5398 ;;5399 *)5400 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'5401 lt_cv_file_magic_test_file=/usr/lib/libc.sl5402 ;;5403 esac5404 ;;5405 5406 interix[3-9]*)5407 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here5408 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'5409 ;;5410 5411 irix5* | irix6* | nonstopux*)5412 case $LD in5413 *-32|*"-32 ") libmagic=32-bit;;5414 *-n32|*"-n32 ") libmagic=N32;;5415 *-64|*"-64 ") libmagic=64-bit;;5416 *) libmagic=never-match;;5417 esac5418 lt_cv_deplibs_check_method=pass_all5419 ;;5420 5421 # This must be glibc/ELF.5422 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)5423 lt_cv_deplibs_check_method=pass_all5424 ;;5425 5426 netbsd* | netbsdelf*-gnu)5427 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then5428 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'5429 else5430 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'5431 fi5432 ;;5433 5434 newos6*)5435 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'5436 lt_cv_file_magic_cmd=/usr/bin/file5437 lt_cv_file_magic_test_file=/usr/lib/libnls.so5438 ;;5439 5440 *nto* | *qnx*)5441 lt_cv_deplibs_check_method=pass_all5442 ;;5443 5444 openbsd* | bitrig*)5445 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then5446 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'5447 else5448 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'5449 fi5450 ;;5451 5452 osf3* | osf4* | osf5*)5453 lt_cv_deplibs_check_method=pass_all5454 ;;5455 5456 rdos*)5457 lt_cv_deplibs_check_method=pass_all5458 ;;5459 5460 solaris*)5461 lt_cv_deplibs_check_method=pass_all5462 ;;5463 5464 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)5465 lt_cv_deplibs_check_method=pass_all5466 ;;5467 5468 sysv4 | sysv4.3*)5469 case $host_vendor in5470 motorola)5471 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'5472 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`5473 ;;5474 ncr)5475 lt_cv_deplibs_check_method=pass_all5476 ;;5477 sequent)5478 lt_cv_file_magic_cmd='/bin/file'5479 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'5480 ;;5481 sni)5482 lt_cv_file_magic_cmd='/bin/file'5483 lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"5484 lt_cv_file_magic_test_file=/lib/libc.so5485 ;;5486 siemens)5487 lt_cv_deplibs_check_method=pass_all5488 ;;5489 pc)5490 lt_cv_deplibs_check_method=pass_all5491 ;;5492 esac5493 ;;5494 5495 tpf*)5496 lt_cv_deplibs_check_method=pass_all5497 ;;5498 os2*)5499 lt_cv_deplibs_check_method=pass_all5500 ;;5501 esac5502 5503 fi5504 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&55505 $as_echo "$lt_cv_deplibs_check_method" >&6; }5506 5507 file_magic_glob=5508 want_nocaseglob=no5509 if test "$build" = "$host"; then5510 case $host_os in5511 mingw* | pw32*)5512 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then5513 want_nocaseglob=yes5514 else5515 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`5516 fi5517 ;;5518 esac5519 fi5520 5521 file_magic_cmd=$lt_cv_file_magic_cmd5522 deplibs_check_method=$lt_cv_deplibs_check_method5523 test -z "$deplibs_check_method" && deplibs_check_method=unknown5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 if test -n "$ac_tool_prefix"; then5547 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.5548 set dummy ${ac_tool_prefix}dlltool; ac_word=$25549 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55550 $as_echo_n "checking for $ac_word... " >&6; }5551 if ${ac_cv_prog_DLLTOOL+:} false; then :5552 $as_echo_n "(cached) " >&65553 else5554 if test -n "$DLLTOOL"; then5555 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.5556 else5557 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5558 for as_dir in $PATH5559 do5560 IFS=$as_save_IFS5561 test -z "$as_dir" && as_dir=.5562 for ac_exec_ext in '' $ac_executable_extensions; do5563 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5564 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"5565 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55566 break 25567 fi5568 done5569 done5570 IFS=$as_save_IFS5571 5572 fi5573 fi5574 DLLTOOL=$ac_cv_prog_DLLTOOL5575 if test -n "$DLLTOOL"; then5576 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&55577 $as_echo "$DLLTOOL" >&6; }5578 else5579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55580 $as_echo "no" >&6; }5581 fi5582 5583 5584 fi5585 if test -z "$ac_cv_prog_DLLTOOL"; then5586 ac_ct_DLLTOOL=$DLLTOOL5587 # Extract the first word of "dlltool", so it can be a program name with args.5588 set dummy dlltool; ac_word=$25589 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55590 $as_echo_n "checking for $ac_word... " >&6; }5591 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :5592 $as_echo_n "(cached) " >&65593 else5594 if test -n "$ac_ct_DLLTOOL"; then5595 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.5596 else5597 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5598 for as_dir in $PATH5599 do5600 IFS=$as_save_IFS5601 test -z "$as_dir" && as_dir=.5602 for ac_exec_ext in '' $ac_executable_extensions; do5603 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5604 ac_cv_prog_ac_ct_DLLTOOL="dlltool"5605 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55606 break 25607 fi5608 done5609 done5610 IFS=$as_save_IFS5611 5612 fi5613 fi5614 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL5615 if test -n "$ac_ct_DLLTOOL"; then5616 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&55617 $as_echo "$ac_ct_DLLTOOL" >&6; }5618 else5619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55620 $as_echo "no" >&6; }5621 fi5622 5623 if test "x$ac_ct_DLLTOOL" = x; then5624 DLLTOOL="false"5625 else5626 case $cross_compiling:$ac_tool_warned in5627 yes:)5628 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&55629 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}5630 ac_tool_warned=yes ;;5631 esac5632 DLLTOOL=$ac_ct_DLLTOOL5633 fi5634 else5635 DLLTOOL="$ac_cv_prog_DLLTOOL"5636 fi5637 5638 test -z "$DLLTOOL" && DLLTOOL=dlltool5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&55650 $as_echo_n "checking how to associate runtime and link libraries... " >&6; }5651 if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :5652 $as_echo_n "(cached) " >&65653 else5654 lt_cv_sharedlib_from_linklib_cmd='unknown'5655 5656 case $host_os in5657 cygwin* | mingw* | pw32* | cegcc*)5658 # two different shell functions defined in ltmain.sh;5659 # decide which one to use based on capabilities of $DLLTOOL5660 case `$DLLTOOL --help 2>&1` in5661 *--identify-strict*)5662 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib5663 ;;5664 *)5665 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback5666 ;;5667 esac5668 ;;5669 *)5670 # fallback: assume linklib IS sharedlib5671 lt_cv_sharedlib_from_linklib_cmd=$ECHO5672 ;;5673 esac5674 5675 fi5676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&55677 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }5678 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd5679 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO5680 5681 5682 5683 5684 5685 5686 5687 5688 if test -n "$ac_tool_prefix"; then5689 for ac_prog in ar5690 do5691 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.5692 set dummy $ac_tool_prefix$ac_prog; ac_word=$25693 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55694 $as_echo_n "checking for $ac_word... " >&6; }5695 if ${ac_cv_prog_AR+:} false; then :5696 $as_echo_n "(cached) " >&65697 else5698 if test -n "$AR"; then5699 ac_cv_prog_AR="$AR" # Let the user override the test.5700 else5701 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5702 for as_dir in $PATH5703 do5704 IFS=$as_save_IFS5705 test -z "$as_dir" && as_dir=.5706 for ac_exec_ext in '' $ac_executable_extensions; do5707 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5708 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"5709 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55710 break 25711 fi5712 done5713 done5714 IFS=$as_save_IFS5715 5716 fi5717 fi5718 AR=$ac_cv_prog_AR5719 if test -n "$AR"; then5720 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&55721 $as_echo "$AR" >&6; }5722 else5723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55724 $as_echo "no" >&6; }5725 fi5726 5727 5728 test -n "$AR" && break5729 done5730 fi5731 if test -z "$AR"; then5732 ac_ct_AR=$AR5733 for ac_prog in ar5734 do5735 # Extract the first word of "$ac_prog", so it can be a program name with args.5736 set dummy $ac_prog; ac_word=$25737 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55738 $as_echo_n "checking for $ac_word... " >&6; }5739 if ${ac_cv_prog_ac_ct_AR+:} false; then :5740 $as_echo_n "(cached) " >&65741 else5742 if test -n "$ac_ct_AR"; then5743 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.5744 else5745 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5746 for as_dir in $PATH5747 do5748 IFS=$as_save_IFS5749 test -z "$as_dir" && as_dir=.5750 for ac_exec_ext in '' $ac_executable_extensions; do5751 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5752 ac_cv_prog_ac_ct_AR="$ac_prog"5753 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55754 break 25755 fi5756 done5757 done5758 IFS=$as_save_IFS5759 5760 fi5761 fi5762 ac_ct_AR=$ac_cv_prog_ac_ct_AR5763 if test -n "$ac_ct_AR"; then5764 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&55765 $as_echo "$ac_ct_AR" >&6; }5766 else5767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55768 $as_echo "no" >&6; }5769 fi5770 5771 5772 test -n "$ac_ct_AR" && break5773 done5774 5775 if test "x$ac_ct_AR" = x; then5776 AR="false"5777 else5778 case $cross_compiling:$ac_tool_warned in5779 yes:)5780 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&55781 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}5782 ac_tool_warned=yes ;;5783 esac5784 AR=$ac_ct_AR5785 fi5786 fi5787 5788 : ${AR=ar}5789 : ${AR_FLAGS=cru}5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&55802 $as_echo_n "checking for archiver @FILE support... " >&6; }5803 if ${lt_cv_ar_at_file+:} false; then :5804 $as_echo_n "(cached) " >&65805 else5806 lt_cv_ar_at_file=no5807 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5808 /* end confdefs.h. */5809 5810 int5811 main ()5812 {5813 5814 ;5815 return 0;5816 }5817 _ACEOF5818 if ac_fn_c_try_compile "$LINENO"; then :5819 echo conftest.$ac_objext > conftest.lst5820 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'5821 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&55822 (eval $lt_ar_try) 2>&55823 ac_status=$?5824 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&55825 test $ac_status = 0; }5826 if test 0 -eq "$ac_status"; then5827 # Ensure the archiver fails upon bogus file names.5828 rm -f conftest.$ac_objext libconftest.a5829 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&55830 (eval $lt_ar_try) 2>&55831 ac_status=$?5832 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&55833 test $ac_status = 0; }5834 if test 0 -ne "$ac_status"; then5835 lt_cv_ar_at_file=@5836 fi5837 fi5838 rm -f conftest.* libconftest.a5839 5840 fi5841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext5842 5843 fi5844 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&55845 $as_echo "$lt_cv_ar_at_file" >&6; }5846 5847 if test no = "$lt_cv_ar_at_file"; then5848 archiver_list_spec=5849 else5850 archiver_list_spec=$lt_cv_ar_at_file5851 fi5852 5853 5854 5855 5856 5857 5858 5859 if test -n "$ac_tool_prefix"; then5860 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.5861 set dummy ${ac_tool_prefix}strip; ac_word=$25862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55863 $as_echo_n "checking for $ac_word... " >&6; }5864 if ${ac_cv_prog_STRIP+:} false; then :5865 $as_echo_n "(cached) " >&65866 else5867 if test -n "$STRIP"; then5868 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.5869 else5870 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5871 for as_dir in $PATH5872 do5873 IFS=$as_save_IFS5874 test -z "$as_dir" && as_dir=.5875 for ac_exec_ext in '' $ac_executable_extensions; do5876 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5877 ac_cv_prog_STRIP="${ac_tool_prefix}strip"5878 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55879 break 25880 fi5881 done5882 done5883 IFS=$as_save_IFS5884 5885 fi5886 fi5887 STRIP=$ac_cv_prog_STRIP5888 if test -n "$STRIP"; then5889 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&55890 $as_echo "$STRIP" >&6; }5891 else5892 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55893 $as_echo "no" >&6; }5894 fi5895 5896 5897 fi5898 if test -z "$ac_cv_prog_STRIP"; then5899 ac_ct_STRIP=$STRIP5900 # Extract the first word of "strip", so it can be a program name with args.5901 set dummy strip; ac_word=$25902 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55903 $as_echo_n "checking for $ac_word... " >&6; }5904 if ${ac_cv_prog_ac_ct_STRIP+:} false; then :5905 $as_echo_n "(cached) " >&65906 else5907 if test -n "$ac_ct_STRIP"; then5908 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.5909 else5910 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5911 for as_dir in $PATH5912 do5913 IFS=$as_save_IFS5914 test -z "$as_dir" && as_dir=.5915 for ac_exec_ext in '' $ac_executable_extensions; do5916 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5917 ac_cv_prog_ac_ct_STRIP="strip"5918 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55919 break 25920 fi5921 done5922 done5923 IFS=$as_save_IFS5924 5925 fi5926 fi5927 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP5928 if test -n "$ac_ct_STRIP"; then5929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&55930 $as_echo "$ac_ct_STRIP" >&6; }5931 else5932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55933 $as_echo "no" >&6; }5934 fi5935 5936 if test "x$ac_ct_STRIP" = x; then5937 STRIP=":"5938 else5939 case $cross_compiling:$ac_tool_warned in5940 yes:)5941 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&55942 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}5943 ac_tool_warned=yes ;;5944 esac5945 STRIP=$ac_ct_STRIP5946 fi5947 else5948 STRIP="$ac_cv_prog_STRIP"5949 fi5950 5951 test -z "$STRIP" && STRIP=:5952 5953 5954 5955 5956 5957 5958 if test -n "$ac_tool_prefix"; then5959 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.5960 set dummy ${ac_tool_prefix}ranlib; ac_word=$25961 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&55962 $as_echo_n "checking for $ac_word... " >&6; }5963 if ${ac_cv_prog_RANLIB+:} false; then :5964 $as_echo_n "(cached) " >&65965 else5966 if test -n "$RANLIB"; then5967 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.5968 else5969 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR5970 for as_dir in $PATH5971 do5972 IFS=$as_save_IFS5973 test -z "$as_dir" && as_dir=.5974 for ac_exec_ext in '' $ac_executable_extensions; do5975 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then5976 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"5977 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&55978 break 25979 fi5980 done5981 done5982 IFS=$as_save_IFS5983 5984 fi5985 fi5986 RANLIB=$ac_cv_prog_RANLIB5987 if test -n "$RANLIB"; then5988 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&55989 $as_echo "$RANLIB" >&6; }5990 else5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&55992 $as_echo "no" >&6; }5993 fi5994 5995 5996 fi5997 if test -z "$ac_cv_prog_RANLIB"; then5998 ac_ct_RANLIB=$RANLIB5999 # Extract the first word of "ranlib", so it can be a program name with args.6000 set dummy ranlib; ac_word=$26001 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56002 $as_echo_n "checking for $ac_word... " >&6; }6003 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :6004 $as_echo_n "(cached) " >&66005 else6006 if test -n "$ac_ct_RANLIB"; then6007 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.6008 else6009 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6010 for as_dir in $PATH6011 do6012 IFS=$as_save_IFS6013 test -z "$as_dir" && as_dir=.6014 for ac_exec_ext in '' $ac_executable_extensions; do6015 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6016 ac_cv_prog_ac_ct_RANLIB="ranlib"6017 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56018 break 26019 fi6020 done6021 done6022 IFS=$as_save_IFS6023 6024 fi6025 fi6026 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB6027 if test -n "$ac_ct_RANLIB"; then6028 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&56029 $as_echo "$ac_ct_RANLIB" >&6; }6030 else6031 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56032 $as_echo "no" >&6; }6033 fi6034 6035 if test "x$ac_ct_RANLIB" = x; then6036 RANLIB=":"6037 else6038 case $cross_compiling:$ac_tool_warned in6039 yes:)6040 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56041 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6042 ac_tool_warned=yes ;;6043 esac6044 RANLIB=$ac_ct_RANLIB6045 fi6046 else6047 RANLIB="$ac_cv_prog_RANLIB"6048 fi6049 6050 test -z "$RANLIB" && RANLIB=:6051 6052 6053 6054 6055 6056 6057 # Determine commands to create old-style static archives.6058 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'6059 old_postinstall_cmds='chmod 644 $oldlib'6060 old_postuninstall_cmds=6061 6062 if test -n "$RANLIB"; then6063 case $host_os in6064 bitrig* | openbsd*)6065 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"6066 ;;6067 *)6068 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"6069 ;;6070 esac6071 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"6072 fi6073 6074 case $host_os in6075 darwin*)6076 lock_old_archive_extraction=yes ;;6077 *)6078 lock_old_archive_extraction=no ;;6079 esac6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 # If no C compiler was specified, use CC.6120 LTCC=${LTCC-"$CC"}6121 6122 # If no C compiler flags were specified, use CFLAGS.6123 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}6124 6125 # Allow CC to be a program name with arguments.6126 compiler=$CC6127 6128 6129 # Check for command to grab the raw symbol name followed by C symbol from nm.6130 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&56131 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }6132 if ${lt_cv_sys_global_symbol_pipe+:} false; then :6133 $as_echo_n "(cached) " >&66134 else6135 6136 # These are sane defaults that work on at least a few old systems.6137 # [They come from Ultrix. What could be older than Ultrix?!! ;)]6138 6139 # Character class describing NM global symbol codes.6140 symcode='[BCDEGRST]'6141 6142 # Regexp to match symbols that can be accessed directly from C.6143 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'6144 6145 # Define system-specific variables.6146 case $host_os in6147 aix*)6148 symcode='[BCDT]'6149 ;;6150 cygwin* | mingw* | pw32* | cegcc*)6151 symcode='[ABCDGISTW]'6152 ;;6153 hpux*)6154 if test ia64 = "$host_cpu"; then6155 symcode='[ABCDEGRST]'6156 fi6157 ;;6158 irix* | nonstopux*)6159 symcode='[BCDEGRST]'6160 ;;6161 osf*)6162 symcode='[BCDEGQRST]'6163 ;;6164 solaris*)6165 symcode='[BDRT]'6166 ;;6167 sco3.2v5*)6168 symcode='[DT]'6169 ;;6170 sysv4.2uw2*)6171 symcode='[DT]'6172 ;;6173 sysv5* | sco5v6* | unixware* | OpenUNIX*)6174 symcode='[ABDT]'6175 ;;6176 sysv4)6177 symcode='[DFNSTU]'6178 ;;6179 esac6180 6181 # If we're using GNU nm, then use its standard symbol codes.6182 case `$NM -V 2>&1` in6183 *GNU* | *'with BFD'*)6184 symcode='[ABCDGIRSTW]' ;;6185 esac6186 6187 if test "$lt_cv_nm_interface" = "MS dumpbin"; then6188 # Gets list of data symbols to import.6189 lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"6190 # Adjust the below global symbol transforms to fixup imported variables.6191 lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"6192 lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"6193 lt_c_name_lib_hook="\6194 -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\6195 -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"6196 else6197 # Disable hooks by default.6198 lt_cv_sys_global_symbol_to_import=6199 lt_cdecl_hook=6200 lt_c_name_hook=6201 lt_c_name_lib_hook=6202 fi6203 6204 # Transform an extracted symbol line into a proper C declaration.6205 # Some systems (esp. on ia64) link data and code symbols differently,6206 # so use this general approach.6207 lt_cv_sys_global_symbol_to_cdecl="sed -n"\6208 $lt_cdecl_hook\6209 " -e 's/^T .* \(.*\)$/extern int \1();/p'"\6210 " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"6211 6212 # Transform an extracted symbol line into symbol name and symbol address6213 lt_cv_sys_global_symbol_to_c_name_address="sed -n"\6214 $lt_c_name_hook\6215 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\6216 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"6217 6218 # Transform an extracted symbol line into symbol name with lib prefix and6219 # symbol address.6220 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\6221 $lt_c_name_lib_hook\6222 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\6223 " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\6224 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"6225 6226 # Handle CRLF in mingw tool chain6227 opt_cr=6228 case $build_os in6229 mingw*)6230 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp6231 ;;6232 esac6233 6234 # Try without a prefix underscore, then with it.6235 for ac_symprfx in "" "_"; do6236 6237 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.6238 symxfrm="\\1 $ac_symprfx\\2 \\2"6239 6240 # Write the raw and C identifiers.6241 if test "$lt_cv_nm_interface" = "MS dumpbin"; then6242 # Fake it for dumpbin and say T for any non-static function,6243 # D for any global variable and I for any imported variable.6244 # Also find C++ and __fastcall symbols from MSVC++,6245 # which start with @ or ?.6246 lt_cv_sys_global_symbol_pipe="$AWK '"\6247 " {last_section=section; section=\$ 3};"\6248 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\6249 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\6250 " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\6251 " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\6252 " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\6253 " \$ 0!~/External *\|/{next};"\6254 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\6255 " {if(hide[section]) next};"\6256 " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\6257 " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\6258 " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\6259 " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\6260 " ' prfx=^$ac_symprfx"6261 else6262 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"6263 fi6264 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"6265 6266 # Check to see that the pipe works correctly.6267 pipe_works=no6268 6269 rm -f conftest*6270 cat > conftest.$ac_ext <<_LT_EOF6271 #ifdef __cplusplus6272 extern "C" {6273 #endif6274 char nm_test_var;6275 void nm_test_func(void);6276 void nm_test_func(void){}6277 #ifdef __cplusplus6278 }6279 #endif6280 int main(){nm_test_var='a';nm_test_func();return(0);}6281 _LT_EOF6282 6283 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56284 (eval $ac_compile) 2>&56285 ac_status=$?6286 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56287 test $ac_status = 0; }; then6288 # Now try to grab the symbols.6289 nlist=conftest.nm6290 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&56291 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&56292 ac_status=$?6293 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56294 test $ac_status = 0; } && test -s "$nlist"; then6295 # Try sorting and uniquifying the output.6296 if sort "$nlist" | uniq > "$nlist"T; then6297 mv -f "$nlist"T "$nlist"6298 else6299 rm -f "$nlist"T6300 fi6301 6302 # Make sure that we snagged all the symbols we need.6303 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then6304 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then6305 cat <<_LT_EOF > conftest.$ac_ext6306 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */6307 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE6308 /* DATA imports from DLLs on WIN32 can't be const, because runtime6309 relocations are performed -- see ld's documentation on pseudo-relocs. */6310 # define LT_DLSYM_CONST6311 #elif defined __osf__6312 /* This system does not cope well with relocations in const data. */6313 # define LT_DLSYM_CONST6314 #else6315 # define LT_DLSYM_CONST const6316 #endif6317 6318 #ifdef __cplusplus6319 extern "C" {6320 #endif6321 6322 _LT_EOF6323 # Now generate the symbol file.6324 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'6325 6326 cat <<_LT_EOF >> conftest.$ac_ext6327 6328 /* The mapping between symbol names and symbols. */6329 LT_DLSYM_CONST struct {6330 const char *name;6331 void *address;6332 }6333 lt__PROGRAM__LTX_preloaded_symbols[] =6334 {6335 { "@PROGRAM@", (void *) 0 },6336 _LT_EOF6337 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext6338 cat <<\_LT_EOF >> conftest.$ac_ext6339 {0, (void *) 0}6340 };6341 6342 /* This works around a problem in FreeBSD linker */6343 #ifdef FREEBSD_WORKAROUND6344 static const void *lt_preloaded_setup() {6345 return lt__PROGRAM__LTX_preloaded_symbols;6346 }6347 #endif6348 6349 #ifdef __cplusplus6350 }6351 #endif6352 _LT_EOF6353 # Now try linking the two files.6354 mv conftest.$ac_objext conftstm.$ac_objext6355 lt_globsym_save_LIBS=$LIBS6356 lt_globsym_save_CFLAGS=$CFLAGS6357 LIBS=conftstm.$ac_objext6358 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"6359 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&56360 (eval $ac_link) 2>&56361 ac_status=$?6362 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56363 test $ac_status = 0; } && test -s conftest$ac_exeext; then6364 pipe_works=yes6365 fi6366 LIBS=$lt_globsym_save_LIBS6367 CFLAGS=$lt_globsym_save_CFLAGS6368 else6369 echo "cannot find nm_test_func in $nlist" >&56370 fi6371 else6372 echo "cannot find nm_test_var in $nlist" >&56373 fi6374 else6375 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&56376 fi6377 else6378 echo "$progname: failed program was:" >&56379 cat conftest.$ac_ext >&56380 fi6381 rm -rf conftest* conftst*6382 6383 # Do not use the global_symbol_pipe unless it works.6384 if test yes = "$pipe_works"; then6385 break6386 else6387 lt_cv_sys_global_symbol_pipe=6388 fi6389 done6390 6391 fi6392 6393 if test -z "$lt_cv_sys_global_symbol_pipe"; then6394 lt_cv_sys_global_symbol_to_cdecl=6395 fi6396 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then6397 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&56398 $as_echo "failed" >&6; }6399 else6400 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&56401 $as_echo "ok" >&6; }6402 fi6403 6404 # Response file support.6405 if test "$lt_cv_nm_interface" = "MS dumpbin"; then6406 nm_file_list_spec='@'6407 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then6408 nm_file_list_spec='@'6409 fi6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&56448 $as_echo_n "checking for sysroot... " >&6; }6449 6450 # Check whether --with-sysroot was given.6451 if test "${with_sysroot+set}" = set; then :6452 withval=$with_sysroot;6453 else6454 with_sysroot=no6455 fi6456 6457 6458 lt_sysroot=6459 case $with_sysroot in #(6460 yes)6461 if test yes = "$GCC"; then6462 lt_sysroot=`$CC --print-sysroot 2>/dev/null`6463 fi6464 ;; #(6465 /*)6466 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`6467 ;; #(6468 no|'')6469 ;; #(6470 *)6471 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&56472 $as_echo "$with_sysroot" >&6; }6473 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 56474 ;;6475 esac6476 6477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&56478 $as_echo "${lt_sysroot:-no}" >&6; }6479 6480 6481 6482 6483 6484 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&56485 $as_echo_n "checking for a working dd... " >&6; }6486 if ${ac_cv_path_lt_DD+:} false; then :6487 $as_echo_n "(cached) " >&66488 else6489 printf 0123456789abcdef0123456789abcdef >conftest.i6490 cat conftest.i conftest.i >conftest2.i6491 : ${lt_DD:=$DD}6492 if test -z "$lt_DD"; then6493 ac_path_lt_DD_found=false6494 # Loop through the user's path and test for each of PROGNAME-LIST6495 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6496 for as_dir in $PATH6497 do6498 IFS=$as_save_IFS6499 test -z "$as_dir" && as_dir=.6500 for ac_prog in dd; do6501 for ac_exec_ext in '' $ac_executable_extensions; do6502 ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"6503 as_fn_executable_p "$ac_path_lt_DD" || continue6504 if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then6505 cmp -s conftest.i conftest.out \6506 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:6507 fi6508 $ac_path_lt_DD_found && break 36509 done6510 done6511 done6512 IFS=$as_save_IFS6513 if test -z "$ac_cv_path_lt_DD"; then6514 :6515 fi6516 else6517 ac_cv_path_lt_DD=$lt_DD6518 fi6519 6520 rm -f conftest.i conftest2.i conftest.out6521 fi6522 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&56523 $as_echo "$ac_cv_path_lt_DD" >&6; }6524 6525 6526 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&56527 $as_echo_n "checking how to truncate binary pipes... " >&6; }6528 if ${lt_cv_truncate_bin+:} false; then :6529 $as_echo_n "(cached) " >&66530 else6531 printf 0123456789abcdef0123456789abcdef >conftest.i6532 cat conftest.i conftest.i >conftest2.i6533 lt_cv_truncate_bin=6534 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then6535 cmp -s conftest.i conftest.out \6536 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"6537 fi6538 rm -f conftest.i conftest2.i conftest.out6539 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"6540 fi6541 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&56542 $as_echo "$lt_cv_truncate_bin" >&6; }6543 6544 6545 6546 6547 6548 6549 6550 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.6551 func_cc_basename ()6552 {6553 for cc_temp in $*""; do6554 case $cc_temp in6555 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;6556 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;6557 \-*) ;;6558 *) break;;6559 esac6560 done6561 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`6562 }6563 6564 # Check whether --enable-libtool-lock was given.6565 if test "${enable_libtool_lock+set}" = set; then :6566 enableval=$enable_libtool_lock;6567 fi6568 6569 test no = "$enable_libtool_lock" || enable_libtool_lock=yes6570 6571 # Some flags need to be propagated to the compiler or linker for good6572 # libtool support.6573 case $host in6574 ia64-*-hpux*)6575 # Find out what ABI is being produced by ac_compile, and set mode6576 # options accordingly.6577 echo 'int i;' > conftest.$ac_ext6578 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56579 (eval $ac_compile) 2>&56580 ac_status=$?6581 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56582 test $ac_status = 0; }; then6583 case `/usr/bin/file conftest.$ac_objext` in6584 *ELF-32*)6585 HPUX_IA64_MODE=326586 ;;6587 *ELF-64*)6588 HPUX_IA64_MODE=646589 ;;6590 esac6591 fi6592 rm -rf conftest*6593 ;;6594 *-*-irix6*)6595 # Find out what ABI is being produced by ac_compile, and set linker6596 # options accordingly.6597 echo '#line '$LINENO' "configure"' > conftest.$ac_ext6598 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56599 (eval $ac_compile) 2>&56600 ac_status=$?6601 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56602 test $ac_status = 0; }; then6603 if test yes = "$lt_cv_prog_gnu_ld"; then6604 case `/usr/bin/file conftest.$ac_objext` in6605 *32-bit*)6606 LD="${LD-ld} -melf32bsmip"6607 ;;6608 *N32*)6609 LD="${LD-ld} -melf32bmipn32"6610 ;;6611 *64-bit*)6612 LD="${LD-ld} -melf64bmip"6613 ;;6614 esac6615 else6616 case `/usr/bin/file conftest.$ac_objext` in6617 *32-bit*)6618 LD="${LD-ld} -32"6619 ;;6620 *N32*)6621 LD="${LD-ld} -n32"6622 ;;6623 *64-bit*)6624 LD="${LD-ld} -64"6625 ;;6626 esac6627 fi6628 fi6629 rm -rf conftest*6630 ;;6631 6632 mips64*-*linux*)6633 # Find out what ABI is being produced by ac_compile, and set linker6634 # options accordingly.6635 echo '#line '$LINENO' "configure"' > conftest.$ac_ext6636 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56637 (eval $ac_compile) 2>&56638 ac_status=$?6639 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56640 test $ac_status = 0; }; then6641 emul=elf6642 case `/usr/bin/file conftest.$ac_objext` in6643 *32-bit*)6644 emul="${emul}32"6645 ;;6646 *64-bit*)6647 emul="${emul}64"6648 ;;6649 esac6650 case `/usr/bin/file conftest.$ac_objext` in6651 *MSB*)6652 emul="${emul}btsmip"6653 ;;6654 *LSB*)6655 emul="${emul}ltsmip"6656 ;;6657 esac6658 case `/usr/bin/file conftest.$ac_objext` in6659 *N32*)6660 emul="${emul}n32"6661 ;;6662 esac6663 LD="${LD-ld} -m $emul"6664 fi6665 rm -rf conftest*6666 ;;6667 6668 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \6669 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)6670 # Find out what ABI is being produced by ac_compile, and set linker6671 # options accordingly. Note that the listed cases only cover the6672 # situations where additional linker options are needed (such as when6673 # doing 32-bit compilation for a host where ld defaults to 64-bit, or6674 # vice versa); the common cases where no linker options are needed do6675 # not appear in the list.6676 echo 'int i;' > conftest.$ac_ext6677 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56678 (eval $ac_compile) 2>&56679 ac_status=$?6680 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56681 test $ac_status = 0; }; then6682 case `/usr/bin/file conftest.o` in6683 *32-bit*)6684 case $host in6685 x86_64-*kfreebsd*-gnu)6686 LD="${LD-ld} -m elf_i386_fbsd"6687 ;;6688 x86_64-*linux*)6689 case `/usr/bin/file conftest.o` in6690 *x86-64*)6691 LD="${LD-ld} -m elf32_x86_64"6692 ;;6693 *)6694 LD="${LD-ld} -m elf_i386"6695 ;;6696 esac6697 ;;6698 powerpc64le-*linux*)6699 LD="${LD-ld} -m elf32lppclinux"6700 ;;6701 powerpc64-*linux*)6702 LD="${LD-ld} -m elf32ppclinux"6703 ;;6704 s390x-*linux*)6705 LD="${LD-ld} -m elf_s390"6706 ;;6707 sparc64-*linux*)6708 LD="${LD-ld} -m elf32_sparc"6709 ;;6710 esac6711 ;;6712 *64-bit*)6713 case $host in6714 x86_64-*kfreebsd*-gnu)6715 LD="${LD-ld} -m elf_x86_64_fbsd"6716 ;;6717 x86_64-*linux*)6718 LD="${LD-ld} -m elf_x86_64"6719 ;;6720 powerpcle-*linux*)6721 LD="${LD-ld} -m elf64lppc"6722 ;;6723 powerpc-*linux*)6724 LD="${LD-ld} -m elf64ppc"6725 ;;6726 s390*-*linux*|s390*-*tpf*)6727 LD="${LD-ld} -m elf64_s390"6728 ;;6729 sparc*-*linux*)6730 LD="${LD-ld} -m elf64_sparc"6731 ;;6732 esac6733 ;;6734 esac6735 fi6736 rm -rf conftest*6737 ;;6738 6739 *-*-sco3.2v5*)6740 # On SCO OpenServer 5, we need -belf to get full-featured binaries.6741 SAVE_CFLAGS=$CFLAGS6742 CFLAGS="$CFLAGS -belf"6743 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&56744 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }6745 if ${lt_cv_cc_needs_belf+:} false; then :6746 $as_echo_n "(cached) " >&66747 else6748 ac_ext=c6749 ac_cpp='$CPP $CPPFLAGS'6750 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'6751 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'6752 ac_compiler_gnu=$ac_cv_c_compiler_gnu6753 6754 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6755 /* end confdefs.h. */6756 6757 int6758 main ()6759 {6760 6761 ;6762 return 0;6763 }6764 _ACEOF6765 if ac_fn_c_try_link "$LINENO"; then :6766 lt_cv_cc_needs_belf=yes6767 else6768 lt_cv_cc_needs_belf=no6769 fi6770 rm -f core conftest.err conftest.$ac_objext \6771 conftest$ac_exeext conftest.$ac_ext6772 ac_ext=c6773 ac_cpp='$CPP $CPPFLAGS'6774 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'6775 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'6776 ac_compiler_gnu=$ac_cv_c_compiler_gnu6777 6778 fi6779 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&56780 $as_echo "$lt_cv_cc_needs_belf" >&6; }6781 if test yes != "$lt_cv_cc_needs_belf"; then6782 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf6783 CFLAGS=$SAVE_CFLAGS6784 fi6785 ;;6786 *-*solaris*)6787 # Find out what ABI is being produced by ac_compile, and set linker6788 # options accordingly.6789 echo 'int i;' > conftest.$ac_ext6790 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&56791 (eval $ac_compile) 2>&56792 ac_status=$?6793 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&56794 test $ac_status = 0; }; then6795 case `/usr/bin/file conftest.o` in6796 *64-bit*)6797 case $lt_cv_prog_gnu_ld in6798 yes*)6799 case $host in6800 i?86-*-solaris*|x86_64-*-solaris*)6801 LD="${LD-ld} -m elf_x86_64"6802 ;;6803 sparc*-*-solaris*)6804 LD="${LD-ld} -m elf64_sparc"6805 ;;6806 esac6807 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.6808 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then6809 LD=${LD-ld}_sol26810 fi6811 ;;6812 *)6813 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then6814 LD="${LD-ld} -64"6815 fi6816 ;;6817 esac6818 ;;6819 esac6820 fi6821 rm -rf conftest*6822 ;;6823 esac6824 6825 need_locks=$enable_libtool_lock6826 6827 if test -n "$ac_tool_prefix"; then6828 # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.6829 set dummy ${ac_tool_prefix}mt; ac_word=$26830 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56831 $as_echo_n "checking for $ac_word... " >&6; }6832 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :6833 $as_echo_n "(cached) " >&66834 else6835 if test -n "$MANIFEST_TOOL"; then6836 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.6837 else6838 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6839 for as_dir in $PATH6840 do6841 IFS=$as_save_IFS6842 test -z "$as_dir" && as_dir=.6843 for ac_exec_ext in '' $ac_executable_extensions; do6844 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6845 ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"6846 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56847 break 26848 fi6849 done6850 done6851 IFS=$as_save_IFS6852 6853 fi6854 fi6855 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL6856 if test -n "$MANIFEST_TOOL"; then6857 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&56858 $as_echo "$MANIFEST_TOOL" >&6; }6859 else6860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56861 $as_echo "no" >&6; }6862 fi6863 6864 6865 fi6866 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then6867 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL6868 # Extract the first word of "mt", so it can be a program name with args.6869 set dummy mt; ac_word=$26870 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56871 $as_echo_n "checking for $ac_word... " >&6; }6872 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :6873 $as_echo_n "(cached) " >&66874 else6875 if test -n "$ac_ct_MANIFEST_TOOL"; then6876 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.6877 else6878 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6879 for as_dir in $PATH6880 do6881 IFS=$as_save_IFS6882 test -z "$as_dir" && as_dir=.6883 for ac_exec_ext in '' $ac_executable_extensions; do6884 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6885 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"6886 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56887 break 26888 fi6889 done6890 done6891 IFS=$as_save_IFS6892 6893 fi6894 fi6895 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL6896 if test -n "$ac_ct_MANIFEST_TOOL"; then6897 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&56898 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; }6899 else6900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56901 $as_echo "no" >&6; }6902 fi6903 6904 if test "x$ac_ct_MANIFEST_TOOL" = x; then6905 MANIFEST_TOOL=":"6906 else6907 case $cross_compiling:$ac_tool_warned in6908 yes:)6909 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&56910 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}6911 ac_tool_warned=yes ;;6912 esac6913 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL6914 fi6915 else6916 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"6917 fi6918 6919 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt6920 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&56921 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }6922 if ${lt_cv_path_mainfest_tool+:} false; then :6923 $as_echo_n "(cached) " >&66924 else6925 lt_cv_path_mainfest_tool=no6926 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&56927 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out6928 cat conftest.err >&56929 if $GREP 'Manifest Tool' conftest.out > /dev/null; then6930 lt_cv_path_mainfest_tool=yes6931 fi6932 rm -f conftest*6933 fi6934 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&56935 $as_echo "$lt_cv_path_mainfest_tool" >&6; }6936 if test yes != "$lt_cv_path_mainfest_tool"; then6937 MANIFEST_TOOL=:6938 fi6939 6940 6941 6942 6943 6944 6945 case $host_os in6946 rhapsody* | darwin*)6947 if test -n "$ac_tool_prefix"; then6948 # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.6949 set dummy ${ac_tool_prefix}dsymutil; ac_word=$26950 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56951 $as_echo_n "checking for $ac_word... " >&6; }6952 if ${ac_cv_prog_DSYMUTIL+:} false; then :6953 $as_echo_n "(cached) " >&66954 else6955 if test -n "$DSYMUTIL"; then6956 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.6957 else6958 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6959 for as_dir in $PATH6960 do6961 IFS=$as_save_IFS6962 test -z "$as_dir" && as_dir=.6963 for ac_exec_ext in '' $ac_executable_extensions; do6964 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then6965 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"6966 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&56967 break 26968 fi6969 done6970 done6971 IFS=$as_save_IFS6972 6973 fi6974 fi6975 DSYMUTIL=$ac_cv_prog_DSYMUTIL6976 if test -n "$DSYMUTIL"; then6977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&56978 $as_echo "$DSYMUTIL" >&6; }6979 else6980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56981 $as_echo "no" >&6; }6982 fi6983 6984 6985 fi6986 if test -z "$ac_cv_prog_DSYMUTIL"; then6987 ac_ct_DSYMUTIL=$DSYMUTIL6988 # Extract the first word of "dsymutil", so it can be a program name with args.6989 set dummy dsymutil; ac_word=$26990 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&56991 $as_echo_n "checking for $ac_word... " >&6; }6992 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :6993 $as_echo_n "(cached) " >&66994 else6995 if test -n "$ac_ct_DSYMUTIL"; then6996 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.6997 else6998 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR6999 for as_dir in $PATH7000 do7001 IFS=$as_save_IFS7002 test -z "$as_dir" && as_dir=.7003 for ac_exec_ext in '' $ac_executable_extensions; do7004 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7005 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"7006 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57007 break 27008 fi7009 done7010 done7011 IFS=$as_save_IFS7012 7013 fi7014 fi7015 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL7016 if test -n "$ac_ct_DSYMUTIL"; then7017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&57018 $as_echo "$ac_ct_DSYMUTIL" >&6; }7019 else7020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57021 $as_echo "no" >&6; }7022 fi7023 7024 if test "x$ac_ct_DSYMUTIL" = x; then7025 DSYMUTIL=":"7026 else7027 case $cross_compiling:$ac_tool_warned in7028 yes:)7029 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57030 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7031 ac_tool_warned=yes ;;7032 esac7033 DSYMUTIL=$ac_ct_DSYMUTIL7034 fi7035 else7036 DSYMUTIL="$ac_cv_prog_DSYMUTIL"7037 fi7038 7039 if test -n "$ac_tool_prefix"; then7040 # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.7041 set dummy ${ac_tool_prefix}nmedit; ac_word=$27042 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57043 $as_echo_n "checking for $ac_word... " >&6; }7044 if ${ac_cv_prog_NMEDIT+:} false; then :7045 $as_echo_n "(cached) " >&67046 else7047 if test -n "$NMEDIT"; then7048 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.7049 else7050 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7051 for as_dir in $PATH7052 do7053 IFS=$as_save_IFS7054 test -z "$as_dir" && as_dir=.7055 for ac_exec_ext in '' $ac_executable_extensions; do7056 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7057 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"7058 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57059 break 27060 fi7061 done7062 done7063 IFS=$as_save_IFS7064 7065 fi7066 fi7067 NMEDIT=$ac_cv_prog_NMEDIT7068 if test -n "$NMEDIT"; then7069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&57070 $as_echo "$NMEDIT" >&6; }7071 else7072 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57073 $as_echo "no" >&6; }7074 fi7075 7076 7077 fi7078 if test -z "$ac_cv_prog_NMEDIT"; then7079 ac_ct_NMEDIT=$NMEDIT7080 # Extract the first word of "nmedit", so it can be a program name with args.7081 set dummy nmedit; ac_word=$27082 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57083 $as_echo_n "checking for $ac_word... " >&6; }7084 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :7085 $as_echo_n "(cached) " >&67086 else7087 if test -n "$ac_ct_NMEDIT"; then7088 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.7089 else7090 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7091 for as_dir in $PATH7092 do7093 IFS=$as_save_IFS7094 test -z "$as_dir" && as_dir=.7095 for ac_exec_ext in '' $ac_executable_extensions; do7096 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7097 ac_cv_prog_ac_ct_NMEDIT="nmedit"7098 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57099 break 27100 fi7101 done7102 done7103 IFS=$as_save_IFS7104 7105 fi7106 fi7107 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT7108 if test -n "$ac_ct_NMEDIT"; then7109 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&57110 $as_echo "$ac_ct_NMEDIT" >&6; }7111 else7112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57113 $as_echo "no" >&6; }7114 fi7115 7116 if test "x$ac_ct_NMEDIT" = x; then7117 NMEDIT=":"7118 else7119 case $cross_compiling:$ac_tool_warned in7120 yes:)7121 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57122 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7123 ac_tool_warned=yes ;;7124 esac7125 NMEDIT=$ac_ct_NMEDIT7126 fi7127 else7128 NMEDIT="$ac_cv_prog_NMEDIT"7129 fi7130 7131 if test -n "$ac_tool_prefix"; then7132 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.7133 set dummy ${ac_tool_prefix}lipo; ac_word=$27134 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57135 $as_echo_n "checking for $ac_word... " >&6; }7136 if ${ac_cv_prog_LIPO+:} false; then :7137 $as_echo_n "(cached) " >&67138 else7139 if test -n "$LIPO"; then7140 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.7141 else7142 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7143 for as_dir in $PATH7144 do7145 IFS=$as_save_IFS7146 test -z "$as_dir" && as_dir=.7147 for ac_exec_ext in '' $ac_executable_extensions; do7148 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7149 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"7150 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57151 break 27152 fi7153 done7154 done7155 IFS=$as_save_IFS7156 7157 fi7158 fi7159 LIPO=$ac_cv_prog_LIPO7160 if test -n "$LIPO"; then7161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&57162 $as_echo "$LIPO" >&6; }7163 else7164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57165 $as_echo "no" >&6; }7166 fi7167 7168 7169 fi7170 if test -z "$ac_cv_prog_LIPO"; then7171 ac_ct_LIPO=$LIPO7172 # Extract the first word of "lipo", so it can be a program name with args.7173 set dummy lipo; ac_word=$27174 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57175 $as_echo_n "checking for $ac_word... " >&6; }7176 if ${ac_cv_prog_ac_ct_LIPO+:} false; then :7177 $as_echo_n "(cached) " >&67178 else7179 if test -n "$ac_ct_LIPO"; then7180 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.7181 else7182 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7183 for as_dir in $PATH7184 do7185 IFS=$as_save_IFS7186 test -z "$as_dir" && as_dir=.7187 for ac_exec_ext in '' $ac_executable_extensions; do7188 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7189 ac_cv_prog_ac_ct_LIPO="lipo"7190 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57191 break 27192 fi7193 done7194 done7195 IFS=$as_save_IFS7196 7197 fi7198 fi7199 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO7200 if test -n "$ac_ct_LIPO"; then7201 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&57202 $as_echo "$ac_ct_LIPO" >&6; }7203 else7204 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57205 $as_echo "no" >&6; }7206 fi7207 7208 if test "x$ac_ct_LIPO" = x; then7209 LIPO=":"7210 else7211 case $cross_compiling:$ac_tool_warned in7212 yes:)7213 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57214 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7215 ac_tool_warned=yes ;;7216 esac7217 LIPO=$ac_ct_LIPO7218 fi7219 else7220 LIPO="$ac_cv_prog_LIPO"7221 fi7222 7223 if test -n "$ac_tool_prefix"; then7224 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.7225 set dummy ${ac_tool_prefix}otool; ac_word=$27226 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57227 $as_echo_n "checking for $ac_word... " >&6; }7228 if ${ac_cv_prog_OTOOL+:} false; then :7229 $as_echo_n "(cached) " >&67230 else7231 if test -n "$OTOOL"; then7232 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.7233 else7234 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7235 for as_dir in $PATH7236 do7237 IFS=$as_save_IFS7238 test -z "$as_dir" && as_dir=.7239 for ac_exec_ext in '' $ac_executable_extensions; do7240 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7241 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"7242 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57243 break 27244 fi7245 done7246 done7247 IFS=$as_save_IFS7248 7249 fi7250 fi7251 OTOOL=$ac_cv_prog_OTOOL7252 if test -n "$OTOOL"; then7253 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&57254 $as_echo "$OTOOL" >&6; }7255 else7256 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57257 $as_echo "no" >&6; }7258 fi7259 7260 7261 fi7262 if test -z "$ac_cv_prog_OTOOL"; then7263 ac_ct_OTOOL=$OTOOL7264 # Extract the first word of "otool", so it can be a program name with args.7265 set dummy otool; ac_word=$27266 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57267 $as_echo_n "checking for $ac_word... " >&6; }7268 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :7269 $as_echo_n "(cached) " >&67270 else7271 if test -n "$ac_ct_OTOOL"; then7272 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.7273 else7274 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7275 for as_dir in $PATH7276 do7277 IFS=$as_save_IFS7278 test -z "$as_dir" && as_dir=.7279 for ac_exec_ext in '' $ac_executable_extensions; do7280 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7281 ac_cv_prog_ac_ct_OTOOL="otool"7282 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57283 break 27284 fi7285 done7286 done7287 IFS=$as_save_IFS7288 7289 fi7290 fi7291 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL7292 if test -n "$ac_ct_OTOOL"; then7293 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&57294 $as_echo "$ac_ct_OTOOL" >&6; }7295 else7296 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57297 $as_echo "no" >&6; }7298 fi7299 7300 if test "x$ac_ct_OTOOL" = x; then7301 OTOOL=":"7302 else7303 case $cross_compiling:$ac_tool_warned in7304 yes:)7305 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57306 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7307 ac_tool_warned=yes ;;7308 esac7309 OTOOL=$ac_ct_OTOOL7310 fi7311 else7312 OTOOL="$ac_cv_prog_OTOOL"7313 fi7314 7315 if test -n "$ac_tool_prefix"; then7316 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.7317 set dummy ${ac_tool_prefix}otool64; ac_word=$27318 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57319 $as_echo_n "checking for $ac_word... " >&6; }7320 if ${ac_cv_prog_OTOOL64+:} false; then :7321 $as_echo_n "(cached) " >&67322 else7323 if test -n "$OTOOL64"; then7324 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.7325 else7326 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7327 for as_dir in $PATH7328 do7329 IFS=$as_save_IFS7330 test -z "$as_dir" && as_dir=.7331 for ac_exec_ext in '' $ac_executable_extensions; do7332 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7333 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"7334 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57335 break 27336 fi7337 done7338 done7339 IFS=$as_save_IFS7340 7341 fi7342 fi7343 OTOOL64=$ac_cv_prog_OTOOL647344 if test -n "$OTOOL64"; then7345 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&57346 $as_echo "$OTOOL64" >&6; }7347 else7348 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57349 $as_echo "no" >&6; }7350 fi7351 7352 7353 fi7354 if test -z "$ac_cv_prog_OTOOL64"; then7355 ac_ct_OTOOL64=$OTOOL647356 # Extract the first word of "otool64", so it can be a program name with args.7357 set dummy otool64; ac_word=$27358 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&57359 $as_echo_n "checking for $ac_word... " >&6; }7360 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :7361 $as_echo_n "(cached) " >&67362 else7363 if test -n "$ac_ct_OTOOL64"; then7364 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.7365 else7366 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7367 for as_dir in $PATH7368 do7369 IFS=$as_save_IFS7370 test -z "$as_dir" && as_dir=.7371 for ac_exec_ext in '' $ac_executable_extensions; do7372 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then7373 ac_cv_prog_ac_ct_OTOOL64="otool64"7374 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&57375 break 27376 fi7377 done7378 done7379 IFS=$as_save_IFS7380 7381 fi7382 fi7383 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL647384 if test -n "$ac_ct_OTOOL64"; then7385 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&57386 $as_echo "$ac_ct_OTOOL64" >&6; }7387 else7388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&57389 $as_echo "no" >&6; }7390 fi7391 7392 if test "x$ac_ct_OTOOL64" = x; then7393 OTOOL64=":"7394 else7395 case $cross_compiling:$ac_tool_warned in7396 yes:)7397 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&57398 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}7399 ac_tool_warned=yes ;;7400 esac7401 OTOOL64=$ac_ct_OTOOL647402 fi7403 else7404 OTOOL64="$ac_cv_prog_OTOOL64"7405 fi7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&57434 $as_echo_n "checking for -single_module linker flag... " >&6; }7435 if ${lt_cv_apple_cc_single_mod+:} false; then :7436 $as_echo_n "(cached) " >&67437 else7438 lt_cv_apple_cc_single_mod=no7439 if test -z "$LT_MULTI_MODULE"; then7440 # By default we will add the -single_module flag. You can override7441 # by either setting the environment variable LT_MULTI_MODULE7442 # non-empty at configure time, or by adding -multi_module to the7443 # link flags.7444 rm -rf libconftest.dylib*7445 echo "int foo(void){return 1;}" > conftest.c7446 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \7447 -dynamiclib -Wl,-single_module conftest.c" >&57448 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \7449 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err7450 _lt_result=$?7451 # If there is a non-empty error log, and "single_module"7452 # appears in it, assume the flag caused a linker warning7453 if test -s conftest.err && $GREP single_module conftest.err; then7454 cat conftest.err >&57455 # Otherwise, if the output was created with a 0 exit code from7456 # the compiler, it worked.7457 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then7458 lt_cv_apple_cc_single_mod=yes7459 else7460 cat conftest.err >&57461 fi7462 rm -rf libconftest.dylib*7463 rm -f conftest.*7464 fi7465 fi7466 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&57467 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }7468 7469 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&57470 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }7471 if ${lt_cv_ld_exported_symbols_list+:} false; then :7472 $as_echo_n "(cached) " >&67473 else7474 lt_cv_ld_exported_symbols_list=no7475 save_LDFLAGS=$LDFLAGS7476 echo "_main" > conftest.sym7477 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"7478 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7479 /* end confdefs.h. */7480 7481 int7482 main ()7483 {7484 7485 ;7486 return 0;7487 }7488 _ACEOF7489 if ac_fn_c_try_link "$LINENO"; then :7490 lt_cv_ld_exported_symbols_list=yes7491 else7492 lt_cv_ld_exported_symbols_list=no7493 fi7494 rm -f core conftest.err conftest.$ac_objext \7495 conftest$ac_exeext conftest.$ac_ext7496 LDFLAGS=$save_LDFLAGS7497 7498 fi7499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&57500 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }7501 7502 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&57503 $as_echo_n "checking for -force_load linker flag... " >&6; }7504 if ${lt_cv_ld_force_load+:} false; then :7505 $as_echo_n "(cached) " >&67506 else7507 lt_cv_ld_force_load=no7508 cat > conftest.c << _LT_EOF7509 int forced_loaded() { return 2;}7510 _LT_EOF7511 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&57512 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&57513 echo "$AR cru libconftest.a conftest.o" >&57514 $AR cru libconftest.a conftest.o 2>&57515 echo "$RANLIB libconftest.a" >&57516 $RANLIB libconftest.a 2>&57517 cat > conftest.c << _LT_EOF7518 int main() { return 0;}7519 _LT_EOF7520 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&57521 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err7522 _lt_result=$?7523 if test -s conftest.err && $GREP force_load conftest.err; then7524 cat conftest.err >&57525 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then7526 lt_cv_ld_force_load=yes7527 else7528 cat conftest.err >&57529 fi7530 rm -f conftest.err libconftest.a conftest conftest.c7531 rm -rf conftest.dSYM7532 7533 fi7534 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&57535 $as_echo "$lt_cv_ld_force_load" >&6; }7536 case $host_os in7537 rhapsody* | darwin1.[012])7538 _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;7539 darwin1.*)7540 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;7541 darwin*) # darwin 5.x on7542 # if running on 10.5 or later, the deployment target defaults7543 # to the OS version, if on x86, and 10.4, the deployment7544 # target defaults to 10.4. Don't you love it?7545 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in7546 10.0,*86*-darwin8*|10.0,*-darwin[91]*)7547 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;7548 10.[012][,.]*)7549 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;7550 10.*)7551 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;7552 esac7553 ;;7554 esac7555 if test yes = "$lt_cv_apple_cc_single_mod"; then7556 _lt_dar_single_mod='$single_module'7557 fi7558 if test yes = "$lt_cv_ld_exported_symbols_list"; then7559 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'7560 else7561 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'7562 fi7563 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then7564 _lt_dsymutil='~$DSYMUTIL $lib || :'7565 else7566 _lt_dsymutil=7567 fi7568 ;;7569 esac7570 7571 # func_munge_path_list VARIABLE PATH7572 # -----------------------------------7573 # VARIABLE is name of variable containing _space_ separated list of7574 # directories to be munged by the contents of PATH, which is string7575 # having a format:7576 # "DIR[:DIR]:"7577 # string "DIR[ DIR]" will be prepended to VARIABLE7578 # ":DIR[:DIR]"7579 # string "DIR[ DIR]" will be appended to VARIABLE7580 # "DIRP[:DIRP]::[DIRA:]DIRA"7581 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string7582 # "DIRA[ DIRA]" will be appended to VARIABLE7583 # "DIR[:DIR]"7584 # VARIABLE will be replaced by "DIR[ DIR]"7585 func_munge_path_list ()7586 {7587 case x$2 in7588 x)7589 ;;7590 *:)7591 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"7592 ;;7593 x:*)7594 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"7595 ;;7596 *::*)7597 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"7598 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"7599 ;;7600 *)7601 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"7602 ;;7603 esac7604 }7605 7606 ac_ext=c7607 ac_cpp='$CPP $CPPFLAGS'7608 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'7609 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'7610 ac_compiler_gnu=$ac_cv_c_compiler_gnu7611 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&57612 $as_echo_n "checking how to run the C preprocessor... " >&6; }7613 # On Suns, sometimes $CPP names a directory.7614 if test -n "$CPP" && test -d "$CPP"; then7615 CPP=7616 fi7617 if test -z "$CPP"; then7618 if ${ac_cv_prog_CPP+:} false; then :7619 $as_echo_n "(cached) " >&67620 else7621 # Double quotes because CPP needs to be expanded7622 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"7623 do7624 ac_preproc_ok=false7625 for ac_c_preproc_warn_flag in '' yes7626 do7627 # Use a header file that comes with gcc, so configuring glibc7628 # with a fresh cross-compiler works.7629 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since7630 # <limits.h> exists even on freestanding compilers.7631 # On the NeXT, cc -E runs the code through the compiler's parser,7632 # not just through cpp. "Syntax error" is here to catch this case.7633 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7634 /* end confdefs.h. */7635 #ifdef __STDC__7636 # include <limits.h>7637 #else7638 # include <assert.h>7639 #endif7640 Syntax error7641 _ACEOF7642 if ac_fn_c_try_cpp "$LINENO"; then :7643 7644 else7645 # Broken: fails on valid input.7646 continue7647 fi7648 rm -f conftest.err conftest.i conftest.$ac_ext7649 7650 # OK, works on sane cases. Now check whether nonexistent headers7651 # can be detected and how.7652 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7653 /* end confdefs.h. */7654 #include <ac_nonexistent.h>7655 _ACEOF7656 if ac_fn_c_try_cpp "$LINENO"; then :7657 # Broken: success on invalid input.7658 continue7659 else7660 # Passes both tests.7661 ac_preproc_ok=:7662 break7663 fi7664 rm -f conftest.err conftest.i conftest.$ac_ext7665 7666 done7667 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.7668 rm -f conftest.i conftest.err conftest.$ac_ext7669 if $ac_preproc_ok; then :7670 break7671 fi7672 7673 done7674 ac_cv_prog_CPP=$CPP7675 7676 fi7677 CPP=$ac_cv_prog_CPP7678 else7679 ac_cv_prog_CPP=$CPP7680 fi7681 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&57682 $as_echo "$CPP" >&6; }7683 ac_preproc_ok=false7684 for ac_c_preproc_warn_flag in '' yes7685 do7686 # Use a header file that comes with gcc, so configuring glibc7687 # with a fresh cross-compiler works.7688 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since7689 # <limits.h> exists even on freestanding compilers.7690 # On the NeXT, cc -E runs the code through the compiler's parser,7691 # not just through cpp. "Syntax error" is here to catch this case.7692 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7693 /* end confdefs.h. */7694 #ifdef __STDC__7695 # include <limits.h>7696 #else7697 # include <assert.h>7698 #endif7699 Syntax error7700 _ACEOF7701 if ac_fn_c_try_cpp "$LINENO"; then :7702 7703 else7704 # Broken: fails on valid input.7705 continue7706 fi7707 rm -f conftest.err conftest.i conftest.$ac_ext7708 7709 # OK, works on sane cases. Now check whether nonexistent headers7710 # can be detected and how.7711 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7712 /* end confdefs.h. */7713 #include <ac_nonexistent.h>7714 _ACEOF7715 if ac_fn_c_try_cpp "$LINENO"; then :7716 # Broken: success on invalid input.7717 continue7718 else7719 # Passes both tests.7720 ac_preproc_ok=:7721 break7722 fi7723 rm -f conftest.err conftest.i conftest.$ac_ext7724 7725 done7726 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.7727 rm -f conftest.i conftest.err conftest.$ac_ext7728 if $ac_preproc_ok; then :7729 7730 else7731 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&57732 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}7733 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check7734 See \`config.log' for more details" "$LINENO" 5; }7735 fi7736 7737 ac_ext=c7738 ac_cpp='$CPP $CPPFLAGS'7739 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'7740 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'7741 ac_compiler_gnu=$ac_cv_c_compiler_gnu7742 7743 7744 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&57745 $as_echo_n "checking for ANSI C header files... " >&6; }7746 if ${ac_cv_header_stdc+:} false; then :7747 $as_echo_n "(cached) " >&67748 else7749 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7750 /* end confdefs.h. */7751 #include <stdlib.h>7752 #include <stdarg.h>7753 #include <string.h>7754 #include <float.h>7755 7756 int7757 main ()7758 {7759 7760 ;7761 return 0;7762 }7763 _ACEOF7764 if ac_fn_c_try_compile "$LINENO"; then :7765 ac_cv_header_stdc=yes7766 else7767 ac_cv_header_stdc=no7768 fi7769 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext7770 7771 if test $ac_cv_header_stdc = yes; then7772 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.7773 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7774 /* end confdefs.h. */7775 #include <string.h>7776 7777 _ACEOF7778 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |7779 $EGREP "memchr" >/dev/null 2>&1; then :7780 7781 else7782 ac_cv_header_stdc=no7783 fi7784 rm -f conftest*7785 7786 fi7787 7788 if test $ac_cv_header_stdc = yes; then7789 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.7790 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7791 /* end confdefs.h. */7792 #include <stdlib.h>7793 7794 _ACEOF7795 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |7796 $EGREP "free" >/dev/null 2>&1; then :7797 7798 else7799 ac_cv_header_stdc=no7800 fi7801 rm -f conftest*7802 7803 fi7804 7805 if test $ac_cv_header_stdc = yes; then7806 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.7807 if test "$cross_compiling" = yes; then :7808 :7809 else7810 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7811 /* end confdefs.h. */7812 #include <ctype.h>7813 #include <stdlib.h>7814 #if ((' ' & 0x0FF) == 0x020)7815 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')7816 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))7817 #else7818 # define ISLOWER(c) \7819 (('a' <= (c) && (c) <= 'i') \7820 || ('j' <= (c) && (c) <= 'r') \7821 || ('s' <= (c) && (c) <= 'z'))7822 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))7823 #endif7824 7825 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))7826 int7827 main ()7828 {7829 int i;7830 for (i = 0; i < 256; i++)7831 if (XOR (islower (i), ISLOWER (i))7832 || toupper (i) != TOUPPER (i))7833 return 2;7834 return 0;7835 }7836 _ACEOF7837 if ac_fn_c_try_run "$LINENO"; then :7838 7839 else7840 ac_cv_header_stdc=no7841 fi7842 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \7843 conftest.$ac_objext conftest.beam conftest.$ac_ext7844 fi7845 7846 fi7847 fi7848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&57849 $as_echo "$ac_cv_header_stdc" >&6; }7850 if test $ac_cv_header_stdc = yes; then7851 7852 $as_echo "#define STDC_HEADERS 1" >>confdefs.h7853 7854 fi7855 7856 # On IRIX 5.3, sys/types and inttypes.h are conflicting.7857 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \7858 inttypes.h stdint.h unistd.h7859 do :7860 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`7861 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default7862 "7863 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :7864 cat >>confdefs.h <<_ACEOF7865 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 17866 _ACEOF7867 7868 fi7869 7870 done7871 7872 7873 for ac_header in dlfcn.h7874 do :7875 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default7876 "7877 if test "x$ac_cv_header_dlfcn_h" = xyes; then :7878 cat >>confdefs.h <<_ACEOF7879 #define HAVE_DLFCN_H 17880 _ACEOF7881 7882 fi7883 7884 done7885 7886 7887 7888 7889 7890 # Set options7891 7892 7893 7894 enable_dlopen=no7895 7896 7897 enable_win32_dll=no7898 7899 7900 # Check whether --enable-shared was given.7901 if test "${enable_shared+set}" = set; then :7902 enableval=$enable_shared; p=${PACKAGE-default}7903 case $enableval in7904 yes) enable_shared=yes ;;7905 no) enable_shared=no ;;7906 *)7907 enable_shared=no7908 # Look at the argument we got. We use all the common list separators.7909 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,7910 for pkg in $enableval; do7911 IFS=$lt_save_ifs7912 if test "X$pkg" = "X$p"; then7913 enable_shared=yes7914 fi7915 done7916 IFS=$lt_save_ifs7917 ;;7918 esac7919 else7920 enable_shared=yes7921 fi7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 # Check whether --enable-static was given.7932 if test "${enable_static+set}" = set; then :7933 enableval=$enable_static; p=${PACKAGE-default}7934 case $enableval in7935 yes) enable_static=yes ;;7936 no) enable_static=no ;;7937 *)7938 enable_static=no7939 # Look at the argument we got. We use all the common list separators.7940 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,7941 for pkg in $enableval; do7942 IFS=$lt_save_ifs7943 if test "X$pkg" = "X$p"; then7944 enable_static=yes7945 fi7946 done7947 IFS=$lt_save_ifs7948 ;;7949 esac7950 else7951 enable_static=yes7952 fi7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 # Check whether --with-pic was given.7964 if test "${with_pic+set}" = set; then :7965 withval=$with_pic; lt_p=${PACKAGE-default}7966 case $withval in7967 yes|no) pic_mode=$withval ;;7968 *)7969 pic_mode=default7970 # Look at the argument we got. We use all the common list separators.7971 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,7972 for lt_pkg in $withval; do7973 IFS=$lt_save_ifs7974 if test "X$lt_pkg" = "X$lt_p"; then7975 pic_mode=yes7976 fi7977 done7978 IFS=$lt_save_ifs7979 ;;7980 esac7981 else7982 pic_mode=default7983 fi7984 7985 7986 7987 7988 7989 7990 7991 7992 # Check whether --enable-fast-install was given.7993 if test "${enable_fast_install+set}" = set; then :7994 enableval=$enable_fast_install; p=${PACKAGE-default}7995 case $enableval in7996 yes) enable_fast_install=yes ;;7997 no) enable_fast_install=no ;;7998 *)7999 enable_fast_install=no8000 # Look at the argument we got. We use all the common list separators.8001 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,8002 for pkg in $enableval; do8003 IFS=$lt_save_ifs8004 if test "X$pkg" = "X$p"; then8005 enable_fast_install=yes8006 fi8007 done8008 IFS=$lt_save_ifs8009 ;;8010 esac8011 else8012 enable_fast_install=yes8013 fi8014 8015 8016 8017 8018 8019 8020 8021 8022 shared_archive_member_spec=8023 case $host,$enable_shared in8024 power*-*-aix[5-9]*,yes)8025 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&58026 $as_echo_n "checking which variant of shared library versioning to provide... " >&6; }8027 8028 # Check whether --with-aix-soname was given.8029 if test "${with_aix_soname+set}" = set; then :8030 withval=$with_aix_soname; case $withval in8031 aix|svr4|both)8032 ;;8033 *)8034 as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 58035 ;;8036 esac8037 lt_cv_with_aix_soname=$with_aix_soname8038 else8039 if ${lt_cv_with_aix_soname+:} false; then :8040 $as_echo_n "(cached) " >&68041 else8042 lt_cv_with_aix_soname=aix8043 fi8044 8045 with_aix_soname=$lt_cv_with_aix_soname8046 fi8047 8048 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&58049 $as_echo "$with_aix_soname" >&6; }8050 if test aix != "$with_aix_soname"; then8051 # For the AIX way of multilib, we name the shared archive member8052 # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',8053 # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.8054 # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,8055 # the AIX toolchain works better with OBJECT_MODE set (default 32).8056 if test 64 = "${OBJECT_MODE-32}"; then8057 shared_archive_member_spec=shr_648058 else8059 shared_archive_member_spec=shr8060 fi8061 fi8062 ;;8063 *)8064 with_aix_soname=aix8065 ;;8066 esac8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 # This can be used to rebuild libtool when needed8078 LIBTOOL_DEPS=$ltmain8079 8080 # Always use our own libtool.8081 LIBTOOL='$(SHELL) $(top_builddir)/libtool'8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 test -z "$LN_S" && LN_S="ln -s"8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 if test -n "${ZSH_VERSION+set}"; then8128 setopt NO_GLOB_SUBST8129 fi8130 8131 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&58132 $as_echo_n "checking for objdir... " >&6; }8133 if ${lt_cv_objdir+:} false; then :8134 $as_echo_n "(cached) " >&68135 else8136 rm -f .libs 2>/dev/null8137 mkdir .libs 2>/dev/null8138 if test -d .libs; then8139 lt_cv_objdir=.libs8140 else8141 # MS-DOS does not allow filenames that begin with a dot.8142 lt_cv_objdir=_libs8143 fi8144 rmdir .libs 2>/dev/null8145 fi8146 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&58147 $as_echo "$lt_cv_objdir" >&6; }8148 objdir=$lt_cv_objdir8149 8150 8151 8152 8153 8154 cat >>confdefs.h <<_ACEOF8155 #define LT_OBJDIR "$lt_cv_objdir/"8156 _ACEOF8157 8158 8159 8160 8161 case $host_os in8162 aix3*)8163 # AIX sometimes has problems with the GCC collect2 program. For some8164 # reason, if we set the COLLECT_NAMES environment variable, the problems8165 # vanish in a puff of smoke.8166 if test set != "${COLLECT_NAMES+set}"; then8167 COLLECT_NAMES=8168 export COLLECT_NAMES8169 fi8170 ;;8171 esac8172 8173 # Global variables:8174 ofile=libtool8175 can_build_shared=yes8176 8177 # All known linkers require a '.a' archive for static linking (except MSVC,8178 # which needs '.lib').8179 libext=a8180 8181 with_gnu_ld=$lt_cv_prog_gnu_ld8182 8183 old_CC=$CC8184 old_CFLAGS=$CFLAGS8185 8186 # Set sane defaults for various variables8187 test -z "$CC" && CC=cc8188 test -z "$LTCC" && LTCC=$CC8189 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS8190 test -z "$LD" && LD=ld8191 test -z "$ac_objext" && ac_objext=o8192 8193 func_cc_basename $compiler8194 cc_basename=$func_cc_basename_result8195 8196 8197 # Only perform the check for file, if the check method requires it8198 test -z "$MAGIC_CMD" && MAGIC_CMD=file8199 case $deplibs_check_method in8200 file_magic*)8201 if test "$file_magic_cmd" = '$MAGIC_CMD'; then8202 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&58203 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }8204 if ${lt_cv_path_MAGIC_CMD+:} false; then :8205 $as_echo_n "(cached) " >&68206 else8207 case $MAGIC_CMD in8208 [\\/*] | ?:[\\/]*)8209 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.8210 ;;8211 *)8212 lt_save_MAGIC_CMD=$MAGIC_CMD8213 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR8214 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"8215 for ac_dir in $ac_dummy; do8216 IFS=$lt_save_ifs8217 test -z "$ac_dir" && ac_dir=.8218 if test -f "$ac_dir/${ac_tool_prefix}file"; then8219 lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"8220 if test -n "$file_magic_test_file"; then8221 case $deplibs_check_method in8222 "file_magic "*)8223 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`8224 MAGIC_CMD=$lt_cv_path_MAGIC_CMD8225 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |8226 $EGREP "$file_magic_regex" > /dev/null; then8227 :8228 else8229 cat <<_LT_EOF 1>&28230 8231 *** Warning: the command libtool uses to detect shared libraries,8232 *** $file_magic_cmd, produces output that libtool cannot recognize.8233 *** The result is that libtool may fail to recognize shared libraries8234 *** as such. This will affect the creation of libtool libraries that8235 *** depend on shared libraries, but programs linked with such libtool8236 *** libraries will work regardless of this problem. Nevertheless, you8237 *** may want to report the problem to your system manager and/or to8238 *** bug-libtool@gnu.org8239 8240 _LT_EOF8241 fi ;;8242 esac8243 fi8244 break8245 fi8246 done8247 IFS=$lt_save_ifs8248 MAGIC_CMD=$lt_save_MAGIC_CMD8249 ;;8250 esac8251 fi8252 8253 MAGIC_CMD=$lt_cv_path_MAGIC_CMD8254 if test -n "$MAGIC_CMD"; then8255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&58256 $as_echo "$MAGIC_CMD" >&6; }8257 else8258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58259 $as_echo "no" >&6; }8260 fi8261 8262 8263 8264 8265 8266 if test -z "$lt_cv_path_MAGIC_CMD"; then8267 if test -n "$ac_tool_prefix"; then8268 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&58269 $as_echo_n "checking for file... " >&6; }8270 if ${lt_cv_path_MAGIC_CMD+:} false; then :8271 $as_echo_n "(cached) " >&68272 else8273 case $MAGIC_CMD in8274 [\\/*] | ?:[\\/]*)8275 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.8276 ;;8277 *)8278 lt_save_MAGIC_CMD=$MAGIC_CMD8279 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR8280 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"8281 for ac_dir in $ac_dummy; do8282 IFS=$lt_save_ifs8283 test -z "$ac_dir" && ac_dir=.8284 if test -f "$ac_dir/file"; then8285 lt_cv_path_MAGIC_CMD=$ac_dir/"file"8286 if test -n "$file_magic_test_file"; then8287 case $deplibs_check_method in8288 "file_magic "*)8289 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`8290 MAGIC_CMD=$lt_cv_path_MAGIC_CMD8291 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |8292 $EGREP "$file_magic_regex" > /dev/null; then8293 :8294 else8295 cat <<_LT_EOF 1>&28296 8297 *** Warning: the command libtool uses to detect shared libraries,8298 *** $file_magic_cmd, produces output that libtool cannot recognize.8299 *** The result is that libtool may fail to recognize shared libraries8300 *** as such. This will affect the creation of libtool libraries that8301 *** depend on shared libraries, but programs linked with such libtool8302 *** libraries will work regardless of this problem. Nevertheless, you8303 *** may want to report the problem to your system manager and/or to8304 *** bug-libtool@gnu.org8305 8306 _LT_EOF8307 fi ;;8308 esac8309 fi8310 break8311 fi8312 done8313 IFS=$lt_save_ifs8314 MAGIC_CMD=$lt_save_MAGIC_CMD8315 ;;8316 esac8317 fi8318 8319 MAGIC_CMD=$lt_cv_path_MAGIC_CMD8320 if test -n "$MAGIC_CMD"; then8321 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&58322 $as_echo "$MAGIC_CMD" >&6; }8323 else8324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&58325 $as_echo "no" >&6; }8326 fi8327 8328 8329 else8330 MAGIC_CMD=:8331 fi8332 fi8333 8334 fi8335 ;;8336 esac8337 8338 # Use C for the default configuration in the libtool script8339 8340 lt_save_CC=$CC8341 ac_ext=c8342 ac_cpp='$CPP $CPPFLAGS'8343 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'8344 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'8345 ac_compiler_gnu=$ac_cv_c_compiler_gnu8346 8347 8348 # Source file extension for C test sources.8349 ac_ext=c8350 8351 # Object file extension for compiled C test sources.8352 objext=o8353 objext=$objext8354 8355 # Code to be used in simple compile tests8356 lt_simple_compile_test_code="int some_variable = 0;"8357 8358 # Code to be used in simple link tests8359 lt_simple_link_test_code='int main(){return(0);}'8360 8361 8362 8363 8364 8365 8366 8367 # If no C compiler was specified, use CC.8368 LTCC=${LTCC-"$CC"}8369 8370 # If no C compiler flags were specified, use CFLAGS.8371 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}8372 8373 # Allow CC to be a program name with arguments.8374 compiler=$CC8375 8376 # Save the default compiler, since it gets overwritten when the other8377 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.8378 compiler_DEFAULT=$CC8379 8380 # save warnings/boilerplate of simple test code8381 ac_outfile=conftest.$ac_objext8382 echo "$lt_simple_compile_test_code" >conftest.$ac_ext8383 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err8384 _lt_compiler_boilerplate=`cat conftest.err`8385 $RM conftest*8386 8387 ac_outfile=conftest.$ac_objext8388 echo "$lt_simple_link_test_code" >conftest.$ac_ext8389 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err8390 _lt_linker_boilerplate=`cat conftest.err`8391 $RM -r conftest*8392 8393 8394 ## CAVEAT EMPTOR:8395 ## There is no encapsulation within the following macros, do not change8396 ## the running order or otherwise move them around unless you know exactly8397 ## what you are doing...8398 if test -n "$compiler"; then8399 8400 lt_prog_compiler_no_builtin_flag=8401 8402 if test yes = "$GCC"; then8403 case $cc_basename in8404 nvcc*)8405 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;8406 *)8407 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;8408 esac8409 8410 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&58411 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }8412 if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :8413 $as_echo_n "(cached) " >&68414 else8415 lt_cv_prog_compiler_rtti_exceptions=no8416 ac_outfile=conftest.$ac_objext8417 echo "$lt_simple_compile_test_code" > conftest.$ac_ext8418 lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment8419 # Insert the option either (1) after the last *FLAGS variable, or8420 # (2) before a word containing "conftest.", or (3) at the end.8421 # Note that $ac_compile itself does not contain backslashes and begins8422 # with a dollar sign (not a hyphen), so the echo should work correctly.8423 # The option is referenced via a variable to avoid confusing sed.8424 lt_compile=`echo "$ac_compile" | $SED \8425 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \8426 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \8427 -e 's:$: $lt_compiler_flag:'`8428 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)8429 (eval "$lt_compile" 2>conftest.err)8430 ac_status=$?8431 cat conftest.err >&58432 echo "$as_me:$LINENO: \$? = $ac_status" >&58433 if (exit $ac_status) && test -s "$ac_outfile"; then8434 # The compiler can only warn and ignore the option if not recognized8435 # So say no if there are warnings other than the usual output.8436 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp8437 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er28438 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then8439 lt_cv_prog_compiler_rtti_exceptions=yes8440 fi8441 fi8442 $RM conftest*8443 8444 fi8445 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&58446 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }8447 8448 if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then8449 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"8450 else8451 :8452 fi8453 8454 fi8455 8456 8457 8458 8459 8460 8461 lt_prog_compiler_wl=8462 lt_prog_compiler_pic=8463 lt_prog_compiler_static=8464 8465 8466 if test yes = "$GCC"; then8467 lt_prog_compiler_wl='-Wl,'8468 lt_prog_compiler_static='-static'8469 8470 case $host_os in8471 aix*)8472 # All AIX code is PIC.8473 if test ia64 = "$host_cpu"; then8474 # AIX 5 now supports IA64 processor8475 lt_prog_compiler_static='-Bstatic'8476 fi8477 lt_prog_compiler_pic='-fPIC'8478 ;;8479 8480 amigaos*)8481 case $host_cpu in8482 powerpc)8483 # see comment about AmigaOS4 .so support8484 lt_prog_compiler_pic='-fPIC'8485 ;;8486 m68k)8487 # FIXME: we need at least 68020 code to build shared libraries, but8488 # adding the '-m68020' flag to GCC prevents building anything better,8489 # like '-m68040'.8490 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'8491 ;;8492 esac8493 ;;8494 8495 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)8496 # PIC is the default for these OSes.8497 ;;8498 8499 mingw* | cygwin* | pw32* | os2* | cegcc*)8500 # This hack is so that the source file can tell whether it is being8501 # built for inclusion in a dll (and should export symbols for example).8502 # Although the cygwin gcc ignores -fPIC, still need this for old-style8503 # (--disable-auto-import) libraries8504 lt_prog_compiler_pic='-DDLL_EXPORT'8505 case $host_os in8506 os2*)8507 lt_prog_compiler_static='$wl-static'8508 ;;8509 esac8510 ;;8511 8512 darwin* | rhapsody*)8513 # PIC is the default on this platform8514 # Common symbols not allowed in MH_DYLIB files8515 lt_prog_compiler_pic='-fno-common'8516 ;;8517 8518 haiku*)8519 # PIC is the default for Haiku.8520 # The "-static" flag exists, but is broken.8521 lt_prog_compiler_static=8522 ;;8523 8524 hpux*)8525 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit8526 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag8527 # sets the default TLS model and affects inlining.8528 case $host_cpu in8529 hppa*64*)8530 # +Z the default8531 ;;8532 *)8533 lt_prog_compiler_pic='-fPIC'8534 ;;8535 esac8536 ;;8537 8538 interix[3-9]*)8539 # Interix 3.x gcc -fpic/-fPIC options generate broken code.8540 # Instead, we relocate shared libraries at runtime.8541 ;;8542 8543 msdosdjgpp*)8544 # Just because we use GCC doesn't mean we suddenly get shared libraries8545 # on systems that don't support them.8546 lt_prog_compiler_can_build_shared=no8547 enable_shared=no8548 ;;8549 8550 *nto* | *qnx*)8551 # QNX uses GNU C++, but need to define -shared option too, otherwise8552 # it will coredump.8553 lt_prog_compiler_pic='-fPIC -shared'8554 ;;8555 8556 sysv4*MP*)8557 if test -d /usr/nec; then8558 lt_prog_compiler_pic=-Kconform_pic8559 fi8560 ;;8561 8562 *)8563 lt_prog_compiler_pic='-fPIC'8564 ;;8565 esac8566 8567 case $cc_basename in8568 nvcc*) # Cuda Compiler Driver 2.28569 lt_prog_compiler_wl='-Xlinker '8570 if test -n "$lt_prog_compiler_pic"; then8571 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"8572 fi8573 ;;8574 esac8575 else8576 # PORTME Check for flag to pass linker flags through the system compiler.8577 case $host_os in8578 aix*)8579 lt_prog_compiler_wl='-Wl,'8580 if test ia64 = "$host_cpu"; then8581 # AIX 5 now supports IA64 processor8582 lt_prog_compiler_static='-Bstatic'8583 else8584 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'8585 fi8586 ;;8587 8588 darwin* | rhapsody*)8589 # PIC is the default on this platform8590 # Common symbols not allowed in MH_DYLIB files8591 lt_prog_compiler_pic='-fno-common'8592 case $cc_basename in8593 nagfor*)8594 # NAG Fortran compiler8595 lt_prog_compiler_wl='-Wl,-Wl,,'8596 lt_prog_compiler_pic='-PIC'8597 lt_prog_compiler_static='-Bstatic'8598 ;;8599 esac8600 ;;8601 8602 mingw* | cygwin* | pw32* | os2* | cegcc*)8603 # This hack is so that the source file can tell whether it is being8604 # built for inclusion in a dll (and should export symbols for example).8605 lt_prog_compiler_pic='-DDLL_EXPORT'8606 case $host_os in8607 os2*)8608 lt_prog_compiler_static='$wl-static'8609 ;;8610 esac8611 ;;8612 8613 hpux9* | hpux10* | hpux11*)8614 lt_prog_compiler_wl='-Wl,'8615 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but8616 # not for PA HP-UX.8617 case $host_cpu in8618 hppa*64*|ia64*)8619 # +Z the default8620 ;;8621 *)8622 lt_prog_compiler_pic='+Z'8623 ;;8624 esac8625 # Is there a better lt_prog_compiler_static that works with the bundled CC?8626 lt_prog_compiler_static='$wl-a ${wl}archive'8627 ;;8628 8629 irix5* | irix6* | nonstopux*)8630 lt_prog_compiler_wl='-Wl,'8631 # PIC (with -KPIC) is the default.8632 lt_prog_compiler_static='-non_shared'8633 ;;8634 8635 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)8636 case $cc_basename in8637 # old Intel for x86_64, which still supported -KPIC.8638 ecc*)8639 lt_prog_compiler_wl='-Wl,'8640 lt_prog_compiler_pic='-KPIC'8641 lt_prog_compiler_static='-static'8642 ;;8643 # icc used to be incompatible with GCC.8644 # ICC 10 doesn't accept -KPIC any more.8645 icc* | ifort*)8646 lt_prog_compiler_wl='-Wl,'8647 lt_prog_compiler_pic='-fPIC'8648 lt_prog_compiler_static='-static'8649 ;;8650 # Lahey Fortran 8.1.8651 lf95*)8652 lt_prog_compiler_wl='-Wl,'8653 lt_prog_compiler_pic='--shared'8654 lt_prog_compiler_static='--static'8655 ;;8656 nagfor*)8657 # NAG Fortran compiler8658 lt_prog_compiler_wl='-Wl,-Wl,,'8659 lt_prog_compiler_pic='-PIC'8660 lt_prog_compiler_static='-Bstatic'8661 ;;8662 tcc*)8663 # Fabrice Bellard et al's Tiny C Compiler8664 lt_prog_compiler_wl='-Wl,'8665 lt_prog_compiler_pic='-fPIC'8666 lt_prog_compiler_static='-static'8667 ;;8668 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)8669 # Portland Group compilers (*not* the Pentium gcc compiler,8670 # which looks to be a dead project)8671 lt_prog_compiler_wl='-Wl,'8672 lt_prog_compiler_pic='-fpic'8673 lt_prog_compiler_static='-Bstatic'8674 ;;8675 ccc*)8676 lt_prog_compiler_wl='-Wl,'8677 # All Alpha code is PIC.8678 lt_prog_compiler_static='-non_shared'8679 ;;8680 xl* | bgxl* | bgf* | mpixl*)8681 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene8682 lt_prog_compiler_wl='-Wl,'8683 lt_prog_compiler_pic='-qpic'8684 lt_prog_compiler_static='-qstaticlink'8685 ;;8686 *)8687 case `$CC -V 2>&1 | sed 5q` in8688 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)8689 # Sun Fortran 8.3 passes all unrecognized flags to the linker8690 lt_prog_compiler_pic='-KPIC'8691 lt_prog_compiler_static='-Bstatic'8692 lt_prog_compiler_wl=''8693 ;;8694 *Sun\ F* | *Sun*Fortran*)8695 lt_prog_compiler_pic='-KPIC'8696 lt_prog_compiler_static='-Bstatic'8697 lt_prog_compiler_wl='-Qoption ld '8698 ;;8699 *Sun\ C*)8700 # Sun C 5.98701 lt_prog_compiler_pic='-KPIC'8702 lt_prog_compiler_static='-Bstatic'8703 lt_prog_compiler_wl='-Wl,'8704 ;;8705 *Intel*\ [CF]*Compiler*)8706 lt_prog_compiler_wl='-Wl,'8707 lt_prog_compiler_pic='-fPIC'8708 lt_prog_compiler_static='-static'8709 ;;8710 *Portland\ Group*)8711 lt_prog_compiler_wl='-Wl,'8712 lt_prog_compiler_pic='-fpic'8713 lt_prog_compiler_static='-Bstatic'8714 ;;8715 esac8716 ;;8717 esac8718 ;;8719 8720 newsos6)8721 lt_prog_compiler_pic='-KPIC'8722 lt_prog_compiler_static='-Bstatic'8723 ;;8724 8725 *nto* | *qnx*)8726 # QNX uses GNU C++, but need to define -shared option too, otherwise8727 # it will coredump.8728 lt_prog_compiler_pic='-fPIC -shared'8729 ;;8730 8731 osf3* | osf4* | osf5*)8732 lt_prog_compiler_wl='-Wl,'8733 # All OSF/1 code is PIC.8734 lt_prog_compiler_static='-non_shared'8735 ;;8736 8737 rdos*)8738 lt_prog_compiler_static='-non_shared'8739 ;;8740 8741 solaris*)8742 lt_prog_compiler_pic='-KPIC'8743 lt_prog_compiler_static='-Bstatic'8744 case $cc_basename in8745 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)8746 lt_prog_compiler_wl='-Qoption ld ';;8747 *)8748 lt_prog_compiler_wl='-Wl,';;8749 esac8750 ;;8751 8752 sunos4*)8753 lt_prog_compiler_wl='-Qoption ld '8754 lt_prog_compiler_pic='-PIC'8755 lt_prog_compiler_static='-Bstatic'8756 ;;8757 8758 sysv4 | sysv4.2uw2* | sysv4.3*)8759 lt_prog_compiler_wl='-Wl,'8760 lt_prog_compiler_pic='-KPIC'8761 lt_prog_compiler_static='-Bstatic'8762 ;;8763 8764 sysv4*MP*)8765 if test -d /usr/nec; then8766 lt_prog_compiler_pic='-Kconform_pic'8767 lt_prog_compiler_static='-Bstatic'8768 fi8769 ;;8770 8771 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)8772 lt_prog_compiler_wl='-Wl,'8773 lt_prog_compiler_pic='-KPIC'8774 lt_prog_compiler_static='-Bstatic'8775 ;;8776 8777 unicos*)8778 lt_prog_compiler_wl='-Wl,'8779 lt_prog_compiler_can_build_shared=no8780 ;;8781 8782 uts4*)8783 lt_prog_compiler_pic='-pic'8784 lt_prog_compiler_static='-Bstatic'8785 ;;8786 8787 *)8788 lt_prog_compiler_can_build_shared=no8789 ;;8790 esac8791 fi8792 8793 case $host_os in8794 # For platforms that do not support PIC, -DPIC is meaningless:8795 *djgpp*)8796 lt_prog_compiler_pic=8797 ;;8798 *)8799 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"8800 ;;8801 esac8802 8803 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&58804 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }8805 if ${lt_cv_prog_compiler_pic+:} false; then :8806 $as_echo_n "(cached) " >&68807 else8808 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic8809 fi8810 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&58811 $as_echo "$lt_cv_prog_compiler_pic" >&6; }8812 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic8813 8814 #8815 # Check to make sure the PIC flag actually works.8816 #8817 if test -n "$lt_prog_compiler_pic"; then8818 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&58819 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }8820 if ${lt_cv_prog_compiler_pic_works+:} false; then :8821 $as_echo_n "(cached) " >&68822 else8823 lt_cv_prog_compiler_pic_works=no8824 ac_outfile=conftest.$ac_objext8825 echo "$lt_simple_compile_test_code" > conftest.$ac_ext8826 lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment8827 # Insert the option either (1) after the last *FLAGS variable, or8828 # (2) before a word containing "conftest.", or (3) at the end.8829 # Note that $ac_compile itself does not contain backslashes and begins8830 # with a dollar sign (not a hyphen), so the echo should work correctly.8831 # The option is referenced via a variable to avoid confusing sed.8832 lt_compile=`echo "$ac_compile" | $SED \8833 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \8834 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \8835 -e 's:$: $lt_compiler_flag:'`8836 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)8837 (eval "$lt_compile" 2>conftest.err)8838 ac_status=$?8839 cat conftest.err >&58840 echo "$as_me:$LINENO: \$? = $ac_status" >&58841 if (exit $ac_status) && test -s "$ac_outfile"; then8842 # The compiler can only warn and ignore the option if not recognized8843 # So say no if there are warnings other than the usual output.8844 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp8845 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er28846 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then8847 lt_cv_prog_compiler_pic_works=yes8848 fi8849 fi8850 $RM conftest*8851 8852 fi8853 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&58854 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }8855 8856 if test yes = "$lt_cv_prog_compiler_pic_works"; then8857 case $lt_prog_compiler_pic in8858 "" | " "*) ;;8859 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;8860 esac8861 else8862 lt_prog_compiler_pic=8863 lt_prog_compiler_can_build_shared=no8864 fi8865 8866 fi8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 #8879 # Check to make sure the static flag actually works.8880 #8881 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"8882 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&58883 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }8884 if ${lt_cv_prog_compiler_static_works+:} false; then :8885 $as_echo_n "(cached) " >&68886 else8887 lt_cv_prog_compiler_static_works=no8888 save_LDFLAGS=$LDFLAGS8889 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"8890 echo "$lt_simple_link_test_code" > conftest.$ac_ext8891 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then8892 # The linker can only warn and ignore the option if not recognized8893 # So say no if there are warnings8894 if test -s conftest.err; then8895 # Append any errors to the config.log.8896 cat conftest.err 1>&58897 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp8898 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er28899 if diff conftest.exp conftest.er2 >/dev/null; then8900 lt_cv_prog_compiler_static_works=yes8901 fi8902 else8903 lt_cv_prog_compiler_static_works=yes8904 fi8905 fi8906 $RM -r conftest*8907 LDFLAGS=$save_LDFLAGS8908 8909 fi8910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&58911 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }8912 8913 if test yes = "$lt_cv_prog_compiler_static_works"; then8914 :8915 else8916 lt_prog_compiler_static=8917 fi8918 8919 8920 8921 8922 8923 8924 8925 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&58926 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }8927 if ${lt_cv_prog_compiler_c_o+:} false; then :8928 $as_echo_n "(cached) " >&68929 else8930 lt_cv_prog_compiler_c_o=no8931 $RM -r conftest 2>/dev/null8932 mkdir conftest8933 cd conftest8934 mkdir out8935 echo "$lt_simple_compile_test_code" > conftest.$ac_ext8936 8937 lt_compiler_flag="-o out/conftest2.$ac_objext"8938 # Insert the option either (1) after the last *FLAGS variable, or8939 # (2) before a word containing "conftest.", or (3) at the end.8940 # Note that $ac_compile itself does not contain backslashes and begins8941 # with a dollar sign (not a hyphen), so the echo should work correctly.8942 lt_compile=`echo "$ac_compile" | $SED \8943 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \8944 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \8945 -e 's:$: $lt_compiler_flag:'`8946 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)8947 (eval "$lt_compile" 2>out/conftest.err)8948 ac_status=$?8949 cat out/conftest.err >&58950 echo "$as_me:$LINENO: \$? = $ac_status" >&58951 if (exit $ac_status) && test -s out/conftest2.$ac_objext8952 then8953 # The compiler can only warn and ignore the option if not recognized8954 # So say no if there are warnings8955 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp8956 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er28957 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then8958 lt_cv_prog_compiler_c_o=yes8959 fi8960 fi8961 chmod u+w . 2>&58962 $RM conftest*8963 # SGI C++ compiler will create directory out/ii_files/ for8964 # template instantiation8965 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files8966 $RM out/* && rmdir out8967 cd ..8968 $RM -r conftest8969 $RM conftest*8970 8971 fi8972 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&58973 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }8974 8975 8976 8977 8978 8979 8980 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&58981 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }8982 if ${lt_cv_prog_compiler_c_o+:} false; then :8983 $as_echo_n "(cached) " >&68984 else8985 lt_cv_prog_compiler_c_o=no8986 $RM -r conftest 2>/dev/null8987 mkdir conftest8988 cd conftest8989 mkdir out8990 echo "$lt_simple_compile_test_code" > conftest.$ac_ext8991 8992 lt_compiler_flag="-o out/conftest2.$ac_objext"8993 # Insert the option either (1) after the last *FLAGS variable, or8994 # (2) before a word containing "conftest.", or (3) at the end.8995 # Note that $ac_compile itself does not contain backslashes and begins8996 # with a dollar sign (not a hyphen), so the echo should work correctly.8997 lt_compile=`echo "$ac_compile" | $SED \8998 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \8999 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \9000 -e 's:$: $lt_compiler_flag:'`9001 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)9002 (eval "$lt_compile" 2>out/conftest.err)9003 ac_status=$?9004 cat out/conftest.err >&59005 echo "$as_me:$LINENO: \$? = $ac_status" >&59006 if (exit $ac_status) && test -s out/conftest2.$ac_objext9007 then9008 # The compiler can only warn and ignore the option if not recognized9009 # So say no if there are warnings9010 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp9011 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er29012 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then9013 lt_cv_prog_compiler_c_o=yes9014 fi9015 fi9016 chmod u+w . 2>&59017 $RM conftest*9018 # SGI C++ compiler will create directory out/ii_files/ for9019 # template instantiation9020 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files9021 $RM out/* && rmdir out9022 cd ..9023 $RM -r conftest9024 $RM conftest*9025 9026 fi9027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&59028 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }9029 9030 9031 9032 9033 hard_links=nottested9034 if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then9035 # do not overwrite the value of need_locks provided by the user9036 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&59037 $as_echo_n "checking if we can lock with hard links... " >&6; }9038 hard_links=yes9039 $RM conftest*9040 ln conftest.a conftest.b 2>/dev/null && hard_links=no9041 touch conftest.a9042 ln conftest.a conftest.b 2>&5 || hard_links=no9043 ln conftest.a conftest.b 2>/dev/null && hard_links=no9044 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&59045 $as_echo "$hard_links" >&6; }9046 if test no = "$hard_links"; then9047 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&59048 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}9049 need_locks=warn9050 fi9051 else9052 need_locks=no9053 fi9054 9055 9056 9057 9058 9059 9060 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&59061 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }9062 9063 runpath_var=9064 allow_undefined_flag=9065 always_export_symbols=no9066 archive_cmds=9067 archive_expsym_cmds=9068 compiler_needs_object=no9069 enable_shared_with_static_runtimes=no9070 export_dynamic_flag_spec=9071 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'9072 hardcode_automatic=no9073 hardcode_direct=no9074 hardcode_direct_absolute=no9075 hardcode_libdir_flag_spec=9076 hardcode_libdir_separator=9077 hardcode_minus_L=no9078 hardcode_shlibpath_var=unsupported9079 inherit_rpath=no9080 link_all_deplibs=unknown9081 module_cmds=9082 module_expsym_cmds=9083 old_archive_from_new_cmds=9084 old_archive_from_expsyms_cmds=9085 thread_safe_flag_spec=9086 whole_archive_flag_spec=9087 # include_expsyms should be a list of space-separated symbols to be *always*9088 # included in the symbol list9089 include_expsyms=9090 # exclude_expsyms can be an extended regexp of symbols to exclude9091 # it will be wrapped by ' (' and ')$', so one must not match beginning or9092 # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',9093 # as well as any symbol that contains 'd'.9094 exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'9095 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out9096 # platforms (ab)use it in PIC code, but their linkers get confused if9097 # the symbol is explicitly referenced. Since portable code cannot9098 # rely on this symbol name, it's probably fine to never include it in9099 # preloaded symbol tables.9100 # Exclude shared library initialization/finalization symbols.9101 extract_expsyms_cmds=9102 9103 case $host_os in9104 cygwin* | mingw* | pw32* | cegcc*)9105 # FIXME: the MSVC++ port hasn't been tested in a loooong time9106 # When not using gcc, we currently assume that we are using9107 # Microsoft Visual C++.9108 if test yes != "$GCC"; then9109 with_gnu_ld=no9110 fi9111 ;;9112 interix*)9113 # we just hope/assume this is gcc and not c89 (= MSVC++)9114 with_gnu_ld=yes9115 ;;9116 openbsd* | bitrig*)9117 with_gnu_ld=no9118 ;;9119 linux* | k*bsd*-gnu | gnu*)9120 link_all_deplibs=no9121 ;;9122 esac9123 9124 ld_shlibs=yes9125 9126 # On some targets, GNU ld is compatible enough with the native linker9127 # that we're better off using the native interface for both.9128 lt_use_gnu_ld_interface=no9129 if test yes = "$with_gnu_ld"; then9130 case $host_os in9131 aix*)9132 # The AIX port of GNU ld has always aspired to compatibility9133 # with the native linker. However, as the warning in the GNU ld9134 # block says, versions before 2.19.5* couldn't really create working9135 # shared libraries, regardless of the interface used.9136 case `$LD -v 2>&1` in9137 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;9138 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;9139 *\ \(GNU\ Binutils\)\ [3-9]*) ;;9140 *)9141 lt_use_gnu_ld_interface=yes9142 ;;9143 esac9144 ;;9145 *)9146 lt_use_gnu_ld_interface=yes9147 ;;9148 esac9149 fi9150 9151 if test yes = "$lt_use_gnu_ld_interface"; then9152 # If archive_cmds runs LD, not CC, wlarc should be empty9153 wlarc='$wl'9154 9155 # Set some defaults for GNU ld with shared library support. These9156 # are reset later if shared libraries are not supported. Putting them9157 # here allows them to be overridden if necessary.9158 runpath_var=LD_RUN_PATH9159 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'9160 export_dynamic_flag_spec='$wl--export-dynamic'9161 # ancient GNU ld didn't support --whole-archive et. al.9162 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then9163 whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'9164 else9165 whole_archive_flag_spec=9166 fi9167 supports_anon_versioning=no9168 case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in9169 *GNU\ gold*) supports_anon_versioning=yes ;;9170 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.119171 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...9172 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...9173 *\ 2.11.*) ;; # other 2.11 versions9174 *) supports_anon_versioning=yes ;;9175 esac9176 9177 # See if GNU ld supports shared libraries.9178 case $host_os in9179 aix[3-9]*)9180 # On AIX/PPC, the GNU linker is very broken9181 if test ia64 != "$host_cpu"; then9182 ld_shlibs=no9183 cat <<_LT_EOF 1>&29184 9185 *** Warning: the GNU linker, at least up to release 2.19, is reported9186 *** to be unable to reliably create shared libraries on AIX.9187 *** Therefore, libtool is disabling shared libraries support. If you9188 *** really care for shared libraries, you may want to install binutils9189 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.9190 *** You will then need to restart the configuration process.9191 9192 _LT_EOF9193 fi9194 ;;9195 9196 amigaos*)9197 case $host_cpu in9198 powerpc)9199 # see comment about AmigaOS4 .so support9200 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9201 archive_expsym_cmds=''9202 ;;9203 m68k)9204 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'9205 hardcode_libdir_flag_spec='-L$libdir'9206 hardcode_minus_L=yes9207 ;;9208 esac9209 ;;9210 9211 beos*)9212 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then9213 allow_undefined_flag=unsupported9214 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc9215 # support --undefined. This deserves some investigation. FIXME9216 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9217 else9218 ld_shlibs=no9219 fi9220 ;;9221 9222 cygwin* | mingw* | pw32* | cegcc*)9223 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,9224 # as there is no search path for DLLs.9225 hardcode_libdir_flag_spec='-L$libdir'9226 export_dynamic_flag_spec='$wl--export-all-symbols'9227 allow_undefined_flag=unsupported9228 always_export_symbols=no9229 enable_shared_with_static_runtimes=yes9230 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'9231 exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'9232 9233 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then9234 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'9235 # If the export-symbols file already is a .def file, use it as9236 # is; otherwise, prepend EXPORTS...9237 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then9238 cp $export_symbols $output_objdir/$soname.def;9239 else9240 echo EXPORTS > $output_objdir/$soname.def;9241 cat $export_symbols >> $output_objdir/$soname.def;9242 fi~9243 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'9244 else9245 ld_shlibs=no9246 fi9247 ;;9248 9249 haiku*)9250 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9251 link_all_deplibs=yes9252 ;;9253 9254 os2*)9255 hardcode_libdir_flag_spec='-L$libdir'9256 hardcode_minus_L=yes9257 allow_undefined_flag=unsupported9258 shrext_cmds=.dll9259 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~9260 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~9261 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~9262 $ECHO EXPORTS >> $output_objdir/$libname.def~9263 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~9264 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~9265 emximp -o $lib $output_objdir/$libname.def'9266 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~9267 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~9268 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~9269 $ECHO EXPORTS >> $output_objdir/$libname.def~9270 prefix_cmds="$SED"~9271 if test EXPORTS = "`$SED 1q $export_symbols`"; then9272 prefix_cmds="$prefix_cmds -e 1d";9273 fi~9274 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~9275 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~9276 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~9277 emximp -o $lib $output_objdir/$libname.def'9278 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'9279 enable_shared_with_static_runtimes=yes9280 ;;9281 9282 interix[3-9]*)9283 hardcode_direct=no9284 hardcode_shlibpath_var=no9285 hardcode_libdir_flag_spec='$wl-rpath,$libdir'9286 export_dynamic_flag_spec='$wl-E'9287 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.9288 # Instead, shared libraries are loaded at an image base (0x10000000 by9289 # default) and relocated if they conflict, which is a slow very memory9290 # consuming and fragmenting process. To avoid this, we pick a random,9291 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link9292 # time. Moving up from 0x10000000 also allows more sbrk(2) space.9293 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'9294 archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'9295 ;;9296 9297 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)9298 tmp_diet=no9299 if test linux-dietlibc = "$host_os"; then9300 case $cc_basename in9301 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)9302 esac9303 fi9304 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \9305 && test no = "$tmp_diet"9306 then9307 tmp_addflag=' $pic_flag'9308 tmp_sharedflag='-shared'9309 case $cc_basename,$host_cpu in9310 pgcc*) # Portland Group C compiler9311 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'9312 tmp_addflag=' $pic_flag'9313 ;;9314 pgf77* | pgf90* | pgf95* | pgfortran*)9315 # Portland Group f77 and f90 compilers9316 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'9317 tmp_addflag=' $pic_flag -Mnomain' ;;9318 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia649319 tmp_addflag=' -i_dynamic' ;;9320 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia649321 tmp_addflag=' -i_dynamic -nofor_main' ;;9322 ifc* | ifort*) # Intel Fortran compiler9323 tmp_addflag=' -nofor_main' ;;9324 lf95*) # Lahey Fortran 8.19325 whole_archive_flag_spec=9326 tmp_sharedflag='--shared' ;;9327 nagfor*) # NAGFOR 5.39328 tmp_sharedflag='-Wl,-shared' ;;9329 xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)9330 tmp_sharedflag='-qmkshrobj'9331 tmp_addflag= ;;9332 nvcc*) # Cuda Compiler Driver 2.29333 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'9334 compiler_needs_object=yes9335 ;;9336 esac9337 case `$CC -V 2>&1 | sed 5q` in9338 *Sun\ C*) # Sun C 5.99339 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'9340 compiler_needs_object=yes9341 tmp_sharedflag='-G' ;;9342 *Sun\ F*) # Sun Fortran 8.39343 tmp_sharedflag='-G' ;;9344 esac9345 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9346 9347 if test yes = "$supports_anon_versioning"; then9348 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~9349 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~9350 echo "local: *; };" >> $output_objdir/$libname.ver~9351 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'9352 fi9353 9354 case $cc_basename in9355 tcc*)9356 export_dynamic_flag_spec='-rdynamic'9357 ;;9358 xlf* | bgf* | bgxlf* | mpixlf*)9359 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself9360 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'9361 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'9362 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'9363 if test yes = "$supports_anon_versioning"; then9364 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~9365 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~9366 echo "local: *; };" >> $output_objdir/$libname.ver~9367 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'9368 fi9369 ;;9370 esac9371 else9372 ld_shlibs=no9373 fi9374 ;;9375 9376 netbsd* | netbsdelf*-gnu)9377 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then9378 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'9379 wlarc=9380 else9381 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9382 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'9383 fi9384 ;;9385 9386 solaris*)9387 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then9388 ld_shlibs=no9389 cat <<_LT_EOF 1>&29390 9391 *** Warning: The releases 2.8.* of the GNU linker cannot reliably9392 *** create shared libraries on Solaris systems. Therefore, libtool9393 *** is disabling shared libraries support. We urge you to upgrade GNU9394 *** binutils to release 2.9.1 or newer. Another option is to modify9395 *** your PATH or compiler configuration so that the native linker is9396 *** used, and then restart.9397 9398 _LT_EOF9399 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then9400 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9401 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'9402 else9403 ld_shlibs=no9404 fi9405 ;;9406 9407 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)9408 case `$LD -v 2>&1` in9409 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)9410 ld_shlibs=no9411 cat <<_LT_EOF 1>&29412 9413 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot9414 *** reliably create shared libraries on SCO systems. Therefore, libtool9415 *** is disabling shared libraries support. We urge you to upgrade GNU9416 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify9417 *** your PATH or compiler configuration so that the native linker is9418 *** used, and then restart.9419 9420 _LT_EOF9421 ;;9422 *)9423 # For security reasons, it is highly recommended that you always9424 # use absolute paths for naming shared libraries, and exclude the9425 # DT_RUNPATH tag from executables and libraries. But doing so9426 # requires that you compile everything twice, which is a pain.9427 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then9428 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'9429 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9430 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'9431 else9432 ld_shlibs=no9433 fi9434 ;;9435 esac9436 ;;9437 9438 sunos4*)9439 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'9440 wlarc=9441 hardcode_direct=yes9442 hardcode_shlibpath_var=no9443 ;;9444 9445 *)9446 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then9447 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9448 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'9449 else9450 ld_shlibs=no9451 fi9452 ;;9453 esac9454 9455 if test no = "$ld_shlibs"; then9456 runpath_var=9457 hardcode_libdir_flag_spec=9458 export_dynamic_flag_spec=9459 whole_archive_flag_spec=9460 fi9461 else9462 # PORTME fill in a description of your system's linker (not GNU ld)9463 case $host_os in9464 aix3*)9465 allow_undefined_flag=unsupported9466 always_export_symbols=yes9467 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'9468 # Note: this linker hardcodes the directories in LIBPATH if there9469 # are no directories specified by -L.9470 hardcode_minus_L=yes9471 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then9472 # Neither direct hardcoding nor static linking is supported with a9473 # broken collect2.9474 hardcode_direct=unsupported9475 fi9476 ;;9477 9478 aix[4-9]*)9479 if test ia64 = "$host_cpu"; then9480 # On IA64, the linker does run time linking by default, so we don't9481 # have to do anything special.9482 aix_use_runtimelinking=no9483 exp_sym_flag='-Bexport'9484 no_entry_flag=9485 else9486 # If we're using GNU nm, then we don't want the "-C" option.9487 # -C means demangle to GNU nm, but means don't demangle to AIX nm.9488 # Without the "-l" option, or with the "-B" option, AIX nm treats9489 # weak defined symbols like other global defined symbols, whereas9490 # GNU nm marks them as "W".9491 # While the 'weak' keyword is ignored in the Export File, we need9492 # it in the Import File for the 'aix-soname' feature, so we have9493 # to replace the "-B" option with "-P" for AIX nm.9494 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then9495 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'9496 else9497 export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'9498 fi9499 aix_use_runtimelinking=no9500 9501 # Test if we are trying to use run time linking or normal9502 # AIX style linking. If -brtl is somewhere in LDFLAGS, we9503 # have runtime linking enabled, and use it for executables.9504 # For shared libraries, we enable/disable runtime linking9505 # depending on the kind of the shared library created -9506 # when "with_aix_soname,aix_use_runtimelinking" is:9507 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables9508 # "aix,yes" lib.so shared, rtl:yes, for executables9509 # lib.a static archive9510 # "both,no" lib.so.V(shr.o) shared, rtl:yes9511 # lib.a(lib.so.V) shared, rtl:no, for executables9512 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables9513 # lib.a(lib.so.V) shared, rtl:no9514 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables9515 # lib.a static archive9516 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)9517 for ld_flag in $LDFLAGS; do9518 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then9519 aix_use_runtimelinking=yes9520 break9521 fi9522 done9523 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then9524 # With aix-soname=svr4, we create the lib.so.V shared archives only,9525 # so we don't have lib.a shared libs to link our executables.9526 # We have to force runtime linking in this case.9527 aix_use_runtimelinking=yes9528 LDFLAGS="$LDFLAGS -Wl,-brtl"9529 fi9530 ;;9531 esac9532 9533 exp_sym_flag='-bexport'9534 no_entry_flag='-bnoentry'9535 fi9536 9537 # When large executables or shared objects are built, AIX ld can9538 # have problems creating the table of contents. If linking a library9539 # or program results in "error TOC overflow" add -mminimal-toc to9540 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not9541 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.9542 9543 archive_cmds=''9544 hardcode_direct=yes9545 hardcode_direct_absolute=yes9546 hardcode_libdir_separator=':'9547 link_all_deplibs=yes9548 file_list_spec='$wl-f,'9549 case $with_aix_soname,$aix_use_runtimelinking in9550 aix,*) ;; # traditional, no import file9551 svr4,* | *,yes) # use import file9552 # The Import File defines what to hardcode.9553 hardcode_direct=no9554 hardcode_direct_absolute=no9555 ;;9556 esac9557 9558 if test yes = "$GCC"; then9559 case $host_os in aix4.[012]|aix4.[012].*)9560 # We only want to do this on AIX 4.2 and lower, the check9561 # below for broken collect2 doesn't work under 4.3+9562 collect2name=`$CC -print-prog-name=collect2`9563 if test -f "$collect2name" &&9564 strings "$collect2name" | $GREP resolve_lib_name >/dev/null9565 then9566 # We have reworked collect29567 :9568 else9569 # We have old collect29570 hardcode_direct=unsupported9571 # It fails to find uninstalled libraries when the uninstalled9572 # path is not listed in the libpath. Setting hardcode_minus_L9573 # to unsupported forces relinking9574 hardcode_minus_L=yes9575 hardcode_libdir_flag_spec='-L$libdir'9576 hardcode_libdir_separator=9577 fi9578 ;;9579 esac9580 shared_flag='-shared'9581 if test yes = "$aix_use_runtimelinking"; then9582 shared_flag="$shared_flag "'$wl-G'9583 fi9584 # Need to ensure runtime linking is disabled for the traditional9585 # shared library, or the linker may eventually find shared libraries9586 # /with/ Import File - we do not want to mix them.9587 shared_flag_aix='-shared'9588 shared_flag_svr4='-shared $wl-G'9589 else9590 # not using gcc9591 if test ia64 = "$host_cpu"; then9592 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release9593 # chokes on -Wl,-G. The following line is correct:9594 shared_flag='-G'9595 else9596 if test yes = "$aix_use_runtimelinking"; then9597 shared_flag='$wl-G'9598 else9599 shared_flag='$wl-bM:SRE'9600 fi9601 shared_flag_aix='$wl-bM:SRE'9602 shared_flag_svr4='$wl-G'9603 fi9604 fi9605 9606 export_dynamic_flag_spec='$wl-bexpall'9607 # It seems that -bexpall does not export symbols beginning with9608 # underscore (_), so it is better to generate a list of symbols to export.9609 always_export_symbols=yes9610 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then9611 # Warning - without using the other runtime loading flags (-brtl),9612 # -berok will link without error, but may produce a broken library.9613 allow_undefined_flag='-berok'9614 # Determine the default libpath from the value encoded in an9615 # empty executable.9616 if test set = "${lt_cv_aix_libpath+set}"; then9617 aix_libpath=$lt_cv_aix_libpath9618 else9619 if ${lt_cv_aix_libpath_+:} false; then :9620 $as_echo_n "(cached) " >&69621 else9622 cat confdefs.h - <<_ACEOF >conftest.$ac_ext9623 /* end confdefs.h. */9624 9625 int9626 main ()9627 {9628 9629 ;9630 return 0;9631 }9632 _ACEOF9633 if ac_fn_c_try_link "$LINENO"; then :9634 9635 lt_aix_libpath_sed='9636 /Import File Strings/,/^$/ {9637 /^0/ {9638 s/^0 *\([^ ]*\) *$/\1/9639 p9640 }9641 }'9642 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`9643 # Check for a 64-bit object if we didn't find anything.9644 if test -z "$lt_cv_aix_libpath_"; then9645 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`9646 fi9647 fi9648 rm -f core conftest.err conftest.$ac_objext \9649 conftest$ac_exeext conftest.$ac_ext9650 if test -z "$lt_cv_aix_libpath_"; then9651 lt_cv_aix_libpath_=/usr/lib:/lib9652 fi9653 9654 fi9655 9656 aix_libpath=$lt_cv_aix_libpath_9657 fi9658 9659 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"9660 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag9661 else9662 if test ia64 = "$host_cpu"; then9663 hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'9664 allow_undefined_flag="-z nodefs"9665 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"9666 else9667 # Determine the default libpath from the value encoded in an9668 # empty executable.9669 if test set = "${lt_cv_aix_libpath+set}"; then9670 aix_libpath=$lt_cv_aix_libpath9671 else9672 if ${lt_cv_aix_libpath_+:} false; then :9673 $as_echo_n "(cached) " >&69674 else9675 cat confdefs.h - <<_ACEOF >conftest.$ac_ext9676 /* end confdefs.h. */9677 9678 int9679 main ()9680 {9681 9682 ;9683 return 0;9684 }9685 _ACEOF9686 if ac_fn_c_try_link "$LINENO"; then :9687 9688 lt_aix_libpath_sed='9689 /Import File Strings/,/^$/ {9690 /^0/ {9691 s/^0 *\([^ ]*\) *$/\1/9692 p9693 }9694 }'9695 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`9696 # Check for a 64-bit object if we didn't find anything.9697 if test -z "$lt_cv_aix_libpath_"; then9698 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`9699 fi9700 fi9701 rm -f core conftest.err conftest.$ac_objext \9702 conftest$ac_exeext conftest.$ac_ext9703 if test -z "$lt_cv_aix_libpath_"; then9704 lt_cv_aix_libpath_=/usr/lib:/lib9705 fi9706 9707 fi9708 9709 aix_libpath=$lt_cv_aix_libpath_9710 fi9711 9712 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"9713 # Warning - without using the other run time loading flags,9714 # -berok will link without error, but may produce a broken library.9715 no_undefined_flag=' $wl-bernotok'9716 allow_undefined_flag=' $wl-berok'9717 if test yes = "$with_gnu_ld"; then9718 # We only use this code for GNU lds that support --whole-archive.9719 whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'9720 else9721 # Exported symbols can be pulled into shared objects from archives9722 whole_archive_flag_spec='$convenience'9723 fi9724 archive_cmds_need_lc=yes9725 archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'9726 # -brtl affects multiple linker settings, -berok does not and is overridden later9727 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'9728 if test svr4 != "$with_aix_soname"; then9729 # This is similar to how AIX traditionally builds its shared libraries.9730 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'9731 fi9732 if test aix != "$with_aix_soname"; then9733 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'9734 else9735 # used by -dlpreopen to get the symbols9736 archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'9737 fi9738 archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'9739 fi9740 fi9741 ;;9742 9743 amigaos*)9744 case $host_cpu in9745 powerpc)9746 # see comment about AmigaOS4 .so support9747 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'9748 archive_expsym_cmds=''9749 ;;9750 m68k)9751 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'9752 hardcode_libdir_flag_spec='-L$libdir'9753 hardcode_minus_L=yes9754 ;;9755 esac9756 ;;9757 9758 bsdi[45]*)9759 export_dynamic_flag_spec=-rdynamic9760 ;;9761 9762 cygwin* | mingw* | pw32* | cegcc*)9763 # When not using gcc, we currently assume that we are using9764 # Microsoft Visual C++.9765 # hardcode_libdir_flag_spec is actually meaningless, as there is9766 # no search path for DLLs.9767 case $cc_basename in9768 cl*)9769 # Native MSVC9770 hardcode_libdir_flag_spec=' '9771 allow_undefined_flag=unsupported9772 always_export_symbols=yes9773 file_list_spec='@'9774 # Tell ltmain to make .lib files, not .a files.9775 libext=lib9776 # Tell ltmain to make .dll files, not .so files.9777 shrext_cmds=.dll9778 # FIXME: Setting linknames here is a bad hack.9779 archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='9780 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then9781 cp "$export_symbols" "$output_objdir/$soname.def";9782 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";9783 else9784 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;9785 fi~9786 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~9787 linknames='9788 # The linker will not automatically build a static lib if we build a DLL.9789 # _LT_TAGVAR(old_archive_from_new_cmds, )='true'9790 enable_shared_with_static_runtimes=yes9791 exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'9792 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'9793 # Don't use ranlib9794 old_postinstall_cmds='chmod 644 $oldlib'9795 postlink_cmds='lt_outputfile="@OUTPUT@"~9796 lt_tool_outputfile="@TOOL_OUTPUT@"~9797 case $lt_outputfile in9798 *.exe|*.EXE) ;;9799 *)9800 lt_outputfile=$lt_outputfile.exe9801 lt_tool_outputfile=$lt_tool_outputfile.exe9802 ;;9803 esac~9804 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then9805 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;9806 $RM "$lt_outputfile.manifest";9807 fi'9808 ;;9809 *)9810 # Assume MSVC wrapper9811 hardcode_libdir_flag_spec=' '9812 allow_undefined_flag=unsupported9813 # Tell ltmain to make .lib files, not .a files.9814 libext=lib9815 # Tell ltmain to make .dll files, not .so files.9816 shrext_cmds=.dll9817 # FIXME: Setting linknames here is a bad hack.9818 archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='9819 # The linker will automatically build a .lib file if we build a DLL.9820 old_archive_from_new_cmds='true'9821 # FIXME: Should let the user specify the lib program.9822 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'9823 enable_shared_with_static_runtimes=yes9824 ;;9825 esac9826 ;;9827 9828 darwin* | rhapsody*)9829 9830 9831 archive_cmds_need_lc=no9832 hardcode_direct=no9833 hardcode_automatic=yes9834 hardcode_shlibpath_var=unsupported9835 if test yes = "$lt_cv_ld_force_load"; then9836 whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'9837 9838 else9839 whole_archive_flag_spec=''9840 fi9841 link_all_deplibs=yes9842 allow_undefined_flag=$_lt_dar_allow_undefined9843 case $cc_basename in9844 ifort*|nagfor*) _lt_dar_can_shared=yes ;;9845 *) _lt_dar_can_shared=$GCC ;;9846 esac9847 if test yes = "$_lt_dar_can_shared"; then9848 output_verbose_link_cmd=func_echo_all9849 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"9850 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"9851 archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"9852 module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"9853 9854 else9855 ld_shlibs=no9856 fi9857 9858 ;;9859 9860 dgux*)9861 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'9862 hardcode_libdir_flag_spec='-L$libdir'9863 hardcode_shlibpath_var=no9864 ;;9865 9866 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor9867 # support. Future versions do this automatically, but an explicit c++rt0.o9868 # does not break anything, and helps significantly (at the cost of a little9869 # extra space).9870 freebsd2.2*)9871 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'9872 hardcode_libdir_flag_spec='-R$libdir'9873 hardcode_direct=yes9874 hardcode_shlibpath_var=no9875 ;;9876 9877 # Unfortunately, older versions of FreeBSD 2 do not have this feature.9878 freebsd2.*)9879 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'9880 hardcode_direct=yes9881 hardcode_minus_L=yes9882 hardcode_shlibpath_var=no9883 ;;9884 9885 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.9886 freebsd* | dragonfly*)9887 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'9888 hardcode_libdir_flag_spec='-R$libdir'9889 hardcode_direct=yes9890 hardcode_shlibpath_var=no9891 ;;9892 9893 hpux9*)9894 if test yes = "$GCC"; then9895 archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'9896 else9897 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'9898 fi9899 hardcode_libdir_flag_spec='$wl+b $wl$libdir'9900 hardcode_libdir_separator=:9901 hardcode_direct=yes9902 9903 # hardcode_minus_L: Not really in the search PATH,9904 # but as the default location of the library.9905 hardcode_minus_L=yes9906 export_dynamic_flag_spec='$wl-E'9907 ;;9908 9909 hpux10*)9910 if test yes,no = "$GCC,$with_gnu_ld"; then9911 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'9912 else9913 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'9914 fi9915 if test no = "$with_gnu_ld"; then9916 hardcode_libdir_flag_spec='$wl+b $wl$libdir'9917 hardcode_libdir_separator=:9918 hardcode_direct=yes9919 hardcode_direct_absolute=yes9920 export_dynamic_flag_spec='$wl-E'9921 # hardcode_minus_L: Not really in the search PATH,9922 # but as the default location of the library.9923 hardcode_minus_L=yes9924 fi9925 ;;9926 9927 hpux11*)9928 if test yes,no = "$GCC,$with_gnu_ld"; then9929 case $host_cpu in9930 hppa*64*)9931 archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'9932 ;;9933 ia64*)9934 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'9935 ;;9936 *)9937 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'9938 ;;9939 esac9940 else9941 case $host_cpu in9942 hppa*64*)9943 archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'9944 ;;9945 ia64*)9946 archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'9947 ;;9948 *)9949 9950 # Older versions of the 11.00 compiler do not understand -b yet9951 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)9952 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&59953 $as_echo_n "checking if $CC understands -b... " >&6; }9954 if ${lt_cv_prog_compiler__b+:} false; then :9955 $as_echo_n "(cached) " >&69956 else9957 lt_cv_prog_compiler__b=no9958 save_LDFLAGS=$LDFLAGS9959 LDFLAGS="$LDFLAGS -b"9960 echo "$lt_simple_link_test_code" > conftest.$ac_ext9961 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then9962 # The linker can only warn and ignore the option if not recognized9963 # So say no if there are warnings9964 if test -s conftest.err; then9965 # Append any errors to the config.log.9966 cat conftest.err 1>&59967 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp9968 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er29969 if diff conftest.exp conftest.er2 >/dev/null; then9970 lt_cv_prog_compiler__b=yes9971 fi9972 else9973 lt_cv_prog_compiler__b=yes9974 fi9975 fi9976 $RM -r conftest*9977 LDFLAGS=$save_LDFLAGS9978 9979 fi9980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&59981 $as_echo "$lt_cv_prog_compiler__b" >&6; }9982 9983 if test yes = "$lt_cv_prog_compiler__b"; then9984 archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'9985 else9986 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'9987 fi9988 9989 ;;9990 esac9991 fi9992 if test no = "$with_gnu_ld"; then9993 hardcode_libdir_flag_spec='$wl+b $wl$libdir'9994 hardcode_libdir_separator=:9995 9996 case $host_cpu in9997 hppa*64*|ia64*)9998 hardcode_direct=no9999 hardcode_shlibpath_var=no10000 ;;10001 *)10002 hardcode_direct=yes10003 hardcode_direct_absolute=yes10004 export_dynamic_flag_spec='$wl-E'10005 10006 # hardcode_minus_L: Not really in the search PATH,10007 # but as the default location of the library.10008 hardcode_minus_L=yes10009 ;;10010 esac10011 fi10012 ;;10013 10014 irix5* | irix6* | nonstopux*)10015 if test yes = "$GCC"; then10016 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'10017 # Try to use the -exported_symbol ld option, if it does not10018 # work, assume that -exports_file does not work either and10019 # implicitly export all symbols.10020 # This should be the same for all languages, so no per-tag cache variable.10021 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&510022 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }10023 if ${lt_cv_irix_exported_symbol+:} false; then :10024 $as_echo_n "(cached) " >&610025 else10026 save_LDFLAGS=$LDFLAGS10027 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"10028 cat confdefs.h - <<_ACEOF >conftest.$ac_ext10029 /* end confdefs.h. */10030 int foo (void) { return 0; }10031 _ACEOF10032 if ac_fn_c_try_link "$LINENO"; then :10033 lt_cv_irix_exported_symbol=yes10034 else10035 lt_cv_irix_exported_symbol=no10036 fi10037 rm -f core conftest.err conftest.$ac_objext \10038 conftest$ac_exeext conftest.$ac_ext10039 LDFLAGS=$save_LDFLAGS10040 fi10041 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&510042 $as_echo "$lt_cv_irix_exported_symbol" >&6; }10043 if test yes = "$lt_cv_irix_exported_symbol"; then10044 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'10045 fi10046 link_all_deplibs=no10047 else10048 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'10049 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'10050 fi10051 archive_cmds_need_lc='no'10052 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10053 hardcode_libdir_separator=:10054 inherit_rpath=yes10055 link_all_deplibs=yes10056 ;;10057 10058 linux*)10059 case $cc_basename in10060 tcc*)10061 # Fabrice Bellard et al's Tiny C Compiler10062 ld_shlibs=yes10063 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'10064 ;;10065 esac10066 ;;10067 10068 netbsd* | netbsdelf*-gnu)10069 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then10070 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out10071 else10072 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF10073 fi10074 hardcode_libdir_flag_spec='-R$libdir'10075 hardcode_direct=yes10076 hardcode_shlibpath_var=no10077 ;;10078 10079 newsos6)10080 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10081 hardcode_direct=yes10082 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10083 hardcode_libdir_separator=:10084 hardcode_shlibpath_var=no10085 ;;10086 10087 *nto* | *qnx*)10088 ;;10089 10090 openbsd* | bitrig*)10091 if test -f /usr/libexec/ld.so; then10092 hardcode_direct=yes10093 hardcode_shlibpath_var=no10094 hardcode_direct_absolute=yes10095 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then10096 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'10097 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'10098 hardcode_libdir_flag_spec='$wl-rpath,$libdir'10099 export_dynamic_flag_spec='$wl-E'10100 else10101 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'10102 hardcode_libdir_flag_spec='$wl-rpath,$libdir'10103 fi10104 else10105 ld_shlibs=no10106 fi10107 ;;10108 10109 os2*)10110 hardcode_libdir_flag_spec='-L$libdir'10111 hardcode_minus_L=yes10112 allow_undefined_flag=unsupported10113 shrext_cmds=.dll10114 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~10115 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~10116 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~10117 $ECHO EXPORTS >> $output_objdir/$libname.def~10118 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~10119 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~10120 emximp -o $lib $output_objdir/$libname.def'10121 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~10122 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~10123 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~10124 $ECHO EXPORTS >> $output_objdir/$libname.def~10125 prefix_cmds="$SED"~10126 if test EXPORTS = "`$SED 1q $export_symbols`"; then10127 prefix_cmds="$prefix_cmds -e 1d";10128 fi~10129 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~10130 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~10131 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~10132 emximp -o $lib $output_objdir/$libname.def'10133 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'10134 enable_shared_with_static_runtimes=yes10135 ;;10136 10137 osf3*)10138 if test yes = "$GCC"; then10139 allow_undefined_flag=' $wl-expect_unresolved $wl\*'10140 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'10141 else10142 allow_undefined_flag=' -expect_unresolved \*'10143 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'10144 fi10145 archive_cmds_need_lc='no'10146 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10147 hardcode_libdir_separator=:10148 ;;10149 10150 osf4* | osf5*) # as osf3* with the addition of -msym flag10151 if test yes = "$GCC"; then10152 allow_undefined_flag=' $wl-expect_unresolved $wl\*'10153 archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'10154 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'10155 else10156 allow_undefined_flag=' -expect_unresolved \*'10157 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'10158 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~10159 $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'10160 10161 # Both c and cxx compiler support -rpath directly10162 hardcode_libdir_flag_spec='-rpath $libdir'10163 fi10164 archive_cmds_need_lc='no'10165 hardcode_libdir_separator=:10166 ;;10167 10168 solaris*)10169 no_undefined_flag=' -z defs'10170 if test yes = "$GCC"; then10171 wlarc='$wl'10172 archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'10173 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~10174 $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'10175 else10176 case `$CC -V 2>&1` in10177 *"Compilers 5.0"*)10178 wlarc=''10179 archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'10180 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~10181 $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'10182 ;;10183 *)10184 wlarc='$wl'10185 archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'10186 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~10187 $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'10188 ;;10189 esac10190 fi10191 hardcode_libdir_flag_spec='-R$libdir'10192 hardcode_shlibpath_var=no10193 case $host_os in10194 solaris2.[0-5] | solaris2.[0-5].*) ;;10195 *)10196 # The compiler driver will combine and reorder linker options,10197 # but understands '-z linker_flag'. GCC discards it without '$wl',10198 # but is careful enough not to reorder.10199 # Supported since Solaris 2.6 (maybe 2.5.1?)10200 if test yes = "$GCC"; then10201 whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'10202 else10203 whole_archive_flag_spec='-z allextract$convenience -z defaultextract'10204 fi10205 ;;10206 esac10207 link_all_deplibs=yes10208 ;;10209 10210 sunos4*)10211 if test sequent = "$host_vendor"; then10212 # Use $CC to link under sequent, because it throws in some extra .o10213 # files that make .init and .fini sections work.10214 archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'10215 else10216 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'10217 fi10218 hardcode_libdir_flag_spec='-L$libdir'10219 hardcode_direct=yes10220 hardcode_minus_L=yes10221 hardcode_shlibpath_var=no10222 ;;10223 10224 sysv4)10225 case $host_vendor in10226 sni)10227 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10228 hardcode_direct=yes # is this really true???10229 ;;10230 siemens)10231 ## LD is ld it makes a PLAMLIB10232 ## CC just makes a GrossModule.10233 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'10234 reload_cmds='$CC -r -o $output$reload_objs'10235 hardcode_direct=no10236 ;;10237 motorola)10238 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10239 hardcode_direct=no #Motorola manual says yes, but my tests say they lie10240 ;;10241 esac10242 runpath_var='LD_RUN_PATH'10243 hardcode_shlibpath_var=no10244 ;;10245 10246 sysv4.3*)10247 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10248 hardcode_shlibpath_var=no10249 export_dynamic_flag_spec='-Bexport'10250 ;;10251 10252 sysv4*MP*)10253 if test -d /usr/nec; then10254 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10255 hardcode_shlibpath_var=no10256 runpath_var=LD_RUN_PATH10257 hardcode_runpath_var=yes10258 ld_shlibs=yes10259 fi10260 ;;10261 10262 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)10263 no_undefined_flag='$wl-z,text'10264 archive_cmds_need_lc=no10265 hardcode_shlibpath_var=no10266 runpath_var='LD_RUN_PATH'10267 10268 if test yes = "$GCC"; then10269 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10270 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10271 else10272 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10273 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10274 fi10275 ;;10276 10277 sysv5* | sco3.2v5* | sco5v6*)10278 # Note: We CANNOT use -z defs as we might desire, because we do not10279 # link with -lc, and that would cause any symbols used from libc to10280 # always be unresolved, which means just about no library would10281 # ever link correctly. If we're not using GNU ld we use -z text10282 # though, which does catch some bad symbols but isn't as heavy-handed10283 # as -z defs.10284 no_undefined_flag='$wl-z,text'10285 allow_undefined_flag='$wl-z,nodefs'10286 archive_cmds_need_lc=no10287 hardcode_shlibpath_var=no10288 hardcode_libdir_flag_spec='$wl-R,$libdir'10289 hardcode_libdir_separator=':'10290 link_all_deplibs=yes10291 export_dynamic_flag_spec='$wl-Bexport'10292 runpath_var='LD_RUN_PATH'10293 10294 if test yes = "$GCC"; then10295 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10296 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10297 else10298 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10299 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'10300 fi10301 ;;10302 10303 uts4*)10304 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'10305 hardcode_libdir_flag_spec='-L$libdir'10306 hardcode_shlibpath_var=no10307 ;;10308 10309 *)10310 ld_shlibs=no10311 ;;10312 esac10313 10314 if test sni = "$host_vendor"; then10315 case $host in10316 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)10317 export_dynamic_flag_spec='$wl-Blargedynsym'10318 ;;10319 esac10320 fi10321 fi10322 10323 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&510324 $as_echo "$ld_shlibs" >&6; }10325 test no = "$ld_shlibs" && can_build_shared=no10326 10327 with_gnu_ld=$with_gnu_ld10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 #10344 # Do we need to explicitly link libc?10345 #10346 case "x$archive_cmds_need_lc" in10347 x|xyes)10348 # Assume -lc should be added10349 archive_cmds_need_lc=yes10350 10351 if test yes,yes = "$GCC,$enable_shared"; then10352 case $archive_cmds in10353 *'~'*)10354 # FIXME: we may have to deal with multi-command sequences.10355 ;;10356 '$CC '*)10357 # Test whether the compiler implicitly links with -lc since on some10358 # systems, -lgcc has to come before -lc. If gcc already passes -lc10359 # to ld, don't add -lc before -lgcc.10360 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&510361 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }10362 if ${lt_cv_archive_cmds_need_lc+:} false; then :10363 $as_echo_n "(cached) " >&610364 else10365 $RM conftest*10366 echo "$lt_simple_compile_test_code" > conftest.$ac_ext10367 10368 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&510369 (eval $ac_compile) 2>&510370 ac_status=$?10371 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&510372 test $ac_status = 0; } 2>conftest.err; then10373 soname=conftest10374 lib=conftest10375 libobjs=conftest.$ac_objext10376 deplibs=10377 wl=$lt_prog_compiler_wl10378 pic_flag=$lt_prog_compiler_pic10379 compiler_flags=-v10380 linker_flags=-v10381 verstring=10382 output_objdir=.10383 libname=conftest10384 lt_save_allow_undefined_flag=$allow_undefined_flag10385 allow_undefined_flag=10386 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&510387 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&510388 ac_status=$?10389 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&510390 test $ac_status = 0; }10391 then10392 lt_cv_archive_cmds_need_lc=no10393 else10394 lt_cv_archive_cmds_need_lc=yes10395 fi10396 allow_undefined_flag=$lt_save_allow_undefined_flag10397 else10398 cat conftest.err 1>&510399 fi10400 $RM conftest*10401 10402 fi10403 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&510404 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; }10405 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc10406 ;;10407 esac10408 fi10409 ;;10410 esac10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&510564 $as_echo_n "checking dynamic linker characteristics... " >&6; }10565 10566 if test yes = "$GCC"; then10567 case $host_os in10568 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;10569 *) lt_awk_arg='/^libraries:/' ;;10570 esac10571 case $host_os in10572 mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;10573 *) lt_sed_strip_eq='s|=/|/|g' ;;10574 esac10575 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`10576 case $lt_search_path_spec in10577 *\;*)10578 # if the path contains ";" then we assume it to be the separator10579 # otherwise default to the standard path separator (i.e. ":") - it is10580 # assumed that no part of a normal pathname contains ";" but that should10581 # okay in the real world where ";" in dirpaths is itself problematic.10582 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`10583 ;;10584 *)10585 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`10586 ;;10587 esac10588 # Ok, now we have the path, separated by spaces, we can step through it10589 # and add multilib dir if necessary...10590 lt_tmp_lt_search_path_spec=10591 lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`10592 # ...but if some path component already ends with the multilib dir we assume10593 # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).10594 case "$lt_multi_os_dir; $lt_search_path_spec " in10595 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)10596 lt_multi_os_dir=10597 ;;10598 esac10599 for lt_sys_path in $lt_search_path_spec; do10600 if test -d "$lt_sys_path$lt_multi_os_dir"; then10601 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"10602 elif test -n "$lt_multi_os_dir"; then10603 test -d "$lt_sys_path" && \10604 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"10605 fi10606 done10607 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '10608 BEGIN {RS = " "; FS = "/|\n";} {10609 lt_foo = "";10610 lt_count = 0;10611 for (lt_i = NF; lt_i > 0; lt_i--) {10612 if ($lt_i != "" && $lt_i != ".") {10613 if ($lt_i == "..") {10614 lt_count++;10615 } else {10616 if (lt_count == 0) {10617 lt_foo = "/" $lt_i lt_foo;10618 } else {10619 lt_count--;10620 }10621 }10622 }10623 }10624 if (lt_foo != "") { lt_freq[lt_foo]++; }10625 if (lt_freq[lt_foo] == 1) { print lt_foo; }10626 }'`10627 # AWK program above erroneously prepends '/' to C:/dos/paths10628 # for these hosts.10629 case $host_os in10630 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\10631 $SED 's|/\([A-Za-z]:\)|\1|g'` ;;10632 esac10633 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`10634 else10635 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"10636 fi10637 library_names_spec=10638 libname_spec='lib$name'10639 soname_spec=10640 shrext_cmds=.so10641 postinstall_cmds=10642 postuninstall_cmds=10643 finish_cmds=10644 finish_eval=10645 shlibpath_var=10646 shlibpath_overrides_runpath=unknown10647 version_type=none10648 dynamic_linker="$host_os ld.so"10649 sys_lib_dlsearch_path_spec="/lib /usr/lib"10650 need_lib_prefix=unknown10651 hardcode_into_libs=no10652 10653 # when you set need_version to no, make sure it does not cause -set_version10654 # flags to be left without arguments10655 need_version=unknown10656 10657 10658 10659 case $host_os in10660 aix3*)10661 version_type=linux # correct to gnu/linux during the next big refactor10662 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'10663 shlibpath_var=LIBPATH10664 10665 # AIX 3 has no versioning support, so we append a major version to the name.10666 soname_spec='$libname$release$shared_ext$major'10667 ;;10668 10669 aix[4-9]*)10670 version_type=linux # correct to gnu/linux during the next big refactor10671 need_lib_prefix=no10672 need_version=no10673 hardcode_into_libs=yes10674 if test ia64 = "$host_cpu"; then10675 # AIX 5 supports IA6410676 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'10677 shlibpath_var=LD_LIBRARY_PATH10678 else10679 # With GCC up to 2.95.x, collect2 would create an import file10680 # for dependence libraries. The import file would start with10681 # the line '#! .'. This would cause the generated library to10682 # depend on '.', always an invalid library. This was fixed in10683 # development snapshots of GCC prior to 3.0.10684 case $host_os in10685 aix4 | aix4.[01] | aix4.[01].*)10686 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'10687 echo ' yes '10688 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then10689 :10690 else10691 can_build_shared=no10692 fi10693 ;;10694 esac10695 # Using Import Files as archive members, it is possible to support10696 # filename-based versioning of shared library archives on AIX. While10697 # this would work for both with and without runtime linking, it will10698 # prevent static linking of such archives. So we do filename-based10699 # shared library versioning with .so extension only, which is used10700 # when both runtime linking and shared linking is enabled.10701 # Unfortunately, runtime linking may impact performance, so we do10702 # not want this to be the default eventually. Also, we use the10703 # versioned .so libs for executables only if there is the -brtl10704 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.10705 # To allow for filename-based versioning support, we need to create10706 # libNAME.so.V as an archive file, containing:10707 # *) an Import File, referring to the versioned filename of the10708 # archive as well as the shared archive member, telling the10709 # bitwidth (32 or 64) of that shared object, and providing the10710 # list of exported symbols of that shared object, eventually10711 # decorated with the 'weak' keyword10712 # *) the shared object with the F_LOADONLY flag set, to really avoid10713 # it being seen by the linker.10714 # At run time we better use the real file rather than another symlink,10715 # but for link time we create the symlink libNAME.so -> libNAME.so.V10716 10717 case $with_aix_soname,$aix_use_runtimelinking in10718 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct10719 # soname into executable. Probably we can add versioning support to10720 # collect2, so additional links can be useful in future.10721 aix,yes) # traditional libtool10722 dynamic_linker='AIX unversionable lib.so'10723 # If using run time linking (on AIX 4.2 or later) use lib<name>.so10724 # instead of lib<name>.a to let people know that these are not10725 # typical AIX shared libraries.10726 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10727 ;;10728 aix,no) # traditional AIX only10729 dynamic_linker='AIX lib.a(lib.so.V)'10730 # We preserve .a as extension for shared libraries through AIX4.210731 # and later when we are not doing run time linking.10732 library_names_spec='$libname$release.a $libname.a'10733 soname_spec='$libname$release$shared_ext$major'10734 ;;10735 svr4,*) # full svr4 only10736 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"10737 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'10738 # We do not specify a path in Import Files, so LIBPATH fires.10739 shlibpath_overrides_runpath=yes10740 ;;10741 *,yes) # both, prefer svr410742 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"10743 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'10744 # unpreferred sharedlib libNAME.a needs extra handling10745 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'10746 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'10747 # We do not specify a path in Import Files, so LIBPATH fires.10748 shlibpath_overrides_runpath=yes10749 ;;10750 *,no) # both, prefer aix10751 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"10752 library_names_spec='$libname$release.a $libname.a'10753 soname_spec='$libname$release$shared_ext$major'10754 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling10755 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'10756 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'10757 ;;10758 esac10759 shlibpath_var=LIBPATH10760 fi10761 ;;10762 10763 amigaos*)10764 case $host_cpu in10765 powerpc)10766 # Since July 2007 AmigaOS4 officially supports .so libraries.10767 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.10768 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10769 ;;10770 m68k)10771 library_names_spec='$libname.ixlibrary $libname.a'10772 # Create ${libname}_ixlibrary.a entries in /sys/libs.10773 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'10774 ;;10775 esac10776 ;;10777 10778 beos*)10779 library_names_spec='$libname$shared_ext'10780 dynamic_linker="$host_os ld.so"10781 shlibpath_var=LIBRARY_PATH10782 ;;10783 10784 bsdi[45]*)10785 version_type=linux # correct to gnu/linux during the next big refactor10786 need_version=no10787 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10788 soname_spec='$libname$release$shared_ext$major'10789 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'10790 shlibpath_var=LD_LIBRARY_PATH10791 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"10792 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"10793 # the default ld.so.conf also contains /usr/contrib/lib and10794 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow10795 # libtool to hard-code these into programs10796 ;;10797 10798 cygwin* | mingw* | pw32* | cegcc*)10799 version_type=windows10800 shrext_cmds=.dll10801 need_version=no10802 need_lib_prefix=no10803 10804 case $GCC,$cc_basename in10805 yes,*)10806 # gcc10807 library_names_spec='$libname.dll.a'10808 # DLL is installed to $(libdir)/../bin by postinstall_cmds10809 postinstall_cmds='base_file=`basename \$file`~10810 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~10811 dldir=$destdir/`dirname \$dlpath`~10812 test -d \$dldir || mkdir -p \$dldir~10813 $install_prog $dir/$dlname \$dldir/$dlname~10814 chmod a+x \$dldir/$dlname~10815 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then10816 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;10817 fi'10818 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~10819 dlpath=$dir/\$dldll~10820 $RM \$dlpath'10821 shlibpath_overrides_runpath=yes10822 10823 case $host_os in10824 cygwin*)10825 # Cygwin DLLs use 'cyg' prefix rather than 'lib'10826 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'10827 10828 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"10829 ;;10830 mingw* | cegcc*)10831 # MinGW DLLs use traditional 'lib' prefix10832 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'10833 ;;10834 pw32*)10835 # pw32 DLLs use 'pw' prefix rather than 'lib'10836 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'10837 ;;10838 esac10839 dynamic_linker='Win32 ld.exe'10840 ;;10841 10842 *,cl*)10843 # Native MSVC10844 libname_spec='$name'10845 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'10846 library_names_spec='$libname.dll.lib'10847 10848 case $build_os in10849 mingw*)10850 sys_lib_search_path_spec=10851 lt_save_ifs=$IFS10852 IFS=';'10853 for lt_path in $LIB10854 do10855 IFS=$lt_save_ifs10856 # Let DOS variable expansion print the short 8.3 style file name.10857 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`10858 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"10859 done10860 IFS=$lt_save_ifs10861 # Convert to MSYS style.10862 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`10863 ;;10864 cygwin*)10865 # Convert to unix form, then to dos form, then back to unix form10866 # but this time dos style (no spaces!) so that the unix form looks10867 # like /cygdrive/c/PROGRA~1:/cygdr...10868 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`10869 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`10870 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`10871 ;;10872 *)10873 sys_lib_search_path_spec=$LIB10874 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then10875 # It is most probably a Windows format PATH.10876 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`10877 else10878 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`10879 fi10880 # FIXME: find the short name or the path components, as spaces are10881 # common. (e.g. "Program Files" -> "PROGRA~1")10882 ;;10883 esac10884 10885 # DLL is installed to $(libdir)/../bin by postinstall_cmds10886 postinstall_cmds='base_file=`basename \$file`~10887 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~10888 dldir=$destdir/`dirname \$dlpath`~10889 test -d \$dldir || mkdir -p \$dldir~10890 $install_prog $dir/$dlname \$dldir/$dlname'10891 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~10892 dlpath=$dir/\$dldll~10893 $RM \$dlpath'10894 shlibpath_overrides_runpath=yes10895 dynamic_linker='Win32 link.exe'10896 ;;10897 10898 *)10899 # Assume MSVC wrapper10900 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'10901 dynamic_linker='Win32 ld.exe'10902 ;;10903 esac10904 # FIXME: first we should search . and the directory the executable is in10905 shlibpath_var=PATH10906 ;;10907 10908 darwin* | rhapsody*)10909 dynamic_linker="$host_os dyld"10910 version_type=darwin10911 need_lib_prefix=no10912 need_version=no10913 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'10914 soname_spec='$libname$release$major$shared_ext'10915 shlibpath_overrides_runpath=yes10916 shlibpath_var=DYLD_LIBRARY_PATH10917 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'10918 10919 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"10920 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'10921 ;;10922 10923 dgux*)10924 version_type=linux # correct to gnu/linux during the next big refactor10925 need_lib_prefix=no10926 need_version=no10927 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10928 soname_spec='$libname$release$shared_ext$major'10929 shlibpath_var=LD_LIBRARY_PATH10930 ;;10931 10932 freebsd* | dragonfly*)10933 # DragonFly does not have aout. When/if they implement a new10934 # versioning mechanism, adjust this.10935 if test -x /usr/bin/objformat; then10936 objformat=`/usr/bin/objformat`10937 else10938 case $host_os in10939 freebsd[23].*) objformat=aout ;;10940 *) objformat=elf ;;10941 esac10942 fi10943 version_type=freebsd-$objformat10944 case $version_type in10945 freebsd-elf*)10946 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10947 soname_spec='$libname$release$shared_ext$major'10948 need_version=no10949 need_lib_prefix=no10950 ;;10951 freebsd-*)10952 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'10953 need_version=yes10954 ;;10955 esac10956 shlibpath_var=LD_LIBRARY_PATH10957 case $host_os in10958 freebsd2.*)10959 shlibpath_overrides_runpath=yes10960 ;;10961 freebsd3.[01]* | freebsdelf3.[01]*)10962 shlibpath_overrides_runpath=yes10963 hardcode_into_libs=yes10964 ;;10965 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \10966 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)10967 shlibpath_overrides_runpath=no10968 hardcode_into_libs=yes10969 ;;10970 *) # from 4.6 on, and DragonFly10971 shlibpath_overrides_runpath=yes10972 hardcode_into_libs=yes10973 ;;10974 esac10975 ;;10976 10977 haiku*)10978 version_type=linux # correct to gnu/linux during the next big refactor10979 need_lib_prefix=no10980 need_version=no10981 dynamic_linker="$host_os runtime_loader"10982 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'10983 soname_spec='$libname$release$shared_ext$major'10984 shlibpath_var=LIBRARY_PATH10985 shlibpath_overrides_runpath=no10986 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'10987 hardcode_into_libs=yes10988 ;;10989 10990 hpux9* | hpux10* | hpux11*)10991 # Give a soname corresponding to the major version so that dld.sl refuses to10992 # link against other versions.10993 version_type=sunos10994 need_lib_prefix=no10995 need_version=no10996 case $host_cpu in10997 ia64*)10998 shrext_cmds='.so'10999 hardcode_into_libs=yes11000 dynamic_linker="$host_os dld.so"11001 shlibpath_var=LD_LIBRARY_PATH11002 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.11003 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11004 soname_spec='$libname$release$shared_ext$major'11005 if test 32 = "$HPUX_IA64_MODE"; then11006 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"11007 sys_lib_dlsearch_path_spec=/usr/lib/hpux3211008 else11009 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"11010 sys_lib_dlsearch_path_spec=/usr/lib/hpux6411011 fi11012 ;;11013 hppa*64*)11014 shrext_cmds='.sl'11015 hardcode_into_libs=yes11016 dynamic_linker="$host_os dld.sl"11017 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH11018 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.11019 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11020 soname_spec='$libname$release$shared_ext$major'11021 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"11022 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec11023 ;;11024 *)11025 shrext_cmds='.sl'11026 dynamic_linker="$host_os dld.sl"11027 shlibpath_var=SHLIB_PATH11028 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH11029 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11030 soname_spec='$libname$release$shared_ext$major'11031 ;;11032 esac11033 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...11034 postinstall_cmds='chmod 555 $lib'11035 # or fails outright, so override atomically:11036 install_override_mode=55511037 ;;11038 11039 interix[3-9]*)11040 version_type=linux # correct to gnu/linux during the next big refactor11041 need_lib_prefix=no11042 need_version=no11043 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11044 soname_spec='$libname$release$shared_ext$major'11045 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'11046 shlibpath_var=LD_LIBRARY_PATH11047 shlibpath_overrides_runpath=no11048 hardcode_into_libs=yes11049 ;;11050 11051 irix5* | irix6* | nonstopux*)11052 case $host_os in11053 nonstopux*) version_type=nonstopux ;;11054 *)11055 if test yes = "$lt_cv_prog_gnu_ld"; then11056 version_type=linux # correct to gnu/linux during the next big refactor11057 else11058 version_type=irix11059 fi ;;11060 esac11061 need_lib_prefix=no11062 need_version=no11063 soname_spec='$libname$release$shared_ext$major'11064 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'11065 case $host_os in11066 irix5* | nonstopux*)11067 libsuff= shlibsuff=11068 ;;11069 *)11070 case $LD in # libtool.m4 will add one of these switches to LD11071 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")11072 libsuff= shlibsuff= libmagic=32-bit;;11073 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")11074 libsuff=32 shlibsuff=N32 libmagic=N32;;11075 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")11076 libsuff=64 shlibsuff=64 libmagic=64-bit;;11077 *) libsuff= shlibsuff= libmagic=never-match;;11078 esac11079 ;;11080 esac11081 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH11082 shlibpath_overrides_runpath=no11083 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"11084 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"11085 hardcode_into_libs=yes11086 ;;11087 11088 # No shared lib support for Linux oldld, aout, or coff.11089 linux*oldld* | linux*aout* | linux*coff*)11090 dynamic_linker=no11091 ;;11092 11093 linux*android*)11094 version_type=none # Android doesn't support versioned libraries.11095 need_lib_prefix=no11096 need_version=no11097 library_names_spec='$libname$release$shared_ext'11098 soname_spec='$libname$release$shared_ext'11099 finish_cmds=11100 shlibpath_var=LD_LIBRARY_PATH11101 shlibpath_overrides_runpath=yes11102 11103 # This implies no fast_install, which is unacceptable.11104 # Some rework will be needed to allow for fast_install11105 # before this can be enabled.11106 hardcode_into_libs=yes11107 11108 dynamic_linker='Android linker'11109 # Don't embed -rpath directories since the linker doesn't support them.11110 hardcode_libdir_flag_spec='-L$libdir'11111 ;;11112 11113 # This must be glibc/ELF.11114 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)11115 version_type=linux # correct to gnu/linux during the next big refactor11116 need_lib_prefix=no11117 need_version=no11118 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11119 soname_spec='$libname$release$shared_ext$major'11120 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'11121 shlibpath_var=LD_LIBRARY_PATH11122 shlibpath_overrides_runpath=no11123 11124 # Some binutils ld are patched to set DT_RUNPATH11125 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :11126 $as_echo_n "(cached) " >&611127 else11128 lt_cv_shlibpath_overrides_runpath=no11129 save_LDFLAGS=$LDFLAGS11130 save_libdir=$libdir11131 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \11132 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""11133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11134 /* end confdefs.h. */11135 11136 int11137 main ()11138 {11139 11140 ;11141 return 0;11142 }11143 _ACEOF11144 if ac_fn_c_try_link "$LINENO"; then :11145 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :11146 lt_cv_shlibpath_overrides_runpath=yes11147 fi11148 fi11149 rm -f core conftest.err conftest.$ac_objext \11150 conftest$ac_exeext conftest.$ac_ext11151 LDFLAGS=$save_LDFLAGS11152 libdir=$save_libdir11153 11154 fi11155 11156 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath11157 11158 # This implies no fast_install, which is unacceptable.11159 # Some rework will be needed to allow for fast_install11160 # before this can be enabled.11161 hardcode_into_libs=yes11162 11163 # Ideally, we could use ldconfig to report *all* directores which are11164 # searched for libraries, however this is still not possible. Aside from not11165 # being certain /sbin/ldconfig is available, command11166 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,11167 # even though it is searched at run-time. Try to do the best guess by11168 # appending ld.so.conf contents (and includes) to the search path.11169 if test -f /etc/ld.so.conf; then11170 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`11171 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"11172 fi11173 11174 # We used to test for /lib/ld.so.1 and disable shared libraries on11175 # powerpc, because MkLinux only supported shared libraries with the11176 # GNU dynamic linker. Since this was broken with cross compilers,11177 # most powerpc-linux boxes support dynamic linking these days and11178 # people can always --disable-shared, the test was removed, and we11179 # assume the GNU/Linux dynamic linker is in use.11180 dynamic_linker='GNU/Linux ld.so'11181 ;;11182 11183 netbsdelf*-gnu)11184 version_type=linux11185 need_lib_prefix=no11186 need_version=no11187 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'11188 soname_spec='${libname}${release}${shared_ext}$major'11189 shlibpath_var=LD_LIBRARY_PATH11190 shlibpath_overrides_runpath=no11191 hardcode_into_libs=yes11192 dynamic_linker='NetBSD ld.elf_so'11193 ;;11194 11195 netbsd*)11196 version_type=sunos11197 need_lib_prefix=no11198 need_version=no11199 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then11200 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'11201 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'11202 dynamic_linker='NetBSD (a.out) ld.so'11203 else11204 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11205 soname_spec='$libname$release$shared_ext$major'11206 dynamic_linker='NetBSD ld.elf_so'11207 fi11208 shlibpath_var=LD_LIBRARY_PATH11209 shlibpath_overrides_runpath=yes11210 hardcode_into_libs=yes11211 ;;11212 11213 newsos6)11214 version_type=linux # correct to gnu/linux during the next big refactor11215 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11216 shlibpath_var=LD_LIBRARY_PATH11217 shlibpath_overrides_runpath=yes11218 ;;11219 11220 *nto* | *qnx*)11221 version_type=qnx11222 need_lib_prefix=no11223 need_version=no11224 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11225 soname_spec='$libname$release$shared_ext$major'11226 shlibpath_var=LD_LIBRARY_PATH11227 shlibpath_overrides_runpath=no11228 hardcode_into_libs=yes11229 dynamic_linker='ldqnx.so'11230 ;;11231 11232 openbsd* | bitrig*)11233 version_type=sunos11234 sys_lib_dlsearch_path_spec=/usr/lib11235 need_lib_prefix=no11236 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then11237 need_version=no11238 else11239 need_version=yes11240 fi11241 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'11242 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'11243 shlibpath_var=LD_LIBRARY_PATH11244 shlibpath_overrides_runpath=yes11245 ;;11246 11247 os2*)11248 libname_spec='$name'11249 version_type=windows11250 shrext_cmds=.dll11251 need_version=no11252 need_lib_prefix=no11253 # OS/2 can only load a DLL with a base name of 8 characters or less.11254 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";11255 v=$($ECHO $release$versuffix | tr -d .-);11256 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);11257 $ECHO $n$v`$shared_ext'11258 library_names_spec='${libname}_dll.$libext'11259 dynamic_linker='OS/2 ld.exe'11260 shlibpath_var=BEGINLIBPATH11261 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"11262 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec11263 postinstall_cmds='base_file=`basename \$file`~11264 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~11265 dldir=$destdir/`dirname \$dlpath`~11266 test -d \$dldir || mkdir -p \$dldir~11267 $install_prog $dir/$dlname \$dldir/$dlname~11268 chmod a+x \$dldir/$dlname~11269 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then11270 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;11271 fi'11272 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~11273 dlpath=$dir/\$dldll~11274 $RM \$dlpath'11275 ;;11276 11277 osf3* | osf4* | osf5*)11278 version_type=osf11279 need_lib_prefix=no11280 need_version=no11281 soname_spec='$libname$release$shared_ext$major'11282 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11283 shlibpath_var=LD_LIBRARY_PATH11284 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"11285 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec11286 ;;11287 11288 rdos*)11289 dynamic_linker=no11290 ;;11291 11292 solaris*)11293 version_type=linux # correct to gnu/linux during the next big refactor11294 need_lib_prefix=no11295 need_version=no11296 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11297 soname_spec='$libname$release$shared_ext$major'11298 shlibpath_var=LD_LIBRARY_PATH11299 shlibpath_overrides_runpath=yes11300 hardcode_into_libs=yes11301 # ldd complains unless libraries are executable11302 postinstall_cmds='chmod +x $lib'11303 ;;11304 11305 sunos4*)11306 version_type=sunos11307 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'11308 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'11309 shlibpath_var=LD_LIBRARY_PATH11310 shlibpath_overrides_runpath=yes11311 if test yes = "$with_gnu_ld"; then11312 need_lib_prefix=no11313 fi11314 need_version=yes11315 ;;11316 11317 sysv4 | sysv4.3*)11318 version_type=linux # correct to gnu/linux during the next big refactor11319 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11320 soname_spec='$libname$release$shared_ext$major'11321 shlibpath_var=LD_LIBRARY_PATH11322 case $host_vendor in11323 sni)11324 shlibpath_overrides_runpath=no11325 need_lib_prefix=no11326 runpath_var=LD_RUN_PATH11327 ;;11328 siemens)11329 need_lib_prefix=no11330 ;;11331 motorola)11332 need_lib_prefix=no11333 need_version=no11334 shlibpath_overrides_runpath=no11335 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'11336 ;;11337 esac11338 ;;11339 11340 sysv4*MP*)11341 if test -d /usr/nec; then11342 version_type=linux # correct to gnu/linux during the next big refactor11343 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'11344 soname_spec='$libname$shared_ext.$major'11345 shlibpath_var=LD_LIBRARY_PATH11346 fi11347 ;;11348 11349 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)11350 version_type=sco11351 need_lib_prefix=no11352 need_version=no11353 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'11354 soname_spec='$libname$release$shared_ext$major'11355 shlibpath_var=LD_LIBRARY_PATH11356 shlibpath_overrides_runpath=yes11357 hardcode_into_libs=yes11358 if test yes = "$with_gnu_ld"; then11359 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'11360 else11361 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'11362 case $host_os in11363 sco3.2v5*)11364 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"11365 ;;11366 esac11367 fi11368 sys_lib_dlsearch_path_spec='/usr/lib'11369 ;;11370 11371 tpf*)11372 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.11373 version_type=linux # correct to gnu/linux during the next big refactor11374 need_lib_prefix=no11375 need_version=no11376 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11377 shlibpath_var=LD_LIBRARY_PATH11378 shlibpath_overrides_runpath=no11379 hardcode_into_libs=yes11380 ;;11381 11382 uts4*)11383 version_type=linux # correct to gnu/linux during the next big refactor11384 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'11385 soname_spec='$libname$release$shared_ext$major'11386 shlibpath_var=LD_LIBRARY_PATH11387 ;;11388 11389 *)11390 dynamic_linker=no11391 ;;11392 esac11393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&511394 $as_echo "$dynamic_linker" >&6; }11395 test no = "$dynamic_linker" && can_build_shared=no11396 11397 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"11398 if test yes = "$GCC"; then11399 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"11400 fi11401 11402 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then11403 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec11404 fi11405 11406 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then11407 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec11408 fi11409 11410 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...11411 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec11412 11413 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code11414 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"11415 11416 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool11417 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&511516 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }11517 hardcode_action=11518 if test -n "$hardcode_libdir_flag_spec" ||11519 test -n "$runpath_var" ||11520 test yes = "$hardcode_automatic"; then11521 11522 # We can hardcode non-existent directories.11523 if test no != "$hardcode_direct" &&11524 # If the only mechanism to avoid hardcoding is shlibpath_var, we11525 # have to relink, otherwise we might link with an installed library11526 # when we should be linking with a yet-to-be-installed one11527 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&11528 test no != "$hardcode_minus_L"; then11529 # Linking always hardcodes the temporary library directory.11530 hardcode_action=relink11531 else11532 # We can link without hardcoding, and we can hardcode nonexisting dirs.11533 hardcode_action=immediate11534 fi11535 else11536 # We cannot hardcode anything, or else we can only hardcode existing11537 # directories.11538 hardcode_action=unsupported11539 fi11540 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&511541 $as_echo "$hardcode_action" >&6; }11542 11543 if test relink = "$hardcode_action" ||11544 test yes = "$inherit_rpath"; then11545 # Fast installation is not supported11546 enable_fast_install=no11547 elif test yes = "$shlibpath_overrides_runpath" ||11548 test no = "$enable_shared"; then11549 # Fast installation is not necessary11550 enable_fast_install=needless11551 fi11552 11553 11554 11555 11556 11557 11558 if test yes != "$enable_dlopen"; then11559 enable_dlopen=unknown11560 enable_dlopen_self=unknown11561 enable_dlopen_self_static=unknown11562 else11563 lt_cv_dlopen=no11564 lt_cv_dlopen_libs=11565 11566 case $host_os in11567 beos*)11568 lt_cv_dlopen=load_add_on11569 lt_cv_dlopen_libs=11570 lt_cv_dlopen_self=yes11571 ;;11572 11573 mingw* | pw32* | cegcc*)11574 lt_cv_dlopen=LoadLibrary11575 lt_cv_dlopen_libs=11576 ;;11577 11578 cygwin*)11579 lt_cv_dlopen=dlopen11580 lt_cv_dlopen_libs=11581 ;;11582 11583 darwin*)11584 # if libdl is installed we need to link against it11585 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&511586 $as_echo_n "checking for dlopen in -ldl... " >&6; }11587 if ${ac_cv_lib_dl_dlopen+:} false; then :11588 $as_echo_n "(cached) " >&611589 else11590 ac_check_lib_save_LIBS=$LIBS11591 LIBS="-ldl $LIBS"11592 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11593 /* end confdefs.h. */11594 11595 /* Override any GCC internal prototype to avoid an error.11596 Use char because int might match the return type of a GCC11597 builtin and then its argument prototype would still apply. */11598 #ifdef __cplusplus11599 extern "C"11600 #endif11601 char dlopen ();11602 int11603 main ()11604 {11605 return dlopen ();11606 ;11607 return 0;11608 }11609 _ACEOF11610 if ac_fn_c_try_link "$LINENO"; then :11611 ac_cv_lib_dl_dlopen=yes11612 else11613 ac_cv_lib_dl_dlopen=no11614 fi11615 rm -f core conftest.err conftest.$ac_objext \11616 conftest$ac_exeext conftest.$ac_ext11617 LIBS=$ac_check_lib_save_LIBS11618 fi11619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&511620 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }11621 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :11622 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl11623 else11624 11625 lt_cv_dlopen=dyld11626 lt_cv_dlopen_libs=11627 lt_cv_dlopen_self=yes11628 11629 fi11630 11631 ;;11632 11633 tpf*)11634 # Don't try to run any link tests for TPF. We know it's impossible11635 # because TPF is a cross-compiler, and we know how we open DSOs.11636 lt_cv_dlopen=dlopen11637 lt_cv_dlopen_libs=11638 lt_cv_dlopen_self=no11639 ;;11640 11641 *)11642 ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"11643 if test "x$ac_cv_func_shl_load" = xyes; then :11644 lt_cv_dlopen=shl_load11645 else11646 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&511647 $as_echo_n "checking for shl_load in -ldld... " >&6; }11648 if ${ac_cv_lib_dld_shl_load+:} false; then :11649 $as_echo_n "(cached) " >&611650 else11651 ac_check_lib_save_LIBS=$LIBS11652 LIBS="-ldld $LIBS"11653 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11654 /* end confdefs.h. */11655 11656 /* Override any GCC internal prototype to avoid an error.11657 Use char because int might match the return type of a GCC11658 builtin and then its argument prototype would still apply. */11659 #ifdef __cplusplus11660 extern "C"11661 #endif11662 char shl_load ();11663 int11664 main ()11665 {11666 return shl_load ();11667 ;11668 return 0;11669 }11670 _ACEOF11671 if ac_fn_c_try_link "$LINENO"; then :11672 ac_cv_lib_dld_shl_load=yes11673 else11674 ac_cv_lib_dld_shl_load=no11675 fi11676 rm -f core conftest.err conftest.$ac_objext \11677 conftest$ac_exeext conftest.$ac_ext11678 LIBS=$ac_check_lib_save_LIBS11679 fi11680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&511681 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }11682 if test "x$ac_cv_lib_dld_shl_load" = xyes; then :11683 lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld11684 else11685 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"11686 if test "x$ac_cv_func_dlopen" = xyes; then :11687 lt_cv_dlopen=dlopen11688 else11689 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&511690 $as_echo_n "checking for dlopen in -ldl... " >&6; }11691 if ${ac_cv_lib_dl_dlopen+:} false; then :11692 $as_echo_n "(cached) " >&611693 else11694 ac_check_lib_save_LIBS=$LIBS11695 LIBS="-ldl $LIBS"11696 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11697 /* end confdefs.h. */11698 11699 /* Override any GCC internal prototype to avoid an error.11700 Use char because int might match the return type of a GCC11701 builtin and then its argument prototype would still apply. */11702 #ifdef __cplusplus11703 extern "C"11704 #endif11705 char dlopen ();11706 int11707 main ()11708 {11709 return dlopen ();11710 ;11711 return 0;11712 }11713 _ACEOF11714 if ac_fn_c_try_link "$LINENO"; then :11715 ac_cv_lib_dl_dlopen=yes11716 else11717 ac_cv_lib_dl_dlopen=no11718 fi11719 rm -f core conftest.err conftest.$ac_objext \11720 conftest$ac_exeext conftest.$ac_ext11721 LIBS=$ac_check_lib_save_LIBS11722 fi11723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&511724 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }11725 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :11726 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl11727 else11728 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&511729 $as_echo_n "checking for dlopen in -lsvld... " >&6; }11730 if ${ac_cv_lib_svld_dlopen+:} false; then :11731 $as_echo_n "(cached) " >&611732 else11733 ac_check_lib_save_LIBS=$LIBS11734 LIBS="-lsvld $LIBS"11735 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11736 /* end confdefs.h. */11737 11738 /* Override any GCC internal prototype to avoid an error.11739 Use char because int might match the return type of a GCC11740 builtin and then its argument prototype would still apply. */11741 #ifdef __cplusplus11742 extern "C"11743 #endif11744 char dlopen ();11745 int11746 main ()11747 {11748 return dlopen ();11749 ;11750 return 0;11751 }11752 _ACEOF11753 if ac_fn_c_try_link "$LINENO"; then :11754 ac_cv_lib_svld_dlopen=yes11755 else11756 ac_cv_lib_svld_dlopen=no11757 fi11758 rm -f core conftest.err conftest.$ac_objext \11759 conftest$ac_exeext conftest.$ac_ext11760 LIBS=$ac_check_lib_save_LIBS11761 fi11762 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&511763 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }11764 if test "x$ac_cv_lib_svld_dlopen" = xyes; then :11765 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld11766 else11767 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&511768 $as_echo_n "checking for dld_link in -ldld... " >&6; }11769 if ${ac_cv_lib_dld_dld_link+:} false; then :11770 $as_echo_n "(cached) " >&611771 else11772 ac_check_lib_save_LIBS=$LIBS11773 LIBS="-ldld $LIBS"11774 cat confdefs.h - <<_ACEOF >conftest.$ac_ext11775 /* end confdefs.h. */11776 11777 /* Override any GCC internal prototype to avoid an error.11778 Use char because int might match the return type of a GCC11779 builtin and then its argument prototype would still apply. */11780 #ifdef __cplusplus11781 extern "C"11782 #endif11783 char dld_link ();11784 int11785 main ()11786 {11787 return dld_link ();11788 ;11789 return 0;11790 }11791 _ACEOF11792 if ac_fn_c_try_link "$LINENO"; then :11793 ac_cv_lib_dld_dld_link=yes11794 else11795 ac_cv_lib_dld_dld_link=no11796 fi11797 rm -f core conftest.err conftest.$ac_objext \11798 conftest$ac_exeext conftest.$ac_ext11799 LIBS=$ac_check_lib_save_LIBS11800 fi11801 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&511802 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }11803 if test "x$ac_cv_lib_dld_dld_link" = xyes; then :11804 lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld11805 fi11806 11807 11808 fi11809 11810 11811 fi11812 11813 11814 fi11815 11816 11817 fi11818 11819 11820 fi11821 11822 ;;11823 esac11824 11825 if test no = "$lt_cv_dlopen"; then11826 enable_dlopen=no11827 else11828 enable_dlopen=yes11829 fi11830 11831 case $lt_cv_dlopen in11832 dlopen)11833 save_CPPFLAGS=$CPPFLAGS11834 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"11835 11836 save_LDFLAGS=$LDFLAGS11837 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"11838 11839 save_LIBS=$LIBS11840 LIBS="$lt_cv_dlopen_libs $LIBS"11841 11842 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&511843 $as_echo_n "checking whether a program can dlopen itself... " >&6; }11844 if ${lt_cv_dlopen_self+:} false; then :11845 $as_echo_n "(cached) " >&611846 else11847 if test yes = "$cross_compiling"; then :11848 lt_cv_dlopen_self=cross11849 else11850 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=211851 lt_status=$lt_dlunknown11852 cat > conftest.$ac_ext <<_LT_EOF11853 #line $LINENO "configure"11854 #include "confdefs.h"11855 11856 #if HAVE_DLFCN_H11857 #include <dlfcn.h>11858 #endif11859 11860 #include <stdio.h>11861 11862 #ifdef RTLD_GLOBAL11863 # define LT_DLGLOBAL RTLD_GLOBAL11864 #else11865 # ifdef DL_GLOBAL11866 # define LT_DLGLOBAL DL_GLOBAL11867 # else11868 # define LT_DLGLOBAL 011869 # endif11870 #endif11871 11872 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we11873 find out it does not work in some platform. */11874 #ifndef LT_DLLAZY_OR_NOW11875 # ifdef RTLD_LAZY11876 # define LT_DLLAZY_OR_NOW RTLD_LAZY11877 # else11878 # ifdef DL_LAZY11879 # define LT_DLLAZY_OR_NOW DL_LAZY11880 # else11881 # ifdef RTLD_NOW11882 # define LT_DLLAZY_OR_NOW RTLD_NOW11883 # else11884 # ifdef DL_NOW11885 # define LT_DLLAZY_OR_NOW DL_NOW11886 # else11887 # define LT_DLLAZY_OR_NOW 011888 # endif11889 # endif11890 # endif11891 # endif11892 #endif11893 11894 /* When -fvisibility=hidden is used, assume the code has been annotated11895 correspondingly for the symbols needed. */11896 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))11897 int fnord () __attribute__((visibility("default")));11898 #endif11899 11900 int fnord () { return 42; }11901 int main ()11902 {11903 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);11904 int status = $lt_dlunknown;11905 11906 if (self)11907 {11908 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;11909 else11910 {11911 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;11912 else puts (dlerror ());11913 }11914 /* dlclose (self); */11915 }11916 else11917 puts (dlerror ());11918 11919 return status;11920 }11921 _LT_EOF11922 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&511923 (eval $ac_link) 2>&511924 ac_status=$?11925 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&511926 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then11927 (./conftest; exit; ) >&5 2>/dev/null11928 lt_status=$?11929 case x$lt_status in11930 x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;11931 x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;11932 x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;11933 esac11934 else :11935 # compilation failed11936 lt_cv_dlopen_self=no11937 fi11938 fi11939 rm -fr conftest*11940 11941 11942 fi11943 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&511944 $as_echo "$lt_cv_dlopen_self" >&6; }11945 11946 if test yes = "$lt_cv_dlopen_self"; then11947 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"11948 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&511949 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }11950 if ${lt_cv_dlopen_self_static+:} false; then :11951 $as_echo_n "(cached) " >&611952 else11953 if test yes = "$cross_compiling"; then :11954 lt_cv_dlopen_self_static=cross11955 else11956 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=211957 lt_status=$lt_dlunknown11958 cat > conftest.$ac_ext <<_LT_EOF11959 #line $LINENO "configure"11960 #include "confdefs.h"11961 11962 #if HAVE_DLFCN_H11963 #include <dlfcn.h>11964 #endif11965 11966 #include <stdio.h>11967 11968 #ifdef RTLD_GLOBAL11969 # define LT_DLGLOBAL RTLD_GLOBAL11970 #else11971 # ifdef DL_GLOBAL11972 # define LT_DLGLOBAL DL_GLOBAL11973 # else11974 # define LT_DLGLOBAL 011975 # endif11976 #endif11977 11978 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we11979 find out it does not work in some platform. */11980 #ifndef LT_DLLAZY_OR_NOW11981 # ifdef RTLD_LAZY11982 # define LT_DLLAZY_OR_NOW RTLD_LAZY11983 # else11984 # ifdef DL_LAZY11985 # define LT_DLLAZY_OR_NOW DL_LAZY11986 # else11987 # ifdef RTLD_NOW11988 # define LT_DLLAZY_OR_NOW RTLD_NOW11989 # else11990 # ifdef DL_NOW11991 # define LT_DLLAZY_OR_NOW DL_NOW11992 # else11993 # define LT_DLLAZY_OR_NOW 011994 # endif11995 # endif11996 # endif11997 # endif11998 #endif11999 12000 /* When -fvisibility=hidden is used, assume the code has been annotated12001 correspondingly for the symbols needed. */12002 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))12003 int fnord () __attribute__((visibility("default")));12004 #endif12005 12006 int fnord () { return 42; }12007 int main ()12008 {12009 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);12010 int status = $lt_dlunknown;12011 12012 if (self)12013 {12014 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;12015 else12016 {12017 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;12018 else puts (dlerror ());12019 }12020 /* dlclose (self); */12021 }12022 else12023 puts (dlerror ());12024 12025 return status;12026 }12027 _LT_EOF12028 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&512029 (eval $ac_link) 2>&512030 ac_status=$?12031 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&512032 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then12033 (./conftest; exit; ) >&5 2>/dev/null12034 lt_status=$?12035 case x$lt_status in12036 x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;12037 x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;12038 x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;12039 esac12040 else :12041 # compilation failed12042 lt_cv_dlopen_self_static=no12043 fi12044 fi12045 rm -fr conftest*12046 12047 12048 fi12049 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&512050 $as_echo "$lt_cv_dlopen_self_static" >&6; }12051 fi12052 12053 CPPFLAGS=$save_CPPFLAGS12054 LDFLAGS=$save_LDFLAGS12055 LIBS=$save_LIBS12056 ;;12057 esac12058 12059 case $lt_cv_dlopen_self in12060 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;12061 *) enable_dlopen_self=unknown ;;12062 esac12063 12064 case $lt_cv_dlopen_self_static in12065 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;12066 *) enable_dlopen_self_static=unknown ;;12067 esac12068 fi12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 striplib=12087 old_striplib=12088 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&512089 $as_echo_n "checking whether stripping libraries is possible... " >&6; }12090 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then12091 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"12092 test -z "$striplib" && striplib="$STRIP --strip-unneeded"12093 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&512094 $as_echo "yes" >&6; }12095 else12096 # FIXME - insert some real tests, host_os isn't really good enough12097 case $host_os in12098 darwin*)12099 if test -n "$STRIP"; then12100 striplib="$STRIP -x"12101 old_striplib="$STRIP -S"12102 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&512103 $as_echo "yes" >&6; }12104 else12105 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&512106 $as_echo "no" >&6; }12107 fi12108 ;;12109 *)12110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&512111 $as_echo "no" >&6; }12112 ;;12113 esac12114 fi12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 # Report what library types will actually be built12128 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&512129 $as_echo_n "checking if libtool supports shared libraries... " >&6; }12130 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&512131 $as_echo "$can_build_shared" >&6; }12132 12133 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&512134 $as_echo_n "checking whether to build shared libraries... " >&6; }12135 test no = "$can_build_shared" && enable_shared=no12136 12137 # On AIX, shared libraries and static libraries use the same namespace, and12138 # are all built from PIC.12139 case $host_os in12140 aix3*)12141 test yes = "$enable_shared" && enable_static=no12142 if test -n "$RANLIB"; then12143 archive_cmds="$archive_cmds~\$RANLIB \$lib"12144 postinstall_cmds='$RANLIB $lib'12145 fi12146 ;;12147 12148 aix[4-9]*)12149 if test ia64 != "$host_cpu"; then12150 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in12151 yes,aix,yes) ;; # shared object as lib.so file only12152 yes,svr4,*) ;; # shared object as lib.so archive member only12153 yes,*) enable_static=no ;; # shared object in lib.a archive as well12154 esac12155 fi12156 ;;12157 esac12158 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&512159 $as_echo "$enable_shared" >&6; }12160 12161 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&512162 $as_echo_n "checking whether to build static libraries... " >&6; }12163 # Make sure either enable_shared or enable_static is yes.12164 test yes = "$enable_shared" || enable_static=yes12165 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&512166 $as_echo "$enable_static" >&6; }12167 12168 12169 12170 12171 fi12172 ac_ext=c12173 ac_cpp='$CPP $CPPFLAGS'12174 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'12175 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12176 ac_compiler_gnu=$ac_cv_c_compiler_gnu12177 12178 CC=$lt_save_CC12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 ac_config_commands="$ac_config_commands libtool"12195 12196 12197 12198 12199 # Only expand once:12200 12201 12202 12203 ac_ext=cpp12204 ac_cpp='$CXXCPP $CPPFLAGS'12205 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'12206 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12207 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu12208 if test -z "$CXX"; then12209 if test -n "$CCC"; then12210 CXX=$CCC12211 else12212 if test -n "$ac_tool_prefix"; then12213 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC12214 do12215 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.12216 set dummy $ac_tool_prefix$ac_prog; ac_word=$212217 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&512218 $as_echo_n "checking for $ac_word... " >&6; }12219 if ${ac_cv_prog_CXX+:} false; then :12220 $as_echo_n "(cached) " >&612221 else12222 if test -n "$CXX"; then12223 ac_cv_prog_CXX="$CXX" # Let the user override the test.12224 else12225 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR12226 for as_dir in $PATH12227 do12228 IFS=$as_save_IFS12229 test -z "$as_dir" && as_dir=.12230 for ac_exec_ext in '' $ac_executable_extensions; do12231 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then12232 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"12233 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&512234 break 212235 fi12236 done12237 done12238 IFS=$as_save_IFS12239 12240 fi12241 fi12242 CXX=$ac_cv_prog_CXX12243 if test -n "$CXX"; then12244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&512245 $as_echo "$CXX" >&6; }12246 else12247 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&512248 $as_echo "no" >&6; }12249 fi12250 12251 12252 test -n "$CXX" && break12253 done12254 fi12255 if test -z "$CXX"; then12256 ac_ct_CXX=$CXX12257 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC12258 do12259 # Extract the first word of "$ac_prog", so it can be a program name with args.12260 set dummy $ac_prog; ac_word=$212261 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&512262 $as_echo_n "checking for $ac_word... " >&6; }12263 if ${ac_cv_prog_ac_ct_CXX+:} false; then :12264 $as_echo_n "(cached) " >&612265 else12266 if test -n "$ac_ct_CXX"; then12267 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.12268 else12269 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR12270 for as_dir in $PATH12271 do12272 IFS=$as_save_IFS12273 test -z "$as_dir" && as_dir=.12274 for ac_exec_ext in '' $ac_executable_extensions; do12275 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then12276 ac_cv_prog_ac_ct_CXX="$ac_prog"12277 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&512278 break 212279 fi12280 done12281 done12282 IFS=$as_save_IFS12283 12284 fi12285 fi12286 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX12287 if test -n "$ac_ct_CXX"; then12288 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&512289 $as_echo "$ac_ct_CXX" >&6; }12290 else12291 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&512292 $as_echo "no" >&6; }12293 fi12294 12295 12296 test -n "$ac_ct_CXX" && break12297 done12298 12299 if test "x$ac_ct_CXX" = x; then12300 CXX="g++"12301 else12302 case $cross_compiling:$ac_tool_warned in12303 yes:)12304 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&512305 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}12306 ac_tool_warned=yes ;;12307 esac12308 CXX=$ac_ct_CXX12309 fi12310 fi12311 12312 fi12313 fi12314 # Provide some information about the compiler.12315 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&512316 set X $ac_compile12317 ac_compiler=$212318 for ac_option in --version -v -V -qversion; do12319 { { ac_try="$ac_compiler $ac_option >&5"12320 case "(($ac_try" in12321 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;12322 *) ac_try_echo=$ac_try;;12323 esac12324 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""12325 $as_echo "$ac_try_echo"; } >&512326 (eval "$ac_compiler $ac_option >&5") 2>conftest.err12327 ac_status=$?12328 if test -s conftest.err; then12329 sed '10a\12330 ... rest of stderr output deleted ...12331 10q' conftest.err >conftest.er112332 cat conftest.er1 >&512333 fi12334 rm -f conftest.er1 conftest.err12335 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&512336 test $ac_status = 0; }12337 done12338 12339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&512340 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }12341 if ${ac_cv_cxx_compiler_gnu+:} false; then :12342 $as_echo_n "(cached) " >&612343 else12344 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12345 /* end confdefs.h. */12346 12347 int12348 main ()12349 {12350 #ifndef __GNUC__12351 choke me12352 #endif12353 12354 ;12355 return 0;12356 }12357 _ACEOF12358 if ac_fn_cxx_try_compile "$LINENO"; then :12359 ac_compiler_gnu=yes12360 else12361 ac_compiler_gnu=no12362 fi12363 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext12364 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu12365 12366 fi12367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&512368 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }12369 if test $ac_compiler_gnu = yes; then12370 GXX=yes12371 else12372 GXX=12373 fi12374 ac_test_CXXFLAGS=${CXXFLAGS+set}12375 ac_save_CXXFLAGS=$CXXFLAGS12376 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&512377 $as_echo_n "checking whether $CXX accepts -g... " >&6; }12378 if ${ac_cv_prog_cxx_g+:} false; then :12379 $as_echo_n "(cached) " >&612380 else12381 ac_save_cxx_werror_flag=$ac_cxx_werror_flag12382 ac_cxx_werror_flag=yes12383 ac_cv_prog_cxx_g=no12384 CXXFLAGS="-g"12385 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12386 /* end confdefs.h. */12387 12388 int12389 main ()12390 {12391 12392 ;12393 return 0;12394 }12395 _ACEOF12396 if ac_fn_cxx_try_compile "$LINENO"; then :12397 ac_cv_prog_cxx_g=yes12398 else12399 CXXFLAGS=""12400 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12401 /* end confdefs.h. */12402 12403 int12404 main ()12405 {12406 12407 ;12408 return 0;12409 }12410 _ACEOF12411 if ac_fn_cxx_try_compile "$LINENO"; then :12412 12413 else12414 ac_cxx_werror_flag=$ac_save_cxx_werror_flag12415 CXXFLAGS="-g"12416 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12417 /* end confdefs.h. */12418 12419 int12420 main ()12421 {12422 12423 ;12424 return 0;12425 }12426 _ACEOF12427 if ac_fn_cxx_try_compile "$LINENO"; then :12428 ac_cv_prog_cxx_g=yes12429 fi12430 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext12431 fi12432 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext12433 fi12434 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext12435 ac_cxx_werror_flag=$ac_save_cxx_werror_flag12436 fi12437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&512438 $as_echo "$ac_cv_prog_cxx_g" >&6; }12439 if test "$ac_test_CXXFLAGS" = set; then12440 CXXFLAGS=$ac_save_CXXFLAGS12441 elif test $ac_cv_prog_cxx_g = yes; then12442 if test "$GXX" = yes; then12443 CXXFLAGS="-g -O2"12444 else12445 CXXFLAGS="-g"12446 fi12447 else12448 if test "$GXX" = yes; then12449 CXXFLAGS="-O2"12450 else12451 CXXFLAGS=12452 fi12453 fi12454 ac_ext=c12455 ac_cpp='$CPP $CPPFLAGS'12456 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'12457 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12458 ac_compiler_gnu=$ac_cv_c_compiler_gnu12459 12460 depcc="$CXX" am_compiler_list=12461 12462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&512463 $as_echo_n "checking dependency style of $depcc... " >&6; }12464 if ${am_cv_CXX_dependencies_compiler_type+:} false; then :12465 $as_echo_n "(cached) " >&612466 else12467 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then12468 # We make a subdir and do the tests there. Otherwise we can end up12469 # making bogus files that we don't know about and never remove. For12470 # instance it was reported that on HP-UX the gcc test will end up12471 # making a dummy file named 'D' -- because '-MD' means "put the output12472 # in D".12473 rm -rf conftest.dir12474 mkdir conftest.dir12475 # Copy depcomp to subdir because otherwise we won't find it if we're12476 # using a relative directory.12477 cp "$am_depcomp" conftest.dir12478 cd conftest.dir12479 # We will build objects and dependencies in a subdirectory because12480 # it helps to detect inapplicable dependency modes. For instance12481 # both Tru64's cc and ICC support -MD to output dependencies as a12482 # side effect of compilation, but ICC will put the dependencies in12483 # the current directory while Tru64 will put them in the object12484 # directory.12485 mkdir sub12486 12487 am_cv_CXX_dependencies_compiler_type=none12488 if test "$am_compiler_list" = ""; then12489 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`12490 fi12491 am__universal=false12492 case " $depcc " in #(12493 *\ -arch\ *\ -arch\ *) am__universal=true ;;12494 esac12495 12496 for depmode in $am_compiler_list; do12497 # Setup a source with many dependencies, because some compilers12498 # like to wrap large dependency lists on column 80 (with \), and12499 # we should not choose a depcomp mode which is confused by this.12500 #12501 # We need to recreate these files for each test, as the compiler may12502 # overwrite some of them when testing with obscure command lines.12503 # This happens at least with the AIX C compiler.12504 : > sub/conftest.c12505 for i in 1 2 3 4 5 6; do12506 echo '#include "conftst'$i'.h"' >> sub/conftest.c12507 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with12508 # Solaris 10 /bin/sh.12509 echo '/* dummy */' > sub/conftst$i.h12510 done12511 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf12512 12513 # We check with '-c' and '-o' for the sake of the "dashmstdout"12514 # mode. It turns out that the SunPro C++ compiler does not properly12515 # handle '-M -o', and we need to detect this. Also, some Intel12516 # versions had trouble with output in subdirs.12517 am__obj=sub/conftest.${OBJEXT-o}12518 am__minus_obj="-o $am__obj"12519 case $depmode in12520 gcc)12521 # This depmode causes a compiler race in universal mode.12522 test "$am__universal" = false || continue12523 ;;12524 nosideeffect)12525 # After this tag, mechanisms are not by side-effect, so they'll12526 # only be used when explicitly requested.12527 if test "x$enable_dependency_tracking" = xyes; then12528 continue12529 else12530 break12531 fi12532 ;;12533 msvc7 | msvc7msys | msvisualcpp | msvcmsys)12534 # This compiler won't grok '-c -o', but also, the minuso test has12535 # not run yet. These depmodes are late enough in the game, and12536 # so weak that their functioning should not be impacted.12537 am__obj=conftest.${OBJEXT-o}12538 am__minus_obj=12539 ;;12540 none) break ;;12541 esac12542 if depmode=$depmode \12543 source=sub/conftest.c object=$am__obj \12544 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \12545 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \12546 >/dev/null 2>conftest.err &&12547 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&12548 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&12549 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&12550 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then12551 # icc doesn't choke on unknown options, it will just issue warnings12552 # or remarks (even with -Werror). So we grep stderr for any message12553 # that says an option was ignored or not supported.12554 # When given -MP, icc 7.0 and 7.1 complain thusly:12555 # icc: Command line warning: ignoring option '-M'; no argument required12556 # The diagnosis changed in icc 8.0:12557 # icc: Command line remark: option '-MP' not supported12558 if (grep 'ignoring option' conftest.err ||12559 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else12560 am_cv_CXX_dependencies_compiler_type=$depmode12561 break12562 fi12563 fi12564 done12565 12566 cd ..12567 rm -rf conftest.dir12568 else12569 am_cv_CXX_dependencies_compiler_type=none12570 fi12571 12572 fi12573 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&512574 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }12575 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type12576 12577 if12578 test "x$enable_dependency_tracking" != xno \12579 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then12580 am__fastdepCXX_TRUE=12581 am__fastdepCXX_FALSE='#'12582 else12583 am__fastdepCXX_TRUE='#'12584 am__fastdepCXX_FALSE=12585 fi12586 12587 12588 12589 12590 func_stripname_cnf ()12591 {12592 case $2 in12593 .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;12594 *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;12595 esac12596 } # func_stripname_cnf12597 12598 if test -n "$CXX" && ( test no != "$CXX" &&12599 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||12600 (test g++ != "$CXX"))); then12601 ac_ext=cpp12602 ac_cpp='$CXXCPP $CPPFLAGS'12603 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'12604 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12605 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu12606 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&512607 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }12608 if test -z "$CXXCPP"; then12609 if ${ac_cv_prog_CXXCPP+:} false; then :12610 $as_echo_n "(cached) " >&612611 else12612 # Double quotes because CXXCPP needs to be expanded12613 for CXXCPP in "$CXX -E" "/lib/cpp"12614 do12615 ac_preproc_ok=false12616 for ac_cxx_preproc_warn_flag in '' yes12617 do12618 # Use a header file that comes with gcc, so configuring glibc12619 # with a fresh cross-compiler works.12620 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since12621 # <limits.h> exists even on freestanding compilers.12622 # On the NeXT, cc -E runs the code through the compiler's parser,12623 # not just through cpp. "Syntax error" is here to catch this case.12624 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12625 /* end confdefs.h. */12626 #ifdef __STDC__12627 # include <limits.h>12628 #else12629 # include <assert.h>12630 #endif12631 Syntax error12632 _ACEOF12633 if ac_fn_cxx_try_cpp "$LINENO"; then :12634 12635 else12636 # Broken: fails on valid input.12637 continue12638 fi12639 rm -f conftest.err conftest.i conftest.$ac_ext12640 12641 # OK, works on sane cases. Now check whether nonexistent headers12642 # can be detected and how.12643 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12644 /* end confdefs.h. */12645 #include <ac_nonexistent.h>12646 _ACEOF12647 if ac_fn_cxx_try_cpp "$LINENO"; then :12648 # Broken: success on invalid input.12649 continue12650 else12651 # Passes both tests.12652 ac_preproc_ok=:12653 break12654 fi12655 rm -f conftest.err conftest.i conftest.$ac_ext12656 12657 done12658 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.12659 rm -f conftest.i conftest.err conftest.$ac_ext12660 if $ac_preproc_ok; then :12661 break12662 fi12663 12664 done12665 ac_cv_prog_CXXCPP=$CXXCPP12666 12667 fi12668 CXXCPP=$ac_cv_prog_CXXCPP12669 else12670 ac_cv_prog_CXXCPP=$CXXCPP12671 fi12672 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&512673 $as_echo "$CXXCPP" >&6; }12674 ac_preproc_ok=false12675 for ac_cxx_preproc_warn_flag in '' yes12676 do12677 # Use a header file that comes with gcc, so configuring glibc12678 # with a fresh cross-compiler works.12679 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since12680 # <limits.h> exists even on freestanding compilers.12681 # On the NeXT, cc -E runs the code through the compiler's parser,12682 # not just through cpp. "Syntax error" is here to catch this case.12683 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12684 /* end confdefs.h. */12685 #ifdef __STDC__12686 # include <limits.h>12687 #else12688 # include <assert.h>12689 #endif12690 Syntax error12691 _ACEOF12692 if ac_fn_cxx_try_cpp "$LINENO"; then :12693 12694 else12695 # Broken: fails on valid input.12696 continue12697 fi12698 rm -f conftest.err conftest.i conftest.$ac_ext12699 12700 # OK, works on sane cases. Now check whether nonexistent headers12701 # can be detected and how.12702 cat confdefs.h - <<_ACEOF >conftest.$ac_ext12703 /* end confdefs.h. */12704 #include <ac_nonexistent.h>12705 _ACEOF12706 if ac_fn_cxx_try_cpp "$LINENO"; then :12707 # Broken: success on invalid input.12708 continue12709 else12710 # Passes both tests.12711 ac_preproc_ok=:12712 break12713 fi12714 rm -f conftest.err conftest.i conftest.$ac_ext12715 12716 done12717 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.12718 rm -f conftest.i conftest.err conftest.$ac_ext12719 if $ac_preproc_ok; then :12720 12721 else12722 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&512723 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}12724 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check12725 See \`config.log' for more details" "$LINENO" 5; }12726 fi12727 12728 ac_ext=c12729 ac_cpp='$CPP $CPPFLAGS'12730 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'12731 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12732 ac_compiler_gnu=$ac_cv_c_compiler_gnu12733 12734 else12735 _lt_caught_CXX_error=yes12736 fi12737 12738 ac_ext=cpp12739 ac_cpp='$CXXCPP $CPPFLAGS'12740 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'12741 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'12742 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu12743 12744 archive_cmds_need_lc_CXX=no12745 allow_undefined_flag_CXX=12746 always_export_symbols_CXX=no12747 archive_expsym_cmds_CXX=12748 compiler_needs_object_CXX=no12749 export_dynamic_flag_spec_CXX=12750 hardcode_direct_CXX=no12751 hardcode_direct_absolute_CXX=no12752 hardcode_libdir_flag_spec_CXX=12753 hardcode_libdir_separator_CXX=12754 hardcode_minus_L_CXX=no12755 hardcode_shlibpath_var_CXX=unsupported12756 hardcode_automatic_CXX=no12757 inherit_rpath_CXX=no12758 module_cmds_CXX=12759 module_expsym_cmds_CXX=12760 link_all_deplibs_CXX=unknown12761 old_archive_cmds_CXX=$old_archive_cmds12762 reload_flag_CXX=$reload_flag12763 reload_cmds_CXX=$reload_cmds12764 no_undefined_flag_CXX=12765 whole_archive_flag_spec_CXX=12766 enable_shared_with_static_runtimes_CXX=no12767 12768 # Source file extension for C++ test sources.12769 ac_ext=cpp12770 12771 # Object file extension for compiled C++ test sources.12772 objext=o12773 objext_CXX=$objext12774 12775 # No sense in running all these tests if we already determined that12776 # the CXX compiler isn't working. Some variables (like enable_shared)12777 # are currently assumed to apply to all compilers on this platform,12778 # and will be corrupted by setting them based on a non-working compiler.12779 if test yes != "$_lt_caught_CXX_error"; then12780 # Code to be used in simple compile tests12781 lt_simple_compile_test_code="int some_variable = 0;"12782 12783 # Code to be used in simple link tests12784 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'12785 12786 # ltmain only uses $CC for tagged configurations so make sure $CC is set.12787 12788 12789 12790 12791 12792 12793 # If no C compiler was specified, use CC.12794 LTCC=${LTCC-"$CC"}12795 12796 # If no C compiler flags were specified, use CFLAGS.12797 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}12798 12799 # Allow CC to be a program name with arguments.12800 compiler=$CC12801 12802 12803 # save warnings/boilerplate of simple test code12804 ac_outfile=conftest.$ac_objext12805 echo "$lt_simple_compile_test_code" >conftest.$ac_ext12806 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err12807 _lt_compiler_boilerplate=`cat conftest.err`12808 $RM conftest*12809 12810 ac_outfile=conftest.$ac_objext12811 echo "$lt_simple_link_test_code" >conftest.$ac_ext12812 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err12813 _lt_linker_boilerplate=`cat conftest.err`12814 $RM -r conftest*12815 12816 12817 # Allow CC to be a program name with arguments.12818 lt_save_CC=$CC12819 lt_save_CFLAGS=$CFLAGS12820 lt_save_LD=$LD12821 lt_save_GCC=$GCC12822 GCC=$GXX12823 lt_save_with_gnu_ld=$with_gnu_ld12824 lt_save_path_LD=$lt_cv_path_LD12825 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then12826 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx12827 else12828 $as_unset lt_cv_prog_gnu_ld12829 fi12830 if test -n "${lt_cv_path_LDCXX+set}"; then12831 lt_cv_path_LD=$lt_cv_path_LDCXX12832 else12833 $as_unset lt_cv_path_LD12834 fi12835 test -z "${LDCXX+set}" || LD=$LDCXX12836 CC=${CXX-"c++"}12837 CFLAGS=$CXXFLAGS12838 compiler=$CC12839 compiler_CXX=$CC12840 func_cc_basename $compiler12841 cc_basename=$func_cc_basename_result12842 12843 12844 if test -n "$compiler"; then12845 # We don't want -fno-exception when compiling C++ code, so set the12846 # no_builtin_flag separately12847 if test yes = "$GXX"; then12848 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'12849 else12850 lt_prog_compiler_no_builtin_flag_CXX=12851 fi12852 12853 if test yes = "$GXX"; then12854 # Set up default GNU C++ configuration12855 12856 12857 12858 # Check whether --with-gnu-ld was given.12859 if test "${with_gnu_ld+set}" = set; then :12860 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes12861 else12862 with_gnu_ld=no12863 fi12864 12865 ac_prog=ld12866 if test yes = "$GCC"; then12867 # Check if gcc -print-prog-name=ld gives a path.12868 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&512869 $as_echo_n "checking for ld used by $CC... " >&6; }12870 case $host in12871 *-*-mingw*)12872 # gcc leaves a trailing carriage return, which upsets mingw12873 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;12874 *)12875 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;12876 esac12877 case $ac_prog in12878 # Accept absolute paths.12879 [\\/]* | ?:[\\/]*)12880 re_direlt='/[^/][^/]*/\.\./'12881 # Canonicalize the pathname of ld12882 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`12883 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do12884 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`12885 done12886 test -z "$LD" && LD=$ac_prog12887 ;;12888 "")12889 # If it fails, then pretend we aren't using GCC.12890 ac_prog=ld12891 ;;12892 *)12893 # If it is relative, then search for the first ld in PATH.12894 with_gnu_ld=unknown12895 ;;12896 esac12897 elif test yes = "$with_gnu_ld"; then12898 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&512899 $as_echo_n "checking for GNU ld... " >&6; }12900 else12901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&512902 $as_echo_n "checking for non-GNU ld... " >&6; }12903 fi12904 if ${lt_cv_path_LD+:} false; then :12905 $as_echo_n "(cached) " >&612906 else12907 if test -z "$LD"; then12908 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR12909 for ac_dir in $PATH; do12910 IFS=$lt_save_ifs12911 test -z "$ac_dir" && ac_dir=.12912 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then12913 lt_cv_path_LD=$ac_dir/$ac_prog12914 # Check to see if the program is GNU ld. I'd rather use --version,12915 # but apparently some variants of GNU ld only accept -v.12916 # Break only if it was the GNU/non-GNU ld that we prefer.12917 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in12918 *GNU* | *'with BFD'*)12919 test no != "$with_gnu_ld" && break12920 ;;12921 *)12922 test yes != "$with_gnu_ld" && break12923 ;;12924 esac12925 fi12926 done12927 IFS=$lt_save_ifs12928 else12929 lt_cv_path_LD=$LD # Let the user override the test with a path.12930 fi12931 fi12932 12933 LD=$lt_cv_path_LD12934 if test -n "$LD"; then12935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&512936 $as_echo "$LD" >&6; }12937 else12938 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&512939 $as_echo "no" >&6; }12940 fi12941 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 512942 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&512943 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }12944 if ${lt_cv_prog_gnu_ld+:} false; then :12945 $as_echo_n "(cached) " >&612946 else12947 # I'd rather use --version here, but apparently some GNU lds only accept -v.12948 case `$LD -v 2>&1 </dev/null` in12949 *GNU* | *'with BFD'*)12950 lt_cv_prog_gnu_ld=yes12951 ;;12952 *)12953 lt_cv_prog_gnu_ld=no12954 ;;12955 esac12956 fi12957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&512958 $as_echo "$lt_cv_prog_gnu_ld" >&6; }12959 with_gnu_ld=$lt_cv_prog_gnu_ld12960 12961 12962 12963 12964 12965 12966 12967 # Check if GNU C++ uses GNU ld as the underlying linker, since the12968 # archiving commands below assume that GNU ld is being used.12969 if test yes = "$with_gnu_ld"; then12970 archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'12971 archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'12972 12973 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'12974 export_dynamic_flag_spec_CXX='$wl--export-dynamic'12975 12976 # If archive_cmds runs LD, not CC, wlarc should be empty12977 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to12978 # investigate it a little bit more. (MM)12979 wlarc='$wl'12980 12981 # ancient GNU ld didn't support --whole-archive et. al.12982 if eval "`$CC -print-prog-name=ld` --help 2>&1" |12983 $GREP 'no-whole-archive' > /dev/null; then12984 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'12985 else12986 whole_archive_flag_spec_CXX=12987 fi12988 else12989 with_gnu_ld=no12990 wlarc=12991 12992 # A generic and very simple default shared library creation12993 # command for GNU C++ for the case where it uses the native12994 # linker, instead of GNU ld. If possible, this setting should12995 # overridden to take advantage of the native linker features on12996 # the platform it is being used on.12997 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'12998 fi12999 13000 # Commands to make compiler produce verbose output that lists13001 # what "hidden" libraries, object files and flags are used when13002 # linking a shared library.13003 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'13004 13005 else13006 GXX=no13007 with_gnu_ld=no13008 wlarc=13009 fi13010 13011 # PORTME: fill in a description of your system's C++ link characteristics13012 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&513013 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }13014 ld_shlibs_CXX=yes13015 case $host_os in13016 aix3*)13017 # FIXME: insert proper C++ library support13018 ld_shlibs_CXX=no13019 ;;13020 aix[4-9]*)13021 if test ia64 = "$host_cpu"; then13022 # On IA64, the linker does run time linking by default, so we don't13023 # have to do anything special.13024 aix_use_runtimelinking=no13025 exp_sym_flag='-Bexport'13026 no_entry_flag=13027 else13028 aix_use_runtimelinking=no13029 13030 # Test if we are trying to use run time linking or normal13031 # AIX style linking. If -brtl is somewhere in LDFLAGS, we13032 # have runtime linking enabled, and use it for executables.13033 # For shared libraries, we enable/disable runtime linking13034 # depending on the kind of the shared library created -13035 # when "with_aix_soname,aix_use_runtimelinking" is:13036 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables13037 # "aix,yes" lib.so shared, rtl:yes, for executables13038 # lib.a static archive13039 # "both,no" lib.so.V(shr.o) shared, rtl:yes13040 # lib.a(lib.so.V) shared, rtl:no, for executables13041 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables13042 # lib.a(lib.so.V) shared, rtl:no13043 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables13044 # lib.a static archive13045 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)13046 for ld_flag in $LDFLAGS; do13047 case $ld_flag in13048 *-brtl*)13049 aix_use_runtimelinking=yes13050 break13051 ;;13052 esac13053 done13054 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then13055 # With aix-soname=svr4, we create the lib.so.V shared archives only,13056 # so we don't have lib.a shared libs to link our executables.13057 # We have to force runtime linking in this case.13058 aix_use_runtimelinking=yes13059 LDFLAGS="$LDFLAGS -Wl,-brtl"13060 fi13061 ;;13062 esac13063 13064 exp_sym_flag='-bexport'13065 no_entry_flag='-bnoentry'13066 fi13067 13068 # When large executables or shared objects are built, AIX ld can13069 # have problems creating the table of contents. If linking a library13070 # or program results in "error TOC overflow" add -mminimal-toc to13071 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not13072 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.13073 13074 archive_cmds_CXX=''13075 hardcode_direct_CXX=yes13076 hardcode_direct_absolute_CXX=yes13077 hardcode_libdir_separator_CXX=':'13078 link_all_deplibs_CXX=yes13079 file_list_spec_CXX='$wl-f,'13080 case $with_aix_soname,$aix_use_runtimelinking in13081 aix,*) ;; # no import file13082 svr4,* | *,yes) # use import file13083 # The Import File defines what to hardcode.13084 hardcode_direct_CXX=no13085 hardcode_direct_absolute_CXX=no13086 ;;13087 esac13088 13089 if test yes = "$GXX"; then13090 case $host_os in aix4.[012]|aix4.[012].*)13091 # We only want to do this on AIX 4.2 and lower, the check13092 # below for broken collect2 doesn't work under 4.3+13093 collect2name=`$CC -print-prog-name=collect2`13094 if test -f "$collect2name" &&13095 strings "$collect2name" | $GREP resolve_lib_name >/dev/null13096 then13097 # We have reworked collect213098 :13099 else13100 # We have old collect213101 hardcode_direct_CXX=unsupported13102 # It fails to find uninstalled libraries when the uninstalled13103 # path is not listed in the libpath. Setting hardcode_minus_L13104 # to unsupported forces relinking13105 hardcode_minus_L_CXX=yes13106 hardcode_libdir_flag_spec_CXX='-L$libdir'13107 hardcode_libdir_separator_CXX=13108 fi13109 esac13110 shared_flag='-shared'13111 if test yes = "$aix_use_runtimelinking"; then13112 shared_flag=$shared_flag' $wl-G'13113 fi13114 # Need to ensure runtime linking is disabled for the traditional13115 # shared library, or the linker may eventually find shared libraries13116 # /with/ Import File - we do not want to mix them.13117 shared_flag_aix='-shared'13118 shared_flag_svr4='-shared $wl-G'13119 else13120 # not using gcc13121 if test ia64 = "$host_cpu"; then13122 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release13123 # chokes on -Wl,-G. The following line is correct:13124 shared_flag='-G'13125 else13126 if test yes = "$aix_use_runtimelinking"; then13127 shared_flag='$wl-G'13128 else13129 shared_flag='$wl-bM:SRE'13130 fi13131 shared_flag_aix='$wl-bM:SRE'13132 shared_flag_svr4='$wl-G'13133 fi13134 fi13135 13136 export_dynamic_flag_spec_CXX='$wl-bexpall'13137 # It seems that -bexpall does not export symbols beginning with13138 # underscore (_), so it is better to generate a list of symbols to13139 # export.13140 always_export_symbols_CXX=yes13141 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then13142 # Warning - without using the other runtime loading flags (-brtl),13143 # -berok will link without error, but may produce a broken library.13144 # The "-G" linker flag allows undefined symbols.13145 no_undefined_flag_CXX='-bernotok'13146 # Determine the default libpath from the value encoded in an empty13147 # executable.13148 if test set = "${lt_cv_aix_libpath+set}"; then13149 aix_libpath=$lt_cv_aix_libpath13150 else13151 if ${lt_cv_aix_libpath__CXX+:} false; then :13152 $as_echo_n "(cached) " >&613153 else13154 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13155 /* end confdefs.h. */13156 13157 int13158 main ()13159 {13160 13161 ;13162 return 0;13163 }13164 _ACEOF13165 if ac_fn_cxx_try_link "$LINENO"; then :13166 13167 lt_aix_libpath_sed='13168 /Import File Strings/,/^$/ {13169 /^0/ {13170 s/^0 *\([^ ]*\) *$/\1/13171 p13172 }13173 }'13174 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13175 # Check for a 64-bit object if we didn't find anything.13176 if test -z "$lt_cv_aix_libpath__CXX"; then13177 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13178 fi13179 fi13180 rm -f core conftest.err conftest.$ac_objext \13181 conftest$ac_exeext conftest.$ac_ext13182 if test -z "$lt_cv_aix_libpath__CXX"; then13183 lt_cv_aix_libpath__CXX=/usr/lib:/lib13184 fi13185 13186 fi13187 13188 aix_libpath=$lt_cv_aix_libpath__CXX13189 fi13190 13191 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"13192 13193 archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag13194 else13195 if test ia64 = "$host_cpu"; then13196 hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'13197 allow_undefined_flag_CXX="-z nodefs"13198 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"13199 else13200 # Determine the default libpath from the value encoded in an13201 # empty executable.13202 if test set = "${lt_cv_aix_libpath+set}"; then13203 aix_libpath=$lt_cv_aix_libpath13204 else13205 if ${lt_cv_aix_libpath__CXX+:} false; then :13206 $as_echo_n "(cached) " >&613207 else13208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext13209 /* end confdefs.h. */13210 13211 int13212 main ()13213 {13214 13215 ;13216 return 0;13217 }13218 _ACEOF13219 if ac_fn_cxx_try_link "$LINENO"; then :13220 13221 lt_aix_libpath_sed='13222 /Import File Strings/,/^$/ {13223 /^0/ {13224 s/^0 *\([^ ]*\) *$/\1/13225 p13226 }13227 }'13228 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13229 # Check for a 64-bit object if we didn't find anything.13230 if test -z "$lt_cv_aix_libpath__CXX"; then13231 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`13232 fi13233 fi13234 rm -f core conftest.err conftest.$ac_objext \13235 conftest$ac_exeext conftest.$ac_ext13236 if test -z "$lt_cv_aix_libpath__CXX"; then13237 lt_cv_aix_libpath__CXX=/usr/lib:/lib13238 fi13239 13240 fi13241 13242 aix_libpath=$lt_cv_aix_libpath__CXX13243 fi13244 13245 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"13246 # Warning - without using the other run time loading flags,13247 # -berok will link without error, but may produce a broken library.13248 no_undefined_flag_CXX=' $wl-bernotok'13249 allow_undefined_flag_CXX=' $wl-berok'13250 if test yes = "$with_gnu_ld"; then13251 # We only use this code for GNU lds that support --whole-archive.13252 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'13253 else13254 # Exported symbols can be pulled into shared objects from archives13255 whole_archive_flag_spec_CXX='$convenience'13256 fi13257 archive_cmds_need_lc_CXX=yes13258 archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'13259 # -brtl affects multiple linker settings, -berok does not and is overridden later13260 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'13261 if test svr4 != "$with_aix_soname"; then13262 # This is similar to how AIX traditionally builds its shared13263 # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.13264 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'13265 fi13266 if test aix != "$with_aix_soname"; then13267 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'13268 else13269 # used by -dlpreopen to get the symbols13270 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'13271 fi13272 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'13273 fi13274 fi13275 ;;13276 13277 beos*)13278 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then13279 allow_undefined_flag_CXX=unsupported13280 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc13281 # support --undefined. This deserves some investigation. FIXME13282 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'13283 else13284 ld_shlibs_CXX=no13285 fi13286 ;;13287 13288 chorus*)13289 case $cc_basename in13290 *)13291 # FIXME: insert proper C++ library support13292 ld_shlibs_CXX=no13293 ;;13294 esac13295 ;;13296 13297 cygwin* | mingw* | pw32* | cegcc*)13298 case $GXX,$cc_basename in13299 ,cl* | no,cl*)13300 # Native MSVC13301 # hardcode_libdir_flag_spec is actually meaningless, as there is13302 # no search path for DLLs.13303 hardcode_libdir_flag_spec_CXX=' '13304 allow_undefined_flag_CXX=unsupported13305 always_export_symbols_CXX=yes13306 file_list_spec_CXX='@'13307 # Tell ltmain to make .lib files, not .a files.13308 libext=lib13309 # Tell ltmain to make .dll files, not .so files.13310 shrext_cmds=.dll13311 # FIXME: Setting linknames here is a bad hack.13312 archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='13313 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then13314 cp "$export_symbols" "$output_objdir/$soname.def";13315 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";13316 else13317 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;13318 fi~13319 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~13320 linknames='13321 # The linker will not automatically build a static lib if we build a DLL.13322 # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'13323 enable_shared_with_static_runtimes_CXX=yes13324 # Don't use ranlib13325 old_postinstall_cmds_CXX='chmod 644 $oldlib'13326 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~13327 lt_tool_outputfile="@TOOL_OUTPUT@"~13328 case $lt_outputfile in13329 *.exe|*.EXE) ;;13330 *)13331 lt_outputfile=$lt_outputfile.exe13332 lt_tool_outputfile=$lt_tool_outputfile.exe13333 ;;13334 esac~13335 func_to_tool_file "$lt_outputfile"~13336 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then13337 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;13338 $RM "$lt_outputfile.manifest";13339 fi'13340 ;;13341 *)13342 # g++13343 # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,13344 # as there is no search path for DLLs.13345 hardcode_libdir_flag_spec_CXX='-L$libdir'13346 export_dynamic_flag_spec_CXX='$wl--export-all-symbols'13347 allow_undefined_flag_CXX=unsupported13348 always_export_symbols_CXX=no13349 enable_shared_with_static_runtimes_CXX=yes13350 13351 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then13352 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'13353 # If the export-symbols file already is a .def file, use it as13354 # is; otherwise, prepend EXPORTS...13355 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then13356 cp $export_symbols $output_objdir/$soname.def;13357 else13358 echo EXPORTS > $output_objdir/$soname.def;13359 cat $export_symbols >> $output_objdir/$soname.def;13360 fi~13361 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'13362 else13363 ld_shlibs_CXX=no13364 fi13365 ;;13366 esac13367 ;;13368 darwin* | rhapsody*)13369 13370 13371 archive_cmds_need_lc_CXX=no13372 hardcode_direct_CXX=no13373 hardcode_automatic_CXX=yes13374 hardcode_shlibpath_var_CXX=unsupported13375 if test yes = "$lt_cv_ld_force_load"; then13376 whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'13377 13378 else13379 whole_archive_flag_spec_CXX=''13380 fi13381 link_all_deplibs_CXX=yes13382 allow_undefined_flag_CXX=$_lt_dar_allow_undefined13383 case $cc_basename in13384 ifort*|nagfor*) _lt_dar_can_shared=yes ;;13385 *) _lt_dar_can_shared=$GCC ;;13386 esac13387 if test yes = "$_lt_dar_can_shared"; then13388 output_verbose_link_cmd=func_echo_all13389 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"13390 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"13391 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"13392 module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"13393 if test yes != "$lt_cv_apple_cc_single_mod"; then13394 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"13395 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"13396 fi13397 13398 else13399 ld_shlibs_CXX=no13400 fi13401 13402 ;;13403 13404 os2*)13405 hardcode_libdir_flag_spec_CXX='-L$libdir'13406 hardcode_minus_L_CXX=yes13407 allow_undefined_flag_CXX=unsupported13408 shrext_cmds=.dll13409 archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~13410 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~13411 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~13412 $ECHO EXPORTS >> $output_objdir/$libname.def~13413 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~13414 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~13415 emximp -o $lib $output_objdir/$libname.def'13416 archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~13417 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~13418 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~13419 $ECHO EXPORTS >> $output_objdir/$libname.def~13420 prefix_cmds="$SED"~13421 if test EXPORTS = "`$SED 1q $export_symbols`"; then13422 prefix_cmds="$prefix_cmds -e 1d";13423 fi~13424 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~13425 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~13426 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~13427 emximp -o $lib $output_objdir/$libname.def'13428 old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'13429 enable_shared_with_static_runtimes_CXX=yes13430 ;;13431 13432 dgux*)13433 case $cc_basename in13434 ec++*)13435 # FIXME: insert proper C++ library support13436 ld_shlibs_CXX=no13437 ;;13438 ghcx*)13439 # Green Hills C++ Compiler13440 # FIXME: insert proper C++ library support13441 ld_shlibs_CXX=no13442 ;;13443 *)13444 # FIXME: insert proper C++ library support13445 ld_shlibs_CXX=no13446 ;;13447 esac13448 ;;13449 13450 freebsd2.*)13451 # C++ shared libraries reported to be fairly broken before13452 # switch to ELF13453 ld_shlibs_CXX=no13454 ;;13455 13456 freebsd-elf*)13457 archive_cmds_need_lc_CXX=no13458 ;;13459 13460 freebsd* | dragonfly*)13461 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF13462 # conventions13463 ld_shlibs_CXX=yes13464 ;;13465 13466 haiku*)13467 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'13468 link_all_deplibs_CXX=yes13469 ;;13470 13471 hpux9*)13472 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'13473 hardcode_libdir_separator_CXX=:13474 export_dynamic_flag_spec_CXX='$wl-E'13475 hardcode_direct_CXX=yes13476 hardcode_minus_L_CXX=yes # Not in the search PATH,13477 # but as the default13478 # location of the library.13479 13480 case $cc_basename in13481 CC*)13482 # FIXME: insert proper C++ library support13483 ld_shlibs_CXX=no13484 ;;13485 aCC*)13486 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'13487 # Commands to make compiler produce verbose output that lists13488 # what "hidden" libraries, object files and flags are used when13489 # linking a shared library.13490 #13491 # There doesn't appear to be a way to prevent this compiler from13492 # explicitly linking system object files so we need to strip them13493 # from the output so that they don't get included in the library13494 # dependencies.13495 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'13496 ;;13497 *)13498 if test yes = "$GXX"; then13499 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'13500 else13501 # FIXME: insert proper C++ library support13502 ld_shlibs_CXX=no13503 fi13504 ;;13505 esac13506 ;;13507 13508 hpux10*|hpux11*)13509 if test no = "$with_gnu_ld"; then13510 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'13511 hardcode_libdir_separator_CXX=:13512 13513 case $host_cpu in13514 hppa*64*|ia64*)13515 ;;13516 *)13517 export_dynamic_flag_spec_CXX='$wl-E'13518 ;;13519 esac13520 fi13521 case $host_cpu in13522 hppa*64*|ia64*)13523 hardcode_direct_CXX=no13524 hardcode_shlibpath_var_CXX=no13525 ;;13526 *)13527 hardcode_direct_CXX=yes13528 hardcode_direct_absolute_CXX=yes13529 hardcode_minus_L_CXX=yes # Not in the search PATH,13530 # but as the default13531 # location of the library.13532 ;;13533 esac13534 13535 case $cc_basename in13536 CC*)13537 # FIXME: insert proper C++ library support13538 ld_shlibs_CXX=no13539 ;;13540 aCC*)13541 case $host_cpu in13542 hppa*64*)13543 archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13544 ;;13545 ia64*)13546 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13547 ;;13548 *)13549 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13550 ;;13551 esac13552 # Commands to make compiler produce verbose output that lists13553 # what "hidden" libraries, object files and flags are used when13554 # linking a shared library.13555 #13556 # There doesn't appear to be a way to prevent this compiler from13557 # explicitly linking system object files so we need to strip them13558 # from the output so that they don't get included in the library13559 # dependencies.13560 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'13561 ;;13562 *)13563 if test yes = "$GXX"; then13564 if test no = "$with_gnu_ld"; then13565 case $host_cpu in13566 hppa*64*)13567 archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13568 ;;13569 ia64*)13570 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13571 ;;13572 *)13573 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13574 ;;13575 esac13576 fi13577 else13578 # FIXME: insert proper C++ library support13579 ld_shlibs_CXX=no13580 fi13581 ;;13582 esac13583 ;;13584 13585 interix[3-9]*)13586 hardcode_direct_CXX=no13587 hardcode_shlibpath_var_CXX=no13588 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'13589 export_dynamic_flag_spec_CXX='$wl-E'13590 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.13591 # Instead, shared libraries are loaded at an image base (0x10000000 by13592 # default) and relocated if they conflict, which is a slow very memory13593 # consuming and fragmenting process. To avoid this, we pick a random,13594 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link13595 # time. Moving up from 0x10000000 also allows more sbrk(2) space.13596 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'13597 archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'13598 ;;13599 irix5* | irix6*)13600 case $cc_basename in13601 CC*)13602 # SGI C++13603 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'13604 13605 # Archives containing C++ object files must be created using13606 # "CC -ar", where "CC" is the IRIX C++ compiler. This is13607 # necessary to make sure instantiated templates are included13608 # in the archive.13609 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'13610 ;;13611 *)13612 if test yes = "$GXX"; then13613 if test no = "$with_gnu_ld"; then13614 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'13615 else13616 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'13617 fi13618 fi13619 link_all_deplibs_CXX=yes13620 ;;13621 esac13622 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'13623 hardcode_libdir_separator_CXX=:13624 inherit_rpath_CXX=yes13625 ;;13626 13627 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)13628 case $cc_basename in13629 KCC*)13630 # Kuck and Associates, Inc. (KAI) C++ Compiler13631 13632 # KCC will only create a shared library if the output file13633 # ends with ".so" (or ".sl" for HP-UX), so rename the library13634 # to its proper name (with version) after linking.13635 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'13636 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'13637 # Commands to make compiler produce verbose output that lists13638 # what "hidden" libraries, object files and flags are used when13639 # linking a shared library.13640 #13641 # There doesn't appear to be a way to prevent this compiler from13642 # explicitly linking system object files so we need to strip them13643 # from the output so that they don't get included in the library13644 # dependencies.13645 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'13646 13647 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'13648 export_dynamic_flag_spec_CXX='$wl--export-dynamic'13649 13650 # Archives containing C++ object files must be created using13651 # "CC -Bstatic", where "CC" is the KAI C++ compiler.13652 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'13653 ;;13654 icpc* | ecpc* )13655 # Intel C++13656 with_gnu_ld=yes13657 # version 8.0 and above of icpc choke on multiply defined symbols13658 # if we add $predep_objects and $postdep_objects, however 7.1 and13659 # earlier do not add the objects themselves.13660 case `$CC -V 2>&1` in13661 *"Version 7."*)13662 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'13663 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'13664 ;;13665 *) # Version 8.0 or newer13666 tmp_idyn=13667 case $host_cpu in13668 ia64*) tmp_idyn=' -i_dynamic';;13669 esac13670 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'13671 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'13672 ;;13673 esac13674 archive_cmds_need_lc_CXX=no13675 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'13676 export_dynamic_flag_spec_CXX='$wl--export-dynamic'13677 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'13678 ;;13679 pgCC* | pgcpp*)13680 # Portland Group C++ compiler13681 case `$CC -V` in13682 *pgCC\ [1-5].* | *pgcpp\ [1-5].*)13683 prelink_cmds_CXX='tpldir=Template.dir~13684 rm -rf $tpldir~13685 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~13686 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'13687 old_archive_cmds_CXX='tpldir=Template.dir~13688 rm -rf $tpldir~13689 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~13690 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~13691 $RANLIB $oldlib'13692 archive_cmds_CXX='tpldir=Template.dir~13693 rm -rf $tpldir~13694 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~13695 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'13696 archive_expsym_cmds_CXX='tpldir=Template.dir~13697 rm -rf $tpldir~13698 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~13699 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'13700 ;;13701 *) # Version 6 and above use weak symbols13702 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'13703 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'13704 ;;13705 esac13706 13707 hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'13708 export_dynamic_flag_spec_CXX='$wl--export-dynamic'13709 whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'13710 ;;13711 cxx*)13712 # Compaq C++13713 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'13714 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'13715 13716 runpath_var=LD_RUN_PATH13717 hardcode_libdir_flag_spec_CXX='-rpath $libdir'13718 hardcode_libdir_separator_CXX=:13719 13720 # Commands to make compiler produce verbose output that lists13721 # what "hidden" libraries, object files and flags are used when13722 # linking a shared library.13723 #13724 # There doesn't appear to be a way to prevent this compiler from13725 # explicitly linking system object files so we need to strip them13726 # from the output so that they don't get included in the library13727 # dependencies.13728 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'13729 ;;13730 xl* | mpixl* | bgxl*)13731 # IBM XL 8.0 on PPC, with GNU ld13732 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'13733 export_dynamic_flag_spec_CXX='$wl--export-dynamic'13734 archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'13735 if test yes = "$supports_anon_versioning"; then13736 archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~13737 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~13738 echo "local: *; };" >> $output_objdir/$libname.ver~13739 $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'13740 fi13741 ;;13742 *)13743 case `$CC -V 2>&1 | sed 5q` in13744 *Sun\ C*)13745 # Sun C++ 5.913746 no_undefined_flag_CXX=' -zdefs'13747 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13748 archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'13749 hardcode_libdir_flag_spec_CXX='-R$libdir'13750 whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'13751 compiler_needs_object_CXX=yes13752 13753 # Not sure whether something based on13754 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&113755 # would be better.13756 output_verbose_link_cmd='func_echo_all'13757 13758 # Archives containing C++ object files must be created using13759 # "CC -xar", where "CC" is the Sun C++ compiler. This is13760 # necessary to make sure instantiated templates are included13761 # in the archive.13762 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'13763 ;;13764 esac13765 ;;13766 esac13767 ;;13768 13769 lynxos*)13770 # FIXME: insert proper C++ library support13771 ld_shlibs_CXX=no13772 ;;13773 13774 m88k*)13775 # FIXME: insert proper C++ library support13776 ld_shlibs_CXX=no13777 ;;13778 13779 mvs*)13780 case $cc_basename in13781 cxx*)13782 # FIXME: insert proper C++ library support13783 ld_shlibs_CXX=no13784 ;;13785 *)13786 # FIXME: insert proper C++ library support13787 ld_shlibs_CXX=no13788 ;;13789 esac13790 ;;13791 13792 netbsd*)13793 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then13794 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'13795 wlarc=13796 hardcode_libdir_flag_spec_CXX='-R$libdir'13797 hardcode_direct_CXX=yes13798 hardcode_shlibpath_var_CXX=no13799 fi13800 # Workaround some broken pre-1.5 toolchains13801 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'13802 ;;13803 13804 *nto* | *qnx*)13805 ld_shlibs_CXX=yes13806 ;;13807 13808 openbsd* | bitrig*)13809 if test -f /usr/libexec/ld.so; then13810 hardcode_direct_CXX=yes13811 hardcode_shlibpath_var_CXX=no13812 hardcode_direct_absolute_CXX=yes13813 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'13814 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'13815 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then13816 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'13817 export_dynamic_flag_spec_CXX='$wl-E'13818 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'13819 fi13820 output_verbose_link_cmd=func_echo_all13821 else13822 ld_shlibs_CXX=no13823 fi13824 ;;13825 13826 osf3* | osf4* | osf5*)13827 case $cc_basename in13828 KCC*)13829 # Kuck and Associates, Inc. (KAI) C++ Compiler13830 13831 # KCC will only create a shared library if the output file13832 # ends with ".so" (or ".sl" for HP-UX), so rename the library13833 # to its proper name (with version) after linking.13834 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'13835 13836 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'13837 hardcode_libdir_separator_CXX=:13838 13839 # Archives containing C++ object files must be created using13840 # the KAI C++ compiler.13841 case $host in13842 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;13843 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;13844 esac13845 ;;13846 RCC*)13847 # Rational C++ 2.4.113848 # FIXME: insert proper C++ library support13849 ld_shlibs_CXX=no13850 ;;13851 cxx*)13852 case $host in13853 osf3*)13854 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'13855 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'13856 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'13857 ;;13858 *)13859 allow_undefined_flag_CXX=' -expect_unresolved \*'13860 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'13861 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~13862 echo "-hidden">> $lib.exp~13863 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~13864 $RM $lib.exp'13865 hardcode_libdir_flag_spec_CXX='-rpath $libdir'13866 ;;13867 esac13868 13869 hardcode_libdir_separator_CXX=:13870 13871 # Commands to make compiler produce verbose output that lists13872 # what "hidden" libraries, object files and flags are used when13873 # linking a shared library.13874 #13875 # There doesn't appear to be a way to prevent this compiler from13876 # explicitly linking system object files so we need to strip them13877 # from the output so that they don't get included in the library13878 # dependencies.13879 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'13880 ;;13881 *)13882 if test yes,no = "$GXX,$with_gnu_ld"; then13883 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'13884 case $host in13885 osf3*)13886 archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'13887 ;;13888 *)13889 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'13890 ;;13891 esac13892 13893 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'13894 hardcode_libdir_separator_CXX=:13895 13896 # Commands to make compiler produce verbose output that lists13897 # what "hidden" libraries, object files and flags are used when13898 # linking a shared library.13899 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'13900 13901 else13902 # FIXME: insert proper C++ library support13903 ld_shlibs_CXX=no13904 fi13905 ;;13906 esac13907 ;;13908 13909 psos*)13910 # FIXME: insert proper C++ library support13911 ld_shlibs_CXX=no13912 ;;13913 13914 sunos4*)13915 case $cc_basename in13916 CC*)13917 # Sun C++ 4.x13918 # FIXME: insert proper C++ library support13919 ld_shlibs_CXX=no13920 ;;13921 lcc*)13922 # Lucid13923 # FIXME: insert proper C++ library support13924 ld_shlibs_CXX=no13925 ;;13926 *)13927 # FIXME: insert proper C++ library support13928 ld_shlibs_CXX=no13929 ;;13930 esac13931 ;;13932 13933 solaris*)13934 case $cc_basename in13935 CC* | sunCC*)13936 # Sun C++ 4.2, 5.x and Centerline C++13937 archive_cmds_need_lc_CXX=yes13938 no_undefined_flag_CXX=' -zdefs'13939 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'13940 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~13941 $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'13942 13943 hardcode_libdir_flag_spec_CXX='-R$libdir'13944 hardcode_shlibpath_var_CXX=no13945 case $host_os in13946 solaris2.[0-5] | solaris2.[0-5].*) ;;13947 *)13948 # The compiler driver will combine and reorder linker options,13949 # but understands '-z linker_flag'.13950 # Supported since Solaris 2.6 (maybe 2.5.1?)13951 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'13952 ;;13953 esac13954 link_all_deplibs_CXX=yes13955 13956 output_verbose_link_cmd='func_echo_all'13957 13958 # Archives containing C++ object files must be created using13959 # "CC -xar", where "CC" is the Sun C++ compiler. This is13960 # necessary to make sure instantiated templates are included13961 # in the archive.13962 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'13963 ;;13964 gcx*)13965 # Green Hills C++ Compiler13966 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'13967 13968 # The C++ compiler must be used to create the archive.13969 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'13970 ;;13971 *)13972 # GNU C++ compiler with Solaris linker13973 if test yes,no = "$GXX,$with_gnu_ld"; then13974 no_undefined_flag_CXX=' $wl-z ${wl}defs'13975 if $CC --version | $GREP -v '^2\.7' > /dev/null; then13976 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'13977 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~13978 $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'13979 13980 # Commands to make compiler produce verbose output that lists13981 # what "hidden" libraries, object files and flags are used when13982 # linking a shared library.13983 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'13984 else13985 # g++ 2.7 appears to require '-G' NOT '-shared' on this13986 # platform.13987 archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'13988 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~13989 $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'13990 13991 # Commands to make compiler produce verbose output that lists13992 # what "hidden" libraries, object files and flags are used when13993 # linking a shared library.13994 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'13995 fi13996 13997 hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'13998 case $host_os in13999 solaris2.[0-5] | solaris2.[0-5].*) ;;14000 *)14001 whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'14002 ;;14003 esac14004 fi14005 ;;14006 esac14007 ;;14008 14009 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)14010 no_undefined_flag_CXX='$wl-z,text'14011 archive_cmds_need_lc_CXX=no14012 hardcode_shlibpath_var_CXX=no14013 runpath_var='LD_RUN_PATH'14014 14015 case $cc_basename in14016 CC*)14017 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14018 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14019 ;;14020 *)14021 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14022 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14023 ;;14024 esac14025 ;;14026 14027 sysv5* | sco3.2v5* | sco5v6*)14028 # Note: We CANNOT use -z defs as we might desire, because we do not14029 # link with -lc, and that would cause any symbols used from libc to14030 # always be unresolved, which means just about no library would14031 # ever link correctly. If we're not using GNU ld we use -z text14032 # though, which does catch some bad symbols but isn't as heavy-handed14033 # as -z defs.14034 no_undefined_flag_CXX='$wl-z,text'14035 allow_undefined_flag_CXX='$wl-z,nodefs'14036 archive_cmds_need_lc_CXX=no14037 hardcode_shlibpath_var_CXX=no14038 hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'14039 hardcode_libdir_separator_CXX=':'14040 link_all_deplibs_CXX=yes14041 export_dynamic_flag_spec_CXX='$wl-Bexport'14042 runpath_var='LD_RUN_PATH'14043 14044 case $cc_basename in14045 CC*)14046 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14047 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14048 old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~14049 '"$old_archive_cmds_CXX"14050 reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~14051 '"$reload_cmds_CXX"14052 ;;14053 *)14054 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14055 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'14056 ;;14057 esac14058 ;;14059 14060 tandem*)14061 case $cc_basename in14062 NCC*)14063 # NonStop-UX NCC 3.2014064 # FIXME: insert proper C++ library support14065 ld_shlibs_CXX=no14066 ;;14067 *)14068 # FIXME: insert proper C++ library support14069 ld_shlibs_CXX=no14070 ;;14071 esac14072 ;;14073 14074 vxworks*)14075 # FIXME: insert proper C++ library support14076 ld_shlibs_CXX=no14077 ;;14078 14079 *)14080 # FIXME: insert proper C++ library support14081 ld_shlibs_CXX=no14082 ;;14083 esac14084 14085 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&514086 $as_echo "$ld_shlibs_CXX" >&6; }14087 test no = "$ld_shlibs_CXX" && can_build_shared=no14088 14089 GCC_CXX=$GXX14090 LD_CXX=$LD14091 14092 ## CAVEAT EMPTOR:14093 ## There is no encapsulation within the following macros, do not change14094 ## the running order or otherwise move them around unless you know exactly14095 ## what you are doing...14096 # Dependencies to place before and after the object being linked:14097 predep_objects_CXX=14098 postdep_objects_CXX=14099 predeps_CXX=14100 postdeps_CXX=14101 compiler_lib_search_path_CXX=14102 14103 cat > conftest.$ac_ext <<_LT_EOF14104 class Foo14105 {14106 public:14107 Foo (void) { a = 0; }14108 private:14109 int a;14110 };14111 _LT_EOF14112 14113 14114 _lt_libdeps_save_CFLAGS=$CFLAGS14115 case "$CC $CFLAGS " in #(14116 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;14117 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;14118 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;14119 esac14120 14121 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&514122 (eval $ac_compile) 2>&514123 ac_status=$?14124 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&514125 test $ac_status = 0; }; then14126 # Parse the compiler output and extract the necessary14127 # objects, libraries and library flags.14128 14129 # Sentinel used to keep track of whether or not we are before14130 # the conftest object file.14131 pre_test_object_deps_done=no14132 14133 for p in `eval "$output_verbose_link_cmd"`; do14134 case $prev$p in14135 14136 -L* | -R* | -l*)14137 # Some compilers place space between "-{L,R}" and the path.14138 # Remove the space.14139 if test x-L = "$p" ||14140 test x-R = "$p"; then14141 prev=$p14142 continue14143 fi14144 14145 # Expand the sysroot to ease extracting the directories later.14146 if test -z "$prev"; then14147 case $p in14148 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;14149 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;14150 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;14151 esac14152 fi14153 case $p in14154 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;14155 esac14156 if test no = "$pre_test_object_deps_done"; then14157 case $prev in14158 -L | -R)14159 # Internal compiler library paths should come after those14160 # provided the user. The postdeps already come after the14161 # user supplied libs so there is no need to process them.14162 if test -z "$compiler_lib_search_path_CXX"; then14163 compiler_lib_search_path_CXX=$prev$p14164 else14165 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"14166 fi14167 ;;14168 # The "-l" case would never come before the object being14169 # linked, so don't bother handling this case.14170 esac14171 else14172 if test -z "$postdeps_CXX"; then14173 postdeps_CXX=$prev$p14174 else14175 postdeps_CXX="${postdeps_CXX} $prev$p"14176 fi14177 fi14178 prev=14179 ;;14180 14181 *.lto.$objext) ;; # Ignore GCC LTO objects14182 *.$objext)14183 # This assumes that the test object file only shows up14184 # once in the compiler output.14185 if test "$p" = "conftest.$objext"; then14186 pre_test_object_deps_done=yes14187 continue14188 fi14189 14190 if test no = "$pre_test_object_deps_done"; then14191 if test -z "$predep_objects_CXX"; then14192 predep_objects_CXX=$p14193 else14194 predep_objects_CXX="$predep_objects_CXX $p"14195 fi14196 else14197 if test -z "$postdep_objects_CXX"; then14198 postdep_objects_CXX=$p14199 else14200 postdep_objects_CXX="$postdep_objects_CXX $p"14201 fi14202 fi14203 ;;14204 14205 *) ;; # Ignore the rest.14206 14207 esac14208 done14209 14210 # Clean up.14211 rm -f a.out a.exe14212 else14213 echo "libtool.m4: error: problem compiling CXX test program"14214 fi14215 14216 $RM -f confest.$objext14217 CFLAGS=$_lt_libdeps_save_CFLAGS14218 14219 # PORTME: override above test on systems where it is broken14220 case $host_os in14221 interix[3-9]*)14222 # Interix 3.5 installs completely hosed .la files for C++, so rather than14223 # hack all around it, let's just trust "g++" to DTRT.14224 predep_objects_CXX=14225 postdep_objects_CXX=14226 postdeps_CXX=14227 ;;14228 esac14229 14230 14231 case " $postdeps_CXX " in14232 *" -lc "*) archive_cmds_need_lc_CXX=no ;;14233 esac14234 compiler_lib_search_dirs_CXX=14235 if test -n "${compiler_lib_search_path_CXX}"; then14236 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`14237 fi14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 lt_prog_compiler_wl_CXX=14270 lt_prog_compiler_pic_CXX=14271 lt_prog_compiler_static_CXX=14272 14273 14274 # C++ specific cases for pic, static, wl, etc.14275 if test yes = "$GXX"; then14276 lt_prog_compiler_wl_CXX='-Wl,'14277 lt_prog_compiler_static_CXX='-static'14278 14279 case $host_os in14280 aix*)14281 # All AIX code is PIC.14282 if test ia64 = "$host_cpu"; then14283 # AIX 5 now supports IA64 processor14284 lt_prog_compiler_static_CXX='-Bstatic'14285 fi14286 lt_prog_compiler_pic_CXX='-fPIC'14287 ;;14288 14289 amigaos*)14290 case $host_cpu in14291 powerpc)14292 # see comment about AmigaOS4 .so support14293 lt_prog_compiler_pic_CXX='-fPIC'14294 ;;14295 m68k)14296 # FIXME: we need at least 68020 code to build shared libraries, but14297 # adding the '-m68020' flag to GCC prevents building anything better,14298 # like '-m68040'.14299 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'14300 ;;14301 esac14302 ;;14303 14304 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)14305 # PIC is the default for these OSes.14306 ;;14307 mingw* | cygwin* | os2* | pw32* | cegcc*)14308 # This hack is so that the source file can tell whether it is being14309 # built for inclusion in a dll (and should export symbols for example).14310 # Although the cygwin gcc ignores -fPIC, still need this for old-style14311 # (--disable-auto-import) libraries14312 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'14313 case $host_os in14314 os2*)14315 lt_prog_compiler_static_CXX='$wl-static'14316 ;;14317 esac14318 ;;14319 darwin* | rhapsody*)14320 # PIC is the default on this platform14321 # Common symbols not allowed in MH_DYLIB files14322 lt_prog_compiler_pic_CXX='-fno-common'14323 ;;14324 *djgpp*)14325 # DJGPP does not support shared libraries at all14326 lt_prog_compiler_pic_CXX=14327 ;;14328 haiku*)14329 # PIC is the default for Haiku.14330 # The "-static" flag exists, but is broken.14331 lt_prog_compiler_static_CXX=14332 ;;14333 interix[3-9]*)14334 # Interix 3.x gcc -fpic/-fPIC options generate broken code.14335 # Instead, we relocate shared libraries at runtime.14336 ;;14337 sysv4*MP*)14338 if test -d /usr/nec; then14339 lt_prog_compiler_pic_CXX=-Kconform_pic14340 fi14341 ;;14342 hpux*)14343 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit14344 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag14345 # sets the default TLS model and affects inlining.14346 case $host_cpu in14347 hppa*64*)14348 ;;14349 *)14350 lt_prog_compiler_pic_CXX='-fPIC'14351 ;;14352 esac14353 ;;14354 *qnx* | *nto*)14355 # QNX uses GNU C++, but need to define -shared option too, otherwise14356 # it will coredump.14357 lt_prog_compiler_pic_CXX='-fPIC -shared'14358 ;;14359 *)14360 lt_prog_compiler_pic_CXX='-fPIC'14361 ;;14362 esac14363 else14364 case $host_os in14365 aix[4-9]*)14366 # All AIX code is PIC.14367 if test ia64 = "$host_cpu"; then14368 # AIX 5 now supports IA64 processor14369 lt_prog_compiler_static_CXX='-Bstatic'14370 else14371 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'14372 fi14373 ;;14374 chorus*)14375 case $cc_basename in14376 cxch68*)14377 # Green Hills C++ Compiler14378 # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"14379 ;;14380 esac14381 ;;14382 mingw* | cygwin* | os2* | pw32* | cegcc*)14383 # This hack is so that the source file can tell whether it is being14384 # built for inclusion in a dll (and should export symbols for example).14385 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'14386 ;;14387 dgux*)14388 case $cc_basename in14389 ec++*)14390 lt_prog_compiler_pic_CXX='-KPIC'14391 ;;14392 ghcx*)14393 # Green Hills C++ Compiler14394 lt_prog_compiler_pic_CXX='-pic'14395 ;;14396 *)14397 ;;14398 esac14399 ;;14400 freebsd* | dragonfly*)14401 # FreeBSD uses GNU C++14402 ;;14403 hpux9* | hpux10* | hpux11*)14404 case $cc_basename in14405 CC*)14406 lt_prog_compiler_wl_CXX='-Wl,'14407 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'14408 if test ia64 != "$host_cpu"; then14409 lt_prog_compiler_pic_CXX='+Z'14410 fi14411 ;;14412 aCC*)14413 lt_prog_compiler_wl_CXX='-Wl,'14414 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'14415 case $host_cpu in14416 hppa*64*|ia64*)14417 # +Z the default14418 ;;14419 *)14420 lt_prog_compiler_pic_CXX='+Z'14421 ;;14422 esac14423 ;;14424 *)14425 ;;14426 esac14427 ;;14428 interix*)14429 # This is c89, which is MS Visual C++ (no shared libs)14430 # Anyone wants to do a port?14431 ;;14432 irix5* | irix6* | nonstopux*)14433 case $cc_basename in14434 CC*)14435 lt_prog_compiler_wl_CXX='-Wl,'14436 lt_prog_compiler_static_CXX='-non_shared'14437 # CC pic flag -KPIC is the default.14438 ;;14439 *)14440 ;;14441 esac14442 ;;14443 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)14444 case $cc_basename in14445 KCC*)14446 # KAI C++ Compiler14447 lt_prog_compiler_wl_CXX='--backend -Wl,'14448 lt_prog_compiler_pic_CXX='-fPIC'14449 ;;14450 ecpc* )14451 # old Intel C++ for x86_64, which still supported -KPIC.14452 lt_prog_compiler_wl_CXX='-Wl,'14453 lt_prog_compiler_pic_CXX='-KPIC'14454 lt_prog_compiler_static_CXX='-static'14455 ;;14456 icpc* )14457 # Intel C++, used to be incompatible with GCC.14458 # ICC 10 doesn't accept -KPIC any more.14459 lt_prog_compiler_wl_CXX='-Wl,'14460 lt_prog_compiler_pic_CXX='-fPIC'14461 lt_prog_compiler_static_CXX='-static'14462 ;;14463 pgCC* | pgcpp*)14464 # Portland Group C++ compiler14465 lt_prog_compiler_wl_CXX='-Wl,'14466 lt_prog_compiler_pic_CXX='-fpic'14467 lt_prog_compiler_static_CXX='-Bstatic'14468 ;;14469 cxx*)14470 # Compaq C++14471 # Make sure the PIC flag is empty. It appears that all Alpha14472 # Linux and Compaq Tru64 Unix objects are PIC.14473 lt_prog_compiler_pic_CXX=14474 lt_prog_compiler_static_CXX='-non_shared'14475 ;;14476 xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)14477 # IBM XL 8.0, 9.0 on PPC and BlueGene14478 lt_prog_compiler_wl_CXX='-Wl,'14479 lt_prog_compiler_pic_CXX='-qpic'14480 lt_prog_compiler_static_CXX='-qstaticlink'14481 ;;14482 *)14483 case `$CC -V 2>&1 | sed 5q` in14484 *Sun\ C*)14485 # Sun C++ 5.914486 lt_prog_compiler_pic_CXX='-KPIC'14487 lt_prog_compiler_static_CXX='-Bstatic'14488 lt_prog_compiler_wl_CXX='-Qoption ld '14489 ;;14490 esac14491 ;;14492 esac14493 ;;14494 lynxos*)14495 ;;14496 m88k*)14497 ;;14498 mvs*)14499 case $cc_basename in14500 cxx*)14501 lt_prog_compiler_pic_CXX='-W c,exportall'14502 ;;14503 *)14504 ;;14505 esac14506 ;;14507 netbsd* | netbsdelf*-gnu)14508 ;;14509 *qnx* | *nto*)14510 # QNX uses GNU C++, but need to define -shared option too, otherwise14511 # it will coredump.14512 lt_prog_compiler_pic_CXX='-fPIC -shared'14513 ;;14514 osf3* | osf4* | osf5*)14515 case $cc_basename in14516 KCC*)14517 lt_prog_compiler_wl_CXX='--backend -Wl,'14518 ;;14519 RCC*)14520 # Rational C++ 2.4.114521 lt_prog_compiler_pic_CXX='-pic'14522 ;;14523 cxx*)14524 # Digital/Compaq C++14525 lt_prog_compiler_wl_CXX='-Wl,'14526 # Make sure the PIC flag is empty. It appears that all Alpha14527 # Linux and Compaq Tru64 Unix objects are PIC.14528 lt_prog_compiler_pic_CXX=14529 lt_prog_compiler_static_CXX='-non_shared'14530 ;;14531 *)14532 ;;14533 esac14534 ;;14535 psos*)14536 ;;14537 solaris*)14538 case $cc_basename in14539 CC* | sunCC*)14540 # Sun C++ 4.2, 5.x and Centerline C++14541 lt_prog_compiler_pic_CXX='-KPIC'14542 lt_prog_compiler_static_CXX='-Bstatic'14543 lt_prog_compiler_wl_CXX='-Qoption ld '14544 ;;14545 gcx*)14546 # Green Hills C++ Compiler14547 lt_prog_compiler_pic_CXX='-PIC'14548 ;;14549 *)14550 ;;14551 esac14552 ;;14553 sunos4*)14554 case $cc_basename in14555 CC*)14556 # Sun C++ 4.x14557 lt_prog_compiler_pic_CXX='-pic'14558 lt_prog_compiler_static_CXX='-Bstatic'14559 ;;14560 lcc*)14561 # Lucid14562 lt_prog_compiler_pic_CXX='-pic'14563 ;;14564 *)14565 ;;14566 esac14567 ;;14568 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)14569 case $cc_basename in14570 CC*)14571 lt_prog_compiler_wl_CXX='-Wl,'14572 lt_prog_compiler_pic_CXX='-KPIC'14573 lt_prog_compiler_static_CXX='-Bstatic'14574 ;;14575 esac14576 ;;14577 tandem*)14578 case $cc_basename in14579 NCC*)14580 # NonStop-UX NCC 3.2014581 lt_prog_compiler_pic_CXX='-KPIC'14582 ;;14583 *)14584 ;;14585 esac14586 ;;14587 vxworks*)14588 ;;14589 *)14590 lt_prog_compiler_can_build_shared_CXX=no14591 ;;14592 esac14593 fi14594 14595 case $host_os in14596 # For platforms that do not support PIC, -DPIC is meaningless:14597 *djgpp*)14598 lt_prog_compiler_pic_CXX=14599 ;;14600 *)14601 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"14602 ;;14603 esac14604 14605 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&514606 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }14607 if ${lt_cv_prog_compiler_pic_CXX+:} false; then :14608 $as_echo_n "(cached) " >&614609 else14610 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX14611 fi14612 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&514613 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }14614 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX14615 14616 #14617 # Check to make sure the PIC flag actually works.14618 #14619 if test -n "$lt_prog_compiler_pic_CXX"; then14620 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&514621 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }14622 if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :14623 $as_echo_n "(cached) " >&614624 else14625 lt_cv_prog_compiler_pic_works_CXX=no14626 ac_outfile=conftest.$ac_objext14627 echo "$lt_simple_compile_test_code" > conftest.$ac_ext14628 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment14629 # Insert the option either (1) after the last *FLAGS variable, or14630 # (2) before a word containing "conftest.", or (3) at the end.14631 # Note that $ac_compile itself does not contain backslashes and begins14632 # with a dollar sign (not a hyphen), so the echo should work correctly.14633 # The option is referenced via a variable to avoid confusing sed.14634 lt_compile=`echo "$ac_compile" | $SED \14635 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \14636 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \14637 -e 's:$: $lt_compiler_flag:'`14638 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)14639 (eval "$lt_compile" 2>conftest.err)14640 ac_status=$?14641 cat conftest.err >&514642 echo "$as_me:$LINENO: \$? = $ac_status" >&514643 if (exit $ac_status) && test -s "$ac_outfile"; then14644 # The compiler can only warn and ignore the option if not recognized14645 # So say no if there are warnings other than the usual output.14646 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp14647 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er214648 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then14649 lt_cv_prog_compiler_pic_works_CXX=yes14650 fi14651 fi14652 $RM conftest*14653 14654 fi14655 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&514656 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }14657 14658 if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then14659 case $lt_prog_compiler_pic_CXX in14660 "" | " "*) ;;14661 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;14662 esac14663 else14664 lt_prog_compiler_pic_CXX=14665 lt_prog_compiler_can_build_shared_CXX=no14666 fi14667 14668 fi14669 14670 14671 14672 14673 14674 #14675 # Check to make sure the static flag actually works.14676 #14677 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"14678 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&514679 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }14680 if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :14681 $as_echo_n "(cached) " >&614682 else14683 lt_cv_prog_compiler_static_works_CXX=no14684 save_LDFLAGS=$LDFLAGS14685 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"14686 echo "$lt_simple_link_test_code" > conftest.$ac_ext14687 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then14688 # The linker can only warn and ignore the option if not recognized14689 # So say no if there are warnings14690 if test -s conftest.err; then14691 # Append any errors to the config.log.14692 cat conftest.err 1>&514693 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp14694 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er214695 if diff conftest.exp conftest.er2 >/dev/null; then14696 lt_cv_prog_compiler_static_works_CXX=yes14697 fi14698 else14699 lt_cv_prog_compiler_static_works_CXX=yes14700 fi14701 fi14702 $RM -r conftest*14703 LDFLAGS=$save_LDFLAGS14704 14705 fi14706 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&514707 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }14708 14709 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then14710 :14711 else14712 lt_prog_compiler_static_CXX=14713 fi14714 14715 14716 14717 14718 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&514719 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }14720 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :14721 $as_echo_n "(cached) " >&614722 else14723 lt_cv_prog_compiler_c_o_CXX=no14724 $RM -r conftest 2>/dev/null14725 mkdir conftest14726 cd conftest14727 mkdir out14728 echo "$lt_simple_compile_test_code" > conftest.$ac_ext14729 14730 lt_compiler_flag="-o out/conftest2.$ac_objext"14731 # Insert the option either (1) after the last *FLAGS variable, or14732 # (2) before a word containing "conftest.", or (3) at the end.14733 # Note that $ac_compile itself does not contain backslashes and begins14734 # with a dollar sign (not a hyphen), so the echo should work correctly.14735 lt_compile=`echo "$ac_compile" | $SED \14736 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \14737 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \14738 -e 's:$: $lt_compiler_flag:'`14739 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)14740 (eval "$lt_compile" 2>out/conftest.err)14741 ac_status=$?14742 cat out/conftest.err >&514743 echo "$as_me:$LINENO: \$? = $ac_status" >&514744 if (exit $ac_status) && test -s out/conftest2.$ac_objext14745 then14746 # The compiler can only warn and ignore the option if not recognized14747 # So say no if there are warnings14748 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp14749 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er214750 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then14751 lt_cv_prog_compiler_c_o_CXX=yes14752 fi14753 fi14754 chmod u+w . 2>&514755 $RM conftest*14756 # SGI C++ compiler will create directory out/ii_files/ for14757 # template instantiation14758 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files14759 $RM out/* && rmdir out14760 cd ..14761 $RM -r conftest14762 $RM conftest*14763 14764 fi14765 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&514766 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }14767 14768 14769 14770 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&514771 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }14772 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :14773 $as_echo_n "(cached) " >&614774 else14775 lt_cv_prog_compiler_c_o_CXX=no14776 $RM -r conftest 2>/dev/null14777 mkdir conftest14778 cd conftest14779 mkdir out14780 echo "$lt_simple_compile_test_code" > conftest.$ac_ext14781 14782 lt_compiler_flag="-o out/conftest2.$ac_objext"14783 # Insert the option either (1) after the last *FLAGS variable, or14784 # (2) before a word containing "conftest.", or (3) at the end.14785 # Note that $ac_compile itself does not contain backslashes and begins14786 # with a dollar sign (not a hyphen), so the echo should work correctly.14787 lt_compile=`echo "$ac_compile" | $SED \14788 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \14789 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \14790 -e 's:$: $lt_compiler_flag:'`14791 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)14792 (eval "$lt_compile" 2>out/conftest.err)14793 ac_status=$?14794 cat out/conftest.err >&514795 echo "$as_me:$LINENO: \$? = $ac_status" >&514796 if (exit $ac_status) && test -s out/conftest2.$ac_objext14797 then14798 # The compiler can only warn and ignore the option if not recognized14799 # So say no if there are warnings14800 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp14801 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er214802 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then14803 lt_cv_prog_compiler_c_o_CXX=yes14804 fi14805 fi14806 chmod u+w . 2>&514807 $RM conftest*14808 # SGI C++ compiler will create directory out/ii_files/ for14809 # template instantiation14810 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files14811 $RM out/* && rmdir out14812 cd ..14813 $RM -r conftest14814 $RM conftest*14815 14816 fi14817 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&514818 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }14819 14820 14821 14822 14823 hard_links=nottested14824 if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then14825 # do not overwrite the value of need_locks provided by the user14826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&514827 $as_echo_n "checking if we can lock with hard links... " >&6; }14828 hard_links=yes14829 $RM conftest*14830 ln conftest.a conftest.b 2>/dev/null && hard_links=no14831 touch conftest.a14832 ln conftest.a conftest.b 2>&5 || hard_links=no14833 ln conftest.a conftest.b 2>/dev/null && hard_links=no14834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&514835 $as_echo "$hard_links" >&6; }14836 if test no = "$hard_links"; then14837 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&514838 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}14839 need_locks=warn14840 fi14841 else14842 need_locks=no14843 fi14844 14845 14846 14847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&514848 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }14849 14850 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'14851 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'14852 case $host_os in14853 aix[4-9]*)14854 # If we're using GNU nm, then we don't want the "-C" option.14855 # -C means demangle to GNU nm, but means don't demangle to AIX nm.14856 # Without the "-l" option, or with the "-B" option, AIX nm treats14857 # weak defined symbols like other global defined symbols, whereas14858 # GNU nm marks them as "W".14859 # While the 'weak' keyword is ignored in the Export File, we need14860 # it in the Import File for the 'aix-soname' feature, so we have14861 # to replace the "-B" option with "-P" for AIX nm.14862 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then14863 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'14864 else14865 export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'14866 fi14867 ;;14868 pw32*)14869 export_symbols_cmds_CXX=$ltdll_cmds14870 ;;14871 cygwin* | mingw* | cegcc*)14872 case $cc_basename in14873 cl*)14874 exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'14875 ;;14876 *)14877 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'14878 exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'14879 ;;14880 esac14881 ;;14882 linux* | k*bsd*-gnu | gnu*)14883 link_all_deplibs_CXX=no14884 ;;14885 *)14886 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'14887 ;;14888 esac14889 14890 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&514891 $as_echo "$ld_shlibs_CXX" >&6; }14892 test no = "$ld_shlibs_CXX" && can_build_shared=no14893 14894 with_gnu_ld_CXX=$with_gnu_ld14895 14896 14897 14898 14899 14900 14901 #14902 # Do we need to explicitly link libc?14903 #14904 case "x$archive_cmds_need_lc_CXX" in14905 x|xyes)14906 # Assume -lc should be added14907 archive_cmds_need_lc_CXX=yes14908 14909 if test yes,yes = "$GCC,$enable_shared"; then14910 case $archive_cmds_CXX in14911 *'~'*)14912 # FIXME: we may have to deal with multi-command sequences.14913 ;;14914 '$CC '*)14915 # Test whether the compiler implicitly links with -lc since on some14916 # systems, -lgcc has to come before -lc. If gcc already passes -lc14917 # to ld, don't add -lc before -lgcc.14918 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&514919 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }14920 if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :14921 $as_echo_n "(cached) " >&614922 else14923 $RM conftest*14924 echo "$lt_simple_compile_test_code" > conftest.$ac_ext14925 14926 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&514927 (eval $ac_compile) 2>&514928 ac_status=$?14929 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&514930 test $ac_status = 0; } 2>conftest.err; then14931 soname=conftest14932 lib=conftest14933 libobjs=conftest.$ac_objext14934 deplibs=14935 wl=$lt_prog_compiler_wl_CXX14936 pic_flag=$lt_prog_compiler_pic_CXX14937 compiler_flags=-v14938 linker_flags=-v14939 verstring=14940 output_objdir=.14941 libname=conftest14942 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX14943 allow_undefined_flag_CXX=14944 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&514945 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&514946 ac_status=$?14947 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&514948 test $ac_status = 0; }14949 then14950 lt_cv_archive_cmds_need_lc_CXX=no14951 else14952 lt_cv_archive_cmds_need_lc_CXX=yes14953 fi14954 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag14955 else14956 cat conftest.err 1>&514957 fi14958 $RM conftest*14959 14960 fi14961 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&514962 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }14963 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX14964 ;;14965 esac14966 fi14967 ;;14968 esac14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&515032 $as_echo_n "checking dynamic linker characteristics... " >&6; }15033 15034 library_names_spec=15035 libname_spec='lib$name'15036 soname_spec=15037 shrext_cmds=.so15038 postinstall_cmds=15039 postuninstall_cmds=15040 finish_cmds=15041 finish_eval=15042 shlibpath_var=15043 shlibpath_overrides_runpath=unknown15044 version_type=none15045 dynamic_linker="$host_os ld.so"15046 sys_lib_dlsearch_path_spec="/lib /usr/lib"15047 need_lib_prefix=unknown15048 hardcode_into_libs=no15049 15050 # when you set need_version to no, make sure it does not cause -set_version15051 # flags to be left without arguments15052 need_version=unknown15053 15054 15055 15056 case $host_os in15057 aix3*)15058 version_type=linux # correct to gnu/linux during the next big refactor15059 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'15060 shlibpath_var=LIBPATH15061 15062 # AIX 3 has no versioning support, so we append a major version to the name.15063 soname_spec='$libname$release$shared_ext$major'15064 ;;15065 15066 aix[4-9]*)15067 version_type=linux # correct to gnu/linux during the next big refactor15068 need_lib_prefix=no15069 need_version=no15070 hardcode_into_libs=yes15071 if test ia64 = "$host_cpu"; then15072 # AIX 5 supports IA6415073 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'15074 shlibpath_var=LD_LIBRARY_PATH15075 else15076 # With GCC up to 2.95.x, collect2 would create an import file15077 # for dependence libraries. The import file would start with15078 # the line '#! .'. This would cause the generated library to15079 # depend on '.', always an invalid library. This was fixed in15080 # development snapshots of GCC prior to 3.0.15081 case $host_os in15082 aix4 | aix4.[01] | aix4.[01].*)15083 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'15084 echo ' yes '15085 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then15086 :15087 else15088 can_build_shared=no15089 fi15090 ;;15091 esac15092 # Using Import Files as archive members, it is possible to support15093 # filename-based versioning of shared library archives on AIX. While15094 # this would work for both with and without runtime linking, it will15095 # prevent static linking of such archives. So we do filename-based15096 # shared library versioning with .so extension only, which is used15097 # when both runtime linking and shared linking is enabled.15098 # Unfortunately, runtime linking may impact performance, so we do15099 # not want this to be the default eventually. Also, we use the15100 # versioned .so libs for executables only if there is the -brtl15101 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.15102 # To allow for filename-based versioning support, we need to create15103 # libNAME.so.V as an archive file, containing:15104 # *) an Import File, referring to the versioned filename of the15105 # archive as well as the shared archive member, telling the15106 # bitwidth (32 or 64) of that shared object, and providing the15107 # list of exported symbols of that shared object, eventually15108 # decorated with the 'weak' keyword15109 # *) the shared object with the F_LOADONLY flag set, to really avoid15110 # it being seen by the linker.15111 # At run time we better use the real file rather than another symlink,15112 # but for link time we create the symlink libNAME.so -> libNAME.so.V15113 15114 case $with_aix_soname,$aix_use_runtimelinking in15115 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct15116 # soname into executable. Probably we can add versioning support to15117 # collect2, so additional links can be useful in future.15118 aix,yes) # traditional libtool15119 dynamic_linker='AIX unversionable lib.so'15120 # If using run time linking (on AIX 4.2 or later) use lib<name>.so15121 # instead of lib<name>.a to let people know that these are not15122 # typical AIX shared libraries.15123 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15124 ;;15125 aix,no) # traditional AIX only15126 dynamic_linker='AIX lib.a(lib.so.V)'15127 # We preserve .a as extension for shared libraries through AIX4.215128 # and later when we are not doing run time linking.15129 library_names_spec='$libname$release.a $libname.a'15130 soname_spec='$libname$release$shared_ext$major'15131 ;;15132 svr4,*) # full svr4 only15133 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"15134 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'15135 # We do not specify a path in Import Files, so LIBPATH fires.15136 shlibpath_overrides_runpath=yes15137 ;;15138 *,yes) # both, prefer svr415139 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"15140 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'15141 # unpreferred sharedlib libNAME.a needs extra handling15142 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'15143 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'15144 # We do not specify a path in Import Files, so LIBPATH fires.15145 shlibpath_overrides_runpath=yes15146 ;;15147 *,no) # both, prefer aix15148 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"15149 library_names_spec='$libname$release.a $libname.a'15150 soname_spec='$libname$release$shared_ext$major'15151 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling15152 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'15153 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'15154 ;;15155 esac15156 shlibpath_var=LIBPATH15157 fi15158 ;;15159 15160 amigaos*)15161 case $host_cpu in15162 powerpc)15163 # Since July 2007 AmigaOS4 officially supports .so libraries.15164 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.15165 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15166 ;;15167 m68k)15168 library_names_spec='$libname.ixlibrary $libname.a'15169 # Create ${libname}_ixlibrary.a entries in /sys/libs.15170 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'15171 ;;15172 esac15173 ;;15174 15175 beos*)15176 library_names_spec='$libname$shared_ext'15177 dynamic_linker="$host_os ld.so"15178 shlibpath_var=LIBRARY_PATH15179 ;;15180 15181 bsdi[45]*)15182 version_type=linux # correct to gnu/linux during the next big refactor15183 need_version=no15184 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15185 soname_spec='$libname$release$shared_ext$major'15186 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'15187 shlibpath_var=LD_LIBRARY_PATH15188 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"15189 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"15190 # the default ld.so.conf also contains /usr/contrib/lib and15191 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow15192 # libtool to hard-code these into programs15193 ;;15194 15195 cygwin* | mingw* | pw32* | cegcc*)15196 version_type=windows15197 shrext_cmds=.dll15198 need_version=no15199 need_lib_prefix=no15200 15201 case $GCC,$cc_basename in15202 yes,*)15203 # gcc15204 library_names_spec='$libname.dll.a'15205 # DLL is installed to $(libdir)/../bin by postinstall_cmds15206 postinstall_cmds='base_file=`basename \$file`~15207 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~15208 dldir=$destdir/`dirname \$dlpath`~15209 test -d \$dldir || mkdir -p \$dldir~15210 $install_prog $dir/$dlname \$dldir/$dlname~15211 chmod a+x \$dldir/$dlname~15212 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then15213 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;15214 fi'15215 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~15216 dlpath=$dir/\$dldll~15217 $RM \$dlpath'15218 shlibpath_overrides_runpath=yes15219 15220 case $host_os in15221 cygwin*)15222 # Cygwin DLLs use 'cyg' prefix rather than 'lib'15223 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'15224 15225 ;;15226 mingw* | cegcc*)15227 # MinGW DLLs use traditional 'lib' prefix15228 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'15229 ;;15230 pw32*)15231 # pw32 DLLs use 'pw' prefix rather than 'lib'15232 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'15233 ;;15234 esac15235 dynamic_linker='Win32 ld.exe'15236 ;;15237 15238 *,cl*)15239 # Native MSVC15240 libname_spec='$name'15241 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'15242 library_names_spec='$libname.dll.lib'15243 15244 case $build_os in15245 mingw*)15246 sys_lib_search_path_spec=15247 lt_save_ifs=$IFS15248 IFS=';'15249 for lt_path in $LIB15250 do15251 IFS=$lt_save_ifs15252 # Let DOS variable expansion print the short 8.3 style file name.15253 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`15254 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"15255 done15256 IFS=$lt_save_ifs15257 # Convert to MSYS style.15258 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`15259 ;;15260 cygwin*)15261 # Convert to unix form, then to dos form, then back to unix form15262 # but this time dos style (no spaces!) so that the unix form looks15263 # like /cygdrive/c/PROGRA~1:/cygdr...15264 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`15265 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`15266 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`15267 ;;15268 *)15269 sys_lib_search_path_spec=$LIB15270 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then15271 # It is most probably a Windows format PATH.15272 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`15273 else15274 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`15275 fi15276 # FIXME: find the short name or the path components, as spaces are15277 # common. (e.g. "Program Files" -> "PROGRA~1")15278 ;;15279 esac15280 15281 # DLL is installed to $(libdir)/../bin by postinstall_cmds15282 postinstall_cmds='base_file=`basename \$file`~15283 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~15284 dldir=$destdir/`dirname \$dlpath`~15285 test -d \$dldir || mkdir -p \$dldir~15286 $install_prog $dir/$dlname \$dldir/$dlname'15287 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~15288 dlpath=$dir/\$dldll~15289 $RM \$dlpath'15290 shlibpath_overrides_runpath=yes15291 dynamic_linker='Win32 link.exe'15292 ;;15293 15294 *)15295 # Assume MSVC wrapper15296 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'15297 dynamic_linker='Win32 ld.exe'15298 ;;15299 esac15300 # FIXME: first we should search . and the directory the executable is in15301 shlibpath_var=PATH15302 ;;15303 15304 darwin* | rhapsody*)15305 dynamic_linker="$host_os dyld"15306 version_type=darwin15307 need_lib_prefix=no15308 need_version=no15309 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'15310 soname_spec='$libname$release$major$shared_ext'15311 shlibpath_overrides_runpath=yes15312 shlibpath_var=DYLD_LIBRARY_PATH15313 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'15314 15315 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'15316 ;;15317 15318 dgux*)15319 version_type=linux # correct to gnu/linux during the next big refactor15320 need_lib_prefix=no15321 need_version=no15322 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15323 soname_spec='$libname$release$shared_ext$major'15324 shlibpath_var=LD_LIBRARY_PATH15325 ;;15326 15327 freebsd* | dragonfly*)15328 # DragonFly does not have aout. When/if they implement a new15329 # versioning mechanism, adjust this.15330 if test -x /usr/bin/objformat; then15331 objformat=`/usr/bin/objformat`15332 else15333 case $host_os in15334 freebsd[23].*) objformat=aout ;;15335 *) objformat=elf ;;15336 esac15337 fi15338 version_type=freebsd-$objformat15339 case $version_type in15340 freebsd-elf*)15341 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15342 soname_spec='$libname$release$shared_ext$major'15343 need_version=no15344 need_lib_prefix=no15345 ;;15346 freebsd-*)15347 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'15348 need_version=yes15349 ;;15350 esac15351 shlibpath_var=LD_LIBRARY_PATH15352 case $host_os in15353 freebsd2.*)15354 shlibpath_overrides_runpath=yes15355 ;;15356 freebsd3.[01]* | freebsdelf3.[01]*)15357 shlibpath_overrides_runpath=yes15358 hardcode_into_libs=yes15359 ;;15360 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \15361 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)15362 shlibpath_overrides_runpath=no15363 hardcode_into_libs=yes15364 ;;15365 *) # from 4.6 on, and DragonFly15366 shlibpath_overrides_runpath=yes15367 hardcode_into_libs=yes15368 ;;15369 esac15370 ;;15371 15372 haiku*)15373 version_type=linux # correct to gnu/linux during the next big refactor15374 need_lib_prefix=no15375 need_version=no15376 dynamic_linker="$host_os runtime_loader"15377 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15378 soname_spec='$libname$release$shared_ext$major'15379 shlibpath_var=LIBRARY_PATH15380 shlibpath_overrides_runpath=no15381 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'15382 hardcode_into_libs=yes15383 ;;15384 15385 hpux9* | hpux10* | hpux11*)15386 # Give a soname corresponding to the major version so that dld.sl refuses to15387 # link against other versions.15388 version_type=sunos15389 need_lib_prefix=no15390 need_version=no15391 case $host_cpu in15392 ia64*)15393 shrext_cmds='.so'15394 hardcode_into_libs=yes15395 dynamic_linker="$host_os dld.so"15396 shlibpath_var=LD_LIBRARY_PATH15397 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.15398 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15399 soname_spec='$libname$release$shared_ext$major'15400 if test 32 = "$HPUX_IA64_MODE"; then15401 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"15402 sys_lib_dlsearch_path_spec=/usr/lib/hpux3215403 else15404 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"15405 sys_lib_dlsearch_path_spec=/usr/lib/hpux6415406 fi15407 ;;15408 hppa*64*)15409 shrext_cmds='.sl'15410 hardcode_into_libs=yes15411 dynamic_linker="$host_os dld.sl"15412 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH15413 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.15414 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15415 soname_spec='$libname$release$shared_ext$major'15416 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"15417 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec15418 ;;15419 *)15420 shrext_cmds='.sl'15421 dynamic_linker="$host_os dld.sl"15422 shlibpath_var=SHLIB_PATH15423 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH15424 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15425 soname_spec='$libname$release$shared_ext$major'15426 ;;15427 esac15428 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...15429 postinstall_cmds='chmod 555 $lib'15430 # or fails outright, so override atomically:15431 install_override_mode=55515432 ;;15433 15434 interix[3-9]*)15435 version_type=linux # correct to gnu/linux during the next big refactor15436 need_lib_prefix=no15437 need_version=no15438 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15439 soname_spec='$libname$release$shared_ext$major'15440 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'15441 shlibpath_var=LD_LIBRARY_PATH15442 shlibpath_overrides_runpath=no15443 hardcode_into_libs=yes15444 ;;15445 15446 irix5* | irix6* | nonstopux*)15447 case $host_os in15448 nonstopux*) version_type=nonstopux ;;15449 *)15450 if test yes = "$lt_cv_prog_gnu_ld"; then15451 version_type=linux # correct to gnu/linux during the next big refactor15452 else15453 version_type=irix15454 fi ;;15455 esac15456 need_lib_prefix=no15457 need_version=no15458 soname_spec='$libname$release$shared_ext$major'15459 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'15460 case $host_os in15461 irix5* | nonstopux*)15462 libsuff= shlibsuff=15463 ;;15464 *)15465 case $LD in # libtool.m4 will add one of these switches to LD15466 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")15467 libsuff= shlibsuff= libmagic=32-bit;;15468 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")15469 libsuff=32 shlibsuff=N32 libmagic=N32;;15470 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")15471 libsuff=64 shlibsuff=64 libmagic=64-bit;;15472 *) libsuff= shlibsuff= libmagic=never-match;;15473 esac15474 ;;15475 esac15476 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH15477 shlibpath_overrides_runpath=no15478 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"15479 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"15480 hardcode_into_libs=yes15481 ;;15482 15483 # No shared lib support for Linux oldld, aout, or coff.15484 linux*oldld* | linux*aout* | linux*coff*)15485 dynamic_linker=no15486 ;;15487 15488 linux*android*)15489 version_type=none # Android doesn't support versioned libraries.15490 need_lib_prefix=no15491 need_version=no15492 library_names_spec='$libname$release$shared_ext'15493 soname_spec='$libname$release$shared_ext'15494 finish_cmds=15495 shlibpath_var=LD_LIBRARY_PATH15496 shlibpath_overrides_runpath=yes15497 15498 # This implies no fast_install, which is unacceptable.15499 # Some rework will be needed to allow for fast_install15500 # before this can be enabled.15501 hardcode_into_libs=yes15502 15503 dynamic_linker='Android linker'15504 # Don't embed -rpath directories since the linker doesn't support them.15505 hardcode_libdir_flag_spec_CXX='-L$libdir'15506 ;;15507 15508 # This must be glibc/ELF.15509 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)15510 version_type=linux # correct to gnu/linux during the next big refactor15511 need_lib_prefix=no15512 need_version=no15513 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15514 soname_spec='$libname$release$shared_ext$major'15515 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'15516 shlibpath_var=LD_LIBRARY_PATH15517 shlibpath_overrides_runpath=no15518 15519 # Some binutils ld are patched to set DT_RUNPATH15520 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :15521 $as_echo_n "(cached) " >&615522 else15523 lt_cv_shlibpath_overrides_runpath=no15524 save_LDFLAGS=$LDFLAGS15525 save_libdir=$libdir15526 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \15527 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""15528 cat confdefs.h - <<_ACEOF >conftest.$ac_ext15529 /* end confdefs.h. */15530 15531 int15532 main ()15533 {15534 15535 ;15536 return 0;15537 }15538 _ACEOF15539 if ac_fn_cxx_try_link "$LINENO"; then :15540 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :15541 lt_cv_shlibpath_overrides_runpath=yes15542 fi15543 fi15544 rm -f core conftest.err conftest.$ac_objext \15545 conftest$ac_exeext conftest.$ac_ext15546 LDFLAGS=$save_LDFLAGS15547 libdir=$save_libdir15548 15549 fi15550 15551 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath15552 15553 # This implies no fast_install, which is unacceptable.15554 # Some rework will be needed to allow for fast_install15555 # before this can be enabled.15556 hardcode_into_libs=yes15557 15558 # Ideally, we could use ldconfig to report *all* directores which are15559 # searched for libraries, however this is still not possible. Aside from not15560 # being certain /sbin/ldconfig is available, command15561 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,15562 # even though it is searched at run-time. Try to do the best guess by15563 # appending ld.so.conf contents (and includes) to the search path.15564 if test -f /etc/ld.so.conf; then15565 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`15566 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"15567 fi15568 15569 # We used to test for /lib/ld.so.1 and disable shared libraries on15570 # powerpc, because MkLinux only supported shared libraries with the15571 # GNU dynamic linker. Since this was broken with cross compilers,15572 # most powerpc-linux boxes support dynamic linking these days and15573 # people can always --disable-shared, the test was removed, and we15574 # assume the GNU/Linux dynamic linker is in use.15575 dynamic_linker='GNU/Linux ld.so'15576 ;;15577 15578 netbsdelf*-gnu)15579 version_type=linux15580 need_lib_prefix=no15581 need_version=no15582 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'15583 soname_spec='${libname}${release}${shared_ext}$major'15584 shlibpath_var=LD_LIBRARY_PATH15585 shlibpath_overrides_runpath=no15586 hardcode_into_libs=yes15587 dynamic_linker='NetBSD ld.elf_so'15588 ;;15589 15590 netbsd*)15591 version_type=sunos15592 need_lib_prefix=no15593 need_version=no15594 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then15595 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'15596 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'15597 dynamic_linker='NetBSD (a.out) ld.so'15598 else15599 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15600 soname_spec='$libname$release$shared_ext$major'15601 dynamic_linker='NetBSD ld.elf_so'15602 fi15603 shlibpath_var=LD_LIBRARY_PATH15604 shlibpath_overrides_runpath=yes15605 hardcode_into_libs=yes15606 ;;15607 15608 newsos6)15609 version_type=linux # correct to gnu/linux during the next big refactor15610 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15611 shlibpath_var=LD_LIBRARY_PATH15612 shlibpath_overrides_runpath=yes15613 ;;15614 15615 *nto* | *qnx*)15616 version_type=qnx15617 need_lib_prefix=no15618 need_version=no15619 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15620 soname_spec='$libname$release$shared_ext$major'15621 shlibpath_var=LD_LIBRARY_PATH15622 shlibpath_overrides_runpath=no15623 hardcode_into_libs=yes15624 dynamic_linker='ldqnx.so'15625 ;;15626 15627 openbsd* | bitrig*)15628 version_type=sunos15629 sys_lib_dlsearch_path_spec=/usr/lib15630 need_lib_prefix=no15631 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then15632 need_version=no15633 else15634 need_version=yes15635 fi15636 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'15637 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'15638 shlibpath_var=LD_LIBRARY_PATH15639 shlibpath_overrides_runpath=yes15640 ;;15641 15642 os2*)15643 libname_spec='$name'15644 version_type=windows15645 shrext_cmds=.dll15646 need_version=no15647 need_lib_prefix=no15648 # OS/2 can only load a DLL with a base name of 8 characters or less.15649 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";15650 v=$($ECHO $release$versuffix | tr -d .-);15651 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);15652 $ECHO $n$v`$shared_ext'15653 library_names_spec='${libname}_dll.$libext'15654 dynamic_linker='OS/2 ld.exe'15655 shlibpath_var=BEGINLIBPATH15656 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"15657 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec15658 postinstall_cmds='base_file=`basename \$file`~15659 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~15660 dldir=$destdir/`dirname \$dlpath`~15661 test -d \$dldir || mkdir -p \$dldir~15662 $install_prog $dir/$dlname \$dldir/$dlname~15663 chmod a+x \$dldir/$dlname~15664 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then15665 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;15666 fi'15667 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~15668 dlpath=$dir/\$dldll~15669 $RM \$dlpath'15670 ;;15671 15672 osf3* | osf4* | osf5*)15673 version_type=osf15674 need_lib_prefix=no15675 need_version=no15676 soname_spec='$libname$release$shared_ext$major'15677 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15678 shlibpath_var=LD_LIBRARY_PATH15679 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"15680 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec15681 ;;15682 15683 rdos*)15684 dynamic_linker=no15685 ;;15686 15687 solaris*)15688 version_type=linux # correct to gnu/linux during the next big refactor15689 need_lib_prefix=no15690 need_version=no15691 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15692 soname_spec='$libname$release$shared_ext$major'15693 shlibpath_var=LD_LIBRARY_PATH15694 shlibpath_overrides_runpath=yes15695 hardcode_into_libs=yes15696 # ldd complains unless libraries are executable15697 postinstall_cmds='chmod +x $lib'15698 ;;15699 15700 sunos4*)15701 version_type=sunos15702 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'15703 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'15704 shlibpath_var=LD_LIBRARY_PATH15705 shlibpath_overrides_runpath=yes15706 if test yes = "$with_gnu_ld"; then15707 need_lib_prefix=no15708 fi15709 need_version=yes15710 ;;15711 15712 sysv4 | sysv4.3*)15713 version_type=linux # correct to gnu/linux during the next big refactor15714 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15715 soname_spec='$libname$release$shared_ext$major'15716 shlibpath_var=LD_LIBRARY_PATH15717 case $host_vendor in15718 sni)15719 shlibpath_overrides_runpath=no15720 need_lib_prefix=no15721 runpath_var=LD_RUN_PATH15722 ;;15723 siemens)15724 need_lib_prefix=no15725 ;;15726 motorola)15727 need_lib_prefix=no15728 need_version=no15729 shlibpath_overrides_runpath=no15730 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'15731 ;;15732 esac15733 ;;15734 15735 sysv4*MP*)15736 if test -d /usr/nec; then15737 version_type=linux # correct to gnu/linux during the next big refactor15738 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'15739 soname_spec='$libname$shared_ext.$major'15740 shlibpath_var=LD_LIBRARY_PATH15741 fi15742 ;;15743 15744 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)15745 version_type=sco15746 need_lib_prefix=no15747 need_version=no15748 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'15749 soname_spec='$libname$release$shared_ext$major'15750 shlibpath_var=LD_LIBRARY_PATH15751 shlibpath_overrides_runpath=yes15752 hardcode_into_libs=yes15753 if test yes = "$with_gnu_ld"; then15754 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'15755 else15756 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'15757 case $host_os in15758 sco3.2v5*)15759 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"15760 ;;15761 esac15762 fi15763 sys_lib_dlsearch_path_spec='/usr/lib'15764 ;;15765 15766 tpf*)15767 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.15768 version_type=linux # correct to gnu/linux during the next big refactor15769 need_lib_prefix=no15770 need_version=no15771 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15772 shlibpath_var=LD_LIBRARY_PATH15773 shlibpath_overrides_runpath=no15774 hardcode_into_libs=yes15775 ;;15776 15777 uts4*)15778 version_type=linux # correct to gnu/linux during the next big refactor15779 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'15780 soname_spec='$libname$release$shared_ext$major'15781 shlibpath_var=LD_LIBRARY_PATH15782 ;;15783 15784 *)15785 dynamic_linker=no15786 ;;15787 esac15788 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&515789 $as_echo "$dynamic_linker" >&6; }15790 test no = "$dynamic_linker" && can_build_shared=no15791 15792 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"15793 if test yes = "$GCC"; then15794 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"15795 fi15796 15797 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then15798 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec15799 fi15800 15801 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then15802 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec15803 fi15804 15805 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...15806 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec15807 15808 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code15809 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"15810 15811 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool15812 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 15847 15848 15849 15850 15851 15852 15853 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&515854 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }15855 hardcode_action_CXX=15856 if test -n "$hardcode_libdir_flag_spec_CXX" ||15857 test -n "$runpath_var_CXX" ||15858 test yes = "$hardcode_automatic_CXX"; then15859 15860 # We can hardcode non-existent directories.15861 if test no != "$hardcode_direct_CXX" &&15862 # If the only mechanism to avoid hardcoding is shlibpath_var, we15863 # have to relink, otherwise we might link with an installed library15864 # when we should be linking with a yet-to-be-installed one15865 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&15866 test no != "$hardcode_minus_L_CXX"; then15867 # Linking always hardcodes the temporary library directory.15868 hardcode_action_CXX=relink15869 else15870 # We can link without hardcoding, and we can hardcode nonexisting dirs.15871 hardcode_action_CXX=immediate15872 fi15873 else15874 # We cannot hardcode anything, or else we can only hardcode existing15875 # directories.15876 hardcode_action_CXX=unsupported15877 fi15878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&515879 $as_echo "$hardcode_action_CXX" >&6; }15880 15881 if test relink = "$hardcode_action_CXX" ||15882 test yes = "$inherit_rpath_CXX"; then15883 # Fast installation is not supported15884 enable_fast_install=no15885 elif test yes = "$shlibpath_overrides_runpath" ||15886 test no = "$enable_shared"; then15887 # Fast installation is not necessary15888 enable_fast_install=needless15889 fi15890 15891 15892 15893 15894 15895 15896 15897 fi # test -n "$compiler"15898 15899 CC=$lt_save_CC15900 CFLAGS=$lt_save_CFLAGS15901 LDCXX=$LD15902 LD=$lt_save_LD15903 GCC=$lt_save_GCC15904 with_gnu_ld=$lt_save_with_gnu_ld15905 lt_cv_path_LDCXX=$lt_cv_path_LD15906 lt_cv_path_LD=$lt_save_path_LD15907 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld15908 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld15909 fi # test yes != "$_lt_caught_CXX_error"15910 15911 ac_ext=c15912 ac_cpp='$CPP $CPPFLAGS'15913 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'15914 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'15915 ac_compiler_gnu=$ac_cv_c_compiler_gnu15916 15917 15918 ac_ext=c15919 ac_cpp='$CPP $CPPFLAGS'15920 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'15921 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'15922 ac_compiler_gnu=$ac_cv_c_compiler_gnu15923 if test -n "$ac_tool_prefix"; then15924 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.15925 set dummy ${ac_tool_prefix}gcc; ac_word=$215926 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&515927 $as_echo_n "checking for $ac_word... " >&6; }15928 if ${ac_cv_prog_CC+:} false; then :15929 $as_echo_n "(cached) " >&615930 else15931 if test -n "$CC"; then15932 ac_cv_prog_CC="$CC" # Let the user override the test.15933 else15934 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR15935 for as_dir in $PATH15936 do15937 IFS=$as_save_IFS15938 test -z "$as_dir" && as_dir=.15939 for ac_exec_ext in '' $ac_executable_extensions; do15940 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then15941 ac_cv_prog_CC="${ac_tool_prefix}gcc"15942 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&515943 break 215944 fi15945 done15946 done15947 IFS=$as_save_IFS15948 15949 fi15950 fi15951 CC=$ac_cv_prog_CC15952 if test -n "$CC"; then15953 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&515954 $as_echo "$CC" >&6; }15955 else15956 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&515957 $as_echo "no" >&6; }15958 fi15959 15960 15961 fi15962 if test -z "$ac_cv_prog_CC"; then15963 ac_ct_CC=$CC15964 # Extract the first word of "gcc", so it can be a program name with args.15965 set dummy gcc; ac_word=$215966 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&515967 $as_echo_n "checking for $ac_word... " >&6; }15968 if ${ac_cv_prog_ac_ct_CC+:} false; then :15969 $as_echo_n "(cached) " >&615970 else15971 if test -n "$ac_ct_CC"; then15972 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.15973 else15974 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR15975 for as_dir in $PATH15976 do15977 IFS=$as_save_IFS15978 test -z "$as_dir" && as_dir=.15979 for ac_exec_ext in '' $ac_executable_extensions; do15980 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then15981 ac_cv_prog_ac_ct_CC="gcc"15982 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&515983 break 215984 fi15985 done15986 done15987 IFS=$as_save_IFS15988 15989 fi15990 fi15991 ac_ct_CC=$ac_cv_prog_ac_ct_CC15992 if test -n "$ac_ct_CC"; then15993 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&515994 $as_echo "$ac_ct_CC" >&6; }15995 else15996 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&515997 $as_echo "no" >&6; }15998 fi15999 16000 if test "x$ac_ct_CC" = x; then16001 CC=""16002 else16003 case $cross_compiling:$ac_tool_warned in16004 yes:)16005 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&516006 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}16007 ac_tool_warned=yes ;;16008 esac16009 CC=$ac_ct_CC16010 fi16011 else16012 CC="$ac_cv_prog_CC"16013 fi16014 16015 if test -z "$CC"; then16016 if test -n "$ac_tool_prefix"; then16017 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.16018 set dummy ${ac_tool_prefix}cc; ac_word=$216019 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&516020 $as_echo_n "checking for $ac_word... " >&6; }16021 if ${ac_cv_prog_CC+:} false; then :16022 $as_echo_n "(cached) " >&616023 else16024 if test -n "$CC"; then16025 ac_cv_prog_CC="$CC" # Let the user override the test.16026 else16027 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR16028 for as_dir in $PATH16029 do16030 IFS=$as_save_IFS16031 test -z "$as_dir" && as_dir=.16032 for ac_exec_ext in '' $ac_executable_extensions; do16033 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then16034 ac_cv_prog_CC="${ac_tool_prefix}cc"16035 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&516036 break 216037 fi16038 done16039 done16040 IFS=$as_save_IFS16041 16042 fi16043 fi16044 CC=$ac_cv_prog_CC16045 if test -n "$CC"; then16046 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&516047 $as_echo "$CC" >&6; }16048 else16049 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&516050 $as_echo "no" >&6; }16051 fi16052 16053 16054 fi16055 fi16056 if test -z "$CC"; then16057 # Extract the first word of "cc", so it can be a program name with args.16058 set dummy cc; ac_word=$216059 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&516060 $as_echo_n "checking for $ac_word... " >&6; }16061 if ${ac_cv_prog_CC+:} false; then :16062 $as_echo_n "(cached) " >&616063 else16064 if test -n "$CC"; then16065 ac_cv_prog_CC="$CC" # Let the user override the test.16066 else16067 ac_prog_rejected=no16068 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR16069 for as_dir in $PATH16070 do16071 IFS=$as_save_IFS16072 test -z "$as_dir" && as_dir=.16073 for ac_exec_ext in '' $ac_executable_extensions; do16074 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then16075 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then16076 ac_prog_rejected=yes16077 continue16078 fi16079 ac_cv_prog_CC="cc"16080 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&516081 break 216082 fi16083 done16084 done16085 IFS=$as_save_IFS16086 16087 if test $ac_prog_rejected = yes; then16088 # We found a bogon in the path, so make sure we never use it.16089 set dummy $ac_cv_prog_CC16090 shift16091 if test $# != 0; then16092 # We chose a different compiler from the bogus one.16093 # However, it has the same basename, so the bogon will be chosen16094 # first if we set CC to just the basename; use the full file name.16095 shift16096 ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"16097 fi16098 fi16099 fi16100 fi16101 CC=$ac_cv_prog_CC16102 if test -n "$CC"; then16103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&516104 $as_echo "$CC" >&6; }16105 else16106 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&516107 $as_echo "no" >&6; }16108 fi16109 16110 16111 fi16112 if test -z "$CC"; then16113 if test -n "$ac_tool_prefix"; then16114 for ac_prog in cl.exe16115 do16116 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.16117 set dummy $ac_tool_prefix$ac_prog; ac_word=$216118 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&516119 $as_echo_n "checking for $ac_word... " >&6; }16120 if ${ac_cv_prog_CC+:} false; then :16121 $as_echo_n "(cached) " >&616122 else16123 if test -n "$CC"; then16124 ac_cv_prog_CC="$CC" # Let the user override the test.16125 else16126 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR16127 for as_dir in $PATH16128 do16129 IFS=$as_save_IFS16130 test -z "$as_dir" && as_dir=.16131 for ac_exec_ext in '' $ac_executable_extensions; do16132 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then16133 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"16134 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&516135 break 216136 fi16137 done16138 done16139 IFS=$as_save_IFS16140 16141 fi16142 fi16143 CC=$ac_cv_prog_CC16144 if test -n "$CC"; then16145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&516146 $as_echo "$CC" >&6; }16147 else16148 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&516149 $as_echo "no" >&6; }16150 fi16151 16152 16153 test -n "$CC" && break16154 done16155 fi16156 if test -z "$CC"; then16157 ac_ct_CC=$CC16158 for ac_prog in cl.exe16159 do16160 # Extract the first word of "$ac_prog", so it can be a program name with args.16161 set dummy $ac_prog; ac_word=$216162 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&516163 $as_echo_n "checking for $ac_word... " >&6; }16164 if ${ac_cv_prog_ac_ct_CC+:} false; then :16165 $as_echo_n "(cached) " >&616166 else16167 if test -n "$ac_ct_CC"; then16168 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.16169 else16170 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR16171 for as_dir in $PATH16172 do16173 IFS=$as_save_IFS16174 test -z "$as_dir" && as_dir=.16175 for ac_exec_ext in '' $ac_executable_extensions; do16176 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then16177 ac_cv_prog_ac_ct_CC="$ac_prog"16178 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&516179 break 216180 fi16181 done16182 done16183 IFS=$as_save_IFS16184 16185 fi16186 fi16187 ac_ct_CC=$ac_cv_prog_ac_ct_CC16188 if test -n "$ac_ct_CC"; then16189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&516190 $as_echo "$ac_ct_CC" >&6; }16191 else16192 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&516193 $as_echo "no" >&6; }16194 fi16195 16196 16197 test -n "$ac_ct_CC" && break16198 done16199 16200 if test "x$ac_ct_CC" = x; then16201 CC=""16202 else16203 case $cross_compiling:$ac_tool_warned in16204 yes:)16205 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&516206 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}16207 ac_tool_warned=yes ;;16208 esac16209 CC=$ac_ct_CC16210 fi16211 fi16212 16213 fi16214 16215 16216 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&516217 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}16218 as_fn_error $? "no acceptable C compiler found in \$PATH16219 See \`config.log' for more details" "$LINENO" 5; }16220 16221 # Provide some information about the compiler.16222 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&516223 set X $ac_compile16224 ac_compiler=$216225 for ac_option in --version -v -V -qversion; do16226 { { ac_try="$ac_compiler $ac_option >&5"16227 case "(($ac_try" in16228 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;16229 *) ac_try_echo=$ac_try;;16230 esac16231 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""16232 $as_echo "$ac_try_echo"; } >&516233 (eval "$ac_compiler $ac_option >&5") 2>conftest.err16234 ac_status=$?16235 if test -s conftest.err; then16236 sed '10a\16237 ... rest of stderr output deleted ...16238 10q' conftest.err >conftest.er116239 cat conftest.er1 >&516240 fi16241 rm -f conftest.er1 conftest.err16242 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&516243 test $ac_status = 0; }16244 done16245 16246 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&516247 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }16248 if ${ac_cv_c_compiler_gnu+:} false; then :16249 $as_echo_n "(cached) " >&616250 else16251 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16252 /* end confdefs.h. */16253 16254 int16255 main ()16256 {16257 #ifndef __GNUC__16258 choke me16259 #endif16260 16261 ;16262 return 0;16263 }16264 _ACEOF16265 if ac_fn_c_try_compile "$LINENO"; then :16266 ac_compiler_gnu=yes16267 else16268 ac_compiler_gnu=no16269 fi16270 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext16271 ac_cv_c_compiler_gnu=$ac_compiler_gnu16272 16273 fi16274 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&516275 $as_echo "$ac_cv_c_compiler_gnu" >&6; }16276 if test $ac_compiler_gnu = yes; then16277 GCC=yes16278 else16279 GCC=16280 fi16281 ac_test_CFLAGS=${CFLAGS+set}16282 ac_save_CFLAGS=$CFLAGS16283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&516284 $as_echo_n "checking whether $CC accepts -g... " >&6; }16285 if ${ac_cv_prog_cc_g+:} false; then :16286 $as_echo_n "(cached) " >&616287 else16288 ac_save_c_werror_flag=$ac_c_werror_flag16289 ac_c_werror_flag=yes16290 ac_cv_prog_cc_g=no16291 CFLAGS="-g"16292 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16293 /* end confdefs.h. */16294 16295 int16296 main ()16297 {16298 16299 ;16300 return 0;16301 }16302 _ACEOF16303 if ac_fn_c_try_compile "$LINENO"; then :16304 ac_cv_prog_cc_g=yes16305 else16306 CFLAGS=""16307 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16308 /* end confdefs.h. */16309 16310 int16311 main ()16312 {16313 16314 ;16315 return 0;16316 }16317 _ACEOF16318 if ac_fn_c_try_compile "$LINENO"; then :16319 16320 else16321 ac_c_werror_flag=$ac_save_c_werror_flag16322 CFLAGS="-g"16323 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16324 /* end confdefs.h. */16325 16326 int16327 main ()16328 {16329 16330 ;16331 return 0;16332 }16333 _ACEOF16334 if ac_fn_c_try_compile "$LINENO"; then :16335 ac_cv_prog_cc_g=yes16336 fi16337 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext16338 fi16339 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext16340 fi16341 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext16342 ac_c_werror_flag=$ac_save_c_werror_flag16343 fi16344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&516345 $as_echo "$ac_cv_prog_cc_g" >&6; }16346 if test "$ac_test_CFLAGS" = set; then16347 CFLAGS=$ac_save_CFLAGS16348 elif test $ac_cv_prog_cc_g = yes; then16349 if test "$GCC" = yes; then16350 CFLAGS="-g -O2"16351 else16352 CFLAGS="-g"16353 fi16354 else16355 if test "$GCC" = yes; then16356 CFLAGS="-O2"16357 else16358 CFLAGS=16359 fi16360 fi16361 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&516362 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }16363 if ${ac_cv_prog_cc_c89+:} false; then :16364 $as_echo_n "(cached) " >&616365 else16366 ac_cv_prog_cc_c89=no16367 ac_save_CC=$CC16368 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16369 /* end confdefs.h. */16370 #include <stdarg.h>16371 #include <stdio.h>16372 struct stat;16373 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */16374 struct buf { int x; };16375 FILE * (*rcsopen) (struct buf *, struct stat *, int);16376 static char *e (p, i)16377 char **p;16378 int i;16379 {16380 return p[i];16381 }16382 static char *f (char * (*g) (char **, int), char **p, ...)16383 {16384 char *s;16385 va_list v;16386 va_start (v,p);16387 s = g (p, va_arg (v,int));16388 va_end (v);16389 return s;16390 }16391 16392 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has16393 function prototypes and stuff, but not '\xHH' hex character constants.16394 These don't provoke an error unfortunately, instead are silently treated16395 as 'x'. The following induces an error, until -std is added to get16396 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an16397 array size at least. It's necessary to write '\x00'==0 to get something16398 that's true only with -std. */16399 int osf4_cc_array ['\x00' == 0 ? 1 : -1];16400 16401 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters16402 inside strings and character constants. */16403 #define FOO(x) 'x'16404 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];16405 16406 int test (int i, double x);16407 struct s1 {int (*f) (int a);};16408 struct s2 {int (*f) (double a);};16409 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);16410 int argc;16411 char **argv;16412 int16413 main ()16414 {16415 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];16416 ;16417 return 0;16418 }16419 _ACEOF16420 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \16421 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"16422 do16423 CC="$ac_save_CC $ac_arg"16424 if ac_fn_c_try_compile "$LINENO"; then :16425 ac_cv_prog_cc_c89=$ac_arg16426 fi16427 rm -f core conftest.err conftest.$ac_objext16428 test "x$ac_cv_prog_cc_c89" != "xno" && break16429 done16430 rm -f conftest.$ac_ext16431 CC=$ac_save_CC16432 16433 fi16434 # AC_CACHE_VAL16435 case "x$ac_cv_prog_cc_c89" in16436 x)16437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&516438 $as_echo "none needed" >&6; } ;;16439 xno)16440 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&516441 $as_echo "unsupported" >&6; } ;;16442 *)16443 CC="$CC $ac_cv_prog_cc_c89"16444 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&516445 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;16446 esac16447 if test "x$ac_cv_prog_cc_c89" != xno; then :16448 16449 fi16450 16451 ac_ext=c16452 ac_cpp='$CPP $CPPFLAGS'16453 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'16454 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'16455 ac_compiler_gnu=$ac_cv_c_compiler_gnu16456 16457 ac_ext=c16458 ac_cpp='$CPP $CPPFLAGS'16459 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'16460 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'16461 ac_compiler_gnu=$ac_cv_c_compiler_gnu16462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&516463 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; }16464 if ${am_cv_prog_cc_c_o+:} false; then :16465 $as_echo_n "(cached) " >&616466 else16467 cat confdefs.h - <<_ACEOF >conftest.$ac_ext16468 /* end confdefs.h. */16469 16470 int16471 main ()16472 {16473 16474 ;16475 return 0;16476 }16477 _ACEOF16478 # Make sure it works both with $CC and with simple cc.16479 # Following AC_PROG_CC_C_O, we do the test twice because some16480 # compilers refuse to overwrite an existing .o file with -o,16481 # though they will create one.16482 am_cv_prog_cc_c_o=yes16483 for am_i in 1 2; do16484 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&516485 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&516486 ac_status=$?16487 echo "$as_me:$LINENO: \$? = $ac_status" >&516488 (exit $ac_status); } \16489 && test -f conftest2.$ac_objext; then16490 : OK16491 else16492 am_cv_prog_cc_c_o=no16493 break16494 fi16495 done16496 rm -f core conftest*16497 unset am_i16498 fi16499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&516500 $as_echo "$am_cv_prog_cc_c_o" >&6; }16501 if test "$am_cv_prog_cc_c_o" != yes; then16502 # Losing compiler, so override with the script.16503 # FIXME: It is wrong to rewrite CC.16504 # But if we don't then we get into trouble of one sort or another.16505 # A longer-term fix would be to have automake use am__CC in this case,16506 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"16507 CC="$am_aux_dir/compile $CC"16508 fi16509 ac_ext=c16510 ac_cpp='$CPP $CPPFLAGS'16511 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'16512 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'16513 ac_compiler_gnu=$ac_cv_c_compiler_gnu16514 16515 16516 depcc="$CC" am_compiler_list=16517 16518 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&516519 $as_echo_n "checking dependency style of $depcc... " >&6; }16520 if ${am_cv_CC_dependencies_compiler_type+:} false; then :16521 $as_echo_n "(cached) " >&616522 else16523 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then16524 # We make a subdir and do the tests there. Otherwise we can end up16525 # making bogus files that we don't know about and never remove. For16526 # instance it was reported that on HP-UX the gcc test will end up16527 # making a dummy file named 'D' -- because '-MD' means "put the output16528 # in D".16529 rm -rf conftest.dir16530 mkdir conftest.dir16531 # Copy depcomp to subdir because otherwise we won't find it if we're16532 # using a relative directory.16533 cp "$am_depcomp" conftest.dir16534 cd conftest.dir16535 # We will build objects and dependencies in a subdirectory because16536 # it helps to detect inapplicable dependency modes. For instance16537 # both Tru64's cc and ICC support -MD to output dependencies as a16538 # side effect of compilation, but ICC will put the dependencies in16539 # the current directory while Tru64 will put them in the object16540 # directory.16541 mkdir sub16542 16543 am_cv_CC_dependencies_compiler_type=none16544 if test "$am_compiler_list" = ""; then16545 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`16546 fi16547 am__universal=false16548 case " $depcc " in #(16549 *\ -arch\ *\ -arch\ *) am__universal=true ;;16550 esac16551 16552 for depmode in $am_compiler_list; do16553 # Setup a source with many dependencies, because some compilers16554 # like to wrap large dependency lists on column 80 (with \), and16555 # we should not choose a depcomp mode which is confused by this.16556 #16557 # We need to recreate these files for each test, as the compiler may16558 # overwrite some of them when testing with obscure command lines.16559 # This happens at least with the AIX C compiler.16560 : > sub/conftest.c16561 for i in 1 2 3 4 5 6; do16562 echo '#include "conftst'$i'.h"' >> sub/conftest.c16563 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with16564 # Solaris 10 /bin/sh.16565 echo '/* dummy */' > sub/conftst$i.h16566 done16567 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf16568 16569 # We check with '-c' and '-o' for the sake of the "dashmstdout"16570 # mode. It turns out that the SunPro C++ compiler does not properly16571 # handle '-M -o', and we need to detect this. Also, some Intel16572 # versions had trouble with output in subdirs.16573 am__obj=sub/conftest.${OBJEXT-o}16574 am__minus_obj="-o $am__obj"16575 case $depmode in16576 gcc)16577 # This depmode causes a compiler race in universal mode.16578 test "$am__universal" = false || continue16579 ;;16580 nosideeffect)16581 # After this tag, mechanisms are not by side-effect, so they'll16582 # only be used when explicitly requested.16583 if test "x$enable_dependency_tracking" = xyes; then16584 continue16585 else16586 break16587 fi16588 ;;16589 msvc7 | msvc7msys | msvisualcpp | msvcmsys)16590 # This compiler won't grok '-c -o', but also, the minuso test has16591 # not run yet. These depmodes are late enough in the game, and16592 # so weak that their functioning should not be impacted.16593 am__obj=conftest.${OBJEXT-o}16594 am__minus_obj=16595 ;;16596 none) break ;;16597 esac16598 if depmode=$depmode \16599 source=sub/conftest.c object=$am__obj \16600 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \16601 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \16602 >/dev/null 2>conftest.err &&16603 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&16604 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&16605 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&16606 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then16607 # icc doesn't choke on unknown options, it will just issue warnings16608 # or remarks (even with -Werror). So we grep stderr for any message16609 # that says an option was ignored or not supported.16610 # When given -MP, icc 7.0 and 7.1 complain thusly:16611 # icc: Command line warning: ignoring option '-M'; no argument required16612 # The diagnosis changed in icc 8.0:16613 # icc: Command line remark: option '-MP' not supported16614 if (grep 'ignoring option' conftest.err ||16615 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else16616 am_cv_CC_dependencies_compiler_type=$depmode16617 break16618 fi16619 fi16620 done16621 16622 cd ..16623 rm -rf conftest.dir16624 else16625 am_cv_CC_dependencies_compiler_type=none16626 fi16627 16628 fi16629 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&516630 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }16631 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type16632 16633 if16634 test "x$enable_dependency_tracking" != xno \16635 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then16636 am__fastdepCC_TRUE=16637 am__fastdepCC_FALSE='#'16638 else16639 am__fastdepCC_TRUE='#'16640 am__fastdepCC_FALSE=16641 fi16642 16643 16644 4057 # By default we simply use the C compiler to build assembly code. 16645 4058 … … 16776 4189 16777 4190 16778 16779 4191 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 16780 4192 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } … … 16806 4218 $as_echo "no" >&6; } 16807 4219 SET_MAKE="MAKE=${MAKE-make}" 4220 fi 4221 4222 if test -n "$ac_tool_prefix"; then 4223 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. 4224 set dummy ${ac_tool_prefix}ranlib; ac_word=$2 4225 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 4226 $as_echo_n "checking for $ac_word... " >&6; } 4227 if ${ac_cv_prog_RANLIB+:} false; then : 4228 $as_echo_n "(cached) " >&6 4229 else 4230 if test -n "$RANLIB"; then 4231 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 4232 else 4233 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4234 for as_dir in $PATH 4235 do 4236 IFS=$as_save_IFS 4237 test -z "$as_dir" && as_dir=. 4238 for ac_exec_ext in '' $ac_executable_extensions; do 4239 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 4240 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" 4241 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 4242 break 2 4243 fi 4244 done 4245 done 4246 IFS=$as_save_IFS 4247 4248 fi 4249 fi 4250 RANLIB=$ac_cv_prog_RANLIB 4251 if test -n "$RANLIB"; then 4252 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 4253 $as_echo "$RANLIB" >&6; } 4254 else 4255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4256 $as_echo "no" >&6; } 4257 fi 4258 4259 4260 fi 4261 if test -z "$ac_cv_prog_RANLIB"; then 4262 ac_ct_RANLIB=$RANLIB 4263 # Extract the first word of "ranlib", so it can be a program name with args. 4264 set dummy ranlib; ac_word=$2 4265 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 4266 $as_echo_n "checking for $ac_word... " >&6; } 4267 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 4268 $as_echo_n "(cached) " >&6 4269 else 4270 if test -n "$ac_ct_RANLIB"; then 4271 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 4272 else 4273 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4274 for as_dir in $PATH 4275 do 4276 IFS=$as_save_IFS 4277 test -z "$as_dir" && as_dir=. 4278 for ac_exec_ext in '' $ac_executable_extensions; do 4279 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 4280 ac_cv_prog_ac_ct_RANLIB="ranlib" 4281 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 4282 break 2 4283 fi 4284 done 4285 done 4286 IFS=$as_save_IFS 4287 4288 fi 4289 fi 4290 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 4291 if test -n "$ac_ct_RANLIB"; then 4292 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 4293 $as_echo "$ac_ct_RANLIB" >&6; } 4294 else 4295 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4296 $as_echo "no" >&6; } 4297 fi 4298 4299 if test "x$ac_ct_RANLIB" = x; then 4300 RANLIB=":" 4301 else 4302 case $cross_compiling:$ac_tool_warned in 4303 yes:) 4304 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 4305 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 4306 ac_tool_warned=yes ;; 4307 esac 4308 RANLIB=$ac_ct_RANLIB 4309 fi 4310 else 4311 RANLIB="$ac_cv_prog_RANLIB" 16808 4312 fi 16809 4313 … … 16973 4477 fi 16974 4478 16975 if test -z "${BUILDLIB_TRUE}" && test -z "${BUILDLIB_FALSE}"; then16976 as_fn_error $? "conditional \"BUILDLIB\" was never defined.16977 Usually this means the macro was only invoked conditionally." "$LINENO" 516978 fi16979 4479 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then 16980 4480 as_fn_error $? "conditional \"AMDEP\" was never defined. 16981 Usually this means the macro was only invoked conditionally." "$LINENO" 516982 fi16983 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then16984 as_fn_error $? "conditional \"am__fastdepCC\" was never defined.16985 4481 Usually this means the macro was only invoked conditionally." "$LINENO" 5 16986 4482 fi … … 17561 5057 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 17562 5058 17563 17564 # The HP-UX ksh and POSIX shell print the target directory to stdout17565 # if CDPATH is set.17566 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH17567 17568 sed_quote_subst='$sed_quote_subst'17569 double_quote_subst='$double_quote_subst'17570 delay_variable_subst='$delay_variable_subst'17571 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'17572 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'17573 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'17574 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'17575 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'17576 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'17577 shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'17578 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'17579 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'17580 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'17581 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'17582 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'17583 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'17584 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'17585 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'17586 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'17587 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'17588 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'17589 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'17590 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'17591 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'17592 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'17593 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'17594 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'17595 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'17596 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'17597 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'17598 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'17599 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'17600 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'17601 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'17602 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'17603 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'17604 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'17605 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'17606 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'17607 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'17608 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'17609 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'17610 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'17611 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'17612 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'17613 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'17614 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'17615 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'17616 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'17617 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'17618 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'17619 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'17620 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'17621 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'17622 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'17623 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'17624 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'17625 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'17626 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'17627 lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'17628 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'17629 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'17630 lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'17631 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'17632 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'17633 lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'17634 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'17635 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'17636 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'17637 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'17638 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'17639 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'17640 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'17641 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'17642 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'17643 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'17644 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'17645 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'17646 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'17647 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'17648 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'17649 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'17650 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'17651 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'17652 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'17653 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'17654 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'17655 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'17656 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'17657 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'17658 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'17659 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'17660 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'17661 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'17662 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'17663 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'17664 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'17665 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'17666 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'17667 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'17668 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'17669 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'17670 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'17671 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'17672 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'17673 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'17674 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'17675 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'17676 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'17677 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'17678 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'17679 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'17680 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'17681 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'17682 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'17683 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'17684 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'17685 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'17686 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'17687 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'17688 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'17689 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'17690 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'17691 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'17692 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'17693 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'17694 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'17695 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'17696 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'17697 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'17698 configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'17699 configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'17700 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'17701 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'17702 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'17703 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'17704 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'17705 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'17706 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'17707 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'17708 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'17709 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'17710 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'17711 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'17712 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'17713 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'17714 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'17715 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'17716 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'17717 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'17718 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'17719 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'17720 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'17721 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'17722 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'17723 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'17724 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'17725 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'17726 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'17727 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'17728 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'17729 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'17730 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'17731 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'17732 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'17733 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'17734 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'17735 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'17736 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'17737 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'17738 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'17739 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'17740 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'17741 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'17742 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'17743 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'17744 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'17745 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'17746 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'17747 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'17748 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'17749 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'17750 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'17751 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'17752 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'17753 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'17754 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'17755 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'17756 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'17757 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'17758 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'17759 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'17760 17761 LTCC='$LTCC'17762 LTCFLAGS='$LTCFLAGS'17763 compiler='$compiler_DEFAULT'17764 17765 # A function that is used when there is no print builtin or printf.17766 func_fallback_echo ()17767 {17768 eval 'cat <<_LTECHO_EOF17769 \$117770 _LTECHO_EOF'17771 }17772 17773 # Quote evaled strings.17774 for var in SHELL \17775 ECHO \17776 PATH_SEPARATOR \17777 SED \17778 GREP \17779 EGREP \17780 FGREP \17781 LD \17782 NM \17783 LN_S \17784 lt_SP2NL \17785 lt_NL2SP \17786 reload_flag \17787 OBJDUMP \17788 deplibs_check_method \17789 file_magic_cmd \17790 file_magic_glob \17791 want_nocaseglob \17792 DLLTOOL \17793 sharedlib_from_linklib_cmd \17794 AR \17795 AR_FLAGS \17796 archiver_list_spec \17797 STRIP \17798 RANLIB \17799 CC \17800 CFLAGS \17801 compiler \17802 lt_cv_sys_global_symbol_pipe \17803 lt_cv_sys_global_symbol_to_cdecl \17804 lt_cv_sys_global_symbol_to_import \17805 lt_cv_sys_global_symbol_to_c_name_address \17806 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \17807 lt_cv_nm_interface \17808 nm_file_list_spec \17809 lt_cv_truncate_bin \17810 lt_prog_compiler_no_builtin_flag \17811 lt_prog_compiler_pic \17812 lt_prog_compiler_wl \17813 lt_prog_compiler_static \17814 lt_cv_prog_compiler_c_o \17815 need_locks \17816 MANIFEST_TOOL \17817 DSYMUTIL \17818 NMEDIT \17819 LIPO \17820 OTOOL \17821 OTOOL64 \17822 shrext_cmds \17823 export_dynamic_flag_spec \17824 whole_archive_flag_spec \17825 compiler_needs_object \17826 with_gnu_ld \17827 allow_undefined_flag \17828 no_undefined_flag \17829 hardcode_libdir_flag_spec \17830 hardcode_libdir_separator \17831 exclude_expsyms \17832 include_expsyms \17833 file_list_spec \17834 variables_saved_for_relink \17835 libname_spec \17836 library_names_spec \17837 soname_spec \17838 install_override_mode \17839 finish_eval \17840 old_striplib \17841 striplib \17842 compiler_lib_search_dirs \17843 predep_objects \17844 postdep_objects \17845 predeps \17846 postdeps \17847 compiler_lib_search_path \17848 LD_CXX \17849 reload_flag_CXX \17850 compiler_CXX \17851 lt_prog_compiler_no_builtin_flag_CXX \17852 lt_prog_compiler_pic_CXX \17853 lt_prog_compiler_wl_CXX \17854 lt_prog_compiler_static_CXX \17855 lt_cv_prog_compiler_c_o_CXX \17856 export_dynamic_flag_spec_CXX \17857 whole_archive_flag_spec_CXX \17858 compiler_needs_object_CXX \17859 with_gnu_ld_CXX \17860 allow_undefined_flag_CXX \17861 no_undefined_flag_CXX \17862 hardcode_libdir_flag_spec_CXX \17863 hardcode_libdir_separator_CXX \17864 exclude_expsyms_CXX \17865 include_expsyms_CXX \17866 file_list_spec_CXX \17867 compiler_lib_search_dirs_CXX \17868 predep_objects_CXX \17869 postdep_objects_CXX \17870 predeps_CXX \17871 postdeps_CXX \17872 compiler_lib_search_path_CXX; do17873 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in17874 *[\\\\\\\`\\"\\\$]*)17875 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes17876 ;;17877 *)17878 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""17879 ;;17880 esac17881 done17882 17883 # Double-quote double-evaled strings.17884 for var in reload_cmds \17885 old_postinstall_cmds \17886 old_postuninstall_cmds \17887 old_archive_cmds \17888 extract_expsyms_cmds \17889 old_archive_from_new_cmds \17890 old_archive_from_expsyms_cmds \17891 archive_cmds \17892 archive_expsym_cmds \17893 module_cmds \17894 module_expsym_cmds \17895 export_symbols_cmds \17896 prelink_cmds \17897 postlink_cmds \17898 postinstall_cmds \17899 postuninstall_cmds \17900 finish_cmds \17901 sys_lib_search_path_spec \17902 configure_time_dlsearch_path \17903 configure_time_lt_sys_library_path \17904 reload_cmds_CXX \17905 old_archive_cmds_CXX \17906 old_archive_from_new_cmds_CXX \17907 old_archive_from_expsyms_cmds_CXX \17908 archive_cmds_CXX \17909 archive_expsym_cmds_CXX \17910 module_cmds_CXX \17911 module_expsym_cmds_CXX \17912 export_symbols_cmds_CXX \17913 prelink_cmds_CXX \17914 postlink_cmds_CXX; do17915 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in17916 *[\\\\\\\`\\"\\\$]*)17917 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes17918 ;;17919 *)17920 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""17921 ;;17922 esac17923 done17924 17925 ac_aux_dir='$ac_aux_dir'17926 17927 # See if we are running on zsh, and set the options that allow our17928 # commands through without removal of \ escapes INIT.17929 if test -n "\${ZSH_VERSION+set}"; then17930 setopt NO_GLOB_SUBST17931 fi17932 17933 17934 PACKAGE='$PACKAGE'17935 VERSION='$VERSION'17936 RM='$RM'17937 ofile='$ofile'17938 17939 17940 17941 17942 17943 17944 5059 _ACEOF 17945 5060 … … 17951 5066 case $ac_config_target in 17952 5067 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 17953 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;17954 5068 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 17955 5069 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; … … 18477 5591 } 18478 5592 ;; 18479 "libtool":C)18480 18481 # See if we are running on zsh, and set the options that allow our18482 # commands through without removal of \ escapes.18483 if test -n "${ZSH_VERSION+set}"; then18484 setopt NO_GLOB_SUBST18485 fi18486 18487 cfgfile=${ofile}T18488 trap "$RM \"$cfgfile\"; exit 1" 1 2 1518489 $RM "$cfgfile"18490 18491 cat <<_LT_EOF >> "$cfgfile"18492 #! $SHELL18493 # Generated automatically by $as_me ($PACKAGE) $VERSION18494 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:18495 # NOTE: Changes made to this file will be lost: look at ltmain.sh.18496 18497 # Provide generalized library-building support services.18498 # Written by Gordon Matzigkeit, 199618499 18500 # Copyright (C) 2014 Free Software Foundation, Inc.18501 # This is free software; see the source for copying conditions. There is NO18502 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.18503 18504 # GNU Libtool is free software; you can redistribute it and/or modify18505 # it under the terms of the GNU General Public License as published by18506 # the Free Software Foundation; either version 2 of of the License, or18507 # (at your option) any later version.18508 #18509 # As a special exception to the GNU General Public License, if you18510 # distribute this file as part of a program or library that is built18511 # using GNU Libtool, you may include this file under the same18512 # distribution terms that you use for the rest of that program.18513 #18514 # GNU Libtool is distributed in the hope that it will be useful, but18515 # WITHOUT ANY WARRANTY; without even the implied warranty of18516 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the18517 # GNU General Public License for more details.18518 #18519 # You should have received a copy of the GNU General Public License18520 # along with this program. If not, see <http://www.gnu.org/licenses/>.18521 18522 18523 # The names of the tagged configurations supported by this script.18524 available_tags='CXX '18525 18526 # Configured defaults for sys_lib_dlsearch_path munging.18527 : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}18528 18529 # ### BEGIN LIBTOOL CONFIG18530 18531 # Which release of libtool.m4 was used?18532 macro_version=$macro_version18533 macro_revision=$macro_revision18534 18535 # Whether or not to build shared libraries.18536 build_libtool_libs=$enable_shared18537 18538 # Whether or not to build static libraries.18539 build_old_libs=$enable_static18540 18541 # What type of objects to build.18542 pic_mode=$pic_mode18543 18544 # Whether or not to optimize for fast installation.18545 fast_install=$enable_fast_install18546 18547 # Shared archive member basename,for filename based shared library versioning on AIX.18548 shared_archive_member_spec=$shared_archive_member_spec18549 18550 # Shell to use when invoking shell scripts.18551 SHELL=$lt_SHELL18552 18553 # An echo program that protects backslashes.18554 ECHO=$lt_ECHO18555 18556 # The PATH separator for the build system.18557 PATH_SEPARATOR=$lt_PATH_SEPARATOR18558 18559 # The host system.18560 host_alias=$host_alias18561 host=$host18562 host_os=$host_os18563 18564 # The build system.18565 build_alias=$build_alias18566 build=$build18567 build_os=$build_os18568 18569 # A sed program that does not truncate output.18570 SED=$lt_SED18571 18572 # Sed that helps us avoid accidentally triggering echo(1) options like -n.18573 Xsed="\$SED -e 1s/^X//"18574 18575 # A grep program that handles long lines.18576 GREP=$lt_GREP18577 18578 # An ERE matcher.18579 EGREP=$lt_EGREP18580 18581 # A literal string matcher.18582 FGREP=$lt_FGREP18583 18584 # A BSD- or MS-compatible name lister.18585 NM=$lt_NM18586 18587 # Whether we need soft or hard links.18588 LN_S=$lt_LN_S18589 18590 # What is the maximum length of a command?18591 max_cmd_len=$max_cmd_len18592 18593 # Object file suffix (normally "o").18594 objext=$ac_objext18595 18596 # Executable file suffix (normally "").18597 exeext=$exeext18598 18599 # whether the shell understands "unset".18600 lt_unset=$lt_unset18601 18602 # turn spaces into newlines.18603 SP2NL=$lt_lt_SP2NL18604 18605 # turn newlines into spaces.18606 NL2SP=$lt_lt_NL2SP18607 18608 # convert \$build file names to \$host format.18609 to_host_file_cmd=$lt_cv_to_host_file_cmd18610 18611 # convert \$build files to toolchain format.18612 to_tool_file_cmd=$lt_cv_to_tool_file_cmd18613 18614 # An object symbol dumper.18615 OBJDUMP=$lt_OBJDUMP18616 18617 # Method to check whether dependent libraries are shared objects.18618 deplibs_check_method=$lt_deplibs_check_method18619 18620 # Command to use when deplibs_check_method = "file_magic".18621 file_magic_cmd=$lt_file_magic_cmd18622 18623 # How to find potential files when deplibs_check_method = "file_magic".18624 file_magic_glob=$lt_file_magic_glob18625 18626 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".18627 want_nocaseglob=$lt_want_nocaseglob18628 18629 # DLL creation program.18630 DLLTOOL=$lt_DLLTOOL18631 18632 # Command to associate shared and link libraries.18633 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd18634 18635 # The archiver.18636 AR=$lt_AR18637 18638 # Flags to create an archive.18639 AR_FLAGS=$lt_AR_FLAGS18640 18641 # How to feed a file listing to the archiver.18642 archiver_list_spec=$lt_archiver_list_spec18643 18644 # A symbol stripping program.18645 STRIP=$lt_STRIP18646 18647 # Commands used to install an old-style archive.18648 RANLIB=$lt_RANLIB18649 old_postinstall_cmds=$lt_old_postinstall_cmds18650 old_postuninstall_cmds=$lt_old_postuninstall_cmds18651 18652 # Whether to use a lock for old archive extraction.18653 lock_old_archive_extraction=$lock_old_archive_extraction18654 18655 # A C compiler.18656 LTCC=$lt_CC18657 18658 # LTCC compiler flags.18659 LTCFLAGS=$lt_CFLAGS18660 18661 # Take the output of nm and produce a listing of raw symbols and C names.18662 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe18663 18664 # Transform the output of nm in a proper C declaration.18665 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl18666 18667 # Transform the output of nm into a list of symbols to manually relocate.18668 global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import18669 18670 # Transform the output of nm in a C name address pair.18671 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address18672 18673 # Transform the output of nm in a C name address pair when lib prefix is needed.18674 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix18675 18676 # The name lister interface.18677 nm_interface=$lt_lt_cv_nm_interface18678 18679 # Specify filename containing input files for \$NM.18680 nm_file_list_spec=$lt_nm_file_list_spec18681 18682 # The root where to search for dependent libraries,and where our libraries should be installed.18683 lt_sysroot=$lt_sysroot18684 18685 # Command to truncate a binary pipe.18686 lt_truncate_bin=$lt_lt_cv_truncate_bin18687 18688 # The name of the directory that contains temporary libtool files.18689 objdir=$objdir18690 18691 # Used to examine libraries when file_magic_cmd begins with "file".18692 MAGIC_CMD=$MAGIC_CMD18693 18694 # Must we lock files when doing compilation?18695 need_locks=$lt_need_locks18696 18697 # Manifest tool.18698 MANIFEST_TOOL=$lt_MANIFEST_TOOL18699 18700 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.18701 DSYMUTIL=$lt_DSYMUTIL18702 18703 # Tool to change global to local symbols on Mac OS X.18704 NMEDIT=$lt_NMEDIT18705 18706 # Tool to manipulate fat objects and archives on Mac OS X.18707 LIPO=$lt_LIPO18708 18709 # ldd/readelf like tool for Mach-O binaries on Mac OS X.18710 OTOOL=$lt_OTOOL18711 18712 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.18713 OTOOL64=$lt_OTOOL6418714 18715 # Old archive suffix (normally "a").18716 libext=$libext18717 18718 # Shared library suffix (normally ".so").18719 shrext_cmds=$lt_shrext_cmds18720 18721 # The commands to extract the exported symbol list from a shared archive.18722 extract_expsyms_cmds=$lt_extract_expsyms_cmds18723 18724 # Variables whose values should be saved in libtool wrapper scripts and18725 # restored at link time.18726 variables_saved_for_relink=$lt_variables_saved_for_relink18727 18728 # Do we need the "lib" prefix for modules?18729 need_lib_prefix=$need_lib_prefix18730 18731 # Do we need a version for libraries?18732 need_version=$need_version18733 18734 # Library versioning type.18735 version_type=$version_type18736 18737 # Shared library runtime path variable.18738 runpath_var=$runpath_var18739 18740 # Shared library path variable.18741 shlibpath_var=$shlibpath_var18742 18743 # Is shlibpath searched before the hard-coded library search path?18744 shlibpath_overrides_runpath=$shlibpath_overrides_runpath18745 18746 # Format of library name prefix.18747 libname_spec=$lt_libname_spec18748 18749 # List of archive names. First name is the real one, the rest are links.18750 # The last name is the one that the linker finds with -lNAME18751 library_names_spec=$lt_library_names_spec18752 18753 # The coded name of the library, if different from the real name.18754 soname_spec=$lt_soname_spec18755 18756 # Permission mode override for installation of shared libraries.18757 install_override_mode=$lt_install_override_mode18758 18759 # Command to use after installation of a shared archive.18760 postinstall_cmds=$lt_postinstall_cmds18761 18762 # Command to use after uninstallation of a shared archive.18763 postuninstall_cmds=$lt_postuninstall_cmds18764 18765 # Commands used to finish a libtool library installation in a directory.18766 finish_cmds=$lt_finish_cmds18767 18768 # As "finish_cmds", except a single script fragment to be evaled but18769 # not shown.18770 finish_eval=$lt_finish_eval18771 18772 # Whether we should hardcode library paths into libraries.18773 hardcode_into_libs=$hardcode_into_libs18774 18775 # Compile-time system search path for libraries.18776 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec18777 18778 # Detected run-time system search path for libraries.18779 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path18780 18781 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time.18782 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path18783 18784 # Whether dlopen is supported.18785 dlopen_support=$enable_dlopen18786 18787 # Whether dlopen of programs is supported.18788 dlopen_self=$enable_dlopen_self18789 18790 # Whether dlopen of statically linked programs is supported.18791 dlopen_self_static=$enable_dlopen_self_static18792 18793 # Commands to strip libraries.18794 old_striplib=$lt_old_striplib18795 striplib=$lt_striplib18796 18797 18798 # The linker used to build libraries.18799 LD=$lt_LD18800 18801 # How to create reloadable object files.18802 reload_flag=$lt_reload_flag18803 reload_cmds=$lt_reload_cmds18804 18805 # Commands used to build an old-style archive.18806 old_archive_cmds=$lt_old_archive_cmds18807 18808 # A language specific compiler.18809 CC=$lt_compiler18810 18811 # Is the compiler the GNU compiler?18812 with_gcc=$GCC18813 18814 # Compiler flag to turn off builtin functions.18815 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag18816 18817 # Additional compiler flags for building library objects.18818 pic_flag=$lt_lt_prog_compiler_pic18819 18820 # How to pass a linker flag through the compiler.18821 wl=$lt_lt_prog_compiler_wl18822 18823 # Compiler flag to prevent dynamic linking.18824 link_static_flag=$lt_lt_prog_compiler_static18825 18826 # Does compiler simultaneously support -c and -o options?18827 compiler_c_o=$lt_lt_cv_prog_compiler_c_o18828 18829 # Whether or not to add -lc for building shared libraries.18830 build_libtool_need_lc=$archive_cmds_need_lc18831 18832 # Whether or not to disallow shared libs when runtime libs are static.18833 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes18834 18835 # Compiler flag to allow reflexive dlopens.18836 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec18837 18838 # Compiler flag to generate shared objects directly from archives.18839 whole_archive_flag_spec=$lt_whole_archive_flag_spec18840 18841 # Whether the compiler copes with passing no objects directly.18842 compiler_needs_object=$lt_compiler_needs_object18843 18844 # Create an old-style archive from a shared archive.18845 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds18846 18847 # Create a temporary old-style archive to link instead of a shared archive.18848 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds18849 18850 # Commands used to build a shared archive.18851 archive_cmds=$lt_archive_cmds18852 archive_expsym_cmds=$lt_archive_expsym_cmds18853 18854 # Commands used to build a loadable module if different from building18855 # a shared archive.18856 module_cmds=$lt_module_cmds18857 module_expsym_cmds=$lt_module_expsym_cmds18858 18859 # Whether we are building with GNU ld or not.18860 with_gnu_ld=$lt_with_gnu_ld18861 18862 # Flag that allows shared libraries with undefined symbols to be built.18863 allow_undefined_flag=$lt_allow_undefined_flag18864 18865 # Flag that enforces no undefined symbols.18866 no_undefined_flag=$lt_no_undefined_flag18867 18868 # Flag to hardcode \$libdir into a binary during linking.18869 # This must work even if \$libdir does not exist18870 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec18871 18872 # Whether we need a single "-rpath" flag with a separated argument.18873 hardcode_libdir_separator=$lt_hardcode_libdir_separator18874 18875 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes18876 # DIR into the resulting binary.18877 hardcode_direct=$hardcode_direct18878 18879 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes18880 # DIR into the resulting binary and the resulting library dependency is18881 # "absolute",i.e impossible to change by setting \$shlibpath_var if the18882 # library is relocated.18883 hardcode_direct_absolute=$hardcode_direct_absolute18884 18885 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR18886 # into the resulting binary.18887 hardcode_minus_L=$hardcode_minus_L18888 18889 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR18890 # into the resulting binary.18891 hardcode_shlibpath_var=$hardcode_shlibpath_var18892 18893 # Set to "yes" if building a shared library automatically hardcodes DIR18894 # into the library and all subsequent libraries and executables linked18895 # against it.18896 hardcode_automatic=$hardcode_automatic18897 18898 # Set to yes if linker adds runtime paths of dependent libraries18899 # to runtime path list.18900 inherit_rpath=$inherit_rpath18901 18902 # Whether libtool must link a program against all its dependency libraries.18903 link_all_deplibs=$link_all_deplibs18904 18905 # Set to "yes" if exported symbols are required.18906 always_export_symbols=$always_export_symbols18907 18908 # The commands to list exported symbols.18909 export_symbols_cmds=$lt_export_symbols_cmds18910 18911 # Symbols that should not be listed in the preloaded symbols.18912 exclude_expsyms=$lt_exclude_expsyms18913 18914 # Symbols that must always be exported.18915 include_expsyms=$lt_include_expsyms18916 18917 # Commands necessary for linking programs (against libraries) with templates.18918 prelink_cmds=$lt_prelink_cmds18919 18920 # Commands necessary for finishing linking programs.18921 postlink_cmds=$lt_postlink_cmds18922 18923 # Specify filename containing input files.18924 file_list_spec=$lt_file_list_spec18925 18926 # How to hardcode a shared library path into an executable.18927 hardcode_action=$hardcode_action18928 18929 # The directories searched by this compiler when creating a shared library.18930 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs18931 18932 # Dependencies to place before and after the objects being linked to18933 # create a shared library.18934 predep_objects=$lt_predep_objects18935 postdep_objects=$lt_postdep_objects18936 predeps=$lt_predeps18937 postdeps=$lt_postdeps18938 18939 # The library search path used internally by the compiler when linking18940 # a shared library.18941 compiler_lib_search_path=$lt_compiler_lib_search_path18942 18943 # ### END LIBTOOL CONFIG18944 18945 _LT_EOF18946 18947 cat <<'_LT_EOF' >> "$cfgfile"18948 18949 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE18950 18951 # func_munge_path_list VARIABLE PATH18952 # -----------------------------------18953 # VARIABLE is name of variable containing _space_ separated list of18954 # directories to be munged by the contents of PATH, which is string18955 # having a format:18956 # "DIR[:DIR]:"18957 # string "DIR[ DIR]" will be prepended to VARIABLE18958 # ":DIR[:DIR]"18959 # string "DIR[ DIR]" will be appended to VARIABLE18960 # "DIRP[:DIRP]::[DIRA:]DIRA"18961 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string18962 # "DIRA[ DIRA]" will be appended to VARIABLE18963 # "DIR[:DIR]"18964 # VARIABLE will be replaced by "DIR[ DIR]"18965 func_munge_path_list ()18966 {18967 case x$2 in18968 x)18969 ;;18970 *:)18971 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"18972 ;;18973 x:*)18974 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"18975 ;;18976 *::*)18977 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"18978 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"18979 ;;18980 *)18981 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"18982 ;;18983 esac18984 }18985 18986 18987 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.18988 func_cc_basename ()18989 {18990 for cc_temp in $*""; do18991 case $cc_temp in18992 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;18993 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;18994 \-*) ;;18995 *) break;;18996 esac18997 done18998 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`18999 }19000 19001 19002 # ### END FUNCTIONS SHARED WITH CONFIGURE19003 19004 _LT_EOF19005 19006 case $host_os in19007 aix3*)19008 cat <<\_LT_EOF >> "$cfgfile"19009 # AIX sometimes has problems with the GCC collect2 program. For some19010 # reason, if we set the COLLECT_NAMES environment variable, the problems19011 # vanish in a puff of smoke.19012 if test set != "${COLLECT_NAMES+set}"; then19013 COLLECT_NAMES=19014 export COLLECT_NAMES19015 fi19016 _LT_EOF19017 ;;19018 esac19019 19020 19021 ltmain=$ac_aux_dir/ltmain.sh19022 19023 19024 # We use sed instead of cat because bash on DJGPP gets confused if19025 # if finds mixed CR/LF and LF-only lines. Since sed operates in19026 # text mode, it properly converts lines to CR/LF. This bash problem19027 # is reportedly fixed, but why not run on old versions too?19028 sed '$q' "$ltmain" >> "$cfgfile" \19029 || (rm -f "$cfgfile"; exit 1)19030 19031 mv -f "$cfgfile" "$ofile" ||19032 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")19033 chmod +x "$ofile"19034 19035 19036 cat <<_LT_EOF >> "$ofile"19037 19038 # ### BEGIN LIBTOOL TAG CONFIG: CXX19039 19040 # The linker used to build libraries.19041 LD=$lt_LD_CXX19042 19043 # How to create reloadable object files.19044 reload_flag=$lt_reload_flag_CXX19045 reload_cmds=$lt_reload_cmds_CXX19046 19047 # Commands used to build an old-style archive.19048 old_archive_cmds=$lt_old_archive_cmds_CXX19049 19050 # A language specific compiler.19051 CC=$lt_compiler_CXX19052 19053 # Is the compiler the GNU compiler?19054 with_gcc=$GCC_CXX19055 19056 # Compiler flag to turn off builtin functions.19057 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX19058 19059 # Additional compiler flags for building library objects.19060 pic_flag=$lt_lt_prog_compiler_pic_CXX19061 19062 # How to pass a linker flag through the compiler.19063 wl=$lt_lt_prog_compiler_wl_CXX19064 19065 # Compiler flag to prevent dynamic linking.19066 link_static_flag=$lt_lt_prog_compiler_static_CXX19067 19068 # Does compiler simultaneously support -c and -o options?19069 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX19070 19071 # Whether or not to add -lc for building shared libraries.19072 build_libtool_need_lc=$archive_cmds_need_lc_CXX19073 19074 # Whether or not to disallow shared libs when runtime libs are static.19075 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX19076 19077 # Compiler flag to allow reflexive dlopens.19078 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX19079 19080 # Compiler flag to generate shared objects directly from archives.19081 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX19082 19083 # Whether the compiler copes with passing no objects directly.19084 compiler_needs_object=$lt_compiler_needs_object_CXX19085 19086 # Create an old-style archive from a shared archive.19087 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX19088 19089 # Create a temporary old-style archive to link instead of a shared archive.19090 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX19091 19092 # Commands used to build a shared archive.19093 archive_cmds=$lt_archive_cmds_CXX19094 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX19095 19096 # Commands used to build a loadable module if different from building19097 # a shared archive.19098 module_cmds=$lt_module_cmds_CXX19099 module_expsym_cmds=$lt_module_expsym_cmds_CXX19100 19101 # Whether we are building with GNU ld or not.19102 with_gnu_ld=$lt_with_gnu_ld_CXX19103 19104 # Flag that allows shared libraries with undefined symbols to be built.19105 allow_undefined_flag=$lt_allow_undefined_flag_CXX19106 19107 # Flag that enforces no undefined symbols.19108 no_undefined_flag=$lt_no_undefined_flag_CXX19109 19110 # Flag to hardcode \$libdir into a binary during linking.19111 # This must work even if \$libdir does not exist19112 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX19113 19114 # Whether we need a single "-rpath" flag with a separated argument.19115 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX19116 19117 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19118 # DIR into the resulting binary.19119 hardcode_direct=$hardcode_direct_CXX19120 19121 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes19122 # DIR into the resulting binary and the resulting library dependency is19123 # "absolute",i.e impossible to change by setting \$shlibpath_var if the19124 # library is relocated.19125 hardcode_direct_absolute=$hardcode_direct_absolute_CXX19126 19127 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR19128 # into the resulting binary.19129 hardcode_minus_L=$hardcode_minus_L_CXX19130 19131 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR19132 # into the resulting binary.19133 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX19134 19135 # Set to "yes" if building a shared library automatically hardcodes DIR19136 # into the library and all subsequent libraries and executables linked19137 # against it.19138 hardcode_automatic=$hardcode_automatic_CXX19139 19140 # Set to yes if linker adds runtime paths of dependent libraries19141 # to runtime path list.19142 inherit_rpath=$inherit_rpath_CXX19143 19144 # Whether libtool must link a program against all its dependency libraries.19145 link_all_deplibs=$link_all_deplibs_CXX19146 19147 # Set to "yes" if exported symbols are required.19148 always_export_symbols=$always_export_symbols_CXX19149 19150 # The commands to list exported symbols.19151 export_symbols_cmds=$lt_export_symbols_cmds_CXX19152 19153 # Symbols that should not be listed in the preloaded symbols.19154 exclude_expsyms=$lt_exclude_expsyms_CXX19155 19156 # Symbols that must always be exported.19157 include_expsyms=$lt_include_expsyms_CXX19158 19159 # Commands necessary for linking programs (against libraries) with templates.19160 prelink_cmds=$lt_prelink_cmds_CXX19161 19162 # Commands necessary for finishing linking programs.19163 postlink_cmds=$lt_postlink_cmds_CXX19164 19165 # Specify filename containing input files.19166 file_list_spec=$lt_file_list_spec_CXX19167 19168 # How to hardcode a shared library path into an executable.19169 hardcode_action=$hardcode_action_CXX19170 19171 # The directories searched by this compiler when creating a shared library.19172 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX19173 19174 # Dependencies to place before and after the objects being linked to19175 # create a shared library.19176 predep_objects=$lt_predep_objects_CXX19177 postdep_objects=$lt_postdep_objects_CXX19178 predeps=$lt_predeps_CXX19179 postdeps=$lt_postdeps_CXX19180 19181 # The library search path used internally by the compiler when linking19182 # a shared library.19183 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX19184 19185 # ### END LIBTOOL TAG CONFIG: CXX19186 _LT_EOF19187 19188 ;;19189 5593 19190 5594 esac -
libcfa/configure.ac
rcde3891 r9b086ca 4 4 AC_PREREQ([2.68]) 5 5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 AC_CONFIG_AUX_DIR([automake]) 7 AC_CONFIG_MACRO_DIRS([automake]) 6 AC_CONFIG_AUX_DIR([./automake]) 8 7 AM_SILENT_RULES([yes]) 9 8 … … 15 14 : ${CFLAGS=""} 16 15 17 # define this to override18 AR_FLAGS="cr"19 20 16 # Allow program name tansformation 21 17 # will fill program_transform_name with appropriate sed regex … … 25 21 AC_ARG_VAR(CONFIGURATION, [The configuration to use when building libcfa, options are: deubg, nodebug, nolib (prelude-only)]) 26 22 AC_ARG_VAR(DRIVER_DIR, [The path to the cforall driver directory]) 27 AC_ARG_VAR(CFA_VERSION, [The long version of cfa])28 23 29 24 CFACC=${DRIVER_DIR}cfa … … 31 26 AC_SUBST(CFACC) 32 27 AC_SUBST(CFACPP) 33 AC_SUBST(CFA_VERSION)34 28 35 29 #============================================================================== … … 47 41 CONFIG_CFLAGS="-O0 -g" 48 42 CONFIG_CFAFLAGS="-debug" 49 CONFIG_BUILDLIB="yes"50 43 ;; 51 44 "nodebug" ) 52 45 CONFIG_CFLAGS="-O2 -s" 53 46 CONFIG_CFAFLAGS="-nodebug" 54 CONFIG_BUILDLIB="yes"55 47 ;; 56 48 "nolib" ) 57 CONFIG_CFLAGS="-O2 -s" 58 CONFIG_CFAFLAGS="-nodebug" 59 CONFIG_BUILDLIB="no" 60 ;; 61 *) 62 AC_MSG_ERROR('Invalid value $CONFIGURATION for \$CONFIGURATION') 49 CONFIG_CFLAGS="" 50 CONFIG_CFAFLAGS="" 63 51 ;; 64 52 esac … … 66 54 AC_SUBST(CONFIG_CFLAGS) 67 55 AC_SUBST(CONFIG_CFAFLAGS) 68 AC_SUBST(CONFIG_BUILDLIB)69 70 AM_CONDITIONAL([BUILDLIB], [test "x${CONFIG_BUILDLIB}" = "xyes"])71 56 72 57 #============================================================================== … … 79 64 80 65 # Checks for programs. 81 LT_INIT82 83 66 AC_PROG_CXX 84 67 AC_PROG_CC 85 68 AM_PROG_AS 86 AC_PROG_LIBTOOL87 69 AC_PROG_INSTALL 88 70 AC_PROG_MAKE_SET 71 AC_PROG_RANLIB 89 72 90 73 AC_CONFIG_FILES([ -
libcfa/prelude/Makefile.am
rcde3891 r9b086ca 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake20 19 21 20 # put into lib for now 22 21 cfalibdir = ${CFA_LIBDIR} 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 22 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cf bootloader.c 23 noinst_DATA = ../src/prelude.c 24 24 25 25 CC = @CFACC@ 26 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC@ARCH_FLAGS@ @CONFIG_CFLAGS@26 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 27 27 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 28 28 … … 44 44 ${AM_V_GEN}gcc -I${srcdir} -E ${srcdir}/prototypes.c | awk -f ${srcdir}/prototypes.awk > $@ 45 45 46 prelude.cf a: prelude-gen.cc46 prelude.cf : prelude-gen.cc 47 47 ${AM_V_GEN}${CXX} ${AM_CXXFLAGS} ${CXXFLAGS} ${AM_CFLAGS} ${<} -o prelude-gen -Wall -Wextra -O2 -g -std=c++14 48 48 @./prelude-gen > $@ … … 60 60 include $(DEPDIR)/builtins.Po 61 61 62 bootloader.c : ${srcdir}/bootloader.cf prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 62 ../src/prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 63 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -l prelude.cf $@ # use src/cfa-cpp as not in lib until after install 64 65 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 63 66 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 64 67 … … 66 69 rm -rf $(DEPDIR) 67 70 68 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf a71 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf 69 72 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} -
libcfa/prelude/Makefile.in
rcde3891 r9b086ca 90 90 PRE_UNINSTALL = : 91 91 POST_UNINSTALL = : 92 build_triplet = @build@93 host_triplet = @host@94 92 subdir = prelude 95 93 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 97 $(top_srcdir)/automake/ltoptions.m4 \ 98 $(top_srcdir)/automake/ltsugar.m4 \ 99 $(top_srcdir)/automake/ltversion.m4 \ 100 $(top_srcdir)/automake/lt~obsolete.m4 \ 101 $(top_srcdir)/../automake/cfa.m4 $(top_srcdir)/configure.ac 94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 95 $(top_srcdir)/configure.ac 102 96 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 103 97 $(ACLOCAL_M4) … … 153 147 } 154 148 am__installdirs = "$(DESTDIR)$(cfalibdir)" 155 DATA = $(cfalib_DATA) 149 DATA = $(cfalib_DATA) $(noinst_DATA) 156 150 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 157 151 am__DIST_COMMON = $(srcdir)/Makefile.in … … 160 154 AMTAR = @AMTAR@ 161 155 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 162 AR = @AR@163 156 ARCHITECTURE = @ARCHITECTURE@ 164 157 ARCH_FLAGS = @ARCH_FLAGS@ … … 179 172 CFA_NAME = @CFA_NAME@ 180 173 CFA_PREFIX = @CFA_PREFIX@ 181 CFA_VERSION = @CFA_VERSION@182 174 CFLAGS = @CFLAGS@ 183 175 CONFIGURATION = @CONFIGURATION@ 184 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@185 176 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 186 177 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 187 CPP = @CPP@188 178 CPPFLAGS = @CPPFLAGS@ 189 179 CXX = @CXX@ 190 CXXCPP = @CXXCPP@191 180 CXXDEPMODE = @CXXDEPMODE@ 192 181 CXXFLAGS = @CXXFLAGS@ … … 194 183 DEFS = @DEFS@ 195 184 DEPDIR = @DEPDIR@ 196 DLLTOOL = @DLLTOOL@197 185 DRIVER_DIR = @DRIVER_DIR@ 198 DSYMUTIL = @DSYMUTIL@199 DUMPBIN = @DUMPBIN@200 186 ECHO_C = @ECHO_C@ 201 187 ECHO_N = @ECHO_N@ 202 188 ECHO_T = @ECHO_T@ 203 EGREP = @EGREP@204 189 EXEEXT = @EXEEXT@ 205 FGREP = @FGREP@206 GREP = @GREP@207 190 INSTALL = @INSTALL@ 208 191 INSTALL_DATA = @INSTALL_DATA@ … … 210 193 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 211 194 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 212 LD = @LD@213 195 LDFLAGS = @LDFLAGS@ 214 196 LIBOBJS = @LIBOBJS@ 215 197 LIBS = @LIBS@ 216 LIBTOOL = @LIBTOOL@217 LIPO = @LIPO@218 LN_S = @LN_S@219 198 LTLIBOBJS = @LTLIBOBJS@ 220 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@221 199 MAKEINFO = @MAKEINFO@ 222 MANIFEST_TOOL = @MANIFEST_TOOL@223 200 MKDIR_P = @MKDIR_P@ 224 NM = @NM@225 NMEDIT = @NMEDIT@226 OBJDUMP = @OBJDUMP@227 201 OBJEXT = @OBJEXT@ 228 OTOOL = @OTOOL@229 OTOOL64 = @OTOOL64@230 202 PACKAGE = @PACKAGE@ 231 203 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 237 209 PATH_SEPARATOR = @PATH_SEPARATOR@ 238 210 RANLIB = @RANLIB@ 239 SED = @SED@240 211 SET_MAKE = @SET_MAKE@ 241 212 SHELL = @SHELL@ … … 246 217 abs_top_builddir = @abs_top_builddir@ 247 218 abs_top_srcdir = @abs_top_srcdir@ 248 ac_ct_AR = @ac_ct_AR@249 219 ac_ct_CC = @ac_ct_CC@ 250 220 ac_ct_CXX = @ac_ct_CXX@ 251 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@252 221 am__include = @am__include@ 253 222 am__leading_dot = @am__leading_dot@ … … 256 225 am__untar = @am__untar@ 257 226 bindir = @bindir@ 258 build = @build@259 227 build_alias = @build_alias@ 260 build_cpu = @build_cpu@261 build_os = @build_os@262 build_vendor = @build_vendor@263 228 builddir = @builddir@ 264 229 datadir = @datadir@ … … 267 232 dvidir = @dvidir@ 268 233 exec_prefix = @exec_prefix@ 269 host = @host@270 234 host_alias = @host_alias@ 271 host_cpu = @host_cpu@272 host_os = @host_os@273 host_vendor = @host_vendor@274 235 htmldir = @htmldir@ 275 236 includedir = @includedir@ … … 299 260 # create object files in directory with source files 300 261 AUTOMAKE_OPTIONS = foreign subdir-objects 301 ACLOCAL_AMFLAGS = -I automake302 262 303 263 # put into lib for now 304 264 cfalibdir = ${CFA_LIBDIR} 305 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 306 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 265 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cf bootloader.c 266 noinst_DATA = ../src/prelude.c 267 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 307 268 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 308 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf a269 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf 309 270 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 310 271 all: all-am … … 340 301 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 341 302 $(am__aclocal_m4_deps): 342 343 mostlyclean-libtool:344 -rm -f *.lo345 346 clean-libtool:347 -rm -rf .libs _libs348 303 install-cfalibDATA: $(cfalib_DATA) 349 304 @$(NORMAL_INSTALL) … … 445 400 clean: clean-am 446 401 447 clean-am: clean-generic clean-libtoolmostlyclean-am402 clean-am: clean-generic mostlyclean-am 448 403 449 404 distclean: distclean-am … … 498 453 mostlyclean: mostlyclean-am 499 454 500 mostlyclean-am: mostlyclean-generic mostlyclean-libtool455 mostlyclean-am: mostlyclean-generic 501 456 502 457 pdf: pdf-am … … 512 467 .MAKE: install-am install-strip 513 468 514 .PHONY: all all-am check check-am clean clean-generic clean-libtool \ 515 cscopelist-am ctags-am distclean distclean-generic \ 516 distclean-libtool distdir dvi dvi-am html html-am info info-am \ 517 install install-am install-cfalibDATA install-data \ 518 install-data-am install-dvi install-dvi-am install-exec \ 519 install-exec-am install-html install-html-am install-info \ 520 install-info-am install-man install-pdf install-pdf-am \ 521 install-ps install-ps-am install-strip installcheck \ 522 installcheck-am installdirs maintainer-clean \ 469 .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ 470 ctags-am distclean distclean-generic distdir dvi dvi-am html \ 471 html-am info info-am install install-am install-cfalibDATA \ 472 install-data install-data-am install-dvi install-dvi-am \ 473 install-exec install-exec-am install-html install-html-am \ 474 install-info install-info-am install-man install-pdf \ 475 install-pdf-am install-ps install-ps-am install-strip \ 476 installcheck installcheck-am installdirs maintainer-clean \ 523 477 maintainer-clean-generic maintainer-clean-local mostlyclean \ 524 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am\525 tags-am uninstalluninstall-am uninstall-cfalibDATA478 mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ 479 uninstall-am uninstall-cfalibDATA 526 480 527 481 .PRECIOUS: Makefile … … 545 499 ${AM_V_GEN}gcc -I${srcdir} -E ${srcdir}/prototypes.c | awk -f ${srcdir}/prototypes.awk > $@ 546 500 547 prelude.cf a: prelude-gen.cc501 prelude.cf : prelude-gen.cc 548 502 ${AM_V_GEN}${CXX} ${AM_CXXFLAGS} ${CXXFLAGS} ${AM_CFLAGS} ${<} -o prelude-gen -Wall -Wextra -O2 -g -std=c++14 549 503 @./prelude-gen > $@ … … 561 515 include $(DEPDIR)/builtins.Po 562 516 563 bootloader.c : ${srcdir}/bootloader.cf prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 517 ../src/prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 518 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -l prelude.cf $@ # use src/cfa-cpp as not in lib until after install 519 520 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 564 521 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 565 522 -
libcfa/prelude/prelude-gen.cc
rcde3891 r9b086ca 142 142 143 143 int main() { 144 cout << "# 2 \"prelude.cf a\" // needed for error messages from this file" << endl;144 cout << "# 2 \"prelude.cf\" // needed for error messages from this file" << endl; 145 145 cout << "trait sized(dtype T) {};" << endl; 146 146 -
libcfa/src/Makefile.am
rcde3891 r9b086ca 16 16 17 17 # create object files in directory with source files 18 AUTOMAKE_OPTIONS = foreignsubdir-objects19 A CLOCAL_AMFLAGS = -I automake18 AUTOMAKE_OPTIONS = subdir-objects 19 ARFLAGS = cr 20 20 21 21 include $(srcdir)/../../src/cfa.make 22 22 23 23 libdir = ${CFA_LIBDIR} 24 lib_LTLIBRARIES = libcfa.la 25 26 VPATH += :../prelude 24 lib_LIBRARIES = libcfa.a 27 25 28 26 # AM_CFLAGS for all cfa source … … 30 28 # use -no-include-stdhdr to prevent rebuild cycles 31 29 # The built sources must not depend on the installed headers 32 AM_CFAFLAGS = -quiet -in-tree - I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@33 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC@ARCH_FLAGS@ @CONFIG_CFLAGS@30 AM_CFAFLAGS = -quiet -in-tree -imacros prelude.c -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 31 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 34 32 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 35 33 CFACC = @CFACC@ 36 34 37 35 #---------------------------------------------------------------------------------------------------------------- 38 if BUILDLIB39 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa40 36 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 41 37 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 42 38 43 39 # not all platforms support concurrency, add option do disable it 44 headers_nosrc += concurrency/invoke.h45 40 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 46 41 47 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} 42 libobjs = ${headers:.hfa=.o} 43 libsrc = prelude.c startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \ 44 ${headers:.hfa=.cfa} 48 45 49 46 # not all platforms support concurrency, add option do disable it 50 47 libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa 51 else52 headers =53 headers_nosrc =54 libsrc =55 endif56 57 48 58 49 #---------------------------------------------------------------------------------------------------------------- 59 50 # add dependency to cfa-cpp so all libraries are rebuilt with new translator 60 #@CFACC@ @CFACPP@ prelude.cfa 51 ${libobjs} : ${cfalib_DATA} 61 52 62 # add dependency of cfa files 63 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 64 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 53 libcfa_a_SOURCES = ${libsrc} 65 54 66 67 # .deps inclusion is not done automatically by automake for new languages 68 libdeps = $(join \ 69 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 70 $(notdir ${libobjs:.lo=.Plo}) \ 71 ) 72 73 -include $(libdeps) 74 75 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 76 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 77 78 prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 79 ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \ 80 @CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 81 82 83 #---------------------------------------------------------------------------------------------------------------- 84 libcfa_la_SOURCES = prelude.cfa ${libsrc} 85 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 86 87 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 55 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "} 88 56 89 57 cfa_includedir = $(CFA_INCDIR) 90 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 58 nobase_cfa_include_HEADERS = \ 59 ${headers} \ 60 ${stdhdr} \ 61 math.hfa \ 62 gmp.hfa \ 63 time_t.hfa \ 64 bits/align.hfa \ 65 bits/containers.hfa \ 66 bits/defs.hfa \ 67 bits/debug.hfa \ 68 bits/locks.hfa \ 69 concurrency/invoke.h 70 71 MOSTLYCLEANFILES = prelude.c 91 72 92 73 #---------------------------------------------------------------------------------------------------------------- 93 74 maintainer-clean-local: 94 75 -rm -rf ${CFA_INCDIR} ${CFA_LIBDIR} 95 96 97 # $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\98 # $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\99 # $(am__mv) $$depbase.Tpo $$depbase.Po -
libcfa/src/Makefile.in
rcde3891 r9b086ca 19 19 20 20 21 VPATH = @srcdir@ 21 22 am__is_gnu_make = { \ 22 23 if test -z '$(MAKELEVEL)'; then \ … … 90 91 PRE_UNINSTALL = : 91 92 POST_UNINSTALL = : 92 build_triplet = @build@93 host_triplet = @host@94 93 subdir = src 95 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 97 $(top_srcdir)/automake/ltoptions.m4 \ 98 $(top_srcdir)/automake/ltsugar.m4 \ 99 $(top_srcdir)/automake/ltversion.m4 \ 100 $(top_srcdir)/automake/lt~obsolete.m4 \ 101 $(top_srcdir)/../automake/cfa.m4 $(top_srcdir)/configure.ac 95 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 96 $(top_srcdir)/configure.ac 102 97 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 103 98 $(ACLOCAL_M4) 104 DIST_COMMON = $(srcdir)/Makefile.am \105 $(am__ nobase_cfa_include_HEADERS_DIST) $(am__DIST_COMMON)99 DIST_COMMON = $(srcdir)/Makefile.am $(nobase_cfa_include_HEADERS) \ 100 $(am__DIST_COMMON) 106 101 mkinstalldirs = $(install_sh) -d 107 102 CONFIG_CLEAN_FILES = … … 135 130 } 136 131 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)" 137 LTLIBRARIES = $(lib_LTLIBRARIES) 138 libcfa_la_LIBADD = 139 am__libcfa_la_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \ 140 bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \ 141 fstream.cfa iostream.cfa iterator.cfa limits.cfa rational.cfa \ 142 time.cfa stdlib.cfa common.cfa containers/maybe.cfa \ 143 containers/pair.cfa containers/result.cfa \ 144 containers/vector.cfa concurrency/coroutine.cfa \ 145 concurrency/thread.cfa concurrency/kernel.cfa \ 146 concurrency/monitor.cfa concurrency/mutex.cfa \ 147 concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 148 concurrency/invoke.c concurrency/preemption.cfa 132 LIBRARIES = $(lib_LIBRARIES) 133 AR = ar 134 AM_V_AR = $(am__v_AR_@AM_V@) 135 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) 136 am__v_AR_0 = @echo " AR " $@; 137 am__v_AR_1 = 138 libcfa_a_AR = $(AR) $(ARFLAGS) 139 libcfa_a_LIBADD = 149 140 am__dirstamp = $(am__leading_dot)dirstamp 150 @BUILDLIB_TRUE@am__objects_1 = fstream.lo iostream.lo iterator.lo \ 151 @BUILDLIB_TRUE@ limits.lo rational.lo time.lo stdlib.lo \ 152 @BUILDLIB_TRUE@ common.lo containers/maybe.lo \ 153 @BUILDLIB_TRUE@ containers/pair.lo containers/result.lo \ 154 @BUILDLIB_TRUE@ containers/vector.lo concurrency/coroutine.lo \ 155 @BUILDLIB_TRUE@ concurrency/thread.lo concurrency/kernel.lo \ 156 @BUILDLIB_TRUE@ concurrency/monitor.lo concurrency/mutex.lo 157 @BUILDLIB_TRUE@am__objects_2 = startup.lo interpose.lo bits/debug.lo \ 158 @BUILDLIB_TRUE@ assert.lo exception.lo virtual.lo heap.lo \ 159 @BUILDLIB_TRUE@ $(am__objects_1) \ 160 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.lo \ 161 @BUILDLIB_TRUE@ concurrency/alarm.lo concurrency/invoke.lo \ 162 @BUILDLIB_TRUE@ concurrency/preemption.lo 163 am_libcfa_la_OBJECTS = prelude.lo $(am__objects_2) 164 libcfa_la_OBJECTS = $(am_libcfa_la_OBJECTS) 165 AM_V_lt = $(am__v_lt_@AM_V@) 166 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 167 am__v_lt_0 = --silent 168 am__v_lt_1 = 169 libcfa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 170 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 171 $(libcfa_la_LDFLAGS) $(LDFLAGS) -o $@ 141 am__objects_1 = fstream.$(OBJEXT) iostream.$(OBJEXT) \ 142 iterator.$(OBJEXT) limits.$(OBJEXT) rational.$(OBJEXT) \ 143 time.$(OBJEXT) stdlib.$(OBJEXT) common.$(OBJEXT) \ 144 containers/maybe.$(OBJEXT) containers/pair.$(OBJEXT) \ 145 containers/result.$(OBJEXT) containers/vector.$(OBJEXT) \ 146 concurrency/coroutine.$(OBJEXT) concurrency/thread.$(OBJEXT) \ 147 concurrency/kernel.$(OBJEXT) concurrency/monitor.$(OBJEXT) \ 148 concurrency/mutex.$(OBJEXT) 149 am__objects_2 = prelude.$(OBJEXT) startup.$(OBJEXT) \ 150 interpose.$(OBJEXT) bits/debug.$(OBJEXT) assert.$(OBJEXT) \ 151 exception.$(OBJEXT) virtual.$(OBJEXT) heap.$(OBJEXT) \ 152 $(am__objects_1) \ 153 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \ 154 concurrency/alarm.$(OBJEXT) concurrency/invoke.$(OBJEXT) \ 155 concurrency/preemption.$(OBJEXT) 156 am_libcfa_a_OBJECTS = $(am__objects_2) 157 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS) 172 158 AM_V_P = $(am__v_P_@AM_V@) 173 159 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 183 169 am__v_at_1 = 184 170 DEFAULT_INCLUDES = -I.@am__isrc@ 185 depcomp = $(SHELL) $(top_srcdir)/ automake/depcomp171 depcomp = $(SHELL) $(top_srcdir)/./automake/depcomp 186 172 am__depfiles_maybe = depfiles 187 173 am__mv = mv -f 188 174 CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 189 175 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) 190 LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \191 $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \192 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \193 $(AM_CCASFLAGS) $(CCASFLAGS)194 176 AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) 195 177 am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) … … 198 180 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 199 181 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 200 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \201 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \202 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \203 $(AM_CFLAGS) $(CFLAGS)204 182 AM_V_CC = $(am__v_CC_@AM_V@) 205 183 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 207 185 am__v_CC_1 = 208 186 CCLD = $(CC) 209 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 210 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 211 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 187 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 212 188 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 213 189 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 214 190 am__v_CCLD_0 = @echo " CCLD " $@; 215 191 am__v_CCLD_1 = 216 SOURCES = $(libcfa_ la_SOURCES)217 DIST_SOURCES = $( am__libcfa_la_SOURCES_DIST)192 SOURCES = $(libcfa_a_SOURCES) 193 DIST_SOURCES = $(libcfa_a_SOURCES) 218 194 am__can_run_installinfo = \ 219 195 case $$AM_UPDATE_INFO_DIR in \ … … 221 197 *) (install-info --version) >/dev/null 2>&1;; \ 222 198 esac 223 am__nobase_cfa_include_HEADERS_DIST = $(shell find $(srcdir)/stdhdr \224 -type f -printf "%p ") fstream.hfa iostream.hfa iterator.hfa \225 limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \226 containers/maybe.hfa containers/pair.hfa containers/result.hfa \227 containers/vector.hfa concurrency/coroutine.hfa \228 concurrency/thread.hfa concurrency/kernel.hfa \229 concurrency/monitor.hfa concurrency/mutex.hfa math.hfa gmp.hfa \230 time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa \231 bits/debug.hfa bits/locks.hfa concurrency/invoke.h232 199 HEADERS = $(nobase_cfa_include_HEADERS) 233 200 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) … … 251 218 CTAGS = ctags 252 219 am__DIST_COMMON = $(srcdir)/../../src/cfa.make $(srcdir)/Makefile.in \ 253 $(top_srcdir)/ automake/depcomp220 $(top_srcdir)/./automake/depcomp 254 221 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 255 VPATH = @srcdir@ :../prelude256 222 ACLOCAL = @ACLOCAL@ 257 223 AMTAR = @AMTAR@ 258 224 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 259 AR = @AR@260 225 ARCHITECTURE = @ARCHITECTURE@ 261 226 ARCH_FLAGS = @ARCH_FLAGS@ … … 276 241 CFA_NAME = @CFA_NAME@ 277 242 CFA_PREFIX = @CFA_PREFIX@ 278 CFA_VERSION = @CFA_VERSION@279 243 CFLAGS = @CFLAGS@ 280 244 CONFIGURATION = @CONFIGURATION@ 281 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@282 245 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 283 246 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 284 CPP = @CPP@285 247 CPPFLAGS = @CPPFLAGS@ 286 248 CXX = @CXX@ 287 CXXCPP = @CXXCPP@288 249 CXXDEPMODE = @CXXDEPMODE@ 289 250 CXXFLAGS = @CXXFLAGS@ … … 291 252 DEFS = @DEFS@ 292 253 DEPDIR = @DEPDIR@ 293 DLLTOOL = @DLLTOOL@294 254 DRIVER_DIR = @DRIVER_DIR@ 295 DSYMUTIL = @DSYMUTIL@296 DUMPBIN = @DUMPBIN@297 255 ECHO_C = @ECHO_C@ 298 256 ECHO_N = @ECHO_N@ 299 257 ECHO_T = @ECHO_T@ 300 EGREP = @EGREP@301 258 EXEEXT = @EXEEXT@ 302 FGREP = @FGREP@303 GREP = @GREP@304 259 INSTALL = @INSTALL@ 305 260 INSTALL_DATA = @INSTALL_DATA@ … … 307 262 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 308 263 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 309 LD = @LD@310 264 LDFLAGS = @LDFLAGS@ 311 265 LIBOBJS = @LIBOBJS@ 312 266 LIBS = @LIBS@ 313 LIBTOOL = @LIBTOOL@314 LIPO = @LIPO@315 LN_S = @LN_S@316 267 LTLIBOBJS = @LTLIBOBJS@ 317 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@318 268 MAKEINFO = @MAKEINFO@ 319 MANIFEST_TOOL = @MANIFEST_TOOL@320 269 MKDIR_P = @MKDIR_P@ 321 NM = @NM@322 NMEDIT = @NMEDIT@323 OBJDUMP = @OBJDUMP@324 270 OBJEXT = @OBJEXT@ 325 OTOOL = @OTOOL@326 OTOOL64 = @OTOOL64@327 271 PACKAGE = @PACKAGE@ 328 272 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 334 278 PATH_SEPARATOR = @PATH_SEPARATOR@ 335 279 RANLIB = @RANLIB@ 336 SED = @SED@337 280 SET_MAKE = @SET_MAKE@ 338 281 SHELL = @SHELL@ … … 343 286 abs_top_builddir = @abs_top_builddir@ 344 287 abs_top_srcdir = @abs_top_srcdir@ 345 ac_ct_AR = @ac_ct_AR@346 288 ac_ct_CC = @ac_ct_CC@ 347 289 ac_ct_CXX = @ac_ct_CXX@ 348 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@349 290 am__include = @am__include@ 350 291 am__leading_dot = @am__leading_dot@ … … 353 294 am__untar = @am__untar@ 354 295 bindir = @bindir@ 355 build = @build@356 296 build_alias = @build_alias@ 357 build_cpu = @build_cpu@358 build_os = @build_os@359 build_vendor = @build_vendor@360 297 builddir = @builddir@ 361 298 datadir = @datadir@ … … 364 301 dvidir = @dvidir@ 365 302 exec_prefix = @exec_prefix@ 366 host = @host@367 303 host_alias = @host_alias@ 368 host_cpu = @host_cpu@369 host_os = @host_os@370 host_vendor = @host_vendor@371 304 htmldir = @htmldir@ 372 305 includedir = @includedir@ … … 395 328 396 329 # create object files in directory with source files 397 AUTOMAKE_OPTIONS = foreignsubdir-objects398 A CLOCAL_AMFLAGS = -I automake330 AUTOMAKE_OPTIONS = subdir-objects 331 ARFLAGS = cr 399 332 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 400 LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \401 $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \402 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \403 $(AM_CFLAGS) $(CFLAGS)404 405 333 AM_V_CFA = $(am__v_CFA_@AM_V@) 406 334 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 407 335 am__v_CFA_0 = @echo " CFA " $@; 408 336 am__v_CFA_1 = 409 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 410 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 411 am__v_JAVAC_0 = @echo " JAVAC " $@; 412 am__v_JAVAC_1 = 413 AM_V_GOC = $(am__v_GOC_@AM_V@) 414 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 415 am__v_GOC_0 = @echo " GOC " $@; 416 am__v_GOC_1 = 417 UPPCC = u++ 418 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 419 AM_V_UPP = $(am__v_UPP_@AM_V@) 420 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 421 am__v_UPP_0 = @echo " UPP " $@; 422 am__v_UPP_1 = 423 lib_LTLIBRARIES = libcfa.la 337 lib_LIBRARIES = libcfa.a 424 338 425 339 # AM_CFLAGS for all cfa source … … 427 341 # use -no-include-stdhdr to prevent rebuild cycles 428 342 # The built sources must not depend on the installed headers 429 AM_CFAFLAGS = -quiet -in-tree - I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@430 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC@ARCH_FLAGS@ @CONFIG_CFLAGS@343 AM_CFAFLAGS = -quiet -in-tree -imacros prelude.c -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 344 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 431 345 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 432 @BUILDLIB_FALSE@headers_nosrc =433 346 434 347 #---------------------------------------------------------------------------------------------------------------- 435 348 436 349 # not all platforms support concurrency, add option do disable it 437 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \ 438 @BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \ 439 @BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \ 440 @BUILDLIB_TRUE@ concurrency/invoke.h 441 @BUILDLIB_FALSE@headers = 442 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \ 443 @BUILDLIB_TRUE@ limits.hfa rational.hfa time.hfa stdlib.hfa \ 444 @BUILDLIB_TRUE@ common.hfa containers/maybe.hfa \ 445 @BUILDLIB_TRUE@ containers/pair.hfa containers/result.hfa \ 446 @BUILDLIB_TRUE@ containers/vector.hfa concurrency/coroutine.hfa \ 447 @BUILDLIB_TRUE@ concurrency/thread.hfa concurrency/kernel.hfa \ 448 @BUILDLIB_TRUE@ concurrency/monitor.hfa concurrency/mutex.hfa 449 @BUILDLIB_FALSE@libsrc = 350 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa \ 351 rational.hfa time.hfa stdlib.hfa common.hfa \ 352 containers/maybe.hfa containers/pair.hfa containers/result.hfa \ 353 containers/vector.hfa concurrency/coroutine.hfa \ 354 concurrency/thread.hfa concurrency/kernel.hfa \ 355 concurrency/monitor.hfa concurrency/mutex.hfa 356 libobjs = ${headers:.hfa=.o} 450 357 451 358 # not all platforms support concurrency, add option do disable it 452 @BUILDLIB_TRUE@libsrc = startup.cfa interpose.cfa bits/debug.cfa \ 453 @BUILDLIB_TRUE@ assert.cfa exception.c virtual.c heap.cfa \ 454 @BUILDLIB_TRUE@ ${headers:.hfa=.cfa} \ 455 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.S \ 456 @BUILDLIB_TRUE@ concurrency/alarm.cfa concurrency/invoke.c \ 457 @BUILDLIB_TRUE@ concurrency/preemption.cfa 458 459 #---------------------------------------------------------------------------------------------------------------- 460 # add dependency to cfa-cpp so all libraries are rebuilt with new translator 461 #@CFACC@ @CFACPP@ prelude.cfa 462 463 # add dependency of cfa files 464 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 465 466 # .deps inclusion is not done automatically by automake for new languages 467 libdeps = $(join \ 468 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 469 $(notdir ${libobjs:.lo=.Plo}) \ 470 ) 471 472 473 #---------------------------------------------------------------------------------------------------------------- 474 libcfa_la_SOURCES = prelude.cfa ${libsrc} 475 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 476 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 359 libsrc = prelude.c startup.cfa interpose.cfa bits/debug.cfa assert.cfa \ 360 exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} \ 361 concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 362 concurrency/invoke.c concurrency/preemption.cfa 363 libcfa_a_SOURCES = ${libsrc} 364 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "} 477 365 cfa_includedir = $(CFA_INCDIR) 478 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 366 nobase_cfa_include_HEADERS = \ 367 ${headers} \ 368 ${stdhdr} \ 369 math.hfa \ 370 gmp.hfa \ 371 time_t.hfa \ 372 bits/align.hfa \ 373 bits/containers.hfa \ 374 bits/defs.hfa \ 375 bits/debug.hfa \ 376 bits/locks.hfa \ 377 concurrency/invoke.h 378 379 MOSTLYCLEANFILES = prelude.c 479 380 all: all-am 480 381 481 382 .SUFFIXES: 482 .SUFFIXES: .S .c .cfa . lo .o .obj383 .SUFFIXES: .S .c .cfa .o .obj 483 384 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../../src/cfa.make $(am__configure_deps) 484 385 @for dep in $?; do \ … … 511 412 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 512 413 $(am__aclocal_m4_deps): 513 514 install-libLTLIBRARIES: $(lib_LTLIBRARIES) 414 install-libLIBRARIES: $(lib_LIBRARIES) 515 415 @$(NORMAL_INSTALL) 516 @list='$(lib_L TLIBRARIES)'; test -n "$(libdir)" || list=; \416 @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ 517 417 list2=; for p in $$list; do \ 518 418 if test -f $$p; then \ … … 523 423 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ 524 424 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ 525 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ 526 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ 527 } 528 529 uninstall-libLTLIBRARIES: 425 echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ 426 $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } 427 @$(POST_INSTALL) 428 @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ 429 for p in $$list; do \ 430 if test -f $$p; then \ 431 $(am__strip_dir) \ 432 echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ 433 ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ 434 else :; fi; \ 435 done 436 437 uninstall-libLIBRARIES: 530 438 @$(NORMAL_UNINSTALL) 531 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 532 for p in $$list; do \ 533 $(am__strip_dir) \ 534 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ 535 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ 536 done 537 538 clean-libLTLIBRARIES: 539 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) 540 @list='$(lib_LTLIBRARIES)'; \ 541 locs=`for p in $$list; do echo $$p; done | \ 542 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ 543 sort -u`; \ 544 test -z "$$locs" || { \ 545 echo rm -f $${locs}; \ 546 rm -f $${locs}; \ 547 } 439 @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ 440 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 441 dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) 442 443 clean-libLIBRARIES: 444 -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) 548 445 bits/$(am__dirstamp): 549 446 @$(MKDIR_P) bits … … 552 449 @$(MKDIR_P) bits/$(DEPDIR) 553 450 @: > bits/$(DEPDIR)/$(am__dirstamp) 554 bits/debug.lo: bits/$(am__dirstamp) bits/$(DEPDIR)/$(am__dirstamp) 451 bits/debug.$(OBJEXT): bits/$(am__dirstamp) \ 452 bits/$(DEPDIR)/$(am__dirstamp) 555 453 containers/$(am__dirstamp): 556 454 @$(MKDIR_P) containers … … 559 457 @$(MKDIR_P) containers/$(DEPDIR) 560 458 @: > containers/$(DEPDIR)/$(am__dirstamp) 561 containers/maybe. lo: containers/$(am__dirstamp) \459 containers/maybe.$(OBJEXT): containers/$(am__dirstamp) \ 562 460 containers/$(DEPDIR)/$(am__dirstamp) 563 containers/pair. lo: containers/$(am__dirstamp) \461 containers/pair.$(OBJEXT): containers/$(am__dirstamp) \ 564 462 containers/$(DEPDIR)/$(am__dirstamp) 565 containers/result. lo: containers/$(am__dirstamp) \463 containers/result.$(OBJEXT): containers/$(am__dirstamp) \ 566 464 containers/$(DEPDIR)/$(am__dirstamp) 567 containers/vector. lo: containers/$(am__dirstamp) \465 containers/vector.$(OBJEXT): containers/$(am__dirstamp) \ 568 466 containers/$(DEPDIR)/$(am__dirstamp) 569 467 concurrency/$(am__dirstamp): … … 573 471 @$(MKDIR_P) concurrency/$(DEPDIR) 574 472 @: > concurrency/$(DEPDIR)/$(am__dirstamp) 575 concurrency/coroutine. lo: concurrency/$(am__dirstamp) \473 concurrency/coroutine.$(OBJEXT): concurrency/$(am__dirstamp) \ 576 474 concurrency/$(DEPDIR)/$(am__dirstamp) 577 concurrency/thread. lo: concurrency/$(am__dirstamp) \475 concurrency/thread.$(OBJEXT): concurrency/$(am__dirstamp) \ 578 476 concurrency/$(DEPDIR)/$(am__dirstamp) 579 concurrency/kernel. lo: concurrency/$(am__dirstamp) \477 concurrency/kernel.$(OBJEXT): concurrency/$(am__dirstamp) \ 580 478 concurrency/$(DEPDIR)/$(am__dirstamp) 581 concurrency/monitor. lo: concurrency/$(am__dirstamp) \479 concurrency/monitor.$(OBJEXT): concurrency/$(am__dirstamp) \ 582 480 concurrency/$(DEPDIR)/$(am__dirstamp) 583 concurrency/mutex. lo: concurrency/$(am__dirstamp) \481 concurrency/mutex.$(OBJEXT): concurrency/$(am__dirstamp) \ 584 482 concurrency/$(DEPDIR)/$(am__dirstamp) 585 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \ 483 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT): \ 484 concurrency/$(am__dirstamp) \ 586 485 concurrency/$(DEPDIR)/$(am__dirstamp) 587 concurrency/alarm. lo: concurrency/$(am__dirstamp) \486 concurrency/alarm.$(OBJEXT): concurrency/$(am__dirstamp) \ 588 487 concurrency/$(DEPDIR)/$(am__dirstamp) 589 concurrency/invoke. lo: concurrency/$(am__dirstamp) \488 concurrency/invoke.$(OBJEXT): concurrency/$(am__dirstamp) \ 590 489 concurrency/$(DEPDIR)/$(am__dirstamp) 591 concurrency/preemption. lo: concurrency/$(am__dirstamp) \490 concurrency/preemption.$(OBJEXT): concurrency/$(am__dirstamp) \ 592 491 concurrency/$(DEPDIR)/$(am__dirstamp) 593 492 594 libcfa.la: $(libcfa_la_OBJECTS) $(libcfa_la_DEPENDENCIES) $(EXTRA_libcfa_la_DEPENDENCIES) 595 $(AM_V_CCLD)$(libcfa_la_LINK) -rpath $(libdir) $(libcfa_la_OBJECTS) $(libcfa_la_LIBADD) $(LIBS) 493 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 494 $(AM_V_at)-rm -f libcfa.a 495 $(AM_V_AR)$(libcfa_a_AR) libcfa.a $(libcfa_a_OBJECTS) $(libcfa_a_LIBADD) 496 $(AM_V_at)$(RANLIB) libcfa.a 596 497 597 498 mostlyclean-compile: 598 499 -rm -f *.$(OBJEXT) 599 500 -rm -f bits/*.$(OBJEXT) 600 -rm -f bits/*.lo601 501 -rm -f concurrency/*.$(OBJEXT) 602 -rm -f concurrency/*.lo603 502 -rm -f containers/*.$(OBJEXT) 604 -rm -f containers/*.lo605 503 606 504 distclean-compile: 607 505 -rm -f *.tab.c 608 506 609 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ 610 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Plo@am__quote@ 611 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Plo@am__quote@ 612 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Plo@am__quote@ 507 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Po@am__quote@ 508 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prelude.Po@am__quote@ 509 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Po@am__quote@ 510 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Po@am__quote@ 511 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Po@am__quote@ 613 512 614 513 .S.o: … … 628 527 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 629 528 630 .S.lo:631 @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\632 @am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\633 @am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo634 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@635 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@636 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<637 638 529 .c.o: 639 530 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ … … 651 542 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 652 543 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 653 654 .c.lo:655 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\656 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\657 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo658 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@659 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@660 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<661 662 mostlyclean-libtool:663 -rm -f *.lo664 665 clean-libtool:666 -rm -rf .libs _libs667 -rm -rf bits/.libs bits/_libs668 -rm -rf concurrency/.libs concurrency/_libs669 -rm -rf containers/.libs containers/_libs670 544 install-nobase_cfa_includeHEADERS: $(nobase_cfa_include_HEADERS) 671 545 @$(NORMAL_INSTALL) … … 777 651 check-am: all-am 778 652 check: check-am 779 all-am: Makefile $(L TLIBRARIES) $(HEADERS)653 all-am: Makefile $(LIBRARIES) $(HEADERS) 780 654 installdirs: 781 655 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"; do \ … … 802 676 fi 803 677 mostlyclean-generic: 678 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) 804 679 805 680 clean-generic: … … 820 695 clean: clean-am 821 696 822 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ 823 mostlyclean-am 697 clean-am: clean-generic clean-libLIBRARIES mostlyclean-am 824 698 825 699 distclean: distclean-am … … 847 721 install-dvi-am: 848 722 849 install-exec-am: install-libL TLIBRARIES723 install-exec-am: install-libLIBRARIES 850 724 851 725 install-html: install-html-am … … 877 751 mostlyclean: mostlyclean-am 878 752 879 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 880 mostlyclean-libtool 753 mostlyclean-am: mostlyclean-compile mostlyclean-generic 881 754 882 755 pdf: pdf-am … … 888 761 ps-am: 889 762 890 uninstall-am: uninstall-libL TLIBRARIES \763 uninstall-am: uninstall-libLIBRARIES \ 891 764 uninstall-nobase_cfa_includeHEADERS 892 765 … … 894 767 895 768 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 896 clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ 897 ctags-am distclean distclean-compile distclean-generic \ 898 distclean-libtool distclean-tags distdir dvi dvi-am html \ 899 html-am info info-am install install-am install-data \ 900 install-data-am install-dvi install-dvi-am install-exec \ 901 install-exec-am install-html install-html-am install-info \ 902 install-info-am install-libLTLIBRARIES install-man \ 769 clean-libLIBRARIES cscopelist-am ctags ctags-am distclean \ 770 distclean-compile distclean-generic distclean-tags distdir dvi \ 771 dvi-am html html-am info info-am install install-am \ 772 install-data install-data-am install-dvi install-dvi-am \ 773 install-exec install-exec-am install-html install-html-am \ 774 install-info install-info-am install-libLIBRARIES install-man \ 903 775 install-nobase_cfa_includeHEADERS install-pdf install-pdf-am \ 904 776 install-ps install-ps-am install-strip installcheck \ 905 777 installcheck-am installdirs maintainer-clean \ 906 778 maintainer-clean-generic maintainer-clean-local mostlyclean \ 907 mostlyclean-compile mostlyclean-generic mostlyclean-libtool\908 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am\909 uninstall- libLTLIBRARIES uninstall-nobase_cfa_includeHEADERS779 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 780 tags tags-am uninstall uninstall-am uninstall-libLIBRARIES \ 781 uninstall-nobase_cfa_includeHEADERS 910 782 911 783 .PRECIOUS: Makefile 912 784 913 785 914 .cfa.o: 786 .cfa.o: $(CFACC) $(CFACPP) 915 787 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 916 788 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 917 789 $(am__mv) $$depbase.Tpo $$depbase.Po 918 790 919 .cfa.lo: 920 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 921 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 922 $(am__mv) $$depbase.Tpo $$depbase.Plo 923 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 924 925 -include $(libdeps) 926 927 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 928 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 929 930 prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 931 ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \ 932 @CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 791 #---------------------------------------------------------------------------------------------------------------- 792 # add dependency to cfa-cpp so all libraries are rebuilt with new translator 793 ${libobjs} : ${cfalib_DATA} 933 794 934 795 #---------------------------------------------------------------------------------------------------------------- … … 936 797 -rm -rf ${CFA_INCDIR} ${CFA_LIBDIR} 937 798 938 # $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\939 # $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\940 # $(am__mv) $$depbase.Tpo $$depbase.Po941 942 799 # Tell versions [3.59,3.63) of GNU make to not export all variables. 943 800 # Otherwise a system limit (for SysV at least) may be exceeded. -
libcfa/src/bits/locks.hfa
rcde3891 r9b086ca 37 37 #endif 38 38 39 #if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH ) 40 // Intel recommendation 41 #define __ALIGN__ __attribute__(( aligned (128) )) 42 #elif defined( __sparc ) 43 #define __ALIGN__ CALIGN 44 #else 45 #error unsupported architecture 46 #endif 47 39 48 struct __spinlock_t { 40 49 // Wrap in struct to prevent false sharing with debug info 41 volatile bool lock; 50 struct { 51 // Align lock on 128-bit boundary 52 __ALIGN__ volatile bool lock; 53 }; 42 54 #ifdef __CFA_DEBUG__ 43 55 // previous function to acquire the lock … … 46 58 void* prev_thrd; 47 59 #endif 48 } ;60 } __ALIGN__; 49 61 50 62 #ifdef __cforall -
libcfa/src/concurrency/coroutine.cfa
rcde3891 r9b086ca 22 22 #include <string.h> 23 23 #include <unistd.h> 24 // use this define to make unwind.h play nice, definetely a hack25 #define HIDE_EXPORTS26 #include <unwind.h>27 #undef HIDE_EXPORTS28 24 #include <sys/mman.h> 29 25 } … … 33 29 #define __CFA_INVOKE_PRIVATE__ 34 30 #include "invoke.h" 35 36 extern "C" {37 void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) __attribute__ ((__noreturn__));38 static void _CtxCoroutine_UnwindCleanup(_Unwind_Reason_Code, struct _Unwind_Exception *) __attribute__ ((__noreturn__));39 static void _CtxCoroutine_UnwindCleanup(_Unwind_Reason_Code, struct _Unwind_Exception *) {40 abort();41 }42 }43 31 44 32 //----------------------------------------------------------------------------- … … 79 67 starter = NULL; 80 68 last = NULL; 81 cancellation = NULL;82 69 } 83 70 84 void ^?{}(coroutine_desc& this) { 85 if(this.state != Halted && this.state != Start) { 86 coroutine_desc * src = TL_GET( this_coroutine ); 87 coroutine_desc * dst = &this; 88 89 struct _Unwind_Exception storage; 90 storage.exception_class = -1; 91 storage.exception_cleanup = _CtxCoroutine_UnwindCleanup; 92 this.cancellation = &storage; 93 this.last = src; 94 95 // not resuming self ? 96 if ( src == dst ) { 97 abort( "Attempt by coroutine %.256s (%p) to terminate itself.\n", src->name, src ); 98 } 99 100 CoroutineCtxSwitch( src, dst ); 101 } 102 } 71 void ^?{}(coroutine_desc& this) {} 103 72 104 73 // Part of the Public API … … 136 105 // Safety note : This could cause some false positives due to preemption 137 106 verify( TL_GET( preemption_state.enabled ) || TL_GET( this_processor )->do_terminate ); 138 139 if( unlikely(src->cancellation != NULL) ) {140 _CtxCoroutine_Unwind(src->cancellation);141 }142 107 } //ctxSwitchDirect 143 108 … … 197 162 } 198 163 199 void __leave_coroutine( ) {164 void __leave_coroutine(void) { 200 165 coroutine_desc * src = TL_GET( this_coroutine ); // optimization 201 coroutine_desc * starter = src->cancellation != 0 ? src->last : src->starter;202 166 203 src->state = Halted; 204 205 assertf( starter != 0, 167 assertf( src->starter != 0, 206 168 "Attempt to suspend/leave coroutine \"%.256s\" (%p) that has never been resumed.\n" 207 169 "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.", 208 170 src->name, src ); 209 assertf( s tarter->state != Halted,171 assertf( src->starter->state != Halted, 210 172 "Attempt by coroutine \"%.256s\" (%p) to suspend/leave back to terminated coroutine \"%.256s\" (%p).\n" 211 173 "Possible cause is terminated coroutine's main routine has already returned.", 212 src->name, src, s tarter->name,starter );174 src->name, src, src->starter->name, src->starter ); 213 175 214 CoroutineCtxSwitch( src, s tarter );176 CoroutineCtxSwitch( src, src->starter ); 215 177 } 216 178 } -
libcfa/src/concurrency/invoke.c
rcde3891 r9b086ca 17 17 #include <stdlib.h> 18 18 #include <stdio.h> 19 #include <unwind.h>20 19 21 20 #include "invoke.h" … … 51 50 main( this ); 52 51 52 cor->state = Halted; 53 53 54 //Final suspend, should never return 54 55 __leave_coroutine(); 55 56 __cabi_abort( "Resumed dead coroutine" ); 56 }57 58 static _Unwind_Reason_Code _CtxCoroutine_UnwindStop(59 __attribute((__unused__)) int version,60 _Unwind_Action actions,61 __attribute((__unused__)) _Unwind_Exception_Class exceptionClass,62 __attribute((__unused__)) struct _Unwind_Exception * unwind_exception,63 __attribute((__unused__)) struct _Unwind_Context * context,64 __attribute((__unused__)) void * param65 ) {66 if( actions & _UA_END_OF_STACK ) {67 // We finished unwinding the coroutine,68 // leave it69 __leave_coroutine();70 __cabi_abort( "Resumed dead coroutine" );71 }72 if( actions & _UA_CLEANUP_PHASE ) return _URC_NO_REASON;73 74 return _URC_FATAL_PHASE2_ERROR;75 }76 77 void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) __attribute__ ((__noreturn__));78 void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) {79 _Unwind_Reason_Code ret = _Unwind_ForcedUnwind( storage, _CtxCoroutine_UnwindStop, NULL );80 printf("UNWIND ERROR %d after force unwind\n", ret);81 abort();82 57 } 83 58 -
libcfa/src/concurrency/invoke.h
rcde3891 r9b086ca 59 59 volatile bool in_progress; 60 60 } preemption_state; 61 } kernelTLS __attribute__ ((tls_model ( "initial-exec" )));61 } kernelTLS; 62 62 } 63 63 … … 80 80 81 81 struct coroutine_desc { 82 // stack information of the coroutine 83 struct coStack_t stack; 84 85 // textual name for coroutine/task, initialized by uC++ generated code 86 const char * name; 87 88 // copy of global UNIX variable errno 89 int errno_; 90 91 // current execution status for coroutine 92 enum coroutine_state state; 93 // first coroutine to resume this one 94 struct coroutine_desc * starter; 95 96 // last coroutine to resume this one 97 struct coroutine_desc * last; 98 99 // If non-null stack must be unwound with this exception 100 struct _Unwind_Exception * cancellation; 101 102 }; 103 104 // struct which calls the monitor is accepting 82 struct coStack_t stack; // stack information of the coroutine 83 const char * name; // textual name for coroutine/task, initialized by uC++ generated code 84 int errno_; // copy of global UNIX variable errno 85 enum coroutine_state state; // current execution status for coroutine 86 struct coroutine_desc * starter; // first coroutine to resume this one 87 struct coroutine_desc * last; // last coroutine to resume this one 88 }; 89 105 90 struct __waitfor_mask_t { 106 91 // the index of the accepted function, -1 if none -
libcfa/src/concurrency/kernel.cfa
rcde3891 r9b086ca 57 57 //----------------------------------------------------------------------------- 58 58 // Global state 59 thread_local struct KernelThreadData kernelTLS __attribute__ ((tls_model ( "initial-exec" )))= {59 thread_local struct KernelThreadData kernelTLS = { 60 60 NULL, 61 61 NULL, -
libcfa/src/concurrency/kernel_private.hfa
rcde3891 r9b086ca 79 79 }; 80 80 81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state __attribute__ ((tls_model ( "initial-exec" )));81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state; 82 82 83 83 //----------------------------------------------------------------------------- -
libcfa/src/exception.c
rcde3891 r9b086ca 246 246 } 247 247 248 #if defined(PIC)249 #warning Exceptions not yet supported when using Position-Independent Code250 __attribute__((noinline))251 void __cfaabi_ehm__try_terminate(void (*try_block)(),252 void (*catch_block)(int index, exception_t * except),253 __attribute__((unused)) int (*match_block)(exception_t * except)) {254 abort();255 }256 #else257 248 // This is our personality routine. For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0". 258 249 // This function will be called twice when unwinding. Once in the search phased and once in the cleanup phase. … … 486 477 ); 487 478 #endif // __i386 || __x86_64 488 #endif //PIC -
libcfa/src/fstream.cfa
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Dec 24 18:33:38201813 // Update Count : 30412 // Last Modified On : Fri Aug 10 18:19:40 2018 13 // Update Count : 284 14 14 // 15 15 … … 20 20 #include <stdarg.h> // varargs 21 21 #include <string.h> // strlen 22 #include <stdbool.h> // true/false 22 23 #include <float.h> // DBL_DIG, LDBL_DIG 23 24 #include <complex.h> // creal, cimag … … 26 27 #define IO_MSG "I/O error: " 27 28 28 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, bool nlOnOff, bool prt,const char * separator, const char * tupleSeparator ) {29 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, const char * separator, const char * tupleSeparator ) { 29 30 os.file = file; 30 31 os.sepDefault = sepDefault; 31 32 os.sepOnOff = sepOnOff; 32 os.nlOnOff = nlOnOff;33 os.prt = prt;34 33 sepSet( os, separator ); 35 34 sepSetCur( os, sepGet( os ) ); … … 45 44 bool getNL( ofstream & os ) { return os.sawNL; } 46 45 void setNL( ofstream & os, bool state ) { os.sawNL = state; } 47 bool getANL( ofstream & os ) { return os.nlOnOff; }48 bool getPrt( ofstream & os ) { return os.prt; }49 void setPrt( ofstream & os, bool state ) { os.prt = state; }50 46 51 47 // public … … 76 72 } // sepEnable 77 73 78 void nlOn( ofstream & os ) { os.nlOnOff = true; }79 void nlOff( ofstream & os ) { os.nlOnOff = false; }80 81 74 const char * sepGet( ofstream & os ) { return os.separator; } 82 75 void sepSet( ofstream & os, const char * s ) { … … 110 103 } // if 111 104 #endif // __CFA_DEBUG__ 112 (os){ file, true, false, true, false," ", ", " };105 (os){ file, true, false, " ", ", " }; 113 106 } // open 114 107 … … 150 143 va_end( args ); 151 144 152 setPrt( os, true ); // called in output cascade153 145 sepReset( os ); // reset separator 154 146 return len; 155 147 } // fmt 156 148 157 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, true, false," ", ", " };149 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, " ", ", " }; 158 150 ofstream & sout = soutFile; 159 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, true, false," ", ", " };151 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, " ", ", " }; 160 152 ofstream & serr = serrFile; 161 153 -
libcfa/src/fstream.hfa
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Dec 24 18:33:41201813 // Update Count : 1 4912 // Last Modified On : Sat Aug 11 13:54:27 2018 13 // Update Count : 132 14 14 // 15 15 … … 23 23 bool sepDefault; 24 24 bool sepOnOff; 25 bool nlOnOff;26 bool prt; // print text27 25 bool sawNL; 28 26 const char * sepCur; … … 39 37 bool getNL( ofstream & ); 40 38 void setNL( ofstream &, bool ); 41 bool getANL( ofstream & );42 bool getPrt( ofstream & );43 void setPrt( ofstream &, bool );44 39 45 40 // public … … 48 43 bool sepDisable( ofstream & ); 49 44 bool sepEnable( ofstream & ); 50 void nlOn( ofstream & );51 void nlOff( ofstream & );52 45 53 46 const char * sepGet( ofstream & ); … … 62 55 void close( ofstream & ); 63 56 ofstream & write( ofstream &, const char * data, size_t size ); 64 int fmt( ofstream &, const char f ormat[], ... );57 int fmt( ofstream &, const char fmt[], ... ); 65 58 66 59 void ?{}( ofstream & os ); … … 83 76 ifstream & read( ifstream & is, char * data, size_t size ); 84 77 ifstream & ungetc( ifstream & is, char c ); 85 int fmt( ifstream &, const char f ormat[], ... );78 int fmt( ifstream &, const char fmt[], ... ); 86 79 87 80 void ?{}( ifstream & is ); -
libcfa/src/gmp.hfa
rcde3891 r9b086ca 10 10 // Created On : Tue Apr 19 08:43:43 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 4 23:25:51 201813 // Update Count : 2 212 // Last Modified On : Thu Dec 7 09:10:41 2017 13 // Update Count : 21 14 14 // 15 15 … … 262 262 } // ?|? 263 263 264 static inline forall( dtype ostype | ostream( ostype ) ) { 265 ostype & ?|?( ostype & os, Int mp ) { 266 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 267 gmp_printf( "%Zd", mp.mpz ); 268 sepOn( os ); 269 return os; 270 } // ?|? 271 272 void ?|?( ostype & os, Int mp ) { 273 (ostype)(os | mp); if ( getANL( os ) ) nl( os ); 274 } // ?|? 275 } // distribution 264 static inline forall( dtype ostype | ostream( ostype ) ) 265 ostype & ?|?( ostype & os, Int mp ) { 266 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 267 gmp_printf( "%Zd", mp.mpz ); 268 sepOn( os ); 269 return os; 270 } // ?|? 276 271 277 272 // Local Variables: // -
libcfa/src/heap.cfa
rcde3891 r9b086ca 1 // #comment TD : this file uses both spaces and tabs for indentation 2 1 3 // 2 4 // Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo … … 10 12 // Created On : Tue Dec 19 21:58:35 2017 11 13 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Sep 6 09:01:30201813 // Update Count : 51314 // Last Modified On : Sat Aug 11 08:22:16 2018 15 // Update Count : 495 14 16 // 15 17 … … 23 25 24 26 // #comment TD : Many of these should be merged into math I believe 25 #include "bits/align.hfa" // libPow226 #include "bits/defs.hfa" // likely, unlikely27 #include "bits/locks.hfa" // __spinlock_t27 #include "bits/align.hfa" // libPow2 28 #include "bits/defs.hfa" // likely, unlikely 29 #include "bits/locks.hfa" // __spinlock_t 28 30 #include "startup.hfa" // STARTUP_PRIORITY_MEMORY 29 #include "stdlib.hfa" // bsearchl31 #include "stdlib.hfa" // bsearchl 30 32 #include "malloc.h" 31 33 … … 149 151 150 152 extern "C" { 151 void heapAppStart() {// called by __cfaabi_appready_startup152 allocFree = 0;153 } // heapAppStart154 155 void heapAppStop() {// called by __cfaabi_appready_startdown156 fclose( stdin ); fclose( stdout );157 checkUnfreed();158 } // heapAppStop153 void heapAppStart() { // called by __cfaabi_appready_startup 154 allocFree = 0; 155 } // heapAppStart 156 157 void heapAppStop() { // called by __cfaabi_appready_startdown 158 fclose( stdin ); fclose( stdout ); 159 checkUnfreed(); 160 } // heapAppStop 159 161 } // extern "C" 160 162 #endif // __CFA_DEBUG__ … … 165 167 166 168 struct Storage { 167 struct Header { // header169 struct Header { // header 168 170 union Kind { 169 171 struct RealHeader { 170 172 union { 171 struct { // 4-byte word => 8-byte header, 8-byte word => 16-byte header 173 // #comment TD : this code use byte size but the comment uses bit size 174 175 struct { // 32-bit word => 64-bit header, 64-bit word => 128-bit header 172 176 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_POINTER__ == 4 173 177 uint32_t padding; // unused, force home/blocksize to overlay alignment in fake header 174 #endif // __ BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_POINTER__ == 4178 #endif // __ORDER_BIG_ENDIAN__ && __U_WORDSIZE__ == 32 175 179 176 180 union { … … 185 189 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_POINTER__ == 4 186 190 uint32_t padding; // unused, force home/blocksize to overlay alignment in fake header 187 #endif // __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_POINTER__ == 4 191 #endif // __ORDER_LITTLE_ENDIAN__ && __U_WORDSIZE__ == 32 192 188 193 }; 189 // future code 194 195 // #comment TD : C++ code 190 196 #if BUCKLOCK == LOCKFREE 191 197 Stack<Storage>::Link next; // freed block points next freed block of same size (double-wide) … … 205 211 } fake; // FakeHeader 206 212 } kind; // Kind 207 } header; // Header208 char pad[ALIGN - sizeof( Header )];209 char data[0]; // storage213 } header; // Header 214 char pad[ALIGN - sizeof( Header )]; 215 char data[0]; // storage 210 216 }; // Storage 211 217 … … 214 220 struct FreeHeader { 215 221 #if BUCKLOCK == SPINLOCK 216 __spinlock_t lock; // must be first field for alignment217 Storage * freeList;222 __spinlock_t lock; // must be first field for alignment 223 Storage * freeList; 218 224 #elif BUCKLOCK == LOCKFREE 219 // futurecode220 StackLF<Storage> freeList;225 // #comment TD : C++ code 226 StackLF<Storage> freeList; 221 227 #else 222 #error undefined lock type for bucket lock228 #error undefined lock type for bucket lock 223 229 #endif // SPINLOCK 224 size_t blockSize; // size of allocations on this list230 size_t blockSize; // size of allocations on this list 225 231 }; // FreeHeader 226 232 … … 243 249 static unsigned int maxBucketsUsed; // maximum number of buckets in use 244 250 251 // #comment TD : This array is not const but it feels like it should be 245 252 // Powers of 2 are common allocation sizes, so make powers of 2 generate the minimum required size. 246 static const unsigned int bucketSizes[NoBucketSizes] @= {// different bucket sizes253 static unsigned int bucketSizes[NoBucketSizes] @= { // different bucket sizes 247 254 16, 32, 48, 64, 248 255 64 + sizeof(HeapManager.Storage), 96, 112, 128, 128 + sizeof(HeapManager.Storage), 160, 192, 224, … … 272 279 // #comment TD : The return type of this function should be commented 273 280 static inline bool setMmapStart( size_t value ) { 274 if ( value < pageSize || bucketSizes[NoBucketSizes - 1] < value ) return true;281 if ( value < pageSize || bucketSizes[NoBucketSizes - 1] < value ) return true; 275 282 mmapStart = value; // set global 276 283 … … 306 313 sbrk( (char *)libCeiling( (long unsigned int)End, libAlign() ) - End ); // move start of heap to multiple of alignment 307 314 heapBegin = heapEnd = sbrk( 0 ); // get new start point 308 } // HeapManager315 } // HeapManager 309 316 310 317 … … 316 323 // } // if 317 324 #endif // __STATISTICS__ 318 } // ~HeapManager325 } // ~HeapManager 319 326 320 327 … … 322 329 void memory_startup( void ) { 323 330 #ifdef __CFA_DEBUG__ 324 if ( unlikely( heapBoot ) ) { // check for recursion during system boot331 if ( unlikely( heapBoot ) ) { // check for recursion during system boot 325 332 // DO NOT USE STREAMS AS THEY MAY BE UNAVAILABLE AT THIS POINT. 326 333 abort( "boot() : internal error, recursively invoked during system boot." ); … … 329 336 #endif // __CFA_DEBUG__ 330 337 331 // assert( heapManager.heapBegin != 0 );332 //heapManager{};333 if ( heapManager.heapBegin == 0 )heapManager{};338 // #comment TD : This assertion seems redundent with the above code 339 assert( heapManager.heapBegin == 0 ); 340 heapManager{}; 334 341 } // memory_startup 335 342 … … 367 374 char helpText[512]; 368 375 __cfaabi_dbg_bits_print_buffer( helpText, sizeof(helpText), 369 "\nHeap statistics:\n"370 " malloc: calls %u / storage %llu\n"371 " calloc: calls %u / storage %llu\n"372 " memalign: calls %u / storage %llu\n"373 " cmemalign: calls %u / storage %llu\n"374 " realloc: calls %u / storage %llu\n"375 " free: calls %u / storage %llu\n"376 " mmap: calls %u / storage %llu\n"377 " munmap: calls %u / storage %llu\n"378 " sbrk: calls %u / storage %llu\n",379 malloc_calls, malloc_storage,380 calloc_calls, calloc_storage,381 memalign_calls, memalign_storage,382 cmemalign_calls, cmemalign_storage,383 realloc_calls, realloc_storage,384 free_calls, free_storage,385 mmap_calls, mmap_storage,386 munmap_calls, munmap_storage,387 sbrk_calls, sbrk_storage376 "\nHeap statistics:\n" 377 " malloc: calls %u / storage %llu\n" 378 " calloc: calls %u / storage %llu\n" 379 " memalign: calls %u / storage %llu\n" 380 " cmemalign: calls %u / storage %llu\n" 381 " realloc: calls %u / storage %llu\n" 382 " free: calls %u / storage %llu\n" 383 " mmap: calls %u / storage %llu\n" 384 " munmap: calls %u / storage %llu\n" 385 " sbrk: calls %u / storage %llu\n", 386 malloc_calls, malloc_storage, 387 calloc_calls, calloc_storage, 388 memalign_calls, memalign_storage, 389 cmemalign_calls, cmemalign_storage, 390 realloc_calls, realloc_storage, 391 free_calls, free_storage, 392 mmap_calls, mmap_storage, 393 munmap_calls, munmap_storage, 394 sbrk_calls, sbrk_storage 388 395 ); 389 396 } // printStats 390 397 391 static int printStatsXML( FILE * stream ) { // see malloc_info 398 // #comment TD : Why do we have this? 399 static int printStatsXML( FILE * stream ) { 392 400 char helpText[512]; 393 401 int len = snprintf( helpText, sizeof(helpText), … … 423 431 static inline void noMemory() { 424 432 abort( "Heap memory exhausted at %zu bytes.\n" 425 "Possible cause is very large memory allocation and/or large amount of unfreed storage allocated by the program or system/library routines.",426 ((char *)(sbrk( 0 )) - (char *)(heapManager.heapBegin)) );433 "Possible cause is very large memory allocation and/or large amount of unfreed storage allocated by the program or system/library routines.", 434 ((char *)(sbrk( 0 )) - (char *)(heapManager.heapBegin)) ); 427 435 } // noMemory 428 436 … … 436 444 437 445 static inline bool setHeapExpand( size_t value ) { 438 if ( heapExpand < pageSize ) return true;446 if ( heapExpand < pageSize ) return true; 439 447 heapExpand = value; 440 448 return false; … … 445 453 if ( unlikely( check ) ) { // bad address ? 446 454 abort( "Attempt to %s storage %p with address outside the heap.\n" 447 "Possible cause is duplicate free on same block or overwriting of memory.",448 name, addr );455 "Possible cause is duplicate free on same block or overwriting of memory.", 456 name, addr ); 449 457 } // if 450 458 } // checkHeader … … 476 484 477 485 #ifdef __CFA_DEBUG__ 478 checkHeader( addr < heapBegin || header < (HeapManager.Storage.Header *)heapBegin, name, addr ); // bad low address ?486 checkHeader( addr < heapBegin || header < (HeapManager.Storage.Header *)heapBegin, name, addr ); // bad low address ? 479 487 #endif // __CFA_DEBUG__ 480 488 … … 482 490 // It's called as the first statement of both branches of the last if, with the same parameters in all cases 483 491 484 // header may be safe to dereference485 fakeHeader( header, size, alignment );492 // header may be safe to dereference 493 fakeHeader( header, size, alignment ); 486 494 #ifdef __CFA_DEBUG__ 487 checkHeader( header < (HeapManager.Storage.Header *)heapBegin || (HeapManager.Storage.Header *)heapEnd < header, name, addr ); // bad address ? (offset could be + or -)495 checkHeader( header < (HeapManager.Storage.Header *)heapBegin || (HeapManager.Storage.Header *)heapEnd < header, name, addr ); // bad address ? (offset could be + or -) 488 496 #endif // __CFA_DEBUG__ 489 497 490 freeElem = (HeapManager.FreeHeader *)((size_t)header->kind.real.home & -3);498 freeElem = (HeapManager.FreeHeader *)((size_t)header->kind.real.home & -3); 491 499 #ifdef __CFA_DEBUG__ 492 if ( freeElem < &freeLists[0] || &freeLists[NoBucketSizes] <= freeElem ) {493 abort( "Attempt to %s storage %p with corrupted header.\n"494 "Possible cause is duplicate free on same block or overwriting of header information.",495 name, addr );496 } // if500 if ( freeElem < &freeLists[0] || &freeLists[NoBucketSizes] <= freeElem ) { 501 abort( "Attempt to %s storage %p with corrupted header.\n" 502 "Possible cause is duplicate free on same block or overwriting of header information.", 503 name, addr ); 504 } // if 497 505 #endif // __CFA_DEBUG__ 498 size = freeElem->blockSize;499 return false;506 size = freeElem->blockSize; 507 return false; 500 508 } // headers 501 509 … … 513 521 return 0; 514 522 } // if 515 #ifdef __STATISTICS__523 #ifdef __STATISTICS__ 516 524 sbrk_calls += 1; 517 525 sbrk_storage += increase; 518 #endif // __STATISTICS__519 #ifdef __CFA_DEBUG__526 #endif // __STATISTICS__ 527 #ifdef __CFA_DEBUG__ 520 528 // Set new memory to garbage so subsequent uninitialized usages might fail. 521 529 memset( (char *)heapEnd + heapRemaining, '\377', increase ); 522 #endif // __CFA_DEBUG__530 #endif // __CFA_DEBUG__ 523 531 rem = heapRemaining + increase - size; 524 532 } // if … … 552 560 553 561 #if defined( SPINLOCK ) 554 lock( freeElem->lock __cfaabi_dbg_ctx2 );555 block = freeElem->freeList; // remove node from stack562 lock( freeElem->lock __cfaabi_dbg_ctx2 ); 563 block = freeElem->freeList; // remove node from stack 556 564 #else 557 block = freeElem->freeList.pop();565 block = freeElem->freeList.pop(); 558 566 #endif // SPINLOCK 559 567 if ( unlikely( block == 0 ) ) { // no free block ? … … 561 569 unlock( freeElem->lock ); 562 570 #endif // SPINLOCK 563 564 571 // Freelist for that size was empty, so carve it out of the heap if there's enough left, or get some more 565 572 // and then carve it off. 566 573 567 574 block = (HeapManager.Storage *)extend( tsize ); // mutual exclusion on call 568 if ( unlikely( block == 0 ) ) return 0;575 if ( unlikely( block == 0 ) ) return 0; 569 576 #if defined( SPINLOCK ) 570 577 } else { … … 575 582 576 583 block->header.kind.real.home = freeElem; // pointer back to free list of apropriate size 577 } else { // large size => mmap584 } else { // large size => mmap 578 585 tsize = libCeiling( tsize, pageSize ); // must be multiple of page size 579 586 #ifdef __STATISTICS__ 580 __atomic_add_fetch( &mmap_calls, 1, __ATOMIC_SEQ_CST );581 __atomic_add_fetch( &mmap_storage, tsize, __ATOMIC_SEQ_CST );587 __atomic_add_fetch( &mmap_calls, 1, __ATOMIC_SEQ_CST ); 588 __atomic_add_fetch( &mmap_storage, tsize, __ATOMIC_SEQ_CST ); 582 589 #endif // __STATISTICS__ 583 590 block = (HeapManager.Storage *)mmap( 0, tsize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, mmapFd, 0 ); … … 586 593 abort( "(HeapManager &)0x%p.doMalloc() : internal error, mmap failure, size:%zu error:%d.", &heapManager, tsize, errno ); 587 594 } // if 588 #ifdef __CFA_DEBUG__595 #ifdef __CFA_DEBUG__ 589 596 // Set new memory to garbage so subsequent uninitialized usages might fail. 590 597 memset( block, '\377', tsize ); 591 #endif // __CFA_DEBUG__598 #endif // __CFA_DEBUG__ 592 599 block->header.kind.real.blockSize = tsize; // storage size for munmap 593 } // if594 595 void * area = &(block->data); // adjust off header to user bytes600 } // if 601 602 void * area = &(block->data); // adjust off header to user bytes 596 603 597 604 #ifdef __CFA_DEBUG__ 598 assert( ((uintptr_t)area & (libAlign() - 1)) == 0 ); // minimum alignment ?599 __atomic_add_fetch( &allocFree, tsize, __ATOMIC_SEQ_CST );600 if ( traceHeap() ) {601 enum { BufferSize = 64 };602 char helpText[BufferSize];603 int len = snprintf( helpText, BufferSize, "%p = Malloc( %zu ) (allocated %zu)\n", area, size, tsize );604 // int len = snprintf( helpText, BufferSize, "Malloc %p %zu\n", area, size );605 __cfaabi_dbg_bits_write( helpText, len );606 } // if605 assert( ((uintptr_t)area & (libAlign() - 1)) == 0 ); // minimum alignment ? 606 __atomic_add_fetch( &allocFree, tsize, __ATOMIC_SEQ_CST ); 607 if ( traceHeap() ) { 608 enum { BufferSize = 64 }; 609 char helpText[BufferSize]; 610 int len = snprintf( helpText, BufferSize, "%p = Malloc( %zu ) (allocated %zu)\n", area, size, tsize ); 611 // int len = snprintf( helpText, BufferSize, "Malloc %p %zu\n", area, size ); 612 __cfaabi_dbg_bits_write( helpText, len ); 613 } // if 607 614 #endif // __CFA_DEBUG__ 608 615 … … 613 620 static inline void doFree( void * addr ) with ( heapManager ) { 614 621 #ifdef __CFA_DEBUG__ 615 if ( unlikely( heapManager.heapBegin == 0 ) ) {616 abort( "doFree( %p ) : internal error, called before heap is initialized.", addr );617 } // if622 if ( unlikely( heapManager.heapBegin == 0 ) ) { 623 abort( "doFree( %p ) : internal error, called before heap is initialized.", addr ); 624 } // if 618 625 #endif // __CFA_DEBUG__ 619 626 … … 624 631 if ( headers( "free", addr, header, freeElem, size, alignment ) ) { // mmapped ? 625 632 #ifdef __STATISTICS__ 626 __atomic_add_fetch( &munmap_calls, 1, __ATOMIC_SEQ_CST );627 __atomic_add_fetch( &munmap_storage, size, __ATOMIC_SEQ_CST );633 __atomic_add_fetch( &munmap_calls, 1, __ATOMIC_SEQ_CST ); 634 __atomic_add_fetch( &munmap_storage, size, __ATOMIC_SEQ_CST ); 628 635 #endif // __STATISTICS__ 629 636 if ( munmap( header, size ) == -1 ) { 630 637 #ifdef __CFA_DEBUG__ 631 638 abort( "Attempt to deallocate storage %p not allocated or with corrupt header.\n" 632 "Possible cause is invalid pointer.",633 addr );639 "Possible cause is invalid pointer.", 640 addr ); 634 641 #endif // __CFA_DEBUG__ 635 642 } // if 636 } else {643 } else { 637 644 #ifdef __CFA_DEBUG__ 638 // Set free memory to garbage so subsequent usages might fail.639 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) );645 // Set free memory to garbage so subsequent usages might fail. 646 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 640 647 #endif // __CFA_DEBUG__ 641 648 642 649 #ifdef __STATISTICS__ 643 free_storage += size;650 free_storage += size; 644 651 #endif // __STATISTICS__ 645 652 #if defined( SPINLOCK ) 646 lock( freeElem->lock __cfaabi_dbg_ctx2 ); // acquire spin lock647 header->kind.real.next = freeElem->freeList; // push on stack648 freeElem->freeList = (HeapManager.Storage *)header;649 unlock( freeElem->lock ); // release spin lock653 lock( freeElem->lock __cfaabi_dbg_ctx2 ); // acquire spin lock 654 header->kind.real.next = freeElem->freeList; // push on stack 655 freeElem->freeList = (HeapManager.Storage *)header; 656 unlock( freeElem->lock ); // release spin lock 650 657 #else 651 freeElem->freeList.push( *(HeapManager.Storage *)header );658 freeElem->freeList.push( *(HeapManager.Storage *)header ); 652 659 #endif // SPINLOCK 653 } // if660 } // if 654 661 655 662 #ifdef __CFA_DEBUG__ 656 __atomic_add_fetch( &allocFree, -size, __ATOMIC_SEQ_CST );657 if ( traceHeap() ) {658 char helpText[64];659 int len = snprintf( helpText, sizeof(helpText), "Free( %p ) size:%zu\n", addr, size );660 __cfaabi_dbg_bits_write( helpText, len );661 } // if663 __atomic_add_fetch( &allocFree, -size, __ATOMIC_SEQ_CST ); 664 if ( traceHeap() ) { 665 char helpText[64]; 666 int len = snprintf( helpText, sizeof(helpText), "Free( %p ) size:%zu\n", addr, size ); 667 __cfaabi_dbg_bits_write( helpText, len ); 668 } // if 662 669 #endif // __CFA_DEBUG__ 663 670 } // doFree … … 667 674 size_t total = 0; 668 675 #ifdef __STATISTICS__ 669 __cfaabi_dbg_bits_acquire();670 __cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" );676 __cfaabi_dbg_bits_acquire(); 677 __cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" ); 671 678 #endif // __STATISTICS__ 672 679 for ( unsigned int i = 0; i < maxBucketsUsed; i += 1 ) { … … 688 695 689 696 #ifdef __STATISTICS__ 690 __cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N );691 if ( (i + 1) % 8 == 0 ) __cfaabi_dbg_bits_print_nolock( "\n" );697 __cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N ); 698 if ( (i + 1) % 8 == 0 ) __cfaabi_dbg_bits_print_nolock( "\n" ); 692 699 #endif // __STATISTICS__ 693 700 } // for 694 701 #ifdef __STATISTICS__ 695 __cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total );696 __cfaabi_dbg_bits_release();702 __cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total ); 703 __cfaabi_dbg_bits_release(); 697 704 #endif // __STATISTICS__ 698 705 return (char *)heapEnd - (char *)heapBegin - total; 699 706 } // checkFree 700 707 701 702 static inline void * mallocNoStats( size_t size ) { // necessary for malloc statistics 703 //assert( heapManager.heapBegin != 0 ); 704 if ( unlikely( heapManager.heapBegin == 0 ) ) heapManager{}; // called before memory_startup ? 708 // #comment TD : This is not a good name, plus this feels like it could easily be folded into doMalloc 709 static inline void * malloc2( size_t size ) { // necessary for malloc statistics 710 assert( heapManager.heapBegin != 0 ); 705 711 void * area = doMalloc( size ); 706 712 if ( unlikely( area == 0 ) ) errno = ENOMEM; // POSIX 707 713 return area; 708 } // malloc NoStats709 710 711 static inline void * memalign NoStats( size_t alignment, size_t size ) { // necessary for malloc statistics712 #ifdef __CFA_DEBUG__714 } // malloc2 715 716 717 static inline void * memalign2( size_t alignment, size_t size ) { // necessary for malloc statistics 718 #ifdef __CFA_DEBUG__ 713 719 checkAlign( alignment ); // check alignment 714 #endif // __CFA_DEBUG__720 #endif // __CFA_DEBUG__ 715 721 716 722 // if alignment <= default alignment, do normal malloc as two headers are unnecessary 717 if ( unlikely( alignment <= libAlign() ) ) return mallocNoStats( size );723 if ( unlikely( alignment <= libAlign() ) ) return malloc2( size ); 718 724 719 725 // Allocate enough storage to guarantee an address on the alignment boundary, and sufficient space before it for … … 726 732 // subtract libAlign() because it is already the minimum alignment 727 733 // add sizeof(Storage) for fake header 728 // #comment TD : this is the only place that calls doMalloc without calling malloc NoStats, why ?734 // #comment TD : this is the only place that calls doMalloc without calling malloc2, why ? 729 735 char * area = (char *)doMalloc( size + alignment - libAlign() + sizeof(HeapManager.Storage) ); 730 if ( unlikely( area == 0 ) ) return area;736 if ( unlikely( area == 0 ) ) return area; 731 737 732 738 // address in the block of the "next" alignment address … … 743 749 744 750 return user; 745 } // memalign NoStats751 } // memalign2 746 752 747 753 748 754 extern "C" { 749 // The malloc() function allocates size bytes and returns a pointer to the allocated memory. The memory is not 750 // initialized. If size is 0, then malloc() returns either NULL, or a unique pointer value that can later be 751 // successfully passed to free(). 755 // The malloc() function allocates size bytes and returns a pointer to the 756 // allocated memory. The memory is not initialized. If size is 0, then malloc() 757 // returns either NULL, or a unique pointer value that can later be successfully 758 // passed to free(). 752 759 void * malloc( size_t size ) { 753 760 #ifdef __STATISTICS__ 754 __atomic_add_fetch( &malloc_calls, 1, __ATOMIC_SEQ_CST ); 755 __atomic_add_fetch( &malloc_storage, size, __ATOMIC_SEQ_CST ); 756 #endif // __STATISTICS__ 757 758 return mallocNoStats( size ); 759 } // malloc 760 761 // The calloc() function allocates memory for an array of nmemb elements of size bytes each and returns a pointer to 762 // the allocated memory. The memory is set to zero. If nmemb or size is 0, then calloc() returns either NULL, or a 763 // unique pointer value that can later be successfully passed to free(). 764 void * calloc( size_t noOfElems, size_t elemSize ) { 761 __atomic_add_fetch( &malloc_calls, 1, __ATOMIC_SEQ_CST ); 762 __atomic_add_fetch( &malloc_storage, size, __ATOMIC_SEQ_CST ); 763 #endif // __STATISTICS__ 764 765 return malloc2( size ); 766 } // malloc 767 768 // The calloc() function allocates memory for an array of nmemb elements of 769 // size bytes each and returns a pointer to the allocated memory. The memory 770 // is set to zero. If nmemb or size is 0, then calloc() returns either NULL, 771 // or a unique pointer value that can later be successfully passed to free(). 772 void * calloc( size_t noOfElems, size_t elemSize ) { 765 773 size_t size = noOfElems * elemSize; 766 774 #ifdef __STATISTICS__ 767 __atomic_add_fetch( &calloc_calls, 1, __ATOMIC_SEQ_CST );768 __atomic_add_fetch( &calloc_storage, size, __ATOMIC_SEQ_CST );769 #endif // __STATISTICS__ 770 771 char * area = (char *)malloc NoStats( size );772 if ( unlikely( area == 0 ) ) return 0;775 __atomic_add_fetch( &calloc_calls, 1, __ATOMIC_SEQ_CST ); 776 __atomic_add_fetch( &calloc_storage, size, __ATOMIC_SEQ_CST ); 777 #endif // __STATISTICS__ 778 779 char * area = (char *)malloc2( size ); 780 if ( unlikely( area == 0 ) ) return 0; 773 781 774 782 HeapManager.Storage.Header * header; … … 782 790 memset( area, '\0', asize - sizeof(HeapManager.Storage) ); // set to zeros 783 791 784 header->kind.real.blockSize |= 2; // mark as zero filled792 header->kind.real.blockSize |= 2; // mark as zero filled 785 793 return area; 786 } // calloc794 } // calloc 787 795 788 796 // #comment TD : Document this function … … 790 798 size_t size = noOfElems * elemSize; 791 799 #ifdef __STATISTICS__ 792 __atomic_add_fetch( &cmemalign_calls, 1, __ATOMIC_SEQ_CST );793 __atomic_add_fetch( &cmemalign_storage, size, __ATOMIC_SEQ_CST );794 #endif // __STATISTICS__ 795 796 char * area = (char *)memalign NoStats( alignment, size );797 if ( unlikely( area == 0 ) ) return 0;800 __atomic_add_fetch( &cmemalign_calls, 1, __ATOMIC_SEQ_CST ); 801 __atomic_add_fetch( &cmemalign_storage, size, __ATOMIC_SEQ_CST ); 802 #endif // __STATISTICS__ 803 804 char * area = (char *)memalign2( alignment, size ); 805 if ( unlikely( area == 0 ) ) return 0; 798 806 HeapManager.Storage.Header * header; 799 807 HeapManager.FreeHeader * freeElem; … … 803 811 // Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero. 804 812 if ( ! mapped ) 805 #endif // __CFA_DEBUG__813 #endif // __CFA_DEBUG__ 806 814 memset( area, '\0', asize - ( (char *)area - (char *)header ) ); // set to zeros 807 815 header->kind.real.blockSize |= 2; // mark as zero filled 808 816 809 817 return area; 810 } // cmemalign 811 812 // The realloc() function changes the size of the memory block pointed to by ptr to size bytes. The contents will be 813 // unchanged in the range from the start of the region up to the minimum of the old and new sizes. If the new size 814 // is larger than the old size, the added memory will not be initialized. If ptr is NULL, then the call is 815 // equivalent to malloc(size), for all values of size; if size is equal to zero, and ptr is not NULL, then the call 816 // is equivalent to free(ptr). Unless ptr is NULL, it must have been returned by an earlier call to malloc(), 817 // calloc() or realloc(). If the area pointed to was moved, a free(ptr) is done. 818 void * realloc( void * addr, size_t size ) { 819 #ifdef __STATISTICS__ 820 __atomic_add_fetch( &realloc_calls, 1, __ATOMIC_SEQ_CST ); 821 #endif // __STATISTICS__ 822 823 if ( unlikely( addr == 0 ) ) return mallocNoStats( size ); // special cases 824 if ( unlikely( size == 0 ) ) { free( addr ); return 0; } 818 } // cmemalign 819 820 // The realloc() function changes the size of the memory block pointed to by 821 // ptr to size bytes. The contents will be unchanged in the range from the 822 // start of the region up to the minimum of the old and new sizes. If the new 823 // size is larger than the old size, the added memory will not be initialized. 824 // If ptr is NULL, then the call is equivalent to malloc(size), for all values 825 // of size; if size is equal to zero, and ptr is not NULL, then the call is 826 // equivalent to free(ptr). Unless ptr is NULL, it must have been returned by 827 // an earlier call to malloc(), calloc() or realloc(). If the area pointed to 828 // was moved, a free(ptr) is done. 829 void * realloc( void * addr, size_t size ) { 830 #ifdef __STATISTICS__ 831 __atomic_add_fetch( &realloc_calls, 1, __ATOMIC_SEQ_CST ); 832 #endif // __STATISTICS__ 833 834 if ( unlikely( addr == 0 ) ) return malloc2( size ); // special cases 835 if ( unlikely( size == 0 ) ) { free( addr ); return 0; } 825 836 826 837 HeapManager.Storage.Header * header; … … 837 848 838 849 #ifdef __STATISTICS__ 839 __atomic_add_fetch( &realloc_storage, size, __ATOMIC_SEQ_CST );850 __atomic_add_fetch( &realloc_storage, size, __ATOMIC_SEQ_CST ); 840 851 #endif // __STATISTICS__ 841 852 … … 844 855 area = memalign( alignment, size ); // create new area 845 856 } else { 846 area = malloc NoStats( size );// create new area847 } // if 848 if ( unlikely( area == 0 ) ) return 0;857 area = malloc2( size ); // create new area 858 } // if 859 if ( unlikely( area == 0 ) ) return 0; 849 860 if ( unlikely( header->kind.real.blockSize & 2 ) ) { // previous request zero fill (calloc/cmemalign) ? 850 861 assert( (header->kind.real.blockSize & 1) == 0 ); … … 853 864 // Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero. 854 865 if ( ! mapped ) 855 #endif // __CFA_DEBUG__866 #endif // __CFA_DEBUG__ 856 867 memset( (char *)area + usize, '\0', asize - ( (char *)area - (char *)header ) - usize ); // zero-fill back part 857 868 header->kind.real.blockSize |= 2; // mark new request as zero fill … … 863 874 864 875 865 // The obsolete function memalign() allocates size bytes and returns a pointer to the allocated memory. The memory 866 // address will be a multiple of alignment, which must be a power of two. 867 void * memalign( size_t alignment, size_t size ) { 876 // The obsolete function memalign() allocates size bytes and returns 877 // a pointer to the allocated memory. The memory address will be a 878 // multiple of alignment, which must be a power of two. 879 void * memalign( size_t alignment, size_t size ) __attribute__ ((deprecated)); 880 void * memalign( size_t alignment, size_t size ) { 868 881 #ifdef __STATISTICS__ 869 882 __atomic_add_fetch( &memalign_calls, 1, __ATOMIC_SEQ_CST ); … … 871 884 #endif // __STATISTICS__ 872 885 873 void * area = memalign NoStats( alignment, size );886 void * area = memalign2( alignment, size ); 874 887 875 888 return area; 876 } // memalign877 878 // The function aligned_alloc() is the same as memalign(), except for the added restriction that size should be a879 // multiple of alignment.889 } // memalign 890 891 // The function aligned_alloc() is the same as memalign(), except for 892 // the added restriction that size should be a multiple of alignment. 880 893 void * aligned_alloc( size_t alignment, size_t size ) { 881 894 return memalign( alignment, size ); … … 883 896 884 897 885 // The function posix_memalign() allocates size bytes and places the address of the allocated memory in *memptr. The 886 // address of the allocated memory will be a multiple of alignment, which must be a power of two and a multiple of 887 // sizeof(void *). If size is 0, then posix_memalign() returns either NULL, or a unique pointer value that can later 888 // be successfully passed to free(3). 898 // The function posix_memalign() allocates size bytes and places the address 899 // of the allocated memory in *memptr. The address of the allocated memory 900 // will be a multiple of alignment, which must be a power of two and a multiple 901 // of sizeof(void *). If size is 0, then posix_memalign() returns either NULL, 902 // or a unique pointer value that can later be successfully passed to free(3). 889 903 int posix_memalign( void ** memptr, size_t alignment, size_t size ) { 890 if ( alignment < sizeof(void *) || ! libPow2( alignment ) ) return EINVAL; // check alignment904 if ( alignment < sizeof(void *) || ! libPow2( alignment ) ) return EINVAL; // check alignment 891 905 * memptr = memalign( alignment, size ); 892 if ( unlikely( * memptr == 0 ) ) return ENOMEM;906 if ( unlikely( * memptr == 0 ) ) return ENOMEM; 893 907 return 0; 894 908 } // posix_memalign 895 909 896 // The obsolete function valloc() allocates size bytes and returns a pointer to the allocated memory. The memory 897 // address will be a multiple of the page size. It is equivalent to memalign(sysconf(_SC_PAGESIZE),size). 910 // The obsolete function valloc() allocates size bytes and returns a pointer 911 // to the allocated memory. The memory address will be a multiple of the page size. 912 // It is equivalent to memalign(sysconf(_SC_PAGESIZE),size). 913 void * valloc( size_t size ) __attribute__ ((deprecated)); 898 914 void * valloc( size_t size ) { 899 915 return memalign( pageSize, size ); … … 901 917 902 918 903 // The free() function frees the memory space pointed to by ptr, which must have been returned by a previous call to 904 // malloc(), calloc() or realloc(). Otherwise, or if free(ptr) has already been called before, undefined behavior 905 // occurs. If ptr is NULL, no operation is performed. 919 // The free() function frees the memory space pointed to by ptr, which must 920 // have been returned by a previous call to malloc(), calloc() or realloc(). 921 // Otherwise, or if free(ptr) has already been called before, undefined 922 // behavior occurs. If ptr is NULL, no operation is performed. 906 923 void free( void * addr ) { 907 924 #ifdef __STATISTICS__ 908 __atomic_add_fetch( &free_calls, 1, __ATOMIC_SEQ_CST );925 __atomic_add_fetch( &free_calls, 1, __ATOMIC_SEQ_CST ); 909 926 #endif // __STATISTICS__ 910 927 … … 914 931 if ( unlikely( addr == 0 ) ) { // special case 915 932 #ifdef __CFA_DEBUG__ 916 if ( traceHeap() ) {917 #define nullmsg "Free( 0x0 ) size:0\n"918 // Do not debug print free( 0 ), as it can cause recursive entry from sprintf.919 __cfaabi_dbg_bits_write( nullmsg, sizeof(nullmsg) - 1 );920 } // if933 if ( traceHeap() ) { 934 #define nullmsg "Free( 0x0 ) size:0\n" 935 // Do not debug print free( 0 ), as it can cause recursive entry from sprintf. 936 __cfaabi_dbg_bits_write( nullmsg, sizeof(nullmsg) - 1 ); 937 } // if 921 938 #endif // __CFA_DEBUG__ 922 939 return; … … 926 943 } // free 927 944 928 // The mallopt() function adjusts parameters that control the behavior of the memory-allocation functions (see 929 // malloc(3)). The param argument specifies the parameter to be modified, and value specifies the new value for that 945 // The mallopt() function adjusts parameters that control the behavior of the 946 // memory-allocation functions (see malloc(3)). The param argument specifies 947 // the parameter to be modified, and value specifies the new value for that 930 948 // parameter. 931 int mallopt( int option, int value ) {949 int mallopt( int option, int value ) { 932 950 choose( option ) { 933 case M_TOP_PAD:934 if ( setHeapExpand( value ) ) fallthru default;935 case M_MMAP_THRESHOLD:936 if ( setMmapStart( value ) ) fallthru default;937 default:938 // #comment TD : 1 for unsopported feels wrong939 return 1; // success, or unsupported951 case M_TOP_PAD: 952 if ( setHeapExpand( value ) ) fallthru default; 953 case M_MMAP_THRESHOLD: 954 if ( setMmapStart( value ) ) fallthru default; 955 default: 956 // #comment TD : 1 for unsopported feels wrong 957 return 1; // success, or unsupported 940 958 } // switch 941 959 return 0; // error 942 960 } // mallopt 943 961 944 // The malloc_trim() function attempts to release free memory at the top of the heap (by calling sbrk(2) with a945 // suitable argument).962 // The malloc_trim() function attempts to release free memory at the top 963 // of the heap (by calling sbrk(2) with a suitable argument). 946 964 int malloc_trim( size_t ) { 947 965 return 0; // => impossible to release memory 948 966 } // malloc_trim 949 967 950 // The malloc_usable_size() function returns the number of usable bytes in the block pointed to by ptr, a pointer to 951 // a block of memory allocated by malloc(3) or a related function. 952 size_t malloc_usable_size( void * addr ) { 953 if ( unlikely( addr == 0 ) ) return 0; // null allocation has 0 size 968 // The malloc_usable_size() function returns the number of usable bytes in the 969 // block pointed to by ptr, a pointer to a block of memory allocated by 970 // malloc(3) or a related function. 971 size_t malloc_usable_size( void * addr ) { 972 if ( unlikely( addr == 0 ) ) return 0; // null allocation has 0 size 954 973 955 974 HeapManager.Storage.Header * header; … … 963 982 964 983 965 // The malloc_alignment() function returns the alignment of the allocation. 984 // #comment TD : Document this function 966 985 size_t malloc_alignment( void * addr ) { 967 if ( unlikely( addr == 0 ) ) return libAlign(); // minimum alignment986 if ( unlikely( addr == 0 ) ) return libAlign(); // minimum alignment 968 987 HeapManager.Storage.Header * header = (HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) ); 969 988 if ( (header->kind.fake.alignment & 1) == 1 ) { // fake header ? … … 972 991 return libAlign (); // minimum alignment 973 992 } // if 974 } // malloc_alignment975 976 977 // The malloc_zero_fill() function returns true if the allocation is zero filled, i.e., initially allocated by calloc(). 993 } // malloc_alignment 994 995 996 // #comment TD : Document this function 978 997 bool malloc_zero_fill( void * addr ) { 979 if ( unlikely( addr == 0 ) ) return false; // null allocation is not zero fill998 if ( unlikely( addr == 0 ) ) return false; // null allocation is not zero fill 980 999 981 1000 HeapManager.Storage.Header * header = (HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) ); … … 984 1003 } // if 985 1004 return (header->kind.real.blockSize & 2) != 0; // zero filled (calloc/cmemalign) ? 986 } // malloc_zero_fill 987 988 989 // The malloc_stats() function prints (on default standard error) statistics about memory allocated by malloc(3) and 990 // related functions. 1005 } // malloc_zero_fill 1006 1007 1008 // #comment TD : Document this function 991 1009 void malloc_stats( void ) { 992 1010 #ifdef __STATISTICS__ 993 printStats();994 if ( checkFree() ) checkFree( heapManager );995 #endif // __STATISTICS__ 996 } // malloc_stats997 998 // The malloc_stats_fd() function changes the file descripter where malloc_stats() writes the statistics.999 int malloc_stats_fd( int fd ) {1000 #ifdef __STATISTICS__ 1001 int temp = statfd;1002 statfd = fd;1003 return temp;1011 printStats(); 1012 if ( checkFree() ) checkFree( heapManager ); 1013 #endif // __STATISTICS__ 1014 } // malloc_stats 1015 1016 // #comment TD : Document this function 1017 int malloc_stats_fd( int fd ) { 1018 #ifdef __STATISTICS__ 1019 int temp = statfd; 1020 statfd = fd; 1021 return temp; 1004 1022 #else 1005 return -1; 1006 #endif // __STATISTICS__ 1007 } // malloc_stats_fd 1008 1009 // The malloc_info() function exports an XML string that describes the current state of the memory-allocation 1010 // implementation in the caller. The string is printed on the file stream stream. The exported string includes 1011 // information about all arenas (see malloc(3)). 1023 return -1; 1024 #endif // __STATISTICS__ 1025 } // malloc_stats_fd 1026 1027 1028 // #comment TD : Document this function 1012 1029 int malloc_info( int options, FILE * stream ) { 1013 1030 return printStatsXML( stream ); … … 1015 1032 1016 1033 1017 // The malloc_get_state() function records the current state of all malloc(3) internal bookkeeping variables (but 1018 // not the actual contents of the heap or the state of malloc_hook(3) functions pointers). The state is recorded in 1019 // a system-dependent opaque data structure dynamically allocated via malloc(3), and a pointer to that data 1020 // structure is returned as the function result. (It is the caller's responsibility to free(3) this memory.) 1034 // #comment TD : What are these two functions for? 1021 1035 void * malloc_get_state( void ) { 1022 return 0; // unsupported1036 return 0; 1023 1037 } // malloc_get_state 1024 1038 1025 1026 // The malloc_set_state() function restores the state of all malloc(3) internal bookkeeping variables to the values1027 // recorded in the opaque data structure pointed to by state.1028 1039 int malloc_set_state( void * ptr ) { 1029 return 0; // unsupported1040 return 0; 1030 1041 } // malloc_set_state 1031 1042 } // extern "C" -
libcfa/src/iostream.cfa
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Dec 24 18:33:40201813 // Update Count : 58912 // Last Modified On : Sat Aug 11 13:56:43 2018 13 // Update Count : 473 14 14 // 15 15 … … 19 19 #include <stdio.h> 20 20 #include <stdbool.h> // true/false 21 //#include <string.h> // strlen, strcmp21 //#include <string.h> // strlen, strcmp 22 22 extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 23 23 extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); … … 32 32 return os; 33 33 } // ?|? 34 void ?|?( ostype & os, bool b ) { 35 (ostype &)(os | b); nl( os ); 36 } // ?|? 37 38 ostype & ?|?( ostype & os, char c ) { 39 fmt( os, "%c", c ); 40 if ( c == '\n' ) setNL( os, true ); 41 return sepOff( os ); 42 } // ?|? 43 void ?|?( ostype & os, char c ) { 44 (ostype &)(os | c); nl( os ); 45 } // ?|? 46 47 ostype & ?|?( ostype & os, signed char sc ) { 48 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 49 fmt( os, "%hhd", sc ); 50 return os; 51 } // ?|? 52 void ?|?( ostype & os, signed char sc ) { 53 (ostype &)(os | sc); nl( os ); 54 } // ?|? 55 56 ostype & ?|?( ostype & os, unsigned char usc ) { 57 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 58 fmt( os, "%hhu", usc ); 59 return os; 60 } // ?|? 61 void ?|?( ostype & os, unsigned char usc ) { 62 (ostype &)(os | usc); nl( os ); 34 35 ostype & ?|?( ostype & os, char ch ) { 36 fmt( os, "%c", ch ); 37 if ( ch == '\n' ) setNL( os, true ); 38 sepOff( os ); 39 return os; 40 } // ?|? 41 42 ostype & ?|?( ostype & os, signed char c ) { 43 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 44 fmt( os, "%hhd", c ); 45 return os; 46 } // ?|? 47 48 ostype & ?|?( ostype & os, unsigned char c ) { 49 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) ); 50 fmt( os, "%hhu", c ); 51 return os; 63 52 } // ?|? 64 53 … … 68 57 return os; 69 58 } // ?|? 70 void & ?|?( ostype & os, short int si ) {71 (ostype &)(os | si); nl( os );72 } // ?|?73 59 74 60 ostype & ?|?( ostype & os, unsigned short int usi ) { … … 77 63 return os; 78 64 } // ?|? 79 void & ?|?( ostype & os, unsigned short int usi ) {80 (ostype &)(os | usi); nl( os );81 } // ?|?82 65 83 66 ostype & ?|?( ostype & os, int i ) { … … 86 69 return os; 87 70 } // ?|? 88 void & ?|?( ostype & os, int i ) {89 (ostype &)(os | i); nl( os );90 } // ?|?91 71 92 72 ostype & ?|?( ostype & os, unsigned int ui ) { … … 95 75 return os; 96 76 } // ?|? 97 void & ?|?( ostype & os, unsigned int ui ) {98 (ostype &)(os | ui); nl( os );99 } // ?|?100 77 101 78 ostype & ?|?( ostype & os, long int li ) { … … 104 81 return os; 105 82 } // ?|? 106 void & ?|?( ostype & os, long int li ) {107 (ostype &)(os | li); nl( os );108 } // ?|?109 83 110 84 ostype & ?|?( ostype & os, unsigned long int uli ) { … … 113 87 return os; 114 88 } // ?|? 115 void & ?|?( ostype & os, unsigned long int uli ) {116 (ostype &)(os | uli); nl( os );117 } // ?|?118 89 119 90 ostype & ?|?( ostype & os, long long int lli ) { … … 122 93 return os; 123 94 } // ?|? 124 void & ?|?( ostype & os, long long int lli ) {125 (ostype &)(os | lli); nl( os );126 } // ?|?127 95 128 96 ostype & ?|?( ostype & os, unsigned long long int ulli ) { … … 131 99 return os; 132 100 } // ?|? 133 void & ?|?( ostype & os, unsigned long long int ulli ) {134 (ostype &)(os | ulli); nl( os );135 } // ?|?136 101 137 102 ostype & ?|?( ostype & os, float f ) { … … 140 105 return os; 141 106 } // ?|? 142 void & ?|?( ostype & os, float f ) {143 (ostype &)(os | f); nl( os );144 } // ?|?145 107 146 108 ostype & ?|?( ostype & os, double d ) { … … 149 111 return os; 150 112 } // ?|? 151 void & ?|?( ostype & os, double d ) {152 (ostype &)(os | d); nl( os );153 } // ?|?154 113 155 114 ostype & ?|?( ostype & os, long double ld ) { … … 158 117 return os; 159 118 } // ?|? 160 void & ?|?( ostype & os, long double ld ) {161 (ostype &)(os | ld); nl( os );162 } // ?|?163 119 164 120 ostype & ?|?( ostype & os, float _Complex fc ) { … … 167 123 return os; 168 124 } // ?|? 169 void & ?|?( ostype & os, float _Complex fc ) {170 (ostype &)(os | fc); nl( os );171 } // ?|?172 125 173 126 ostype & ?|?( ostype & os, double _Complex dc ) { … … 176 129 return os; 177 130 } // ?|? 178 void & ?|?( ostype & os, double _Complex dc ) {179 (ostype &)(os | dc); nl( os );180 } // ?|?181 131 182 132 ostype & ?|?( ostype & os, long double _Complex ldc ) { … … 184 134 fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) ); 185 135 return os; 186 } // ?|?187 void & ?|?( ostype & os, long double _Complex ldc ) {188 (ostype &)(os | ldc); nl( os );189 136 } // ?|? 190 137 … … 227 174 return write( os, str, len ); 228 175 } // ?|? 229 void ?|?( ostype & os, const char * str ) {230 (ostype &)(os | str); nl( os );231 } // ?|?232 176 233 177 // ostype & ?|?( ostype & os, const char16_t * str ) { … … 256 200 return os; 257 201 } // ?|? 258 void ?|?( ostype & os, const void * p ) { 259 (ostype &)(os | p); nl( os ); 260 } // ?|? 202 261 203 262 204 // manipulators 263 205 ostype & ?|?( ostype & os, ostype & (* manip)( ostype & ) ) { 264 (ostype &)(manip( os )); 265 return os; 266 } // ?|? 267 void ?|?( ostype & os, ostype & (* manip)( ostype & ) ) { 268 (ostype &)(manip( os )); 269 if ( getPrt( os ) ) nl( os ); // something printed ? 270 setPrt( os, false ); // turn off 206 return manip( os ); 271 207 } // ?|? 272 208 273 209 ostype & sep( ostype & os ) { 274 return (ostype &)(os | sepGet( os )); 210 os | sepGet( os ); 211 return os; 275 212 } // sep 276 213 277 214 ostype & sepTuple( ostype & os ) { 278 return os | sepGetTuple( os ); 215 os | sepGetTuple( os ); 216 return os; 279 217 } // sepTuple 280 218 281 ostype & nl( ostype & os ) { 282 (ostype &)(os | '\n'); 283 setPrt( os, false ); // turn off 219 ostype & endl( ostype & os ) { 220 os | '\n'; 284 221 setNL( os, true ); 285 222 flush( os ); 286 return sepOff( os ); // prepare for next line 287 } // nl 288 289 void nl( ostype & os ) { 290 if ( getANL( os ) ) (ostype &)(nl( os )); // implementation only 291 else setPrt( os, false ); // turn off 292 } // nl 293 294 ostype & nonl( ostype & os ) { 295 setPrt( os, false ); // turn off 296 return os; 297 } // nonl 223 sepOff( os ); // prepare for next line 224 return os; 225 } // endl 298 226 299 227 ostype & sepOn( ostype & os ) { 300 sepOn( os ); // call void returning228 sepOn( os ); 301 229 return os; 302 230 } // sepOn 303 231 304 232 ostype & sepOff( ostype & os ) { 305 sepOff( os ); // call void returning233 sepOff( os ); 306 234 return os; 307 235 } // sepOff 308 236 309 237 ostype & sepEnable( ostype & os ) { 310 sepEnable( os ); // call void returning238 sepEnable( os ); 311 239 return os; 312 240 } // sepEnable 313 241 314 242 ostype & sepDisable( ostype & os ) { 315 sepDisable( os ); // call void returning243 sepDisable( os ); 316 244 return os; 317 245 } // sepDisable 318 319 ostype & nlOn( ostype & os ) {320 nlOn( os ); // call void returning321 return os;322 } // nlOn323 324 ostype & nlOff( ostype & os ) {325 nlOff( os ); // call void returning326 return os;327 } // nlOff328 246 } // distribution 329 247 248 330 249 // tuples 331 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) { 332 ostype & ?|?( ostype & os, T arg, Params rest ) { 333 (ostype &)(os | arg); // print first argument 334 sepSetCur( os, sepGetTuple( os ) ); // switch to tuple separator 335 (ostype &)(os | rest); // print remaining arguments 336 sepSetCur( os, sepGet( os ) ); // switch to regular separator 337 return os; 338 } // ?|? 339 void ?|?( ostype & os, T arg, Params rest ) { 340 // (ostype &)(?|?( os, arg, rest )); nl( os ); 341 (ostype &)(os | arg); // print first argument 342 sepSetCur( os, sepGetTuple( os ) ); // switch to tuple separator 343 (ostype &)(os | rest); // print remaining arguments 344 sepSetCur( os, sepGet( os ) ); // switch to regular separator 345 nl( os ); 346 } // ?|? 347 } // distribution 250 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) 251 ostype & ?|?( ostype & os, T arg, Params rest ) { 252 os | arg; // print first argument 253 sepSetCur( os, sepGetTuple( os ) ); // switch to tuple separator 254 os | rest; // print remaining arguments 255 sepSetCur( os, sepGet( os ) ); // switch to regular separator 256 return os; 257 } // ?|? 348 258 349 259 //--------------------------------------- 350 260 351 261 // writes the range [begin, end) to the given stream 352 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) {353 void write( iterator_type begin, iterator_type end, ostype & os ) {354 void print( elt_type i ) { os | i; }355 for_each( begin, end, print );356 } // ?|?357 358 void write_reverse( iterator_type begin, iterator_type end, ostype & os ) { 359 void print( elt_type i ) { os | i; } 360 for_each_reverse( begin, end, print );361 } // ?|?362 } // distribution262 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) 263 void write( iterator_type begin, iterator_type end, ostype & os ) { 264 void print( elt_type i ) { os | i; } 265 for_each( begin, end, print ); 266 } // ?|? 267 268 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) 269 void write_reverse( iterator_type begin, iterator_type end, ostype & os ) { 270 void print( elt_type i ) { os | i; } 271 for_each_reverse( begin, end, print ); 272 } // ?|? 363 273 364 274 //--------------------------------------- … … 476 386 } // ?|? 477 387 478 istype & nl( istype & is ) {388 istype & endl( istype & is ) { 479 389 fmt( is, "%*[ \t\f\n\r\v]" ); // ignore whitespace 480 390 return is; 481 } // nl391 } // endl 482 392 } // distribution 483 393 … … 500 410 // Local Variables: // 501 411 // tab-width: 4 // 502 // compile-command: "cfa iostream.c fa" //412 // compile-command: "cfa iostream.c" // 503 413 // End: // -
libcfa/src/iostream.hfa
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Dec 24 18:33:40201813 // Update Count : 22012 // Last Modified On : Sat Aug 11 08:22:49 2018 13 // Update Count : 156 14 14 // 15 15 … … 20 20 trait ostream( dtype ostype ) { 21 21 // private 22 bool sepPrt( ostype & ); // getseparator state (on/off)22 bool sepPrt( ostype & ); // return separator state (on/off) 23 23 void sepReset( ostype & ); // set separator state to default state 24 24 void sepReset( ostype &, bool ); // set separator and default state 25 25 const char * sepGetCur( ostype & ); // get current separator string 26 26 void sepSetCur( ostype &, const char * ); // set current separator string 27 bool getNL( ostype & ); // check newline27 bool getNL( ostype & ); // check newline 28 28 void setNL( ostype &, bool ); // saw newline 29 bool getANL( ostype & ); // get auto newline (on/off)30 bool getPrt( ostype & ); // get fmt called in output cascade31 void setPrt( ostype &, bool ); // set fmt called in output cascade32 29 // public 33 30 void sepOn( ostype & ); // turn separator state on 34 31 void sepOff( ostype & ); // turn separator state off 35 32 bool sepDisable( ostype & ); // set default state to off, and return previous state 36 bool sepEnable( ostype & ); // set default state to on, and return previous state 37 void nlOn( ostype & ); // turn auto-newline state on 38 void nlOff( ostype & ); // turn auto-newline state off 33 bool sepEnable( ostype & ); // set default state to on, and return previous state 39 34 40 35 const char * sepGet( ostype & ); // get separator string … … 48 43 void close( ostype & os ); 49 44 ostype & write( ostype &, const char *, size_t ); 50 int fmt( ostype &, const char f ormat[], ... );45 int fmt( ostype &, const char fmt[], ... ); 51 46 }; // ostream 52 47 … … 63 58 forall( dtype ostype | ostream( ostype ) ) { 64 59 ostype & ?|?( ostype &, bool ); 65 void ?|?( ostype &, bool );66 60 67 61 ostype & ?|?( ostype &, char ); 68 void ?|?( ostype &, char );69 62 ostype & ?|?( ostype &, signed char ); 70 void ?|?( ostype &, signed char );71 63 ostype & ?|?( ostype &, unsigned char ); 72 void ?|?( ostype &, unsigned char );73 64 74 65 ostype & ?|?( ostype &, short int ); 75 void ?|?( ostype &, short int );76 66 ostype & ?|?( ostype &, unsigned short int ); 77 void ?|?( ostype &, unsigned short int );78 67 ostype & ?|?( ostype &, int ); 79 void ?|?( ostype &, int );80 68 ostype & ?|?( ostype &, unsigned int ); 81 void ?|?( ostype &, unsigned int );82 69 ostype & ?|?( ostype &, long int ); 83 void ?|?( ostype &, long int );84 70 ostype & ?|?( ostype &, long long int ); 85 void ?|?( ostype &, long long int );86 71 ostype & ?|?( ostype &, unsigned long int ); 87 void ?|?( ostype &, unsigned long int );88 72 ostype & ?|?( ostype &, unsigned long long int ); 89 void ?|?( ostype &, unsigned long long int );90 73 91 74 ostype & ?|?( ostype &, float ); // FIX ME: should not be required 92 void ?|?( ostype &, float ); // FIX ME: should not be required93 75 ostype & ?|?( ostype &, double ); 94 void ?|?( ostype &, double );95 76 ostype & ?|?( ostype &, long double ); 96 void ?|?( ostype &, long double );97 77 98 78 ostype & ?|?( ostype &, float _Complex ); 99 void ?|?( ostype &, float _Complex );100 79 ostype & ?|?( ostype &, double _Complex ); 101 void ?|?( ostype &, double _Complex );102 80 ostype & ?|?( ostype &, long double _Complex ); 103 void ?|?( ostype &, long double _Complex );104 81 105 82 ostype & ?|?( ostype &, const char * ); 106 void ?|?( ostype &, const char * );107 83 // ostype & ?|?( ostype &, const char16_t * ); 108 84 #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous … … 111 87 // ostype & ?|?( ostype &, const wchar_t * ); 112 88 ostype & ?|?( ostype &, const void * ); 113 void ?|?( ostype &, const void * );114 89 115 90 // manipulators 116 91 ostype & ?|?( ostype &, ostype & (*)( ostype & ) ); 117 void ?|?( ostype &, ostype & (*)( ostype & ) ); 118 ostype & nl( ostype & ); 119 void nl( ostype & ); 120 ostype & nonl( ostype & ); 92 ostype & endl( ostype & ); 121 93 ostype & sep( ostype & ); 122 94 ostype & sepTuple( ostype & ); … … 125 97 ostype & sepDisable( ostype & ); 126 98 ostype & sepEnable( ostype & ); 127 ostype & nlOn( ostype & );128 ostype & nlOff( ostype & );129 99 } // distribution 130 100 131 101 // tuples 132 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) { 133 ostype & ?|?( ostype & os, T arg, Params rest ); 134 void ?|?( ostype & os, T arg, Params rest ); 135 } // distribution 102 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) 103 ostype & ?|?( ostype & os, T arg, Params rest ); 136 104 137 105 // writes the range [begin, end) to the given stream 138 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) { 139 void write( iterator_type begin, iterator_type end, ostype & os ); 140 void write_reverse( iterator_type begin, iterator_type end, ostype & os ); 141 } // distribution 106 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) 107 void write( iterator_type begin, iterator_type end, ostype & os ); 108 109 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) 110 void write_reverse( iterator_type begin, iterator_type end, ostype & os ); 142 111 143 112 //--------------------------------------- … … 150 119 istype & read( istype &, char *, size_t ); 151 120 istype & ungetc( istype &, char ); 152 int fmt( istype &, const char f ormat[], ... );121 int fmt( istype &, const char fmt[], ... ); 153 122 }; // istream 154 123 … … 183 152 // manipulators 184 153 istype & ?|?( istype &, istype & (*)( istype & ) ); 185 istype & nl( istype & is );154 istype & endl( istype & is ); 186 155 } // distribution 187 156 … … 195 164 196 165 197 #include <time_t.hfa> // Duration (constructors) / Time (constructors)166 #include <time_t.hfa> // Duration (constructors) / Time (constructors) 198 167 199 forall( dtype ostype | ostream( ostype ) ) { 200 ostype & ?|?( ostype & os, Duration dur ); 201 void ?|?( ostype & os, Duration dur ); 202 ostype & ?|?( ostype & os, Time time ); 203 void ?|?( ostype & os, Time time ); 204 } // distribution 168 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Duration dur ); 169 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Time time ); 170 205 171 206 172 // Local Variables: // -
libcfa/src/iterator.cfa
rcde3891 r9b086ca 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Nov 2 07:17:37 201813 // Update Count : 2 912 // Last Modified On : Fri Jul 7 08:38:23 2017 13 // Update Count : 28 14 14 // 15 15 … … 33 33 // Local Variables: // 34 34 // tab-width: 4 // 35 // compile-command: "cfa iterator.c fa" //35 // compile-command: "cfa iterator.c" // 36 36 // End: // -
libcfa/src/rational.cfa
rcde3891 r9b086ca 10 10 // Created On : Wed Apr 6 17:54:28 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S un Dec 23 22:56:49201813 // Update Count : 1 7012 // Last Modified On : Sat Jun 2 09:24:33 2018 13 // Update Count : 162 14 14 // 15 15 … … 35 35 static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) { 36 36 if ( d == (RationalImpl){0} ) { 37 serr | "Invalid rational number construction: denominator cannot be equal to 0." ;37 serr | "Invalid rational number construction: denominator cannot be equal to 0." | endl; 38 38 exit( EXIT_FAILURE ); 39 39 } // exit … … 175 175 } // ?|? 176 176 177 forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) { 178 ostype & ?|?( ostype & os, Rational(RationalImpl) r ) { 179 return os | r.numerator | '/' | r.denominator; 180 } // ?|? 181 182 void ?|?( ostype & os, Rational(RationalImpl) r ) { 183 (ostype &)(os | r); nl( os ); 184 } // ?|? 185 } // distribution 177 forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) 178 ostype & ?|?( ostype & os, Rational(RationalImpl ) r ) { 179 return os | r.numerator | '/' | r.denominator; 180 } // ?|? 186 181 } // distribution 187 182 -
libcfa/src/rational.hfa
rcde3891 r9b086ca 12 12 // Created On : Wed Apr 6 17:56:25 2016 13 13 // Last Modified By : Peter A. Buhr 14 // Last Modified On : Tue Dec 4 23:07:46201815 // Update Count : 10 614 // Last Modified On : Sat Jun 2 09:10:01 2018 15 // Update Count : 105 16 16 // 17 17 … … 92 92 istype & ?|?( istype &, Rational(RationalImpl) & ); 93 93 94 forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) { 95 ostype & ?|?( ostype &, Rational(RationalImpl) ); 96 void ?|?( ostype &, Rational(RationalImpl) ); 97 } // distribution 94 forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) 95 ostype & ?|?( ostype &, Rational(RationalImpl ) ); 98 96 } // distribution 99 97 -
libcfa/src/stdlib.hfa
rcde3891 r9b086ca 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Dec 17 15:37:45201813 // Update Count : 34 612 // Last Modified On : Fri Jul 27 07:21:36 2018 13 // Update Count : 345 14 14 // 15 15 … … 178 178 179 179 static inline { 180 int ato( const char * sptr ) { return (int)strtol( sptr, 0, 10 ); }180 int ato( const char * sptr ) {return (int)strtol( sptr, 0, 10 ); } 181 181 unsigned int ato( const char * sptr ) { return (unsigned int)strtoul( sptr, 0, 10 ); } 182 182 long int ato( const char * sptr ) { return strtol( sptr, 0, 10 ); } -
libcfa/src/time.cfa
rcde3891 r9b086ca 10 10 // Created On : Tue Mar 27 13:33:14 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Dec 23 22:57:48201813 // Update Count : 5712 // Last Modified On : Sun May 6 22:26:00 2018 13 // Update Count : 37 14 14 // 15 15 … … 31 31 32 32 33 forall( dtype ostype | ostream( ostype ) ) { 34 ostype & ?|?( ostype & os, Duration dur ) with( dur ) { 35 (ostype &)(os | tv / TIMEGRAN); // print seconds 36 long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN; // compute nanoseconds 37 if ( ns != 0 ) { // some ? 38 char buf[16]; 39 (ostype &)(os | nanomsd( ns, buf )); // print nanoseconds 40 } // if 41 return os; 42 } // ?|? 43 44 void ?|?( ostype & os, Duration dur ) with( dur ) { 45 (ostype &)(os | dur); nl( os ); 46 } // ?|? 47 } // distribution 33 forall( dtype ostype | ostream( ostype ) ) 34 ostype & ?|?( ostype & os, Duration dur ) with( dur ) { 35 os | tv / TIMEGRAN; // print seconds 36 long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN; // compute nanoseconds 37 if ( ns != 0 ) { // some ? 38 char buf[16]; 39 os | nanomsd( ns, buf ); // print nanoseconds 40 } // if 41 return os; 42 } // ?|? 48 43 49 44 … … 142 137 } // strftime 143 138 144 forall( dtype ostype | ostream( ostype ) ) { 145 ostype & ?|?( ostype & os, Time time ) with( time ) { 146 char buf[32]; // at least 26 147 time_t s = tv / TIMEGRAN; 148 ctime_r( &s, (char *)&buf ); // 26 characters: "Wed Jun 30 21:49:08 1993\n" 149 buf[24] = '\0'; // remove trailing '\n' 150 long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN; // compute nanoseconds 151 if ( ns == 0 ) { // none ? 152 (ostype &)(os | buf); // print date/time/year 153 } else { 154 buf[19] = '\0'; // truncate to "Wed Jun 30 21:49:08" 155 char buf2[16]; 156 nanomsd( ns, buf2 ); // compute nanoseconds 157 (ostype &)(os | buf | buf2 | ' ' | &buf[20]); // print date/time, nanoseconds and year 158 } // if 159 return os; 160 } // ?|? 161 162 void ?|?( ostype & os, Time time ) with( time ) { 163 (ostype &)(os | time); nl( os ); 164 } // ?|? 165 } // distribution 139 forall( dtype ostype | ostream( ostype ) ) 140 ostype & ?|?( ostype & os, Time time ) with( time ) { 141 char buf[32]; // at least 26 142 time_t s = tv / TIMEGRAN; 143 ctime_r( &s, (char *)&buf ); // 26 characters: "Wed Jun 30 21:49:08 1993\n" 144 buf[24] = '\0'; // remove trailing '\n' 145 long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN; // compute nanoseconds 146 if ( ns == 0 ) { // none ? 147 os | buf; // print date/time/year 148 } else { 149 buf[19] = '\0'; // truncate to "Wed Jun 30 21:49:08" 150 os | buf; // print date/time 151 char buf2[16]; 152 nanomsd( ns, buf2 ); // compute nanoseconds 153 os | buf2 | ' ' | &buf[20]; // print nanoseconds and year 154 } // if 155 return os; 156 } // ?|? 166 157 167 158 // Local Variables: // -
libcfa/src/time.hfa
rcde3891 r9b086ca 10 10 // Created On : Wed Mar 14 23:18:57 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 22 12:25:34201813 // Update Count : 64 312 // Last Modified On : Sat Aug 11 13:55:33 2018 13 // Update Count : 642 14 14 // 15 15 … … 23 23 #include <sys/time.h> // timeval 24 24 } 25 #include <time_t.hfa> // Duration/Time types25 #include <time_t.hfa> // Duration/Time types 26 26 27 27 enum { TIMEGRAN = 1_000_000_000LL }; // nanosecond granularity, except for timeval … … 104 104 105 105 timeval ?=?( timeval & t, zero_t ) { return t{ 0 }; } 106 timeval ?+?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; }107 timeval ?-?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; }106 timeval ?+?( timeval & lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; } 107 timeval ?-?( timeval & lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; } 108 108 bool ?==?( timeval lhs, timeval rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_usec == rhs.tv_usec; } 109 109 bool ?!=?( timeval lhs, timeval rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_usec != rhs.tv_usec; } … … 119 119 120 120 timespec ?=?( timespec & t, zero_t ) { return t{ 0 }; } 121 timespec ?+?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; }122 timespec ?-?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; }121 timespec ?+?( timespec & lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; } 122 timespec ?-?( timespec & lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; } 123 123 bool ?==?( timespec lhs, timespec rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_nsec == rhs.tv_nsec; } 124 124 bool ?!=?( timespec lhs, timespec rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_nsec != rhs.tv_nsec; } -
src/CodeTools/module.mk
rcde3891 r9b086ca 16 16 17 17 SRC += CodeTools/DeclStats.cc \ 18 CodeTools/ResolvProtoDump.cc \19 18 CodeTools/TrackLoc.cc -
src/Common/utility.h
rcde3891 r9b086ca 26 26 #include <string> 27 27 #include <type_traits> 28 #include <utility>29 28 30 29 #include <cassert> … … 463 462 std::pair<long long int, bool> eval(Expression * expr); 464 463 465 // -----------------------------------------------------------------------------466 /// Reorders the input range in-place so that the minimal-value elements according to the467 /// comparator are in front;468 /// returns the iterator after the last minimal-value element.469 template<typename Iter, typename Compare>470 Iter sort_mins( Iter begin, Iter end, Compare& lt ) {471 if ( begin == end ) return end;472 473 Iter min_pos = begin;474 for ( Iter i = begin + 1; i != end; ++i ) {475 if ( lt( *i, *min_pos ) ) {476 // new minimum cost; swap into first position477 min_pos = begin;478 std::iter_swap( min_pos, i );479 } else if ( ! lt( *min_pos, *i ) ) {480 // duplicate minimum cost; swap into next minimum position481 ++min_pos;482 std::iter_swap( min_pos, i );483 }484 }485 return ++min_pos;486 }487 488 template<typename Iter, typename Compare>489 inline Iter sort_mins( Iter begin, Iter end, Compare&& lt ) {490 return sort_mins( begin, end, lt );491 }492 493 /// sort_mins defaulted to use std::less494 template<typename Iter>495 inline Iter sort_mins( Iter begin, Iter end ) {496 return sort_mins( begin, end, std::less<typename std::iterator_traits<Iter>::value_type>{} );497 }498 499 464 // Local Variables: // 500 465 // tab-width: 4 // -
src/CompilationState.cc
rcde3891 r9b086ca 30 30 parsep = false, 31 31 resolvep = false, 32 resolvprotop = false,33 32 symtabp = false, 34 33 treep = false, -
src/CompilationState.h
rcde3891 r9b086ca 31 31 parsep, 32 32 resolvep, 33 resolvprotop,34 33 symtabp, 35 34 treep, -
src/Concurrency/Keywords.cc
rcde3891 r9b086ca 575 575 576 576 //in reverse order : 577 // monitor_ dtor_guard_t __guard = { __monitors, func };577 // monitor_guard_t __guard = { __monitors, #, func }; 578 578 body->push_front( 579 579 new DeclStmt( new ObjectDecl( … … 634 634 assert(generic_func); 635 635 636 // in reverse order :636 //in reverse order : 637 637 // monitor_guard_t __guard = { __monitors, #, func }; 638 638 body->push_front( -
src/Concurrency/Waitfor.cc
rcde3891 r9b086ca 66 66 void foo() { 67 67 while( true ) { 68 { 69 acceptable_t acceptables[3]; 70 if( a < 1 ) { 71 acceptables[0].func = f; 72 acceptables[0].mon = a; 68 69 acceptable_t acceptables[3]; 70 if( a < 1 ) { 71 acceptables[0].func = f; 72 acceptables[0].mon = a; 73 } 74 acceptables[1].func = g; 75 acceptables[1].mon = a; 76 77 acceptables[2].func = f; 78 acceptables[2].mon = a; 79 acceptables[2].is_dtor = true; 80 81 int ret = waitfor_internal( acceptables, swagl() ); 82 83 switch( ret ) { 84 case 0: 85 { 86 bar(); 73 87 } 74 acceptables[1].func = g; 75 acceptables[1].mon = a; 76 77 acceptables[2].func = f; 78 acceptables[2].mon = a; 79 acceptables[2].is_dtor = true; 80 81 int ret = waitfor_internal( acceptables, swagl() ); 82 83 switch( ret ) { 84 case 0: 88 case 1: 89 { 90 baz(); 91 } 92 case 2: 93 signal(a); 85 94 { 86 b ar();95 break; 87 96 } 88 case 1:89 {90 baz();91 }92 case 2:93 signal(a);94 {95 break;96 }97 }98 97 } 99 98 } … … 556 555 new ConstantExpr( Constant::from_ulong( i++ ) ), 557 556 { 558 new CompoundStmt({ 559 clause.statement, 560 new BranchStmt( 561 "", 562 BranchStmt::Break 563 ) 564 }) 557 clause.statement, 558 new BranchStmt( 559 "", 560 BranchStmt::Break 561 ) 565 562 } 566 563 ) … … 573 570 new ConstantExpr( Constant::from_int( -2 ) ), 574 571 { 575 new CompoundStmt({ 576 waitfor->timeout.statement, 577 new BranchStmt( 578 "", 579 BranchStmt::Break 580 ) 581 }) 572 waitfor->timeout.statement, 573 new BranchStmt( 574 "", 575 BranchStmt::Break 576 ) 582 577 } 583 578 ) … … 590 585 new ConstantExpr( Constant::from_int( -1 ) ), 591 586 { 592 new CompoundStmt({ 593 waitfor->orelse.statement, 594 new BranchStmt( 595 "", 596 BranchStmt::Break 597 ) 598 }) 587 waitfor->orelse.statement, 588 new BranchStmt( 589 "", 590 BranchStmt::Break 591 ) 599 592 } 600 593 ) -
src/GenPoly/Box.cc
rcde3891 r9b086ca 798 798 for ( Type::ForallList::iterator tyVar = functionType->get_forall().begin(); tyVar != functionType->get_forall().end(); ++tyVar ) { 799 799 for ( std::list< DeclarationWithType *>::iterator assert = (*tyVar)->assertions.begin(); assert != (*tyVar)->assertions.end(); ++assert ) { 800 InferredParams::const_iterator inferParam = appExpr-> inferParams.find( (*assert)->get_uniqueId() );801 assertf( inferParam != appExpr-> inferParams.end(), "addInferredParams missing inferred parameter: %s in: %s", toString( *assert ).c_str(), toString( appExpr ).c_str() );800 InferredParams::const_iterator inferParam = appExpr->get_inferParams().find( (*assert)->get_uniqueId() ); 801 assertf( inferParam != appExpr->get_inferParams().end(), "addInferredParams missing inferred parameter: %s in: %s", toString( *assert ).c_str(), toString( appExpr ).c_str() ); 802 802 Expression *newExpr = inferParam->second.expr->clone(); 803 803 addCast( newExpr, (*assert)->get_type(), tyVars ); -
src/GenPoly/Specialize.cc
rcde3891 r9b086ca 245 245 appExpr->env = TypeSubstitution::newFromExpr( appExpr, env ); 246 246 if ( inferParams ) { 247 appExpr-> inferParams= *inferParams;247 appExpr->get_inferParams() = *inferParams; 248 248 } // if 249 249 … … 284 284 std::list< Expression* >::iterator actual; 285 285 for ( formal = function->get_parameters().begin(), actual = appExpr->get_args().begin(); formal != function->get_parameters().end() && actual != appExpr->get_args().end(); ++formal, ++actual ) { 286 *actual = doSpecialization( (*formal)->get_type(), *actual, &appExpr-> inferParams);286 *actual = doSpecialization( (*formal)->get_type(), *actual, &appExpr->get_inferParams() ); 287 287 } 288 288 } … … 295 295 // alternatively, if order starts to matter then copy appExpr's inferParams and pass them to handleExplicitParams. 296 296 handleExplicitParams( appExpr ); 297 for ( InferredParams::iterator inferParam = appExpr-> inferParams.begin(); inferParam != appExpr->inferParams.end(); ++inferParam ) {298 inferParam->second.expr = doSpecialization( inferParam->second.formalType, inferParam->second.expr, &inferParam->second.expr->inferParams);297 for ( InferredParams::iterator inferParam = appExpr->get_inferParams().begin(); inferParam != appExpr->get_inferParams().end(); ++inferParam ) { 298 inferParam->second.expr = doSpecialization( inferParam->second.formalType, inferParam->second.expr, inferParam->second.inferParams.get() ); 299 299 } 300 300 } -
src/Makefile.am
rcde3891 r9b086ca 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake20 19 21 20 SRC = main.cc \ … … 51 50 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14 52 51 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 53 ARFLAGS = cr54 52 55 53 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete … … 128 126 ResolvExpr/PtrsCastable.cc \ 129 127 ResolvExpr/RenameVars.cc \ 130 ResolvExpr/ResolveAssertions.cc \131 128 ResolvExpr/Resolver.cc \ 132 129 ResolvExpr/ResolveTypeof.cc \ 133 ResolvExpr/SpecCost.cc \134 130 ResolvExpr/TypeEnvironment.cc \ 135 131 ResolvExpr/Unify.cc \ -
src/Makefile.in
rcde3891 r9b086ca 141 141 subdir = src 142 142 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 143 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 144 $(top_srcdir)/automake/ltoptions.m4 \ 145 $(top_srcdir)/automake/ltsugar.m4 \ 146 $(top_srcdir)/automake/ltversion.m4 \ 147 $(top_srcdir)/automake/lt~obsolete.m4 \ 148 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 143 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 144 $(top_srcdir)/configure.ac 149 145 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 150 146 $(ACLOCAL_M4) … … 155 151 CONFIG_CLEAN_VPATH_FILES = 156 152 LIBRARIES = $(noinst_LIBRARIES) 153 AR = ar 154 ARFLAGS = cru 157 155 AM_V_AR = $(am__v_AR_@AM_V@) 158 156 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) … … 206 204 ResolvExpr/PtrsAssignable.$(OBJEXT) \ 207 205 ResolvExpr/PtrsCastable.$(OBJEXT) \ 208 ResolvExpr/RenameVars.$(OBJEXT) \ 209 ResolvExpr/ResolveAssertions.$(OBJEXT) \ 210 ResolvExpr/Resolver.$(OBJEXT) \ 206 ResolvExpr/RenameVars.$(OBJEXT) ResolvExpr/Resolver.$(OBJEXT) \ 211 207 ResolvExpr/ResolveTypeof.$(OBJEXT) \ 212 ResolvExpr/SpecCost.$(OBJEXT) \213 208 ResolvExpr/TypeEnvironment.$(OBJEXT) \ 214 209 ResolvExpr/Unify.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \ … … 227 222 CodeGen/FixNames.$(OBJEXT) CodeGen/FixMain.$(OBJEXT) \ 228 223 CodeGen/OperatorTable.$(OBJEXT) CodeTools/DeclStats.$(OBJEXT) \ 229 CodeTools/ResolvProtoDump.$(OBJEXT) \230 224 CodeTools/TrackLoc.$(OBJEXT) Concurrency/Keywords.$(OBJEXT) \ 231 225 Concurrency/Waitfor.$(OBJEXT) Common/SemanticError.$(OBJEXT) \ … … 266 260 ResolvExpr/TypeEnvironment.$(OBJEXT) \ 267 261 ResolvExpr/CurrentObject.$(OBJEXT) \ 268 ResolvExpr/ExplodedActual.$(OBJEXT) \ 269 ResolvExpr/SpecCost.$(OBJEXT) \ 270 ResolvExpr/ResolveAssertions.$(OBJEXT) \ 271 SymTab/Indexer.$(OBJEXT) SymTab/Mangler.$(OBJEXT) \ 272 SymTab/ManglerCommon.$(OBJEXT) SymTab/Validate.$(OBJEXT) \ 273 SymTab/FixFunction.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \ 274 SynTree/Type.$(OBJEXT) SynTree/VoidType.$(OBJEXT) \ 275 SynTree/BasicType.$(OBJEXT) SynTree/PointerType.$(OBJEXT) \ 276 SynTree/ArrayType.$(OBJEXT) SynTree/ReferenceType.$(OBJEXT) \ 277 SynTree/FunctionType.$(OBJEXT) \ 262 ResolvExpr/ExplodedActual.$(OBJEXT) SymTab/Indexer.$(OBJEXT) \ 263 SymTab/Mangler.$(OBJEXT) SymTab/ManglerCommon.$(OBJEXT) \ 264 SymTab/Validate.$(OBJEXT) SymTab/FixFunction.$(OBJEXT) \ 265 SymTab/Autogen.$(OBJEXT) SynTree/Type.$(OBJEXT) \ 266 SynTree/VoidType.$(OBJEXT) SynTree/BasicType.$(OBJEXT) \ 267 SynTree/PointerType.$(OBJEXT) SynTree/ArrayType.$(OBJEXT) \ 268 SynTree/ReferenceType.$(OBJEXT) SynTree/FunctionType.$(OBJEXT) \ 278 269 SynTree/ReferenceToType.$(OBJEXT) SynTree/TupleType.$(OBJEXT) \ 279 270 SynTree/TypeofType.$(OBJEXT) SynTree/AttrType.$(OBJEXT) \ … … 300 291 ___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS) 301 292 ___driver_cfa_cpp_DEPENDENCIES = 302 AM_V_lt = $(am__v_lt_@AM_V@)303 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)304 am__v_lt_0 = --silent305 am__v_lt_1 =306 293 am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT) 307 294 demangler_OBJECTS = $(am_demangler_OBJECTS) … … 325 312 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 326 313 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 327 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \328 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \329 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \330 $(AM_CXXFLAGS) $(CXXFLAGS)331 314 AM_V_CXX = $(am__v_CXX_@AM_V@) 332 315 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 334 317 am__v_CXX_1 = 335 318 CXXLD = $(CXX) 336 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 337 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 338 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 319 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 320 -o $@ 339 321 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 340 322 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 342 324 am__v_CXXLD_1 = 343 325 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 344 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \345 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)346 326 AM_V_LEX = $(am__v_LEX_@AM_V@) 347 327 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 352 332 -e s/c++$$/h++/ -e s/c$$/h/ 353 333 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 354 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \355 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)356 334 AM_V_YACC = $(am__v_YACC_@AM_V@) 357 335 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 360 338 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 361 339 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 362 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \363 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \364 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \365 $(AM_CFLAGS) $(CFLAGS)366 340 AM_V_CC = $(am__v_CC_@AM_V@) 367 341 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 369 343 am__v_CC_1 = 370 344 CCLD = $(CC) 371 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 372 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 373 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 345 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 374 346 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 375 347 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 421 393 AMTAR = @AMTAR@ 422 394 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 423 AR = @AR@424 395 AUTOCONF = @AUTOCONF@ 425 396 AUTOHEADER = @AUTOHEADER@ 426 397 AUTOMAKE = @AUTOMAKE@ 427 398 AWK = @AWK@ 399 BACKEND_CC = @BACKEND_CC@ 428 400 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 429 401 CC = @CC@ … … 445 417 CPPFLAGS = @CPPFLAGS@ 446 418 CXX = @CXX@ 447 CXXCPP = @CXXCPP@448 419 CXXDEPMODE = @CXXDEPMODE@ 449 420 CXXFLAGS = @CXXFLAGS@ … … 451 422 DEFS = @DEFS@ 452 423 DEPDIR = @DEPDIR@ 453 DLLTOOL = @DLLTOOL@454 424 DRIVER_DIR = @DRIVER_DIR@ 455 DSYMUTIL = @DSYMUTIL@456 DUMPBIN = @DUMPBIN@457 425 ECHO_C = @ECHO_C@ 458 426 ECHO_N = @ECHO_N@ … … 460 428 EGREP = @EGREP@ 461 429 EXEEXT = @EXEEXT@ 462 FGREP = @FGREP@463 430 GREP = @GREP@ 464 431 HOST_FLAGS = @HOST_FLAGS@ … … 468 435 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 469 436 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 470 LD = @LD@471 437 LDFLAGS = @LDFLAGS@ 472 438 LEX = @LEX@ … … 477 443 LIBOBJS = @LIBOBJS@ 478 444 LIBS = @LIBS@ 479 LIBTOOL = @LIBTOOL@480 LIPO = @LIPO@481 LN_S = @LN_S@482 445 LTLIBOBJS = @LTLIBOBJS@ 483 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@484 446 MAKEINFO = @MAKEINFO@ 485 MANIFEST_TOOL = @MANIFEST_TOOL@486 447 MKDIR_P = @MKDIR_P@ 487 NM = @NM@488 NMEDIT = @NMEDIT@489 OBJDUMP = @OBJDUMP@490 448 OBJEXT = @OBJEXT@ 491 OTOOL = @OTOOL@492 OTOOL64 = @OTOOL64@493 449 PACKAGE = @PACKAGE@ 494 450 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 500 456 PATH_SEPARATOR = @PATH_SEPARATOR@ 501 457 RANLIB = @RANLIB@ 502 SED = @SED@503 458 SET_MAKE = @SET_MAKE@ 504 459 SHELL = @SHELL@ … … 512 467 abs_top_builddir = @abs_top_builddir@ 513 468 abs_top_srcdir = @abs_top_srcdir@ 514 ac_ct_AR = @ac_ct_AR@515 469 ac_ct_CC = @ac_ct_CC@ 516 470 ac_ct_CXX = @ac_ct_CXX@ 517 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@518 471 am__include = @am__include@ 519 472 am__leading_dot = @am__leading_dot@ … … 565 518 # create object files in directory with source files 566 519 AUTOMAKE_OPTIONS = foreign subdir-objects 567 ACLOCAL_AMFLAGS = -I automake568 520 SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \ 569 521 CodeGen/CodeGenerator.cc CodeGen/GenType.cc \ 570 522 CodeGen/FixNames.cc CodeGen/FixMain.cc \ 571 523 CodeGen/OperatorTable.cc CodeTools/DeclStats.cc \ 572 CodeTools/ResolvProtoDump.cc CodeTools/TrackLoc.cc \ 573 Concurrency/Keywords.cc Concurrency/Waitfor.cc \ 574 Common/SemanticError.cc Common/UniqueName.cc \ 575 Common/DebugMalloc.cc Common/Assert.cc Common/Heap.cc \ 576 Common/Eval.cc ControlStruct/LabelGenerator.cc \ 524 CodeTools/TrackLoc.cc Concurrency/Keywords.cc \ 525 Concurrency/Waitfor.cc Common/SemanticError.cc \ 526 Common/UniqueName.cc Common/DebugMalloc.cc Common/Assert.cc \ 527 Common/Heap.cc Common/Eval.cc ControlStruct/LabelGenerator.cc \ 577 528 ControlStruct/LabelFixer.cc ControlStruct/MLEMutator.cc \ 578 529 ControlStruct/Mutate.cc ControlStruct/ForExprMutator.cc \ … … 597 548 ResolvExpr/Occurs.cc ResolvExpr/TypeEnvironment.cc \ 598 549 ResolvExpr/CurrentObject.cc ResolvExpr/ExplodedActual.cc \ 599 ResolvExpr/SpecCost.cc ResolvExpr/ResolveAssertions.cc \600 550 SymTab/Indexer.cc SymTab/Mangler.cc SymTab/ManglerCommon.cc \ 601 551 SymTab/Validate.cc SymTab/FixFunction.cc SymTab/Autogen.cc \ … … 632 582 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14 633 583 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 634 ARFLAGS = cr635 584 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete 636 585 demangler_LDADD = libdemangle.a # yywrap … … 706 655 ResolvExpr/PtrsCastable.cc \ 707 656 ResolvExpr/RenameVars.cc \ 708 ResolvExpr/ResolveAssertions.cc \709 657 ResolvExpr/Resolver.cc \ 710 658 ResolvExpr/ResolveTypeof.cc \ 711 ResolvExpr/SpecCost.cc \712 659 ResolvExpr/TypeEnvironment.cc \ 713 660 ResolvExpr/Unify.cc \ … … 727 674 728 675 .SUFFIXES: 729 .SUFFIXES: .cc .ll . lo .o .obj .yy676 .SUFFIXES: .cc .ll .o .obj .yy 730 677 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/CodeGen/module.mk $(srcdir)/CodeTools/module.mk $(srcdir)/Concurrency/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk $(srcdir)/Validate/module.mk $(srcdir)/Virtual/module.mk $(am__configure_deps) 731 678 @for dep in $?; do \ … … 961 908 ResolvExpr/RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 962 909 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 963 ResolvExpr/ResolveAssertions.$(OBJEXT): ResolvExpr/$(am__dirstamp) \964 ResolvExpr/$(DEPDIR)/$(am__dirstamp)965 910 ResolvExpr/Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 966 911 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 967 912 ResolvExpr/ResolveTypeof.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 968 ResolvExpr/$(DEPDIR)/$(am__dirstamp)969 ResolvExpr/SpecCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \970 913 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 971 914 ResolvExpr/TypeEnvironment.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ … … 1020 963 sed 's/$(EXEEXT)$$//' | \ 1021 964 while read p p1; do if test -f $$p \ 1022 || test -f $$p1 \1023 965 ; then echo "$$p"; echo "$$p"; else :; fi; \ 1024 966 done | \ … … 1035 977 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 1036 978 test -z "$$files" || { \ 1037 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \1038 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \979 echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \ 980 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \ 1039 981 } \ 1040 982 ; done … … 1052 994 1053 995 clean-cfa_cpplibPROGRAMS: 1054 @list='$(cfa_cpplib_PROGRAMS)'; test -n "$$list" || exit 0; \ 1055 echo " rm -f" $$list; \ 1056 rm -f $$list || exit $$?; \ 1057 test -n "$(EXEEXT)" || exit 0; \ 1058 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 1059 echo " rm -f" $$list; \ 1060 rm -f $$list 996 -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS) 1061 997 CodeGen/FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \ 1062 998 CodeGen/$(DEPDIR)/$(am__dirstamp) … … 1068 1004 @: > CodeTools/$(DEPDIR)/$(am__dirstamp) 1069 1005 CodeTools/DeclStats.$(OBJEXT): CodeTools/$(am__dirstamp) \ 1070 CodeTools/$(DEPDIR)/$(am__dirstamp)1071 CodeTools/ResolvProtoDump.$(OBJEXT): CodeTools/$(am__dirstamp) \1072 1006 CodeTools/$(DEPDIR)/$(am__dirstamp) 1073 1007 CodeTools/TrackLoc.$(OBJEXT): CodeTools/$(am__dirstamp) \ … … 1173 1107 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/OperatorTable.Po@am__quote@ 1174 1108 @AMDEP_TRUE@@am__include@ @am__quote@CodeTools/$(DEPDIR)/DeclStats.Po@am__quote@ 1175 @AMDEP_TRUE@@am__include@ @am__quote@CodeTools/$(DEPDIR)/ResolvProtoDump.Po@am__quote@1176 1109 @AMDEP_TRUE@@am__include@ @am__quote@CodeTools/$(DEPDIR)/TrackLoc.Po@am__quote@ 1177 1110 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/Assert.Po@am__quote@ … … 1226 1159 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/PtrsCastable.Po@am__quote@ 1227 1160 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/RenameVars.Po@am__quote@ 1228 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/ResolveAssertions.Po@am__quote@1229 1161 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/ResolveTypeof.Po@am__quote@ 1230 1162 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/Resolver.Po@am__quote@ 1231 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/SpecCost.Po@am__quote@1232 1163 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/TypeEnvironment.Po@am__quote@ 1233 1164 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/Unify.Po@am__quote@ … … 1297 1228 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 1298 1229 1299 .cc.lo:1300 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\1301 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\1302 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo1303 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@1304 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@1305 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<1306 1307 1230 .ll.cc: 1308 1231 $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) … … 1310 1233 .yy.cc: 1311 1234 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) 1312 1313 mostlyclean-libtool:1314 -rm -f *.lo1315 1316 clean-libtool:1317 -rm -rf .libs _libs1318 -rm -rf ../driver/.libs ../driver/_libs1319 1235 1320 1236 ID: $(am__tagged_files) … … 1476 1392 clean: clean-am 1477 1393 1478 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean- libtool\1479 clean-noinstLIBRARIESmostlyclean-am1394 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \ 1395 mostlyclean-am 1480 1396 1481 1397 distclean: distclean-am … … 1532 1448 mostlyclean: mostlyclean-am 1533 1449 1534 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 1535 mostlyclean-libtool 1450 mostlyclean-am: mostlyclean-compile mostlyclean-generic 1536 1451 1537 1452 pdf: pdf-am … … 1548 1463 1549 1464 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 1550 clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \ 1551 clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ 1552 distclean-compile distclean-generic distclean-libtool \ 1553 distclean-tags distdir dvi dvi-am html html-am info info-am \ 1554 install install-am install-cfa_cpplibPROGRAMS install-data \ 1555 install-data-am install-dvi install-dvi-am install-exec \ 1556 install-exec-am install-html install-html-am install-info \ 1557 install-info-am install-man install-pdf install-pdf-am \ 1558 install-ps install-ps-am install-strip installcheck \ 1559 installcheck-am installdirs maintainer-clean \ 1560 maintainer-clean-generic mostlyclean mostlyclean-compile \ 1561 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 1562 tags tags-am uninstall uninstall-am \ 1465 clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \ 1466 cscopelist-am ctags ctags-am distclean distclean-compile \ 1467 distclean-generic distclean-tags distdir dvi dvi-am html \ 1468 html-am info info-am install install-am \ 1469 install-cfa_cpplibPROGRAMS install-data install-data-am \ 1470 install-dvi install-dvi-am install-exec install-exec-am \ 1471 install-html install-html-am install-info install-info-am \ 1472 install-man install-pdf install-pdf-am install-ps \ 1473 install-ps-am install-strip installcheck installcheck-am \ 1474 installdirs maintainer-clean maintainer-clean-generic \ 1475 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ 1476 ps ps-am tags tags-am uninstall uninstall-am \ 1563 1477 uninstall-cfa_cpplibPROGRAMS 1564 1478 -
src/Parser/DeclarationNode.cc
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 20:54:26201813 // Update Count : 110 812 // Last Modified On : Fri Jul 20 14:56:54 2018 13 // Update Count : 1107 14 14 // 15 15 … … 402 402 } 403 403 404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr , bool basetypeof) {405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( basetypeof ? TypeData::Basetypeof :TypeData::Typeof );404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr ) { 405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( TypeData::Typeof ); 407 407 newnode->type->typeexpr = expr; 408 408 return newnode; -
src/Parser/LinkageSpec.cc
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Thr Spt 12 15:59:00 201813 // Update Count : 2 612 // Last Modified On : Fri Jul 7 11:11:00 2017 13 // Update Count : 25 14 14 // 15 15 … … 23 23 24 24 namespace LinkageSpec { 25 26 Spec linkageCheck( CodeLocation location, const string * spec ) { 27 assert( spec ); 28 unique_ptr<const string> guard( spec ); // allocated by lexer 29 if ( *spec == "\"Cforall\"" ) { 30 return Cforall; 31 } else if ( *spec == "\"C\"" ) { 32 return C; 33 } else if ( *spec == "\"BuiltinC\"" ) { 34 return BuiltinC; 35 } else { 36 SemanticError( location, "Invalid linkage specifier " + *spec ); 37 } // if 38 } 25 39 26 40 Spec linkageUpdate( CodeLocation location, Spec old_spec, const string * cmd ) { -
src/Parser/LinkageSpec.h
rcde3891 r9b086ca 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:24:28 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Thr Spt 13 15:59:00201813 // Update Count : 1 711 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jul 2 07:46:49 2018 13 // Update Count : 16 14 14 // 15 15 … … 41 41 42 42 43 Spec linkageCheck( CodeLocation location, const std::string * ); 44 // Returns the Spec with the given name (limited to C, Cforall & BuiltinC) 43 45 Spec linkageUpdate( CodeLocation location, Spec old_spec, const std::string * cmd ); 44 46 /* If cmd = "C" returns a Spec that is old_spec with is_mangled = false -
src/Parser/ParseNode.h
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 20:54:53201813 // Update Count : 85 412 // Last Modified On : Sat Aug 4 09:39:40 2018 13 // Update Count : 853 14 14 // 15 15 … … 249 249 static DeclarationNode * newBitfield( ExpressionNode * size ); 250 250 static DeclarationNode * newTuple( DeclarationNode * members ); 251 static DeclarationNode * newTypeof( ExpressionNode * expr , bool basetypeof = false);251 static DeclarationNode * newTypeof( ExpressionNode * expr ); 252 252 static DeclarationNode * newAttr( const std::string *, ExpressionNode * expr ); // @ attributes 253 253 static DeclarationNode * newAttr( const std::string *, DeclarationNode * type ); // @ attributes -
src/Parser/TypeData.cc
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Nov 2 07:54:26201813 // Update Count : 62 412 // Last Modified On : Fri Jul 20 14:39:31 2018 13 // Update Count : 622 14 14 // 15 15 … … 96 96 break; 97 97 case Typeof: 98 case Basetypeof:99 98 // typeexpr = new Typeof_t; 100 99 typeexpr = nullptr; … … 167 166 break; 168 167 case Typeof: 169 case Basetypeof:170 168 // delete typeexpr->expr; 171 169 delete typeexpr; … … 247 245 break; 248 246 case Typeof: 249 case Basetypeof:250 247 newtype->typeexpr = maybeClone( typeexpr ); 251 248 break; … … 322 319 function.params->printList( os, indent + 4 ); 323 320 } else { 324 os << string( indent + 2, ' ' ) << "with no parameters " << endl;321 os << string( indent + 2, ' ' ) << "with no parameters " << endl; 325 322 } // if 326 323 if ( function.idList ) { … … 347 344 os << DeclarationNode::aggregateNames[ aggregate.kind ] << ' ' << *aggregate.name << endl; 348 345 if ( aggregate.params ) { 349 os << string( indent + 2, ' ' ) << "with type parameters " << endl;346 os << string( indent + 2, ' ' ) << "with type parameters " << endl; 350 347 aggregate.params->printList( os, indent + 4 ); 351 348 } // if 352 349 if ( aggregate.actuals ) { 353 os << string( indent + 2, ' ' ) << "instantiated with actual parameters " << endl;350 os << string( indent + 2, ' ' ) << "instantiated with actual parameters " << endl; 354 351 aggregate.actuals->printList( os, indent + 4 ); 355 352 } // if 356 353 if ( aggregate.fields ) { 357 os << string( indent + 2, ' ' ) << "with members " << endl;354 os << string( indent + 2, ' ' ) << "with members " << endl; 358 355 aggregate.fields->printList( os, indent + 4 ); 359 356 } // if 360 357 if ( aggregate.body ) { 361 os << string( indent + 2, ' ' ) << " with body " << endl;358 os << string( indent + 2, ' ' ) << " with body " << endl; 362 359 } // if 363 360 break; … … 370 367 } // if 371 368 if ( aggInst.params ) { 372 os << string( indent + 2, ' ' ) << "with parameters " << endl;369 os << string( indent + 2, ' ' ) << "with parameters " << endl; 373 370 aggInst.params->printList( os, indent + 2 ); 374 371 } // if … … 381 378 } // if 382 379 if ( enumeration.body ) { 383 os << string( indent + 2, ' ' ) << " with body " << endl;380 os << string( indent + 2, ' ' ) << " with body " << endl; 384 381 } // if 385 382 break; … … 418 415 os << "tuple "; 419 416 if ( tuple ) { 420 os << "with members " << endl;417 os << "with members " << endl; 421 418 tuple->printList( os, indent + 2 ); 422 419 } // if 423 420 break; 424 case Basetypeof:425 os << "base-";426 #if defined(__GNUC__) && __GNUC__ >= 7427 __attribute__((fallthrough));428 #endif429 421 case Typeof: 430 422 os << "type-of expression "; … … 465 457 case Tuple: 466 458 case Typeof: 467 case Basetypeof:468 459 case Builtin: 469 460 assertf(false, "Tried to get leaf name from kind without a name: %d", kind); … … 522 513 switch ( td->kind ) { 523 514 case TypeData::Unknown: 524 // fill in implicit int525 return new BasicType( buildQualifiers( td ), BasicType::SignedInt );515 // fill in implicit int 516 return new BasicType( buildQualifiers( td ), BasicType::SignedInt ); 526 517 case TypeData::Basic: 527 return buildBasicType( td );518 return buildBasicType( td ); 528 519 case TypeData::Pointer: 529 return buildPointer( td );520 return buildPointer( td ); 530 521 case TypeData::Array: 531 return buildArray( td );522 return buildArray( td ); 532 523 case TypeData::Reference: 533 return buildReference( td );524 return buildReference( td ); 534 525 case TypeData::Function: 535 return buildFunction( td );526 return buildFunction( td ); 536 527 case TypeData::AggregateInst: 537 return buildAggInst( td );528 return buildAggInst( td ); 538 529 case TypeData::EnumConstant: 539 // the name gets filled in later -- by SymTab::Validate540 return new EnumInstType( buildQualifiers( td ), "" );530 // the name gets filled in later -- by SymTab::Validate 531 return new EnumInstType( buildQualifiers( td ), "" ); 541 532 case TypeData::SymbolicInst: 542 return buildSymbolicInst( td );533 return buildSymbolicInst( td ); 543 534 case TypeData::Tuple: 544 return buildTuple( td );535 return buildTuple( td ); 545 536 case TypeData::Typeof: 546 case TypeData::Basetypeof: 547 return buildTypeof( td ); 537 return buildTypeof( td ); 548 538 case TypeData::Builtin: 549 if(td->builtintype == DeclarationNode::Zero) {550 return new ZeroType( noQualifiers );551 }552 else if(td->builtintype == DeclarationNode::One) {553 return new OneType( noQualifiers );554 }555 else {556 return new VarArgsType( buildQualifiers( td ) );557 }539 if(td->builtintype == DeclarationNode::Zero) { 540 return new ZeroType( noQualifiers ); 541 } 542 else if(td->builtintype == DeclarationNode::One) { 543 return new OneType( noQualifiers ); 544 } 545 else { 546 return new VarArgsType( buildQualifiers( td ) ); 547 } 558 548 case TypeData::GlobalScope: 559 return new GlobalScopeType();549 return new GlobalScopeType(); 560 550 case TypeData::Qualified: 561 return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) );551 return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) ); 562 552 case TypeData::Symbolic: 563 553 case TypeData::Enum: 564 554 case TypeData::Aggregate: 565 assert( false );555 assert( false ); 566 556 } // switch 567 557 … … 939 929 940 930 TypeofType * buildTypeof( const TypeData * td ) { 941 assert( td->kind == TypeData::Typeof || td->kind == TypeData::Basetypeof);931 assert( td->kind == TypeData::Typeof ); 942 932 assert( td->typeexpr ); 943 933 // assert( td->typeexpr->expr ); 944 return new TypeofType{ 945 buildQualifiers( td ), td->typeexpr->build(), td->kind == TypeData::Basetypeof }; 934 return new TypeofType( buildQualifiers( td ), td->typeexpr->build() ); 946 935 } // buildTypeof 947 936 -
src/Parser/TypeData.h
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 20:56:46201813 // Update Count : 19 612 // Last Modified On : Fri Jul 20 13:56:40 2018 13 // Update Count : 195 14 14 // 15 15 … … 27 27 struct TypeData { 28 28 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 29 SymbolicInst, Tuple, Typeof, B asetypeof, Builtin, GlobalScope, Qualified, Unknown };29 SymbolicInst, Tuple, Typeof, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { -
src/Parser/lex.ll
rcde3891 r9b086ca 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Thu Nov 1 20:57:35201813 * Update Count : 68 712 * Last Modified On : Wed Aug 8 17:23:17 2018 13 * Update Count : 685 14 14 */ 15 15 … … 209 209 __attribute__ { KEYWORD_RETURN(ATTRIBUTE); } // GCC 210 210 auto { KEYWORD_RETURN(AUTO); } 211 basetypeof { KEYWORD_RETURN(BASETYPEOF); } // CFA212 211 _Bool { KEYWORD_RETURN(BOOL); } // C99 213 212 break { KEYWORD_RETURN(BREAK); } … … 411 410 ">>=" { NAMEDOP_RETURN(RSassign); } 412 411 412 "~=" { NAMEDOP_RETURN(Erange); } // CFA 413 413 "@=" { NAMEDOP_RETURN(ATassign); } // CFA 414 "~=" { NAMEDOP_RETURN(ErangeUpEq); } // CFA415 "-~" { NAMEDOP_RETURN(ErangeDown); } // CFA416 "-~=" { NAMEDOP_RETURN(ErangeDownEq); } // CFA417 414 418 415 /* CFA, operator identifier */ -
src/Parser/parser.yy
rcde3891 r9b086ca 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 8 18:08:23201813 // Update Count : 405212 // Last Modified On : Wed Aug 8 17:50:07 2018 13 // Update Count : 3998 14 14 // 15 15 … … 187 187 188 188 ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 189 ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->get_expr());190 if ( constant && (constant->get_constant()->get_value() == "0" || constant->get_constant()->get_value() == "1") ) {191 type = new ExpressionNode( new CastExpr( maybeMoveBuild< Expression >(type), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ) );192 } // if193 189 return new ForCtrl( 194 distAttr( DeclarationNode::newTypeof( type , true), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),190 distAttr( DeclarationNode::newTypeof( type ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 195 191 new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ), 196 new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto 197 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) ); 198 } // forCtrl 199 200 ForCtrl * forCtrl( ExpressionNode * type, ExpressionNode * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 201 if ( NameExpr * identifier = dynamic_cast<NameExpr *>(index->get_expr()) ) { 202 return forCtrl( type, new string( identifier->name ), start, compop, comp, inc ); 203 } else { 204 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); return nullptr; 205 } // if 192 new ExpressionNode( build_binary_val( OperKinds::PlusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) ); 206 193 } // forCtrl 207 194 … … 227 214 228 215 // Types declaration for productions 229 %union { 216 %union 217 { 230 218 Token tok; 231 219 ParseNode * pn; … … 266 254 %token ZERO_T ONE_T // CFA 267 255 %token VALIST // GCC 268 %token TYPEOF BASETYPEOF LABEL// GCC256 %token TYPEOF LABEL // GCC 269 257 %token ENUM STRUCT UNION 270 258 %token EXCEPTION // CFA … … 302 290 %token ANDassign ERassign ORassign // &= ^= |= 303 291 304 %token Erange UpEq ErangeDown ErangeDownEq // ~= -~ -~=292 %token Erange // ~= 305 293 %token ATassign // @= 306 294 … … 641 629 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); } 642 630 | postfix_expression ARROW no_attr_identifier 643 { $$ = new ExpressionNode( build_pfieldSel( $1, build_varref( $3 ) ) ); } 631 { 632 $$ = new ExpressionNode( build_pfieldSel( $1, *$3 == "0" || *$3 == "1" ? build_constantInteger( *$3 ) : build_varref( $3 ) ) ); 633 } 644 634 | postfix_expression ARROW INTEGERconstant // CFA, tuple index 645 635 { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); } … … 1140 1130 | FOR '(' push for_control_expression ')' statement pop 1141 1131 { $$ = new StatementNode( build_for( $4, $6 ) ); } 1142 | FOR '(' ')' statement // CFA => for ( ;; )1143 { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), $4 ) ); }1144 1132 ; 1145 1133 1146 1134 for_control_expression: 1147 comma_expression // CFA 1148 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1149 OperKinds::LThan, $1->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1135 comma_expression_opt // CFA 1136 { 1137 if ( ! $1 ) { // => for ( ;; ) 1138 $$ = new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ); 1139 } else { 1140 $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), OperKinds::LThan, $1->clone(), 1141 new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1142 } // if 1143 } 1150 1144 | constant_expression inclexcl constant_expression // CFA 1151 1145 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1152 1146 | constant_expression inclexcl constant_expression '~' constant_expression // CFA 1153 1147 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); } 1154 | comma_expression ';' comma_expression // CFA 1155 { $$ = forCtrl( $3, $1, new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1156 OperKinds::LThan, $3->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1157 | comma_expression ';' constant_expression inclexcl constant_expression // CFA 1158 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1159 | comma_expression ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA 1160 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, $7 ); } 1161 | comma_expression ';' comma_expression_opt ';' comma_expression_opt 1148 | comma_expression_opt ';' comma_expression // CFA 1149 { 1150 if ( ! $1 ) { 1151 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1152 } else if ( ! $3 ) { 1153 SemanticError( yylloc, "Missing loop range." ); $$ = nullptr; 1154 } else { 1155 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1156 $$ = forCtrl( $3, new string( identifier->name ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), OperKinds::LThan, $3->clone(), 1157 new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1158 } else { 1159 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1160 } // if 1161 } // if 1162 } 1163 | comma_expression_opt ';' constant_expression inclexcl constant_expression // CFA 1164 { 1165 if ( ! $1 ) { 1166 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1167 } else { 1168 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1169 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1170 } else { 1171 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1172 } // if 1173 } // if 1174 } 1175 | comma_expression_opt ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA 1176 { 1177 if ( ! $1 ) { 1178 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1179 } else { 1180 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1181 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, $7 ); 1182 } else { 1183 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1184 } // if 1185 } // if 1186 } 1187 | comma_expression_opt ';' comma_expression_opt ';' comma_expression_opt 1162 1188 { $$ = new ForCtrl( $1, $3, $5 ); } 1163 | ';' comma_expression_opt ';' comma_expression_opt1164 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); }1165 1189 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1166 1190 { $$ = new ForCtrl( $1, $2, $4 ); } … … 1170 1194 '~' 1171 1195 { $$ = OperKinds::LThan; } 1172 | Erange UpEq1196 | Erange 1173 1197 { $$ = OperKinds::LEThan; } 1174 | ErangeDown1175 { $$ = OperKinds::GThan; }1176 | ErangeDownEq1177 { $$ = OperKinds::GEThan; }1178 1198 ; 1179 1199 … … 1824 1844 1825 1845 indirect_type: 1826 TYPEOF '(' type ')' // GCC: typeof( x) y;1846 TYPEOF '(' type ')' // GCC: typeof(x) y; 1827 1847 { $$ = $3; } 1828 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b) y;1848 | TYPEOF '(' comma_expression ')' // GCC: typeof(a+b) y; 1829 1849 { $$ = DeclarationNode::newTypeof( $3 ); } 1830 | BASETYPEOF '(' type ')' // CFA: basetypeof( x ) y; 1831 { $$ = DeclarationNode::newTypeof( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ), true ); } 1832 | BASETYPEOF '(' comma_expression ')' // CFA: basetypeof( a+b ) y; 1833 { $$ = DeclarationNode::newTypeof( $3, true ); } 1834 | ATTR_TYPEGENname '(' type ')' // CFA: e.g., @type( x ) y; 1850 | ATTR_TYPEGENname '(' type ')' // CFA: e.g., @type(x) y; 1835 1851 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1836 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type( a+b) y;1852 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type(a+b) y; 1837 1853 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1838 1854 | ZERO_T // CFA -
src/ResolvExpr/Alternative.cc
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:44:23 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Thu Oct 11 10:55:00 201813 // Update Count : 311 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 23:54:23 2015 13 // Update Count : 2 14 14 // 15 15 … … 20 20 #include <utility> // for move 21 21 22 #include "Common/utility.h" // for cloneAll22 #include "Common/utility.h" // for maybeClone 23 23 #include "ResolvExpr/Cost.h" // for Cost, Cost::zero, operator<< 24 24 #include "ResolvExpr/TypeEnvironment.h" // for TypeEnvironment … … 27 27 28 28 namespace ResolvExpr { 29 Alternative::Alternative() 30 : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ), env(), openVars(), need() {} 29 Alternative::Alternative() : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ) {} 31 30 32 Alternative::Alternative( Expression *expr, const TypeEnvironment &env ) 33 : cost( Cost::zero ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars(), need() {} 34 35 Alternative::Alternative( const Alternative &o, Expression *expr, const Cost &cost ) 36 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( o.env ), openVars( o.openVars ), 37 need() { cloneAll( o.need, need ); } 31 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost ) 32 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ) {} 38 33 39 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, 40 const OpenVarSet& openVars, const AssertionList& oneed, const Cost& cost ) 41 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars( openVars ), 42 need() { cloneAll( oneed, need ); } 34 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost ) 35 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ) {} 43 36 44 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, 45 const OpenVarSet& openVars, const AssertionList& oneed, const Cost& cost, 46 const Cost &cvtCost ) 47 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ), openVars( openVars ), 48 need() { cloneAll( oneed, need ); } 49 50 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, 51 const OpenVarSet &openVars, const AssertionSet &oneed, const Cost &cost) 52 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars( openVars ), 53 need() { cloneAll( oneed, need ); } 54 55 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, 56 const OpenVarSet &openVars, const AssertionSet &oneed, const Cost &cost, 57 const Cost& cvtCost ) 58 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ), openVars( openVars ), 59 need() { cloneAll( oneed, need ); } 60 61 Alternative::Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars, 62 AssertionSet &&needSet, const Cost &cost ) 63 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( std::move(env) ), 64 openVars( std::move(openVars) ), need( needSet.begin(), needSet.end() ) {} 65 66 Alternative::Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars, 67 AssertionSet &&needSet, const Cost &cost, const Cost &cvtCost ) 68 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( std::move(env) ), 69 openVars( std::move(openVars) ), need( needSet.begin(), needSet.end() ) {} 70 71 Alternative::Alternative( const Alternative &other ) 72 : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ), 73 env( other.env ), openVars( other.openVars ), need() { cloneAll( other.need, need ); } 37 Alternative::Alternative( const Alternative &other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ), env( other.env ) { 38 } 74 39 75 40 Alternative &Alternative::operator=( const Alternative &other ) { … … 80 45 expr = maybeClone( other.expr ); 81 46 env = other.env; 82 openVars = other.openVars;83 need.clear();84 cloneAll( other.need, need );85 47 return *this; 86 48 } 87 49 88 Alternative::Alternative( Alternative && other ) 89 : cost( other.cost ), cvtCost( other.cvtCost ), expr( other.expr ), 90 env( std::move( other.env ) ), openVars( std::move( other.openVars ) ), 91 need( std::move( other.need ) ) { other.expr = nullptr; } 50 Alternative::Alternative( Alternative && other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( other.expr ), env( std::move( other.env ) ) { 51 other.expr = nullptr; 52 } 92 53 93 54 Alternative & Alternative::operator=( Alternative && other ) { … … 98 59 expr = other.expr; 99 60 env = std::move( other.env ); 100 openVars = std::move( other.openVars );101 need = std::move( other.need );102 61 other.expr = nullptr; 103 62 return *this; … … 105 64 106 65 Alternative::~Alternative() { 107 for ( AssertionItem& n : need ) { delete n.decl; }108 66 delete expr; 109 67 } … … 120 78 os << "Null expression!" << std::endl; 121 79 } // if 122 os << indent << "Environment: ";80 os << indent << "Environment: "; 123 81 env.print( os, indent+1 ); 124 82 os << std::endl; -
src/ResolvExpr/Alternative.h
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:45:43 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Thu Oct 11 10:55:00 201813 // Update Count : 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:36:36 2017 13 // Update Count : 3 14 14 // 15 15 … … 20 20 21 21 #include "Cost.h" // for Cost 22 #include "TypeEnvironment.h" // for TypeEnvironment, AssertionSetValue 23 24 #include "Common/utility.h" // for maybeClone 22 #include "TypeEnvironment.h" // for TypeEnvironment 25 23 26 24 class Expression; 27 25 28 26 namespace ResolvExpr { 29 /// One assertion to resolve30 struct AssertionItem {31 DeclarationWithType* decl;32 AssertionSetValue info;33 34 AssertionItem() = default;35 AssertionItem( DeclarationWithType* decl, const AssertionSetValue& info )36 : decl(decl), info(info) {}37 AssertionItem( const AssertionSet::value_type& e ) : decl(e.first), info(e.second) {}38 operator AssertionSet::value_type () const { return { decl, info }; }39 40 // to support cloneAll41 AssertionItem clone() const { return { maybeClone(decl), info }; }42 };43 /// A list of unresolved assertions44 using AssertionList = std::vector<AssertionItem>;45 46 /// Clones an assertion list into an assertion set47 static inline void cloneAll( const AssertionList& src, AssertionSet& dst ) {48 for ( const AssertionItem& item : src ) {49 dst.emplace( maybeClone(item.decl), item.info );50 }51 }52 53 /// Clones an assertion set into an assertion list54 static inline void cloneAll( const AssertionSet& src, AssertionList& dst ) {55 dst.reserve( dst.size() + src.size() );56 for ( const auto& entry : src ) {57 dst.emplace_back( maybeClone(entry.first), entry.second );58 }59 }60 61 /// Clones an assertion list into an assertion list62 static inline void cloneAll( const AssertionList& src, AssertionList& dst ) {63 dst.reserve( dst.size() + src.size() );64 for ( const AssertionItem& item : src ) {65 dst.emplace_back( maybeClone(item.decl), item.info );66 }67 }68 69 /// One option for resolution of an expression70 27 struct Alternative { 71 28 Alternative(); 72 Alternative( Expression *expr, const TypeEnvironment &env ); 73 Alternative( const Alternative &o, Expression *expr, const Cost &cost ); 74 Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet& openVars, 75 const AssertionList& need, const Cost &cost ); 76 Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet& openVars, 77 const AssertionList& need, const Cost &cost, const Cost &cvtCost ); 78 Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet &openVars, 79 const AssertionSet &need, const Cost &cost); 80 Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet &openVars, 81 const AssertionSet &need, const Cost &cost, const Cost& cvtCost ); 82 Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars, 83 AssertionSet &&need, const Cost &cost ); 84 Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars, 85 AssertionSet &&need, const Cost &cost, const Cost &cvtCost ); 29 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost ); 30 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost, const Cost &cvtCost ); 86 31 Alternative( const Alternative &other ); 87 32 Alternative &operator=( const Alternative &other ); … … 99 44 } 100 45 101 /// Sorts by cost 102 bool operator< ( const Alternative& o ) const { return cost < o.cost; } 103 104 Cost cost; ///< Cost of the whole expression 105 Cost cvtCost; ///< Cost of conversions to the satisfying expression 106 Expression *expr; ///< Satisfying expression 107 TypeEnvironment env; ///< Containing type environment 108 OpenVarSet openVars; ///< Open variables for environment 109 AssertionList need; ///< Assertions which need to be resolved 46 Cost cost; 47 Cost cvtCost; 48 Expression *expr; 49 TypeEnvironment env; 110 50 }; 111 51 -
src/ResolvExpr/AlternativeFinder.cc
rcde3891 r9b086ca 10 10 // Created On : Sat May 16 23:52:08 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 21:00:56201813 // Update Count : 3 512 // Last Modified On : Sat Feb 17 11:19:39 2018 13 // Update Count : 33 14 14 // 15 15 … … 34 34 #include "InitTweak/InitTweak.h" // for getFunctionName 35 35 #include "RenameVars.h" // for RenameVars, global_renamer 36 #include "ResolveAssertions.h" // for resolveAssertions37 36 #include "ResolveTypeof.h" // for resolveTypeof 38 37 #include "Resolver.h" // for resolveStmtExpr … … 103 102 void addAnonConversions( const Alternative & alt ); 104 103 /// Adds alternatives for member expressions, given the aggregate, conversion cost for that aggregate, and name of the member 105 template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative &alt, const Cost &newCost, const std::string & name );104 template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name ); 106 105 /// Adds alternatives for member expressions where the left side has tuple type 107 void addTupleMembers( TupleType * tupleType, Expression *expr, const Alternative &alt, const Cost &newCost, Expression *member );106 void addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression * member ); 108 107 /// Adds alternatives for offsetof expressions, given the base type and name of the member 109 108 template< typename StructOrUnionType > void addOffsetof( StructOrUnionType *aggInst, const std::string &name ); … … 114 113 template<typename OutputIterator> 115 114 void makeFunctionAlternatives( const Alternative &func, FunctionType *funcType, const ExplodedArgs& args, OutputIterator out ); 116 /// Sets up parameter inference for an outputalternative115 /// Checks if assertion parameters match for a new alternative 117 116 template< typename OutputIterator > 118 void inferParameters( Alternative &newAlt, OutputIterator out );117 void inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out ); 119 118 private: 120 119 AlternativeFinder & altFinder; … … 245 244 } 246 245 247 void AlternativeFinder::find( Expression *expr, ResolvMode mode) {246 void AlternativeFinder::find( Expression *expr, bool adjust, bool prune, bool failFast ) { 248 247 PassVisitor<Finder> finder( *this ); 249 248 expr->accept( finder ); 250 if ( mode.failFast && alternatives.empty() ) {249 if ( failFast && alternatives.empty() ) { 251 250 PRINT( 252 251 std::cerr << "No reasonable alternatives for expression " << expr << std::endl; … … 254 253 SemanticError( expr, "No reasonable alternatives for expression " ); 255 254 } 256 if ( mode.resolveAssns || mode.prune ) { 257 // trim candidates just to those where the assertions resolve 258 // - necessary pre-requisite to pruning 259 AltList candidates; 260 for ( unsigned i = 0; i < alternatives.size(); ++i ) { 261 resolveAssertions( alternatives[i], indexer, candidates ); 262 } 263 // fail early if none such 264 if ( mode.failFast && candidates.empty() ) { 265 std::ostringstream stream; 266 stream << "No resolvable alternatives for expression " << expr << "\n" 267 << "Alternatives with failing assertions are:\n"; 268 printAlts( alternatives, stream, 1 ); 269 SemanticError( expr->location, stream.str() ); 270 } 271 // reset alternatives 272 alternatives = std::move( candidates ); 273 } 274 if ( mode.prune ) { 255 if ( prune ) { 275 256 auto oldsize = alternatives.size(); 276 257 PRINT( … … 280 261 AltList pruned; 281 262 pruneAlternatives( alternatives.begin(), alternatives.end(), back_inserter( pruned ) ); 282 if ( mode.failFast && pruned.empty() ) {263 if ( failFast && pruned.empty() ) { 283 264 std::ostringstream stream; 284 265 AltList winners; … … 299 280 } 300 281 // adjust types after pruning so that types substituted by pruneAlternatives are correctly adjusted 301 if ( mode.adjust) {302 for ( Alternative& i : alternatives) {303 adjustExprType( i .expr->get_result(), i.env, indexer );282 for ( AltList::iterator i = alternatives.begin(); i != alternatives.end(); ++i ) { 283 if ( adjust ) { 284 adjustExprType( i->expr->get_result(), i->env, indexer ); 304 285 } 305 286 } … … 313 294 314 295 void AlternativeFinder::findWithAdjustment( Expression *expr ) { 315 find( expr, ResolvMode::withAdjustment());296 find( expr, true ); 316 297 } 317 298 318 299 void AlternativeFinder::findWithoutPrune( Expression * expr ) { 319 find( expr, ResolvMode::withoutPrune());300 find( expr, true, false ); 320 301 } 321 302 322 303 void AlternativeFinder::maybeFind( Expression * expr ) { 323 find( expr, ResolvMode::withoutFailFast());304 find( expr, true, true, false ); 324 305 } 325 306 … … 336 317 337 318 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->result ) ) { 338 addAggMembers( structInst, aggrExpr.get(), alt , alt.cost+Cost::safe, "" );319 addAggMembers( structInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, "" ); 339 320 } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->result ) ) { 340 addAggMembers( unionInst, aggrExpr.get(), alt , alt.cost+Cost::safe, "" );321 addAggMembers( unionInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, "" ); 341 322 } // if 342 323 } 343 324 344 325 template< typename StructOrUnionType > 345 void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative& alt, const Cost &newCost, const std::string & name ) {326 void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name ) { 346 327 std::list< Declaration* > members; 347 328 aggInst->lookup( name, members ); … … 351 332 // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so 352 333 // can't construct in place and use vector::back 353 Alternative newAlt { alt, new MemberExpr{ dwt, expr->clone() }, newCost };334 Alternative newAlt( new MemberExpr( dwt, expr->clone() ), env, newCost ); 354 335 renameTypes( newAlt.expr ); 355 336 addAnonConversions( newAlt ); // add anonymous member interpretations whenever an aggregate value type is seen as a member expression. … … 361 342 } 362 343 363 void AlternativeFinder::Finder::addTupleMembers( TupleType * tupleType, Expression *expr, const Alternative &alt, const Cost &newCost, Expression *member ) {344 void AlternativeFinder::Finder::addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression * member ) { 364 345 if ( ConstantExpr * constantExpr = dynamic_cast< ConstantExpr * >( member ) ) { 365 346 // get the value of the constant expression as an int, must be between 0 and the length of the tuple type to have meaning … … 367 348 std::string tmp; 368 349 if ( val >= 0 && (unsigned long long)val < tupleType->size() ) { 369 alternatives.push_back( Alternative{ 370 alt, new TupleIndexExpr( expr->clone(), val ), newCost } ); 350 alternatives.push_back( Alternative( new TupleIndexExpr( expr->clone(), val ), env, newCost ) ); 371 351 } // if 372 352 } // if … … 374 354 375 355 void AlternativeFinder::Finder::postvisit( ApplicationExpr *applicationExpr ) { 376 alternatives.push_back( Alternative { applicationExpr->clone(), env });356 alternatives.push_back( Alternative( applicationExpr->clone(), env, Cost::zero ) ); 377 357 } 378 358 … … 430 410 Cost computeApplicationConversionCost( Alternative &alt, const SymTab::Indexer &indexer ) { 431 411 ApplicationExpr *appExpr = strict_dynamic_cast< ApplicationExpr* >( alt.expr ); 432 PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr-> function->result);433 FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer-> base);412 PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr->get_function()->get_result() ); 413 FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer->get_base() ); 434 414 435 415 Cost convCost = Cost::zero; 436 std::list< DeclarationWithType* >& formals = function-> parameters;416 std::list< DeclarationWithType* >& formals = function->get_parameters(); 437 417 std::list< DeclarationWithType* >::iterator formal = formals.begin(); 438 std::list< Expression* >& actuals = appExpr-> args;439 440 for ( Expression*& actualExpr : actuals) {441 Type * actualType = actualExpr->result;418 std::list< Expression* >& actuals = appExpr->get_args(); 419 420 for ( std::list< Expression* >::iterator actualExpr = actuals.begin(); actualExpr != actuals.end(); ++actualExpr ) { 421 Type * actualType = (*actualExpr)->get_result(); 442 422 PRINT( 443 423 std::cerr << "actual expression:" << std::endl; 444 actualExpr->print( std::cerr, 8 );424 (*actualExpr)->print( std::cerr, 8 ); 445 425 std::cerr << "--- results are" << std::endl; 446 426 actualType->print( std::cerr, 8 ); 447 427 ) 448 428 if ( formal == formals.end() ) { 449 if ( function-> isVarArgs) {429 if ( function->get_isVarArgs() ) { 450 430 convCost.incUnsafe(); 451 431 PRINT( std::cerr << "end of formals with varargs function: inc unsafe: " << convCost << std::endl; ; ) 452 432 // convert reference-typed expressions to value-typed expressions 453 referenceToRvalueConversion( actualExpr, convCost );433 referenceToRvalueConversion( *actualExpr, convCost ); 454 434 continue; 455 435 } else { … … 457 437 } 458 438 } 459 if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( actualExpr ) ) {439 if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( *actualExpr ) ) { 460 440 // default arguments should be free - don't include conversion cost. 461 441 // Unwrap them here because they are not relevant to the rest of the system. 462 actualExpr = def->expr;442 *actualExpr = def->expr; 463 443 ++formal; 464 444 continue; 465 445 } 466 // mark conversion cost to formal and also specialization cost of formal type467 446 Type * formalType = (*formal)->get_type(); 468 convCost += computeExpressionConversionCost( actualExpr, formalType, indexer, alt.env ); 469 convCost.decSpec( specCost( formalType ) ); 447 convCost += computeExpressionConversionCost( *actualExpr, formalType, indexer, alt.env ); 470 448 ++formal; // can't be in for-loop update because of the continue 471 449 } … … 474 452 } 475 453 476 // specialization cost of return types can't be accounted for directly, it disables 477 // otherwise-identical calls, like this example based on auto-newline in the I/O lib: 478 // 479 // forall(otype OS) { 480 // void ?|?(OS&, int); // with newline 481 // OS& ?|?(OS&, int); // no newline, always chosen due to more specialization 482 // } 483 484 // mark type variable and specialization cost of forall clause 485 convCost.incVar( function->forall.size() ); 486 for ( TypeDecl* td : function->forall ) { 487 convCost.decSpec( td->assertions.size() ); 454 for ( InferredParams::const_iterator assert = appExpr->get_inferParams().begin(); assert != appExpr->get_inferParams().end(); ++assert ) { 455 convCost += computeConversionCost( assert->second.actualType, assert->second.formalType, indexer, alt.env ); 488 456 } 489 457 … … 498 466 needAssertions[ *assert ].isUsed = true; 499 467 } 500 } 501 } 502 503 /// Unique identifier for matching expression resolutions to their requesting expression 504 UniqueId globalResnSlot = 0; 468 /// needAssertions.insert( needAssertions.end(), (*tyvar)->get_assertions().begin(), (*tyvar)->get_assertions().end() ); 469 } 470 } 471 472 static const int recursionLimit = /*10*/ 4; ///< Limit to depth of recursion satisfaction 473 474 void addToIndexer( AssertionSet &assertSet, SymTab::Indexer &indexer ) { 475 for ( AssertionSet::iterator i = assertSet.begin(); i != assertSet.end(); ++i ) { 476 if ( i->second.isUsed ) { 477 indexer.addId( i->first ); 478 } 479 } 480 } 481 482 template< typename ForwardIterator, typename OutputIterator > 483 void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, int level, const SymTab::Indexer &indexer, OutputIterator out ) { 484 if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end 485 if ( begin == end ) { 486 if ( newNeed.empty() ) { 487 PRINT( 488 std::cerr << "all assertions satisfied, output alternative: "; 489 newAlt.print( std::cerr ); 490 std::cerr << std::endl; 491 ); 492 *out++ = newAlt; 493 return; 494 } else if ( level >= recursionLimit ) { 495 SemanticError( newAlt.expr->location, "Too many recursive assertions" ); 496 } else { 497 AssertionSet newerNeed; 498 PRINT( 499 std::cerr << "recursing with new set:" << std::endl; 500 printAssertionSet( newNeed, std::cerr, 8 ); 501 ) 502 inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out ); 503 return; 504 } 505 } 506 507 ForwardIterator cur = begin++; 508 if ( ! cur->second.isUsed ) { 509 inferRecursive( begin, end, newAlt, openVars, decls, newNeed, level, indexer, out ); 510 return; // xxx - should this continue? previously this wasn't here, and it looks like it should be 511 } 512 DeclarationWithType *curDecl = cur->first; 513 514 PRINT( 515 std::cerr << "inferRecursive: assertion is "; 516 curDecl->print( std::cerr ); 517 std::cerr << std::endl; 518 ) 519 std::list< SymTab::Indexer::IdData > candidates; 520 decls.lookupId( curDecl->get_name(), candidates ); 521 /// if ( candidates.empty() ) { std::cerr << "no candidates!" << std::endl; } 522 for ( const auto & data : candidates ) { 523 DeclarationWithType * candidate = data.id; 524 PRINT( 525 std::cerr << "inferRecursive: candidate is "; 526 candidate->print( std::cerr ); 527 std::cerr << std::endl; 528 ) 529 530 AssertionSet newHave, newerNeed( newNeed ); 531 TypeEnvironment newEnv( newAlt.env ); 532 OpenVarSet newOpenVars( openVars ); 533 Type *adjType = candidate->get_type()->clone(); 534 adjustExprType( adjType, newEnv, indexer ); 535 renameTyVars( adjType ); 536 PRINT( 537 std::cerr << "unifying "; 538 curDecl->get_type()->print( std::cerr ); 539 std::cerr << " with "; 540 adjType->print( std::cerr ); 541 std::cerr << std::endl; 542 ) 543 if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) { 544 PRINT( 545 std::cerr << "success!" << std::endl; 546 ) 547 SymTab::Indexer newDecls( decls ); 548 addToIndexer( newHave, newDecls ); 549 Alternative newerAlt( newAlt ); 550 newerAlt.env = newEnv; 551 assertf( candidate->get_uniqueId(), "Assertion candidate does not have a unique ID: %s", toString( candidate ).c_str() ); 552 553 // everything with an empty idChain was pulled in by the current assertion. 554 // add current assertion's idChain + current assertion's ID so that the correct inferParameters can be found. 555 for ( auto & a : newerNeed ) { 556 if ( a.second.idChain.empty() ) { 557 a.second.idChain = cur->second.idChain; 558 a.second.idChain.push_back( curDecl->get_uniqueId() ); 559 } 560 } 561 562 Expression *varExpr = data.combine( newerAlt.cvtCost ); 563 delete varExpr->get_result(); 564 varExpr->set_result( adjType->clone() ); 565 PRINT( 566 std::cerr << "satisfying assertion " << curDecl->get_uniqueId() << " "; 567 curDecl->print( std::cerr ); 568 std::cerr << " with declaration " << candidate->get_uniqueId() << " "; 569 candidate->print( std::cerr ); 570 std::cerr << std::endl; 571 ) 572 // follow the current assertion's ID chain to find the correct set of inferred parameters to add the candidate to (i.e. the set of inferred parameters belonging to the entity which requested the assertion parameter). 573 InferredParams * inferParameters = &newerAlt.expr->get_inferParams(); 574 for ( UniqueId id : cur->second.idChain ) { 575 inferParameters = (*inferParameters)[ id ].inferParams.get(); 576 } 577 // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions 578 (*inferParameters)[ curDecl->get_uniqueId() ] = ParamEntry( candidate->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr ); 579 inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out ); 580 } else { 581 delete adjType; 582 } 583 } 584 } 505 585 506 586 template< typename OutputIterator > 507 void AlternativeFinder::Finder::inferParameters( Alternative &newAlt, OutputIterator out ) { 508 // Set need bindings for any unbound assertions 509 UniqueId crntResnSlot = 0; // matching ID for this expression's assertions 510 for ( auto& assn : newAlt.need ) { 511 // skip already-matched assertions 512 if ( assn.info.resnSlot != 0 ) continue; 513 // assign slot for expression if needed 514 if ( crntResnSlot == 0 ) { crntResnSlot = ++globalResnSlot; } 515 // fix slot to assertion 516 assn.info.resnSlot = crntResnSlot; 517 } 518 // pair slot to expression 519 if ( crntResnSlot != 0 ) { newAlt.expr->resnSlots.push_back( crntResnSlot ); } 520 521 // add to output list, assertion resolution is deferred 522 *out++ = newAlt; 587 void AlternativeFinder::Finder::inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out ) { 588 // PRINT( 589 // std::cerr << "inferParameters: assertions needed are" << std::endl; 590 // printAll( need, std::cerr, 8 ); 591 // ) 592 SymTab::Indexer decls( indexer ); 593 // PRINT( 594 // std::cerr << "============= original indexer" << std::endl; 595 // indexer.print( std::cerr ); 596 // std::cerr << "============= new indexer" << std::endl; 597 // decls.print( std::cerr ); 598 // ) 599 addToIndexer( have, decls ); 600 AssertionSet newNeed; 601 PRINT( 602 std::cerr << "env is: " << std::endl; 603 newAlt.env.print( std::cerr, 0 ); 604 std::cerr << std::endl; 605 ) 606 607 inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, 0, indexer, out ); 608 // PRINT( 609 // std::cerr << "declaration 14 is "; 610 // Declaration::declFromId 611 // *out++ = newAlt; 612 // ) 523 613 } 524 614 … … 861 951 } 862 952 // build and validate new alternative 863 Alternative newAlt { appExpr, result.env, result.openVars, result.need, cost };953 Alternative newAlt( appExpr, result.env, cost ); 864 954 PRINT( 865 955 std::cerr << "instantiate function success: " << appExpr << std::endl; … … 867 957 printAssertionSet( result.need, std::cerr, 8 ); 868 958 ) 869 inferParameters( newAlt, out );959 inferParameters( result.need, result.have, newAlt, result.openVars, out ); 870 960 } 871 961 … … 1112 1202 1113 1203 // function may return struct or union value, in which case we need to add alternatives 1114 // for implicit conversions to each of the anonymous members, must happen after findMinCost1204 // for implicitconversions to each of the anonymous members, must happen after findMinCost 1115 1205 // since anon conversions are never the cheapest expression 1116 1206 for ( const Alternative & alt : winners ) { … … 1144 1234 if ( isLvalue( alt.expr ) ) { 1145 1235 alternatives.push_back( 1146 Alternative{ alt, new AddressExpr( alt.expr->clone() ), alt.cost } );1236 Alternative{ new AddressExpr( alt.expr->clone() ), alt.env, alt.cost } ); 1147 1237 } // if 1148 1238 } // for … … 1150 1240 1151 1241 void AlternativeFinder::Finder::postvisit( LabelAddressExpr * expr ) { 1152 alternatives.push_back( Alternative{ expr->clone(), env } );1242 alternatives.push_back( Alternative{ expr->clone(), env, Cost::zero } ); 1153 1243 } 1154 1244 … … 1195 1285 AltList candidates; 1196 1286 for ( Alternative & alt : finder.alternatives ) { 1197 AssertionSet needAssertions( alt.need.begin(), alt.need.end() ); 1198 AssertionSet haveAssertions; 1199 OpenVarSet openVars{ alt.openVars }; 1287 AssertionSet needAssertions, haveAssertions; 1288 OpenVarSet openVars; 1200 1289 1201 1290 alt.env.extractOpenVars( openVars ); … … 1225 1314 // count one safe conversion for each value that is thrown away 1226 1315 thisCost.incSafe( discardedValues ); 1227 Alternative newAlt {1228 restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ),1229 alt.env, openVars, needAssertions, alt.cost, alt.cost + thisCost };1230 inferParameters( newAlt,back_inserter( candidates ) );1316 Alternative newAlt( restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ), alt.env, 1317 alt.cost, thisCost ); 1318 inferParameters( needAssertions, haveAssertions, newAlt, openVars, 1319 back_inserter( candidates ) ); 1231 1320 } // if 1232 1321 } // for … … 1241 1330 1242 1331 void AlternativeFinder::Finder::postvisit( VirtualCastExpr * castExpr ) { 1243 assertf( castExpr->get_result(), "Implic itvirtual cast targets not yet supported." );1332 assertf( castExpr->get_result(), "Implicate virtual cast targets not yet supported." ); 1244 1333 AlternativeFinder finder( indexer, env ); 1245 1334 // don't prune here, since it's guaranteed all alternatives will have the same type 1246 1335 finder.findWithoutPrune( castExpr->get_arg() ); 1247 1336 for ( Alternative & alt : finder.alternatives ) { 1248 alternatives.push_back( Alternative {1249 alt, new VirtualCastExpr{ alt.expr->clone(), castExpr->get_result()->clone() },1250 alt. cost });1337 alternatives.push_back( Alternative( 1338 new VirtualCastExpr( alt.expr->clone(), castExpr->get_result()->clone() ), 1339 alt.env, alt.cost ) ); 1251 1340 } 1252 1341 } … … 1255 1344 /// Gets name from untyped member expression (member must be NameExpr) 1256 1345 const std::string& get_member_name( UntypedMemberExpr *memberExpr ) { 1257 if ( dynamic_cast< ConstantExpr * >( memberExpr->get_member() ) ) {1258 SemanticError( memberExpr, "Indexed access to struct fields unsupported: " );1259 } // if1260 1346 NameExpr * nameExpr = dynamic_cast< NameExpr * >( memberExpr->get_member() ); 1261 1347 assert( nameExpr ); … … 1276 1362 // find member of the given type 1277 1363 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->get_result() ) ) { 1278 addAggMembers( structInst, aggrExpr, *agg, cost, get_member_name(memberExpr) );1364 addAggMembers( structInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) ); 1279 1365 } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->get_result() ) ) { 1280 addAggMembers( unionInst, aggrExpr, *agg, cost, get_member_name(memberExpr) );1366 addAggMembers( unionInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) ); 1281 1367 } else if ( TupleType * tupleType = dynamic_cast< TupleType * >( aggrExpr->get_result() ) ) { 1282 addTupleMembers( tupleType, aggrExpr, *agg, cost, memberExpr->get_member() );1368 addTupleMembers( tupleType, aggrExpr, cost, agg->env, memberExpr->get_member() ); 1283 1369 } // if 1284 1370 } // for … … 1286 1372 1287 1373 void AlternativeFinder::Finder::postvisit( MemberExpr *memberExpr ) { 1288 alternatives.push_back( Alternative { memberExpr->clone(), env });1374 alternatives.push_back( Alternative( memberExpr->clone(), env, Cost::zero ) ); 1289 1375 } 1290 1376 … … 1299 1385 // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so 1300 1386 // can't construct in place and use vector::back 1301 Alternative newAlt { newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost };1387 Alternative newAlt( newExpr, env, Cost::zero, cost ); 1302 1388 PRINT( 1303 1389 std::cerr << "decl is "; … … 1317 1403 // not sufficient to clone here, because variable's type may have changed 1318 1404 // since the VariableExpr was originally created. 1319 alternatives.push_back( Alternative { new VariableExpr{ variableExpr->var }, env });1405 alternatives.push_back( Alternative( new VariableExpr( variableExpr->var ), env, Cost::zero ) ); 1320 1406 } 1321 1407 1322 1408 void AlternativeFinder::Finder::postvisit( ConstantExpr *constantExpr ) { 1323 alternatives.push_back( Alternative { constantExpr->clone(), env });1409 alternatives.push_back( Alternative( constantExpr->clone(), env, Cost::zero ) ); 1324 1410 } 1325 1411 … … 1327 1413 if ( sizeofExpr->get_isType() ) { 1328 1414 Type * newType = sizeofExpr->get_type()->clone(); 1329 alternatives.push_back( Alternative{ 1330 new SizeofExpr{ resolveTypeof( newType, indexer ) }, env } ); 1415 alternatives.push_back( Alternative( new SizeofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) ); 1331 1416 } else { 1332 1417 // find all alternatives for the argument to sizeof … … 1342 1427 Alternative &choice = winners.front(); 1343 1428 referenceToRvalueConversion( choice.expr, choice.cost ); 1344 alternatives.push_back( Alternative{ 1345 choice, new SizeofExpr( choice.expr->clone() ), Cost::zero } ); 1429 alternatives.push_back( Alternative( new SizeofExpr( choice.expr->clone() ), choice.env, Cost::zero ) ); 1346 1430 } // if 1347 1431 } … … 1350 1434 if ( alignofExpr->get_isType() ) { 1351 1435 Type * newType = alignofExpr->get_type()->clone(); 1352 alternatives.push_back( Alternative{ 1353 new AlignofExpr{ resolveTypeof( newType, indexer ) }, env } ); 1436 alternatives.push_back( Alternative( new AlignofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) ); 1354 1437 } else { 1355 1438 // find all alternatives for the argument to sizeof … … 1365 1448 Alternative &choice = winners.front(); 1366 1449 referenceToRvalueConversion( choice.expr, choice.cost ); 1367 alternatives.push_back( Alternative{ 1368 choice, new AlignofExpr{ choice.expr->clone() }, Cost::zero } ); 1450 alternatives.push_back( Alternative( new AlignofExpr( choice.expr->clone() ), choice.env, Cost::zero ) ); 1369 1451 } // if 1370 1452 } … … 1376 1458 for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) { 1377 1459 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) { 1378 alternatives.push_back( Alternative{ 1379 new OffsetofExpr{ aggInst->clone(), dwt }, env } ); 1460 alternatives.push_back( Alternative( new OffsetofExpr( aggInst->clone(), dwt ), env, Cost::zero ) ); 1380 1461 renameTypes( alternatives.back().expr ); 1381 1462 } else { … … 1396 1477 1397 1478 void AlternativeFinder::Finder::postvisit( OffsetofExpr *offsetofExpr ) { 1398 alternatives.push_back( Alternative { offsetofExpr->clone(), env });1479 alternatives.push_back( Alternative( offsetofExpr->clone(), env, Cost::zero ) ); 1399 1480 } 1400 1481 1401 1482 void AlternativeFinder::Finder::postvisit( OffsetPackExpr *offsetPackExpr ) { 1402 alternatives.push_back( Alternative { offsetPackExpr->clone(), env });1483 alternatives.push_back( Alternative( offsetPackExpr->clone(), env, Cost::zero ) ); 1403 1484 } 1404 1485 … … 1420 1501 Cost cost = Cost::zero; 1421 1502 Expression * newExpr = data.combine( cost ); 1422 alternatives.push_back( Alternative{ 1423 new AttrExpr{ newExpr, argType->clone() }, env, OpenVarSet{}, 1424 AssertionList{}, Cost::zero, cost } ); 1503 alternatives.push_back( Alternative( new AttrExpr( newExpr, argType->clone() ), env, Cost::zero, cost ) ); 1425 1504 for ( DeclarationWithType * retVal : function->returnVals ) { 1426 1505 alternatives.back().expr->result = retVal->get_type()->clone(); … … 1461 1540 Cost cost = Cost::zero; 1462 1541 Expression * newExpr = data.combine( cost ); 1463 alternatives.push_back( Alternative{ 1464 newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost } ); 1542 alternatives.push_back( Alternative( newExpr, env, Cost::zero, cost ) ); 1465 1543 renameTypes( alternatives.back().expr ); 1466 1544 } // for … … 1477 1555 for ( const Alternative & first : firstFinder.alternatives ) { 1478 1556 for ( const Alternative & second : secondFinder.alternatives ) { 1479 TypeEnvironment compositeEnv{ first.env }; 1557 TypeEnvironment compositeEnv; 1558 compositeEnv.simpleCombine( first.env ); 1480 1559 compositeEnv.simpleCombine( second.env ); 1481 OpenVarSet openVars{ first.openVars }; 1482 mergeOpenVars( openVars, second.openVars ); 1483 AssertionSet need; 1484 cloneAll( first.need, need ); 1485 cloneAll( second.need, need ); 1486 1487 LogicalExpr *newExpr = new LogicalExpr{ 1488 first.expr->clone(), second.expr->clone(), logicalExpr->get_isAnd() }; 1489 alternatives.push_back( Alternative{ 1490 newExpr, std::move(compositeEnv), std::move(openVars), 1491 AssertionList( need.begin(), need.end() ), first.cost + second.cost } ); 1560 1561 LogicalExpr *newExpr = new LogicalExpr( first.expr->clone(), second.expr->clone(), logicalExpr->get_isAnd() ); 1562 alternatives.push_back( Alternative( newExpr, compositeEnv, first.cost + second.cost ) ); 1492 1563 } 1493 1564 } … … 1510 1581 for ( const Alternative & second : secondFinder.alternatives ) { 1511 1582 for ( const Alternative & third : thirdFinder.alternatives ) { 1512 TypeEnvironment compositeEnv{ first.env }; 1583 TypeEnvironment compositeEnv; 1584 compositeEnv.simpleCombine( first.env ); 1513 1585 compositeEnv.simpleCombine( second.env ); 1514 1586 compositeEnv.simpleCombine( third.env ); 1515 OpenVarSet openVars{ first.openVars }; 1516 mergeOpenVars( openVars, second.openVars ); 1517 mergeOpenVars( openVars, third.openVars ); 1518 AssertionSet need; 1519 cloneAll( first.need, need ); 1520 cloneAll( second.need, need ); 1521 cloneAll( third.need, need ); 1522 AssertionSet have; 1523 1587 1524 1588 // unify true and false types, then infer parameters to produce new alternatives 1589 OpenVarSet openVars; 1590 AssertionSet needAssertions, haveAssertions; 1591 Alternative newAlt( 0, compositeEnv, first.cost + second.cost + third.cost ); 1525 1592 Type* commonType = nullptr; 1526 if ( unify( second.expr->result, third.expr->result, compositeEnv, 1527 need, have, openVars, indexer, commonType ) ) { 1528 ConditionalExpr *newExpr = new ConditionalExpr{ 1529 first.expr->clone(), second.expr->clone(), third.expr->clone() }; 1593 if ( unify( second.expr->result, third.expr->result, newAlt.env, needAssertions, haveAssertions, openVars, indexer, commonType ) ) { 1594 ConditionalExpr *newExpr = new ConditionalExpr( first.expr->clone(), second.expr->clone(), third.expr->clone() ); 1530 1595 newExpr->result = commonType ? commonType : second.expr->result->clone(); 1531 1596 // convert both options to the conditional result type 1532 Cost cost = first.cost + second.cost + third.cost; 1533 cost += computeExpressionConversionCost( 1534 newExpr->arg2, newExpr->result, indexer, compositeEnv ); 1535 cost += computeExpressionConversionCost( 1536 newExpr->arg3, newExpr->result, indexer, compositeEnv ); 1537 // output alternative 1538 Alternative newAlt{ 1539 newExpr, std::move(compositeEnv), std::move(openVars), 1540 AssertionList( need.begin(), need.end() ), cost }; 1541 inferParameters( newAlt, back_inserter( alternatives ) ); 1597 newAlt.cost += computeExpressionConversionCost( newExpr->arg2, newExpr->result, indexer, newAlt.env ); 1598 newAlt.cost += computeExpressionConversionCost( newExpr->arg3, newExpr->result, indexer, newAlt.env ); 1599 newAlt.expr = newExpr; 1600 inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( alternatives ) ); 1542 1601 } // if 1543 1602 } // for … … 1552 1611 secondFinder.findWithAdjustment( commaExpr->get_arg2() ); 1553 1612 for ( const Alternative & alt : secondFinder.alternatives ) { 1554 alternatives.push_back( Alternative{ 1555 alt, new CommaExpr{ newFirstArg->clone(), alt.expr->clone() }, alt.cost } ); 1613 alternatives.push_back( Alternative( new CommaExpr( newFirstArg->clone(), alt.expr->clone() ), alt.env, alt.cost ) ); 1556 1614 } // for 1557 1615 delete newFirstArg; … … 1568 1626 for ( const Alternative & first : firstFinder.alternatives ) { 1569 1627 for ( const Alternative & second : secondFinder.alternatives ) { 1570 TypeEnvironment compositeEnv{ first.env }; 1628 TypeEnvironment compositeEnv; 1629 compositeEnv.simpleCombine( first.env ); 1571 1630 compositeEnv.simpleCombine( second.env ); 1572 OpenVarSet openVars{ first.openVars }; 1573 mergeOpenVars( openVars, second.openVars ); 1574 AssertionSet need; 1575 cloneAll( first.need, need ); 1576 cloneAll( second.need, need ); 1577 AssertionSet have; 1578 1631 OpenVarSet openVars; 1632 AssertionSet needAssertions, haveAssertions; 1633 Alternative newAlt( 0, compositeEnv, first.cost + second.cost ); 1579 1634 Type* commonType = nullptr; 1580 if ( unify( first.expr->result, second.expr->result, compositeEnv, need, have, 1581 openVars, indexer, commonType ) ) { 1582 RangeExpr * newExpr = 1583 new RangeExpr{ first.expr->clone(), second.expr->clone() }; 1635 if ( unify( first.expr->result, second.expr->result, newAlt.env, needAssertions, haveAssertions, openVars, indexer, commonType ) ) { 1636 RangeExpr * newExpr = new RangeExpr( first.expr->clone(), second.expr->clone() ); 1584 1637 newExpr->result = commonType ? commonType : first.expr->result->clone(); 1585 Alternative newAlt{ 1586 newExpr, std::move(compositeEnv), std::move(openVars), 1587 AssertionList( need.begin(), need.end() ), first.cost + second.cost }; 1588 inferParameters( newAlt, back_inserter( alternatives ) ); 1638 newAlt.expr = newExpr; 1639 inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( alternatives ) ); 1589 1640 } // if 1590 1641 } // for … … 1604 1655 1605 1656 TypeEnvironment compositeEnv; 1606 OpenVarSet openVars; 1607 AssertionSet need; 1608 for ( const Alternative& alt : alts ) { 1609 compositeEnv.simpleCombine( alt.env ); 1610 mergeOpenVars( openVars, alt.openVars ); 1611 cloneAll( alt.need, need ); 1612 } 1613 1614 alternatives.push_back( Alternative{ 1615 new TupleExpr{ exprs }, std::move(compositeEnv), std::move(openVars), 1616 AssertionList( need.begin(), need.end() ), sumCost( alts ) } ); 1657 simpleCombineEnvironments( alts.begin(), alts.end(), compositeEnv ); 1658 alternatives.push_back( 1659 Alternative{ new TupleExpr( exprs ), compositeEnv, sumCost( alts ) } ); 1617 1660 } // for 1618 1661 } 1619 1662 1620 1663 void AlternativeFinder::Finder::postvisit( TupleExpr *tupleExpr ) { 1621 alternatives.push_back( Alternative { tupleExpr->clone(), env });1664 alternatives.push_back( Alternative( tupleExpr->clone(), env, Cost::zero ) ); 1622 1665 } 1623 1666 1624 1667 void AlternativeFinder::Finder::postvisit( ImplicitCopyCtorExpr * impCpCtorExpr ) { 1625 alternatives.push_back( Alternative { impCpCtorExpr->clone(), env });1668 alternatives.push_back( Alternative( impCpCtorExpr->clone(), env, Cost::zero ) ); 1626 1669 } 1627 1670 … … 1632 1675 finder.findWithoutPrune( ctorExpr->get_callExpr() ); 1633 1676 for ( Alternative & alt : finder.alternatives ) { 1634 alternatives.push_back( Alternative{ 1635 alt, new ConstructorExpr( alt.expr->clone() ), alt.cost } ); 1677 alternatives.push_back( Alternative( new ConstructorExpr( alt.expr->clone() ), alt.env, alt.cost ) ); 1636 1678 } 1637 1679 } 1638 1680 1639 1681 void AlternativeFinder::Finder::postvisit( TupleIndexExpr *tupleExpr ) { 1640 alternatives.push_back( Alternative { tupleExpr->clone(), env });1682 alternatives.push_back( Alternative( tupleExpr->clone(), env, Cost::zero ) ); 1641 1683 } 1642 1684 1643 1685 void AlternativeFinder::Finder::postvisit( TupleAssignExpr *tupleAssignExpr ) { 1644 alternatives.push_back( Alternative { tupleAssignExpr->clone(), env });1686 alternatives.push_back( Alternative( tupleAssignExpr->clone(), env, Cost::zero ) ); 1645 1687 } 1646 1688 … … 1651 1693 // ensure that the id is passed on to the UniqueExpr alternative so that the expressions are "linked" 1652 1694 UniqueExpr * newUnqExpr = new UniqueExpr( alt.expr->clone(), unqExpr->get_id() ); 1653 alternatives.push_back( Alternative { alt, newUnqExpr, alt.cost });1695 alternatives.push_back( Alternative( newUnqExpr, alt.env, alt.cost ) ); 1654 1696 } 1655 1697 } … … 1659 1701 ResolvExpr::resolveStmtExpr( newStmtExpr, indexer ); 1660 1702 // xxx - this env is almost certainly wrong, and needs to somehow contain the combined environments from all of the statements in the stmtExpr... 1661 alternatives.push_back( Alternative { newStmtExpr, env });1703 alternatives.push_back( Alternative( newStmtExpr, env, Cost::zero ) ); 1662 1704 } 1663 1705 … … 1681 1723 for ( Alternative & alt : finder.get_alternatives() ) { 1682 1724 TypeEnvironment newEnv( alt.env ); 1683 AssertionSet need; 1684 cloneAll( alt.need, need ); 1685 AssertionSet have; 1686 OpenVarSet openVars( alt.openVars ); 1687 // xxx - find things in env that don't have a "representative type" and claim 1688 // those are open vars? 1725 AssertionSet needAssertions, haveAssertions; 1726 OpenVarSet openVars; // find things in env that don't have a "representative type" and claim those are open vars? 1689 1727 PRINT( 1690 1728 std::cerr << " @ " << toType << " " << initAlt.designation << std::endl; 1691 1729 ) 1692 // It's possible that a cast can throw away some values in a multiply-valued 1693 // expression. (An example is a cast-to-void, which casts from one value to 1694 // zero.) Figure out the prefix of the subexpression results that are cast 1695 // directly. The candidate is invalid if it has fewer results than there are 1696 // types to cast to. 1730 // It's possible that a cast can throw away some values in a multiply-valued expression. (An example is a 1731 // cast-to-void, which casts from one value to zero.) Figure out the prefix of the subexpression results 1732 // that are cast directly. The candidate is invalid if it has fewer results than there are types to cast 1733 // to. 1697 1734 int discardedValues = alt.expr->result->size() - toType->size(); 1698 1735 if ( discardedValues < 0 ) continue; 1699 // xxx - may need to go into tuple types and extract relevant types and use 1700 // unifyList. Note that currently, this does not allow casting a tuple to an 1701 // atomic type (e.g. (int)([1, 2, 3])) 1702 1736 // xxx - may need to go into tuple types and extract relevant types and use unifyList. Note that currently, this does not 1737 // allow casting a tuple to an atomic type (e.g. (int)([1, 2, 3])) 1703 1738 // unification run for side-effects 1704 unify( toType, alt.expr->result, newEnv, need, have, openVars, indexer ); 1705 // xxx - do some inspecting on this line... why isn't result bound to initAlt.type? 1739 unify( toType, alt.expr->result, newEnv, needAssertions, haveAssertions, openVars, indexer ); // xxx - do some inspecting on this line... why isn't result bound to initAlt.type?? 1706 1740 1707 1741 Cost thisCost = castCost( alt.expr->result, toType, indexer, newEnv ); … … 1709 1743 // count one safe conversion for each value that is thrown away 1710 1744 thisCost.incSafe( discardedValues ); 1711 Alternative newAlt{ 1712 new InitExpr{ 1713 restructureCast( alt.expr->clone(), toType, true ), initAlt.designation->clone() }, 1714 std::move(newEnv), std::move(openVars), 1715 AssertionList( need.begin(), need.end() ), alt.cost, thisCost }; 1716 inferParameters( newAlt, back_inserter( candidates ) ); 1745 Alternative newAlt( new InitExpr( restructureCast( alt.expr->clone(), toType, true ), initAlt.designation->clone() ), newEnv, alt.cost, thisCost ); 1746 inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( candidates ) ); 1717 1747 } 1718 1748 } -
src/ResolvExpr/AlternativeFinder.h
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:56:12 2015 11 // Last Modified By : A aron B. Moss12 // Last Modified On : Fri Oct -5 10:01:00 201813 // Update Count : 511 // Last Modified By : Andrew Beach 12 // Last Modified On : Wed Jul 26 11:24:00 2017 13 // Update Count : 4 14 14 // 15 15 … … 24 24 #include "ResolvExpr/Cost.h" // for Cost, Cost::infinity 25 25 #include "ResolvExpr/TypeEnvironment.h" // for AssertionSet, OpenVarSet 26 #include "ResolvMode.h" // for ResolvMode27 26 #include "SynTree/Visitor.h" // for Visitor 28 27 #include "SynTree/SynTree.h" // for Visitor Nodes … … 69 68 } 70 69 71 void find( Expression *expr, ResolvMode mode = ResolvMode{});70 void find( Expression *expr, bool adjust = false, bool prune = true, bool failFast = true ); 72 71 /// Calls find with the adjust flag set; adjustment turns array and function types into equivalent pointer types 73 72 void findWithAdjustment( Expression *expr ); -
src/ResolvExpr/ConversionCost.cc
rcde3891 r9b086ca 28 28 29 29 namespace ResolvExpr { 30 const Cost Cost::zero = Cost{ 0, 0, 0, 0, 0, 0 }; 31 const Cost Cost::infinity = Cost{ -1, -1, -1, -1, 1, -1 }; 32 const Cost Cost::unsafe = Cost{ 1, 0, 0, 0, 0, 0 }; 33 const Cost Cost::poly = Cost{ 0, 1, 0, 0, 0, 0 }; 34 const Cost Cost::safe = Cost{ 0, 0, 1, 0, 0, 0 }; 35 const Cost Cost::var = Cost{ 0, 0, 0, 1, 0, 0 }; 36 const Cost Cost::spec = Cost{ 0, 0, 0, 0, -1, 0 }; 37 const Cost Cost::reference = Cost{ 0, 0, 0, 0, 0, 1 }; 30 const Cost Cost::zero = Cost( 0, 0, 0, 0 ); 31 const Cost Cost::infinity = Cost( -1, -1, -1, -1 ); 32 const Cost Cost::unsafe = Cost( 1, 0, 0, 0 ); 33 const Cost Cost::poly = Cost( 0, 1, 0, 0 ); 34 const Cost Cost::safe = Cost( 0, 0, 1, 0 ); 35 const Cost Cost::reference = Cost( 0, 0, 0, 1 ); 38 36 39 37 #if 0 -
src/ResolvExpr/Cost.h
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 09:39:50 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Fri Oct 05 14:32:00 201813 // Update Count : 711 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:35:55 2017 13 // Update Count : 5 14 14 // 15 15 … … 21 21 class Cost { 22 22 private: 23 Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost, 24 int referenceCost ); 23 Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost ); 25 24 26 25 public: … … 28 27 Cost & incPoly( int inc = 1 ); 29 28 Cost & incSafe( int inc = 1 ); 30 Cost & incVar( int inc = 1 );31 Cost & decSpec( int inc = 1 );32 29 Cost & incReference( int inc = 1 ); 33 30 … … 35 32 int get_polyCost() const { return polyCost; } 36 33 int get_safeCost() const { return safeCost; } 37 int get_varCost() const { return varCost; }38 int get_specCost() const { return specCost; }39 34 int get_referenceCost() const { return referenceCost; } 40 35 … … 46 41 bool operator!=( const Cost &other ) const; 47 42 friend std::ostream &operator<<( std::ostream &os, const Cost &cost ); 48 // returns negative for *this < other, 0 for *this == other, positive for *this > other49 int compare( const Cost &other ) const;50 43 51 44 static const Cost zero; … … 55 48 static const Cost poly; 56 49 static const Cost safe; 57 static const Cost var;58 static const Cost spec;59 50 static const Cost reference; 51 private: 52 int compare( const Cost &other ) const; 60 53 61 private: 62 int unsafeCost; ///< Unsafe (narrowing) conversions 63 int polyCost; ///< Count of parameters and return values bound to some poly type 64 int safeCost; ///< Safe (widening) conversions 65 int varCost; ///< Count of polymorphic type variables 66 int specCost; ///< Polymorphic type specializations (type assertions), negative cost 67 int referenceCost; ///< reference conversions 54 int unsafeCost; 55 int polyCost; 56 int safeCost; 57 int referenceCost; 68 58 }; 69 59 70 inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost, 71 int referenceCost ) 72 : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), varCost( varCost ), 73 specCost( specCost ), referenceCost( referenceCost ) {} 60 inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost ) : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), referenceCost( referenceCost ) {} 74 61 75 62 inline Cost & Cost::incUnsafe( int inc ) { … … 91 78 } 92 79 93 inline Cost & Cost::incVar( int inc ) {94 if ( *this == infinity ) return *this;95 varCost += inc;96 return *this;97 }98 99 inline Cost& Cost::decSpec( int dec ) {100 if ( *this == infinity ) return *this;101 specCost -= dec;102 return *this;103 }104 105 80 inline Cost & Cost::incReference( int inc ) { 106 81 if ( *this == infinity ) return *this; … … 111 86 inline Cost Cost::operator+( const Cost &other ) const { 112 87 if ( *this == infinity || other == infinity ) return infinity; 113 return Cost{ 114 unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, 115 varCost + other.varCost, specCost + other.specCost, 116 referenceCost + other.referenceCost }; 88 return Cost( unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, referenceCost + other.referenceCost ); 117 89 } 118 90 119 91 inline Cost Cost::operator-( const Cost &other ) const { 120 92 if ( *this == infinity || other == infinity ) return infinity; 121 return Cost{ 122 unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, 123 varCost - other.varCost, specCost - other.specCost, 124 referenceCost - other.referenceCost }; 93 return Cost( unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, referenceCost - other.referenceCost ); 125 94 } 126 95 … … 134 103 polyCost += other.polyCost; 135 104 safeCost += other.safeCost; 136 varCost += other.varCost;137 specCost += other.specCost;138 105 referenceCost += other.referenceCost; 139 106 return *this; … … 156 123 } else if ( safeCost < other.safeCost ) { 157 124 return true; 158 } else if ( varCost > other.varCost ) {159 return false;160 } else if ( varCost < other.varCost ) {161 return true;162 } else if ( specCost > other.specCost ) {163 return false;164 } else if ( specCost > other.specCost ) {165 return true;166 125 } else if ( referenceCost > other.referenceCost ) { 167 126 return false; … … 173 132 } 174 133 175 inline int Cost::compare( const Cost &other ) const {176 if ( *this == infinity ) return +1;177 if ( other == infinity ) return -1;178 179 int c = unsafeCost - other.unsafeCost; if ( c ) return c;180 c = polyCost - other.polyCost; if ( c ) return c;181 c = safeCost - other.safeCost; if ( c ) return c;182 c = varCost - other.varCost; if ( c ) return c;183 c = specCost - other.specCost; if ( c ) return c;184 return referenceCost - other.referenceCost;185 }186 187 134 inline bool Cost::operator==( const Cost &other ) const { 188 135 return unsafeCost == other.unsafeCost 189 136 && polyCost == other.polyCost 190 137 && safeCost == other.safeCost 191 && varCost == other.varCost192 && specCost == other.specCost193 138 && referenceCost == other.referenceCost; 194 139 } … … 199 144 200 145 inline std::ostream &operator<<( std::ostream &os, const Cost &cost ) { 201 return os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " 202 << cost.safeCost << ", " << cost.varCost << ", " << cost.specCost << ", " 203 << cost.referenceCost << " )"; 146 os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " << cost.safeCost << ", " << cost.referenceCost << " )"; 147 return os; 204 148 } 205 149 } // namespace ResolvExpr -
src/ResolvExpr/ResolveTypeof.cc
rcde3891 r9b086ca 67 67 std::cerr << std::endl; 68 68 #endif 69 // pass on null expression 70 if ( ! typeofType->expr ) return typeofType; 71 72 bool isBasetypeof = typeofType->is_basetypeof; 73 auto oldQuals = typeofType->get_qualifiers().val; 74 75 Type* newType; 76 if ( TypeExpr* tyExpr = dynamic_cast<TypeExpr*>(typeofType->expr) ) { 77 // typeof wrapping type 78 newType = tyExpr->type; 79 tyExpr->type = nullptr; 80 delete tyExpr; 81 } else { 82 // typeof wrapping expression 69 if ( typeofType->expr ) { 83 70 Expression * newExpr = resolveInVoidContext( typeofType->expr, indexer ); 84 71 assert( newExpr->result && ! newExpr->result->isVoid() ); 85 newType = newExpr->result;72 Type * newType = newExpr->result; 86 73 newExpr->result = nullptr; 87 74 delete typeofType; 88 75 delete newExpr; 89 } 90 91 // clear qualifiers for base, combine with typeoftype quals in any case 92 if ( isBasetypeof ) { 93 // replace basetypeof(<enum>) by int 94 if ( dynamic_cast<EnumInstType*>(newType) ) { 95 Type* newerType = 96 new BasicType{ newType->get_qualifiers(), BasicType::SignedInt, 97 newType->attributes }; 98 delete newType; 99 newType = newerType; 100 } 101 newType->get_qualifiers().val 102 = ( newType->get_qualifiers().val & ~Type::Qualifiers::Mask ) | oldQuals; 103 } else { 104 newType->get_qualifiers().val |= oldQuals; 105 } 106 107 return newType; 76 return newType; 77 } // if 78 return typeofType; 108 79 } 109 80 } // namespace ResolvExpr -
src/ResolvExpr/Resolver.cc
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Fri Oct 05 09:43:00 201813 // Update Count : 21 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Feb 17 11:19:40 2018 13 // Update Count : 213 14 14 // 15 15 16 #include <stddef.h> // for NULL 16 17 #include <cassert> // for strict_dynamic_cast, assert 17 18 #include <memory> // for allocator, allocator_traits<... 18 19 #include <tuple> // for get 19 #include <vector> // for vector20 #include <vector> 20 21 21 22 #include "Alternative.h" // for Alternative, AltList … … 30 31 #include "ResolvExpr/TypeEnvironment.h" // for TypeEnvironment 31 32 #include "Resolver.h" 32 #include "ResolvMode.h" // for ResolvMode33 #include "SymTab/Autogen.h" // for SizeType34 33 #include "SymTab/Indexer.h" // for Indexer 35 34 #include "SynTree/Declaration.h" // for ObjectDecl, TypeDecl, Declar... … … 169 168 170 169 namespace { 171 void findUnfinishedKindExpression(Expression * untyped, Alternative & alt, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{}) {170 void findUnfinishedKindExpression(Expression * untyped, Alternative & alt, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, bool adjust = false, bool prune = true, bool failFast = true) { 172 171 assertf( untyped, "expected a non-null expression." ); 173 174 // xxx - this isn't thread-safe, but should work until we parallelize the resolver175 static unsigned recursion_level = 0;176 177 ++recursion_level;178 172 TypeEnvironment env; 179 173 AlternativeFinder finder( indexer, env ); 180 finder.find( untyped, recursion_level == 1 ? mode.atTopLevel() : mode ); 181 --recursion_level; 174 finder.find( untyped, adjust, prune, failFast ); 182 175 183 176 #if 0 … … 192 185 #endif 193 186 194 // produce filtered list of alternatives195 187 AltList candidates; 196 188 for ( Alternative & alt : finder.get_alternatives() ) { … … 200 192 } 201 193 202 // produce invalid error if no candidates 203 if ( candidates.empty() ) { 194 // xxx - if > 1 alternative with same cost, ignore deleted and pick from remaining 195 // choose the lowest cost expression among the candidates 196 AltList winners; 197 findMinCost( candidates.begin(), candidates.end(), back_inserter( winners ) ); 198 if ( winners.size() == 0 ) { 204 199 SemanticError( untyped, toString( "No reasonable alternatives for ", kindStr, (kindStr != "" ? " " : ""), "expression: ") ); 205 } 206 207 // search for cheapest candidate 208 AltList winners; 209 bool seen_undeleted = false; 210 for ( unsigned i = 0; i < candidates.size(); ++i ) { 211 int c = winners.empty() ? -1 : candidates[i].cost.compare( winners.front().cost ); 212 213 if ( c > 0 ) continue; // skip more expensive than winner 214 215 if ( c < 0 ) { 216 // reset on new cheapest 217 seen_undeleted = ! findDeletedExpr( candidates[i].expr ); 218 winners.clear(); 219 } else /* if ( c == 0 ) */ { 220 if ( findDeletedExpr( candidates[i].expr ) ) { 221 // skip deleted expression if already seen one equivalent-cost not 222 if ( seen_undeleted ) continue; 223 } else if ( ! seen_undeleted ) { 224 // replace list of equivalent-cost deleted expressions with one non-deleted 225 winners.clear(); 226 seen_undeleted = true; 227 } 228 } 229 230 winners.emplace_back( std::move( candidates[i] ) ); 231 } 232 233 // promote alternative.cvtCost to .cost 234 // xxx - I don't know why this is done, but I'm keeping the behaviour from findMinCost 235 for ( Alternative& winner : winners ) { 236 winner.cost = winner.cvtCost; 237 } 238 239 // produce ambiguous errors, if applicable 240 if ( winners.size() != 1 ) { 200 } else if ( winners.size() != 1 ) { 241 201 std::ostringstream stream; 242 202 stream << "Cannot choose between " << winners.size() << " alternatives for " << kindStr << (kindStr != "" ? " " : "") << "expression\n"; … … 247 207 } 248 208 249 // single selected choice 250 Alternative& choice = winners.front(); 251 252 // fail on only expression deleted 253 if ( ! seen_undeleted ) { 209 // there is one unambiguous interpretation - move the expression into the with statement 210 Alternative & choice = winners.front(); 211 if ( findDeletedExpr( choice.expr ) ) { 254 212 SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " ); 255 213 } 256 257 // xxx - check for ambiguous expressions258 259 // output selected choice260 214 alt = std::move( choice ); 261 215 } 262 216 263 217 /// resolve `untyped` to the expression whose alternative satisfies `pred` with the lowest cost; kindStr is used for providing better error messages 264 void findKindExpression(Expression *& untyped, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{}) {218 void findKindExpression(Expression *& untyped, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, bool adjust = false, bool prune = true, bool failFast = true) { 265 219 if ( ! untyped ) return; 266 220 Alternative choice; 267 findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, mode);221 findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, adjust, prune, failFast ); 268 222 finishExpr( choice.expr, choice.env, untyped->env ); 269 223 delete untyped; … … 296 250 untyped.arg = expr; 297 251 Alternative choice; 298 findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, ResolvMode::withAdjustment());252 findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, true ); 299 253 CastExpr * castExpr = strict_dynamic_cast< CastExpr * >( choice.expr ); 300 254 env = std::move( choice.env ); … … 403 357 404 358 void Resolver::previsit( ObjectDecl *objectDecl ) { 405 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that 406 // class-variable initContext is changed multiple time because the LHS is analysed twice.407 // The second analysis changes initContext because of a function type can contain object408 // declarations in the return and parameter types. So each value of initContext is409 // retained, so the type on the first analysis is preserved and used for selectingthe RHS.359 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that class-variable 360 // initContext is changed multiple time because the LHS is analysed twice. The second analysis changes 361 // initContext because of a function type can contain object declarations in the return and parameter types. So 362 // each value of initContext is retained, so the type on the first analysis is preserved and used for selecting 363 // the RHS. 410 364 GuardValue( currentObject ); 411 365 currentObject = CurrentObject( objectDecl->get_type() ); … … 443 397 444 398 void Resolver::postvisit( FunctionDecl *functionDecl ) { 445 // default value expressions have an environment which shouldn't be there and trips up 446 // later passes. 447 // xxx - it might be necessary to somehow keep the information from this environment, but I 448 // can't currently see how it's useful. 399 // default value expressions have an environment which shouldn't be there and trips up later passes. 400 // xxx - it might be necessary to somehow keep the information from this environment, but I can't currently 401 // see how it's useful. 449 402 for ( Declaration * d : functionDecl->type->parameters ) { 450 403 if ( ObjectDecl * obj = dynamic_cast< ObjectDecl * >( d ) ) { … … 796 749 initExpr->expr = nullptr; 797 750 std::swap( initExpr->env, newExpr->env ); 798 // InitExpr may have inferParams in the case where the expression specializes a function 799 // pointer, and newExpr may already have inferParams of its own, so a simple swap is not 800 // sufficient. 751 // InitExpr may have inferParams in the case where the expression specializes a function pointer, 752 // and newExpr may already have inferParams of its own, so a simple swap is not sufficient. 801 753 newExpr->spliceInferParams( initExpr ); 802 754 delete initExpr; 803 755 804 // get the actual object's type (may not exactly match what comes back from the resolver 805 // due to conversions) 756 // get the actual object's type (may not exactly match what comes back from the resolver due to conversions) 806 757 Type * initContext = currentObject.getCurrentType(); 807 758 … … 815 766 if ( isCharType( pt->get_base() ) ) { 816 767 if ( CastExpr *ce = dynamic_cast< CastExpr * >( newExpr ) ) { 817 // strip cast if we're initializing a char[] with a char *, 818 // e.g. char x[] = "hello"; 768 // strip cast if we're initializing a char[] with a char *, e.g. char x[] = "hello"; 819 769 newExpr = ce->get_arg(); 820 770 ce->set_arg( nullptr ); … … 838 788 // move cursor into brace-enclosed initializer-list 839 789 currentObject.enterListInit(); 840 // xxx - fix this so that the list isn't copied, iterator should be used to change current 841 // element 790 // xxx - fix this so that the list isn't copied, iterator should be used to change current element 842 791 std::list<Designation *> newDesignations; 843 792 for ( auto p : group_iterate(listInit->get_designations(), listInit->get_initializers()) ) { 844 // iterate designations and initializers in pairs, moving the cursor to the current 845 // designated object and resolvingthe initializer against that object.793 // iterate designations and initializers in pairs, moving the cursor to the current designated object and resolving 794 // the initializer against that object. 846 795 Designation * des = std::get<0>(p); 847 796 Initializer * init = std::get<1>(p); … … 873 822 // fall back on C-style initializer 874 823 delete ctorInit->get_ctor(); 875 ctorInit->set_ctor( nullptr);824 ctorInit->set_ctor( NULL ); 876 825 delete ctorInit->get_dtor(); 877 ctorInit->set_dtor( nullptr);826 ctorInit->set_dtor( NULL ); 878 827 maybeAccept( ctorInit->get_init(), *visitor ); 879 828 } … … 918 867 919 868 // xxx - todo -- what about arrays? 920 // if ( dtor == nullptr&& InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) {869 // if ( dtor == NULL && InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) { 921 870 // // can reduce the constructor down to a SingleInit using the 922 871 // // second argument from the ctor call, since 923 872 // delete ctorInit->get_ctor(); 924 // ctorInit->set_ctor( nullptr);873 // ctorInit->set_ctor( NULL ); 925 874 926 875 // Expression * arg = -
src/ResolvExpr/TypeEnvironment.cc
rcde3891 r9b086ca 120 120 121 121 const EqvClass* TypeEnvironment::lookup( const std::string &var ) const { 122 for ( ClassList::const_iterator i = env.begin(); i != env.end(); ++i ) {122 for ( std::list< EqvClass >::const_iterator i = env.begin(); i != env.end(); ++i ) { 123 123 if ( i->vars.find( var ) != i->vars.end() ) return &*i; 124 124 } // for … … 168 168 169 169 void TypeEnvironment::makeSubstitution( TypeSubstitution &sub ) const { 170 for ( ClassList::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {170 for ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) { 171 171 for ( std::set< std::string >::const_iterator theVar = theClass->vars.begin(); theVar != theClass->vars.end(); ++theVar ) { 172 172 if ( theClass->type ) { … … 188 188 } 189 189 190 TypeEnvironment::ClassList::iterator TypeEnvironment::internal_lookup( const std::string &var ) {191 for ( ClassList::iterator i = env.begin(); i != env.end(); ++i ) {190 std::list< EqvClass >::iterator TypeEnvironment::internal_lookup( const std::string &var ) { 191 for ( std::list< EqvClass >::iterator i = env.begin(); i != env.end(); ++i ) { 192 192 if ( i->vars.count( var ) ) return i; 193 193 } // for … … 199 199 } 200 200 201 // xxx -- this should maybe be worrying about iterator invalidation (see resolv-proto)202 bool TypeEnvironment::mergeBound( EqvClass& to, const EqvClass& from, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {203 if ( from.type ) {204 if ( to.type ) {205 // attempt to unify bound types206 std::unique_ptr<Type> toType{ to.type->clone() }, fromType{ from.type->clone() };207 WidenMode widenMode{ to.allowWidening, from.allowWidening };208 Type* common = nullptr;209 AssertionSet need, have;210 if ( unifyInexact( toType.get(), fromType.get(), *this, need, have, openVars, widenMode, indexer, common ) ) {211 // unifies, set common type if necessary212 if ( common ) {213 common->get_qualifiers() = Type::Qualifiers{};214 to.set_type( common );215 }216 } else return false; // cannot unify217 } else {218 to.type = from.type->clone();219 }220 }221 222 // unify widening if matches223 to.allowWidening &= from.allowWidening;224 return true;225 }226 227 // xxx -- this should maybe be worrying about iterator invalidation (see resolv-proto)228 bool TypeEnvironment::mergeClasses( TypeEnvironment::ClassList::iterator to, TypeEnvironment::ClassList::iterator from, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {229 EqvClass& r = *to;230 EqvClass& s = *from;231 232 // ensure bounds match233 if ( ! mergeBound( r, s, openVars, indexer ) ) return false;234 235 // check safely bindable236 if ( r.type && occursIn( r.type, s.vars.begin(), s.vars.end(), *this ) ) return false;237 238 // merge classes in239 r.vars.insert( s.vars.begin(), s.vars.end() );240 r.allowWidening &= s.allowWidening;241 env.erase( from );242 243 return true;244 }245 246 bool TypeEnvironment::combine( const TypeEnvironment& o, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {247 // short-circuit easy cases248 if ( o.isEmpty() ) return true;249 if ( isEmpty() ) {250 simpleCombine( o );251 return true;252 }253 254 // merge classes255 for ( auto ct = o.env.begin(); ct != o.env.end(); ++ct ) {256 const EqvClass& c = *ct;257 258 // typeclass in local environment bound to c259 auto rt = env.end();260 261 // look for first existing bound variable262 auto vt = c.vars.begin();263 for ( ; vt != c.vars.end(); ++vt ) {264 rt = internal_lookup( *vt );265 if ( rt != env.end() ) break;266 }267 268 if ( rt != env.end() ) { // c needs to be merged into *rt269 EqvClass& r = *rt;270 // merge bindings271 if ( ! mergeBound( r, c, openVars, indexer ) ) return false;272 // merge previous unbound variables into this class, checking occurs if needed273 if ( r.type ) for ( auto ut = c.vars.begin(); ut != vt; ++ut ) {274 if ( occurs( r.type, *ut, *this ) ) return false;275 r.vars.insert( *ut );276 } else { r.vars.insert( c.vars.begin(), vt ); }277 // merge subsequent variables into this class (skipping *vt, already there)278 while ( ++vt != c.vars.end() ) {279 auto st = internal_lookup( *vt );280 if ( st == env.end() ) {281 // unbound, safe to add if passes occurs282 if ( r.type && occurs( r.type, *vt, *this ) ) return false;283 r.vars.insert( *vt );284 } else if ( st != rt ) {285 // bound, but not to the same class286 if ( ! mergeClasses( rt, st, openVars, indexer ) ) return false;287 } // ignore bound into the same class288 }289 } else { // no variables in c bound; just copy up290 env.push_back( c );291 }292 }293 294 // merged all classes295 return true;296 }297 298 201 void TypeEnvironment::extractOpenVars( OpenVarSet &openVars ) const { 299 for ( ClassList::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) {202 for ( std::list< EqvClass >::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) { 300 203 for ( std::set< std::string >::const_iterator var = eqvClass->vars.begin(); var != eqvClass->vars.end(); ++var ) { 301 204 openVars[ *var ] = eqvClass->data; -
src/ResolvExpr/TypeEnvironment.h
rcde3891 r9b086ca 39 39 // declarations. 40 40 // 41 // I've seen a TU go from 54 minutes to 1 minute 34 seconds with the addition of this 42 // comparator. 41 // I've seen a TU go from 54 minutes to 1 minute 34 seconds with the addition of this comparator. 43 42 // 44 43 // Note: since this compares pointers for position, minor changes in the source file that affect 45 44 // memory layout can alter compilation time in unpredictable ways. For example, the placement 46 45 // of a line directive can reorder type pointers with respect to each other so that assertions 47 // are seen in different orders, causing a potentially different number of unification calls 48 // when resolving assertions. I've seen a TU go from 36 seconds to 27 seconds by reordering 49 // line directives alone, so it would be nice to fix this comparison so that assertions compare 50 // more consistently. I've tried to modify this to compare on mangle name instead of type as 51 // the second comparator, but this causes some assertions to never be recorded. More 52 // investigation is needed. 46 // are seen in different orders, causing a potentially different number of unification calls when 47 // resolving assertions. I've seen a TU go from 36 seconds to 27 seconds by reordering line directives 48 // alone, so it would be nice to fix this comparison so that assertions compare more consistently. 49 // I've tried to modify this to compare on mangle name instead of type as the second comparator, but 50 // this causes some assertions to never be recorded. More investigation is needed. 53 51 struct AssertCompare { 54 52 bool operator()( DeclarationWithType * d1, DeclarationWithType * d2 ) const { … … 59 57 }; 60 58 struct AssertionSetValue { 61 bool isUsed; ///< True if assertion needs to be resolved 62 UniqueId resnSlot; ///< ID of slot assertion belongs to 63 64 AssertionSetValue() : isUsed(false), resnSlot(0) {} 59 bool isUsed; 60 // chain of Unique IDs of the assertion declarations. The first ID in the chain is the ID of an assertion on the current type, 61 // with each successive ID being the ID of an assertion pulled in by the previous ID. The last ID in the chain is 62 // the ID of the assertion that pulled in the current assertion. 63 std::list< UniqueId > idChain; 65 64 }; 66 65 typedef std::map< DeclarationWithType*, AssertionSetValue, AssertCompare > AssertionSet; 67 66 typedef std::map< std::string, TypeDecl::Data > OpenVarSet; 68 69 /// merges one set of open vars into another70 static inline void mergeOpenVars( OpenVarSet& dst, const OpenVarSet& src ) {71 for ( const auto& entry : src ) { dst[ entry.first ] = entry.second; }72 }73 67 74 68 void printAssertionSet( const AssertionSet &, std::ostream &, int indent = 0 ); … … 97 91 98 92 class TypeEnvironment { 99 using ClassList = std::list< EqvClass >;100 93 public: 101 94 const EqvClass* lookup( const std::string &var ) const; … … 110 103 bool isEmpty() const { return env.empty(); } 111 104 void print( std::ostream &os, Indenter indent = {} ) const; 112 113 /// Simply concatenate the second environment onto this one; no safety checks performed 105 // void combine( const TypeEnvironment &second, Type *(*combineFunc)( Type*, Type* ) ); 114 106 void simpleCombine( const TypeEnvironment &second ); 115 116 private:117 /// Unifies the type bound of to with the type bound of from, returning false if fails118 bool mergeBound( EqvClass& to, const EqvClass& from, OpenVarSet& openVars, const SymTab::Indexer& indexer );119 120 /// Merges two type classes from local environment, returning false if fails121 bool mergeClasses( ClassList::iterator to, ClassList::iterator from, OpenVarSet& openVars, const SymTab::Indexer& indexer );122 123 public:124 /// Merges the second environment with this one, checking compatibility.125 /// Returns false if fails, but does NOT roll back partial changes.126 bool combine( const TypeEnvironment& second, OpenVarSet& openVars, const SymTab::Indexer& indexer );127 128 107 void extractOpenVars( OpenVarSet &openVars ) const; 129 108 TypeEnvironment *clone() const { return new TypeEnvironment( *this ); } … … 144 123 void forbidWidening(); 145 124 146 using iterator = ClassList::const_iterator;125 using iterator = std::list< EqvClass >::const_iterator; 147 126 iterator begin() const { return env.begin(); } 148 127 iterator end() const { return env.end(); } 149 128 150 129 private: 151 ClassListenv;130 std::list< EqvClass > env; 152 131 153 ClassList::iterator internal_lookup( const std::string &var );132 std::list< EqvClass >::iterator internal_lookup( const std::string &var ); 154 133 }; 155 134 -
src/ResolvExpr/module.mk
rcde3891 r9b086ca 33 33 ResolvExpr/TypeEnvironment.cc \ 34 34 ResolvExpr/CurrentObject.cc \ 35 ResolvExpr/ExplodedActual.cc \ 36 ResolvExpr/SpecCost.cc \ 37 ResolvExpr/ResolveAssertions.cc 35 ResolvExpr/ExplodedActual.cc -
src/ResolvExpr/typeops.h
rcde3891 r9b086ca 72 72 Cost conversionCost( Type *src, Type *dest, const SymTab::Indexer &indexer, const TypeEnvironment &env ); 73 73 74 // in AlternativeFinder.cc75 Cost computeConversionCost( Type *actualType, Type *formalType,76 const SymTab::Indexer &indexer, const TypeEnvironment &env );77 78 74 // in PtrsAssignable.cc 79 75 int ptrsAssignable( Type *src, Type *dest, const TypeEnvironment &env ); … … 106 102 int polyCost( Type *type, const TypeEnvironment &env, const SymTab::Indexer &indexer ); 107 103 108 // in SpecCost.cc109 int specCost( Type *type );110 111 104 // in Occurs.cc 112 105 bool occurs( Type *type, std::string varName, const TypeEnvironment &env ); 113 114 template<typename Iter>115 bool occursIn( Type* ty, Iter begin, Iter end, const TypeEnvironment &env ) {116 while ( begin != end ) {117 if ( occurs( ty, *begin, env ) ) return true;118 ++begin;119 }120 return false;121 }122 106 123 107 // in AlternativeFinder.cc -
src/SymTab/Demangle.cc
rcde3891 r9b086ca 392 392 parsers.emplace_back(Encoding::enum_t, [this](Type::Qualifiers tq) { return parseEnum(tq); }); 393 393 parsers.emplace_back(Encoding::type, [this](Type::Qualifiers tq) { return parseType(tq); }); 394 parsers.emplace_back(Encoding::zero, [ ](Type::Qualifiers tq) { return new ZeroType(tq); });395 parsers.emplace_back(Encoding::one, [ ](Type::Qualifiers tq) { return new OneType(tq); });394 parsers.emplace_back(Encoding::zero, [this](Type::Qualifiers tq) { return new ZeroType(tq); }); 395 parsers.emplace_back(Encoding::one, [this](Type::Qualifiers tq) { return new OneType(tq); }); 396 396 } 397 397 -
src/SymTab/Mangler.cc
rcde3891 r9b086ca 15 15 #include "Mangler.h" 16 16 17 #include <algorithm> // for copy, transform18 #include <cassert> // for assert, assertf19 #include <functional> // for const_mem_fun_t, mem_fun20 #include <iterator> // for ostream_iterator, back_insert_ite...21 #include <list> // for _List_iterator, list, _List_const...22 #include <string> // for string, char_traits, operator<<23 24 #include "CodeGen/OperatorTable.h" // for OperatorInfo, operatorLookup17 #include <algorithm> // for copy, transform 18 #include <cassert> // for assert, assertf 19 #include <functional> // for const_mem_fun_t, mem_fun 20 #include <iterator> // for ostream_iterator, back_insert_ite... 21 #include <list> // for _List_iterator, list, _List_const... 22 #include <string> // for string, char_traits, operator<< 23 24 #include "CodeGen/OperatorTable.h" // for OperatorInfo, operatorLookup 25 25 #include "Common/PassVisitor.h" 26 #include "Common/SemanticError.h" // for SemanticError 27 #include "Common/utility.h" // for toString 28 #include "Parser/LinkageSpec.h" // for Spec, isOverridable, AutoGen, Int... 29 #include "ResolvExpr/TypeEnvironment.h" // for TypeEnvironment 30 #include "SynTree/Declaration.h" // for TypeDecl, DeclarationWithType 31 #include "SynTree/Expression.h" // for TypeExpr, Expression, operator<< 32 #include "SynTree/Type.h" // for Type, ReferenceToType, Type::Fora... 26 #include "Common/SemanticError.h" // for SemanticError 27 #include "Common/utility.h" // for toString 28 #include "Parser/LinkageSpec.h" // for Spec, isOverridable, AutoGen, Int... 29 #include "SynTree/Declaration.h" // for TypeDecl, DeclarationWithType 30 #include "SynTree/Expression.h" // for TypeExpr, Expression, operator<< 31 #include "SynTree/Type.h" // for Type, ReferenceToType, Type::Fora... 33 32 34 33 namespace SymTab { … … 38 37 struct Mangler : public WithShortCircuiting, public WithVisitorRef<Mangler>, public WithGuards { 39 38 Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams ); 40 Mangler( const ResolvExpr::TypeEnvironment& env );41 39 Mangler( const Mangler & ) = delete; 42 40 … … 67 65 private: 68 66 std::ostringstream mangleName; ///< Mangled name being constructed 69 typedef std::map< std::string, std::pair< std::string, int > > VarMapType;67 typedef std::map< std::string, std::pair< int, int > > VarMapType; 70 68 VarMapType varNums; ///< Map of type variables to indices 71 69 int nextVarNum; ///< Next type variable index 72 const ResolvExpr::TypeEnvironment* env; ///< optional environment for substitutions73 70 bool isTopLevel; ///< Is the Mangler at the top level 74 71 bool mangleOverridable; ///< Specially mangle overridable built-in methods … … 78 75 bool inQualifiedType = false; ///< Add start/end delimiters around qualified type 79 76 80 public:81 Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams,82 int nextVarNum, const ResolvExpr::TypeEnvironment* env,83 const VarMapType& varNums );84 85 private:86 77 void mangleDecl( DeclarationWithType *declaration ); 87 78 void mangleRef( ReferenceToType *refType, std::string prefix ); … … 109 100 } 110 101 111 std::string mangleAssnKey( DeclarationWithType* decl,112 const ResolvExpr::TypeEnvironment& env ) {113 PassVisitor<Mangler> mangler( env );114 maybeAccept( decl, mangler );115 return mangler.pass.get_mangleName();116 }117 118 102 namespace { 119 103 Mangler::Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams ) 120 : nextVarNum( 0 ), env(nullptr), isTopLevel( true ), 121 mangleOverridable( mangleOverridable ), typeMode( typeMode ), 122 mangleGenericParams( mangleGenericParams ) {} 123 124 Mangler::Mangler( const ResolvExpr::TypeEnvironment& env ) 125 : nextVarNum( 0 ), env( &env ), isTopLevel( true ), mangleOverridable( false ), 126 typeMode( false ), mangleGenericParams( true ) {} 127 128 Mangler::Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams, 129 int nextVarNum, const ResolvExpr::TypeEnvironment* env, 130 const VarMapType& varNums ) 131 : varNums( varNums ), nextVarNum( nextVarNum ), env( env ), isTopLevel( false ), 132 mangleOverridable( mangleOverridable ), typeMode( typeMode ), 133 mangleGenericParams( mangleGenericParams ) {} 104 : nextVarNum( 0 ), isTopLevel( true ), mangleOverridable( mangleOverridable ), typeMode( typeMode ), mangleGenericParams( mangleGenericParams ) {} 134 105 135 106 void Mangler::mangleDecl( DeclarationWithType * declaration ) { … … 358 329 assert( false ); 359 330 } // switch 360 std::string varName; 361 // replace type with substitution name if environment is available and bound 362 if ( env ) { 363 const ResolvExpr::EqvClass* varClass = env->lookup( (*i)->name ); 364 if ( varClass && varClass->type ) { 365 PassVisitor<Mangler> sub_mangler( 366 mangleOverridable, typeMode, mangleGenericParams, nextVarNum, 367 env, varNums ); 368 varClass->type->accept( sub_mangler ); 369 varName = std::string{"%"} + sub_mangler.pass.get_mangleName(); 370 } 371 } 372 // otherwise just give type numeric name 373 if ( varName.empty() ) { 374 varName = std::to_string( nextVarNum++ ); 375 } 376 varNums[ (*i)->name ] = std::make_pair( varName, (int)(*i)->get_kind() ); 331 varNums[ (*i)->name ] = std::pair< int, int >( nextVarNum++, (int)(*i)->get_kind() ); 377 332 for ( std::list< DeclarationWithType* >::iterator assert = (*i)->assertions.begin(); assert != (*i)->assertions.end(); ++assert ) { 378 PassVisitor<Mangler> sub_mangler( 379 mangleOverridable, typeMode, mangleGenericParams, nextVarNum, env, 380 varNums ); 333 PassVisitor<Mangler> sub_mangler( mangleOverridable, typeMode, mangleGenericParams ); 334 sub_mangler.pass.nextVarNum = nextVarNum; 335 sub_mangler.pass.isTopLevel = false; 336 sub_mangler.pass.varNums = varNums; 381 337 (*assert)->accept( sub_mangler ); 382 assertionNames.push_back( sub_mangler.pass. get_mangleName() );338 assertionNames.push_back( sub_mangler.pass.mangleName.str() ); 383 339 acount++; 384 340 } // for -
src/SymTab/Mangler.h
rcde3891 r9b086ca 31 31 // * Currently name compression is not implemented. 32 32 33 namespace ResolvExpr {34 class TypeEnvironment;35 }36 37 33 namespace SymTab { 38 34 namespace Mangler { … … 44 40 /// Mangle ignoring generic type parameters 45 41 std::string mangleConcrete( Type* ty ); 46 /// Mangle for assertion key47 std::string mangleAssnKey( DeclarationWithType* decl,48 const ResolvExpr::TypeEnvironment& env );49 42 50 43 namespace Encoding { -
src/SymTab/Validate.cc
rcde3891 r9b086ca 398 398 assert( aggr ); // TODO: need to handle forward declarations 399 399 for ( Declaration * member : aggr->members ) { 400 if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) { 400 if ( StructInstType * inst = dynamic_cast< StructInstType * >( child ) ) { 401 if ( StructDecl * aggr = dynamic_cast< StructDecl * >( member ) ) { 402 if ( aggr->name == inst->name ) { 403 // TODO: is this case, and other non-TypeInstType cases, necessary? 404 return new StructInstType( qualType->get_qualifiers(), aggr ); 405 } 406 } 407 } else if ( UnionInstType * inst = dynamic_cast< UnionInstType * >( child ) ) { 408 if ( UnionDecl * aggr = dynamic_cast< UnionDecl * > ( member ) ) { 409 if ( aggr->name == inst->name ) { 410 return new UnionInstType( qualType->get_qualifiers(), aggr ); 411 } 412 } 413 } else if ( EnumInstType * inst = dynamic_cast< EnumInstType * >( child ) ) { 414 if ( EnumDecl * aggr = dynamic_cast< EnumDecl * > ( member ) ) { 415 if ( aggr->name == inst->name ) { 416 return new EnumInstType( qualType->get_qualifiers(), aggr ); 417 } 418 } 419 } else if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) { 401 420 // name on the right is a typedef 402 421 if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) { … … 405 424 Type * ret = aggr->base->clone(); 406 425 ret->get_qualifiers() = qualType->get_qualifiers(); 407 TypeSubstitution sub = parent->genericSubstitution();408 sub.apply(ret);409 426 return ret; 410 427 } -
src/SynTree/ApplicationExpr.cc
rcde3891 r9b086ca 29 29 30 30 ParamEntry::ParamEntry( const ParamEntry &other ) : 31 decl( other.decl ), actualType( maybeClone( other.actualType ) ), formalType( maybeClone( other.formalType ) ), expr( maybeClone( other.expr ) ) /*, inferParams( new InferredParams( *other.inferParams ) )*/{31 decl( other.decl ), actualType( maybeClone( other.actualType ) ), formalType( maybeClone( other.formalType ) ), expr( maybeClone( other.expr ) ), inferParams( new InferredParams( *other.inferParams ) ) { 32 32 } 33 33 … … 39 39 formalType = maybeClone( other.formalType ); 40 40 expr = maybeClone( other.expr ); 41 //*inferParams = *other.inferParams;41 *inferParams = *other.inferParams; 42 42 return *this; 43 43 } … … 50 50 51 51 ParamEntry::ParamEntry( ParamEntry && other ) : 52 decl( other.decl ), actualType( other.actualType ), formalType( other.formalType ), expr( other.expr ) /*, inferParams( std::move( other.inferParams ) )*/{52 decl( other.decl ), actualType( other.actualType ), formalType( other.formalType ), expr( other.expr ), inferParams( std::move( other.inferParams ) ) { 53 53 other.actualType = nullptr; 54 54 other.formalType = nullptr; … … 68 68 other.formalType = nullptr; 69 69 other.expr = nullptr; 70 //inferParams = std::move( other.inferParams );70 inferParams = std::move( other.inferParams ); 71 71 return *this; 72 72 } -
src/SynTree/Constant.cc
rcde3891 r9b086ca 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Spt 28 14:49:00 201813 // Update Count : 3012 // Last Modified On : Fri Jul 14 14:50:00 2017 13 // Update Count : 29 14 14 // 15 15 … … 19 19 20 20 #include "Constant.h" 21 #include "Expression.h" // for ConstantExpr22 21 #include "Type.h" // for BasicType, Type, Type::Qualifiers, PointerType 23 22 … … 49 48 Constant Constant::from_double( double d ) { 50 49 return Constant( new BasicType( Type::Qualifiers(), BasicType::Double ), std::to_string( d ), d ); 51 }52 53 Constant Constant::from_string( std::string const & str ) {54 return Constant(55 new ArrayType(56 noQualifiers,57 new BasicType( Type::Qualifiers( Type::Const ), BasicType::Char ),58 new ConstantExpr( Constant::from_int( str.size() + 1 /* \0 */ )),59 false, false ),60 std::string("\"") + str + "\"", (unsigned long long int)0 );61 50 } 62 51 -
src/SynTree/Constant.h
rcde3891 r9b086ca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Fri Spt 28 14:48:00 201813 // Update Count : 1 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:54:46 2017 13 // Update Count : 17 14 14 // 15 15 … … 51 51 /// generates a floating point constant of the given double 52 52 static Constant from_double( double d ); 53 /// generates an array of chars constant of the given string54 static Constant from_string( std::string const & s );55 53 56 54 /// generates a null pointer value for the given type. void * if omitted. -
src/SynTree/Expression.cc
rcde3891 r9b086ca 40 40 Declaration::declFromId( i->second.decl )->printShort( os, indent+1 ); 41 41 os << std::endl; 42 printInferParams( i->second.expr->inferParams, os, indent+1, level+1 );42 printInferParams( *i->second.inferParams, os, indent+1, level+1 ); 43 43 } // for 44 44 } // if … … 47 47 Expression::Expression() : result( 0 ), env( 0 ) {} 48 48 49 Expression::Expression( const Expression &other ) : BaseSyntaxNode( other ), result( maybeClone( other.result ) ), env( maybeClone( other.env ) ), extension( other.extension ), inferParams( other.inferParams ), resnSlots( other.resnSlots ) {} 49 Expression::Expression( const Expression &other ) : BaseSyntaxNode( other ), result( maybeClone( other.result ) ), env( maybeClone( other.env ) ), extension( other.extension ), inferParams( other.inferParams ) { 50 } 50 51 51 52 void Expression::spliceInferParams( Expression * other ) { … … 54 55 inferParams[p.first] = std::move( p.second ); 55 56 } 56 resnSlots.insert( resnSlots.end(), other->resnSlots.begin(), other->resnSlots.end() );57 57 } 58 58 … … 376 376 os << "Untyped Member Expression, with field: " << std::endl << indent+1; 377 377 member->print(os, indent+1 ); 378 os << indent << "... from aggregate: " << std::endl << indent+1;378 os << indent << "... from aggregate: " << std::endl << indent+1; 379 379 aggregate->print(os, indent+1); 380 380 Expression::print( os, indent ); … … 405 405 406 406 void MemberExpr::print( std::ostream &os, Indenter indent ) const { 407 os << "Member Expression, with field: " << std::endl;407 os << "Member Expression, with field: " << std::endl; 408 408 os << indent+1; 409 409 member->print( os, indent+1 ); 410 os << std::endl << indent << "... from aggregate: " << std::endl << indent+1;410 os << std::endl << indent << "... from aggregate: " << std::endl << indent+1; 411 411 aggregate->print(os, indent + 1); 412 412 Expression::print( os, indent ); … … 456 456 457 457 void UntypedExpr::print( std::ostream &os, Indenter indent ) const { 458 os << "Applying untyped: " << std::endl;458 os << "Applying untyped: " << std::endl; 459 459 os << indent+1; 460 460 function->print(os, indent+1); 461 os << std::endl << indent << "...to: " << std::endl;461 os << std::endl << indent << "...to: " << std::endl; 462 462 printAll(args, os, indent+1); 463 463 Expression::print( os, indent ); -
src/SynTree/Expression.h
rcde3891 r9b086ca 21 21 #include <memory> // for allocator, unique_ptr 22 22 #include <string> // for string 23 #include <vector> // for vector24 23 25 24 #include "BaseSyntaxNode.h" // for BaseSyntaxNode … … 39 38 /// but subject to decay-to-pointer and type parameter renaming 40 39 struct ParamEntry { 41 ParamEntry(): decl( 0 ), actualType( 0 ), formalType( 0 ), expr( 0 ) /*, inferParams( new InferredParams )*/{}42 ParamEntry( UniqueId decl, Type * actualType, Type * formalType, Expression* expr ): decl( decl ), actualType( actualType ), formalType( formalType ), expr( expr ) /*, inferParams( new InferredParams )*/{}40 ParamEntry(): decl( 0 ), actualType( 0 ), formalType( 0 ), expr( 0 ), inferParams( new InferredParams ) {} 41 ParamEntry( UniqueId decl, Type * actualType, Type * formalType, Expression* expr ): decl( decl ), actualType( actualType ), formalType( formalType ), expr( expr ), inferParams( new InferredParams ) {} 43 42 ParamEntry( const ParamEntry & other ); 44 43 ParamEntry( ParamEntry && other ); … … 51 50 Type * formalType; 52 51 Expression * expr; 53 //std::unique_ptr< InferredParams > inferParams;52 std::unique_ptr< InferredParams > inferParams; 54 53 }; 55 54 … … 60 59 TypeSubstitution * env; 61 60 bool extension = false; 62 InferredParams inferParams; ///< Post-resolution inferred parameter slots 63 std::vector<UniqueId> resnSlots; ///< Pre-resolution inferred parameter slots 64 65 // xxx - should turn inferParams+resnSlots into a union to save some memory 61 InferredParams inferParams; 66 62 67 63 Expression(); … … 77 73 bool get_extension() const { return extension; } 78 74 Expression * set_extension( bool exten ) { extension = exten; return this; } 75 76 InferredParams & get_inferParams() { return inferParams; } 79 77 80 78 // move other's inferParams to this -
src/SynTree/FunctionDecl.cc
rcde3891 r9b086ca 87 87 88 88 if ( statements ) { 89 os << indent << "... with body " << endl << indent+1;89 os << indent << "... with body " << endl << indent+1; 90 90 statements->print( os, indent+1 ); 91 91 } // if -
src/SynTree/FunctionType.cc
rcde3891 r9b086ca 66 66 os << indent+1 << "accepting unspecified arguments" << endl; 67 67 } // if 68 os << indent << "... returning ";68 os << indent << "... returning "; 69 69 if ( returnVals.empty() ) { 70 os << " nothing" << endl;70 os << "nothing " << endl; 71 71 } else { 72 72 os << endl; -
src/SynTree/ObjectDecl.cc
rcde3891 r9b086ca 66 66 67 67 if ( ! attributes.empty() ) { 68 os << std::endl << indent << "... with attributes: " << std::endl;68 os << std::endl << indent << "... with attributes: " << std::endl; 69 69 printAll( attributes, os, indent+1 ); 70 70 } -
src/SynTree/ReferenceToType.cc
rcde3891 r9b086ca 93 93 else { 94 94 Type::print( os, indent ); 95 os << "instance of " << typeString() << " " << name << " with body " << baseStruct->has_body() ;95 os << "instance of " << typeString() << " " << name << " with body " << baseStruct->has_body() << " "; 96 96 if ( ! parameters.empty() ) { 97 97 os << endl << indent << "... with parameters" << endl; … … 136 136 else { 137 137 Type::print( os, indent ); 138 os << "instance of " << typeString() << " " << name << " with body " << baseUnion->has_body() ;138 os << "instance of " << typeString() << " " << name << " with body " << baseUnion->has_body() << " "; 139 139 if ( ! parameters.empty() ) { 140 140 os << endl << indent << "... with parameters" << endl; … … 160 160 else { 161 161 Type::print( os, indent ); 162 os << "instance of " << typeString() << " " << name << " with body " << baseEnum->has_body() ;162 os << "instance of " << typeString() << " " << name << " with body " << baseEnum->has_body() << " "; 163 163 } // if 164 164 } … … 205 205 206 206 Type::print( os, indent ); 207 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) ";207 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) "; 208 208 if ( ! parameters.empty() ) { 209 209 os << endl << indent << "... with parameters" << endl; -
src/SynTree/Type.cc
rcde3891 r9b086ca 118 118 119 119 void QualifiedType::print( std::ostream & os, Indenter indent ) const { 120 os << "Qualified Type: " << endl;120 os << "Qualified Type: " << endl; 121 121 os << indent+1; 122 122 parent->print( os, indent+1 ); -
src/SynTree/Type.h
rcde3891 r9b086ca 598 598 class TypeofType : public Type { 599 599 public: 600 Expression *expr; ///< expression to take the type of 601 bool is_basetypeof; ///< true iff is basetypeof type 602 603 TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 604 TypeofType( const Type::Qualifiers & tq, Expression *expr, bool is_basetypeof, 605 const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 600 Expression *expr; 601 602 TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 606 603 TypeofType( const TypeofType& ); 607 604 virtual ~TypeofType(); -
src/SynTree/TypeofType.cc
rcde3891 r9b086ca 23 23 class Attribute; 24 24 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, 26 const std::list< Attribute * > & attributes ) 27 : Type( tq, attributes ), expr( expr ), is_basetypeof(false) {} 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, const std::list< Attribute * > & attributes ) : Type( tq, attributes ), expr( expr ) { 26 } 28 27 29 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, bool is_basetypeof, 30 const std::list< Attribute * > & attributes ) 31 : Type( tq, attributes ), expr( expr ), is_basetypeof( is_basetypeof ) {} 32 33 TypeofType::TypeofType( const TypeofType &other ) 34 : Type( other ), expr( maybeClone( other.expr ) ), is_basetypeof( other.is_basetypeof ) {} 28 TypeofType::TypeofType( const TypeofType &other ) : Type( other ), expr( maybeClone( other.expr ) ) { 29 } 35 30 36 31 TypeofType::~TypeofType() { … … 40 35 void TypeofType::print( std::ostream &os, Indenter indent ) const { 41 36 Type::print( os, indent ); 42 if ( is_basetypeof ) { os << "base-"; }43 37 os << "type-of expression "; 44 38 if ( expr ) { -
src/Tuples/Explode.h
rcde3891 r9b086ca 44 44 template<typename OutputIterator> 45 45 void append( OutputIterator out, Expression* expr, const ResolvExpr::TypeEnvironment& env, 46 const ResolvExpr::OpenVarSet& openVars, const ResolvExpr::AssertionList& need,47 46 const ResolvExpr::Cost& cost, const ResolvExpr::Cost& cvtCost ) { 48 *out++ = ResolvExpr::Alternative{ expr, env, openVars, need,cost, cvtCost };47 *out++ = ResolvExpr::Alternative{ expr, env, cost, cvtCost }; 49 48 } 50 49 51 50 /// Append alternative to an ExplodedActual 52 51 static inline void append( ResolvExpr::ExplodedActual& ea, Expression* expr, 53 const ResolvExpr::TypeEnvironment&, const ResolvExpr::OpenVarSet&, 54 const ResolvExpr::AssertionList&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 52 const ResolvExpr::TypeEnvironment&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 55 53 ea.exprs.emplace_back( expr ); 56 /// xxx -- merge environment, openVars, need,cost?54 /// xxx -- merge environment, cost? 57 55 } 58 56 … … 70 68 // distribute reference cast over all components 71 69 append( std::forward<Output>(out), distributeReference( alt.release_expr() ), 72 alt.env, alt. openVars, alt.need, alt.cost, alt.cvtCost );70 alt.env, alt.cost, alt.cvtCost ); 73 71 } 74 72 // in tuple assignment, still need to handle the other cases, but only if not already handled here (don't want to output too many alternatives) … … 104 102 } else { 105 103 // atomic (non-tuple) type - output a clone of the expression in a new alternative 106 append( std::forward<Output>(out), expr->clone(), alt.env, alt.openVars, alt.need, 107 alt.cost, alt.cvtCost ); 104 append( std::forward<Output>(out), expr->clone(), alt.env, alt.cost, alt.cvtCost ); 108 105 } 109 106 } -
src/Tuples/TupleAssignment.cc
rcde3891 r9b086ca 62 62 struct Matcher { 63 63 public: 64 Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs, 65 constResolvExpr::AltList& rhs );64 Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs, const 65 ResolvExpr::AltList& rhs ); 66 66 virtual ~Matcher() {} 67 68 67 virtual void match( std::list< Expression * > &out ) = 0; 69 68 ObjectDecl * newObject( UniqueName & namer, Expression * expr ); 70 71 void combineState( const ResolvExpr::Alternative& alt ) {72 compositeEnv.simpleCombine( alt.env );73 ResolvExpr::mergeOpenVars( openVars, alt.openVars );74 cloneAll( alt.need, need );75 }76 77 void combineState( const ResolvExpr::AltList& alts ) {78 for ( const ResolvExpr::Alternative& alt : alts ) { combineState( alt ); }79 }80 81 69 ResolvExpr::AltList lhs, rhs; 82 70 TupleAssignSpotter &spotter; … … 84 72 std::list< ObjectDecl * > tmpDecls; 85 73 ResolvExpr::TypeEnvironment compositeEnv; 86 ResolvExpr::OpenVarSet openVars;87 ResolvExpr::AssertionSet need;88 74 }; 89 75 … … 259 245 } 260 246 261 // extract expressions from the assignment alternatives to produce a list of assignments 262 // t hat together form a single alternative247 // extract expressions from the assignment alternatives to produce a list of assignments that 248 // together form a single alternative 263 249 std::list< Expression *> solved_assigns; 264 250 for ( ResolvExpr::Alternative & alt : current ) { 265 251 solved_assigns.push_back( alt.expr->clone() ); 266 matcher->combineState( alt );267 }268 252 } 253 // combine assignment environments into combined expression environment 254 simpleCombineEnvironments( current.begin(), current.end(), matcher->compositeEnv ); 269 255 // xxx -- was push_front 270 currentFinder.get_alternatives().push_back( ResolvExpr::Alternative{ 271 new TupleAssignExpr{ solved_assigns, matcher->tmpDecls }, matcher->compositeEnv, 272 matcher->openVars, 273 ResolvExpr::AssertionList( matcher->need.begin(), matcher->need.end() ), 274 ResolvExpr::sumCost( current ) + matcher->baseCost } ); 256 currentFinder.get_alternatives().push_back( ResolvExpr::Alternative( 257 new TupleAssignExpr(solved_assigns, matcher->tmpDecls), matcher->compositeEnv, 258 ResolvExpr::sumCost( current ) + matcher->baseCost ) ); 275 259 } 276 260 … … 279 263 : lhs(lhs), rhs(rhs), spotter(spotter), 280 264 baseCost( ResolvExpr::sumCost( lhs ) + ResolvExpr::sumCost( rhs ) ) { 281 combineState( lhs );282 combineState( rhs);265 simpleCombineEnvironments( lhs.begin(), lhs.end(), compositeEnv ); 266 simpleCombineEnvironments( rhs.begin(), rhs.end(), compositeEnv ); 283 267 } 284 268 -
src/cfa.make
rcde3891 r9b086ca 1 2 3 1 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 4 LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \5 $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \6 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \7 $(AM_CFLAGS) $(CFLAGS)8 2 9 3 AM_V_CFA = $(am__v_CFA_@AM_V@) … … 12 6 am__v_CFA_1 = 13 7 14 .cfa.o: 8 .cfa.o: $(CFACC) $(CFACPP) 15 9 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 16 10 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 17 11 $(am__mv) $$depbase.Tpo $$depbase.Po 18 19 .cfa.lo:20 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\21 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\22 $(am__mv) $$depbase.Tpo $$depbase.Plo23 24 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)25 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)26 am__v_JAVAC_0 = @echo " JAVAC " $@;27 am__v_JAVAC_1 =28 29 AM_V_GOC = $(am__v_GOC_@AM_V@)30 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)31 am__v_GOC_0 = @echo " GOC " $@;32 am__v_GOC_1 =33 34 UPPCC = u++35 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)36 37 AM_V_UPP = $(am__v_UPP_@AM_V@)38 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)39 am__v_UPP_0 = @echo " UPP " $@;40 am__v_UPP_1 = -
src/config.h.in
rcde3891 r9b086ca 7 7 #undef CFA_64_CPU 8 8 9 /* Backend compiler to use. */9 /* Location of include files. */ 10 10 #undef CFA_BACKEND_CC 11 11 … … 67 67 #undef HAVE_ALLOCA_H 68 68 69 /* Define to 1 if you have the <dlfcn.h> header file. */70 #undef HAVE_DLFCN_H71 72 69 /* Define to 1 if you have the <fenv.h> header file. */ 73 70 #undef HAVE_FENV_H … … 132 129 /* Define to 1 if the system has the type `_Bool'. */ 133 130 #undef HAVE__BOOL 134 135 /* Define to the sub-directory where libtool stores uninstalled libraries. */136 #undef LT_OBJDIR137 131 138 132 /* Name of package */ -
src/main.cc
rcde3891 r9b086ca 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Dec 26 08:11:19201813 // Update Count : 49 912 // Last Modified On : Wed Jun 6 15:51:47 2018 13 // Update Count : 498 14 14 // 15 15 … … 34 34 #include "CodeGen/Generate.h" // for generate 35 35 #include "CodeTools/DeclStats.h" // for printDeclStats 36 #include "CodeTools/ResolvProtoDump.h" // for dumpAsResolvProto37 36 #include "CodeTools/TrackLoc.h" // for fillLocations 38 37 #include "Common/CompilerError.h" // for CompilerError … … 172 171 if ( filename == nullptr ) filename = argv[ optind ]; 173 172 // prelude filename comes in differently 174 if ( libcfap ) filename = "prelude.cf a";173 if ( libcfap ) filename = "prelude.cf"; 175 174 optind += 1; 176 175 } else { // no input file name … … 199 198 if ( ! libcfap ) { 200 199 // read the prelude in, if not generating the cfa library 201 FILE * prelude = fopen( (PreludeDirector + "/prelude.cf a").c_str(), "r" );202 assertf( prelude, "cannot open prelude.cf a\n" );200 FILE * prelude = fopen( (PreludeDirector + "/prelude.cf").c_str(), "r" ); 201 assertf( prelude, "cannot open prelude.cf\n" ); 203 202 parse( prelude, LinkageSpec::Intrinsic ); 204 203 … … 271 270 272 271 CodeTools::fillLocations( translationUnit ); 273 274 if ( resolvprotop ) {275 CodeTools::dumpAsResolvProto( translationUnit );276 return 0;277 }278 272 279 273 PASS( "resolve", ResolvExpr::resolve( translationUnit ) ); … … 371 365 } 372 366 } catch(const std::exception& e) { 373 std::cerr << "Un caught Exception \"" << e.what() << "\"\n";367 std::cerr << "Unaught Exception \"" << e.what() << "\"\n"; 374 368 } 375 369 return 1; … … 382 376 383 377 void parse_cmdline( int argc, char * argv[], const char *& filename ) { 384 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, ResolvProto,Symbol, Tree, TupleExpansion, Validate, };378 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, Symbol, Tree, TupleExpansion, Validate, }; 385 379 386 380 static struct option long_opts[] = { … … 401 395 { "no-prototypes", no_argument, 0, Prototypes }, 402 396 { "resolver", no_argument, 0, Resolver }, 403 { "resolv-proto", no_argument, 0, ResolvProto },404 397 { "symbol", no_argument, 0, Symbol }, 405 398 { "tree", no_argument, 0, Tree }, … … 414 407 bool Wsuppress = false, Werror = false; 415 408 int c; 416 while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqr RstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) {409 while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) { 417 410 switch ( c ) { 418 411 case Ast: … … 486 479 case 'r': // print resolver steps 487 480 resolvep = true; 488 break;489 case 'R': // dump resolv-proto instance490 resolvprotop = true;491 481 break; 492 482 case Symbol: -
tests/.expect/alloc-ERROR.txt
rcde3891 r9b086ca 1 alloc.c fa:265:1 error: No reasonable alternatives for expression Applying untyped:1 alloc.c:265:1 error: No reasonable alternatives for expression Applying untyped: 2 2 Name: ?=? 3 ...to: 3 ...to: 4 4 Name: p 5 Applying untyped: 5 Applying untyped: 6 6 Name: realloc 7 ...to: 7 ...to: 8 8 Name: stp 9 Applying untyped: 9 Applying untyped: 10 10 Name: ?*? 11 ...to: 11 ...to: 12 12 Name: dim 13 Sizeof Expression on: Applying untyped: 13 Sizeof Expression on: Applying untyped: 14 14 Name: *? 15 ...to: 15 ...to: 16 16 Name: stp 17 17 … … 19 19 20 20 21 alloc.c fa:266:1 error: No reasonable alternatives for expression Applying untyped:21 alloc.c:266:1 error: No reasonable alternatives for expression Applying untyped: 22 22 Name: ?=? 23 ...to: 23 ...to: 24 24 Name: p 25 Applying untyped: 25 Applying untyped: 26 26 Name: alloc 27 ...to: 27 ...to: 28 28 Name: stp 29 Applying untyped: 29 Applying untyped: 30 30 Name: ?*? 31 ...to: 31 ...to: 32 32 Name: dim 33 Sizeof Expression on: Applying untyped: 33 Sizeof Expression on: Applying untyped: 34 34 Name: *? 35 ...to: 35 ...to: 36 36 Name: stp 37 37 … … 39 39 40 40 41 alloc.c fa:267:1 error: No reasonable alternatives for expression Applying untyped:41 alloc.c:267:1 error: No reasonable alternatives for expression Applying untyped: 42 42 Name: ?=? 43 ...to: 43 ...to: 44 44 Name: p 45 Applying untyped: 45 Applying untyped: 46 46 Name: memset 47 ...to: 47 ...to: 48 48 Name: stp 49 49 constant expression (10 10: signed int) 50 50 51 51 52 alloc.c fa:268:1 error: No reasonable alternatives for expression Applying untyped:52 alloc.c:268:1 error: No reasonable alternatives for expression Applying untyped: 53 53 Name: ?=? 54 ...to: 54 ...to: 55 55 Name: p 56 Applying untyped: 56 Applying untyped: 57 57 Name: memcpy 58 ...to: 58 ...to: 59 59 Address of: 60 60 Name: st1 -
tests/.expect/castError.txt
rcde3891 r9b086ca 1 castError.c fa:7:1 error: Cannot choose between 3 alternatives for expression1 castError.c:7:1 error: Cannot choose between 3 alternatives for expression 2 2 Cast of: 3 3 Name: f 4 4 ... to: 5 char Alternatives are:6 Cost ( 1, 0, 0, 0 , 0, 0): Cast of:5 charAlternatives are: 6 Cost ( 1, 0, 0, 0 ): Cast of: 7 7 Variable Expression: f: function 8 8 accepting unspecified arguments 9 ... returning nothing 9 ... returning nothing 10 10 11 11 ... to: … … 14 14 char 15 15 ) 16 Environment: 16 Environment: 17 17 18 Cost ( 1, 0, 0, 0 , 0, 0): Cast of:18 Cost ( 1, 0, 0, 0 ): Cast of: 19 19 Variable Expression: f: double 20 20 ... to: … … 23 23 char 24 24 ) 25 Environment: 25 Environment: 26 26 27 Cost ( 1, 0, 0, 0 , 0, 0): Cast of:27 Cost ( 1, 0, 0, 0 ): Cast of: 28 28 Variable Expression: f: signed int 29 29 ... to: … … 32 32 char 33 33 ) 34 Environment: 34 Environment: 35 35 36 36 -
tests/.expect/completeTypeError.txt
rcde3891 r9b086ca 1 completeTypeError.c fa:33:1 error: No reasonable alternatives for expression Applying untyped:1 completeTypeError.c:33:1 error: No reasonable alternatives for expression Applying untyped: 2 2 Name: *? 3 ...to: 3 ...to: 4 4 Name: v 5 5 6 completeTypeError.c fa:34:1 error: No reasonable alternatives for expression Applying untyped:6 completeTypeError.c:34:1 error: No reasonable alternatives for expression Applying untyped: 7 7 Name: *? 8 ...to: 8 ...to: 9 9 Name: y 10 10 11 completeTypeError.c fa:35:1 error: No reasonable alternatives for expression Applying untyped:11 completeTypeError.c:35:1 error: No reasonable alternatives for expression Applying untyped: 12 12 Name: foo 13 ...to: 13 ...to: 14 14 Name: v 15 15 16 completeTypeError.c fa:36:1 error: No reasonable alternatives for expression Applying untyped:16 completeTypeError.c:36:1 error: No reasonable alternatives for expression Applying untyped: 17 17 Name: baz 18 ...to: 18 ...to: 19 19 Name: v 20 20 21 completeTypeError.c fa:37:1 error: No reasonable alternatives for expression Applying untyped:21 completeTypeError.c:37:1 error: No reasonable alternatives for expression Applying untyped: 22 22 Name: quux 23 ...to: 23 ...to: 24 24 Name: v 25 25 26 completeTypeError.c fa:58:1 error: No reasonable alternatives for expression Applying untyped:26 completeTypeError.c:58:1 error: No reasonable alternatives for expression Applying untyped: 27 27 Name: baz 28 ...to: 28 ...to: 29 29 Name: y 30 30 31 completeTypeError.c fa:59:1 error: No reasonable alternatives for expression Applying untyped:31 completeTypeError.c:59:1 error: No reasonable alternatives for expression Applying untyped: 32 32 Name: quux 33 ...to: 33 ...to: 34 34 Name: y 35 35 36 completeTypeError.c fa:60:1 error: No reasonable alternatives for expression Applying untyped:36 completeTypeError.c:60:1 error: No reasonable alternatives for expression Applying untyped: 37 37 Name: *? 38 ...to: 38 ...to: 39 39 Name: y 40 40 41 completeTypeError.c fa:72:1 error: No resolvable alternatives for expression Applying untyped:41 completeTypeError.c:72:1 error: No reasonable alternatives for expression Applying untyped: 42 42 Name: baz 43 ...to: 43 ...to: 44 44 Name: z 45 45 46 Alternatives with failing assertions are:47 Cost ( 0, 1, 0, 1, -5, 0 ): Application of48 Variable Expression: baz: forall49 T: sized object type50 ... with assertions51 ?=?: pointer to function52 ... with parameters53 reference to instance of type T (not function type)54 instance of type T (not function type)55 ... returning56 _retval__operator_assign: instance of type T (not function type)57 ... with attributes:58 Attribute with name: unused59 60 61 ?{}: pointer to function62 ... with parameters63 reference to instance of type T (not function type)64 ... returning nothing65 66 ?{}: pointer to function67 ... with parameters68 reference to instance of type T (not function type)69 instance of type T (not function type)70 ... returning nothing71 72 ^?{}: pointer to function73 ... with parameters74 reference to instance of type T (not function type)75 ... returning nothing76 77 78 function79 ... with parameters80 pointer to instance of type T (not function type)81 ... returning nothing82 83 ... to arguments84 Variable Expression: z: pointer to instance of type T (not function type)85 86 (types:87 void88 )89 Environment:( _73_0_T ) -> instance of type T (not function type) (no widening)90 91 92 -
tests/.expect/declarationErrors.txt
rcde3891 r9b086ca 1 declarationErrors.c fa:16:1 error: duplicate static in declaration of x1: static const volatile short int1 declarationErrors.c:16:1 error: duplicate static in declaration of x1: static const volatile short int 2 2 3 declarationErrors.c fa:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int3 declarationErrors.c:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int 4 4 5 declarationErrors.c fa:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int5 declarationErrors.c:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int 6 6 7 declarationErrors.c fa:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous08 with members 7 declarationErrors.c:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0 8 with members 9 9 i: int 10 with body 10 with body 11 11 12 12 13 declarationErrors.c fa:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous114 with members 13 declarationErrors.c:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1 14 with members 15 15 i: int 16 with body 16 with body 17 17 18 18 19 declarationErrors.c fa:22:1 error: duplicate static in declaration of x6: static const volatile Int19 declarationErrors.c:22:1 error: duplicate static in declaration of x6: static const volatile Int 20 20 21 declarationErrors.c fa:24:1 error: duplicate const in declaration of f01: static inline function22 with no parameters 21 declarationErrors.c:24:1 error: duplicate const in declaration of f01: static inline function 22 with no parameters 23 23 returning const volatile int 24 24 25 25 26 declarationErrors.c fa:25:1 error: duplicate volatile in declaration of f02: static inline function27 with no parameters 26 declarationErrors.c:25:1 error: duplicate volatile in declaration of f02: static inline function 27 with no parameters 28 28 returning const volatile int 29 29 30 30 31 declarationErrors.c fa:26:1 error: duplicate const in declaration of f03: static inline function32 with no parameters 31 declarationErrors.c:26:1 error: duplicate const in declaration of f03: static inline function 32 with no parameters 33 33 returning const volatile int 34 34 35 35 36 declarationErrors.c fa:27:1 error: duplicate volatile in declaration of f04: static inline function37 with no parameters 36 declarationErrors.c:27:1 error: duplicate volatile in declaration of f04: static inline function 37 with no parameters 38 38 returning const volatile int 39 39 40 40 41 declarationErrors.c fa:28:1 error: duplicate const in declaration of f05: static inline function42 with no parameters 41 declarationErrors.c:28:1 error: duplicate const in declaration of f05: static inline function 42 with no parameters 43 43 returning const volatile int 44 44 45 45 46 declarationErrors.c fa:29:1 error: duplicate volatile in declaration of f06: static inline function47 with no parameters 46 declarationErrors.c:29:1 error: duplicate volatile in declaration of f06: static inline function 47 with no parameters 48 48 returning const volatile int 49 49 50 50 51 declarationErrors.c fa:30:1 error: duplicate const in declaration of f07: static inline function52 with no parameters 51 declarationErrors.c:30:1 error: duplicate const in declaration of f07: static inline function 52 with no parameters 53 53 returning const volatile int 54 54 55 55 56 declarationErrors.c fa:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function57 with no parameters 56 declarationErrors.c:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function 57 with no parameters 58 58 returning const volatile int 59 59 60 60 61 declarationErrors.c fa:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function62 with no parameters 61 declarationErrors.c:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function 62 with no parameters 63 63 returning const volatile int 64 64 65 65 66 declarationErrors.c fa:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function67 with no parameters 66 declarationErrors.c:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function 67 with no parameters 68 68 returning const restrict volatile _Atomic int 69 69 -
tests/.expect/nested-types-ERR1.txt
rcde3891 r9b086ca 1 nested-types.c fa:70:1 error: Use of undefined type T1 nested-types.c:70:1 error: Use of undefined type T -
tests/.expect/nested-types-ERR2.txt
rcde3891 r9b086ca 1 nested-types.c fa:73:1 error: Use of undefined global type Z2 nested-types.c fa:74:1 error: Qualified type requires an aggregate on the left, but has: signed int3 nested-types.c fa:75:1 error: Undefined type in qualified type: Qualified Type:4 instance of struct S with body 1 5 instance of type Z (not function type) 1 nested-types.c:73:1 error: Use of undefined global type Z 2 nested-types.c:74:1 error: Qualified type requires an aggregate on the left, but has: signed int 3 nested-types.c:75:1 error: Undefined type in qualified type: Qualified Type: 4 instance of struct S with body 1 5 instance of type Z (not function type) 6 6 -
tests/.expect/scopeErrors.txt
rcde3891 r9b086ca 1 scopeErrors.c fa:2:1 error: duplicate object definition for thisIsAnError: signed int2 scopeErrors.c fa:20:1 error: duplicate function definition for butThisIsAnError: function1 scopeErrors.c:2:1 error: duplicate object definition for thisIsAnError: signed int 2 scopeErrors.c:20:1 error: duplicate function definition for butThisIsAnError: function 3 3 ... with parameters 4 4 double 5 ... returning 5 ... returning 6 6 _retval_butThisIsAnError: double 7 ... with attributes: 7 ... with attributes: 8 8 Attribute with name: unused 9 9 10 ... with body 10 ... with body 11 11 CompoundStmt 12 12 -
tests/.expect/typedefRedef-ERR1.txt
rcde3891 r9b086ca 1 typedefRedef.c fa:4:1 error: Cannot redefine typedef: Foo2 typedefRedef.c fa:60:1 error: Cannot redefine typedef: ARR1 typedefRedef.c:4:1 error: Cannot redefine typedef: Foo 2 typedefRedef.c:60:1 error: Cannot redefine typedef: ARR -
tests/Makefile.am
rcde3891 r9b086ca 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Tue Nov 20 11:18:51201814 ## Update Count : 6813 ## Last Modified On : Wed Jun 6 16:42:20 2018 14 ## Update Count : 49 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 20 include $(top_srcdir)/src/cfa.make21 18 22 19 debug=yes … … 26 23 27 24 concurrent= 28 timeouts=29 25 30 26 TEST_PY = python ${builddir}/test.py … … 39 35 40 36 AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS} 37 41 38 CC = @CFACC@ 42 39 … … 44 41 45 42 .PHONY: list .validate 46 .INTERMEDIATE: .validate .validate.c fa47 EXTRA_PROGRAMS = avl_test .dummy_hack# build but do not install43 .INTERMEDIATE: .validate .validate.c 44 EXTRA_PROGRAMS = fstream_test avl_test # build but do not install 48 45 49 avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa 50 # automake doesn't know we still need C rules so pretend like we have a C program 51 _dummy_hack_SOURCES = .dummy_hack.c46 fstream_test_SOURCES = fstream_test.c 47 48 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c 52 49 53 50 #---------------------------------------------------------------------------------------------------------------- 54 51 all-local : 55 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${ timeouts} ${quick_test}52 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${quick_test} 56 53 57 54 all-tests : 58 @+${TEST_PY} -- debug=${debug} --install=${installed} ${concurrent} ${timeouts} --all# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program55 @+${TEST_PY} --all --debug=${debug} --install=${installed} ${concurrent} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 59 56 60 57 clean-local : … … 64 61 @+${TEST_PY} --list ${concurrent} 65 62 66 .validate: .validate.c fa67 $(C FACOMPILE) .validate.cfa-fsyntax-only -Wall -Wextra -Werror63 .validate: .validate.c 64 $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror 68 65 69 .validate.cfa: 70 @echo "int main() { return 0; }" > ${@} 71 72 # automake doesn't know we still need C rules so pretend like we have a C program 73 .dummy_hack.c: 66 .validate.c: 74 67 @echo "int main() { return 0; }" > ${@} 75 68 … … 78 71 79 72 #---------------------------------------------------------------------------------------------------------------- 73 # implicit rule so not all test require a rule 74 % : %.c $(CC) 75 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 80 76 81 # implicit rule so not all test require a rule 82 % : %.cfa $(CFACC) 83 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 77 declarationSpecifier: declarationSpecifier.c $(CC) 78 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 84 79 85 declarationSpecifier: declarationSpecifier.cfa $(CFACC)86 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})80 gccExtensions : gccExtensions.c $(CC) 81 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 87 82 88 gccExtensions : gccExtensions.cfa $(CFACC)89 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})83 extension : extension.c $(CC) 84 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 90 85 91 extension : extension.cfa $(CFACC)92 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})86 attributes : attributes.c $(CC) 87 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 93 88 94 attributes : attributes.cfa $(CFACC)95 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})89 functions: functions.c $(CC) 90 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 96 91 97 functions: functions.cfa $(CFACC)98 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})92 KRfunctions : KRfunctions.c $(CC) 93 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 99 94 100 KRfunctions : KRfunctions.cfa $(CFACC)101 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})95 sched-ext-parse : sched-ext-parse.c $(CC) 96 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 102 97 103 sched-ext-parse : sched-ext-parse.c $(CFACC) 104 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 105 106 gmp : gmp.cfa $(CFACC) 107 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 98 gmp : gmp.c $(CC) 99 $(PRETTY_PATH) $(COMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 108 100 109 101 #builtins 110 builtins/sync: builtins/sync.c fa $(CFACC)111 $(PRETTY_PATH) $(C FACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only102 builtins/sync: builtins/sync.c $(CC) 103 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 112 104 113 105 #------------------------------------------------------------------------------ 106 #To make errors path independent we need to cd into the correct directories 107 completeTypeError : completeTypeError.c $(CC) 108 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 114 109 115 #To make errors path independent we need to cd into the correct directories 116 completeTypeError : completeTypeError.cfa $(CFACC) 117 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 110 typedefRedef-ERR1: typedefRedef.c $(CC) 111 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 118 112 119 typedefRedef-ERR1: typedefRedef.cfa $(CFACC)120 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})113 alloc-ERROR: alloc.c $(CC) 114 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 121 115 122 alloc-ERROR: alloc.cfa $(CFACC)123 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})116 fallthrough-ERROR: fallthrough.c $(CC) 117 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 124 118 125 fallthrough-ERROR: fallthrough.cfa $(CFACC)126 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})119 nested-types-ERR1: nested-types.c $(CC) 120 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 127 121 128 nested-types-ERR1: nested-types.cfa $(CFACC) 129 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 130 131 nested-types-ERR2: nested-types.cfa $(CFACC) 132 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 122 nested-types-ERR2: nested-types.c $(CC) 123 $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 133 124 134 125 # Constructor/destructor tests 135 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c fa $(CFACC)136 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})126 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC) 127 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 137 128 138 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c fa $(CFACC)139 $(PRETTY_PATH) $(C FACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})129 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC) 130 $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 140 131 141 raii/memberCtors-ERR1: raii/memberCtors.c fa $(CFACC)142 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})132 raii/memberCtors-ERR1: raii/memberCtors.c $(CC) 133 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 143 134 144 raii/ctor-autogen-ERR1: raii/ctor-autogen.c fa $(CFACC)145 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})135 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC) 136 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 146 137 147 138 # Warnings 148 warnings/self-assignment: warnings/self-assignment.c fa $(CFACC)149 $(PRETTY_PATH) $(C FACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only139 warnings/self-assignment: warnings/self-assignment.c $(CC) 140 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only -
tests/Makefile.in
rcde3891 r9b086ca 91 91 build_triplet = @build@ 92 92 host_triplet = @host@ 93 EXTRA_PROGRAMS = avl_test$(EXEEXT) .dummy_hack$(EXEEXT)93 EXTRA_PROGRAMS = fstream_test$(EXEEXT) avl_test$(EXEEXT) 94 94 subdir = tests 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 97 $(top_srcdir)/automake/ltoptions.m4 \ 98 $(top_srcdir)/automake/ltsugar.m4 \ 99 $(top_srcdir)/automake/ltversion.m4 \ 100 $(top_srcdir)/automake/lt~obsolete.m4 \ 101 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 102 98 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 103 99 $(ACLOCAL_M4) … … 107 103 CONFIG_CLEAN_FILES = config.py 108 104 CONFIG_CLEAN_VPATH_FILES = test.py 109 am__dummy_hack_OBJECTS = .dummy_hack.$(OBJEXT)110 _dummy_hack_OBJECTS = $(am__dummy_hack_OBJECTS)111 _dummy_hack_LDADD = $(LDADD)112 AM_V_lt = $(am__v_lt_@AM_V@)113 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)114 am__v_lt_0 = --silent115 am__v_lt_1 =116 105 am__dirstamp = $(am__leading_dot)dirstamp 117 106 am_avl_test_OBJECTS = avltree/avl_test.$(OBJEXT) \ … … 121 110 avl_test_OBJECTS = $(am_avl_test_OBJECTS) 122 111 avl_test_LDADD = $(LDADD) 112 am_fstream_test_OBJECTS = fstream_test.$(OBJEXT) 113 fstream_test_OBJECTS = $(am_fstream_test_OBJECTS) 114 fstream_test_LDADD = $(LDADD) 123 115 AM_V_P = $(am__v_P_@AM_V@) 124 116 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 139 131 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 140 132 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 141 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \142 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \143 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \144 $(AM_CFLAGS) $(CFLAGS)145 133 AM_V_CC = $(am__v_CC_@AM_V@) 146 134 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 148 136 am__v_CC_1 = 149 137 CCLD = $(CC) 150 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 151 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 152 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 138 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 153 139 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 154 140 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 155 141 am__v_CCLD_0 = @echo " CCLD " $@; 156 142 am__v_CCLD_1 = 157 SOURCES = $( _dummy_hack_SOURCES) $(avl_test_SOURCES)158 DIST_SOURCES = $( _dummy_hack_SOURCES) $(avl_test_SOURCES)143 SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) 144 DIST_SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) 159 145 am__can_run_installinfo = \ 160 146 case $$AM_UPDATE_INFO_DIR in \ … … 182 168 CTAGS = ctags 183 169 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.py.in \ 184 $(srcdir)/test.py $(top_srcdir)/automake/depcomp \ 185 $(top_srcdir)/src/cfa.make 170 $(srcdir)/test.py $(top_srcdir)/automake/depcomp 186 171 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 187 172 ACLOCAL = @ACLOCAL@ … … 189 174 AMTAR = @AMTAR@ 190 175 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 191 AR = @AR@192 176 AUTOCONF = @AUTOCONF@ 193 177 AUTOHEADER = @AUTOHEADER@ 194 178 AUTOMAKE = @AUTOMAKE@ 195 179 AWK = @AWK@ 180 BACKEND_CC = @BACKEND_CC@ 196 181 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 197 182 CC = @CFACC@ … … 213 198 CPPFLAGS = @CPPFLAGS@ 214 199 CXX = @CXX@ 215 CXXCPP = @CXXCPP@216 200 CXXDEPMODE = @CXXDEPMODE@ 217 201 CXXFLAGS = @CXXFLAGS@ … … 219 203 DEFS = @DEFS@ 220 204 DEPDIR = @DEPDIR@ 221 DLLTOOL = @DLLTOOL@222 205 DRIVER_DIR = @DRIVER_DIR@ 223 DSYMUTIL = @DSYMUTIL@224 DUMPBIN = @DUMPBIN@225 206 ECHO_C = @ECHO_C@ 226 207 ECHO_N = @ECHO_N@ … … 228 209 EGREP = @EGREP@ 229 210 EXEEXT = @EXEEXT@ 230 FGREP = @FGREP@231 211 GREP = @GREP@ 232 212 HOST_FLAGS = @HOST_FLAGS@ … … 236 216 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 237 217 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 238 LD = @LD@239 218 LDFLAGS = @LDFLAGS@ 240 219 LEX = @LEX@ … … 245 224 LIBOBJS = @LIBOBJS@ 246 225 LIBS = @LIBS@ 247 LIBTOOL = @LIBTOOL@248 LIPO = @LIPO@249 LN_S = @LN_S@250 226 LTLIBOBJS = @LTLIBOBJS@ 251 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@252 227 MAKEINFO = @MAKEINFO@ 253 MANIFEST_TOOL = @MANIFEST_TOOL@254 228 MKDIR_P = @MKDIR_P@ 255 NM = @NM@256 NMEDIT = @NMEDIT@257 OBJDUMP = @OBJDUMP@258 229 OBJEXT = @OBJEXT@ 259 OTOOL = @OTOOL@260 OTOOL64 = @OTOOL64@261 230 PACKAGE = @PACKAGE@ 262 231 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 268 237 PATH_SEPARATOR = @PATH_SEPARATOR@ 269 238 RANLIB = @RANLIB@ 270 SED = @SED@271 239 SET_MAKE = @SET_MAKE@ 272 240 SHELL = @SHELL@ … … 280 248 abs_top_builddir = @abs_top_builddir@ 281 249 abs_top_srcdir = @abs_top_srcdir@ 282 ac_ct_AR = @ac_ct_AR@283 250 ac_ct_CC = @ac_ct_CC@ 284 251 ac_ct_CXX = @ac_ct_CXX@ 285 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@286 252 am__include = @am__include@ 287 253 am__leading_dot = @am__leading_dot@ … … 331 297 top_srcdir = @top_srcdir@ 332 298 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 333 ACLOCAL_AMFLAGS = -I automake334 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)335 LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \336 $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \337 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \338 $(AM_CFLAGS) $(CFLAGS)339 340 AM_V_CFA = $(am__v_CFA_@AM_V@)341 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@)342 am__v_CFA_0 = @echo " CFA " $@;343 am__v_CFA_1 =344 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)345 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)346 am__v_JAVAC_0 = @echo " JAVAC " $@;347 am__v_JAVAC_1 =348 AM_V_GOC = $(am__v_GOC_@AM_V@)349 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)350 am__v_GOC_0 = @echo " GOC " $@;351 am__v_GOC_1 =352 UPPCC = u++353 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)354 AM_V_UPP = $(am__v_UPP_@AM_V@)355 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)356 am__v_UPP_0 = @echo " UPP " $@;357 am__v_UPP_1 =358 299 debug = yes 359 300 installed = no 360 301 quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes 361 302 concurrent = 362 timeouts =363 303 TEST_PY = python ${builddir}/test.py 364 304 … … 368 308 ${INSTALL_FLAGS} ${ARCH_FLAGS} 369 309 PRETTY_PATH = cd ${srcdir} && 370 avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa 371 # automake doesn't know we still need C rules so pretend like we have a C program 372 _dummy_hack_SOURCES = .dummy_hack.c 310 fstream_test_SOURCES = fstream_test.c 311 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c 373 312 all: all-am 374 313 375 314 .SUFFIXES: 376 .SUFFIXES: .c . cfa .dummy_hack .lo .o .obj .validate377 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make$(am__configure_deps)315 .SUFFIXES: .c .o .obj .validate 316 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 378 317 @for dep in $?; do \ 379 318 case '$(am__configure_deps)' in \ … … 395 334 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 396 335 esac; 397 $(top_srcdir)/src/cfa.make $(am__empty):398 336 399 337 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) … … 407 345 config.py: $(top_builddir)/config.status $(srcdir)/config.py.in 408 346 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 409 410 .dummy_hack$(EXEEXT): $(_dummy_hack_OBJECTS) $(_dummy_hack_DEPENDENCIES) $(EXTRA__dummy_hack_DEPENDENCIES)411 @rm -f .dummy_hack$(EXEEXT)412 $(AM_V_CCLD)$(LINK) $(_dummy_hack_OBJECTS) $(_dummy_hack_LDADD) $(LIBS)413 347 avltree/$(am__dirstamp): 414 348 @$(MKDIR_P) avltree … … 436 370 $(AM_V_CCLD)$(LINK) $(avl_test_OBJECTS) $(avl_test_LDADD) $(LIBS) 437 371 372 fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES) 373 @rm -f fstream_test$(EXEEXT) 374 $(AM_V_CCLD)$(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS) 375 438 376 mostlyclean-compile: 439 377 -rm -f *.$(OBJEXT) … … 443 381 -rm -f *.tab.c 444 382 445 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/.dummy_hack.Po@am__quote@ 383 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@ 384 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl-private.Po@am__quote@ 385 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl0.Po@am__quote@ 386 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl1.Po@am__quote@ 387 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl2.Po@am__quote@ 388 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl3.Po@am__quote@ 389 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl4.Po@am__quote@ 390 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl_test.Po@am__quote@ 446 391 447 392 .c.o: … … 460 405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 461 406 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 462 463 .c.lo:464 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\465 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\466 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@468 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@469 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<470 471 mostlyclean-libtool:472 -rm -f *.lo473 474 clean-libtool:475 -rm -rf .libs _libs476 407 477 408 ID: $(am__tagged_files) … … 595 526 clean: clean-am 596 527 597 clean-am: clean-generic clean-l ibtool clean-local mostlyclean-am528 clean-am: clean-generic clean-local mostlyclean-am 598 529 599 530 distclean: distclean-am 600 -rm -rf ./$(DEPDIR) 531 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR) 601 532 -rm -f Makefile 602 533 distclean-am: clean-am distclean-compile distclean-generic \ … … 644 575 645 576 maintainer-clean: maintainer-clean-am 646 -rm -rf ./$(DEPDIR) 577 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR) 647 578 -rm -f Makefile 648 579 maintainer-clean-am: distclean-am maintainer-clean-generic … … 650 581 mostlyclean: mostlyclean-am 651 582 652 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 653 mostlyclean-libtool 583 mostlyclean-am: mostlyclean-compile mostlyclean-generic 654 584 655 585 pdf: pdf-am … … 666 596 667 597 .PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \ 668 clean-generic clean-libtool clean-local cscopelist-am ctags \ 669 ctags-am distclean distclean-compile distclean-generic \ 670 distclean-libtool distclean-tags distdir dvi dvi-am html \ 671 html-am info info-am install install-am install-data \ 672 install-data-am install-dvi install-dvi-am install-exec \ 673 install-exec-am install-html install-html-am install-info \ 674 install-info-am install-man install-pdf install-pdf-am \ 675 install-ps install-ps-am install-strip installcheck \ 676 installcheck-am installdirs maintainer-clean \ 677 maintainer-clean-generic mostlyclean mostlyclean-compile \ 678 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 598 clean-generic clean-local cscopelist-am ctags ctags-am \ 599 distclean distclean-compile distclean-generic distclean-tags \ 600 distdir dvi dvi-am html html-am info info-am install \ 601 install-am install-data install-data-am install-dvi \ 602 install-dvi-am install-exec install-exec-am install-html \ 603 install-html-am install-info install-info-am install-man \ 604 install-pdf install-pdf-am install-ps install-ps-am \ 605 install-strip installcheck installcheck-am installdirs \ 606 maintainer-clean maintainer-clean-generic mostlyclean \ 607 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 679 608 tags tags-am uninstall uninstall-am 680 609 … … 682 611 683 612 684 .cfa.o:685 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\686 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\687 $(am__mv) $$depbase.Tpo $$depbase.Po688 689 .cfa.lo:690 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\691 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\692 $(am__mv) $$depbase.Tpo $$depbase.Plo693 694 613 .PHONY: list .validate 695 .INTERMEDIATE: .validate .validate.c fa614 .INTERMEDIATE: .validate .validate.c 696 615 697 616 #---------------------------------------------------------------------------------------------------------------- 698 617 all-local : 699 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${ timeouts} ${quick_test}618 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${quick_test} 700 619 701 620 all-tests : 702 @+${TEST_PY} -- debug=${debug} --install=${installed} ${concurrent} ${timeouts} --all# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program621 @+${TEST_PY} --all --debug=${debug} --install=${installed} ${concurrent} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 703 622 704 623 clean-local : … … 708 627 @+${TEST_PY} --list ${concurrent} 709 628 710 .validate: .validate.cfa 711 $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror 712 713 .validate.cfa: 714 @echo "int main() { return 0; }" > ${@} 715 716 # automake doesn't know we still need C rules so pretend like we have a C program 717 .dummy_hack.c: 629 .validate: .validate.c 630 $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror 631 632 .validate.c: 718 633 @echo "int main() { return 0; }" > ${@} 719 634 … … 722 637 723 638 #---------------------------------------------------------------------------------------------------------------- 724 725 639 # implicit rule so not all test require a rule 726 % : %.c fa $(CFACC)727 $(PRETTY_PATH) $(C FACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})728 729 declarationSpecifier: declarationSpecifier.c fa $(CFACC)730 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})731 732 gccExtensions : gccExtensions.c fa $(CFACC)733 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})734 735 extension : extension.c fa $(CFACC)736 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})737 738 attributes : attributes.c fa $(CFACC)739 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})740 741 functions: functions.c fa $(CFACC)742 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})743 744 KRfunctions : KRfunctions.c fa $(CFACC)745 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})746 747 sched-ext-parse : sched-ext-parse.c $(C FACC)748 $(PRETTY_PATH) $(C FACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})749 750 gmp : gmp.c fa $(CFACC)751 $(PRETTY_PATH) $(C FACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})640 % : %.c $(CC) 641 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 642 643 declarationSpecifier: declarationSpecifier.c $(CC) 644 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 645 646 gccExtensions : gccExtensions.c $(CC) 647 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 648 649 extension : extension.c $(CC) 650 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 651 652 attributes : attributes.c $(CC) 653 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 654 655 functions: functions.c $(CC) 656 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 657 658 KRfunctions : KRfunctions.c $(CC) 659 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 660 661 sched-ext-parse : sched-ext-parse.c $(CC) 662 $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 663 664 gmp : gmp.c $(CC) 665 $(PRETTY_PATH) $(COMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 752 666 753 667 #builtins 754 builtins/sync: builtins/sync.c fa $(CFACC)755 $(PRETTY_PATH) $(C FACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only668 builtins/sync: builtins/sync.c $(CC) 669 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 756 670 757 671 #------------------------------------------------------------------------------ 758 759 672 #To make errors path independent we need to cd into the correct directories 760 completeTypeError : completeTypeError.c fa $(CFACC)761 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})762 763 typedefRedef-ERR1: typedefRedef.c fa $(CFACC)764 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})765 766 alloc-ERROR: alloc.c fa $(CFACC)767 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})768 769 fallthrough-ERROR: fallthrough.c fa $(CFACC)770 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})771 772 nested-types-ERR1: nested-types.c fa $(CFACC)773 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})774 775 nested-types-ERR2: nested-types.c fa $(CFACC)776 $(PRETTY_PATH) $(C FACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})673 completeTypeError : completeTypeError.c $(CC) 674 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 675 676 typedefRedef-ERR1: typedefRedef.c $(CC) 677 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 678 679 alloc-ERROR: alloc.c $(CC) 680 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 681 682 fallthrough-ERROR: fallthrough.c $(CC) 683 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 684 685 nested-types-ERR1: nested-types.c $(CC) 686 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 687 688 nested-types-ERR2: nested-types.c $(CC) 689 $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 777 690 778 691 # Constructor/destructor tests 779 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c fa $(CFACC)780 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})781 782 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c fa $(CFACC)783 $(PRETTY_PATH) $(C FACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})784 785 raii/memberCtors-ERR1: raii/memberCtors.c fa $(CFACC)786 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})787 788 raii/ctor-autogen-ERR1: raii/ctor-autogen.c fa $(CFACC)789 $(PRETTY_PATH) $(C FACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})692 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC) 693 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 694 695 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC) 696 $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 697 698 raii/memberCtors-ERR1: raii/memberCtors.c $(CC) 699 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 700 701 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC) 702 $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 790 703 791 704 # Warnings 792 warnings/self-assignment: warnings/self-assignment.c fa $(CFACC)793 $(PRETTY_PATH) $(C FACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only705 warnings/self-assignment: warnings/self-assignment.c $(CC) 706 $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 794 707 795 708 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
tests/coroutine/.expect/fmtLines.txt
rcde3891 r9b086ca 16 16 difi ed B y : Pete r A. 17 17 Buh r// Last Mod ifie 18 d On : T ue D ec 1 1 2319 :3 1: 12 2 018/ / Up date20 Cou nt : 3 2/ /#in18 d On : M on S ep 1 8 11 19 :35: 57 2 017/ / Up date 20 Cou nt : 31/ /#in 21 21 clud e <f stre am.h fa># 22 22 incl ude <cor outi ne.h … … 34 34 t ) { if ( fm t.g 35 35 != 0 || fmt. b != 0 ) 36 sou t | nl;} void mai 37 n( F orma t & fmt ) { 38 for ( ;; ) { 39 // for as many cha 40 ract ers for ( f mt.g 41 = 0 ; fm t.g < 5; fmt 42 .g + = 1 ) { // grou 43 ps o f 5 bloc ks for 44 ( f mt.b = 0 ; fm t.b 45 < 4; fmt .b + = 1 ) { 46 // b lock s of 4 c hara 47 cter s for ( ; ; ) 48 { // f or n ewli 49 ne c hara cter s su 50 spen d(); if ( fm 51 t.ch != '\n' ) b reak 52 ; / / ig nore new line 53 } // for sout 54 | f mt.c h; // 55 prin t ch arac ter } 56 // f or sou t | " " 57 ; // prin t bl 58 ock sepa rato r } // 59 for sou t | nl; 60 // p rint gro up s 61 epar ator } / / fo r} / 62 / ma invo id p rt( Form 63 at & fmt , ch ar c h ) 64 { fmt .ch = ch ; 65 res ume( fmt );} // 66 prti nt m ain( ) { Form 67 at f mt; char ch; for 68 ( ; ; ) { s in | ch; 69 // rea d on 70 e ch arac ter if ( e 71 of( sin ) ) brea k; 72 // eof ? p rt( 73 fmt, ch ); } // for} 74 // main // L ocal Var 75 iabl es: //// tab -wid 76 th: 4 // // c ompi le-c 77 omma nd: "cfa fmt Line 78 s.c" /// / En d: / / 36 sou t | endl ;}vo id m 37 ain( For mat & fm t ) 38 { fo r ( ;; ) { 39 // f or a s ma ny c 40 hara cter s f or ( fmt 41 .g = 0; fmt. g < 5; f 42 mt.g += 1 ) { / / gr 43 oups of 5 bl ocks f 44 or ( fmt .b = 0; fmt. 45 b < 4; f mt.b += 1 ) 46 { // blo cks of 4 cha 47 ract ers f or ( ;; 48 ) { // for new 49 line cha ract ers 50 susp end( ); i f ( 51 fmt. ch ! = '\ n' ) bre 52 ak; // igno re n ewli 53 ne } // f or so 54 ut | fmt .ch; / 55 / pr int char acte r 56 } // for s out | " 57 "; / / pr int 58 bloc k se para tor } / 59 / fo r s out | en dl; 60 // p rint gro 61 up s epar ator } / / fo 62 r} / / ma invo id p rt( 63 Form at & fmt , ch ar c 64 h ) { fmt .ch = ch 65 ; res ume( fmt );} 66 // prti nt m ain( ) { 67 Form at f mt; char ch; 68 for ( ; ; ) { s in | 69 ch; // rea 70 d on e ch arac ter if 71 ( e of( sin ) ) brea 72 k; // eof ? p 73 rt( fmt, ch ); } // 74 for} // main // L ocal 75 Var iabl es: //// tab 76 -wid th: 4 // // c ompi 77 le-c omma nd: "cfa fmt 78 Line s.c" /// / En d: / 79 / -
tests/coroutine/.in/fmtLines.txt
rcde3891 r9b086ca 10 10 // Created On : Sun Sep 17 21:56:15 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 23:31:12 201813 // Update Count : 3 212 // Last Modified On : Mon Sep 18 11:35:57 2017 13 // Update Count : 31 14 14 // 15 15 … … 27 27 28 28 void ^?{}( Format & fmt ) { 29 if ( fmt.g != 0 || fmt.b != 0 ) sout | nl;29 if ( fmt.g != 0 || fmt.b != 0 ) sout | endl; 30 30 } 31 31 … … 42 42 sout | " "; // print block separator 43 43 } // for 44 sout | nl; // print group separator44 sout | endl; // print group separator 45 45 } // for 46 46 } // main -
tests/preempt_longrun/Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 20 19 repeats=10 -
tests/preempt_longrun/Makefile.in
rcde3891 r9b086ca 93 93 subdir = tests/preempt_longrun 94 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 95 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 96 $(top_srcdir)/automake/ltoptions.m4 \ 97 $(top_srcdir)/automake/ltsugar.m4 \ 98 $(top_srcdir)/automake/ltversion.m4 \ 99 $(top_srcdir)/automake/lt~obsolete.m4 \ 100 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 95 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 96 $(top_srcdir)/configure.ac 101 97 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 102 98 $(ACLOCAL_M4) … … 337 333 AMTAR = @AMTAR@ 338 334 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 339 AR = @AR@340 335 AUTOCONF = @AUTOCONF@ 341 336 AUTOHEADER = @AUTOHEADER@ 342 337 AUTOMAKE = @AUTOMAKE@ 343 338 AWK = @AWK@ 339 BACKEND_CC = @BACKEND_CC@ 344 340 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 345 341 CC = @CFACC@ … … 361 357 CPPFLAGS = @CPPFLAGS@ 362 358 CXX = @CXX@ 363 CXXCPP = @CXXCPP@364 359 CXXDEPMODE = @CXXDEPMODE@ 365 360 CXXFLAGS = @CXXFLAGS@ … … 367 362 DEFS = @DEFS@ 368 363 DEPDIR = @DEPDIR@ 369 DLLTOOL = @DLLTOOL@370 364 DRIVER_DIR = @DRIVER_DIR@ 371 DSYMUTIL = @DSYMUTIL@372 DUMPBIN = @DUMPBIN@373 365 ECHO_C = @ECHO_C@ 374 366 ECHO_N = @ECHO_N@ … … 376 368 EGREP = @EGREP@ 377 369 EXEEXT = @EXEEXT@ 378 FGREP = @FGREP@379 370 GREP = @GREP@ 380 371 HOST_FLAGS = @HOST_FLAGS@ … … 384 375 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 385 376 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 386 LD = @LD@387 377 LDFLAGS = @LDFLAGS@ 388 378 LEX = @LEX@ … … 393 383 LIBOBJS = @LIBOBJS@ 394 384 LIBS = @LIBS@ 395 LIBTOOL = @LIBTOOL@396 LIPO = @LIPO@397 LN_S = @LN_S@398 385 LTLIBOBJS = @LTLIBOBJS@ 399 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@400 386 MAKEINFO = @MAKEINFO@ 401 MANIFEST_TOOL = @MANIFEST_TOOL@402 387 MKDIR_P = @MKDIR_P@ 403 NM = @NM@404 NMEDIT = @NMEDIT@405 OBJDUMP = @OBJDUMP@406 388 OBJEXT = @OBJEXT@ 407 OTOOL = @OTOOL@408 OTOOL64 = @OTOOL64@409 389 PACKAGE = @PACKAGE@ 410 390 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 416 396 PATH_SEPARATOR = @PATH_SEPARATOR@ 417 397 RANLIB = @RANLIB@ 418 SED = @SED@419 398 SET_MAKE = @SET_MAKE@ 420 399 SHELL = @SHELL@ … … 428 407 abs_top_builddir = @abs_top_builddir@ 429 408 abs_top_srcdir = @abs_top_srcdir@ 430 ac_ct_AR = @ac_ct_AR@431 409 ac_ct_CC = @ac_ct_CC@ 432 410 ac_ct_CXX = @ac_ct_CXX@ 433 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@434 411 am__include = @am__include@ 435 412 am__leading_dot = @am__leading_dot@ … … 479 456 top_srcdir = @top_srcdir@ 480 457 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 481 ACLOCAL_AMFLAGS = -I automake482 458 repeats = 10 483 459 max_time = 600 … … 527 503 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 528 504 $(am__aclocal_m4_deps): 529 530 mostlyclean-libtool:531 -rm -f *.lo532 533 clean-libtool:534 -rm -rf .libs _libs535 505 tags TAGS: 536 506 … … 836 806 clean: clean-am 837 807 838 clean-am: clean-generic clean-l ibtool clean-local mostlyclean-am808 clean-am: clean-generic clean-local mostlyclean-am 839 809 840 810 distclean: distclean-am … … 888 858 mostlyclean: mostlyclean-am 889 859 890 mostlyclean-am: mostlyclean-generic mostlyclean-libtool860 mostlyclean-am: mostlyclean-generic 891 861 892 862 pdf: pdf-am … … 903 873 904 874 .PHONY: all all-am all-local check check-TESTS check-am clean \ 905 clean-generic clean-libtool clean-local cscopelist-am ctags-am \ 906 distclean distclean-generic distclean-libtool distdir dvi \ 907 dvi-am html html-am info info-am install install-am \ 908 install-data install-data-am install-dvi install-dvi-am \ 909 install-exec install-exec-am install-html install-html-am \ 910 install-info install-info-am install-man install-pdf \ 911 install-pdf-am install-ps install-ps-am install-strip \ 912 installcheck installcheck-am installdirs maintainer-clean \ 913 maintainer-clean-generic mostlyclean mostlyclean-generic \ 914 mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ 875 clean-generic clean-local cscopelist-am ctags-am distclean \ 876 distclean-generic distdir dvi dvi-am html html-am info info-am \ 877 install install-am install-data install-data-am install-dvi \ 878 install-dvi-am install-exec install-exec-am install-html \ 879 install-html-am install-info install-info-am install-man \ 880 install-pdf install-pdf-am install-ps install-ps-am \ 881 install-strip installcheck installcheck-am installdirs \ 882 maintainer-clean maintainer-clean-generic mostlyclean \ 883 mostlyclean-generic pdf pdf-am ps ps-am recheck tags-am \ 915 884 uninstall uninstall-am 916 885 -
tests/preempt_longrun/create.c
rcde3891 r9b086ca 3 3 #include <time.hfa> 4 4 5 #include "long_tests.h fa"5 #include "long_tests.h" 6 6 7 7 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/enter3.c
rcde3891 r9b086ca 5 5 6 6 #define __kick_rate 75000ul 7 #include "long_tests.h fa"7 #include "long_tests.h" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/processor.c
rcde3891 r9b086ca 5 5 #include <unistd.h> 6 6 7 #include "long_tests.h fa"7 #include "long_tests.h" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/yield.c
rcde3891 r9b086ca 4 4 5 5 #define __kick_rate 550000ul 6 #include "long_tests.h fa"6 #include "long_tests.h" 7 7 8 8 #ifndef PREEMPTION_RATE -
tests/pybin/tools.py
rcde3891 r9b086ca 3 3 import __main__ 4 4 import argparse 5 import fileinput6 5 import multiprocessing 7 6 import os 8 7 import re 9 import resource10 8 import signal 11 9 import stat 12 10 import sys 13 import time11 import fileinput 14 12 15 13 from pybin import settings … … 81 79 def diff( lhs, rhs ): 82 80 # diff the output of the files 83 diff_cmd = ("diff --text " 84 # "--ignore-all-space " 85 # "--ignore-blank-lines " 81 diff_cmd = ("diff --ignore-all-space --text " 82 "--ignore-blank-lines " 86 83 "--old-group-format='\t\tmissing lines :\n" 87 84 "%%<' \\\n" … … 133 130 134 131 return None 135 136 def run(exe, output, input):137 ret, _ = sh("timeout %d %s > %s 2>&1" % (settings.timeout.single, exe, output), input = input)138 return ret139 140 132 ################################################################################ 141 133 # file handling 142 134 ################################################################################ 143 # move a file144 def mv(source, dest):145 ret, _ = sh("mv %s %s" % (source, dest))146 return ret147 148 # cat one file into the other149 def cat(source, dest):150 ret, _ = sh("cat %s > %s" % (source, dest))151 return ret152 135 153 136 # helper function to replace patterns in a file … … 246 229 signal.signal(signal.SIGINT, signal.SIG_IGN) 247 230 248 249 # enable core dumps for all the test children250 resource.setrlimit(resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY))251 252 231 ################################################################################ 253 232 # misc … … 267 246 if column: 268 247 cmd = "%s 2> /dev/null" % column 248 print(cmd) 269 249 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 270 proc.communicate(input=text + "\n")250 proc.communicate(input=text) 271 251 else: 272 252 print(text) 273 274 275 def coreInfo(path):276 cmd = os.path.join(settings.SRCDIR, "pybin/print-core.gdb")277 if not os.path.isfile(cmd):278 return 1, "ERR Printing format for core dumps not found"279 280 dname = os.path.dirname(path)281 core = os.path.join(dname, "core" )282 if not os.path.isfile(path):283 return 1, "ERR Executable path is wrong"284 285 if not os.path.isfile(core):286 return 1, "ERR No core dump"287 288 return sh("gdb -n %s %s -batch -x %s" % (path, core, cmd), print2stdout=False)289 290 class Timed:291 def __enter__(self):292 self.start = time.time()293 return self294 295 def __exit__(self, *args):296 self.end = time.time()297 self.duration = self.end - self.start -
tests/raii/.expect/ctor-autogen-ERR1.txt
rcde3891 r9b086ca 1 raii/ctor-autogen.c fa:102:1 error: Unique best alternative includes deleted identifier in Cast of:1 raii/ctor-autogen.c:102:1 error: Unique best alternative includes deleted identifier in Cast of: 2 2 Application of 3 3 Deleted Expression 4 4 Variable Expression: ?{}: static inline function 5 5 ... with parameters 6 _dst: reference to instance of struct Managed with body 1 6 _dst: reference to instance of struct Managed with body 1 7 7 x: signed int 8 ... returning nothing 8 ... returning nothing 9 9 10 10 ... deleted by: ?{}: function 11 11 ... with parameters 12 m: reference to instance of struct Managed with body 1 13 ... returning nothing 14 ... with body 12 m: reference to instance of struct Managed with body 1 13 ... returning nothing 14 ... with body 15 15 CompoundStmt 16 16 Expression Statement: … … 20 20 intrinsic reference to signed int 21 21 intrinsic signed int 22 ... returning 22 ... returning 23 23 _retval__operator_assign: signed int 24 ... with attributes: 24 ... with attributes: 25 25 Attribute with name: unused 26 26 … … 28 28 ... to arguments 29 29 Cast of: 30 Member Expression, with field: 30 Member Expression, with field: 31 31 x: signed int 32 ... from aggregate: 32 ... from aggregate: 33 33 Cast of: 34 Variable Expression: m: reference to instance of struct Managed with body 1 34 Variable Expression: m: reference to instance of struct Managed with body 1 35 35 ... to: 36 instance of struct Managed with body 1 36 instance of struct Managed with body 1 37 37 ... to: 38 38 reference to signed int … … 49 49 ... to arguments 50 50 Cast of: 51 Variable Expression: x: instance of struct Managed with body 1 51 Variable Expression: x: instance of struct Managed with body 1 52 52 ... to: 53 reference to instance of struct Managed with body 1 53 reference to instance of struct Managed with body 1 54 54 constant expression (123 123: signed int) 55 55 -
tests/raii/.expect/dtor-early-exit-ERR1.txt
rcde3891 r9b086ca 1 raii/dtor-early-exit.c fa:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)1 raii/dtor-early-exit.c:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto) 2 2 with target: L1 3 3 with original target: L1 -
tests/raii/.expect/dtor-early-exit-ERR2.txt
rcde3891 r9b086ca 1 raii/dtor-early-exit.c fa:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)1 raii/dtor-early-exit.c:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto) 2 2 with target: L2 3 3 with original target: L2 -
tests/raii/.expect/memberCtors-ERR1.txt
rcde3891 r9b086ca 1 raii/memberCtors.c fa:92:1 error: in void ?{}(B &b), field a2 used before being constructed1 raii/memberCtors.c:92:1 error: in void ?{}(B &b), field a2 used before being constructed -
tests/test.py
rcde3891 r9b086ca 19 19 20 20 def matchTest(path): 21 match = re.search(" ^%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\.[\w\-_]+)?\.txt$" % settings.SRCDIR, path)21 match = re.search("%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\.[\w\-_]+)?\.txt" % settings.SRCDIR, path) 22 22 if match : 23 23 test = Test() … … 34 34 # reads the directory ./.expect and indentifies the tests 35 35 def listTests( includes, excludes ): 36 includes = [canonicalPath( i ) for i in includes] if includes else None 37 excludes = [canonicalPath( i ) for i in excludes] if excludes else None 38 36 39 # tests directly in the .expect folder will always be processed 37 40 test_list = findTests() … … 121 124 # running test functions 122 125 ################################################################################ 123 def success(val): 124 return val == 0 or settings.dry_run 125 126 def isExe(file): 127 return settings.dry_run or fileIsExecutable(file) 128 129 def noRule(file, target): 130 return not settings.dry_run and fileContainsOnly(file, "make: *** No rule to make target `%s'. Stop." % target) 126 # fix the absolute paths in the output 127 def fixoutput( fname ): 128 if not is_ascii(fname): 129 return 130 131 file_replace(fname, "%s/" % settings.SRCDIR, "") 132 131 133 132 134 # logic to run a single test and return the result (No handling of printing or other test framework logic) … … 144 146 145 147 # build, skipping to next test on error 146 with Timed() as comp_dur: 147 make_ret, _ = make( test.target(), redirects = ("2> %s 1> /dev/null" % out_file), error_file = err_file ) 148 before = time.time() 149 make_ret, _ = make( test.target(), 150 redirects = "2> %s 1> /dev/null" % out_file, 151 error_file = err_file 152 ) 153 after = time.time() 154 155 comp_dur = after - before 156 157 run_dur = None 148 158 149 159 # if the make command succeds continue otherwise skip to diff 150 run_dur = None 151 if success(make_ret): 152 with Timed() as run_dur: 153 if isExe(exe_file): 154 # run test 155 retcode = run(exe_file, out_file, in_file) 156 else : 157 # simply cat the result into the output 158 retcode = cat(exe_file, out_file) 160 if make_ret == 0 or settings.dry_run: 161 before = time.time() 162 if settings.dry_run or fileIsExecutable(exe_file) : 163 # run test 164 retcode, _ = sh("timeout %d %s > %s 2>&1" % (settings.timeout.single, exe_file, out_file), input = in_file) 165 else : 166 # simply cat the result into the output 167 retcode, _ = sh("cat %s > %s" % (exe_file, out_file)) 168 169 after = time.time() 170 run_dur = after - before 159 171 else: 160 retcode = mv(err_file, out_file) 161 162 if success(retcode): 172 retcode, _ = sh("mv %s %s" % (err_file, out_file)) 173 174 175 if retcode == 0: 176 # fixoutput(out_file) 163 177 if settings.generating : 164 178 # if we are ounly generating the output we still need to check that the test actually exists 165 if no Rule(out_file,test.target()) :166 retcode = 1 179 if not settings.dry_run and fileContainsOnly(out_file, "make: *** No rule to make target `%s'. Stop." % test.target()) : 180 retcode = 1; 167 181 error = "\t\tNo make target for test %s!" % test.target() 168 rm(out_file)182 sh("rm %s" % out_file, False) 169 183 else: 170 184 error = None … … 177 191 error = myfile.read() 178 192 179 ret, info = coreInfo(exe_file)180 error = error + info181 182 183 193 184 194 # clean the executable 185 rm(exe_file)186 187 return retcode, error, [comp_dur .duration, run_dur.duration if run_dur else None]195 sh("rm -f %s > /dev/null 2>&1" % test.target()) 196 197 return retcode, error, [comp_dur, run_dur] 188 198 189 199 # run a single test and handle the errors, outputs, printing, exception handling, etc. … … 192 202 with SignalHandling(): 193 203 # print formated name 194 name_txt = "%2 4s " % t.name204 name_txt = "%20s " % t.name 195 205 196 206 retcode, error, duration = run_single_test(t) … … 256 266 allTests = listTests( options.include, options.exclude ) 257 267 258 259 268 # if user wants all tests than no other treatement of the test list is required 260 269 if options.all or options.list or options.list_comp or options.include : -
tests/warnings/.expect/self-assignment.txt
rcde3891 r9b086ca 1 warnings/self-assignment.c fa:29:1 warning: self assignment of expression: Cast of:1 warnings/self-assignment.c:29:1 warning: self assignment of expression: Cast of: 2 2 Variable Expression: j: signed int 3 3 ... to: 4 4 reference to signed int 5 warnings/self-assignment.c fa:30:1 warning: self assignment of expression: Cast of:6 Variable Expression: s: instance of struct S with body 1 5 warnings/self-assignment.c:30:1 warning: self assignment of expression: Cast of: 6 Variable Expression: s: instance of struct S with body 1 7 7 ... to: 8 reference to instance of struct S with body 1 9 warnings/self-assignment.c fa:31:1 warning: self assignment of expression: Cast of:10 Member Expression, with field: 8 reference to instance of struct S with body 1 9 warnings/self-assignment.c:31:1 warning: self assignment of expression: Cast of: 10 Member Expression, with field: 11 11 i: signed int 12 ... from aggregate: 13 Variable Expression: s: instance of struct S with body 1 12 ... from aggregate: 13 Variable Expression: s: instance of struct S with body 1 14 14 ... to: 15 15 reference to signed int 16 warnings/self-assignment.c fa:32:1 warning: self assignment of expression: Cast of:17 Member Expression, with field: 16 warnings/self-assignment.c:32:1 warning: self assignment of expression: Cast of: 17 Member Expression, with field: 18 18 i: signed int 19 ... from aggregate: 20 Member Expression, with field: 21 s: instance of struct S with body 1 22 ... from aggregate: 23 Variable Expression: t: instance of struct T with body 1 19 ... from aggregate: 20 Member Expression, with field: 21 s: instance of struct S with body 1 22 ... from aggregate: 23 Variable Expression: t: instance of struct T with body 1 24 24 ... to: 25 25 reference to signed int -
tools/Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 19 CC = @BACKEND_CC@ 20 20 AM_CFLAGS = -Wall -Wextra -O2 -g 21 21 -
tools/Makefile.in
rcde3891 r9b086ca 96 96 subdir = tools 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 99 $(top_srcdir)/automake/ltoptions.m4 \ 100 $(top_srcdir)/automake/ltsugar.m4 \ 101 $(top_srcdir)/automake/ltversion.m4 \ 102 $(top_srcdir)/automake/lt~obsolete.m4 \ 103 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 104 100 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 105 101 $(ACLOCAL_M4) … … 113 109 busy_OBJECTS = $(am_busy_OBJECTS) 114 110 busy_LDADD = $(LDADD) 115 AM_V_lt = $(am__v_lt_@AM_V@) 116 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 117 am__v_lt_0 = --silent 118 am__v_lt_1 = 119 busy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 120 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 121 $(busy_LDFLAGS) $(LDFLAGS) -o $@ 111 busy_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(busy_LDFLAGS) $(LDFLAGS) \ 112 -o $@ 122 113 am_catchsig_OBJECTS = catchsig.$(OBJEXT) 123 114 catchsig_OBJECTS = $(am_catchsig_OBJECTS) … … 147 138 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 148 139 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 149 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \150 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \151 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \152 $(AM_CFLAGS) $(CFLAGS)153 140 AM_V_CC = $(am__v_CC_@AM_V@) 154 141 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 156 143 am__v_CC_1 = 157 144 CCLD = $(CC) 158 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 160 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 145 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 161 146 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 162 147 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 197 182 AMTAR = @AMTAR@ 198 183 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 199 AR = @AR@200 184 AUTOCONF = @AUTOCONF@ 201 185 AUTOHEADER = @AUTOHEADER@ 202 186 AUTOMAKE = @AUTOMAKE@ 203 187 AWK = @AWK@ 188 BACKEND_CC = @BACKEND_CC@ 204 189 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 205 CC = @ CC@190 CC = @BACKEND_CC@ 206 191 CCAS = @CCAS@ 207 192 CCASDEPMODE = @CCASDEPMODE@ … … 221 206 CPPFLAGS = @CPPFLAGS@ 222 207 CXX = @CXX@ 223 CXXCPP = @CXXCPP@224 208 CXXDEPMODE = @CXXDEPMODE@ 225 209 CXXFLAGS = @CXXFLAGS@ … … 227 211 DEFS = @DEFS@ 228 212 DEPDIR = @DEPDIR@ 229 DLLTOOL = @DLLTOOL@230 213 DRIVER_DIR = @DRIVER_DIR@ 231 DSYMUTIL = @DSYMUTIL@232 DUMPBIN = @DUMPBIN@233 214 ECHO_C = @ECHO_C@ 234 215 ECHO_N = @ECHO_N@ … … 236 217 EGREP = @EGREP@ 237 218 EXEEXT = @EXEEXT@ 238 FGREP = @FGREP@239 219 GREP = @GREP@ 240 220 HOST_FLAGS = @HOST_FLAGS@ … … 244 224 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 245 225 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 246 LD = @LD@247 226 LDFLAGS = @LDFLAGS@ 248 227 LEX = @LEX@ … … 253 232 LIBOBJS = @LIBOBJS@ 254 233 LIBS = @LIBS@ 255 LIBTOOL = @LIBTOOL@256 LIPO = @LIPO@257 LN_S = @LN_S@258 234 LTLIBOBJS = @LTLIBOBJS@ 259 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@260 235 MAKEINFO = @MAKEINFO@ 261 MANIFEST_TOOL = @MANIFEST_TOOL@262 236 MKDIR_P = @MKDIR_P@ 263 NM = @NM@264 NMEDIT = @NMEDIT@265 OBJDUMP = @OBJDUMP@266 237 OBJEXT = @OBJEXT@ 267 OTOOL = @OTOOL@268 OTOOL64 = @OTOOL64@269 238 PACKAGE = @PACKAGE@ 270 239 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 276 245 PATH_SEPARATOR = @PATH_SEPARATOR@ 277 246 RANLIB = @RANLIB@ 278 SED = @SED@279 247 SET_MAKE = @SET_MAKE@ 280 248 SHELL = @SHELL@ … … 288 256 abs_top_builddir = @abs_top_builddir@ 289 257 abs_top_srcdir = @abs_top_srcdir@ 290 ac_ct_AR = @ac_ct_AR@291 258 ac_ct_CC = @ac_ct_CC@ 292 259 ac_ct_CXX = @ac_ct_CXX@ 293 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@294 260 am__include = @am__include@ 295 261 am__leading_dot = @am__leading_dot@ … … 339 305 top_srcdir = @top_srcdir@ 340 306 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 341 ACLOCAL_AMFLAGS = -I automake342 307 AM_CFLAGS = -Wall -Wextra -O2 -g 343 308 busy_SOURCES = busy.c … … 349 314 350 315 .SUFFIXES: 351 .SUFFIXES: .c . lo .o .obj316 .SUFFIXES: .c .o .obj 352 317 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 353 318 @for dep in $?; do \ … … 381 346 382 347 clean-noinstPROGRAMS: 383 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ 384 echo " rm -f" $$list; \ 385 rm -f $$list || exit $$?; \ 386 test -n "$(EXEEXT)" || exit 0; \ 387 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 388 echo " rm -f" $$list; \ 389 rm -f $$list 348 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 390 349 391 350 busy$(EXEEXT): $(busy_OBJECTS) $(busy_DEPENDENCIES) $(EXTRA_busy_DEPENDENCIES) … … 431 390 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 432 391 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 433 434 .c.lo:435 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\436 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\437 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo438 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@439 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@440 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<441 442 mostlyclean-libtool:443 -rm -f *.lo444 445 clean-libtool:446 -rm -rf .libs _libs447 392 448 393 ID: $(am__tagged_files) … … 564 509 clean: clean-am 565 510 566 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ 567 mostlyclean-am 511 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am 568 512 569 513 distclean: distclean-am … … 620 564 mostlyclean: mostlyclean-am 621 565 622 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 623 mostlyclean-libtool 566 mostlyclean-am: mostlyclean-compile mostlyclean-generic 624 567 625 568 pdf: pdf-am … … 636 579 637 580 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 638 clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ 639 ctags-am distclean distclean-compile distclean-generic \ 640 distclean-libtool distclean-tags distdir dvi dvi-am html \ 641 html-am info info-am install install-am install-data \ 642 install-data-am install-dvi install-dvi-am install-exec \ 643 install-exec-am install-html install-html-am install-info \ 644 install-info-am install-man install-pdf install-pdf-am \ 645 install-ps install-ps-am install-strip installcheck \ 646 installcheck-am installdirs maintainer-clean \ 581 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ 582 distclean-compile distclean-generic distclean-tags distdir dvi \ 583 dvi-am html html-am info info-am install install-am \ 584 install-data install-data-am install-dvi install-dvi-am \ 585 install-exec install-exec-am install-html install-html-am \ 586 install-info install-info-am install-man install-pdf \ 587 install-pdf-am install-ps install-ps-am install-strip \ 588 installcheck installcheck-am installdirs maintainer-clean \ 647 589 maintainer-clean-generic mostlyclean mostlyclean-compile \ 648 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am\649 tags tags-am uninstalluninstall-am590 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 591 uninstall-am 650 592 651 593 .PRECIOUS: Makefile -
tools/cfa.nanorc
rcde3891 r9b086ca 2 2 ## WIP 3 3 4 syntax "cfa" "\. (c|h)fa"4 syntax "cfa" "\.cfa" 5 5 6 6 # Macros … … 9 9 # Types 10 10 color green "\<(forall|trait|(o|d|f|t)type|mutex|_Bool|volatile|virtual)\>" 11 color green "\<(float|double|bool|char|int|short|long| enum|void|auto)\>"12 color green "\<(static|const| extern|(un)?signed|inline)\>" "\<(sizeof)\>"11 color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|auto)\>" 12 color green "\<(static|const|struct|union|typedef|extern|(un)?signed|inline)\>" 13 13 color green "\<((s?size)|one|zero|((u_?)?int(8|16|32|64|ptr)))_t\>" 14 14 … … 19 19 # Control Flow Structures 20 20 color brightyellow "\<(if|else|while|do|for|switch|choose|case|default)\>" 21 color brightyellow "\<(disable|enable|waitfor|when|timeout)\>"22 21 color brightyellow "\<(try|catch(Resume)?|finally)\>" 23 22 24 23 # Control Flow Statements 25 24 color magenta "\<(goto|return|break|continue|fallthr(u|ough)|throw(Resume)?)\>" 26 27 # Escaped Keywords, now Identifiers.28 color white "`\w+`"29 25 30 26 # Operator Names -
tools/prettyprinter/Makefile.am
rcde3891 r9b086ca 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake19 18 20 19 BUILT_SOURCES = parser.hh -
tools/prettyprinter/Makefile.in
rcde3891 r9b086ca 95 95 subdir = tools/prettyprinter 96 96 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 97 am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \ 98 $(top_srcdir)/automake/ltoptions.m4 \ 99 $(top_srcdir)/automake/ltsugar.m4 \ 100 $(top_srcdir)/automake/ltversion.m4 \ 101 $(top_srcdir)/automake/lt~obsolete.m4 \ 102 $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac 97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 98 $(top_srcdir)/configure.ac 103 99 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 104 100 $(ACLOCAL_M4) … … 117 113 am__DEPENDENCIES_1 = 118 114 pretty_DEPENDENCIES = $(am__DEPENDENCIES_1) 119 AM_V_lt = $(am__v_lt_@AM_V@) 120 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 121 am__v_lt_0 = --silent 122 am__v_lt_1 = 123 pretty_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 124 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(pretty_CXXFLAGS) \ 125 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 115 pretty_LINK = $(CXXLD) $(pretty_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ 116 $(LDFLAGS) -o $@ 126 117 AM_V_P = $(am__v_P_@AM_V@) 127 118 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 140 131 am__depfiles_maybe = depfiles 141 132 am__mv = mv -f 133 AM_V_lt = $(am__v_lt_@AM_V@) 134 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 135 am__v_lt_0 = --silent 136 am__v_lt_1 = 142 137 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 143 138 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 144 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \145 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \146 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \147 $(AM_CXXFLAGS) $(CXXFLAGS)148 139 AM_V_CXX = $(am__v_CXX_@AM_V@) 149 140 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 151 142 am__v_CXX_1 = 152 143 CXXLD = $(CXX) 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 144 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 145 -o $@ 156 146 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 157 147 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 159 149 am__v_CXXLD_1 = 160 150 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 161 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \162 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)163 151 AM_V_LEX = $(am__v_LEX_@AM_V@) 164 152 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 169 157 -e s/c++$$/h++/ -e s/c$$/h/ 170 158 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 171 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \172 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)173 159 AM_V_YACC = $(am__v_YACC_@AM_V@) 174 160 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 177 163 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 178 164 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 179 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \180 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \181 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \182 $(AM_CFLAGS) $(CFLAGS)183 165 AM_V_CC = $(am__v_CC_@AM_V@) 184 166 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 186 168 am__v_CC_1 = 187 169 CCLD = $(CC) 188 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 189 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 190 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 170 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 191 171 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 192 172 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 226 206 AMTAR = @AMTAR@ 227 207 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 228 AR = @AR@229 208 AUTOCONF = @AUTOCONF@ 230 209 AUTOHEADER = @AUTOHEADER@ 231 210 AUTOMAKE = @AUTOMAKE@ 232 211 AWK = @AWK@ 212 BACKEND_CC = @BACKEND_CC@ 233 213 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 234 214 CC = @CC@ … … 250 230 CPPFLAGS = @CPPFLAGS@ 251 231 CXX = @CXX@ 252 CXXCPP = @CXXCPP@253 232 CXXDEPMODE = @CXXDEPMODE@ 254 233 CXXFLAGS = @CXXFLAGS@ … … 256 235 DEFS = @DEFS@ 257 236 DEPDIR = @DEPDIR@ 258 DLLTOOL = @DLLTOOL@259 237 DRIVER_DIR = @DRIVER_DIR@ 260 DSYMUTIL = @DSYMUTIL@261 DUMPBIN = @DUMPBIN@262 238 ECHO_C = @ECHO_C@ 263 239 ECHO_N = @ECHO_N@ … … 265 241 EGREP = @EGREP@ 266 242 EXEEXT = @EXEEXT@ 267 FGREP = @FGREP@268 243 GREP = @GREP@ 269 244 HOST_FLAGS = @HOST_FLAGS@ … … 273 248 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 274 249 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 275 LD = @LD@276 250 LDFLAGS = @LDFLAGS@ 277 251 LEX = @LEX@ … … 282 256 LIBOBJS = @LIBOBJS@ 283 257 LIBS = @LIBS@ 284 LIBTOOL = @LIBTOOL@285 LIPO = @LIPO@286 LN_S = @LN_S@287 258 LTLIBOBJS = @LTLIBOBJS@ 288 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@289 259 MAKEINFO = @MAKEINFO@ 290 MANIFEST_TOOL = @MANIFEST_TOOL@291 260 MKDIR_P = @MKDIR_P@ 292 NM = @NM@293 NMEDIT = @NMEDIT@294 OBJDUMP = @OBJDUMP@295 261 OBJEXT = @OBJEXT@ 296 OTOOL = @OTOOL@297 OTOOL64 = @OTOOL64@298 262 PACKAGE = @PACKAGE@ 299 263 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 305 269 PATH_SEPARATOR = @PATH_SEPARATOR@ 306 270 RANLIB = @RANLIB@ 307 SED = @SED@308 271 SET_MAKE = @SET_MAKE@ 309 272 SHELL = @SHELL@ … … 317 280 abs_top_builddir = @abs_top_builddir@ 318 281 abs_top_srcdir = @abs_top_srcdir@ 319 ac_ct_AR = @ac_ct_AR@320 282 ac_ct_CC = @ac_ct_CC@ 321 283 ac_ct_CXX = @ac_ct_CXX@ 322 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@323 284 am__include = @am__include@ 324 285 am__leading_dot = @am__leading_dot@ … … 368 329 top_srcdir = @top_srcdir@ 369 330 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 370 ACLOCAL_AMFLAGS = -I automake371 331 BUILT_SOURCES = parser.hh 372 332 AM_YFLAGS = -d -t -v … … 386 346 387 347 .SUFFIXES: 388 .SUFFIXES: .cc .ll . lo .o .obj .yy348 .SUFFIXES: .cc .ll .o .obj .yy 389 349 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 390 350 @for dep in $?; do \ … … 426 386 sed 's/$(EXEEXT)$$//' | \ 427 387 while read p p1; do if test -f $$p \ 428 || test -f $$p1 \429 388 ; then echo "$$p"; echo "$$p"; else :; fi; \ 430 389 done | \ … … 441 400 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 442 401 test -z "$$files" || { \ 443 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \444 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(tools_prettyprinterdir)$$dir" || exit $$?; \402 echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \ 403 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(tools_prettyprinterdir)$$dir" || exit $$?; \ 445 404 } \ 446 405 ; done … … 458 417 459 418 clean-tools_prettyprinterPROGRAMS: 460 @list='$(tools_prettyprinter_PROGRAMS)'; test -n "$$list" || exit 0; \ 461 echo " rm -f" $$list; \ 462 rm -f $$list || exit $$?; \ 463 test -n "$(EXEEXT)" || exit 0; \ 464 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 465 echo " rm -f" $$list; \ 466 rm -f $$list 419 -test -z "$(tools_prettyprinter_PROGRAMS)" || rm -f $(tools_prettyprinter_PROGRAMS) 467 420 parser.hh: parser.cc 468 421 @if test ! -f $@; then rm -f parser.cc; else :; fi … … 501 454 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 502 455 503 .cc.lo:504 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\505 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\506 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo507 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@508 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@509 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<510 511 456 pretty-lex.o: lex.cc 512 457 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pretty_CXXFLAGS) $(CXXFLAGS) -MT pretty-lex.o -MD -MP -MF $(DEPDIR)/pretty-lex.Tpo -c -o pretty-lex.o `test -f 'lex.cc' || echo '$(srcdir)/'`lex.cc … … 584 529 .yy.cc: 585 530 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) 586 587 mostlyclean-libtool:588 -rm -f *.lo589 590 clean-libtool:591 -rm -rf .libs _libs592 531 593 532 ID: $(am__tagged_files) … … 719 658 clean: clean-am 720 659 721 clean-am: clean-generic clean- libtool\722 clean-tools_prettyprinterPROGRAMSmostlyclean-am660 clean-am: clean-generic clean-tools_prettyprinterPROGRAMS \ 661 mostlyclean-am 723 662 724 663 distclean: distclean-am … … 775 714 mostlyclean: mostlyclean-am 776 715 777 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 778 mostlyclean-libtool 716 mostlyclean-am: mostlyclean-compile mostlyclean-generic 779 717 780 718 pdf: pdf-am … … 791 729 792 730 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 793 clean-libtool clean-tools_prettyprinterPROGRAMS cscopelist-am \ 794 ctags ctags-am distclean distclean-compile distclean-generic \ 795 distclean-libtool distclean-tags distdir dvi dvi-am html \ 796 html-am info info-am install install-am install-data \ 797 install-data-am install-dvi install-dvi-am install-exec \ 798 install-exec-am install-html install-html-am install-info \ 799 install-info-am install-man install-pdf install-pdf-am \ 800 install-ps install-ps-am install-strip \ 801 install-tools_prettyprinterPROGRAMS installcheck \ 731 clean-tools_prettyprinterPROGRAMS cscopelist-am ctags ctags-am \ 732 distclean distclean-compile distclean-generic distclean-tags \ 733 distdir dvi dvi-am html html-am info info-am install \ 734 install-am install-data install-data-am install-dvi \ 735 install-dvi-am install-exec install-exec-am install-html \ 736 install-html-am install-info install-info-am install-man \ 737 install-pdf install-pdf-am install-ps install-ps-am \ 738 install-strip install-tools_prettyprinterPROGRAMS installcheck \ 802 739 installcheck-am installdirs maintainer-clean \ 803 740 maintainer-clean-generic mostlyclean mostlyclean-compile \ 804 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 805 tags tags-am uninstall uninstall-am \ 806 uninstall-tools_prettyprinterPROGRAMS 741 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 742 uninstall-am uninstall-tools_prettyprinterPROGRAMS 807 743 808 744 .PRECIOUS: Makefile
Note:
See TracChangeset
for help on using the changeset viewer.