Changes in / [9b086ca:cde3891]
- Files:
-
- 317 added
- 264 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 (added)
-
automake/ltmain.sh (added)
-
automake/ltoptions.m4 (added)
-
automake/ltsugar.m4 (added)
-
automake/ltversion.m4 (added)
-
automake/lt~obsolete.m4 (added)
-
benchmark/Makefile.am (modified) (12 diffs)
-
benchmark/Makefile.in (modified) (29 diffs)
-
benchmark/Monitor.c (modified) (1 diff)
-
benchmark/c.c (added)
-
benchmark/compile/empty.c (deleted)
-
benchmark/compile/empty.cfa (added)
-
benchmark/creation/cfa_cor.c (deleted)
-
benchmark/creation/cfa_cor.cfa (added)
-
benchmark/creation/cfa_thrd.c (deleted)
-
benchmark/creation/cfa_thrd.cfa (added)
-
benchmark/ctxswitch/cfa_cor.c (deleted)
-
benchmark/ctxswitch/cfa_cor.cfa (added)
-
benchmark/ctxswitch/cfa_thrd.c (deleted)
-
benchmark/ctxswitch/cfa_thrd.cfa (added)
-
benchmark/ctxswitch/cfa_thrd2.c (deleted)
-
benchmark/ctxswitch/cfa_thrd2.cfa (added)
-
benchmark/cxx.cpp (added)
-
benchmark/mutex/cfa1.c (deleted)
-
benchmark/mutex/cfa1.cfa (added)
-
benchmark/mutex/cfa2.c (deleted)
-
benchmark/mutex/cfa2.cfa (added)
-
benchmark/mutex/cfa4.c (deleted)
-
benchmark/mutex/cfa4.cfa (added)
-
benchmark/schedext/cfa1.c (deleted)
-
benchmark/schedext/cfa1.cfa (added)
-
benchmark/schedext/cfa2.c (deleted)
-
benchmark/schedext/cfa2.cfa (added)
-
benchmark/schedext/cfa4.c (deleted)
-
benchmark/schedext/cfa4.cfa (added)
-
benchmark/schedint/cfa1.c (deleted)
-
benchmark/schedint/cfa1.cfa (added)
-
benchmark/schedint/cfa2.c (deleted)
-
benchmark/schedint/cfa2.cfa (added)
-
benchmark/schedint/cfa4.c (deleted)
-
benchmark/schedint/cfa4.cfa (added)
-
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 (added)
-
doc/theses/aaron_moss/comp_II/.gitignore (deleted)
-
doc/theses/aaron_moss/comp_II/Efficient Type Resolution in Cforall.pptx (deleted)
-
doc/theses/aaron_moss/comp_II/Makefile (deleted)
-
doc/theses/aaron_moss/comp_II/comp_II.tex (deleted)
-
doc/theses/aaron_moss/comp_II/conversion_dag.eps (deleted)
-
doc/theses/aaron_moss/comp_II/conversion_dag.odg (deleted)
-
doc/theses/aaron_moss/comp_II/conversion_dag.png (deleted)
-
doc/theses/aaron_moss/comp_II/resolution_dag.eps (deleted)
-
doc/theses/aaron_moss/comp_II/resolution_dag.odg (deleted)
-
doc/theses/aaron_moss/comp_II/resolution_dag.png (deleted)
-
doc/theses/aaron_moss/comp_II/resolution_dag2.odg (deleted)
-
doc/theses/aaron_moss/comp_II/resolution_dag2.png (deleted)
-
doc/theses/aaron_moss/phd/.gitignore (deleted)
-
doc/theses/aaron_moss/phd/Makefile (deleted)
-
doc/theses/aaron_moss/phd/aaron-thesis.bib (deleted)
-
doc/theses/aaron_moss/phd/background.tex (deleted)
-
doc/theses/aaron_moss/phd/conclusion.tex (deleted)
-
doc/theses/aaron_moss/phd/frontpgs.tex (deleted)
-
doc/theses/aaron_moss/phd/generic-types.tex (deleted)
-
doc/theses/aaron_moss/phd/introduction.tex (deleted)
-
doc/theses/aaron_moss/phd/macros.tex (deleted)
-
doc/theses/aaron_moss/phd/resolution-heuristics.tex (deleted)
-
doc/theses/aaron_moss/phd/thesis.tex (deleted)
-
doc/theses/aaron_moss/phd/type-environment.tex (deleted)
-
doc/theses/aaron_moss_PhD/comp_II/.gitignore (added)
-
doc/theses/aaron_moss_PhD/comp_II/Efficient Type Resolution in Cforall.pptx (added)
-
doc/theses/aaron_moss_PhD/comp_II/Makefile (added)
-
doc/theses/aaron_moss_PhD/comp_II/comp_II.tex (added)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.eps (added)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.odg (added)
-
doc/theses/aaron_moss_PhD/comp_II/conversion_dag.png (added)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.eps (added)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.odg (added)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag.png (added)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag2.odg (added)
-
doc/theses/aaron_moss_PhD/comp_II/resolution_dag2.png (added)
-
doc/theses/aaron_moss_PhD/phd/.gitignore (added)
-
doc/theses/aaron_moss_PhD/phd/Makefile (added)
-
doc/theses/aaron_moss_PhD/phd/background.tex (added)
-
doc/theses/aaron_moss_PhD/phd/cfa-macros.tex (added)
-
doc/theses/aaron_moss_PhD/phd/code/bespoke-generic.c (added)
-
doc/theses/aaron_moss_PhD/phd/code/cfa-generic.cfa (added)
-
doc/theses/aaron_moss_PhD/phd/code/macro-generic.c (added)
-
doc/theses/aaron_moss_PhD/phd/code/void-generic.c (added)
-
doc/theses/aaron_moss_PhD/phd/conclusion.tex (added)
-
doc/theses/aaron_moss_PhD/phd/evaluation/generic-timing.dat (added)
-
doc/theses/aaron_moss_PhD/phd/evaluation/generic-timing.gp (added)
-
doc/theses/aaron_moss_PhD/phd/frontpgs.tex (added)
-
doc/theses/aaron_moss_PhD/phd/generic-types.tex (added)
-
doc/theses/aaron_moss_PhD/phd/introduction.tex (added)
-
doc/theses/aaron_moss_PhD/phd/macros.tex (added)
-
doc/theses/aaron_moss_PhD/phd/resolution-heuristics.tex (added)
-
doc/theses/aaron_moss_PhD/phd/thesis.tex (added)
-
doc/theses/aaron_moss_PhD/phd/timeline.md (added)
-
doc/theses/aaron_moss_PhD/phd/type-environment.tex (added)
-
doc/theses/lynn_tran_SE499/Bibliography.bib (added)
-
doc/theses/lynn_tran_SE499/Chapters/CFA.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/Conclusion.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/Demangler.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/Extensions.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/GDB.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/Introduction.tex (added)
-
doc/theses/lynn_tran_SE499/Chapters/uCPP.tex (added)
-
doc/theses/lynn_tran_SE499/LICENSE (added)
-
doc/theses/lynn_tran_SE499/SE499-master.zip (added)
-
doc/theses/lynn_tran_SE499/SE499-master/.gdbinit (added)
-
doc/theses/lynn_tran_SE499/SE499-master/README.md (added)
-
doc/theses/lynn_tran_SE499/SE499-master/test.cc (added)
-
doc/theses/lynn_tran_SE499/SE499-master/utils-gdb.gdb (added)
-
doc/theses/lynn_tran_SE499/SE499-master/utils-gdb.py (added)
-
doc/theses/lynn_tran_SE499/SE499-master/utils.cpp (added)
-
doc/theses/lynn_tran_SE499/Thesis.cls (added)
-
doc/theses/lynn_tran_SE499/lstpatch.sty (added)
-
doc/theses/lynn_tran_SE499/se499-report.tex (added)
-
doc/theses/lynn_tran_SE499/uContext_stack.png (added)
-
doc/theses/lynn_tran_SE499/vector.sty (added)
-
doc/theses/rob_schluntz/.gitignore (deleted)
-
doc/theses/rob_schluntz/Makefile (deleted)
-
doc/theses/rob_schluntz/cfa-format.tex (deleted)
-
doc/theses/rob_schluntz/conclusions.tex (deleted)
-
doc/theses/rob_schluntz/ctordtor.tex (deleted)
-
doc/theses/rob_schluntz/examples/conclusions/dtor.c (deleted)
-
doc/theses/rob_schluntz/examples/conclusions/except.c (deleted)
-
doc/theses/rob_schluntz/examples/conclusions/except.cc (deleted)
-
doc/theses/rob_schluntz/examples/ctor/array_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/copy_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/cv_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/enum_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/expr_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/global_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/hide_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/member.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/placement_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/return_dtor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/static_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/ctor/union_ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/intro/FileOutputStream.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/compound_lit.c (deleted)
-
doc/theses/rob_schluntz/examples/intro/designation.c (deleted)
-
doc/theses/rob_schluntz/examples/intro/ignore.c (deleted)
-
doc/theses/rob_schluntz/examples/intro/ires.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/res.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/res1.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/res2.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/res3.java (deleted)
-
doc/theses/rob_schluntz/examples/intro/tuple.cc (deleted)
-
doc/theses/rob_schluntz/examples/intro/variadic.java (deleted)
-
doc/theses/rob_schluntz/examples/malloc.cc (deleted)
-
doc/theses/rob_schluntz/examples/nested.c (deleted)
-
doc/theses/rob_schluntz/examples/poly.c (deleted)
-
doc/theses/rob_schluntz/examples/scope_guard.h (deleted)
-
doc/theses/rob_schluntz/examples/test_scoped_guard.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/assign.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/cast.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/ctor.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/mrv.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/mrv_1.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/mrv_2.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/mrv_3.c (deleted)
-
doc/theses/rob_schluntz/examples/tuples/named.c (deleted)
-
doc/theses/rob_schluntz/examples/variadic/new.c (deleted)
-
doc/theses/rob_schluntz/examples/variadic/print.c (deleted)
-
doc/theses/rob_schluntz/examples/variadic/sum1.c (deleted)
-
doc/theses/rob_schluntz/examples/variadic/sum2.c (deleted)
-
doc/theses/rob_schluntz/intro.tex (deleted)
-
doc/theses/rob_schluntz/thesis-frontpgs.tex (deleted)
-
doc/theses/rob_schluntz/thesis.bib (deleted)
-
doc/theses/rob_schluntz/thesis.tex (deleted)
-
doc/theses/rob_schluntz/tuples.tex (deleted)
-
doc/theses/rob_schluntz/variadic.tex (deleted)
-
doc/theses/rob_schluntz_MMath/.gitignore (added)
-
doc/theses/rob_schluntz_MMath/Makefile (added)
-
doc/theses/rob_schluntz_MMath/cfa-format.tex (added)
-
doc/theses/rob_schluntz_MMath/conclusions.tex (added)
-
doc/theses/rob_schluntz_MMath/ctordtor.tex (added)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/dtor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/except.c (added)
-
doc/theses/rob_schluntz_MMath/examples/conclusions/except.cc (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/array_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/copy_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/cv_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/enum_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/expr_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/global_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/hide_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/member.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/placement_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/return_dtor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/static_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/ctor/union_ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/FileOutputStream.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/compound_lit.c (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/designation.c (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/ignore.c (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/ires.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/res.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/res1.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/res2.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/res3.java (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/tuple.cc (added)
-
doc/theses/rob_schluntz_MMath/examples/intro/variadic.java (added)
-
doc/theses/rob_schluntz_MMath/examples/malloc.cc (added)
-
doc/theses/rob_schluntz_MMath/examples/nested.c (added)
-
doc/theses/rob_schluntz_MMath/examples/poly.c (added)
-
doc/theses/rob_schluntz_MMath/examples/scope_guard.h (added)
-
doc/theses/rob_schluntz_MMath/examples/test_scoped_guard.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/assign.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/cast.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/ctor.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_1.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_2.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/mrv_3.c (added)
-
doc/theses/rob_schluntz_MMath/examples/tuples/named.c (added)
-
doc/theses/rob_schluntz_MMath/examples/variadic/new.c (added)
-
doc/theses/rob_schluntz_MMath/examples/variadic/print.c (added)
-
doc/theses/rob_schluntz_MMath/examples/variadic/sum1.c (added)
-
doc/theses/rob_schluntz_MMath/examples/variadic/sum2.c (added)
-
doc/theses/rob_schluntz_MMath/intro.tex (added)
-
doc/theses/rob_schluntz_MMath/thesis-frontpgs.tex (added)
-
doc/theses/rob_schluntz_MMath/thesis.bib (added)
-
doc/theses/rob_schluntz_MMath/thesis.tex (added)
-
doc/theses/rob_schluntz_MMath/tuples.tex (added)
-
doc/theses/rob_schluntz_MMath/variadic.tex (added)
-
doc/theses/thierry_delisle/.gitignore (deleted)
-
doc/theses/thierry_delisle/Makefile (deleted)
-
doc/theses/thierry_delisle/annex/glossary.tex (deleted)
-
doc/theses/thierry_delisle/annex/local.bib (deleted)
-
doc/theses/thierry_delisle/figures/dependency.fig (deleted)
-
doc/theses/thierry_delisle/figures/ext_monitor.fig (deleted)
-
doc/theses/thierry_delisle/figures/int_monitor.fig (deleted)
-
doc/theses/thierry_delisle/figures/monitor.fig (deleted)
-
doc/theses/thierry_delisle/figures/monitor_structs.fig (deleted)
-
doc/theses/thierry_delisle/figures/system.fig (deleted)
-
doc/theses/thierry_delisle/notes/cor-thread-traits.c (deleted)
-
doc/theses/thierry_delisle/notes/lit-review.md (deleted)
-
doc/theses/thierry_delisle/notes/notes.md (deleted)
-
doc/theses/thierry_delisle/style/cfa-format.tex (deleted)
-
doc/theses/thierry_delisle/style/style.tex (deleted)
-
doc/theses/thierry_delisle/text/basics.tex (deleted)
-
doc/theses/thierry_delisle/text/cforall.tex (deleted)
-
doc/theses/thierry_delisle/text/concurrency.tex (deleted)
-
doc/theses/thierry_delisle/text/frontpgs.tex (deleted)
-
doc/theses/thierry_delisle/text/future.tex (deleted)
-
doc/theses/thierry_delisle/text/internals.tex (deleted)
-
doc/theses/thierry_delisle/text/intro.tex (deleted)
-
doc/theses/thierry_delisle/text/parallelism.tex (deleted)
-
doc/theses/thierry_delisle/text/results.tex (deleted)
-
doc/theses/thierry_delisle/text/together.tex (deleted)
-
doc/theses/thierry_delisle/thePlan.md (deleted)
-
doc/theses/thierry_delisle/thesis.tex (deleted)
-
doc/theses/thierry_delisle/version (deleted)
-
doc/theses/thierry_delisle/version.sh (deleted)
-
doc/theses/thierry_delisle_MMath/.gitignore (added)
-
doc/theses/thierry_delisle_MMath/Makefile (added)
-
doc/theses/thierry_delisle_MMath/annex/glossary.tex (added)
-
doc/theses/thierry_delisle_MMath/annex/local.bib (added)
-
doc/theses/thierry_delisle_MMath/figures/dependency.fig (added)
-
doc/theses/thierry_delisle_MMath/figures/ext_monitor.fig (added)
-
doc/theses/thierry_delisle_MMath/figures/int_monitor.fig (added)
-
doc/theses/thierry_delisle_MMath/figures/monitor.fig (added)
-
doc/theses/thierry_delisle_MMath/figures/monitor_structs.fig (added)
-
doc/theses/thierry_delisle_MMath/figures/system.fig (added)
-
doc/theses/thierry_delisle_MMath/notes/cor-thread-traits.c (added)
-
doc/theses/thierry_delisle_MMath/notes/lit-review.md (added)
-
doc/theses/thierry_delisle_MMath/notes/notes.md (added)
-
doc/theses/thierry_delisle_MMath/style/cfa-format.tex (added)
-
doc/theses/thierry_delisle_MMath/style/style.tex (added)
-
doc/theses/thierry_delisle_MMath/text/basics.tex (added)
-
doc/theses/thierry_delisle_MMath/text/cforall.tex (added)
-
doc/theses/thierry_delisle_MMath/text/concurrency.tex (added)
-
doc/theses/thierry_delisle_MMath/text/frontpgs.tex (added)
-
doc/theses/thierry_delisle_MMath/text/future.tex (added)
-
doc/theses/thierry_delisle_MMath/text/internals.tex (added)
-
doc/theses/thierry_delisle_MMath/text/intro.tex (added)
-
doc/theses/thierry_delisle_MMath/text/parallelism.tex (added)
-
doc/theses/thierry_delisle_MMath/text/results.tex (added)
-
doc/theses/thierry_delisle_MMath/text/together.tex (added)
-
doc/theses/thierry_delisle_MMath/thePlan.md (added)
-
doc/theses/thierry_delisle_MMath/thesis.tex (added)
-
doc/theses/thierry_delisle_MMath/version (added)
-
doc/theses/thierry_delisle_MMath/version.sh (added)
-
doc/user/Makefile (modified) (2 diffs)
-
doc/user/user.tex (modified) (48 diffs)
-
doc/working/exception/impl/Makefile (added)
-
doc/working/exception/impl/exception.c (modified) (4 diffs)
-
doc/working/exception/impl/pdc.s (added)
-
doc/working/exception/impl/pic.s (added)
-
doc/working/exception/impl/test.c (added)
-
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) (13 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 (added)
-
libcfa/automake/ltmain.sh (added)
-
libcfa/automake/ltoptions.m4 (added)
-
libcfa/automake/ltsugar.m4 (added)
-
libcfa/automake/ltversion.m4 (added)
-
libcfa/automake/lt~obsolete.m4 (added)
-
libcfa/configure (modified) (47 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 (added)
-
libcfa/src/concurrency/CtxSwitch-armv7l.S (deleted)
-
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 (added)
-
src/CodeTools/ResolvProtoDump.h (added)
-
src/CodeTools/module.mk (modified) (1 diff)
-
src/Common/FilterCombos.h (added)
-
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) (13 diffs)
-
src/ResolvExpr/ResolvMode.h (added)
-
src/ResolvExpr/ResolveAssertions.cc (added)
-
src/ResolvExpr/ResolveAssertions.h (added)
-
src/ResolvExpr/ResolveTypeof.cc (modified) (1 diff)
-
src/ResolvExpr/Resolver.cc (modified) (14 diffs)
-
src/ResolvExpr/SpecCost.cc (added)
-
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 (deleted)
-
tests/.expect/heap.txt (deleted)
-
tests/.expect/loopctrl.txt (added)
-
tests/.expect/nested-types-ERR1.txt (modified) (1 diff)
-
tests/.expect/nested-types-ERR2.txt (modified) (1 diff)
-
tests/.expect/quotedKeyword.txt (added)
-
tests/.expect/quoted_keyword.txt (deleted)
-
tests/.expect/scopeErrors.txt (modified) (1 diff)
-
tests/.expect/typedefRedef-ERR1.txt (modified) (1 diff)
-
tests/.expect/user_literals.txt (deleted)
-
tests/.expect/with-statement.txt (deleted)
-
tests/KRfunctions.c (deleted)
-
tests/KRfunctions.cfa (added)
-
tests/Makefile.am (modified) (6 diffs)
-
tests/Makefile.in (modified) (28 diffs)
-
tests/abort.cfa (added)
-
tests/abs.c (deleted)
-
tests/abs.cfa (added)
-
tests/alloc.c (deleted)
-
tests/alloc.cfa (added)
-
tests/array.c (deleted)
-
tests/array.cfa (added)
-
tests/ato.c (deleted)
-
tests/ato.cfa (added)
-
tests/attributes.c (deleted)
-
tests/attributes.cfa (added)
-
tests/avltree/avl-private.c (deleted)
-
tests/avltree/avl-private.cfa (added)
-
tests/avltree/avl0.c (deleted)
-
tests/avltree/avl0.cfa (added)
-
tests/avltree/avl1.c (deleted)
-
tests/avltree/avl1.cfa (added)
-
tests/avltree/avl2.c (deleted)
-
tests/avltree/avl2.cfa (added)
-
tests/avltree/avl3.c (deleted)
-
tests/avltree/avl3.cfa (added)
-
tests/avltree/avl4.c (deleted)
-
tests/avltree/avl4.cfa (added)
-
tests/avltree/avl_test.c (deleted)
-
tests/avltree/avl_test.cfa (added)
-
tests/builtins/sync.c (deleted)
-
tests/builtins/sync.cfa (added)
-
tests/cast.c (deleted)
-
tests/cast.cfa (added)
-
tests/castError.c (deleted)
-
tests/castError.cfa (added)
-
tests/commentMisc.c (deleted)
-
tests/commentMisc.cfa (added)
-
tests/completeTypeError.c (deleted)
-
tests/completeTypeError.cfa (added)
-
tests/complex.c (deleted)
-
tests/complex.cfa (added)
-
tests/concurrent/coroutineYield.c (deleted)
-
tests/concurrent/coroutineYield.cfa (added)
-
tests/concurrent/examples/boundedBufferEXT.c (deleted)
-
tests/concurrent/examples/boundedBufferEXT.cfa (added)
-
tests/concurrent/examples/boundedBufferINT.c (deleted)
-
tests/concurrent/examples/boundedBufferINT.cfa (added)
-
tests/concurrent/examples/datingService.c (deleted)
-
tests/concurrent/examples/datingService.cfa (added)
-
tests/concurrent/examples/matrixSum.c (deleted)
-
tests/concurrent/examples/matrixSum.cfa (added)
-
tests/concurrent/examples/quickSort.c (deleted)
-
tests/concurrent/examples/quickSort.cfa (added)
-
tests/concurrent/monitor.c (deleted)
-
tests/concurrent/monitor.cfa (added)
-
tests/concurrent/multi-monitor.c (deleted)
-
tests/concurrent/multi-monitor.cfa (added)
-
tests/concurrent/preempt.c (deleted)
-
tests/concurrent/preempt.cfa (added)
-
tests/concurrent/signal/block.c (deleted)
-
tests/concurrent/signal/block.cfa (added)
-
tests/concurrent/signal/disjoint.c (deleted)
-
tests/concurrent/signal/disjoint.cfa (added)
-
tests/concurrent/signal/wait.c (deleted)
-
tests/concurrent/signal/wait.cfa (added)
-
tests/concurrent/thread.c (deleted)
-
tests/concurrent/thread.cfa (added)
-
tests/concurrent/waitfor/barge.c (deleted)
-
tests/concurrent/waitfor/barge.cfa (added)
-
tests/concurrent/waitfor/dtor.c (deleted)
-
tests/concurrent/waitfor/dtor.cfa (added)
-
tests/concurrent/waitfor/else.c (deleted)
-
tests/concurrent/waitfor/else.cfa (added)
-
tests/concurrent/waitfor/parse.c (deleted)
-
tests/concurrent/waitfor/parse.cfa (added)
-
tests/concurrent/waitfor/parse2.c (deleted)
-
tests/concurrent/waitfor/parse2.cfa (added)
-
tests/concurrent/waitfor/recurse.c (deleted)
-
tests/concurrent/waitfor/recurse.cfa (added)
-
tests/concurrent/waitfor/simple.c (deleted)
-
tests/concurrent/waitfor/simple.cfa (added)
-
tests/concurrent/waitfor/statment.c (deleted)
-
tests/concurrent/waitfor/statment.cfa (added)
-
tests/concurrent/waitfor/when.c (deleted)
-
tests/concurrent/waitfor/when.cfa (added)
-
tests/context.c (deleted)
-
tests/context.cfa (added)
-
tests/coroutine/.expect/fmtLines.txt (modified) (2 diffs)
-
tests/coroutine/.in/fmtLines.txt (modified) (3 diffs)
-
tests/coroutine/fibonacci.c (deleted)
-
tests/coroutine/fibonacci.cfa (added)
-
tests/coroutine/fibonacci_1.c (deleted)
-
tests/coroutine/fibonacci_1.cfa (added)
-
tests/coroutine/fmtLines.c (deleted)
-
tests/coroutine/fmtLines.cfa (added)
-
tests/coroutine/pingpong.c (deleted)
-
tests/coroutine/pingpong.cfa (added)
-
tests/coroutine/prodcons.c (deleted)
-
tests/coroutine/prodcons.cfa (added)
-
tests/coroutine/runningTotal.c (deleted)
-
tests/coroutine/runningTotal.cfa (added)
-
tests/counter.c (deleted)
-
tests/counter.cfa (added)
-
tests/declarationErrors.c (deleted)
-
tests/declarationErrors.cfa (added)
-
tests/declarationSpecifier.c (deleted)
-
tests/declarationSpecifier.cfa (added)
-
tests/designations.c (deleted)
-
tests/designations.cfa (added)
-
tests/div.c (deleted)
-
tests/div.cfa (added)
-
tests/enum.c (deleted)
-
tests/enum.cfa (added)
-
tests/except-0.c (deleted)
-
tests/except-0.cfa (added)
-
tests/except-1.c (deleted)
-
tests/except-1.cfa (added)
-
tests/except-2.c (deleted)
-
tests/except-2.cfa (added)
-
tests/except-3.c (deleted)
-
tests/except-3.cfa (added)
-
tests/except-mac.h (deleted)
-
tests/except-mac.hfa (added)
-
tests/expression.c (deleted)
-
tests/expression.cfa (added)
-
tests/extension.c (deleted)
-
tests/extension.cfa (added)
-
tests/fallthrough.c (deleted)
-
tests/fallthrough.cfa (added)
-
tests/forall.c (deleted)
-
tests/forall.cfa (added)
-
tests/forctrl.c (deleted)
-
tests/fstream_test.c (deleted)
-
tests/fstream_test.cfa (added)
-
tests/function-operator.c (deleted)
-
tests/function-operator.cfa (added)
-
tests/functions.c (deleted)
-
tests/functions.cfa (added)
-
tests/gccExtensions.c (deleted)
-
tests/gccExtensions.cfa (added)
-
tests/genericUnion.c (deleted)
-
tests/genericUnion.cfa (added)
-
tests/gmp.c (deleted)
-
tests/gmp.cfa (added)
-
tests/heap.c (deleted)
-
tests/heap.cfa (added)
-
tests/hello.c (deleted)
-
tests/hello.cfa (added)
-
tests/identFuncDeclarator.c (deleted)
-
tests/identFuncDeclarator.cfa (added)
-
tests/identParamDeclarator.c (deleted)
-
tests/identParamDeclarator.cfa (added)
-
tests/identity.c (deleted)
-
tests/identity.cfa (added)
-
tests/ifwhileCtl.c (deleted)
-
tests/ifwhileCtl.cfa (added)
-
tests/io1.c (deleted)
-
tests/io1.cfa (added)
-
tests/io2.c (deleted)
-
tests/io2.cfa (added)
-
tests/labelledExit.c (deleted)
-
tests/labelledExit.cfa (added)
-
tests/limits.c (deleted)
-
tests/limits.cfa (added)
-
tests/literals.c (deleted)
-
tests/literals.cfa (added)
-
tests/long_tests.h (deleted)
-
tests/long_tests.hfa (added)
-
tests/loopctrl.cfa (added)
-
tests/math1.c (deleted)
-
tests/math1.cfa (added)
-
tests/math2.c (deleted)
-
tests/math2.cfa (added)
-
tests/math3.c (deleted)
-
tests/math3.cfa (added)
-
tests/math4.c (deleted)
-
tests/math4.cfa (added)
-
tests/maybe.c (deleted)
-
tests/maybe.cfa (added)
-
tests/minmax.c (deleted)
-
tests/minmax.cfa (added)
-
tests/namedParmArg.c (deleted)
-
tests/namedParmArg.cfa (added)
-
tests/nested-types.c (deleted)
-
tests/nested-types.cfa (added)
-
tests/numericConstants.c (deleted)
-
tests/numericConstants.cfa (added)
-
tests/occursError.c (deleted)
-
tests/occursError.cfa (added)
-
tests/operators.c (deleted)
-
tests/operators.cfa (added)
-
tests/polymorphism.c (deleted)
-
tests/polymorphism.cfa (added)
-
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 (added)
-
tests/pybin/tools.py (modified) (5 diffs)
-
tests/quotedKeyword.cfa (added)
-
tests/quoted_keyword.c (deleted)
-
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 (deleted)
-
tests/raii/ctor-autogen.cfa (added)
-
tests/raii/dtor-early-exit.c (deleted)
-
tests/raii/dtor-early-exit.cfa (added)
-
tests/raii/globals.c (deleted)
-
tests/raii/globals.cfa (added)
-
tests/raii/init_once.c (deleted)
-
tests/raii/init_once.cfa (added)
-
tests/raii/memberCtors.c (deleted)
-
tests/raii/memberCtors.cfa (added)
-
tests/raii/multiDimension.c (deleted)
-
tests/raii/multiDimension.cfa (added)
-
tests/random.c (deleted)
-
tests/random.cfa (added)
-
tests/rational.c (deleted)
-
tests/rational.cfa (added)
-
tests/references.c (deleted)
-
tests/references.cfa (added)
-
tests/result.c (deleted)
-
tests/result.cfa (added)
-
tests/scope.c (deleted)
-
tests/scope.cfa (added)
-
tests/scopeErrors.c (deleted)
-
tests/scopeErrors.cfa (added)
-
tests/searchsort.c (deleted)
-
tests/searchsort.cfa (added)
-
tests/shortCircuit.c (deleted)
-
tests/shortCircuit.cfa (added)
-
tests/simpleGenericTriple.c (deleted)
-
tests/simpleGenericTriple.cfa (added)
-
tests/stdincludes.c (deleted)
-
tests/stdincludes.cfa (added)
-
tests/structMember.c (deleted)
-
tests/structMember.cfa (added)
-
tests/subrange.c (deleted)
-
tests/subrange.cfa (added)
-
tests/sum.c (deleted)
-
tests/sum.cfa (added)
-
tests/swap.c (deleted)
-
tests/swap.cfa (added)
-
tests/switch.c (deleted)
-
tests/switch.cfa (added)
-
tests/test.py (modified) (7 diffs)
-
tests/time.c (deleted)
-
tests/time.cfa (added)
-
tests/tuple/tupleAssign.c (deleted)
-
tests/tuple/tupleAssign.cfa (added)
-
tests/tuple/tupleCast.c (deleted)
-
tests/tuple/tupleCast.cfa (added)
-
tests/tuple/tupleFunction.c (deleted)
-
tests/tuple/tupleFunction.cfa (added)
-
tests/tuple/tupleMember.c (deleted)
-
tests/tuple/tupleMember.cfa (added)
-
tests/tuple/tuplePolymorphism.c (deleted)
-
tests/tuple/tuplePolymorphism.cfa (added)
-
tests/tuple/tupleVariadic.c (deleted)
-
tests/tuple/tupleVariadic.cfa (added)
-
tests/tuple/tuples.c (deleted)
-
tests/tuple/tuples.cfa (added)
-
tests/typeGenerator.c (deleted)
-
tests/typeGenerator.cfa (added)
-
tests/typedef.c (deleted)
-
tests/typedef.cfa (added)
-
tests/typedefDeclarator.c (deleted)
-
tests/typedefDeclarator.cfa (added)
-
tests/typedefRedef.c (deleted)
-
tests/typedefRedef.cfa (added)
-
tests/typeof.c (deleted)
-
tests/typeof.cfa (added)
-
tests/userLiterals.cfa (added)
-
tests/user_literals.c (deleted)
-
tests/variableDeclarator.c (deleted)
-
tests/variableDeclarator.cfa (added)
-
tests/vector.c (deleted)
-
tests/vector.cfa (added)
-
tests/virtualCast.c (deleted)
-
tests/virtualCast.cfa (added)
-
tests/voidPtr.c (deleted)
-
tests/voidPtr.cfa (added)
-
tests/warnings/.expect/self-assignment.txt (modified) (1 diff)
-
tests/warnings/self-assignment.c (deleted)
-
tests/warnings/self-assignment.cfa (added)
-
tests/with-statement.c (deleted)
-
tests/withStatement.cfa (added)
-
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
r9b086ca rcde3891 38 38 libcfa/prelude/gcc-builtins.cf 39 39 libcfa/prelude/gcc-builtins.c 40 libcfa/prelude/prelude.cf 40 libcfa/prelude/prelude.cfa 41 41 libcfa/x64-debug/ 42 42 libcfa/x64-nodebug/ -
INSTALL
r9b086ca rcde3891 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. It26 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 environment29 variable CXX. If CXX is unset, cfa-cc is built using the first command named30 'g++' in the current PATH. -
Jenkins/TestRegen
r9b086ca rcde3891 70 70 //escapes the sandbox 71 71 //Also specify the compiler by hand 72 sh "./configure CXX=clang++ --host=${arch} --with-backend-compiler=gcc-6 --prefix=${install_dir} --enable-silent-rules --quiet"72 sh "./configure CXX=clang++ CC=gcc-6 --host=${arch} --enable-silent-rules --quiet" 73 73 74 74 //Compile the project 75 sh 'make -j 8 --no-print-directory install'75 sh 'make -j 8 --no-print-directory' 76 76 77 77 //Regenerate the desired tests -
Jenkinsfile
r9b086ca rcde3891 4 4 // Main loop of the compilation 5 5 //=========================================================================================================== 6 node ('master'){ 7 6 7 node('master') { 8 8 // Globals 9 BuildDir = pwd tmp: true10 SrcDir = pwd tmp: false9 BuildDir = null 10 SrcDir = null 11 11 Settings = null 12 12 StageName = '' … … 26 26 Settings = prepare_build() 27 27 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() 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 } 43 48 44 49 notify_server(45) … … 75 80 } 76 81 } 77 78 82 //=========================================================================================================== 79 83 // Main compilation routines … … 114 118 } 115 119 116 sh "${SrcDir}/configure CXX=${Settings.Compiler. cpp_cc} ${Settings.Architecture.flags} ${targets} --with-backend-compiler=${Settings.Compiler.cfa_cc} --quiet"120 sh "${SrcDir}/configure CXX=${Settings.Compiler.CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} ${targets} --quiet" 117 121 118 122 //Compile the project … … 128 132 //Run the tests from the tests directory 129 133 if ( Settings.RunAllTests ) { 130 sh 'make --no-print-directory -C tests all-tests debug=yes'131 sh 'make --no-print-directory -C tests all-tests debug=no '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 ' 132 136 } 133 137 else { … … 235 239 //Description of a compiler (Must be serializable since pipelines are persistent) 236 240 class CC_Desc implements Serializable { 237 public String cc_name238 public String cpp_cc239 public String cfa_cc240 241 CC_Desc(String cc_name, String cpp_cc, String cfa_cc) {242 this. cc_name = cc_name243 this. cpp_cc = cpp_cc244 this. cfa_cc = cfa_cc241 public String name 242 public String CXX 243 public String CC 244 245 CC_Desc(String name, String CXX, String CC) { 246 this.name = name 247 this.CXX = CXX 248 this.CC = CC 245 249 } 246 250 } … … 250 254 public String name 251 255 public String flags 252 253 Arch_Desc(String name, String flags) { 256 public String node 257 258 Arch_Desc(String name, String flags, String node) { 254 259 this.name = name 255 260 this.flags = flags 261 this.node = node 256 262 } 257 263 } … … 292 298 switch( param.Architecture ) { 293 299 case 'x64': 294 this.Architecture = new Arch_Desc('x64', '--host=x86_64' )300 this.Architecture = new Arch_Desc('x64', '--host=x86_64', 'master') 295 301 break 296 302 case 'x86': 297 this.Architecture = new Arch_Desc('x86', '--host=i386' )303 this.Architecture = new Arch_Desc('x86', '--host=i386', 'master') 298 304 break 299 305 default : … … 309 315 310 316 def full = param.RunAllTests ? " (Full)" : "" 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})317 this.DescShort = "${ this.Compiler.name }:${ this.Architecture.name }${full}" 318 319 this.DescLong = """Compiler : ${ this.Compiler.name } (${ this.Compiler.CXX }/${ this.Compiler.CC }) 314 320 Architecture : ${ this.Architecture.name } 315 321 Arc Flags : ${ this.Architecture.flags } -
Makefile.am
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command 18 ACLOCAL_AMFLAGS = -I automake 19 19 20 20 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* -
Makefile.in
r9b086ca rcde3891 94 94 subdir = . 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 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 98 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 99 103 $(ACLOCAL_M4) … … 198 202 $(top_srcdir)/automake/config.sub \ 199 203 $(top_srcdir)/automake/install-sh \ 204 $(top_srcdir)/automake/ltmain.sh \ 200 205 $(top_srcdir)/automake/missing $(top_srcdir)/src/config.h.in \ 201 206 INSTALL README automake/compile automake/config.guess \ 202 207 automake/config.sub automake/depcomp automake/install-sh \ 203 automake/ missing automake/ylwrap208 automake/ltmain.sh automake/missing automake/ylwrap 204 209 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 205 210 distdir = $(PACKAGE)-$(VERSION) … … 248 253 AMTAR = @AMTAR@ 249 254 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 255 AR = @AR@ 250 256 AUTOCONF = @AUTOCONF@ 251 257 AUTOHEADER = @AUTOHEADER@ 252 258 AUTOMAKE = @AUTOMAKE@ 253 259 AWK = @AWK@ 254 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command255 260 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 256 261 CC = @CC@ … … 272 277 CPPFLAGS = @CPPFLAGS@ 273 278 CXX = @CXX@ 279 CXXCPP = @CXXCPP@ 274 280 CXXDEPMODE = @CXXDEPMODE@ 275 281 CXXFLAGS = @CXXFLAGS@ … … 277 283 DEFS = @DEFS@ 278 284 DEPDIR = @DEPDIR@ 285 DLLTOOL = @DLLTOOL@ 279 286 DRIVER_DIR = @DRIVER_DIR@ 287 DSYMUTIL = @DSYMUTIL@ 288 DUMPBIN = @DUMPBIN@ 280 289 ECHO_C = @ECHO_C@ 281 290 ECHO_N = @ECHO_N@ … … 283 292 EGREP = @EGREP@ 284 293 EXEEXT = @EXEEXT@ 294 FGREP = @FGREP@ 285 295 GREP = @GREP@ 286 296 HOST_FLAGS = @HOST_FLAGS@ … … 290 300 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 291 301 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 302 LD = @LD@ 292 303 LDFLAGS = @LDFLAGS@ 293 304 LEX = @LEX@ … … 298 309 LIBOBJS = @LIBOBJS@ 299 310 LIBS = @LIBS@ 311 LIBTOOL = @LIBTOOL@ 312 LIPO = @LIPO@ 313 LN_S = @LN_S@ 300 314 LTLIBOBJS = @LTLIBOBJS@ 315 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 301 316 MAKEINFO = @MAKEINFO@ 317 MANIFEST_TOOL = @MANIFEST_TOOL@ 302 318 MKDIR_P = @MKDIR_P@ 319 NM = @NM@ 320 NMEDIT = @NMEDIT@ 321 OBJDUMP = @OBJDUMP@ 303 322 OBJEXT = @OBJEXT@ 323 OTOOL = @OTOOL@ 324 OTOOL64 = @OTOOL64@ 304 325 PACKAGE = @PACKAGE@ 305 326 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 311 332 PATH_SEPARATOR = @PATH_SEPARATOR@ 312 333 RANLIB = @RANLIB@ 334 SED = @SED@ 313 335 SET_MAKE = @SET_MAKE@ 314 336 SHELL = @SHELL@ … … 322 344 abs_top_builddir = @abs_top_builddir@ 323 345 abs_top_srcdir = @abs_top_srcdir@ 346 ac_ct_AR = @ac_ct_AR@ 324 347 ac_ct_CC = @ac_ct_CC@ 325 348 ac_ct_CXX = @ac_ct_CXX@ 349 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 326 350 am__include = @am__include@ 327 351 am__leading_dot = @am__leading_dot@ … … 371 395 top_srcdir = @top_srcdir@ 372 396 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 397 ACLOCAL_AMFLAGS = -I automake 373 398 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* 374 399 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@ … … 428 453 distclean-hdr: 429 454 -rm -f config.h stamp-h1 455 456 mostlyclean-libtool: 457 -rm -f *.lo 458 459 clean-libtool: 460 -rm -rf .libs _libs 461 462 distclean-libtool: 463 -rm -f libtool config.lt 430 464 install-man1: $(man1_MANS) 431 465 @$(NORMAL_INSTALL) … … 803 837 clean: clean-recursive 804 838 805 clean-am: clean-generic mostlyclean-am839 clean-am: clean-generic clean-libtool mostlyclean-am 806 840 807 841 distclean: distclean-recursive 808 842 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 809 843 -rm -f Makefile 810 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags 844 distclean-am: clean-am distclean-generic distclean-hdr \ 845 distclean-libtool distclean-tags 811 846 812 847 dvi: dvi-recursive … … 858 893 mostlyclean: mostlyclean-recursive 859 894 860 mostlyclean-am: mostlyclean-generic 895 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 861 896 862 897 pdf: pdf-recursive … … 876 911 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 877 912 am--refresh check check-am clean clean-cscope clean-generic \ 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 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 891 927 892 928 .PRECIOUS: Makefile -
aclocal.m4
r9b086ca rcde3891 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
r9b086ca rcde3891 73 73 "arm" ) cannon_arch_name="arm";; 74 74 "ARM" ) cannon_arch_name="arm";; 75 "armv7l" ) cannon_arch_name="arm";; 75 76 *) 76 77 >&2 echo "Unkown architecture " $arch_name; -
benchmark/Makefile.am
r9b086ca rcde3891 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jan 25 22:31:42 201614 ## Update Count : 2 513 ## Last Modified On : Tue Nov 6 09:01:23 2018 14 ## Update Count : 26 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 # applies to both programs 20 21 include $(top_srcdir)/src/cfa.make 21 22 22 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 23 23 24 24 25 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread … … 26 27 AM_UPPFLAGS = -quiet -nodebug -multi 27 28 28 TOOLSDIR = ${abs_top_ srcdir}/tools/29 REPEAT = ${ TOOLSDIR}repeat30 STATS = ${ TOOLSDIR}stat.py29 TOOLSDIR = ${abs_top_builddir}/tools/ 30 REPEAT = ${abs_top_builddir}/tools/repeat 31 STATS = ${abs_top_srcdir}/tools/stat.py 31 32 repeats = 30 32 33 skipcompile = no … … 34 35 PRINT_FORMAT = %20s: #Comments needed for spacing 35 36 36 LIBFIBRE_DIR ?= /home/tdelisle/software/KOS/src/ 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; }" > ${@} 37 46 38 47 .NOTPARALLEL: 39 48 40 noinst_PROGRAMS = 41 49 ## ========================================================================================================= 42 50 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 43 51 … … 49 57 @${STATS} .result.log 50 58 @echo "------------------------------------------------------" 51 @rm -f a.out .result.log 59 @rm -f a.out .result.log *.class 52 60 53 61 %.runquiet : … … 61 69 62 70 ${REPEAT} : 63 @+make -C ${ TOOLSDIR}repeat71 @+make -C ${abs_top_builddir}/tools repeat 64 72 65 73 ## ========================================================================================================= … … 102 110 ## ========================================================================================================= 103 111 loop$(EXEEXT): 104 $( COMPILE) -DBENCH_N=5000000000loop.c112 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 105 113 106 114 function$(EXEEXT): 107 $( COMPILE) -DBENCH_N=5000000000function.c115 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 108 116 109 117 fetch_add$(EXEEXT): 110 $( COMPILE) -DBENCH_N=500000000fetch_add.c111 112 ## ========================================================================================================= 113 ctxswitch$(EXEEXT):\118 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 119 120 ## ========================================================================================================= 121 CTXSWITCH_DEPEND = \ 114 122 loop.run \ 115 123 function.run \ … … 121 129 ctxswitch-upp_coroutine.run \ 122 130 ctxswitch-upp_thread.run \ 123 -ctxswitch-kos_fibre.run \124 -ctxswitch-kos_fibre2.run \125 131 ctxswitch-goroutine.run \ 126 132 ctxswitch-java_thread.run 127 133 134 if WITH_LIBFIBRE 135 CTXSWITCH_DEPEND += \ 136 ctxswitch-kos_fibre.run \ 137 ctxswitch-kos_fibre2.run 138 139 140 ctxswitch-kos_fibre$(EXEEXT): 141 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 142 143 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 128 149 ctxswitch-pthread$(EXEEXT): 129 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c150 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 130 151 131 152 ctxswitch-cfa_coroutine$(EXEEXT): 132 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c153 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa 133 154 134 155 ctxswitch-cfa_thread$(EXEEXT): 135 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c156 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa 136 157 137 158 ctxswitch-cfa_thread2$(EXEEXT): 138 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c159 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa 139 160 140 161 ctxswitch-upp_coroutine$(EXEEXT): 141 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc162 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 142 163 143 164 ctxswitch-upp_thread$(EXEEXT): 144 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 145 146 ctxswitch-kos_fibre$(EXEEXT): 147 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 148 149 ctxswitch-kos_fibre2$(EXEEXT): 150 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 165 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 151 166 152 167 ctxswitch-goroutine$(EXEEXT): 153 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go168 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 154 169 155 170 ctxswitch-java_thread$(EXEEXT): 156 @javac$(srcdir)/ctxswitch/JavaThread.java171 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 157 172 @echo "#!/bin/sh" > a.out 158 @echo " cd ctxswitch &&java JavaThread" >> a.out173 @echo "java JavaThread" >> a.out 159 174 @chmod a+x a.out 160 175 … … 172 187 173 188 mutex-pthread_lock$(EXEEXT): 174 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c189 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 175 190 176 191 mutex-upp$(EXEEXT): 177 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc192 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 178 193 179 194 mutex-cfa1$(EXEEXT): 180 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c195 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.cfa 181 196 182 197 mutex-cfa2$(EXEEXT): 183 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c198 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.cfa 184 199 185 200 mutex-cfa4$(EXEEXT): 186 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c201 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.cfa 187 202 188 203 mutex-java_thread$(EXEEXT): 189 @javac$(srcdir)/mutex/JavaThread.java204 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 190 205 @echo "#!/bin/sh" > a.out 191 @echo " cd mutex &&java JavaThread" >> a.out206 @echo "java JavaThread" >> a.out 192 207 @chmod a+x a.out 193 208 … … 202 217 203 218 signal-pthread_cond$(EXEEXT): 204 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c219 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 205 220 206 221 signal-upp$(EXEEXT): 207 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc222 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 208 223 209 224 signal-cfa1$(EXEEXT): 210 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c225 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.cfa 211 226 212 227 signal-cfa2$(EXEEXT): 213 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c228 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.cfa 214 229 215 230 signal-cfa4$(EXEEXT): 216 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c231 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.cfa 217 232 218 233 signal-java_thread$(EXEEXT): 219 @javac$(srcdir)/schedint/JavaThread.java234 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 220 235 @echo "#!/bin/sh" > a.out 221 @echo " cd schedint &&java JavaThread" >> a.out236 @echo "java JavaThread" >> a.out 222 237 @chmod a+x a.out 223 238 … … 231 246 232 247 waitfor-upp$(EXEEXT): 233 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc248 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 234 249 235 250 waitfor-cfa1$(EXEEXT): 236 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c251 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.cfa 237 252 238 253 waitfor-cfa2$(EXEEXT): 239 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c254 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.cfa 240 255 241 256 waitfor-cfa4$(EXEEXT): 242 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c257 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.cfa 243 258 244 259 ## ========================================================================================================= … … 254 269 255 270 creation-cfa_coroutine$(EXEEXT): 256 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c271 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa 257 272 258 273 creation-cfa_coroutine_eager$(EXEEXT): 259 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c274 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER 260 275 261 276 creation-cfa_thread$(EXEEXT): 262 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c277 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa 263 278 264 279 creation-upp_coroutine$(EXEEXT): 265 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc280 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 266 281 267 282 creation-upp_thread$(EXEEXT): 268 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc283 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 269 284 270 285 creation-pthread$(EXEEXT): 271 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c286 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 272 287 273 288 creation-goroutine$(EXEEXT): 274 @go build -o a.out $(srcdir)/creation/goroutine.go289 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 275 290 276 291 creation-java_thread$(EXEEXT): 277 @javac$(srcdir)/creation/JavaThread.java292 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 278 293 @echo "#!/bin/sh" > a.out 279 @echo " cd creation &&java JavaThread" >> a.out294 @echo "java JavaThread" >> a.out 280 295 @chmod a+x a.out 281 296 … … 296 311 297 312 compile-array$(EXEEXT): 298 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c313 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa 299 314 300 315 compile-attributes$(EXEEXT): 301 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c316 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 302 317 303 318 compile-empty$(EXEEXT): 304 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c319 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa 305 320 306 321 compile-expression$(EXEEXT): 307 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c322 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa 308 323 309 324 compile-io$(EXEEXT): 310 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c325 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa 311 326 312 327 compile-monitor$(EXEEXT): 313 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c328 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa 314 329 315 330 compile-operators$(EXEEXT): 316 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c331 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa 317 332 318 333 compile-thread$(EXEEXT): 319 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c334 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa 320 335 321 336 compile-typeof$(EXEEXT): 322 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c323 337 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa 338 -
benchmark/Makefile.in
r9b086ca rcde3891 17 17 ######################## -*- Mode: Makefile-Automake -*- ###################### 18 18 ############################################################################### 19 20 19 VPATH = @srcdir@ 21 20 am__is_gnu_make = { \ … … 92 91 build_triplet = @build@ 93 92 host_triplet = @host@ 94 noinst_PROGRAMS = 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 95 98 subdir = benchmark 96 99 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 98 $(top_srcdir)/configure.ac 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 99 106 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 100 107 $(ACLOCAL_M4) … … 104 111 CONFIG_CLEAN_FILES = 105 112 CONFIG_CLEAN_VPATH_FILES = 106 PROGRAMS = $(noinst_PROGRAMS) 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 = 107 120 AM_V_P = $(am__v_P_@AM_V@) 108 121 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 117 130 am__v_at_0 = @ 118 131 am__v_at_1 = 119 SOURCES = 120 DIST_SOURCES = 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) 121 174 am__can_run_installinfo = \ 122 175 case $$AM_UPDATE_INFO_DIR in \ … … 125 178 esac 126 179 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 127 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/src/cfa.make \ 128 compile 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 129 200 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 130 201 ACLOCAL = @ACLOCAL@ … … 132 203 AMTAR = @AMTAR@ 133 204 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 205 AR = @AR@ 134 206 AUTOCONF = @AUTOCONF@ 135 207 AUTOHEADER = @AUTOHEADER@ 136 208 AUTOMAKE = @AUTOMAKE@ 137 209 AWK = @AWK@ 138 BACKEND_CC = @BACKEND_CC@139 210 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 140 211 CC = @CC@ … … 156 227 CPPFLAGS = @CPPFLAGS@ 157 228 CXX = @CXX@ 229 CXXCPP = @CXXCPP@ 158 230 CXXDEPMODE = @CXXDEPMODE@ 159 231 CXXFLAGS = @CXXFLAGS@ … … 161 233 DEFS = @DEFS@ 162 234 DEPDIR = @DEPDIR@ 235 DLLTOOL = @DLLTOOL@ 163 236 DRIVER_DIR = @DRIVER_DIR@ 237 DSYMUTIL = @DSYMUTIL@ 238 DUMPBIN = @DUMPBIN@ 164 239 ECHO_C = @ECHO_C@ 165 240 ECHO_N = @ECHO_N@ … … 167 242 EGREP = @EGREP@ 168 243 EXEEXT = @EXEEXT@ 244 FGREP = @FGREP@ 169 245 GREP = @GREP@ 170 246 HOST_FLAGS = @HOST_FLAGS@ … … 174 250 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 175 251 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 252 LD = @LD@ 176 253 LDFLAGS = @LDFLAGS@ 177 254 LEX = @LEX@ … … 182 259 LIBOBJS = @LIBOBJS@ 183 260 LIBS = @LIBS@ 261 LIBTOOL = @LIBTOOL@ 262 LIPO = @LIPO@ 263 LN_S = @LN_S@ 184 264 LTLIBOBJS = @LTLIBOBJS@ 265 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 185 266 MAKEINFO = @MAKEINFO@ 267 MANIFEST_TOOL = @MANIFEST_TOOL@ 186 268 MKDIR_P = @MKDIR_P@ 269 NM = @NM@ 270 NMEDIT = @NMEDIT@ 271 OBJDUMP = @OBJDUMP@ 187 272 OBJEXT = @OBJEXT@ 273 OTOOL = @OTOOL@ 274 OTOOL64 = @OTOOL64@ 188 275 PACKAGE = @PACKAGE@ 189 276 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 195 282 PATH_SEPARATOR = @PATH_SEPARATOR@ 196 283 RANLIB = @RANLIB@ 284 SED = @SED@ 197 285 SET_MAKE = @SET_MAKE@ 198 286 SHELL = @SHELL@ … … 206 294 abs_top_builddir = @abs_top_builddir@ 207 295 abs_top_srcdir = @abs_top_srcdir@ 296 ac_ct_AR = @ac_ct_AR@ 208 297 ac_ct_CC = @ac_ct_CC@ 209 298 ac_ct_CXX = @ac_ct_CXX@ 299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 210 300 am__include = @am__include@ 211 301 am__leading_dot = @am__leading_dot@ … … 255 345 top_srcdir = @top_srcdir@ 256 346 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 347 ACLOCAL_AMFLAGS = -I automake 257 348 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 258 354 AM_V_CFA = $(am__v_CFA_@AM_V@) 259 355 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 260 356 am__v_CFA_0 = @echo " CFA " $@; 261 357 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++ 367 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 = 262 372 263 373 # applies to both programs 264 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)265 374 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread 266 375 AM_CFAFLAGS = -quiet -in-tree -nodebug 267 376 AM_UPPFLAGS = -quiet -nodebug -multi 268 TOOLSDIR = ${abs_top_ srcdir}/tools/269 REPEAT = ${ TOOLSDIR}repeat270 STATS = ${ TOOLSDIR}stat.py377 TOOLSDIR = ${abs_top_builddir}/tools/ 378 REPEAT = ${abs_top_builddir}/tools/repeat 379 STATS = ${abs_top_srcdir}/tools/stat.py 271 380 repeats = 30 272 381 skipcompile = no 273 382 TIME_FORMAT = "%E" 274 383 PRINT_FORMAT = %20s: #Comments needed for spacing 384 dummy_SOURCES = dummyC.c dummyCXX.cpp 385 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) 275 391 testdir = $(top_srcdir)/tests 276 392 all: all-am 277 393 278 394 .SUFFIXES: 279 .SUFFIXES: .c fa .o395 .SUFFIXES: .c .cfa .cpp .lo .o .obj 280 396 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 281 397 @for dep in $?; do \ … … 309 425 $(am__aclocal_m4_deps): 310 426 311 clean-noinstPROGRAMS: 312 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 313 tags TAGS: 314 315 ctags CTAGS: 316 317 cscope cscopelist: 318 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 319 545 320 546 distdir: $(DISTFILES) … … 350 576 check-am: all-am 351 577 check: check-am 352 all-am: Makefile $(PROGRAMS)578 all-am: Makefile 353 579 installdirs: 354 580 install: install-am … … 384 610 clean: clean-am 385 611 386 clean-am: clean-generic clean- noinstPROGRAMSmostlyclean-am612 clean-am: clean-generic clean-libtool mostlyclean-am 387 613 388 614 distclean: distclean-am 615 -rm -rf ./$(DEPDIR) 389 616 -rm -f Makefile 390 distclean-am: clean-am distclean-generic 617 distclean-am: clean-am distclean-compile distclean-generic \ 618 distclean-tags 391 619 392 620 dvi: dvi-am … … 431 659 432 660 maintainer-clean: maintainer-clean-am 661 -rm -rf ./$(DEPDIR) 433 662 -rm -f Makefile 434 663 maintainer-clean-am: distclean-am maintainer-clean-generic … … 436 665 mostlyclean: mostlyclean-am 437 666 438 mostlyclean-am: mostlyclean-generic 667 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 668 mostlyclean-libtool 439 669 440 670 pdf: pdf-am … … 450 680 .MAKE: install-am install-strip 451 681 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 \ 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 \ 455 686 install install-am install-data install-data-am install-dvi \ 456 687 install-dvi-am install-exec install-exec-am install-html \ … … 459 690 install-strip installcheck installcheck-am installdirs \ 460 691 maintainer-clean maintainer-clean-generic mostlyclean \ 461 mostlyclean- generic pdf pdf-am ps ps-am tags-am uninstall \462 uninstall-am692 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ 693 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am 463 694 464 695 .PRECIOUS: Makefile 465 696 466 697 467 .cfa.o: $(CFACC) $(CFACPP)698 .cfa.o: 468 699 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 469 700 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 470 701 $(am__mv) $$depbase.Tpo $$depbase.Po 471 702 472 LIBFIBRE_DIR ?= /home/tdelisle/software/KOS/src/ 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; }" > ${@} 473 713 474 714 .NOTPARALLEL: … … 483 723 @${STATS} .result.log 484 724 @echo "------------------------------------------------------" 485 @rm -f a.out .result.log 725 @rm -f a.out .result.log *.class 486 726 487 727 %.runquiet : … … 495 735 496 736 ${REPEAT} : 497 @+make -C ${ TOOLSDIR}repeat737 @+make -C ${abs_top_builddir}/tools repeat 498 738 499 739 jenkins$(EXEEXT): … … 533 773 534 774 loop$(EXEEXT): 535 $( COMPILE) -DBENCH_N=5000000000loop.c775 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 536 776 537 777 function$(EXEEXT): 538 $( COMPILE) -DBENCH_N=5000000000function.c778 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 539 779 540 780 fetch_add$(EXEEXT): 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 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) 557 790 558 791 ctxswitch-pthread$(EXEEXT): 559 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c792 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 560 793 561 794 ctxswitch-cfa_coroutine$(EXEEXT): 562 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c795 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa 563 796 564 797 ctxswitch-cfa_thread$(EXEEXT): 565 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c798 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa 566 799 567 800 ctxswitch-cfa_thread2$(EXEEXT): 568 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c801 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa 569 802 570 803 ctxswitch-upp_coroutine$(EXEEXT): 571 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc804 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 572 805 573 806 ctxswitch-upp_thread$(EXEEXT): 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 807 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 581 808 582 809 ctxswitch-goroutine$(EXEEXT): 583 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go810 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 584 811 585 812 ctxswitch-java_thread$(EXEEXT): 586 @javac$(srcdir)/ctxswitch/JavaThread.java813 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 587 814 @echo "#!/bin/sh" > a.out 588 @echo " cd ctxswitch &&java JavaThread" >> a.out815 @echo "java JavaThread" >> a.out 589 816 @chmod a+x a.out 590 817 … … 601 828 602 829 mutex-pthread_lock$(EXEEXT): 603 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c830 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 604 831 605 832 mutex-upp$(EXEEXT): 606 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc833 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 607 834 608 835 mutex-cfa1$(EXEEXT): 609 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c836 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.cfa 610 837 611 838 mutex-cfa2$(EXEEXT): 612 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c839 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.cfa 613 840 614 841 mutex-cfa4$(EXEEXT): 615 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c842 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.cfa 616 843 617 844 mutex-java_thread$(EXEEXT): 618 @javac$(srcdir)/mutex/JavaThread.java845 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 619 846 @echo "#!/bin/sh" > a.out 620 @echo " cd mutex &&java JavaThread" >> a.out847 @echo "java JavaThread" >> a.out 621 848 @chmod a+x a.out 622 849 … … 630 857 631 858 signal-pthread_cond$(EXEEXT): 632 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c859 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 633 860 634 861 signal-upp$(EXEEXT): 635 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc862 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 636 863 637 864 signal-cfa1$(EXEEXT): 638 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c865 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.cfa 639 866 640 867 signal-cfa2$(EXEEXT): 641 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c868 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.cfa 642 869 643 870 signal-cfa4$(EXEEXT): 644 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c871 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.cfa 645 872 646 873 signal-java_thread$(EXEEXT): 647 @javac$(srcdir)/schedint/JavaThread.java874 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 648 875 @echo "#!/bin/sh" > a.out 649 @echo " cd schedint &&java JavaThread" >> a.out876 @echo "java JavaThread" >> a.out 650 877 @chmod a+x a.out 651 878 … … 657 884 658 885 waitfor-upp$(EXEEXT): 659 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc886 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 660 887 661 888 waitfor-cfa1$(EXEEXT): 662 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c889 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.cfa 663 890 664 891 waitfor-cfa2$(EXEEXT): 665 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c892 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.cfa 666 893 667 894 waitfor-cfa4$(EXEEXT): 668 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c895 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.cfa 669 896 670 897 creation$(EXEEXT) :\ … … 679 906 680 907 creation-cfa_coroutine$(EXEEXT): 681 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c908 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa 682 909 683 910 creation-cfa_coroutine_eager$(EXEEXT): 684 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c911 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER 685 912 686 913 creation-cfa_thread$(EXEEXT): 687 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c914 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa 688 915 689 916 creation-upp_coroutine$(EXEEXT): 690 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc917 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 691 918 692 919 creation-upp_thread$(EXEEXT): 693 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc920 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 694 921 695 922 creation-pthread$(EXEEXT): 696 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c923 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 697 924 698 925 creation-goroutine$(EXEEXT): 699 @go build -o a.out $(srcdir)/creation/goroutine.go926 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 700 927 701 928 creation-java_thread$(EXEEXT): 702 @javac$(srcdir)/creation/JavaThread.java929 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 703 930 @echo "#!/bin/sh" > a.out 704 @echo " cd creation &&java JavaThread" >> a.out931 @echo "java JavaThread" >> a.out 705 932 @chmod a+x a.out 706 933 … … 716 943 717 944 compile-array$(EXEEXT): 718 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c945 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa 719 946 720 947 compile-attributes$(EXEEXT): 721 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c948 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 722 949 723 950 compile-empty$(EXEEXT): 724 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c951 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa 725 952 726 953 compile-expression$(EXEEXT): 727 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c954 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa 728 955 729 956 compile-io$(EXEEXT): 730 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c957 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa 731 958 732 959 compile-monitor$(EXEEXT): 733 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c960 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa 734 961 735 962 compile-operators$(EXEEXT): 736 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c963 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa 737 964 738 965 compile-thread$(EXEEXT): 739 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c966 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa 740 967 741 968 compile-typeof$(EXEEXT): 742 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c969 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa 743 970 744 971 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
benchmark/Monitor.c
r9b086ca rcde3891 29 29 EndTime = Time(); 30 30 31 sout | ( EndTime - StartTime ) / N | endl;31 sout | ( EndTime - StartTime ) / N; 32 32 } -
configure
r9b086ca rcde3891 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\$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 201 209 test \$(( 1 + 1 )) = 2 || exit 1" 202 210 if (eval "$as_required") 2>/dev/null; then : … … 557 565 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 558 566 567 SHELL=${CONFIG_SHELL-/bin/sh} 568 559 569 560 570 test -n "$DJDIR" || exec 7<&0 </dev/null … … 626 636 LTLIBOBJS 627 637 LIBOBJS 638 CFA_BACKEND_CC 628 639 ALLOCA 640 WITH_LIBFIBRE_FALSE 641 WITH_LIBFIBRE_TRUE 642 CXXCPP 643 CPP 644 LT_SYS_LIBRARY_PATH 645 OTOOL64 646 OTOOL 647 LIPO 648 NMEDIT 649 DSYMUTIL 650 MANIFEST_TOOL 651 RANLIB 652 ac_ct_AR 653 AR 654 DLLTOOL 655 OBJDUMP 656 LN_S 657 NM 658 ac_ct_DUMPBIN 659 DUMPBIN 660 LD 661 FGREP 629 662 EGREP 630 663 GREP 631 CPP 632 RANLIB 664 SED 665 LIBTOOL 633 666 LEXLIB 634 667 LEX_OUTPUT_ROOT … … 685 718 CFA_INCDIR 686 719 CFA_PREFIX 687 CFA_BACKEND_CC688 BACKEND_CC689 720 DOendif 690 721 DOifskipcompile … … 761 792 enable_silent_rules 762 793 with_cfa_name 763 with_backend_compiler764 794 with_target_hosts 765 795 enable_dependency_tracking 796 enable_shared 797 enable_static 798 with_pic 799 enable_fast_install 800 with_aix_soname 801 with_gnu_ld 802 with_sysroot 803 enable_libtool_lock 766 804 ' 767 805 ac_precious_vars='build_alias … … 780 818 YACC 781 819 YFLAGS 782 CPP' 820 LT_SYS_LIBRARY_PATH 821 CPP 822 CXXCPP' 783 823 784 824 … … 1416 1456 --disable-dependency-tracking 1417 1457 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) 1418 1463 1419 1464 Optional Packages: … … 1421 1466 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1422 1467 --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)1424 1468 --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=use 1470 both] 1471 --with-aix-soname=aix|svr4|both 1472 shared library versioning (aka "SONAME") variant to 1473 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 the 1476 compiler's sysroot if not specified). 1425 1477 1426 1478 Some influential environment variables: … … 1442 1494 This script will default YFLAGS to the empty string to avoid a 1443 1495 default value of `-d' given by some make applications. 1496 LT_SYS_LIBRARY_PATH 1497 User-defined run-time library search path. 1444 1498 CPP C preprocessor 1499 CXXCPP C++ preprocessor 1445 1500 1446 1501 Use these variables to override the choices made by `configure' or to help … … 1646 1701 } # ac_fn_c_try_link 1647 1702 1648 # ac_fn_c_check_ type LINENO TYPEVAR INCLUDES1649 # ------------------------------------------- 1650 # Tests whether TYPE exists after having included INCLUDES, setting cache1651 # variable VAR accordingly.1652 ac_fn_c_check_ type ()1703 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES 1704 # ------------------------------------------------------- 1705 # Tests whether HEADER exists and can be compiled using the include files in 1706 # INCLUDES, setting the cache variable VAR accordingly. 1707 ac_fn_c_check_header_compile () 1653 1708 { 1654 1709 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack … … 1658 1713 $as_echo_n "(cached) " >&6 1659 1714 else 1660 eval "$3=no"1661 1715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1662 1716 /* end confdefs.h. */ 1663 1717 $4 1664 int 1665 main () 1666 { 1667 if (sizeof ($2)) 1668 return 0; 1669 ; 1670 return 0; 1671 } 1718 #include <$2> 1672 1719 _ACEOF 1673 1720 if ac_fn_c_try_compile "$LINENO"; then : 1674 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1675 /* end confdefs.h. */1676 $41677 int1678 main ()1679 {1680 if (sizeof (($2)))1681 return 0;1682 ;1683 return 0;1684 }1685 _ACEOF1686 if ac_fn_c_try_compile "$LINENO"; then :1687 1688 else1689 1721 eval "$3=yes" 1690 fi 1691 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1722 else 1723 eval "$3=no" 1692 1724 fi 1693 1725 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext … … 1698 1730 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1699 1731 1700 } # ac_fn_c_check_ type1732 } # ac_fn_c_check_header_compile 1701 1733 1702 1734 # ac_fn_c_try_cpp LINENO … … 1779 1811 } # ac_fn_c_try_run 1780 1812 1781 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES1782 # -------------------------------------------------------1783 # Tests whether HEADER exists and can be compiled using the include files in1784 # 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_stack1788 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51789 $as_echo_n "checking for $2... " >&6; }1790 if eval \${$3+:} false; then :1791 $as_echo_n "(cached) " >&61792 else1793 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1794 /* end confdefs.h. */1795 $41796 #include <$2>1797 _ACEOF1798 if ac_fn_c_try_compile "$LINENO"; then :1799 eval "$3=yes"1800 else1801 eval "$3=no"1802 fi1803 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext1804 fi1805 eval ac_res=\$$31806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51807 $as_echo "$ac_res" >&6; }1808 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1809 1810 } # ac_fn_c_check_header_compile1811 1812 1813 # ac_fn_c_check_func LINENO FUNC VAR 1813 1814 # ---------------------------------- … … 1876 1877 1877 1878 } # ac_fn_c_check_func 1879 1880 # ac_fn_cxx_try_cpp LINENO 1881 # ------------------------ 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_stack 1886 if { { ac_try="$ac_cpp conftest.$ac_ext" 1887 case "(($ac_try" in 1888 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1889 *) ac_try_echo=$ac_try;; 1890 esac 1891 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1892 $as_echo "$ac_try_echo"; } >&5 1893 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err 1894 ac_status=$? 1895 if test -s conftest.err; then 1896 grep -v '^ *+' conftest.err >conftest.er1 1897 cat conftest.er1 >&5 1898 mv -f conftest.er1 conftest.err 1899 fi 1900 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1901 test $ac_status = 0; } > conftest.i && { 1902 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || 1903 test ! -s conftest.err 1904 }; then : 1905 ac_retval=0 1906 else 1907 $as_echo "$as_me: failed program was:" >&5 1908 sed 's/^/| /' conftest.$ac_ext >&5 1909 1910 ac_retval=1 1911 fi 1912 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1913 as_fn_set_status $ac_retval 1914 1915 } # ac_fn_cxx_try_cpp 1916 1917 # ac_fn_cxx_try_link LINENO 1918 # ------------------------- 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_stack 1923 rm -f conftest.$ac_objext conftest$ac_exeext 1924 if { { ac_try="$ac_link" 1925 case "(($ac_try" in 1926 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1927 *) ac_try_echo=$ac_try;; 1928 esac 1929 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1930 $as_echo "$ac_try_echo"; } >&5 1931 (eval "$ac_link") 2>conftest.err 1932 ac_status=$? 1933 if test -s conftest.err; then 1934 grep -v '^ *+' conftest.err >conftest.er1 1935 cat conftest.er1 >&5 1936 mv -f conftest.er1 conftest.err 1937 fi 1938 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1939 test $ac_status = 0; } && { 1940 test -z "$ac_cxx_werror_flag" || 1941 test ! -s conftest.err 1942 } && test -s conftest$ac_exeext && { 1943 test "$cross_compiling" = yes || 1944 test -x conftest$ac_exeext 1945 }; then : 1946 ac_retval=0 1947 else 1948 $as_echo "$as_me: failed program was:" >&5 1949 sed 's/^/| /' conftest.$ac_ext >&5 1950 1951 ac_retval=1 1952 fi 1953 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information 1954 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would 1955 # interfere with the next link command; also delete a directory that is 1956 # left behind by Apple's compiler. We do this before executing the actions. 1957 rm -rf conftest.dSYM conftest_ipa8_conftest.oo 1958 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1959 as_fn_set_status $ac_retval 1960 1961 } # ac_fn_cxx_try_link 1962 1963 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES 1964 # ------------------------------------------- 1965 # Tests whether TYPE exists after having included INCLUDES, setting cache 1966 # variable VAR accordingly. 1967 ac_fn_c_check_type () 1968 { 1969 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1970 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1971 $as_echo_n "checking for $2... " >&6; } 1972 if eval \${$3+:} false; then : 1973 $as_echo_n "(cached) " >&6 1974 else 1975 eval "$3=no" 1976 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1977 /* end confdefs.h. */ 1978 $4 1979 int 1980 main () 1981 { 1982 if (sizeof ($2)) 1983 return 0; 1984 ; 1985 return 0; 1986 } 1987 _ACEOF 1988 if ac_fn_c_try_compile "$LINENO"; then : 1989 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1990 /* end confdefs.h. */ 1991 $4 1992 int 1993 main () 1994 { 1995 if (sizeof (($2))) 1996 return 0; 1997 ; 1998 return 0; 1999 } 2000 _ACEOF 2001 if ac_fn_c_try_compile "$LINENO"; then : 2002 2003 else 2004 eval "$3=yes" 2005 fi 2006 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 2007 fi 2008 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 2009 fi 2010 eval ac_res=\$$3 2011 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 2012 $as_echo "$ac_res" >&6; } 2013 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 2014 2015 } # ac_fn_c_check_type 1878 2016 1879 2017 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES … … 2478 2616 2479 2617 2618 2480 2619 #AC_CONFIG_SRCDIR([src/main.cc]) 2481 2620 ac_config_headers="$ac_config_headers config.h:src/config.h.in" … … 3164 3303 3165 3304 #============================================================================== 3166 # backend compiler implementation3167 3168 # Check whether --with-backend-compiler was given.3169 if test "${with_backend_compiler+set}" = set; then :3170 withval=$with_backend_compiler; backendcompiler=$withval3171 else3172 backendcompiler=""3173 fi3174 3175 if test "x$backendcompiler" != "x"; then3176 BACKEND_CC=${backendcompiler}3177 else3178 # Extract the first word of "gcc", so it can be a program name with args.3179 set dummy gcc; ac_word=$23180 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53181 $as_echo_n "checking for $ac_word... " >&6; }3182 if ${ac_cv_path_BACKEND_CC+:} false; then :3183 $as_echo_n "(cached) " >&63184 else3185 case $BACKEND_CC in3186 [\\/]* | ?:[\\/]*)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_SEPARATOR3191 for as_dir in $PATH3192 do3193 IFS=$as_save_IFS3194 test -z "$as_dir" && as_dir=.3195 for ac_exec_ext in '' $ac_executable_extensions; do3196 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then3197 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" >&53199 break 23200 fi3201 done3202 done3203 IFS=$as_save_IFS3204 3205 ;;3206 esac3207 fi3208 BACKEND_CC=$ac_cv_path_BACKEND_CC3209 if test -n "$BACKEND_CC"; then3210 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BACKEND_CC" >&53211 $as_echo "$BACKEND_CC" >&6; }3212 else3213 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&53214 $as_echo "no" >&6; }3215 fi3216 3217 # check gcc installed3218 if test "x$BACKEND_CC" = "x"; then3219 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 53220 exit 13221 fi3222 fi3223 3224 cat >>confdefs.h <<_ACEOF3225 #define CFA_BACKEND_CC "${BACKEND_CC}"3226 _ACEOF3227 3228 3229 3230 #==============================================================================3231 3305 # Installation paths 3232 3306 … … 3476 3550 "arm" ) cannon_arch_name="arm";; 3477 3551 "ARM" ) cannon_arch_name="arm";; 3552 "armv7l" ) cannon_arch_name="arm";; 3478 3553 *) 3479 3554 >&2 echo "Unkown architecture " $arch_name; … … 3492 3567 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 3493 3568 echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data 3494 echo -n "CONFIGURATION=${lib_config}" >> ${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 3495 3571 done 3496 3572 … … 3515 3591 "arm" ) cannon_arch_name="arm";; 3516 3592 "ARM" ) cannon_arch_name="arm";; 3593 "armv7l" ) cannon_arch_name="arm";; 3517 3594 *) 3518 3595 >&2 echo "Unkown architecture " $arch_name; … … 5313 5390 fi 5314 5391 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 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 : 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;} ;; 5396 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 : 5321 5489 $as_echo_n "(cached) " >&6 5322 5490 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;; 5334 esac 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 : 5353 $as_echo_n "(cached) " >&6 5354 else 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 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 5359 5501 for as_dir in $PATH 5360 5502 do 5361 5503 IFS=$as_save_IFS 5362 5504 test -z "$as_dir" && as_dir=. 5505 for ac_prog in sed gsed; do 5363 5506 for ac_exec_ext in '' $ac_executable_extensions; do 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 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 5370 5540 done 5371 5541 IFS=$as_save_IFS 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 5542 if test -z "$ac_cv_path_SED"; then 5543 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 5408 5544 fi 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 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 5579 5566 5580 5567 … … 5709 5696 5710 5697 5698 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 5699 $as_echo_n "checking for fgrep... " >&6; } 5700 if ${ac_cv_path_FGREP+:} false; then : 5701 $as_echo_n "(cached) " >&6 5702 else 5703 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 5704 then ac_cv_path_FGREP="$GREP -F" 5705 else 5706 if test -z "$FGREP"; then 5707 ac_path_FGREP_found=false 5708 # Loop through the user's path and test for each of PROGNAME-LIST 5709 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5710 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 5711 do 5712 IFS=$as_save_IFS 5713 test -z "$as_dir" && as_dir=. 5714 for ac_prog in fgrep; do 5715 for ac_exec_ext in '' $ac_executable_extensions; do 5716 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" 5717 as_fn_executable_p "$ac_path_FGREP" || continue 5718 # Check for GNU ac_path_FGREP and select it if it is found. 5719 # Check for GNU $ac_path_FGREP 5720 case `"$ac_path_FGREP" --version 2>&1` in 5721 *GNU*) 5722 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; 5723 *) 5724 ac_count=0 5725 $as_echo_n 0123456789 >"conftest.in" 5726 while : 5727 do 5728 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 || break 5733 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 5734 as_fn_arith $ac_count + 1 && ac_count=$as_val 5735 if test $ac_count -gt ${ac_path_FGREP_max-0}; then 5736 # Best one so far, save it but keep looking for a better one 5737 ac_cv_path_FGREP="$ac_path_FGREP" 5738 ac_path_FGREP_max=$ac_count 5739 fi 5740 # 10*(2^10) chars as input seems more than enough 5741 test $ac_count -gt 10 && break 5742 done 5743 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 5744 esac 5745 5746 $ac_path_FGREP_found && break 3 5747 done 5748 done 5749 done 5750 IFS=$as_save_IFS 5751 if test -z "$ac_cv_path_FGREP"; then 5752 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 5753 fi 5754 else 5755 ac_cv_path_FGREP=$FGREP 5756 fi 5757 5758 fi 5759 fi 5760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 5761 $as_echo "$ac_cv_path_FGREP" >&6; } 5762 FGREP="$ac_cv_path_FGREP" 5763 5764 5765 test -z "$GREP" && GREP=grep 5766 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=yes 5788 else 5789 with_gnu_ld=no 5790 fi 5791 5792 ac_prog=ld 5793 if test yes = "$GCC"; then 5794 # Check if gcc -print-prog-name=ld gives a path. 5795 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 5796 $as_echo_n "checking for ld used by $CC... " >&6; } 5797 case $host in 5798 *-*-mingw*) 5799 # gcc leaves a trailing carriage return, which upsets mingw 5800 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 5801 *) 5802 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 5803 esac 5804 case $ac_prog in 5805 # Accept absolute paths. 5806 [\\/]* | ?:[\\/]*) 5807 re_direlt='/[^/][^/]*/\.\./' 5808 # Canonicalize the pathname of ld 5809 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 5810 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 5811 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 5812 done 5813 test -z "$LD" && LD=$ac_prog 5814 ;; 5815 "") 5816 # If it fails, then pretend we aren't using GCC. 5817 ac_prog=ld 5818 ;; 5819 *) 5820 # If it is relative, then search for the first ld in PATH. 5821 with_gnu_ld=unknown 5822 ;; 5823 esac 5824 elif test yes = "$with_gnu_ld"; then 5825 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 5826 $as_echo_n "checking for GNU ld... " >&6; } 5827 else 5828 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 5829 $as_echo_n "checking for non-GNU ld... " >&6; } 5830 fi 5831 if ${lt_cv_path_LD+:} false; then : 5832 $as_echo_n "(cached) " >&6 5833 else 5834 if test -z "$LD"; then 5835 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 5836 for ac_dir in $PATH; do 5837 IFS=$lt_save_ifs 5838 test -z "$ac_dir" && ac_dir=. 5839 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 5840 lt_cv_path_LD=$ac_dir/$ac_prog 5841 # 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` in 5845 *GNU* | *'with BFD'*) 5846 test no != "$with_gnu_ld" && break 5847 ;; 5848 *) 5849 test yes != "$with_gnu_ld" && break 5850 ;; 5851 esac 5852 fi 5853 done 5854 IFS=$lt_save_ifs 5855 else 5856 lt_cv_path_LD=$LD # Let the user override the test with a path. 5857 fi 5858 fi 5859 5860 LD=$lt_cv_path_LD 5861 if test -n "$LD"; then 5862 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 5863 $as_echo "$LD" >&6; } 5864 else 5865 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5866 $as_echo "no" >&6; } 5867 fi 5868 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 5869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 5870 $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) " >&6 5873 else 5874 # I'd rather use --version here, but apparently some GNU lds only accept -v. 5875 case `$LD -v 2>&1 </dev/null` in 5876 *GNU* | *'with BFD'*) 5877 lt_cv_prog_gnu_ld=yes 5878 ;; 5879 *) 5880 lt_cv_prog_gnu_ld=no 5881 ;; 5882 esac 5883 fi 5884 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 5885 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 5886 with_gnu_ld=$lt_cv_prog_gnu_ld 5887 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)" >&5 5897 $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) " >&6 5900 else 5901 if test -n "$NM"; then 5902 # Let the user override the test. 5903 lt_cv_path_NM=$NM 5904 else 5905 lt_nm_to_check=${ac_tool_prefix}nm 5906 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 5907 lt_nm_to_check="$lt_nm_to_check nm" 5908 fi 5909 for lt_tmp_nm in $lt_nm_to_check; do 5910 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 5911 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 5912 IFS=$lt_save_ifs 5913 test -z "$ac_dir" && ac_dir=. 5914 tmp_nm=$ac_dir/$lt_tmp_nm 5915 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 5916 # 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" ignored 5919 # Tru64's nm complains that /dev/null is an invalid object file 5920 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 5921 case $build_os in 5922 mingw*) lt_bad_file=conftest.nm/nofile ;; 5923 *) lt_bad_file=/dev/null ;; 5924 esac 5925 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in 5926 *$lt_bad_file* | *'Invalid file or object type'*) 5927 lt_cv_path_NM="$tmp_nm -B" 5928 break 2 5929 ;; 5930 *) 5931 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 5932 */dev/null*) 5933 lt_cv_path_NM="$tmp_nm -p" 5934 break 2 5935 ;; 5936 *) 5937 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 5938 continue # so that we can try to find one that supports BSD flags 5939 ;; 5940 esac 5941 ;; 5942 esac 5943 fi 5944 done 5945 IFS=$lt_save_ifs 5946 done 5947 : ${lt_cv_path_NM=no} 5948 fi 5949 fi 5950 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 5951 $as_echo "$lt_cv_path_NM" >&6; } 5952 if test no != "$lt_cv_path_NM"; then 5953 NM=$lt_cv_path_NM 5954 else 5955 # 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 else 5959 if test -n "$ac_tool_prefix"; then 5960 for ac_prog in dumpbin "link -dump" 5961 do 5962 # 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=$2 5964 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5965 $as_echo_n "checking for $ac_word... " >&6; } 5966 if ${ac_cv_prog_DUMPBIN+:} false; then : 5967 $as_echo_n "(cached) " >&6 5968 else 5969 if test -n "$DUMPBIN"; then 5970 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. 5971 else 5972 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5973 for as_dir in $PATH 5974 do 5975 IFS=$as_save_IFS 5976 test -z "$as_dir" && as_dir=. 5977 for ac_exec_ext in '' $ac_executable_extensions; do 5978 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5979 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" >&5 5981 break 2 5982 fi 5983 done 5984 done 5985 IFS=$as_save_IFS 5986 5987 fi 5988 fi 5989 DUMPBIN=$ac_cv_prog_DUMPBIN 5990 if test -n "$DUMPBIN"; then 5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 5992 $as_echo "$DUMPBIN" >&6; } 5993 else 5994 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5995 $as_echo "no" >&6; } 5996 fi 5997 5998 5999 test -n "$DUMPBIN" && break 6000 done 6001 fi 6002 if test -z "$DUMPBIN"; then 6003 ac_ct_DUMPBIN=$DUMPBIN 6004 for ac_prog in dumpbin "link -dump" 6005 do 6006 # Extract the first word of "$ac_prog", so it can be a program name with args. 6007 set dummy $ac_prog; ac_word=$2 6008 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6009 $as_echo_n "checking for $ac_word... " >&6; } 6010 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : 6011 $as_echo_n "(cached) " >&6 6012 else 6013 if test -n "$ac_ct_DUMPBIN"; then 6014 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. 6015 else 6016 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6017 for as_dir in $PATH 6018 do 6019 IFS=$as_save_IFS 6020 test -z "$as_dir" && as_dir=. 6021 for ac_exec_ext in '' $ac_executable_extensions; do 6022 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6023 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" 6024 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6025 break 2 6026 fi 6027 done 6028 done 6029 IFS=$as_save_IFS 6030 6031 fi 6032 fi 6033 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN 6034 if test -n "$ac_ct_DUMPBIN"; then 6035 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 6036 $as_echo "$ac_ct_DUMPBIN" >&6; } 6037 else 6038 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6039 $as_echo "no" >&6; } 6040 fi 6041 6042 6043 test -n "$ac_ct_DUMPBIN" && break 6044 done 6045 6046 if test "x$ac_ct_DUMPBIN" = x; then 6047 DUMPBIN=":" 6048 else 6049 case $cross_compiling:$ac_tool_warned in 6050 yes:) 6051 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6052 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6053 ac_tool_warned=yes ;; 6054 esac 6055 DUMPBIN=$ac_ct_DUMPBIN 6056 fi 6057 fi 6058 6059 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in 6060 *COFF*) 6061 DUMPBIN="$DUMPBIN -symbols -headers" 6062 ;; 6063 *) 6064 DUMPBIN=: 6065 ;; 6066 esac 6067 fi 6068 6069 if test : != "$DUMPBIN"; then 6070 NM=$DUMPBIN 6071 fi 6072 fi 6073 test -z "$NM" && NM=nm 6074 6075 6076 6077 6078 6079 6080 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 6081 $as_echo_n "checking the name lister ($NM) interface... " >&6; } 6082 if ${lt_cv_nm_interface+:} false; then : 6083 $as_echo_n "(cached) " >&6 6084 else 6085 lt_cv_nm_interface="BSD nm" 6086 echo "int some_variable = 0;" > conftest.$ac_ext 6087 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) 6088 (eval "$ac_compile" 2>conftest.err) 6089 cat conftest.err >&5 6090 (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 >&5 6093 (eval echo "\"\$as_me:$LINENO: output\"" >&5) 6094 cat conftest.out >&5 6095 if $GREP 'External.*some_variable' conftest.out > /dev/null; then 6096 lt_cv_nm_interface="MS dumpbin" 6097 fi 6098 rm -f conftest* 6099 fi 6100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 6101 $as_echo "$lt_cv_nm_interface" >&6; } 6102 6103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 6104 $as_echo_n "checking whether ln -s works... " >&6; } 6105 LN_S=$as_ln_s 6106 if test "$LN_S" = "ln -s"; then 6107 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 6108 $as_echo "yes" >&6; } 6109 else 6110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 6111 $as_echo "no, using $LN_S" >&6; } 6112 fi 6113 6114 # find the maximum length of command line arguments 6115 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 6116 $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) " >&6 6119 else 6120 i=0 6121 teststring=ABCD 6122 6123 case $build_os in 6124 msdosdjgpp*) 6125 # On DJGPP, this test can blow up pretty badly due to problems in libc 6126 # (any single argument exceeding 2000 bytes causes a buffer overrun 6127 # during glob expansion). Even if it were fixed, the result of this 6128 # check would be larger than it should be. 6129 lt_cv_sys_max_cmd_len=12288; # 12K is about right 6130 ;; 6131 6132 gnu*) 6133 # Under GNU Hurd, this test is not required because there is 6134 # no limit to the length of command line arguments. 6135 # Libtool will interpret -1 as no limit whatsoever 6136 lt_cv_sys_max_cmd_len=-1; 6137 ;; 6138 6139 cygwin* | mingw* | cegcc*) 6140 # On Win9x/ME, this test blows up -- it succeeds, but takes 6141 # 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 patience 6144 # the test eventually succeeds (with a max line length of 256k). 6145 # Instead, let's just punt: use the minimum linelength reported by 6146 # 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; then 6164 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 6165 elif test -x /usr/sbin/sysctl; then 6166 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 6167 else 6168 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 6169 fi 6170 # And add a safety zone 6171 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=196608 6178 ;; 6179 6180 os2*) 6181 # The test takes a long time on OS/2. 6182 lt_cv_sys_max_cmd_len=8192 6183 ;; 6184 6185 osf*) 6186 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 6187 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 6188 # nice to cause kernel panics so lets avoid the loop below. 6189 # First set a reasonable default. 6190 lt_cv_sys_max_cmd_len=16384 6191 # 6192 if test -x /sbin/sysconfig; then 6193 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 6194 *1*) lt_cv_sys_max_cmd_len=-1 ;; 6195 esac 6196 fi 6197 ;; 6198 sco3.2v5*) 6199 lt_cv_sys_max_cmd_len=102400 6200 ;; 6201 sysv5* | sco5v6* | sysv4.2uw2*) 6202 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 6203 if test -n "$kargmax"; then 6204 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` 6205 else 6206 lt_cv_sys_max_cmd_len=32768 6207 fi 6208 ;; 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"; then 6213 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 else 6216 # 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; do 6219 teststring=$teststring$teststring 6220 done 6221 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 6222 # If test is not a shell built-in, we'll probably end up computing a 6223 # maximum length that is only half of the actual maximum length, but 6224 # 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 enough 6228 do 6229 i=`expr $i + 1` 6230 teststring=$teststring$teststring 6231 done 6232 # 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 on 6236 # massive amounts of additional arguments before passing them to the 6237 # 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 fi 6240 ;; 6241 esac 6242 6243 fi 6244 6245 if test -n "$lt_cv_sys_max_cmd_len"; then 6246 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 6247 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } 6248 else 6249 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 6250 $as_echo "none" >&6; } 6251 fi 6252 max_cmd_len=$lt_cv_sys_max_cmd_len 6253 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; then 6264 lt_unset=unset 6265 else 6266 lt_unset=false 6267 fi 6268 6269 6270 6271 6272 6273 # test EBCDIC or ASCII 6274 case `echo X|tr X '\101'` in 6275 A) # ASCII based system 6276 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 6277 lt_SP2NL='tr \040 \012' 6278 lt_NL2SP='tr \015\012 \040\040' 6279 ;; 6280 *) # EBCDIC based system 6281 lt_SP2NL='tr \100 \n' 6282 lt_NL2SP='tr \r\n \100\100' 6283 ;; 6284 esac 6285 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" >&5 6295 $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) " >&6 6298 else 6299 case $host in 6300 *-*-mingw* ) 6301 case $build in 6302 *-*-mingw* ) # actually msys 6303 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 6304 ;; 6305 *-*-cygwin* ) 6306 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 6307 ;; 6308 * ) # otherwise, assume *nix 6309 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 6310 ;; 6311 esac 6312 ;; 6313 *-*-cygwin* ) 6314 case $build in 6315 *-*-mingw* ) # actually msys 6316 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 6317 ;; 6318 *-*-cygwin* ) 6319 lt_cv_to_host_file_cmd=func_convert_file_noop 6320 ;; 6321 * ) # otherwise, assume *nix 6322 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 6323 ;; 6324 esac 6325 ;; 6326 * ) # unhandled hosts (and "normal" native builds) 6327 lt_cv_to_host_file_cmd=func_convert_file_noop 6328 ;; 6329 esac 6330 6331 fi 6332 6333 to_host_file_cmd=$lt_cv_to_host_file_cmd 6334 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 6335 $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" >&5 6342 $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) " >&6 6345 else 6346 #assume ordinary cross tools, or native build. 6347 lt_cv_to_tool_file_cmd=func_convert_file_noop 6348 case $host in 6349 *-*-mingw* ) 6350 case $build in 6351 *-*-mingw* ) # actually msys 6352 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 6353 ;; 6354 esac 6355 ;; 6356 esac 6357 6358 fi 6359 6360 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 6361 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 6362 $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" >&5 6369 $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) " >&6 6372 else 6373 lt_cv_ld_reload_flag='-r' 6374 fi 6375 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 6376 $as_echo "$lt_cv_ld_reload_flag" >&6; } 6377 reload_flag=$lt_cv_ld_reload_flag 6378 case $reload_flag in 6379 "" | " "*) ;; 6380 *) reload_flag=" $reload_flag" ;; 6381 esac 6382 reload_cmds='$LD$reload_flag -o $output$reload_objs' 6383 case $host_os in 6384 cygwin* | mingw* | pw32* | cegcc*) 6385 if test yes != "$GCC"; then 6386 reload_cmds=false 6387 fi 6388 ;; 6389 darwin*) 6390 if test yes = "$GCC"; then 6391 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 6392 else 6393 reload_cmds='$LD$reload_flag -o $output$reload_objs' 6394 fi 6395 ;; 6396 esac 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 if test -n "$ac_tool_prefix"; then 6407 # 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=$2 6409 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6410 $as_echo_n "checking for $ac_word... " >&6; } 6411 if ${ac_cv_prog_OBJDUMP+:} false; then : 6412 $as_echo_n "(cached) " >&6 6413 else 6414 if test -n "$OBJDUMP"; then 6415 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. 6416 else 6417 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6418 for as_dir in $PATH 6419 do 6420 IFS=$as_save_IFS 6421 test -z "$as_dir" && as_dir=. 6422 for ac_exec_ext in '' $ac_executable_extensions; do 6423 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6424 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" 6425 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6426 break 2 6427 fi 6428 done 6429 done 6430 IFS=$as_save_IFS 6431 6432 fi 6433 fi 6434 OBJDUMP=$ac_cv_prog_OBJDUMP 6435 if test -n "$OBJDUMP"; then 6436 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 6437 $as_echo "$OBJDUMP" >&6; } 6438 else 6439 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6440 $as_echo "no" >&6; } 6441 fi 6442 6443 6444 fi 6445 if test -z "$ac_cv_prog_OBJDUMP"; then 6446 ac_ct_OBJDUMP=$OBJDUMP 6447 # Extract the first word of "objdump", so it can be a program name with args. 6448 set dummy objdump; ac_word=$2 6449 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6450 $as_echo_n "checking for $ac_word... " >&6; } 6451 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : 6452 $as_echo_n "(cached) " >&6 6453 else 6454 if test -n "$ac_ct_OBJDUMP"; then 6455 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. 6456 else 6457 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6458 for as_dir in $PATH 6459 do 6460 IFS=$as_save_IFS 6461 test -z "$as_dir" && as_dir=. 6462 for ac_exec_ext in '' $ac_executable_extensions; do 6463 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6464 ac_cv_prog_ac_ct_OBJDUMP="objdump" 6465 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6466 break 2 6467 fi 6468 done 6469 done 6470 IFS=$as_save_IFS 6471 6472 fi 6473 fi 6474 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP 6475 if test -n "$ac_ct_OBJDUMP"; then 6476 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 6477 $as_echo "$ac_ct_OBJDUMP" >&6; } 6478 else 6479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6480 $as_echo "no" >&6; } 6481 fi 6482 6483 if test "x$ac_ct_OBJDUMP" = x; then 6484 OBJDUMP="false" 6485 else 6486 case $cross_compiling:$ac_tool_warned in 6487 yes:) 6488 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6489 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6490 ac_tool_warned=yes ;; 6491 esac 6492 OBJDUMP=$ac_ct_OBJDUMP 6493 fi 6494 else 6495 OBJDUMP="$ac_cv_prog_OBJDUMP" 6496 fi 6497 6498 test -z "$OBJDUMP" && OBJDUMP=objdump 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 6509 $as_echo_n "checking how to recognize dependent libraries... " >&6; } 6510 if ${lt_cv_deplibs_check_method+:} false; then : 6511 $as_echo_n "(cached) " >&6 6512 else 6513 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 support 6517 # 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 path 6523 # 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 sure 6525 # whether 'pass_all' will *always* work, you probably want this one. 6526 6527 case $host_os in 6528 aix[4-9]*) 6529 lt_cv_deplibs_check_method=pass_all 6530 ;; 6531 6532 beos*) 6533 lt_cv_deplibs_check_method=pass_all 6534 ;; 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.so 6540 ;; 6541 6542 cygwin*) 6543 # func_win32_libid is a shell function defined in ltmain.sh 6544 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 by 6550 # 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; then 6553 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 6554 lt_cv_file_magic_cmd='func_win32_libid' 6555 else 6556 # 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 fi 6560 ;; 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_all 6570 ;; 6571 6572 freebsd* | dragonfly*) 6573 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 6574 case $host_cpu in 6575 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/file 6580 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 6581 ;; 6582 esac 6583 else 6584 lt_cv_deplibs_check_method=pass_all 6585 fi 6586 ;; 6587 6588 haiku*) 6589 lt_cv_deplibs_check_method=pass_all 6590 ;; 6591 6592 hpux10.20* | hpux11*) 6593 lt_cv_file_magic_cmd=/usr/bin/file 6594 case $host_cpu in 6595 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.so 6598 ;; 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.sl 6602 ;; 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.sl 6606 ;; 6607 esac 6608 ;; 6609 6610 interix[3-9]*) 6611 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 6612 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' 6613 ;; 6614 6615 irix5* | irix6* | nonstopux*) 6616 case $LD in 6617 *-32|*"-32 ") libmagic=32-bit;; 6618 *-n32|*"-n32 ") libmagic=N32;; 6619 *-64|*"-64 ") libmagic=64-bit;; 6620 *) libmagic=never-match;; 6621 esac 6622 lt_cv_deplibs_check_method=pass_all 6623 ;; 6624 6625 # This must be glibc/ELF. 6626 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 6627 lt_cv_deplibs_check_method=pass_all 6628 ;; 6629 6630 netbsd* | netbsdelf*-gnu) 6631 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 6632 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' 6633 else 6634 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' 6635 fi 6636 ;; 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/file 6641 lt_cv_file_magic_test_file=/usr/lib/libnls.so 6642 ;; 6643 6644 *nto* | *qnx*) 6645 lt_cv_deplibs_check_method=pass_all 6646 ;; 6647 6648 openbsd* | bitrig*) 6649 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 6650 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' 6651 else 6652 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' 6653 fi 6654 ;; 6655 6656 osf3* | osf4* | osf5*) 6657 lt_cv_deplibs_check_method=pass_all 6658 ;; 6659 6660 rdos*) 6661 lt_cv_deplibs_check_method=pass_all 6662 ;; 6663 6664 solaris*) 6665 lt_cv_deplibs_check_method=pass_all 6666 ;; 6667 6668 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 6669 lt_cv_deplibs_check_method=pass_all 6670 ;; 6671 6672 sysv4 | sysv4.3*) 6673 case $host_vendor in 6674 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_all 6680 ;; 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.so 6689 ;; 6690 siemens) 6691 lt_cv_deplibs_check_method=pass_all 6692 ;; 6693 pc) 6694 lt_cv_deplibs_check_method=pass_all 6695 ;; 6696 esac 6697 ;; 6698 6699 tpf*) 6700 lt_cv_deplibs_check_method=pass_all 6701 ;; 6702 os2*) 6703 lt_cv_deplibs_check_method=pass_all 6704 ;; 6705 esac 6706 6707 fi 6708 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 6709 $as_echo "$lt_cv_deplibs_check_method" >&6; } 6710 6711 file_magic_glob= 6712 want_nocaseglob=no 6713 if test "$build" = "$host"; then 6714 case $host_os in 6715 mingw* | pw32*) 6716 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 6717 want_nocaseglob=yes 6718 else 6719 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` 6720 fi 6721 ;; 6722 esac 6723 fi 6724 6725 file_magic_cmd=$lt_cv_file_magic_cmd 6726 deplibs_check_method=$lt_cv_deplibs_check_method 6727 test -z "$deplibs_check_method" && deplibs_check_method=unknown 6728 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"; then 6751 # 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=$2 6753 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6754 $as_echo_n "checking for $ac_word... " >&6; } 6755 if ${ac_cv_prog_DLLTOOL+:} false; then : 6756 $as_echo_n "(cached) " >&6 6757 else 6758 if test -n "$DLLTOOL"; then 6759 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. 6760 else 6761 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6762 for as_dir in $PATH 6763 do 6764 IFS=$as_save_IFS 6765 test -z "$as_dir" && as_dir=. 6766 for ac_exec_ext in '' $ac_executable_extensions; do 6767 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6768 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" 6769 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6770 break 2 6771 fi 6772 done 6773 done 6774 IFS=$as_save_IFS 6775 6776 fi 6777 fi 6778 DLLTOOL=$ac_cv_prog_DLLTOOL 6779 if test -n "$DLLTOOL"; then 6780 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 6781 $as_echo "$DLLTOOL" >&6; } 6782 else 6783 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6784 $as_echo "no" >&6; } 6785 fi 6786 6787 6788 fi 6789 if test -z "$ac_cv_prog_DLLTOOL"; then 6790 ac_ct_DLLTOOL=$DLLTOOL 6791 # Extract the first word of "dlltool", so it can be a program name with args. 6792 set dummy dlltool; ac_word=$2 6793 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6794 $as_echo_n "checking for $ac_word... " >&6; } 6795 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : 6796 $as_echo_n "(cached) " >&6 6797 else 6798 if test -n "$ac_ct_DLLTOOL"; then 6799 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. 6800 else 6801 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6802 for as_dir in $PATH 6803 do 6804 IFS=$as_save_IFS 6805 test -z "$as_dir" && as_dir=. 6806 for ac_exec_ext in '' $ac_executable_extensions; do 6807 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6808 ac_cv_prog_ac_ct_DLLTOOL="dlltool" 6809 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6810 break 2 6811 fi 6812 done 6813 done 6814 IFS=$as_save_IFS 6815 6816 fi 6817 fi 6818 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL 6819 if test -n "$ac_ct_DLLTOOL"; then 6820 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 6821 $as_echo "$ac_ct_DLLTOOL" >&6; } 6822 else 6823 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6824 $as_echo "no" >&6; } 6825 fi 6826 6827 if test "x$ac_ct_DLLTOOL" = x; then 6828 DLLTOOL="false" 6829 else 6830 case $cross_compiling:$ac_tool_warned in 6831 yes:) 6832 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6833 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6834 ac_tool_warned=yes ;; 6835 esac 6836 DLLTOOL=$ac_ct_DLLTOOL 6837 fi 6838 else 6839 DLLTOOL="$ac_cv_prog_DLLTOOL" 6840 fi 6841 6842 test -z "$DLLTOOL" && DLLTOOL=dlltool 6843 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" >&5 6854 $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) " >&6 6857 else 6858 lt_cv_sharedlib_from_linklib_cmd='unknown' 6859 6860 case $host_os in 6861 cygwin* | mingw* | pw32* | cegcc*) 6862 # two different shell functions defined in ltmain.sh; 6863 # decide which one to use based on capabilities of $DLLTOOL 6864 case `$DLLTOOL --help 2>&1` in 6865 *--identify-strict*) 6866 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 6867 ;; 6868 *) 6869 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 6870 ;; 6871 esac 6872 ;; 6873 *) 6874 # fallback: assume linklib IS sharedlib 6875 lt_cv_sharedlib_from_linklib_cmd=$ECHO 6876 ;; 6877 esac 6878 6879 fi 6880 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 6881 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } 6882 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 6883 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 6884 6885 6886 6887 6888 6889 6890 6891 if test -n "$ac_tool_prefix"; then 6892 for ac_prog in ar 6893 do 6894 # 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=$2 6896 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6897 $as_echo_n "checking for $ac_word... " >&6; } 6898 if ${ac_cv_prog_AR+:} false; then : 6899 $as_echo_n "(cached) " >&6 6900 else 6901 if test -n "$AR"; then 6902 ac_cv_prog_AR="$AR" # Let the user override the test. 6903 else 6904 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6905 for as_dir in $PATH 6906 do 6907 IFS=$as_save_IFS 6908 test -z "$as_dir" && as_dir=. 6909 for ac_exec_ext in '' $ac_executable_extensions; do 6910 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6911 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" >&5 6913 break 2 6914 fi 6915 done 6916 done 6917 IFS=$as_save_IFS 6918 6919 fi 6920 fi 6921 AR=$ac_cv_prog_AR 6922 if test -n "$AR"; then 6923 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 6924 $as_echo "$AR" >&6; } 6925 else 6926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6927 $as_echo "no" >&6; } 6928 fi 6929 6930 6931 test -n "$AR" && break 6932 done 6933 fi 6934 if test -z "$AR"; then 6935 ac_ct_AR=$AR 6936 for ac_prog in ar 6937 do 6938 # Extract the first word of "$ac_prog", so it can be a program name with args. 6939 set dummy $ac_prog; ac_word=$2 6940 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6941 $as_echo_n "checking for $ac_word... " >&6; } 6942 if ${ac_cv_prog_ac_ct_AR+:} false; then : 6943 $as_echo_n "(cached) " >&6 6944 else 6945 if test -n "$ac_ct_AR"; then 6946 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. 6947 else 6948 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6949 for as_dir in $PATH 6950 do 6951 IFS=$as_save_IFS 6952 test -z "$as_dir" && as_dir=. 6953 for ac_exec_ext in '' $ac_executable_extensions; do 6954 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6955 ac_cv_prog_ac_ct_AR="$ac_prog" 6956 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6957 break 2 6958 fi 6959 done 6960 done 6961 IFS=$as_save_IFS 6962 6963 fi 6964 fi 6965 ac_ct_AR=$ac_cv_prog_ac_ct_AR 6966 if test -n "$ac_ct_AR"; then 6967 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 6968 $as_echo "$ac_ct_AR" >&6; } 6969 else 6970 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6971 $as_echo "no" >&6; } 6972 fi 6973 6974 6975 test -n "$ac_ct_AR" && break 6976 done 6977 6978 if test "x$ac_ct_AR" = x; then 6979 AR="false" 6980 else 6981 case $cross_compiling:$ac_tool_warned in 6982 yes:) 6983 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6984 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6985 ac_tool_warned=yes ;; 6986 esac 6987 AR=$ac_ct_AR 6988 fi 6989 fi 6990 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" >&5 7005 $as_echo_n "checking for archiver @FILE support... " >&6; } 7006 if ${lt_cv_ar_at_file+:} false; then : 7007 $as_echo_n "(cached) " >&6 7008 else 7009 lt_cv_ar_at_file=no 7010 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7011 /* end confdefs.h. */ 7012 7013 int 7014 main () 7015 { 7016 7017 ; 7018 return 0; 7019 } 7020 _ACEOF 7021 if ac_fn_c_try_compile "$LINENO"; then : 7022 echo conftest.$ac_objext > conftest.lst 7023 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' 7024 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 7025 (eval $lt_ar_try) 2>&5 7026 ac_status=$? 7027 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7028 test $ac_status = 0; } 7029 if test 0 -eq "$ac_status"; then 7030 # Ensure the archiver fails upon bogus file names. 7031 rm -f conftest.$ac_objext libconftest.a 7032 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 7033 (eval $lt_ar_try) 2>&5 7034 ac_status=$? 7035 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7036 test $ac_status = 0; } 7037 if test 0 -ne "$ac_status"; then 7038 lt_cv_ar_at_file=@ 7039 fi 7040 fi 7041 rm -f conftest.* libconftest.a 7042 7043 fi 7044 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 7045 7046 fi 7047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 7048 $as_echo "$lt_cv_ar_at_file" >&6; } 7049 7050 if test no = "$lt_cv_ar_at_file"; then 7051 archiver_list_spec= 7052 else 7053 archiver_list_spec=$lt_cv_ar_at_file 7054 fi 7055 7056 7057 7058 7059 7060 7061 7062 if test -n "$ac_tool_prefix"; then 7063 # 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=$2 7065 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7066 $as_echo_n "checking for $ac_word... " >&6; } 7067 if ${ac_cv_prog_STRIP+:} false; then : 7068 $as_echo_n "(cached) " >&6 7069 else 7070 if test -n "$STRIP"; then 7071 ac_cv_prog_STRIP="$STRIP" # Let the user override the test. 7072 else 7073 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7074 for as_dir in $PATH 7075 do 7076 IFS=$as_save_IFS 7077 test -z "$as_dir" && as_dir=. 7078 for ac_exec_ext in '' $ac_executable_extensions; do 7079 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7080 ac_cv_prog_STRIP="${ac_tool_prefix}strip" 7081 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7082 break 2 7083 fi 7084 done 7085 done 7086 IFS=$as_save_IFS 7087 7088 fi 7089 fi 7090 STRIP=$ac_cv_prog_STRIP 7091 if test -n "$STRIP"; then 7092 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 7093 $as_echo "$STRIP" >&6; } 7094 else 7095 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7096 $as_echo "no" >&6; } 7097 fi 7098 7099 7100 fi 7101 if test -z "$ac_cv_prog_STRIP"; then 7102 ac_ct_STRIP=$STRIP 7103 # Extract the first word of "strip", so it can be a program name with args. 7104 set dummy strip; ac_word=$2 7105 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7106 $as_echo_n "checking for $ac_word... " >&6; } 7107 if ${ac_cv_prog_ac_ct_STRIP+:} false; then : 7108 $as_echo_n "(cached) " >&6 7109 else 7110 if test -n "$ac_ct_STRIP"; then 7111 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. 7112 else 7113 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7114 for as_dir in $PATH 7115 do 7116 IFS=$as_save_IFS 7117 test -z "$as_dir" && as_dir=. 7118 for ac_exec_ext in '' $ac_executable_extensions; do 7119 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7120 ac_cv_prog_ac_ct_STRIP="strip" 7121 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7122 break 2 7123 fi 7124 done 7125 done 7126 IFS=$as_save_IFS 7127 7128 fi 7129 fi 7130 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP 7131 if test -n "$ac_ct_STRIP"; then 7132 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 7133 $as_echo "$ac_ct_STRIP" >&6; } 7134 else 7135 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7136 $as_echo "no" >&6; } 7137 fi 7138 7139 if test "x$ac_ct_STRIP" = x; then 7140 STRIP=":" 7141 else 7142 case $cross_compiling:$ac_tool_warned in 7143 yes:) 7144 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7145 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7146 ac_tool_warned=yes ;; 7147 esac 7148 STRIP=$ac_ct_STRIP 7149 fi 7150 else 7151 STRIP="$ac_cv_prog_STRIP" 7152 fi 7153 7154 test -z "$STRIP" && STRIP=: 7155 7156 7157 7158 7159 7160 7161 if test -n "$ac_tool_prefix"; then 7162 # 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=$2 7164 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7165 $as_echo_n "checking for $ac_word... " >&6; } 7166 if ${ac_cv_prog_RANLIB+:} false; then : 7167 $as_echo_n "(cached) " >&6 7168 else 7169 if test -n "$RANLIB"; then 7170 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 7171 else 7172 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7173 for as_dir in $PATH 7174 do 7175 IFS=$as_save_IFS 7176 test -z "$as_dir" && as_dir=. 7177 for ac_exec_ext in '' $ac_executable_extensions; do 7178 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7179 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" 7180 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7181 break 2 7182 fi 7183 done 7184 done 7185 IFS=$as_save_IFS 7186 7187 fi 7188 fi 7189 RANLIB=$ac_cv_prog_RANLIB 7190 if test -n "$RANLIB"; then 7191 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 7192 $as_echo "$RANLIB" >&6; } 7193 else 7194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7195 $as_echo "no" >&6; } 7196 fi 7197 7198 7199 fi 7200 if test -z "$ac_cv_prog_RANLIB"; then 7201 ac_ct_RANLIB=$RANLIB 7202 # Extract the first word of "ranlib", so it can be a program name with args. 7203 set dummy ranlib; ac_word=$2 7204 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7205 $as_echo_n "checking for $ac_word... " >&6; } 7206 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 7207 $as_echo_n "(cached) " >&6 7208 else 7209 if test -n "$ac_ct_RANLIB"; then 7210 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 7211 else 7212 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7213 for as_dir in $PATH 7214 do 7215 IFS=$as_save_IFS 7216 test -z "$as_dir" && as_dir=. 7217 for ac_exec_ext in '' $ac_executable_extensions; do 7218 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7219 ac_cv_prog_ac_ct_RANLIB="ranlib" 7220 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7221 break 2 7222 fi 7223 done 7224 done 7225 IFS=$as_save_IFS 7226 7227 fi 7228 fi 7229 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 7230 if test -n "$ac_ct_RANLIB"; then 7231 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 7232 $as_echo "$ac_ct_RANLIB" >&6; } 7233 else 7234 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7235 $as_echo "no" >&6; } 7236 fi 7237 7238 if test "x$ac_ct_RANLIB" = x; then 7239 RANLIB=":" 7240 else 7241 case $cross_compiling:$ac_tool_warned in 7242 yes:) 7243 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7244 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7245 ac_tool_warned=yes ;; 7246 esac 7247 RANLIB=$ac_ct_RANLIB 7248 fi 7249 else 7250 RANLIB="$ac_cv_prog_RANLIB" 7251 fi 7252 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"; then 7266 case $host_os in 7267 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 esac 7274 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 7275 fi 7276 7277 case $host_os in 7278 darwin*) 7279 lock_old_archive_extraction=yes ;; 7280 *) 7281 lock_old_archive_extraction=no ;; 7282 esac 7283 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=$CC 7330 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" >&5 7334 $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) " >&6 7337 else 7338 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 in 7350 aix*) 7351 symcode='[BCDT]' 7352 ;; 7353 cygwin* | mingw* | pw32* | cegcc*) 7354 symcode='[ABCDGISTW]' 7355 ;; 7356 hpux*) 7357 if test ia64 = "$host_cpu"; then 7358 symcode='[ABCDEGRST]' 7359 fi 7360 ;; 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 esac 7383 7384 # If we're using GNU nm, then use its standard symbol codes. 7385 case `$NM -V 2>&1` in 7386 *GNU* | *'with BFD'*) 7387 symcode='[ABCDGIRSTW]' ;; 7388 esac 7389 7390 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 7391 # 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 else 7400 # 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 fi 7406 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 address 7416 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 and 7422 # 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 chain 7430 opt_cr= 7431 case $build_os in 7432 mingw*) 7433 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 7434 ;; 7435 esac 7436 7437 # Try without a prefix underscore, then with it. 7438 for ac_symprfx in "" "_"; do 7439 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"; then 7445 # 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 else 7465 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 7466 fi 7467 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=no 7471 7472 rm -f conftest* 7473 cat > conftest.$ac_ext <<_LT_EOF 7474 #ifdef __cplusplus 7475 extern "C" { 7476 #endif 7477 char nm_test_var; 7478 void nm_test_func(void); 7479 void nm_test_func(void){} 7480 #ifdef __cplusplus 7481 } 7482 #endif 7483 int main(){nm_test_var='a';nm_test_func();return(0);} 7484 _LT_EOF 7485 7486 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7487 (eval $ac_compile) 2>&5 7488 ac_status=$? 7489 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7490 test $ac_status = 0; }; then 7491 # Now try to grab the symbols. 7492 nlist=conftest.nm 7493 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 7494 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 7495 ac_status=$? 7496 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7497 test $ac_status = 0; } && test -s "$nlist"; then 7498 # Try sorting and uniquifying the output. 7499 if sort "$nlist" | uniq > "$nlist"T; then 7500 mv -f "$nlist"T "$nlist" 7501 else 7502 rm -f "$nlist"T 7503 fi 7504 7505 # Make sure that we snagged all the symbols we need. 7506 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 7507 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 7508 cat <<_LT_EOF > conftest.$ac_ext 7509 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 7510 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 7511 /* DATA imports from DLLs on WIN32 can't be const, because runtime 7512 relocations are performed -- see ld's documentation on pseudo-relocs. */ 7513 # define LT_DLSYM_CONST 7514 #elif defined __osf__ 7515 /* This system does not cope well with relocations in const data. */ 7516 # define LT_DLSYM_CONST 7517 #else 7518 # define LT_DLSYM_CONST const 7519 #endif 7520 7521 #ifdef __cplusplus 7522 extern "C" { 7523 #endif 7524 7525 _LT_EOF 7526 # 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_ext 7530 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_EOF 7540 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 7541 cat <<\_LT_EOF >> conftest.$ac_ext 7542 {0, (void *) 0} 7543 }; 7544 7545 /* This works around a problem in FreeBSD linker */ 7546 #ifdef FREEBSD_WORKAROUND 7547 static const void *lt_preloaded_setup() { 7548 return lt__PROGRAM__LTX_preloaded_symbols; 7549 } 7550 #endif 7551 7552 #ifdef __cplusplus 7553 } 7554 #endif 7555 _LT_EOF 7556 # Now try linking the two files. 7557 mv conftest.$ac_objext conftstm.$ac_objext 7558 lt_globsym_save_LIBS=$LIBS 7559 lt_globsym_save_CFLAGS=$CFLAGS 7560 LIBS=conftstm.$ac_objext 7561 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" 7562 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 7563 (eval $ac_link) 2>&5 7564 ac_status=$? 7565 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7566 test $ac_status = 0; } && test -s conftest$ac_exeext; then 7567 pipe_works=yes 7568 fi 7569 LIBS=$lt_globsym_save_LIBS 7570 CFLAGS=$lt_globsym_save_CFLAGS 7571 else 7572 echo "cannot find nm_test_func in $nlist" >&5 7573 fi 7574 else 7575 echo "cannot find nm_test_var in $nlist" >&5 7576 fi 7577 else 7578 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 7579 fi 7580 else 7581 echo "$progname: failed program was:" >&5 7582 cat conftest.$ac_ext >&5 7583 fi 7584 rm -rf conftest* conftst* 7585 7586 # Do not use the global_symbol_pipe unless it works. 7587 if test yes = "$pipe_works"; then 7588 break 7589 else 7590 lt_cv_sys_global_symbol_pipe= 7591 fi 7592 done 7593 7594 fi 7595 7596 if test -z "$lt_cv_sys_global_symbol_pipe"; then 7597 lt_cv_sys_global_symbol_to_cdecl= 7598 fi 7599 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 7600 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 7601 $as_echo "failed" >&6; } 7602 else 7603 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 7604 $as_echo "ok" >&6; } 7605 fi 7606 7607 # Response file support. 7608 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 7609 nm_file_list_spec='@' 7610 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then 7611 nm_file_list_spec='@' 7612 fi 7613 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" >&5 7651 $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 else 7657 with_sysroot=no 7658 fi 7659 7660 7661 lt_sysroot= 7662 case $with_sysroot in #( 7663 yes) 7664 if test yes = "$GCC"; then 7665 lt_sysroot=`$CC --print-sysroot 2>/dev/null` 7666 fi 7667 ;; #( 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" >&5 7675 $as_echo "$with_sysroot" >&6; } 7676 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 7677 ;; 7678 esac 7679 7680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 7681 $as_echo "${lt_sysroot:-no}" >&6; } 7682 7683 7684 7685 7686 7687 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 7688 $as_echo_n "checking for a working dd... " >&6; } 7689 if ${ac_cv_path_lt_DD+:} false; then : 7690 $as_echo_n "(cached) " >&6 7691 else 7692 printf 0123456789abcdef0123456789abcdef >conftest.i 7693 cat conftest.i conftest.i >conftest2.i 7694 : ${lt_DD:=$DD} 7695 if test -z "$lt_DD"; then 7696 ac_path_lt_DD_found=false 7697 # Loop through the user's path and test for each of PROGNAME-LIST 7698 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7699 for as_dir in $PATH 7700 do 7701 IFS=$as_save_IFS 7702 test -z "$as_dir" && as_dir=. 7703 for ac_prog in dd; do 7704 for ac_exec_ext in '' $ac_executable_extensions; do 7705 ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" 7706 as_fn_executable_p "$ac_path_lt_DD" || continue 7707 if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 7708 cmp -s conftest.i conftest.out \ 7709 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 7710 fi 7711 $ac_path_lt_DD_found && break 3 7712 done 7713 done 7714 done 7715 IFS=$as_save_IFS 7716 if test -z "$ac_cv_path_lt_DD"; then 7717 : 7718 fi 7719 else 7720 ac_cv_path_lt_DD=$lt_DD 7721 fi 7722 7723 rm -f conftest.i conftest2.i conftest.out 7724 fi 7725 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 7726 $as_echo "$ac_cv_path_lt_DD" >&6; } 7727 7728 7729 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 7730 $as_echo_n "checking how to truncate binary pipes... " >&6; } 7731 if ${lt_cv_truncate_bin+:} false; then : 7732 $as_echo_n "(cached) " >&6 7733 else 7734 printf 0123456789abcdef0123456789abcdef >conftest.i 7735 cat conftest.i conftest.i >conftest2.i 7736 lt_cv_truncate_bin= 7737 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 7738 cmp -s conftest.i conftest.out \ 7739 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 7740 fi 7741 rm -f conftest.i conftest2.i conftest.out 7742 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" 7743 fi 7744 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 7745 $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 $*""; do 7757 case $cc_temp in 7758 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; 7759 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; 7760 \-*) ;; 7761 *) break;; 7762 esac 7763 done 7764 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 fi 7771 7772 test no = "$enable_libtool_lock" || enable_libtool_lock=yes 7773 7774 # Some flags need to be propagated to the compiler or linker for good 7775 # libtool support. 7776 case $host in 7777 ia64-*-hpux*) 7778 # Find out what ABI is being produced by ac_compile, and set mode 7779 # options accordingly. 7780 echo 'int i;' > conftest.$ac_ext 7781 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7782 (eval $ac_compile) 2>&5 7783 ac_status=$? 7784 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7785 test $ac_status = 0; }; then 7786 case `/usr/bin/file conftest.$ac_objext` in 7787 *ELF-32*) 7788 HPUX_IA64_MODE=32 7789 ;; 7790 *ELF-64*) 7791 HPUX_IA64_MODE=64 7792 ;; 7793 esac 7794 fi 7795 rm -rf conftest* 7796 ;; 7797 *-*-irix6*) 7798 # Find out what ABI is being produced by ac_compile, and set linker 7799 # options accordingly. 7800 echo '#line '$LINENO' "configure"' > conftest.$ac_ext 7801 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7802 (eval $ac_compile) 2>&5 7803 ac_status=$? 7804 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7805 test $ac_status = 0; }; then 7806 if test yes = "$lt_cv_prog_gnu_ld"; then 7807 case `/usr/bin/file conftest.$ac_objext` in 7808 *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 esac 7818 else 7819 case `/usr/bin/file conftest.$ac_objext` in 7820 *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 esac 7830 fi 7831 fi 7832 rm -rf conftest* 7833 ;; 7834 7835 mips64*-*linux*) 7836 # Find out what ABI is being produced by ac_compile, and set linker 7837 # options accordingly. 7838 echo '#line '$LINENO' "configure"' > conftest.$ac_ext 7839 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7840 (eval $ac_compile) 2>&5 7841 ac_status=$? 7842 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7843 test $ac_status = 0; }; then 7844 emul=elf 7845 case `/usr/bin/file conftest.$ac_objext` in 7846 *32-bit*) 7847 emul="${emul}32" 7848 ;; 7849 *64-bit*) 7850 emul="${emul}64" 7851 ;; 7852 esac 7853 case `/usr/bin/file conftest.$ac_objext` in 7854 *MSB*) 7855 emul="${emul}btsmip" 7856 ;; 7857 *LSB*) 7858 emul="${emul}ltsmip" 7859 ;; 7860 esac 7861 case `/usr/bin/file conftest.$ac_objext` in 7862 *N32*) 7863 emul="${emul}n32" 7864 ;; 7865 esac 7866 LD="${LD-ld} -m $emul" 7867 fi 7868 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 linker 7874 # options accordingly. Note that the listed cases only cover the 7875 # situations where additional linker options are needed (such as when 7876 # doing 32-bit compilation for a host where ld defaults to 64-bit, or 7877 # vice versa); the common cases where no linker options are needed do 7878 # not appear in the list. 7879 echo 'int i;' > conftest.$ac_ext 7880 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7881 (eval $ac_compile) 2>&5 7882 ac_status=$? 7883 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7884 test $ac_status = 0; }; then 7885 case `/usr/bin/file conftest.o` in 7886 *32-bit*) 7887 case $host in 7888 x86_64-*kfreebsd*-gnu) 7889 LD="${LD-ld} -m elf_i386_fbsd" 7890 ;; 7891 x86_64-*linux*) 7892 case `/usr/bin/file conftest.o` in 7893 *x86-64*) 7894 LD="${LD-ld} -m elf32_x86_64" 7895 ;; 7896 *) 7897 LD="${LD-ld} -m elf_i386" 7898 ;; 7899 esac 7900 ;; 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 esac 7914 ;; 7915 *64-bit*) 7916 case $host in 7917 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 esac 7936 ;; 7937 esac 7938 fi 7939 rm -rf conftest* 7940 ;; 7941 7942 *-*-sco3.2v5*) 7943 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 7944 SAVE_CFLAGS=$CFLAGS 7945 CFLAGS="$CFLAGS -belf" 7946 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 7947 $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) " >&6 7950 else 7951 ac_ext=c 7952 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_gnu 7956 7957 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7958 /* end confdefs.h. */ 7959 7960 int 7961 main () 7962 { 7963 7964 ; 7965 return 0; 7966 } 7967 _ACEOF 7968 if ac_fn_c_try_link "$LINENO"; then : 7969 lt_cv_cc_needs_belf=yes 7970 else 7971 lt_cv_cc_needs_belf=no 7972 fi 7973 rm -f core conftest.err conftest.$ac_objext \ 7974 conftest$ac_exeext conftest.$ac_ext 7975 ac_ext=c 7976 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_gnu 7980 7981 fi 7982 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 7983 $as_echo "$lt_cv_cc_needs_belf" >&6; } 7984 if test yes != "$lt_cv_cc_needs_belf"; then 7985 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 7986 CFLAGS=$SAVE_CFLAGS 7987 fi 7988 ;; 7989 *-*solaris*) 7990 # Find out what ABI is being produced by ac_compile, and set linker 7991 # options accordingly. 7992 echo 'int i;' > conftest.$ac_ext 7993 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 7994 (eval $ac_compile) 2>&5 7995 ac_status=$? 7996 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 7997 test $ac_status = 0; }; then 7998 case `/usr/bin/file conftest.o` in 7999 *64-bit*) 8000 case $lt_cv_prog_gnu_ld in 8001 yes*) 8002 case $host in 8003 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 esac 8010 # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 8011 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 8012 LD=${LD-ld}_sol2 8013 fi 8014 ;; 8015 *) 8016 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 8017 LD="${LD-ld} -64" 8018 fi 8019 ;; 8020 esac 8021 ;; 8022 esac 8023 fi 8024 rm -rf conftest* 8025 ;; 8026 esac 8027 8028 need_locks=$enable_libtool_lock 8029 8030 if test -n "$ac_tool_prefix"; then 8031 # 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=$2 8033 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8034 $as_echo_n "checking for $ac_word... " >&6; } 8035 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : 8036 $as_echo_n "(cached) " >&6 8037 else 8038 if test -n "$MANIFEST_TOOL"; then 8039 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. 8040 else 8041 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8042 for as_dir in $PATH 8043 do 8044 IFS=$as_save_IFS 8045 test -z "$as_dir" && as_dir=. 8046 for ac_exec_ext in '' $ac_executable_extensions; do 8047 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8048 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" >&5 8050 break 2 8051 fi 8052 done 8053 done 8054 IFS=$as_save_IFS 8055 8056 fi 8057 fi 8058 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL 8059 if test -n "$MANIFEST_TOOL"; then 8060 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 8061 $as_echo "$MANIFEST_TOOL" >&6; } 8062 else 8063 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8064 $as_echo "no" >&6; } 8065 fi 8066 8067 8068 fi 8069 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then 8070 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL 8071 # Extract the first word of "mt", so it can be a program name with args. 8072 set dummy mt; ac_word=$2 8073 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8074 $as_echo_n "checking for $ac_word... " >&6; } 8075 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : 8076 $as_echo_n "(cached) " >&6 8077 else 8078 if test -n "$ac_ct_MANIFEST_TOOL"; then 8079 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. 8080 else 8081 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8082 for as_dir in $PATH 8083 do 8084 IFS=$as_save_IFS 8085 test -z "$as_dir" && as_dir=. 8086 for ac_exec_ext in '' $ac_executable_extensions; do 8087 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8088 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" 8089 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8090 break 2 8091 fi 8092 done 8093 done 8094 IFS=$as_save_IFS 8095 8096 fi 8097 fi 8098 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL 8099 if test -n "$ac_ct_MANIFEST_TOOL"; then 8100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 8101 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } 8102 else 8103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8104 $as_echo "no" >&6; } 8105 fi 8106 8107 if test "x$ac_ct_MANIFEST_TOOL" = x; then 8108 MANIFEST_TOOL=":" 8109 else 8110 case $cross_compiling:$ac_tool_warned in 8111 yes:) 8112 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8113 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8114 ac_tool_warned=yes ;; 8115 esac 8116 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL 8117 fi 8118 else 8119 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" 8120 fi 8121 8122 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 8123 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 8124 $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) " >&6 8127 else 8128 lt_cv_path_mainfest_tool=no 8129 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 8130 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 8131 cat conftest.err >&5 8132 if $GREP 'Manifest Tool' conftest.out > /dev/null; then 8133 lt_cv_path_mainfest_tool=yes 8134 fi 8135 rm -f conftest* 8136 fi 8137 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 8138 $as_echo "$lt_cv_path_mainfest_tool" >&6; } 8139 if test yes != "$lt_cv_path_mainfest_tool"; then 8140 MANIFEST_TOOL=: 8141 fi 8142 8143 8144 8145 8146 8147 8148 case $host_os in 8149 rhapsody* | darwin*) 8150 if test -n "$ac_tool_prefix"; then 8151 # 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=$2 8153 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8154 $as_echo_n "checking for $ac_word... " >&6; } 8155 if ${ac_cv_prog_DSYMUTIL+:} false; then : 8156 $as_echo_n "(cached) " >&6 8157 else 8158 if test -n "$DSYMUTIL"; then 8159 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. 8160 else 8161 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8162 for as_dir in $PATH 8163 do 8164 IFS=$as_save_IFS 8165 test -z "$as_dir" && as_dir=. 8166 for ac_exec_ext in '' $ac_executable_extensions; do 8167 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8168 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" 8169 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8170 break 2 8171 fi 8172 done 8173 done 8174 IFS=$as_save_IFS 8175 8176 fi 8177 fi 8178 DSYMUTIL=$ac_cv_prog_DSYMUTIL 8179 if test -n "$DSYMUTIL"; then 8180 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 8181 $as_echo "$DSYMUTIL" >&6; } 8182 else 8183 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8184 $as_echo "no" >&6; } 8185 fi 8186 8187 8188 fi 8189 if test -z "$ac_cv_prog_DSYMUTIL"; then 8190 ac_ct_DSYMUTIL=$DSYMUTIL 8191 # Extract the first word of "dsymutil", so it can be a program name with args. 8192 set dummy dsymutil; ac_word=$2 8193 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8194 $as_echo_n "checking for $ac_word... " >&6; } 8195 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : 8196 $as_echo_n "(cached) " >&6 8197 else 8198 if test -n "$ac_ct_DSYMUTIL"; then 8199 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. 8200 else 8201 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8202 for as_dir in $PATH 8203 do 8204 IFS=$as_save_IFS 8205 test -z "$as_dir" && as_dir=. 8206 for ac_exec_ext in '' $ac_executable_extensions; do 8207 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8208 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" 8209 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8210 break 2 8211 fi 8212 done 8213 done 8214 IFS=$as_save_IFS 8215 8216 fi 8217 fi 8218 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL 8219 if test -n "$ac_ct_DSYMUTIL"; then 8220 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 8221 $as_echo "$ac_ct_DSYMUTIL" >&6; } 8222 else 8223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8224 $as_echo "no" >&6; } 8225 fi 8226 8227 if test "x$ac_ct_DSYMUTIL" = x; then 8228 DSYMUTIL=":" 8229 else 8230 case $cross_compiling:$ac_tool_warned in 8231 yes:) 8232 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8233 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8234 ac_tool_warned=yes ;; 8235 esac 8236 DSYMUTIL=$ac_ct_DSYMUTIL 8237 fi 8238 else 8239 DSYMUTIL="$ac_cv_prog_DSYMUTIL" 8240 fi 8241 8242 if test -n "$ac_tool_prefix"; then 8243 # 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=$2 8245 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8246 $as_echo_n "checking for $ac_word... " >&6; } 8247 if ${ac_cv_prog_NMEDIT+:} false; then : 8248 $as_echo_n "(cached) " >&6 8249 else 8250 if test -n "$NMEDIT"; then 8251 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. 8252 else 8253 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8254 for as_dir in $PATH 8255 do 8256 IFS=$as_save_IFS 8257 test -z "$as_dir" && as_dir=. 8258 for ac_exec_ext in '' $ac_executable_extensions; do 8259 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8260 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" 8261 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8262 break 2 8263 fi 8264 done 8265 done 8266 IFS=$as_save_IFS 8267 8268 fi 8269 fi 8270 NMEDIT=$ac_cv_prog_NMEDIT 8271 if test -n "$NMEDIT"; then 8272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 8273 $as_echo "$NMEDIT" >&6; } 8274 else 8275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8276 $as_echo "no" >&6; } 8277 fi 8278 8279 8280 fi 8281 if test -z "$ac_cv_prog_NMEDIT"; then 8282 ac_ct_NMEDIT=$NMEDIT 8283 # Extract the first word of "nmedit", so it can be a program name with args. 8284 set dummy nmedit; ac_word=$2 8285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8286 $as_echo_n "checking for $ac_word... " >&6; } 8287 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : 8288 $as_echo_n "(cached) " >&6 8289 else 8290 if test -n "$ac_ct_NMEDIT"; then 8291 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. 8292 else 8293 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8294 for as_dir in $PATH 8295 do 8296 IFS=$as_save_IFS 8297 test -z "$as_dir" && as_dir=. 8298 for ac_exec_ext in '' $ac_executable_extensions; do 8299 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8300 ac_cv_prog_ac_ct_NMEDIT="nmedit" 8301 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8302 break 2 8303 fi 8304 done 8305 done 8306 IFS=$as_save_IFS 8307 8308 fi 8309 fi 8310 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT 8311 if test -n "$ac_ct_NMEDIT"; then 8312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 8313 $as_echo "$ac_ct_NMEDIT" >&6; } 8314 else 8315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8316 $as_echo "no" >&6; } 8317 fi 8318 8319 if test "x$ac_ct_NMEDIT" = x; then 8320 NMEDIT=":" 8321 else 8322 case $cross_compiling:$ac_tool_warned in 8323 yes:) 8324 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8325 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8326 ac_tool_warned=yes ;; 8327 esac 8328 NMEDIT=$ac_ct_NMEDIT 8329 fi 8330 else 8331 NMEDIT="$ac_cv_prog_NMEDIT" 8332 fi 8333 8334 if test -n "$ac_tool_prefix"; then 8335 # 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=$2 8337 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8338 $as_echo_n "checking for $ac_word... " >&6; } 8339 if ${ac_cv_prog_LIPO+:} false; then : 8340 $as_echo_n "(cached) " >&6 8341 else 8342 if test -n "$LIPO"; then 8343 ac_cv_prog_LIPO="$LIPO" # Let the user override the test. 8344 else 8345 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8346 for as_dir in $PATH 8347 do 8348 IFS=$as_save_IFS 8349 test -z "$as_dir" && as_dir=. 8350 for ac_exec_ext in '' $ac_executable_extensions; do 8351 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8352 ac_cv_prog_LIPO="${ac_tool_prefix}lipo" 8353 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8354 break 2 8355 fi 8356 done 8357 done 8358 IFS=$as_save_IFS 8359 8360 fi 8361 fi 8362 LIPO=$ac_cv_prog_LIPO 8363 if test -n "$LIPO"; then 8364 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 8365 $as_echo "$LIPO" >&6; } 8366 else 8367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8368 $as_echo "no" >&6; } 8369 fi 8370 8371 8372 fi 8373 if test -z "$ac_cv_prog_LIPO"; then 8374 ac_ct_LIPO=$LIPO 8375 # Extract the first word of "lipo", so it can be a program name with args. 8376 set dummy lipo; ac_word=$2 8377 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8378 $as_echo_n "checking for $ac_word... " >&6; } 8379 if ${ac_cv_prog_ac_ct_LIPO+:} false; then : 8380 $as_echo_n "(cached) " >&6 8381 else 8382 if test -n "$ac_ct_LIPO"; then 8383 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. 8384 else 8385 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8386 for as_dir in $PATH 8387 do 8388 IFS=$as_save_IFS 8389 test -z "$as_dir" && as_dir=. 8390 for ac_exec_ext in '' $ac_executable_extensions; do 8391 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8392 ac_cv_prog_ac_ct_LIPO="lipo" 8393 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8394 break 2 8395 fi 8396 done 8397 done 8398 IFS=$as_save_IFS 8399 8400 fi 8401 fi 8402 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO 8403 if test -n "$ac_ct_LIPO"; then 8404 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 8405 $as_echo "$ac_ct_LIPO" >&6; } 8406 else 8407 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8408 $as_echo "no" >&6; } 8409 fi 8410 8411 if test "x$ac_ct_LIPO" = x; then 8412 LIPO=":" 8413 else 8414 case $cross_compiling:$ac_tool_warned in 8415 yes:) 8416 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8417 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8418 ac_tool_warned=yes ;; 8419 esac 8420 LIPO=$ac_ct_LIPO 8421 fi 8422 else 8423 LIPO="$ac_cv_prog_LIPO" 8424 fi 8425 8426 if test -n "$ac_tool_prefix"; then 8427 # 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=$2 8429 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8430 $as_echo_n "checking for $ac_word... " >&6; } 8431 if ${ac_cv_prog_OTOOL+:} false; then : 8432 $as_echo_n "(cached) " >&6 8433 else 8434 if test -n "$OTOOL"; then 8435 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. 8436 else 8437 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8438 for as_dir in $PATH 8439 do 8440 IFS=$as_save_IFS 8441 test -z "$as_dir" && as_dir=. 8442 for ac_exec_ext in '' $ac_executable_extensions; do 8443 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8444 ac_cv_prog_OTOOL="${ac_tool_prefix}otool" 8445 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8446 break 2 8447 fi 8448 done 8449 done 8450 IFS=$as_save_IFS 8451 8452 fi 8453 fi 8454 OTOOL=$ac_cv_prog_OTOOL 8455 if test -n "$OTOOL"; then 8456 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 8457 $as_echo "$OTOOL" >&6; } 8458 else 8459 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8460 $as_echo "no" >&6; } 8461 fi 8462 8463 8464 fi 8465 if test -z "$ac_cv_prog_OTOOL"; then 8466 ac_ct_OTOOL=$OTOOL 8467 # Extract the first word of "otool", so it can be a program name with args. 8468 set dummy otool; ac_word=$2 8469 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8470 $as_echo_n "checking for $ac_word... " >&6; } 8471 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : 8472 $as_echo_n "(cached) " >&6 8473 else 8474 if test -n "$ac_ct_OTOOL"; then 8475 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. 8476 else 8477 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8478 for as_dir in $PATH 8479 do 8480 IFS=$as_save_IFS 8481 test -z "$as_dir" && as_dir=. 8482 for ac_exec_ext in '' $ac_executable_extensions; do 8483 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8484 ac_cv_prog_ac_ct_OTOOL="otool" 8485 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8486 break 2 8487 fi 8488 done 8489 done 8490 IFS=$as_save_IFS 8491 8492 fi 8493 fi 8494 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL 8495 if test -n "$ac_ct_OTOOL"; then 8496 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 8497 $as_echo "$ac_ct_OTOOL" >&6; } 8498 else 8499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8500 $as_echo "no" >&6; } 8501 fi 8502 8503 if test "x$ac_ct_OTOOL" = x; then 8504 OTOOL=":" 8505 else 8506 case $cross_compiling:$ac_tool_warned in 8507 yes:) 8508 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8509 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8510 ac_tool_warned=yes ;; 8511 esac 8512 OTOOL=$ac_ct_OTOOL 8513 fi 8514 else 8515 OTOOL="$ac_cv_prog_OTOOL" 8516 fi 8517 8518 if test -n "$ac_tool_prefix"; then 8519 # 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=$2 8521 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8522 $as_echo_n "checking for $ac_word... " >&6; } 8523 if ${ac_cv_prog_OTOOL64+:} false; then : 8524 $as_echo_n "(cached) " >&6 8525 else 8526 if test -n "$OTOOL64"; then 8527 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. 8528 else 8529 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8530 for as_dir in $PATH 8531 do 8532 IFS=$as_save_IFS 8533 test -z "$as_dir" && as_dir=. 8534 for ac_exec_ext in '' $ac_executable_extensions; do 8535 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8536 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" 8537 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8538 break 2 8539 fi 8540 done 8541 done 8542 IFS=$as_save_IFS 8543 8544 fi 8545 fi 8546 OTOOL64=$ac_cv_prog_OTOOL64 8547 if test -n "$OTOOL64"; then 8548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 8549 $as_echo "$OTOOL64" >&6; } 8550 else 8551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8552 $as_echo "no" >&6; } 8553 fi 8554 8555 8556 fi 8557 if test -z "$ac_cv_prog_OTOOL64"; then 8558 ac_ct_OTOOL64=$OTOOL64 8559 # Extract the first word of "otool64", so it can be a program name with args. 8560 set dummy otool64; ac_word=$2 8561 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 8562 $as_echo_n "checking for $ac_word... " >&6; } 8563 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : 8564 $as_echo_n "(cached) " >&6 8565 else 8566 if test -n "$ac_ct_OTOOL64"; then 8567 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. 8568 else 8569 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8570 for as_dir in $PATH 8571 do 8572 IFS=$as_save_IFS 8573 test -z "$as_dir" && as_dir=. 8574 for ac_exec_ext in '' $ac_executable_extensions; do 8575 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 8576 ac_cv_prog_ac_ct_OTOOL64="otool64" 8577 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 8578 break 2 8579 fi 8580 done 8581 done 8582 IFS=$as_save_IFS 8583 8584 fi 8585 fi 8586 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 8587 if test -n "$ac_ct_OTOOL64"; then 8588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 8589 $as_echo "$ac_ct_OTOOL64" >&6; } 8590 else 8591 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8592 $as_echo "no" >&6; } 8593 fi 8594 8595 if test "x$ac_ct_OTOOL64" = x; then 8596 OTOOL64=":" 8597 else 8598 case $cross_compiling:$ac_tool_warned in 8599 yes:) 8600 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 8601 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 8602 ac_tool_warned=yes ;; 8603 esac 8604 OTOOL64=$ac_ct_OTOOL64 8605 fi 8606 else 8607 OTOOL64="$ac_cv_prog_OTOOL64" 8608 fi 8609 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" >&5 8637 $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) " >&6 8640 else 8641 lt_cv_apple_cc_single_mod=no 8642 if test -z "$LT_MULTI_MODULE"; then 8643 # By default we will add the -single_module flag. You can override 8644 # by either setting the environment variable LT_MULTI_MODULE 8645 # non-empty at configure time, or by adding -multi_module to the 8646 # link flags. 8647 rm -rf libconftest.dylib* 8648 echo "int foo(void){return 1;}" > conftest.c 8649 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 8650 -dynamiclib -Wl,-single_module conftest.c" >&5 8651 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 8652 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 8653 _lt_result=$? 8654 # If there is a non-empty error log, and "single_module" 8655 # appears in it, assume the flag caused a linker warning 8656 if test -s conftest.err && $GREP single_module conftest.err; then 8657 cat conftest.err >&5 8658 # Otherwise, if the output was created with a 0 exit code from 8659 # the compiler, it worked. 8660 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 8661 lt_cv_apple_cc_single_mod=yes 8662 else 8663 cat conftest.err >&5 8664 fi 8665 rm -rf libconftest.dylib* 8666 rm -f conftest.* 8667 fi 8668 fi 8669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 8670 $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" >&5 8673 $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) " >&6 8676 else 8677 lt_cv_ld_exported_symbols_list=no 8678 save_LDFLAGS=$LDFLAGS 8679 echo "_main" > conftest.sym 8680 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 8681 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 8682 /* end confdefs.h. */ 8683 8684 int 8685 main () 8686 { 8687 8688 ; 8689 return 0; 8690 } 8691 _ACEOF 8692 if ac_fn_c_try_link "$LINENO"; then : 8693 lt_cv_ld_exported_symbols_list=yes 8694 else 8695 lt_cv_ld_exported_symbols_list=no 8696 fi 8697 rm -f core conftest.err conftest.$ac_objext \ 8698 conftest$ac_exeext conftest.$ac_ext 8699 LDFLAGS=$save_LDFLAGS 8700 8701 fi 8702 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 8703 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } 8704 8705 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 8706 $as_echo_n "checking for -force_load linker flag... " >&6; } 8707 if ${lt_cv_ld_force_load+:} false; then : 8708 $as_echo_n "(cached) " >&6 8709 else 8710 lt_cv_ld_force_load=no 8711 cat > conftest.c << _LT_EOF 8712 int forced_loaded() { return 2;} 8713 _LT_EOF 8714 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 8715 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 8716 echo "$AR cru libconftest.a conftest.o" >&5 8717 $AR cru libconftest.a conftest.o 2>&5 8718 echo "$RANLIB libconftest.a" >&5 8719 $RANLIB libconftest.a 2>&5 8720 cat > conftest.c << _LT_EOF 8721 int main() { return 0;} 8722 _LT_EOF 8723 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 8724 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 8725 _lt_result=$? 8726 if test -s conftest.err && $GREP force_load conftest.err; then 8727 cat conftest.err >&5 8728 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 8729 lt_cv_ld_force_load=yes 8730 else 8731 cat conftest.err >&5 8732 fi 8733 rm -f conftest.err libconftest.a conftest conftest.c 8734 rm -rf conftest.dSYM 8735 8736 fi 8737 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 8738 $as_echo "$lt_cv_ld_force_load" >&6; } 8739 case $host_os in 8740 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 on 8745 # if running on 10.5 or later, the deployment target defaults 8746 # to the OS version, if on x86, and 10.4, the deployment 8747 # target defaults to 10.4. Don't you love it? 8748 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 8749 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 esac 8756 ;; 8757 esac 8758 if test yes = "$lt_cv_apple_cc_single_mod"; then 8759 _lt_dar_single_mod='$single_module' 8760 fi 8761 if test yes = "$lt_cv_ld_exported_symbols_list"; then 8762 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 8763 else 8764 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 8765 fi 8766 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 8767 _lt_dsymutil='~$DSYMUTIL $lib || :' 8768 else 8769 _lt_dsymutil= 8770 fi 8771 ;; 8772 esac 8773 8774 # func_munge_path_list VARIABLE PATH 8775 # ----------------------------------- 8776 # VARIABLE is name of variable containing _space_ separated list of 8777 # directories to be munged by the contents of PATH, which is string 8778 # having a format: 8779 # "DIR[:DIR]:" 8780 # string "DIR[ DIR]" will be prepended to VARIABLE 8781 # ":DIR[:DIR]" 8782 # string "DIR[ DIR]" will be appended to VARIABLE 8783 # "DIRP[:DIRP]::[DIRA:]DIRA" 8784 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string 8785 # "DIRA[ DIRA]" will be appended to VARIABLE 8786 # "DIR[:DIR]" 8787 # VARIABLE will be replaced by "DIR[ DIR]" 8788 func_munge_path_list () 8789 { 8790 case x$2 in 8791 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 esac 8807 } 8808 8809 ac_ext=c 8810 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_gnu 8814 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 8815 $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"; then 8818 CPP= 8819 fi 8820 if test -z "$CPP"; then 8821 if ${ac_cv_prog_CPP+:} false; then : 8822 $as_echo_n "(cached) " >&6 8823 else 8824 # Double quotes because CPP needs to be expanded 8825 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" 8826 do 8827 ac_preproc_ok=false 8828 for ac_c_preproc_warn_flag in '' yes 8829 do 8830 # Use a header file that comes with gcc, so configuring glibc 8831 # with a fresh cross-compiler works. 8832 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 8833 # <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_ext 8837 /* end confdefs.h. */ 8838 #ifdef __STDC__ 8839 # include <limits.h> 8840 #else 8841 # include <assert.h> 8842 #endif 8843 Syntax error 8844 _ACEOF 8845 if ac_fn_c_try_cpp "$LINENO"; then : 8846 8847 else 8848 # Broken: fails on valid input. 8849 continue 8850 fi 8851 rm -f conftest.err conftest.i conftest.$ac_ext 8852 8853 # OK, works on sane cases. Now check whether nonexistent headers 8854 # can be detected and how. 8855 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 8856 /* end confdefs.h. */ 8857 #include <ac_nonexistent.h> 8858 _ACEOF 8859 if ac_fn_c_try_cpp "$LINENO"; then : 8860 # Broken: success on invalid input. 8861 continue 8862 else 8863 # Passes both tests. 8864 ac_preproc_ok=: 8865 break 8866 fi 8867 rm -f conftest.err conftest.i conftest.$ac_ext 8868 8869 done 8870 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 8871 rm -f conftest.i conftest.err conftest.$ac_ext 8872 if $ac_preproc_ok; then : 8873 break 8874 fi 8875 8876 done 8877 ac_cv_prog_CPP=$CPP 8878 8879 fi 8880 CPP=$ac_cv_prog_CPP 8881 else 8882 ac_cv_prog_CPP=$CPP 8883 fi 8884 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 8885 $as_echo "$CPP" >&6; } 8886 ac_preproc_ok=false 8887 for ac_c_preproc_warn_flag in '' yes 8888 do 8889 # Use a header file that comes with gcc, so configuring glibc 8890 # with a fresh cross-compiler works. 8891 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 8892 # <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_ext 8896 /* end confdefs.h. */ 8897 #ifdef __STDC__ 8898 # include <limits.h> 8899 #else 8900 # include <assert.h> 8901 #endif 8902 Syntax error 8903 _ACEOF 8904 if ac_fn_c_try_cpp "$LINENO"; then : 8905 8906 else 8907 # Broken: fails on valid input. 8908 continue 8909 fi 8910 rm -f conftest.err conftest.i conftest.$ac_ext 8911 8912 # OK, works on sane cases. Now check whether nonexistent headers 8913 # can be detected and how. 8914 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 8915 /* end confdefs.h. */ 8916 #include <ac_nonexistent.h> 8917 _ACEOF 8918 if ac_fn_c_try_cpp "$LINENO"; then : 8919 # Broken: success on invalid input. 8920 continue 8921 else 8922 # Passes both tests. 8923 ac_preproc_ok=: 8924 break 8925 fi 8926 rm -f conftest.err conftest.i conftest.$ac_ext 8927 8928 done 8929 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 8930 rm -f conftest.i conftest.err conftest.$ac_ext 8931 if $ac_preproc_ok; then : 8932 8933 else 8934 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 8935 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 8936 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 8937 See \`config.log' for more details" "$LINENO" 5; } 8938 fi 8939 8940 ac_ext=c 8941 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_gnu 8945 8946 5711 8947 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 5712 8948 $as_echo_n "checking for ANSI C header files... " >&6; } … … 5838 9074 5839 9075 9076 for ac_header in dlfcn.h 9077 do : 9078 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default 9079 " 9080 if test "x$ac_cv_header_dlfcn_h" = xyes; then : 9081 cat >>confdefs.h <<_ACEOF 9082 #define HAVE_DLFCN_H 1 9083 _ACEOF 9084 9085 fi 9086 9087 done 9088 9089 9090 9091 9092 func_stripname_cnf () 9093 { 9094 case $2 in 9095 .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; 9096 *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; 9097 esac 9098 } # func_stripname_cnf 9099 9100 9101 9102 9103 9104 # Set options 9105 9106 9107 9108 enable_dlopen=no 9109 9110 9111 enable_win32_dll=no 9112 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 in 9118 yes) enable_shared=yes ;; 9119 no) enable_shared=no ;; 9120 *) 9121 enable_shared=no 9122 # 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; do 9125 IFS=$lt_save_ifs 9126 if test "X$pkg" = "X$p"; then 9127 enable_shared=yes 9128 fi 9129 done 9130 IFS=$lt_save_ifs 9131 ;; 9132 esac 9133 else 9134 enable_shared=yes 9135 fi 9136 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 in 9149 yes) enable_static=yes ;; 9150 no) enable_static=no ;; 9151 *) 9152 enable_static=no 9153 # 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; do 9156 IFS=$lt_save_ifs 9157 if test "X$pkg" = "X$p"; then 9158 enable_static=yes 9159 fi 9160 done 9161 IFS=$lt_save_ifs 9162 ;; 9163 esac 9164 else 9165 enable_static=yes 9166 fi 9167 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 in 9181 yes|no) pic_mode=$withval ;; 9182 *) 9183 pic_mode=default 9184 # 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; do 9187 IFS=$lt_save_ifs 9188 if test "X$lt_pkg" = "X$lt_p"; then 9189 pic_mode=yes 9190 fi 9191 done 9192 IFS=$lt_save_ifs 9193 ;; 9194 esac 9195 else 9196 pic_mode=default 9197 fi 9198 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 in 9210 yes) enable_fast_install=yes ;; 9211 no) enable_fast_install=no ;; 9212 *) 9213 enable_fast_install=no 9214 # 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; do 9217 IFS=$lt_save_ifs 9218 if test "X$pkg" = "X$p"; then 9219 enable_fast_install=yes 9220 fi 9221 done 9222 IFS=$lt_save_ifs 9223 ;; 9224 esac 9225 else 9226 enable_fast_install=yes 9227 fi 9228 9229 9230 9231 9232 9233 9234 9235 9236 shared_archive_member_spec= 9237 case $host,$enable_shared in 9238 power*-*-aix[5-9]*,yes) 9239 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 9240 $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 in 9245 aix|svr4|both) 9246 ;; 9247 *) 9248 as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 9249 ;; 9250 esac 9251 lt_cv_with_aix_soname=$with_aix_soname 9252 else 9253 if ${lt_cv_with_aix_soname+:} false; then : 9254 $as_echo_n "(cached) " >&6 9255 else 9256 lt_cv_with_aix_soname=aix 9257 fi 9258 9259 with_aix_soname=$lt_cv_with_aix_soname 9260 fi 9261 9262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 9263 $as_echo "$with_aix_soname" >&6; } 9264 if test aix != "$with_aix_soname"; then 9265 # For the AIX way of multilib, we name the shared archive member 9266 # 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}"; then 9271 shared_archive_member_spec=shr_64 9272 else 9273 shared_archive_member_spec=shr 9274 fi 9275 fi 9276 ;; 9277 *) 9278 with_aix_soname=aix 9279 ;; 9280 esac 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 # This can be used to rebuild libtool when needed 9292 LIBTOOL_DEPS=$ltmain 9293 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}"; then 9342 setopt NO_GLOB_SUBST 9343 fi 9344 9345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 9346 $as_echo_n "checking for objdir... " >&6; } 9347 if ${lt_cv_objdir+:} false; then : 9348 $as_echo_n "(cached) " >&6 9349 else 9350 rm -f .libs 2>/dev/null 9351 mkdir .libs 2>/dev/null 9352 if test -d .libs; then 9353 lt_cv_objdir=.libs 9354 else 9355 # MS-DOS does not allow filenames that begin with a dot. 9356 lt_cv_objdir=_libs 9357 fi 9358 rmdir .libs 2>/dev/null 9359 fi 9360 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 9361 $as_echo "$lt_cv_objdir" >&6; } 9362 objdir=$lt_cv_objdir 9363 9364 9365 9366 9367 9368 cat >>confdefs.h <<_ACEOF 9369 #define LT_OBJDIR "$lt_cv_objdir/" 9370 _ACEOF 9371 9372 9373 9374 9375 case $host_os in 9376 aix3*) 9377 # AIX sometimes has problems with the GCC collect2 program. For some 9378 # reason, if we set the COLLECT_NAMES environment variable, the problems 9379 # vanish in a puff of smoke. 9380 if test set != "${COLLECT_NAMES+set}"; then 9381 COLLECT_NAMES= 9382 export COLLECT_NAMES 9383 fi 9384 ;; 9385 esac 9386 9387 # Global variables: 9388 ofile=libtool 9389 can_build_shared=yes 9390 9391 # All known linkers require a '.a' archive for static linking (except MSVC, 9392 # which needs '.lib'). 9393 libext=a 9394 9395 with_gnu_ld=$lt_cv_prog_gnu_ld 9396 9397 old_CC=$CC 9398 old_CFLAGS=$CFLAGS 9399 9400 # Set sane defaults for various variables 9401 test -z "$CC" && CC=cc 9402 test -z "$LTCC" && LTCC=$CC 9403 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 9404 test -z "$LD" && LD=ld 9405 test -z "$ac_objext" && ac_objext=o 9406 9407 func_cc_basename $compiler 9408 cc_basename=$func_cc_basename_result 9409 9410 9411 # Only perform the check for file, if the check method requires it 9412 test -z "$MAGIC_CMD" && MAGIC_CMD=file 9413 case $deplibs_check_method in 9414 file_magic*) 9415 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 9416 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 9417 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } 9418 if ${lt_cv_path_MAGIC_CMD+:} false; then : 9419 $as_echo_n "(cached) " >&6 9420 else 9421 case $MAGIC_CMD in 9422 [\\/*] | ?:[\\/]*) 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_CMD 9427 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 9428 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" 9429 for ac_dir in $ac_dummy; do 9430 IFS=$lt_save_ifs 9431 test -z "$ac_dir" && ac_dir=. 9432 if test -f "$ac_dir/${ac_tool_prefix}file"; then 9433 lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" 9434 if test -n "$file_magic_test_file"; then 9435 case $deplibs_check_method in 9436 "file_magic "*) 9437 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 9438 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9439 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 9440 $EGREP "$file_magic_regex" > /dev/null; then 9441 : 9442 else 9443 cat <<_LT_EOF 1>&2 9444 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 libraries 9448 *** as such. This will affect the creation of libtool libraries that 9449 *** depend on shared libraries, but programs linked with such libtool 9450 *** libraries will work regardless of this problem. Nevertheless, you 9451 *** may want to report the problem to your system manager and/or to 9452 *** bug-libtool@gnu.org 9453 9454 _LT_EOF 9455 fi ;; 9456 esac 9457 fi 9458 break 9459 fi 9460 done 9461 IFS=$lt_save_ifs 9462 MAGIC_CMD=$lt_save_MAGIC_CMD 9463 ;; 9464 esac 9465 fi 9466 9467 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9468 if test -n "$MAGIC_CMD"; then 9469 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 9470 $as_echo "$MAGIC_CMD" >&6; } 9471 else 9472 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 9473 $as_echo "no" >&6; } 9474 fi 9475 9476 9477 9478 9479 9480 if test -z "$lt_cv_path_MAGIC_CMD"; then 9481 if test -n "$ac_tool_prefix"; then 9482 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 9483 $as_echo_n "checking for file... " >&6; } 9484 if ${lt_cv_path_MAGIC_CMD+:} false; then : 9485 $as_echo_n "(cached) " >&6 9486 else 9487 case $MAGIC_CMD in 9488 [\\/*] | ?:[\\/]*) 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_CMD 9493 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 9494 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" 9495 for ac_dir in $ac_dummy; do 9496 IFS=$lt_save_ifs 9497 test -z "$ac_dir" && ac_dir=. 9498 if test -f "$ac_dir/file"; then 9499 lt_cv_path_MAGIC_CMD=$ac_dir/"file" 9500 if test -n "$file_magic_test_file"; then 9501 case $deplibs_check_method in 9502 "file_magic "*) 9503 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 9504 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9505 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 9506 $EGREP "$file_magic_regex" > /dev/null; then 9507 : 9508 else 9509 cat <<_LT_EOF 1>&2 9510 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 libraries 9514 *** as such. This will affect the creation of libtool libraries that 9515 *** depend on shared libraries, but programs linked with such libtool 9516 *** libraries will work regardless of this problem. Nevertheless, you 9517 *** may want to report the problem to your system manager and/or to 9518 *** bug-libtool@gnu.org 9519 9520 _LT_EOF 9521 fi ;; 9522 esac 9523 fi 9524 break 9525 fi 9526 done 9527 IFS=$lt_save_ifs 9528 MAGIC_CMD=$lt_save_MAGIC_CMD 9529 ;; 9530 esac 9531 fi 9532 9533 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9534 if test -n "$MAGIC_CMD"; then 9535 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 9536 $as_echo "$MAGIC_CMD" >&6; } 9537 else 9538 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 9539 $as_echo "no" >&6; } 9540 fi 9541 9542 9543 else 9544 MAGIC_CMD=: 9545 fi 9546 fi 9547 9548 fi 9549 ;; 9550 esac 9551 9552 # Use C for the default configuration in the libtool script 9553 9554 lt_save_CC=$CC 9555 ac_ext=c 9556 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_gnu 9560 9561 9562 # Source file extension for C test sources. 9563 ac_ext=c 9564 9565 # Object file extension for compiled C test sources. 9566 objext=o 9567 objext=$objext 9568 9569 # Code to be used in simple compile tests 9570 lt_simple_compile_test_code="int some_variable = 0;" 9571 9572 # Code to be used in simple link tests 9573 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=$CC 9589 9590 # Save the default compiler, since it gets overwritten when the other 9591 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 9592 compiler_DEFAULT=$CC 9593 9594 # save warnings/boilerplate of simple test code 9595 ac_outfile=conftest.$ac_objext 9596 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 9597 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 9598 _lt_compiler_boilerplate=`cat conftest.err` 9599 $RM conftest* 9600 9601 ac_outfile=conftest.$ac_objext 9602 echo "$lt_simple_link_test_code" >conftest.$ac_ext 9603 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 9604 _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 change 9610 ## the running order or otherwise move them around unless you know exactly 9611 ## what you are doing... 9612 if test -n "$compiler"; then 9613 9614 lt_prog_compiler_no_builtin_flag= 9615 9616 if test yes = "$GCC"; then 9617 case $cc_basename in 9618 nvcc*) 9619 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; 9620 *) 9621 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; 9622 esac 9623 9624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 9625 $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) " >&6 9628 else 9629 lt_cv_prog_compiler_rtti_exceptions=no 9630 ac_outfile=conftest.$ac_objext 9631 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 9632 lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment 9633 # Insert the option either (1) after the last *FLAGS variable, or 9634 # (2) before a word containing "conftest.", or (3) at the end. 9635 # Note that $ac_compile itself does not contain backslashes and begins 9636 # 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 >&5 9646 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9647 if (exit $ac_status) && test -s "$ac_outfile"; then 9648 # The compiler can only warn and ignore the option if not recognized 9649 # So say no if there are warnings other than the usual output. 9650 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 9651 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 9652 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 9653 lt_cv_prog_compiler_rtti_exceptions=yes 9654 fi 9655 fi 9656 $RM conftest* 9657 9658 fi 9659 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 9660 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } 9661 9662 if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then 9663 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" 9664 else 9665 : 9666 fi 9667 9668 fi 9669 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"; then 9681 lt_prog_compiler_wl='-Wl,' 9682 lt_prog_compiler_static='-static' 9683 9684 case $host_os in 9685 aix*) 9686 # All AIX code is PIC. 9687 if test ia64 = "$host_cpu"; then 9688 # AIX 5 now supports IA64 processor 9689 lt_prog_compiler_static='-Bstatic' 9690 fi 9691 lt_prog_compiler_pic='-fPIC' 9692 ;; 9693 9694 amigaos*) 9695 case $host_cpu in 9696 powerpc) 9697 # see comment about AmigaOS4 .so support 9698 lt_prog_compiler_pic='-fPIC' 9699 ;; 9700 m68k) 9701 # FIXME: we need at least 68020 code to build shared libraries, but 9702 # 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 esac 9707 ;; 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 being 9715 # built for inclusion in a dll (and should export symbols for example). 9716 # Although the cygwin gcc ignores -fPIC, still need this for old-style 9717 # (--disable-auto-import) libraries 9718 lt_prog_compiler_pic='-DDLL_EXPORT' 9719 case $host_os in 9720 os2*) 9721 lt_prog_compiler_static='$wl-static' 9722 ;; 9723 esac 9724 ;; 9725 9726 darwin* | rhapsody*) 9727 # PIC is the default on this platform 9728 # Common symbols not allowed in MH_DYLIB files 9729 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-bit 9740 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 9741 # sets the default TLS model and affects inlining. 9742 case $host_cpu in 9743 hppa*64*) 9744 # +Z the default 9745 ;; 9746 *) 9747 lt_prog_compiler_pic='-fPIC' 9748 ;; 9749 esac 9750 ;; 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 libraries 9759 # on systems that don't support them. 9760 lt_prog_compiler_can_build_shared=no 9761 enable_shared=no 9762 ;; 9763 9764 *nto* | *qnx*) 9765 # QNX uses GNU C++, but need to define -shared option too, otherwise 9766 # it will coredump. 9767 lt_prog_compiler_pic='-fPIC -shared' 9768 ;; 9769 9770 sysv4*MP*) 9771 if test -d /usr/nec; then 9772 lt_prog_compiler_pic=-Kconform_pic 9773 fi 9774 ;; 9775 9776 *) 9777 lt_prog_compiler_pic='-fPIC' 9778 ;; 9779 esac 9780 9781 case $cc_basename in 9782 nvcc*) # Cuda Compiler Driver 2.2 9783 lt_prog_compiler_wl='-Xlinker ' 9784 if test -n "$lt_prog_compiler_pic"; then 9785 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" 9786 fi 9787 ;; 9788 esac 9789 else 9790 # PORTME Check for flag to pass linker flags through the system compiler. 9791 case $host_os in 9792 aix*) 9793 lt_prog_compiler_wl='-Wl,' 9794 if test ia64 = "$host_cpu"; then 9795 # AIX 5 now supports IA64 processor 9796 lt_prog_compiler_static='-Bstatic' 9797 else 9798 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' 9799 fi 9800 ;; 9801 9802 darwin* | rhapsody*) 9803 # PIC is the default on this platform 9804 # Common symbols not allowed in MH_DYLIB files 9805 lt_prog_compiler_pic='-fno-common' 9806 case $cc_basename in 9807 nagfor*) 9808 # NAG Fortran compiler 9809 lt_prog_compiler_wl='-Wl,-Wl,,' 9810 lt_prog_compiler_pic='-PIC' 9811 lt_prog_compiler_static='-Bstatic' 9812 ;; 9813 esac 9814 ;; 9815 9816 mingw* | cygwin* | pw32* | os2* | cegcc*) 9817 # This hack is so that the source file can tell whether it is being 9818 # built for inclusion in a dll (and should export symbols for example). 9819 lt_prog_compiler_pic='-DDLL_EXPORT' 9820 case $host_os in 9821 os2*) 9822 lt_prog_compiler_static='$wl-static' 9823 ;; 9824 esac 9825 ;; 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, but 9830 # not for PA HP-UX. 9831 case $host_cpu in 9832 hppa*64*|ia64*) 9833 # +Z the default 9834 ;; 9835 *) 9836 lt_prog_compiler_pic='+Z' 9837 ;; 9838 esac 9839 # 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 in 9851 # 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 compiler 9872 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 Compiler 9878 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 BlueGene 9896 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` in 9902 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) 9903 # Sun Fortran 8.3 passes all unrecognized flags to the linker 9904 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.9 9915 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 esac 9930 ;; 9931 esac 9932 ;; 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, otherwise 9941 # 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 in 9959 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 9960 lt_prog_compiler_wl='-Qoption ld ';; 9961 *) 9962 lt_prog_compiler_wl='-Wl,';; 9963 esac 9964 ;; 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; then 9980 lt_prog_compiler_pic='-Kconform_pic' 9981 lt_prog_compiler_static='-Bstatic' 9982 fi 9983 ;; 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=no 9994 ;; 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=no 10003 ;; 10004 esac 10005 fi 10006 10007 case $host_os in 10008 # 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 esac 10016 10017 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 10018 $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) " >&6 10021 else 10022 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic 10023 fi 10024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 10025 $as_echo "$lt_cv_prog_compiler_pic" >&6; } 10026 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic 10027 10028 # 10029 # Check to make sure the PIC flag actually works. 10030 # 10031 if test -n "$lt_prog_compiler_pic"; then 10032 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 10033 $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) " >&6 10036 else 10037 lt_cv_prog_compiler_pic_works=no 10038 ac_outfile=conftest.$ac_objext 10039 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 10040 lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment 10041 # Insert the option either (1) after the last *FLAGS variable, or 10042 # (2) before a word containing "conftest.", or (3) at the end. 10043 # Note that $ac_compile itself does not contain backslashes and begins 10044 # 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 >&5 10054 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10055 if (exit $ac_status) && test -s "$ac_outfile"; then 10056 # The compiler can only warn and ignore the option if not recognized 10057 # So say no if there are warnings other than the usual output. 10058 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 10059 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 10060 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 10061 lt_cv_prog_compiler_pic_works=yes 10062 fi 10063 fi 10064 $RM conftest* 10065 10066 fi 10067 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 10068 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } 10069 10070 if test yes = "$lt_cv_prog_compiler_pic_works"; then 10071 case $lt_prog_compiler_pic in 10072 "" | " "*) ;; 10073 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; 10074 esac 10075 else 10076 lt_prog_compiler_pic= 10077 lt_prog_compiler_can_build_shared=no 10078 fi 10079 10080 fi 10081 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" >&5 10097 $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) " >&6 10100 else 10101 lt_cv_prog_compiler_static_works=no 10102 save_LDFLAGS=$LDFLAGS 10103 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" 10104 echo "$lt_simple_link_test_code" > conftest.$ac_ext 10105 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 10106 # The linker can only warn and ignore the option if not recognized 10107 # So say no if there are warnings 10108 if test -s conftest.err; then 10109 # Append any errors to the config.log. 10110 cat conftest.err 1>&5 10111 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 10112 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 10113 if diff conftest.exp conftest.er2 >/dev/null; then 10114 lt_cv_prog_compiler_static_works=yes 10115 fi 10116 else 10117 lt_cv_prog_compiler_static_works=yes 10118 fi 10119 fi 10120 $RM -r conftest* 10121 LDFLAGS=$save_LDFLAGS 10122 10123 fi 10124 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 10125 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } 10126 10127 if test yes = "$lt_cv_prog_compiler_static_works"; then 10128 : 10129 else 10130 lt_prog_compiler_static= 10131 fi 10132 10133 10134 10135 10136 10137 10138 10139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 10140 $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) " >&6 10143 else 10144 lt_cv_prog_compiler_c_o=no 10145 $RM -r conftest 2>/dev/null 10146 mkdir conftest 10147 cd conftest 10148 mkdir out 10149 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 10150 10151 lt_compiler_flag="-o out/conftest2.$ac_objext" 10152 # Insert the option either (1) after the last *FLAGS variable, or 10153 # (2) before a word containing "conftest.", or (3) at the end. 10154 # Note that $ac_compile itself does not contain backslashes and begins 10155 # 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 >&5 10164 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10165 if (exit $ac_status) && test -s out/conftest2.$ac_objext 10166 then 10167 # The compiler can only warn and ignore the option if not recognized 10168 # So say no if there are warnings 10169 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 10170 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 10171 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 10172 lt_cv_prog_compiler_c_o=yes 10173 fi 10174 fi 10175 chmod u+w . 2>&5 10176 $RM conftest* 10177 # SGI C++ compiler will create directory out/ii_files/ for 10178 # template instantiation 10179 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 10180 $RM out/* && rmdir out 10181 cd .. 10182 $RM -r conftest 10183 $RM conftest* 10184 10185 fi 10186 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 10187 $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" >&5 10195 $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) " >&6 10198 else 10199 lt_cv_prog_compiler_c_o=no 10200 $RM -r conftest 2>/dev/null 10201 mkdir conftest 10202 cd conftest 10203 mkdir out 10204 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 10205 10206 lt_compiler_flag="-o out/conftest2.$ac_objext" 10207 # Insert the option either (1) after the last *FLAGS variable, or 10208 # (2) before a word containing "conftest.", or (3) at the end. 10209 # Note that $ac_compile itself does not contain backslashes and begins 10210 # 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 >&5 10219 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10220 if (exit $ac_status) && test -s out/conftest2.$ac_objext 10221 then 10222 # The compiler can only warn and ignore the option if not recognized 10223 # So say no if there are warnings 10224 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 10225 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 10226 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 10227 lt_cv_prog_compiler_c_o=yes 10228 fi 10229 fi 10230 chmod u+w . 2>&5 10231 $RM conftest* 10232 # SGI C++ compiler will create directory out/ii_files/ for 10233 # template instantiation 10234 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 10235 $RM out/* && rmdir out 10236 cd .. 10237 $RM -r conftest 10238 $RM conftest* 10239 10240 fi 10241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 10242 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } 10243 10244 10245 10246 10247 hard_links=nottested 10248 if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then 10249 # do not overwrite the value of need_locks provided by the user 10250 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 10251 $as_echo_n "checking if we can lock with hard links... " >&6; } 10252 hard_links=yes 10253 $RM conftest* 10254 ln conftest.a conftest.b 2>/dev/null && hard_links=no 10255 touch conftest.a 10256 ln conftest.a conftest.b 2>&5 || hard_links=no 10257 ln conftest.a conftest.b 2>/dev/null && hard_links=no 10258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 10259 $as_echo "$hard_links" >&6; } 10260 if test no = "$hard_links"; then 10261 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 10262 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} 10263 need_locks=warn 10264 fi 10265 else 10266 need_locks=no 10267 fi 10268 10269 10270 10271 10272 10273 10274 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 10275 $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=no 10280 archive_cmds= 10281 archive_expsym_cmds= 10282 compiler_needs_object=no 10283 enable_shared_with_static_runtimes=no 10284 export_dynamic_flag_spec= 10285 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 10286 hardcode_automatic=no 10287 hardcode_direct=no 10288 hardcode_direct_absolute=no 10289 hardcode_libdir_flag_spec= 10290 hardcode_libdir_separator= 10291 hardcode_minus_L=no 10292 hardcode_shlibpath_var=unsupported 10293 inherit_rpath=no 10294 link_all_deplibs=unknown 10295 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 list 10303 include_expsyms= 10304 # exclude_expsyms can be an extended regexp of symbols to exclude 10305 # it will be wrapped by ' (' and ')$', so one must not match beginning or 10306 # 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.out 10310 # platforms (ab)use it in PIC code, but their linkers get confused if 10311 # the symbol is explicitly referenced. Since portable code cannot 10312 # rely on this symbol name, it's probably fine to never include it in 10313 # preloaded symbol tables. 10314 # Exclude shared library initialization/finalization symbols. 10315 extract_expsyms_cmds= 10316 10317 case $host_os in 10318 cygwin* | mingw* | pw32* | cegcc*) 10319 # FIXME: the MSVC++ port hasn't been tested in a loooong time 10320 # When not using gcc, we currently assume that we are using 10321 # Microsoft Visual C++. 10322 if test yes != "$GCC"; then 10323 with_gnu_ld=no 10324 fi 10325 ;; 10326 interix*) 10327 # we just hope/assume this is gcc and not c89 (= MSVC++) 10328 with_gnu_ld=yes 10329 ;; 10330 openbsd* | bitrig*) 10331 with_gnu_ld=no 10332 ;; 10333 linux* | k*bsd*-gnu | gnu*) 10334 link_all_deplibs=no 10335 ;; 10336 esac 10337 10338 ld_shlibs=yes 10339 10340 # On some targets, GNU ld is compatible enough with the native linker 10341 # that we're better off using the native interface for both. 10342 lt_use_gnu_ld_interface=no 10343 if test yes = "$with_gnu_ld"; then 10344 case $host_os in 10345 aix*) 10346 # The AIX port of GNU ld has always aspired to compatibility 10347 # with the native linker. However, as the warning in the GNU ld 10348 # block says, versions before 2.19.5* couldn't really create working 10349 # shared libraries, regardless of the interface used. 10350 case `$LD -v 2>&1` in 10351 *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 10352 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; 10353 *\ \(GNU\ Binutils\)\ [3-9]*) ;; 10354 *) 10355 lt_use_gnu_ld_interface=yes 10356 ;; 10357 esac 10358 ;; 10359 *) 10360 lt_use_gnu_ld_interface=yes 10361 ;; 10362 esac 10363 fi 10364 10365 if test yes = "$lt_use_gnu_ld_interface"; then 10366 # If archive_cmds runs LD, not CC, wlarc should be empty 10367 wlarc='$wl' 10368 10369 # Set some defaults for GNU ld with shared library support. These 10370 # are reset later if shared libraries are not supported. Putting them 10371 # here allows them to be overridden if necessary. 10372 runpath_var=LD_RUN_PATH 10373 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; then 10377 whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 10378 else 10379 whole_archive_flag_spec= 10380 fi 10381 supports_anon_versioning=no 10382 case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in 10383 *GNU\ gold*) supports_anon_versioning=yes ;; 10384 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 10385 *\ 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 versions 10388 *) supports_anon_versioning=yes ;; 10389 esac 10390 10391 # See if GNU ld supports shared libraries. 10392 case $host_os in 10393 aix[3-9]*) 10394 # On AIX/PPC, the GNU linker is very broken 10395 if test ia64 != "$host_cpu"; then 10396 ld_shlibs=no 10397 cat <<_LT_EOF 1>&2 10398 10399 *** Warning: the GNU linker, at least up to release 2.19, is reported 10400 *** to be unable to reliably create shared libraries on AIX. 10401 *** Therefore, libtool is disabling shared libraries support. If you 10402 *** really care for shared libraries, you may want to install binutils 10403 *** 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_EOF 10407 fi 10408 ;; 10409 10410 amigaos*) 10411 case $host_cpu in 10412 powerpc) 10413 # see comment about AmigaOS4 .so support 10414 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=yes 10421 ;; 10422 esac 10423 ;; 10424 10425 beos*) 10426 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 10427 allow_undefined_flag=unsupported 10428 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 10429 # support --undefined. This deserves some investigation. FIXME 10430 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 10431 else 10432 ld_shlibs=no 10433 fi 10434 ;; 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=unsupported 10442 always_export_symbols=no 10443 enable_shared_with_static_runtimes=yes 10444 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; then 10448 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 as 10450 # 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`" ; then 10452 cp $export_symbols $output_objdir/$soname.def; 10453 else 10454 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 else 10459 ld_shlibs=no 10460 fi 10461 ;; 10462 10463 haiku*) 10464 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 10465 link_all_deplibs=yes 10466 ;; 10467 10468 os2*) 10469 hardcode_libdir_flag_spec='-L$libdir' 10470 hardcode_minus_L=yes 10471 allow_undefined_flag=unsupported 10472 shrext_cmds=.dll 10473 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`"; then 10486 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=yes 10494 ;; 10495 10496 interix[3-9]*) 10497 hardcode_direct=no 10498 hardcode_shlibpath_var=no 10499 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 by 10503 # default) and relocated if they conflict, which is a slow very memory 10504 # consuming and fragmenting process. To avoid this, we pick a random, 10505 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 10506 # 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=no 10513 if test linux-dietlibc = "$host_os"; then 10514 case $cc_basename in 10515 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 10516 esac 10517 fi 10518 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 10519 && test no = "$tmp_diet" 10520 then 10521 tmp_addflag=' $pic_flag' 10522 tmp_sharedflag='-shared' 10523 case $cc_basename,$host_cpu in 10524 pgcc*) # Portland Group C compiler 10525 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 compilers 10530 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 ia64 10533 tmp_addflag=' -i_dynamic' ;; 10534 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 10535 tmp_addflag=' -i_dynamic -nofor_main' ;; 10536 ifc* | ifort*) # Intel Fortran compiler 10537 tmp_addflag=' -nofor_main' ;; 10538 lf95*) # Lahey Fortran 8.1 10539 whole_archive_flag_spec= 10540 tmp_sharedflag='--shared' ;; 10541 nagfor*) # NAGFOR 5.3 10542 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.2 10547 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=yes 10549 ;; 10550 esac 10551 case `$CC -V 2>&1 | sed 5q` in 10552 *Sun\ C*) # Sun C 5.9 10553 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=yes 10555 tmp_sharedflag='-G' ;; 10556 *Sun\ F*) # Sun Fortran 8.3 10557 tmp_sharedflag='-G' ;; 10558 esac 10559 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"; then 10562 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 fi 10567 10568 case $cc_basename in 10569 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 itself 10574 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"; then 10578 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 fi 10583 ;; 10584 esac 10585 else 10586 ld_shlibs=no 10587 fi 10588 ;; 10589 10590 netbsd* | netbsdelf*-gnu) 10591 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 10592 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 10593 wlarc= 10594 else 10595 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 fi 10598 ;; 10599 10600 solaris*) 10601 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 10602 ld_shlibs=no 10603 cat <<_LT_EOF 1>&2 10604 10605 *** Warning: The releases 2.8.* of the GNU linker cannot reliably 10606 *** create shared libraries on Solaris systems. Therefore, libtool 10607 *** is disabling shared libraries support. We urge you to upgrade GNU 10608 *** binutils to release 2.9.1 or newer. Another option is to modify 10609 *** your PATH or compiler configuration so that the native linker is 10610 *** used, and then restart. 10611 10612 _LT_EOF 10613 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 10614 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 else 10617 ld_shlibs=no 10618 fi 10619 ;; 10620 10621 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 10622 case `$LD -v 2>&1` in 10623 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) 10624 ld_shlibs=no 10625 cat <<_LT_EOF 1>&2 10626 10627 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 10628 *** reliably create shared libraries on SCO systems. Therefore, libtool 10629 *** is disabling shared libraries support. We urge you to upgrade GNU 10630 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify 10631 *** your PATH or compiler configuration so that the native linker is 10632 *** used, and then restart. 10633 10634 _LT_EOF 10635 ;; 10636 *) 10637 # For security reasons, it is highly recommended that you always 10638 # use absolute paths for naming shared libraries, and exclude the 10639 # DT_RUNPATH tag from executables and libraries. But doing so 10640 # requires that you compile everything twice, which is a pain. 10641 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 10642 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 else 10646 ld_shlibs=no 10647 fi 10648 ;; 10649 esac 10650 ;; 10651 10652 sunos4*) 10653 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 10654 wlarc= 10655 hardcode_direct=yes 10656 hardcode_shlibpath_var=no 10657 ;; 10658 10659 *) 10660 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 10661 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 else 10664 ld_shlibs=no 10665 fi 10666 ;; 10667 esac 10668 10669 if test no = "$ld_shlibs"; then 10670 runpath_var= 10671 hardcode_libdir_flag_spec= 10672 export_dynamic_flag_spec= 10673 whole_archive_flag_spec= 10674 fi 10675 else 10676 # PORTME fill in a description of your system's linker (not GNU ld) 10677 case $host_os in 10678 aix3*) 10679 allow_undefined_flag=unsupported 10680 always_export_symbols=yes 10681 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 there 10683 # are no directories specified by -L. 10684 hardcode_minus_L=yes 10685 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 10686 # Neither direct hardcoding nor static linking is supported with a 10687 # broken collect2. 10688 hardcode_direct=unsupported 10689 fi 10690 ;; 10691 10692 aix[4-9]*) 10693 if test ia64 = "$host_cpu"; then 10694 # On IA64, the linker does run time linking by default, so we don't 10695 # have to do anything special. 10696 aix_use_runtimelinking=no 10697 exp_sym_flag='-Bexport' 10698 no_entry_flag= 10699 else 10700 # 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 treats 10703 # weak defined symbols like other global defined symbols, whereas 10704 # GNU nm marks them as "W". 10705 # While the 'weak' keyword is ignored in the Export File, we need 10706 # it in the Import File for the 'aix-soname' feature, so we have 10707 # to replace the "-B" option with "-P" for AIX nm. 10708 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 10709 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 else 10711 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 fi 10713 aix_use_runtimelinking=no 10714 10715 # Test if we are trying to use run time linking or normal 10716 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 10717 # have runtime linking enabled, and use it for executables. 10718 # For shared libraries, we enable/disable runtime linking 10719 # 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 executables 10722 # "aix,yes" lib.so shared, rtl:yes, for executables 10723 # lib.a static archive 10724 # "both,no" lib.so.V(shr.o) shared, rtl:yes 10725 # lib.a(lib.so.V) shared, rtl:no, for executables 10726 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 10727 # lib.a(lib.so.V) shared, rtl:no 10728 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 10729 # lib.a static archive 10730 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) 10731 for ld_flag in $LDFLAGS; do 10732 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 10733 aix_use_runtimelinking=yes 10734 break 10735 fi 10736 done 10737 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 10738 # 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=yes 10742 LDFLAGS="$LDFLAGS -Wl,-brtl" 10743 fi 10744 ;; 10745 esac 10746 10747 exp_sym_flag='-bexport' 10748 no_entry_flag='-bnoentry' 10749 fi 10750 10751 # When large executables or shared objects are built, AIX ld can 10752 # have problems creating the table of contents. If linking a library 10753 # or program results in "error TOC overflow" add -mminimal-toc to 10754 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 10755 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 10756 10757 archive_cmds='' 10758 hardcode_direct=yes 10759 hardcode_direct_absolute=yes 10760 hardcode_libdir_separator=':' 10761 link_all_deplibs=yes 10762 file_list_spec='$wl-f,' 10763 case $with_aix_soname,$aix_use_runtimelinking in 10764 aix,*) ;; # traditional, no import file 10765 svr4,* | *,yes) # use import file 10766 # The Import File defines what to hardcode. 10767 hardcode_direct=no 10768 hardcode_direct_absolute=no 10769 ;; 10770 esac 10771 10772 if test yes = "$GCC"; then 10773 case $host_os in aix4.[012]|aix4.[012].*) 10774 # We only want to do this on AIX 4.2 and lower, the check 10775 # 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/null 10779 then 10780 # We have reworked collect2 10781 : 10782 else 10783 # We have old collect2 10784 hardcode_direct=unsupported 10785 # It fails to find uninstalled libraries when the uninstalled 10786 # path is not listed in the libpath. Setting hardcode_minus_L 10787 # to unsupported forces relinking 10788 hardcode_minus_L=yes 10789 hardcode_libdir_flag_spec='-L$libdir' 10790 hardcode_libdir_separator= 10791 fi 10792 ;; 10793 esac 10794 shared_flag='-shared' 10795 if test yes = "$aix_use_runtimelinking"; then 10796 shared_flag="$shared_flag "'$wl-G' 10797 fi 10798 # Need to ensure runtime linking is disabled for the traditional 10799 # shared library, or the linker may eventually find shared libraries 10800 # /with/ Import File - we do not want to mix them. 10801 shared_flag_aix='-shared' 10802 shared_flag_svr4='-shared $wl-G' 10803 else 10804 # not using gcc 10805 if test ia64 = "$host_cpu"; then 10806 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 10807 # chokes on -Wl,-G. The following line is correct: 10808 shared_flag='-G' 10809 else 10810 if test yes = "$aix_use_runtimelinking"; then 10811 shared_flag='$wl-G' 10812 else 10813 shared_flag='$wl-bM:SRE' 10814 fi 10815 shared_flag_aix='$wl-bM:SRE' 10816 shared_flag_svr4='$wl-G' 10817 fi 10818 fi 10819 10820 export_dynamic_flag_spec='$wl-bexpall' 10821 # It seems that -bexpall does not export symbols beginning with 10822 # underscore (_), so it is better to generate a list of symbols to export. 10823 always_export_symbols=yes 10824 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 10825 # 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 an 10829 # empty executable. 10830 if test set = "${lt_cv_aix_libpath+set}"; then 10831 aix_libpath=$lt_cv_aix_libpath 10832 else 10833 if ${lt_cv_aix_libpath_+:} false; then : 10834 $as_echo_n "(cached) " >&6 10835 else 10836 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 10837 /* end confdefs.h. */ 10838 10839 int 10840 main () 10841 { 10842 10843 ; 10844 return 0; 10845 } 10846 _ACEOF 10847 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 p 10854 } 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_"; then 10859 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 10860 fi 10861 fi 10862 rm -f core conftest.err conftest.$ac_objext \ 10863 conftest$ac_exeext conftest.$ac_ext 10864 if test -z "$lt_cv_aix_libpath_"; then 10865 lt_cv_aix_libpath_=/usr/lib:/lib 10866 fi 10867 10868 fi 10869 10870 aix_libpath=$lt_cv_aix_libpath_ 10871 fi 10872 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_flag 10875 else 10876 if test ia64 = "$host_cpu"; then 10877 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 else 10881 # Determine the default libpath from the value encoded in an 10882 # empty executable. 10883 if test set = "${lt_cv_aix_libpath+set}"; then 10884 aix_libpath=$lt_cv_aix_libpath 10885 else 10886 if ${lt_cv_aix_libpath_+:} false; then : 10887 $as_echo_n "(cached) " >&6 10888 else 10889 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 10890 /* end confdefs.h. */ 10891 10892 int 10893 main () 10894 { 10895 10896 ; 10897 return 0; 10898 } 10899 _ACEOF 10900 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 p 10907 } 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_"; then 10912 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 10913 fi 10914 fi 10915 rm -f core conftest.err conftest.$ac_objext \ 10916 conftest$ac_exeext conftest.$ac_ext 10917 if test -z "$lt_cv_aix_libpath_"; then 10918 lt_cv_aix_libpath_=/usr/lib:/lib 10919 fi 10920 10921 fi 10922 10923 aix_libpath=$lt_cv_aix_libpath_ 10924 fi 10925 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"; then 10932 # 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 else 10935 # Exported symbols can be pulled into shared objects from archives 10936 whole_archive_flag_spec='$convenience' 10937 fi 10938 archive_cmds_need_lc=yes 10939 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 later 10941 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' 10942 if test svr4 != "$with_aix_soname"; then 10943 # 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 fi 10946 if test aix != "$with_aix_soname"; then 10947 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 else 10949 # used by -dlpreopen to get the symbols 10950 archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 10951 fi 10952 archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' 10953 fi 10954 fi 10955 ;; 10956 10957 amigaos*) 10958 case $host_cpu in 10959 powerpc) 10960 # see comment about AmigaOS4 .so support 10961 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=yes 10968 ;; 10969 esac 10970 ;; 10971 10972 bsdi[45]*) 10973 export_dynamic_flag_spec=-rdynamic 10974 ;; 10975 10976 cygwin* | mingw* | pw32* | cegcc*) 10977 # When not using gcc, we currently assume that we are using 10978 # Microsoft Visual C++. 10979 # hardcode_libdir_flag_spec is actually meaningless, as there is 10980 # no search path for DLLs. 10981 case $cc_basename in 10982 cl*) 10983 # Native MSVC 10984 hardcode_libdir_flag_spec=' ' 10985 allow_undefined_flag=unsupported 10986 always_export_symbols=yes 10987 file_list_spec='@' 10988 # Tell ltmain to make .lib files, not .a files. 10989 libext=lib 10990 # Tell ltmain to make .dll files, not .so files. 10991 shrext_cmds=.dll 10992 # 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`" ; then 10995 cp "$export_symbols" "$output_objdir/$soname.def"; 10996 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 10997 else 10998 $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=yes 11005 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 ranlib 11008 old_postinstall_cmds='chmod 644 $oldlib' 11009 postlink_cmds='lt_outputfile="@OUTPUT@"~ 11010 lt_tool_outputfile="@TOOL_OUTPUT@"~ 11011 case $lt_outputfile in 11012 *.exe|*.EXE) ;; 11013 *) 11014 lt_outputfile=$lt_outputfile.exe 11015 lt_tool_outputfile=$lt_tool_outputfile.exe 11016 ;; 11017 esac~ 11018 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 11019 $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 wrapper 11025 hardcode_libdir_flag_spec=' ' 11026 allow_undefined_flag=unsupported 11027 # Tell ltmain to make .lib files, not .a files. 11028 libext=lib 11029 # Tell ltmain to make .dll files, not .so files. 11030 shrext_cmds=.dll 11031 # 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=yes 11038 ;; 11039 esac 11040 ;; 11041 11042 darwin* | rhapsody*) 11043 11044 11045 archive_cmds_need_lc=no 11046 hardcode_direct=no 11047 hardcode_automatic=yes 11048 hardcode_shlibpath_var=unsupported 11049 if test yes = "$lt_cv_ld_force_load"; then 11050 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 else 11053 whole_archive_flag_spec='' 11054 fi 11055 link_all_deplibs=yes 11056 allow_undefined_flag=$_lt_dar_allow_undefined 11057 case $cc_basename in 11058 ifort*|nagfor*) _lt_dar_can_shared=yes ;; 11059 *) _lt_dar_can_shared=$GCC ;; 11060 esac 11061 if test yes = "$_lt_dar_can_shared"; then 11062 output_verbose_link_cmd=func_echo_all 11063 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 else 11069 ld_shlibs=no 11070 fi 11071 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=no 11078 ;; 11079 11080 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 11081 # support. Future versions do this automatically, but an explicit c++rt0.o 11082 # does not break anything, and helps significantly (at the cost of a little 11083 # 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=yes 11088 hardcode_shlibpath_var=no 11089 ;; 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=yes 11095 hardcode_minus_L=yes 11096 hardcode_shlibpath_var=no 11097 ;; 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=yes 11104 hardcode_shlibpath_var=no 11105 ;; 11106 11107 hpux9*) 11108 if test yes = "$GCC"; then 11109 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 else 11111 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 fi 11113 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 11114 hardcode_libdir_separator=: 11115 hardcode_direct=yes 11116 11117 # hardcode_minus_L: Not really in the search PATH, 11118 # but as the default location of the library. 11119 hardcode_minus_L=yes 11120 export_dynamic_flag_spec='$wl-E' 11121 ;; 11122 11123 hpux10*) 11124 if test yes,no = "$GCC,$with_gnu_ld"; then 11125 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 11126 else 11127 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 11128 fi 11129 if test no = "$with_gnu_ld"; then 11130 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 11131 hardcode_libdir_separator=: 11132 hardcode_direct=yes 11133 hardcode_direct_absolute=yes 11134 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=yes 11138 fi 11139 ;; 11140 11141 hpux11*) 11142 if test yes,no = "$GCC,$with_gnu_ld"; then 11143 case $host_cpu in 11144 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 esac 11154 else 11155 case $host_cpu in 11156 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 yet 11165 # (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" >&5 11167 $as_echo_n "checking if $CC understands -b... " >&6; } 11168 if ${lt_cv_prog_compiler__b+:} false; then : 11169 $as_echo_n "(cached) " >&6 11170 else 11171 lt_cv_prog_compiler__b=no 11172 save_LDFLAGS=$LDFLAGS 11173 LDFLAGS="$LDFLAGS -b" 11174 echo "$lt_simple_link_test_code" > conftest.$ac_ext 11175 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 11176 # The linker can only warn and ignore the option if not recognized 11177 # So say no if there are warnings 11178 if test -s conftest.err; then 11179 # Append any errors to the config.log. 11180 cat conftest.err 1>&5 11181 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 11182 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 11183 if diff conftest.exp conftest.er2 >/dev/null; then 11184 lt_cv_prog_compiler__b=yes 11185 fi 11186 else 11187 lt_cv_prog_compiler__b=yes 11188 fi 11189 fi 11190 $RM -r conftest* 11191 LDFLAGS=$save_LDFLAGS 11192 11193 fi 11194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 11195 $as_echo "$lt_cv_prog_compiler__b" >&6; } 11196 11197 if test yes = "$lt_cv_prog_compiler__b"; then 11198 archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 11199 else 11200 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 11201 fi 11202 11203 ;; 11204 esac 11205 fi 11206 if test no = "$with_gnu_ld"; then 11207 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 11208 hardcode_libdir_separator=: 11209 11210 case $host_cpu in 11211 hppa*64*|ia64*) 11212 hardcode_direct=no 11213 hardcode_shlibpath_var=no 11214 ;; 11215 *) 11216 hardcode_direct=yes 11217 hardcode_direct_absolute=yes 11218 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=yes 11223 ;; 11224 esac 11225 fi 11226 ;; 11227 11228 irix5* | irix6* | nonstopux*) 11229 if test yes = "$GCC"; then 11230 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 not 11232 # work, assume that -exports_file does not work either and 11233 # 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" >&5 11236 $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) " >&6 11239 else 11240 save_LDFLAGS=$LDFLAGS 11241 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 11242 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11243 /* end confdefs.h. */ 11244 int foo (void) { return 0; } 11245 _ACEOF 11246 if ac_fn_c_try_link "$LINENO"; then : 11247 lt_cv_irix_exported_symbol=yes 11248 else 11249 lt_cv_irix_exported_symbol=no 11250 fi 11251 rm -f core conftest.err conftest.$ac_objext \ 11252 conftest$ac_exeext conftest.$ac_ext 11253 LDFLAGS=$save_LDFLAGS 11254 fi 11255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 11256 $as_echo "$lt_cv_irix_exported_symbol" >&6; } 11257 if test yes = "$lt_cv_irix_exported_symbol"; then 11258 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 fi 11260 link_all_deplibs=no 11261 else 11262 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 fi 11265 archive_cmds_need_lc='no' 11266 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' 11267 hardcode_libdir_separator=: 11268 inherit_rpath=yes 11269 link_all_deplibs=yes 11270 ;; 11271 11272 linux*) 11273 case $cc_basename in 11274 tcc*) 11275 # Fabrice Bellard et al's Tiny C Compiler 11276 ld_shlibs=yes 11277 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 11278 ;; 11279 esac 11280 ;; 11281 11282 netbsd* | netbsdelf*-gnu) 11283 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 11284 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 11285 else 11286 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 11287 fi 11288 hardcode_libdir_flag_spec='-R$libdir' 11289 hardcode_direct=yes 11290 hardcode_shlibpath_var=no 11291 ;; 11292 11293 newsos6) 11294 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 11295 hardcode_direct=yes 11296 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' 11297 hardcode_libdir_separator=: 11298 hardcode_shlibpath_var=no 11299 ;; 11300 11301 *nto* | *qnx*) 11302 ;; 11303 11304 openbsd* | bitrig*) 11305 if test -f /usr/libexec/ld.so; then 11306 hardcode_direct=yes 11307 hardcode_shlibpath_var=no 11308 hardcode_direct_absolute=yes 11309 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 11310 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 else 11315 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 11316 hardcode_libdir_flag_spec='$wl-rpath,$libdir' 11317 fi 11318 else 11319 ld_shlibs=no 11320 fi 11321 ;; 11322 11323 os2*) 11324 hardcode_libdir_flag_spec='-L$libdir' 11325 hardcode_minus_L=yes 11326 allow_undefined_flag=unsupported 11327 shrext_cmds=.dll 11328 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`"; then 11341 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=yes 11349 ;; 11350 11351 osf3*) 11352 if test yes = "$GCC"; then 11353 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 else 11356 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 fi 11359 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 flag 11365 if test yes = "$GCC"; then 11366 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 else 11370 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 directly 11376 hardcode_libdir_flag_spec='-rpath $libdir' 11377 fi 11378 archive_cmds_need_lc='no' 11379 hardcode_libdir_separator=: 11380 ;; 11381 11382 solaris*) 11383 no_undefined_flag=' -z defs' 11384 if test yes = "$GCC"; then 11385 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 else 11390 case `$CC -V 2>&1` in 11391 *"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 esac 11404 fi 11405 hardcode_libdir_flag_spec='-R$libdir' 11406 hardcode_shlibpath_var=no 11407 case $host_os in 11408 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"; then 11415 whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 11416 else 11417 whole_archive_flag_spec='-z allextract$convenience -z defaultextract' 11418 fi 11419 ;; 11420 esac 11421 link_all_deplibs=yes 11422 ;; 11423 11424 sunos4*) 11425 if test sequent = "$host_vendor"; then 11426 # Use $CC to link under sequent, because it throws in some extra .o 11427 # files that make .init and .fini sections work. 11428 archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 11429 else 11430 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 11431 fi 11432 hardcode_libdir_flag_spec='-L$libdir' 11433 hardcode_direct=yes 11434 hardcode_minus_L=yes 11435 hardcode_shlibpath_var=no 11436 ;; 11437 11438 sysv4) 11439 case $host_vendor in 11440 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 PLAMLIB 11446 ## 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=no 11450 ;; 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 lie 11454 ;; 11455 esac 11456 runpath_var='LD_RUN_PATH' 11457 hardcode_shlibpath_var=no 11458 ;; 11459 11460 sysv4.3*) 11461 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 11462 hardcode_shlibpath_var=no 11463 export_dynamic_flag_spec='-Bexport' 11464 ;; 11465 11466 sysv4*MP*) 11467 if test -d /usr/nec; then 11468 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 11469 hardcode_shlibpath_var=no 11470 runpath_var=LD_RUN_PATH 11471 hardcode_runpath_var=yes 11472 ld_shlibs=yes 11473 fi 11474 ;; 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=no 11479 hardcode_shlibpath_var=no 11480 runpath_var='LD_RUN_PATH' 11481 11482 if test yes = "$GCC"; then 11483 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 else 11486 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 fi 11489 ;; 11490 11491 sysv5* | sco3.2v5* | sco5v6*) 11492 # Note: We CANNOT use -z defs as we might desire, because we do not 11493 # link with -lc, and that would cause any symbols used from libc to 11494 # always be unresolved, which means just about no library would 11495 # ever link correctly. If we're not using GNU ld we use -z text 11496 # though, which does catch some bad symbols but isn't as heavy-handed 11497 # as -z defs. 11498 no_undefined_flag='$wl-z,text' 11499 allow_undefined_flag='$wl-z,nodefs' 11500 archive_cmds_need_lc=no 11501 hardcode_shlibpath_var=no 11502 hardcode_libdir_flag_spec='$wl-R,$libdir' 11503 hardcode_libdir_separator=':' 11504 link_all_deplibs=yes 11505 export_dynamic_flag_spec='$wl-Bexport' 11506 runpath_var='LD_RUN_PATH' 11507 11508 if test yes = "$GCC"; then 11509 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 else 11512 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 fi 11515 ;; 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=no 11521 ;; 11522 11523 *) 11524 ld_shlibs=no 11525 ;; 11526 esac 11527 11528 if test sni = "$host_vendor"; then 11529 case $host in 11530 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 11531 export_dynamic_flag_spec='$wl-Blargedynsym' 11532 ;; 11533 esac 11534 fi 11535 fi 11536 11537 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 11538 $as_echo "$ld_shlibs" >&6; } 11539 test no = "$ld_shlibs" && can_build_shared=no 11540 11541 with_gnu_ld=$with_gnu_ld 11542 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" in 11561 x|xyes) 11562 # Assume -lc should be added 11563 archive_cmds_need_lc=yes 11564 11565 if test yes,yes = "$GCC,$enable_shared"; then 11566 case $archive_cmds in 11567 *'~'*) 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 some 11572 # systems, -lgcc has to come before -lc. If gcc already passes -lc 11573 # to ld, don't add -lc before -lgcc. 11574 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 11575 $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) " >&6 11578 else 11579 $RM conftest* 11580 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 11581 11582 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 11583 (eval $ac_compile) 2>&5 11584 ac_status=$? 11585 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 11586 test $ac_status = 0; } 2>conftest.err; then 11587 soname=conftest 11588 lib=conftest 11589 libobjs=conftest.$ac_objext 11590 deplibs= 11591 wl=$lt_prog_compiler_wl 11592 pic_flag=$lt_prog_compiler_pic 11593 compiler_flags=-v 11594 linker_flags=-v 11595 verstring= 11596 output_objdir=. 11597 libname=conftest 11598 lt_save_allow_undefined_flag=$allow_undefined_flag 11599 allow_undefined_flag= 11600 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 11601 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 11602 ac_status=$? 11603 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 11604 test $ac_status = 0; } 11605 then 11606 lt_cv_archive_cmds_need_lc=no 11607 else 11608 lt_cv_archive_cmds_need_lc=yes 11609 fi 11610 allow_undefined_flag=$lt_save_allow_undefined_flag 11611 else 11612 cat conftest.err 1>&5 11613 fi 11614 $RM conftest* 11615 11616 fi 11617 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 11618 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } 11619 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc 11620 ;; 11621 esac 11622 fi 11623 ;; 11624 esac 11625 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" >&5 11778 $as_echo_n "checking dynamic linker characteristics... " >&6; } 11779 11780 if test yes = "$GCC"; then 11781 case $host_os in 11782 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 11783 *) lt_awk_arg='/^libraries:/' ;; 11784 esac 11785 case $host_os in 11786 mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; 11787 *) lt_sed_strip_eq='s|=/|/|g' ;; 11788 esac 11789 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 in 11791 *\;*) 11792 # if the path contains ";" then we assume it to be the separator 11793 # otherwise default to the standard path separator (i.e. ":") - it is 11794 # assumed that no part of a normal pathname contains ";" but that should 11795 # 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 esac 11802 # Ok, now we have the path, separated by spaces, we can step through it 11803 # 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 assume 11807 # 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 " in 11809 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 11810 lt_multi_os_dir= 11811 ;; 11812 esac 11813 for lt_sys_path in $lt_search_path_spec; do 11814 if test -d "$lt_sys_path$lt_multi_os_dir"; then 11815 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"; then 11817 test -d "$lt_sys_path" && \ 11818 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 11819 fi 11820 done 11821 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/paths 11842 # for these hosts. 11843 case $host_os in 11844 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 11845 $SED 's|/\([A-Za-z]:\)|\1|g'` ;; 11846 esac 11847 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 11848 else 11849 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 11850 fi 11851 library_names_spec= 11852 libname_spec='lib$name' 11853 soname_spec= 11854 shrext_cmds=.so 11855 postinstall_cmds= 11856 postuninstall_cmds= 11857 finish_cmds= 11858 finish_eval= 11859 shlibpath_var= 11860 shlibpath_overrides_runpath=unknown 11861 version_type=none 11862 dynamic_linker="$host_os ld.so" 11863 sys_lib_dlsearch_path_spec="/lib /usr/lib" 11864 need_lib_prefix=unknown 11865 hardcode_into_libs=no 11866 11867 # when you set need_version to no, make sure it does not cause -set_version 11868 # flags to be left without arguments 11869 need_version=unknown 11870 11871 11872 11873 case $host_os in 11874 aix3*) 11875 version_type=linux # correct to gnu/linux during the next big refactor 11876 library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 11877 shlibpath_var=LIBPATH 11878 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 refactor 11885 need_lib_prefix=no 11886 need_version=no 11887 hardcode_into_libs=yes 11888 if test ia64 = "$host_cpu"; then 11889 # AIX 5 supports IA64 11890 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 11891 shlibpath_var=LD_LIBRARY_PATH 11892 else 11893 # With GCC up to 2.95.x, collect2 would create an import file 11894 # for dependence libraries. The import file would start with 11895 # the line '#! .'. This would cause the generated library to 11896 # depend on '.', always an invalid library. This was fixed in 11897 # development snapshots of GCC prior to 3.0. 11898 case $host_os in 11899 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; then 11903 : 11904 else 11905 can_build_shared=no 11906 fi 11907 ;; 11908 esac 11909 # Using Import Files as archive members, it is possible to support 11910 # filename-based versioning of shared library archives on AIX. While 11911 # this would work for both with and without runtime linking, it will 11912 # prevent static linking of such archives. So we do filename-based 11913 # shared library versioning with .so extension only, which is used 11914 # when both runtime linking and shared linking is enabled. 11915 # Unfortunately, runtime linking may impact performance, so we do 11916 # not want this to be the default eventually. Also, we use the 11917 # versioned .so libs for executables only if there is the -brtl 11918 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 11919 # To allow for filename-based versioning support, we need to create 11920 # libNAME.so.V as an archive file, containing: 11921 # *) an Import File, referring to the versioned filename of the 11922 # archive as well as the shared archive member, telling the 11923 # bitwidth (32 or 64) of that shared object, and providing the 11924 # list of exported symbols of that shared object, eventually 11925 # decorated with the 'weak' keyword 11926 # *) the shared object with the F_LOADONLY flag set, to really avoid 11927 # 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.V 11930 11931 case $with_aix_soname,$aix_use_runtimelinking in 11932 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 11933 # soname into executable. Probably we can add versioning support to 11934 # collect2, so additional links can be useful in future. 11935 aix,yes) # traditional libtool 11936 dynamic_linker='AIX unversionable lib.so' 11937 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 11938 # instead of lib<name>.a to let people know that these are not 11939 # 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 only 11943 dynamic_linker='AIX lib.a(lib.so.V)' 11944 # We preserve .a as extension for shared libraries through AIX4.2 11945 # 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 only 11950 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=yes 11954 ;; 11955 *,yes) # both, prefer svr4 11956 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 handling 11959 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=yes 11963 ;; 11964 *,no) # both, prefer aix 11965 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 handling 11969 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 esac 11973 shlibpath_var=LIBPATH 11974 fi 11975 ;; 11976 11977 amigaos*) 11978 case $host_cpu in 11979 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 esac 11990 ;; 11991 11992 beos*) 11993 library_names_spec='$libname$shared_ext' 11994 dynamic_linker="$host_os ld.so" 11995 shlibpath_var=LIBRARY_PATH 11996 ;; 11997 11998 bsdi[45]*) 11999 version_type=linux # correct to gnu/linux during the next big refactor 12000 need_version=no 12001 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_PATH 12005 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 and 12008 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 12009 # libtool to hard-code these into programs 12010 ;; 12011 12012 cygwin* | mingw* | pw32* | cegcc*) 12013 version_type=windows 12014 shrext_cmds=.dll 12015 need_version=no 12016 need_lib_prefix=no 12017 12018 case $GCC,$cc_basename in 12019 yes,*) 12020 # gcc 12021 library_names_spec='$libname.dll.a' 12022 # DLL is installed to $(libdir)/../bin by postinstall_cmds 12023 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'\''; then 12030 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=yes 12036 12037 case $host_os in 12038 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' prefix 12046 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 esac 12053 dynamic_linker='Win32 ld.exe' 12054 ;; 12055 12056 *,cl*) 12057 # Native MSVC 12058 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 in 12063 mingw*) 12064 sys_lib_search_path_spec= 12065 lt_save_ifs=$IFS 12066 IFS=';' 12067 for lt_path in $LIB 12068 do 12069 IFS=$lt_save_ifs 12070 # 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 done 12074 IFS=$lt_save_ifs 12075 # 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 form 12080 # but this time dos style (no spaces!) so that the unix form looks 12081 # 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=$LIB 12088 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then 12089 # 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 else 12092 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 12093 fi 12094 # FIXME: find the short name or the path components, as spaces are 12095 # common. (e.g. "Program Files" -> "PROGRA~1") 12096 ;; 12097 esac 12098 12099 # DLL is installed to $(libdir)/../bin by postinstall_cmds 12100 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=yes 12109 dynamic_linker='Win32 link.exe' 12110 ;; 12111 12112 *) 12113 # Assume MSVC wrapper 12114 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' 12115 dynamic_linker='Win32 ld.exe' 12116 ;; 12117 esac 12118 # FIXME: first we should search . and the directory the executable is in 12119 shlibpath_var=PATH 12120 ;; 12121 12122 darwin* | rhapsody*) 12123 dynamic_linker="$host_os dyld" 12124 version_type=darwin 12125 need_lib_prefix=no 12126 need_version=no 12127 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 12128 soname_spec='$libname$release$major$shared_ext' 12129 shlibpath_overrides_runpath=yes 12130 shlibpath_var=DYLD_LIBRARY_PATH 12131 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 refactor 12139 need_lib_prefix=no 12140 need_version=no 12141 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_PATH 12144 ;; 12145 12146 freebsd* | dragonfly*) 12147 # DragonFly does not have aout. When/if they implement a new 12148 # versioning mechanism, adjust this. 12149 if test -x /usr/bin/objformat; then 12150 objformat=`/usr/bin/objformat` 12151 else 12152 case $host_os in 12153 freebsd[23].*) objformat=aout ;; 12154 *) objformat=elf ;; 12155 esac 12156 fi 12157 version_type=freebsd-$objformat 12158 case $version_type in 12159 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=no 12163 need_lib_prefix=no 12164 ;; 12165 freebsd-*) 12166 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 12167 need_version=yes 12168 ;; 12169 esac 12170 shlibpath_var=LD_LIBRARY_PATH 12171 case $host_os in 12172 freebsd2.*) 12173 shlibpath_overrides_runpath=yes 12174 ;; 12175 freebsd3.[01]* | freebsdelf3.[01]*) 12176 shlibpath_overrides_runpath=yes 12177 hardcode_into_libs=yes 12178 ;; 12179 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ 12180 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) 12181 shlibpath_overrides_runpath=no 12182 hardcode_into_libs=yes 12183 ;; 12184 *) # from 4.6 on, and DragonFly 12185 shlibpath_overrides_runpath=yes 12186 hardcode_into_libs=yes 12187 ;; 12188 esac 12189 ;; 12190 12191 haiku*) 12192 version_type=linux # correct to gnu/linux during the next big refactor 12193 need_lib_prefix=no 12194 need_version=no 12195 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_PATH 12199 shlibpath_overrides_runpath=no 12200 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 12201 hardcode_into_libs=yes 12202 ;; 12203 12204 hpux9* | hpux10* | hpux11*) 12205 # Give a soname corresponding to the major version so that dld.sl refuses to 12206 # link against other versions. 12207 version_type=sunos 12208 need_lib_prefix=no 12209 need_version=no 12210 case $host_cpu in 12211 ia64*) 12212 shrext_cmds='.so' 12213 hardcode_into_libs=yes 12214 dynamic_linker="$host_os dld.so" 12215 shlibpath_var=LD_LIBRARY_PATH 12216 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"; then 12220 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 12221 sys_lib_dlsearch_path_spec=/usr/lib/hpux32 12222 else 12223 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 12224 sys_lib_dlsearch_path_spec=/usr/lib/hpux64 12225 fi 12226 ;; 12227 hppa*64*) 12228 shrext_cmds='.sl' 12229 hardcode_into_libs=yes 12230 dynamic_linker="$host_os dld.sl" 12231 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 12232 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_spec 12237 ;; 12238 *) 12239 shrext_cmds='.sl' 12240 dynamic_linker="$host_os dld.sl" 12241 shlibpath_var=SHLIB_PATH 12242 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 12243 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 esac 12247 # 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=555 12251 ;; 12252 12253 interix[3-9]*) 12254 version_type=linux # correct to gnu/linux during the next big refactor 12255 need_lib_prefix=no 12256 need_version=no 12257 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_PATH 12261 shlibpath_overrides_runpath=no 12262 hardcode_into_libs=yes 12263 ;; 12264 12265 irix5* | irix6* | nonstopux*) 12266 case $host_os in 12267 nonstopux*) version_type=nonstopux ;; 12268 *) 12269 if test yes = "$lt_cv_prog_gnu_ld"; then 12270 version_type=linux # correct to gnu/linux during the next big refactor 12271 else 12272 version_type=irix 12273 fi ;; 12274 esac 12275 need_lib_prefix=no 12276 need_version=no 12277 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 in 12280 irix5* | nonstopux*) 12281 libsuff= shlibsuff= 12282 ;; 12283 *) 12284 case $LD in # libtool.m4 will add one of these switches to LD 12285 *-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 esac 12293 ;; 12294 esac 12295 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 12296 shlibpath_overrides_runpath=no 12297 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=yes 12300 ;; 12301 12302 # No shared lib support for Linux oldld, aout, or coff. 12303 linux*oldld* | linux*aout* | linux*coff*) 12304 dynamic_linker=no 12305 ;; 12306 12307 linux*android*) 12308 version_type=none # Android doesn't support versioned libraries. 12309 need_lib_prefix=no 12310 need_version=no 12311 library_names_spec='$libname$release$shared_ext' 12312 soname_spec='$libname$release$shared_ext' 12313 finish_cmds= 12314 shlibpath_var=LD_LIBRARY_PATH 12315 shlibpath_overrides_runpath=yes 12316 12317 # This implies no fast_install, which is unacceptable. 12318 # Some rework will be needed to allow for fast_install 12319 # before this can be enabled. 12320 hardcode_into_libs=yes 12321 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 refactor 12330 need_lib_prefix=no 12331 need_version=no 12332 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_PATH 12336 shlibpath_overrides_runpath=no 12337 12338 # Some binutils ld are patched to set DT_RUNPATH 12339 if ${lt_cv_shlibpath_overrides_runpath+:} false; then : 12340 $as_echo_n "(cached) " >&6 12341 else 12342 lt_cv_shlibpath_overrides_runpath=no 12343 save_LDFLAGS=$LDFLAGS 12344 save_libdir=$libdir 12345 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ 12346 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" 12347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12348 /* end confdefs.h. */ 12349 12350 int 12351 main () 12352 { 12353 12354 ; 12355 return 0; 12356 } 12357 _ACEOF 12358 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=yes 12361 fi 12362 fi 12363 rm -f core conftest.err conftest.$ac_objext \ 12364 conftest$ac_exeext conftest.$ac_ext 12365 LDFLAGS=$save_LDFLAGS 12366 libdir=$save_libdir 12367 12368 fi 12369 12370 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 12371 12372 # This implies no fast_install, which is unacceptable. 12373 # Some rework will be needed to allow for fast_install 12374 # before this can be enabled. 12375 hardcode_into_libs=yes 12376 12377 # Ideally, we could use ldconfig to report *all* directores which are 12378 # searched for libraries, however this is still not possible. Aside from not 12379 # being certain /sbin/ldconfig is available, command 12380 # '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 by 12382 # appending ld.so.conf contents (and includes) to the search path. 12383 if test -f /etc/ld.so.conf; then 12384 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 fi 12387 12388 # We used to test for /lib/ld.so.1 and disable shared libraries on 12389 # powerpc, because MkLinux only supported shared libraries with the 12390 # GNU dynamic linker. Since this was broken with cross compilers, 12391 # most powerpc-linux boxes support dynamic linking these days and 12392 # people can always --disable-shared, the test was removed, and we 12393 # assume the GNU/Linux dynamic linker is in use. 12394 dynamic_linker='GNU/Linux ld.so' 12395 ;; 12396 12397 netbsdelf*-gnu) 12398 version_type=linux 12399 need_lib_prefix=no 12400 need_version=no 12401 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_PATH 12404 shlibpath_overrides_runpath=no 12405 hardcode_into_libs=yes 12406 dynamic_linker='NetBSD ld.elf_so' 12407 ;; 12408 12409 netbsd*) 12410 version_type=sunos 12411 need_lib_prefix=no 12412 need_version=no 12413 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 12414 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 else 12418 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 fi 12422 shlibpath_var=LD_LIBRARY_PATH 12423 shlibpath_overrides_runpath=yes 12424 hardcode_into_libs=yes 12425 ;; 12426 12427 newsos6) 12428 version_type=linux # correct to gnu/linux during the next big refactor 12429 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 12430 shlibpath_var=LD_LIBRARY_PATH 12431 shlibpath_overrides_runpath=yes 12432 ;; 12433 12434 *nto* | *qnx*) 12435 version_type=qnx 12436 need_lib_prefix=no 12437 need_version=no 12438 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_PATH 12441 shlibpath_overrides_runpath=no 12442 hardcode_into_libs=yes 12443 dynamic_linker='ldqnx.so' 12444 ;; 12445 12446 openbsd* | bitrig*) 12447 version_type=sunos 12448 sys_lib_dlsearch_path_spec=/usr/lib 12449 need_lib_prefix=no 12450 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 12451 need_version=no 12452 else 12453 need_version=yes 12454 fi 12455 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_PATH 12458 shlibpath_overrides_runpath=yes 12459 ;; 12460 12461 os2*) 12462 libname_spec='$name' 12463 version_type=windows 12464 shrext_cmds=.dll 12465 need_version=no 12466 need_lib_prefix=no 12467 # 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=BEGINLIBPATH 12475 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 12476 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 12477 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'\''; then 12484 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=osf 12493 need_lib_prefix=no 12494 need_version=no 12495 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_PATH 12498 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_spec 12500 ;; 12501 12502 rdos*) 12503 dynamic_linker=no 12504 ;; 12505 12506 solaris*) 12507 version_type=linux # correct to gnu/linux during the next big refactor 12508 need_lib_prefix=no 12509 need_version=no 12510 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_PATH 12513 shlibpath_overrides_runpath=yes 12514 hardcode_into_libs=yes 12515 # ldd complains unless libraries are executable 12516 postinstall_cmds='chmod +x $lib' 12517 ;; 12518 12519 sunos4*) 12520 version_type=sunos 12521 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_PATH 12524 shlibpath_overrides_runpath=yes 12525 if test yes = "$with_gnu_ld"; then 12526 need_lib_prefix=no 12527 fi 12528 need_version=yes 12529 ;; 12530 12531 sysv4 | sysv4.3*) 12532 version_type=linux # correct to gnu/linux during the next big refactor 12533 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_PATH 12536 case $host_vendor in 12537 sni) 12538 shlibpath_overrides_runpath=no 12539 need_lib_prefix=no 12540 runpath_var=LD_RUN_PATH 12541 ;; 12542 siemens) 12543 need_lib_prefix=no 12544 ;; 12545 motorola) 12546 need_lib_prefix=no 12547 need_version=no 12548 shlibpath_overrides_runpath=no 12549 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 12550 ;; 12551 esac 12552 ;; 12553 12554 sysv4*MP*) 12555 if test -d /usr/nec; then 12556 version_type=linux # correct to gnu/linux during the next big refactor 12557 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_PATH 12560 fi 12561 ;; 12562 12563 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 12564 version_type=sco 12565 need_lib_prefix=no 12566 need_version=no 12567 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_PATH 12570 shlibpath_overrides_runpath=yes 12571 hardcode_into_libs=yes 12572 if test yes = "$with_gnu_ld"; then 12573 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 12574 else 12575 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 12576 case $host_os in 12577 sco3.2v5*) 12578 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 12579 ;; 12580 esac 12581 fi 12582 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 refactor 12588 need_lib_prefix=no 12589 need_version=no 12590 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 12591 shlibpath_var=LD_LIBRARY_PATH 12592 shlibpath_overrides_runpath=no 12593 hardcode_into_libs=yes 12594 ;; 12595 12596 uts4*) 12597 version_type=linux # correct to gnu/linux during the next big refactor 12598 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_PATH 12601 ;; 12602 12603 *) 12604 dynamic_linker=no 12605 ;; 12606 esac 12607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 12608 $as_echo "$dynamic_linker" >&6; } 12609 test no = "$dynamic_linker" && can_build_shared=no 12610 12611 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 12612 if test yes = "$GCC"; then 12613 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 12614 fi 12615 12616 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 12617 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 12618 fi 12619 12620 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 12621 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 12622 fi 12623 12624 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 12625 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 12626 12627 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 12628 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 libtool 12631 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 12632 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" >&5 12730 $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"; then 12735 12736 # We can hardcode non-existent directories. 12737 if test no != "$hardcode_direct" && 12738 # If the only mechanism to avoid hardcoding is shlibpath_var, we 12739 # have to relink, otherwise we might link with an installed library 12740 # when we should be linking with a yet-to-be-installed one 12741 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && 12742 test no != "$hardcode_minus_L"; then 12743 # Linking always hardcodes the temporary library directory. 12744 hardcode_action=relink 12745 else 12746 # We can link without hardcoding, and we can hardcode nonexisting dirs. 12747 hardcode_action=immediate 12748 fi 12749 else 12750 # We cannot hardcode anything, or else we can only hardcode existing 12751 # directories. 12752 hardcode_action=unsupported 12753 fi 12754 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 12755 $as_echo "$hardcode_action" >&6; } 12756 12757 if test relink = "$hardcode_action" || 12758 test yes = "$inherit_rpath"; then 12759 # Fast installation is not supported 12760 enable_fast_install=no 12761 elif test yes = "$shlibpath_overrides_runpath" || 12762 test no = "$enable_shared"; then 12763 # Fast installation is not necessary 12764 enable_fast_install=needless 12765 fi 12766 12767 12768 12769 12770 12771 12772 if test yes != "$enable_dlopen"; then 12773 enable_dlopen=unknown 12774 enable_dlopen_self=unknown 12775 enable_dlopen_self_static=unknown 12776 else 12777 lt_cv_dlopen=no 12778 lt_cv_dlopen_libs= 12779 12780 case $host_os in 12781 beos*) 12782 lt_cv_dlopen=load_add_on 12783 lt_cv_dlopen_libs= 12784 lt_cv_dlopen_self=yes 12785 ;; 12786 12787 mingw* | pw32* | cegcc*) 12788 lt_cv_dlopen=LoadLibrary 12789 lt_cv_dlopen_libs= 12790 ;; 12791 12792 cygwin*) 12793 lt_cv_dlopen=dlopen 12794 lt_cv_dlopen_libs= 12795 ;; 12796 12797 darwin*) 12798 # if libdl is installed we need to link against it 12799 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 12800 $as_echo_n "checking for dlopen in -ldl... " >&6; } 12801 if ${ac_cv_lib_dl_dlopen+:} false; then : 12802 $as_echo_n "(cached) " >&6 12803 else 12804 ac_check_lib_save_LIBS=$LIBS 12805 LIBS="-ldl $LIBS" 12806 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12807 /* 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 GCC 12811 builtin and then its argument prototype would still apply. */ 12812 #ifdef __cplusplus 12813 extern "C" 12814 #endif 12815 char dlopen (); 12816 int 12817 main () 12818 { 12819 return dlopen (); 12820 ; 12821 return 0; 12822 } 12823 _ACEOF 12824 if ac_fn_c_try_link "$LINENO"; then : 12825 ac_cv_lib_dl_dlopen=yes 12826 else 12827 ac_cv_lib_dl_dlopen=no 12828 fi 12829 rm -f core conftest.err conftest.$ac_objext \ 12830 conftest$ac_exeext conftest.$ac_ext 12831 LIBS=$ac_check_lib_save_LIBS 12832 fi 12833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 12834 $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=-ldl 12837 else 12838 12839 lt_cv_dlopen=dyld 12840 lt_cv_dlopen_libs= 12841 lt_cv_dlopen_self=yes 12842 12843 fi 12844 12845 ;; 12846 12847 tpf*) 12848 # Don't try to run any link tests for TPF. We know it's impossible 12849 # because TPF is a cross-compiler, and we know how we open DSOs. 12850 lt_cv_dlopen=dlopen 12851 lt_cv_dlopen_libs= 12852 lt_cv_dlopen_self=no 12853 ;; 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_load 12859 else 12860 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 12861 $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) " >&6 12864 else 12865 ac_check_lib_save_LIBS=$LIBS 12866 LIBS="-ldld $LIBS" 12867 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12868 /* 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 GCC 12872 builtin and then its argument prototype would still apply. */ 12873 #ifdef __cplusplus 12874 extern "C" 12875 #endif 12876 char shl_load (); 12877 int 12878 main () 12879 { 12880 return shl_load (); 12881 ; 12882 return 0; 12883 } 12884 _ACEOF 12885 if ac_fn_c_try_link "$LINENO"; then : 12886 ac_cv_lib_dld_shl_load=yes 12887 else 12888 ac_cv_lib_dld_shl_load=no 12889 fi 12890 rm -f core conftest.err conftest.$ac_objext \ 12891 conftest$ac_exeext conftest.$ac_ext 12892 LIBS=$ac_check_lib_save_LIBS 12893 fi 12894 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 12895 $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=-ldld 12898 else 12899 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=dlopen 12902 else 12903 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 12904 $as_echo_n "checking for dlopen in -ldl... " >&6; } 12905 if ${ac_cv_lib_dl_dlopen+:} false; then : 12906 $as_echo_n "(cached) " >&6 12907 else 12908 ac_check_lib_save_LIBS=$LIBS 12909 LIBS="-ldl $LIBS" 12910 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12911 /* 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 GCC 12915 builtin and then its argument prototype would still apply. */ 12916 #ifdef __cplusplus 12917 extern "C" 12918 #endif 12919 char dlopen (); 12920 int 12921 main () 12922 { 12923 return dlopen (); 12924 ; 12925 return 0; 12926 } 12927 _ACEOF 12928 if ac_fn_c_try_link "$LINENO"; then : 12929 ac_cv_lib_dl_dlopen=yes 12930 else 12931 ac_cv_lib_dl_dlopen=no 12932 fi 12933 rm -f core conftest.err conftest.$ac_objext \ 12934 conftest$ac_exeext conftest.$ac_ext 12935 LIBS=$ac_check_lib_save_LIBS 12936 fi 12937 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 12938 $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=-ldl 12941 else 12942 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 12943 $as_echo_n "checking for dlopen in -lsvld... " >&6; } 12944 if ${ac_cv_lib_svld_dlopen+:} false; then : 12945 $as_echo_n "(cached) " >&6 12946 else 12947 ac_check_lib_save_LIBS=$LIBS 12948 LIBS="-lsvld $LIBS" 12949 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12950 /* 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 GCC 12954 builtin and then its argument prototype would still apply. */ 12955 #ifdef __cplusplus 12956 extern "C" 12957 #endif 12958 char dlopen (); 12959 int 12960 main () 12961 { 12962 return dlopen (); 12963 ; 12964 return 0; 12965 } 12966 _ACEOF 12967 if ac_fn_c_try_link "$LINENO"; then : 12968 ac_cv_lib_svld_dlopen=yes 12969 else 12970 ac_cv_lib_svld_dlopen=no 12971 fi 12972 rm -f core conftest.err conftest.$ac_objext \ 12973 conftest$ac_exeext conftest.$ac_ext 12974 LIBS=$ac_check_lib_save_LIBS 12975 fi 12976 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 12977 $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=-lsvld 12980 else 12981 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 12982 $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) " >&6 12985 else 12986 ac_check_lib_save_LIBS=$LIBS 12987 LIBS="-ldld $LIBS" 12988 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12989 /* 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 GCC 12993 builtin and then its argument prototype would still apply. */ 12994 #ifdef __cplusplus 12995 extern "C" 12996 #endif 12997 char dld_link (); 12998 int 12999 main () 13000 { 13001 return dld_link (); 13002 ; 13003 return 0; 13004 } 13005 _ACEOF 13006 if ac_fn_c_try_link "$LINENO"; then : 13007 ac_cv_lib_dld_dld_link=yes 13008 else 13009 ac_cv_lib_dld_dld_link=no 13010 fi 13011 rm -f core conftest.err conftest.$ac_objext \ 13012 conftest$ac_exeext conftest.$ac_ext 13013 LIBS=$ac_check_lib_save_LIBS 13014 fi 13015 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 13016 $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=-ldld 13019 fi 13020 13021 13022 fi 13023 13024 13025 fi 13026 13027 13028 fi 13029 13030 13031 fi 13032 13033 13034 fi 13035 13036 ;; 13037 esac 13038 13039 if test no = "$lt_cv_dlopen"; then 13040 enable_dlopen=no 13041 else 13042 enable_dlopen=yes 13043 fi 13044 13045 case $lt_cv_dlopen in 13046 dlopen) 13047 save_CPPFLAGS=$CPPFLAGS 13048 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 13049 13050 save_LDFLAGS=$LDFLAGS 13051 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 13052 13053 save_LIBS=$LIBS 13054 LIBS="$lt_cv_dlopen_libs $LIBS" 13055 13056 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 13057 $as_echo_n "checking whether a program can dlopen itself... " >&6; } 13058 if ${lt_cv_dlopen_self+:} false; then : 13059 $as_echo_n "(cached) " >&6 13060 else 13061 if test yes = "$cross_compiling"; then : 13062 lt_cv_dlopen_self=cross 13063 else 13064 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 13065 lt_status=$lt_dlunknown 13066 cat > conftest.$ac_ext <<_LT_EOF 13067 #line $LINENO "configure" 13068 #include "confdefs.h" 13069 13070 #if HAVE_DLFCN_H 13071 #include <dlfcn.h> 13072 #endif 13073 13074 #include <stdio.h> 13075 13076 #ifdef RTLD_GLOBAL 13077 # define LT_DLGLOBAL RTLD_GLOBAL 13078 #else 13079 # ifdef DL_GLOBAL 13080 # define LT_DLGLOBAL DL_GLOBAL 13081 # else 13082 # define LT_DLGLOBAL 0 13083 # endif 13084 #endif 13085 13086 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we 13087 find out it does not work in some platform. */ 13088 #ifndef LT_DLLAZY_OR_NOW 13089 # ifdef RTLD_LAZY 13090 # define LT_DLLAZY_OR_NOW RTLD_LAZY 13091 # else 13092 # ifdef DL_LAZY 13093 # define LT_DLLAZY_OR_NOW DL_LAZY 13094 # else 13095 # ifdef RTLD_NOW 13096 # define LT_DLLAZY_OR_NOW RTLD_NOW 13097 # else 13098 # ifdef DL_NOW 13099 # define LT_DLLAZY_OR_NOW DL_NOW 13100 # else 13101 # define LT_DLLAZY_OR_NOW 0 13102 # endif 13103 # endif 13104 # endif 13105 # endif 13106 #endif 13107 13108 /* When -fvisibility=hidden is used, assume the code has been annotated 13109 correspondingly for the symbols needed. */ 13110 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 13111 int fnord () __attribute__((visibility("default"))); 13112 #endif 13113 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 else 13124 { 13125 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 13126 else puts (dlerror ()); 13127 } 13128 /* dlclose (self); */ 13129 } 13130 else 13131 puts (dlerror ()); 13132 13133 return status; 13134 } 13135 _LT_EOF 13136 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 13137 (eval $ac_link) 2>&5 13138 ac_status=$? 13139 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 13140 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then 13141 (./conftest; exit; ) >&5 2>/dev/null 13142 lt_status=$? 13143 case x$lt_status in 13144 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 esac 13148 else : 13149 # compilation failed 13150 lt_cv_dlopen_self=no 13151 fi 13152 fi 13153 rm -fr conftest* 13154 13155 13156 fi 13157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 13158 $as_echo "$lt_cv_dlopen_self" >&6; } 13159 13160 if test yes = "$lt_cv_dlopen_self"; then 13161 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" >&5 13163 $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) " >&6 13166 else 13167 if test yes = "$cross_compiling"; then : 13168 lt_cv_dlopen_self_static=cross 13169 else 13170 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 13171 lt_status=$lt_dlunknown 13172 cat > conftest.$ac_ext <<_LT_EOF 13173 #line $LINENO "configure" 13174 #include "confdefs.h" 13175 13176 #if HAVE_DLFCN_H 13177 #include <dlfcn.h> 13178 #endif 13179 13180 #include <stdio.h> 13181 13182 #ifdef RTLD_GLOBAL 13183 # define LT_DLGLOBAL RTLD_GLOBAL 13184 #else 13185 # ifdef DL_GLOBAL 13186 # define LT_DLGLOBAL DL_GLOBAL 13187 # else 13188 # define LT_DLGLOBAL 0 13189 # endif 13190 #endif 13191 13192 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we 13193 find out it does not work in some platform. */ 13194 #ifndef LT_DLLAZY_OR_NOW 13195 # ifdef RTLD_LAZY 13196 # define LT_DLLAZY_OR_NOW RTLD_LAZY 13197 # else 13198 # ifdef DL_LAZY 13199 # define LT_DLLAZY_OR_NOW DL_LAZY 13200 # else 13201 # ifdef RTLD_NOW 13202 # define LT_DLLAZY_OR_NOW RTLD_NOW 13203 # else 13204 # ifdef DL_NOW 13205 # define LT_DLLAZY_OR_NOW DL_NOW 13206 # else 13207 # define LT_DLLAZY_OR_NOW 0 13208 # endif 13209 # endif 13210 # endif 13211 # endif 13212 #endif 13213 13214 /* When -fvisibility=hidden is used, assume the code has been annotated 13215 correspondingly for the symbols needed. */ 13216 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 13217 int fnord () __attribute__((visibility("default"))); 13218 #endif 13219 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 else 13230 { 13231 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 13232 else puts (dlerror ()); 13233 } 13234 /* dlclose (self); */ 13235 } 13236 else 13237 puts (dlerror ()); 13238 13239 return status; 13240 } 13241 _LT_EOF 13242 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 13243 (eval $ac_link) 2>&5 13244 ac_status=$? 13245 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 13246 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then 13247 (./conftest; exit; ) >&5 2>/dev/null 13248 lt_status=$? 13249 case x$lt_status in 13250 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 esac 13254 else : 13255 # compilation failed 13256 lt_cv_dlopen_self_static=no 13257 fi 13258 fi 13259 rm -fr conftest* 13260 13261 13262 fi 13263 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 13264 $as_echo "$lt_cv_dlopen_self_static" >&6; } 13265 fi 13266 13267 CPPFLAGS=$save_CPPFLAGS 13268 LDFLAGS=$save_LDFLAGS 13269 LIBS=$save_LIBS 13270 ;; 13271 esac 13272 13273 case $lt_cv_dlopen_self in 13274 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 13275 *) enable_dlopen_self=unknown ;; 13276 esac 13277 13278 case $lt_cv_dlopen_self_static in 13279 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 13280 *) enable_dlopen_self_static=unknown ;; 13281 esac 13282 fi 13283 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" >&5 13303 $as_echo_n "checking whether stripping libraries is possible... " >&6; } 13304 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 13305 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" >&5 13308 $as_echo "yes" >&6; } 13309 else 13310 # FIXME - insert some real tests, host_os isn't really good enough 13311 case $host_os in 13312 darwin*) 13313 if test -n "$STRIP"; then 13314 striplib="$STRIP -x" 13315 old_striplib="$STRIP -S" 13316 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 13317 $as_echo "yes" >&6; } 13318 else 13319 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 13320 $as_echo "no" >&6; } 13321 fi 13322 ;; 13323 *) 13324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 13325 $as_echo "no" >&6; } 13326 ;; 13327 esac 13328 fi 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 # Report what library types will actually be built 13342 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 13343 $as_echo_n "checking if libtool supports shared libraries... " >&6; } 13344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 13345 $as_echo "$can_build_shared" >&6; } 13346 13347 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 13348 $as_echo_n "checking whether to build shared libraries... " >&6; } 13349 test no = "$can_build_shared" && enable_shared=no 13350 13351 # On AIX, shared libraries and static libraries use the same namespace, and 13352 # are all built from PIC. 13353 case $host_os in 13354 aix3*) 13355 test yes = "$enable_shared" && enable_static=no 13356 if test -n "$RANLIB"; then 13357 archive_cmds="$archive_cmds~\$RANLIB \$lib" 13358 postinstall_cmds='$RANLIB $lib' 13359 fi 13360 ;; 13361 13362 aix[4-9]*) 13363 if test ia64 != "$host_cpu"; then 13364 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 13365 yes,aix,yes) ;; # shared object as lib.so file only 13366 yes,svr4,*) ;; # shared object as lib.so archive member only 13367 yes,*) enable_static=no ;; # shared object in lib.a archive as well 13368 esac 13369 fi 13370 ;; 13371 esac 13372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 13373 $as_echo "$enable_shared" >&6; } 13374 13375 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 13376 $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=yes 13379 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 13380 $as_echo "$enable_static" >&6; } 13381 13382 13383 13384 13385 fi 13386 ac_ext=c 13387 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_gnu 13391 13392 CC=$lt_save_CC 13393 13394 if test -n "$CXX" && ( test no != "$CXX" && 13395 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 13396 (test g++ != "$CXX"))); then 13397 ac_ext=cpp 13398 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_gnu 13402 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 13403 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } 13404 if test -z "$CXXCPP"; then 13405 if ${ac_cv_prog_CXXCPP+:} false; then : 13406 $as_echo_n "(cached) " >&6 13407 else 13408 # Double quotes because CXXCPP needs to be expanded 13409 for CXXCPP in "$CXX -E" "/lib/cpp" 13410 do 13411 ac_preproc_ok=false 13412 for ac_cxx_preproc_warn_flag in '' yes 13413 do 13414 # Use a header file that comes with gcc, so configuring glibc 13415 # with a fresh cross-compiler works. 13416 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 13417 # <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_ext 13421 /* end confdefs.h. */ 13422 #ifdef __STDC__ 13423 # include <limits.h> 13424 #else 13425 # include <assert.h> 13426 #endif 13427 Syntax error 13428 _ACEOF 13429 if ac_fn_cxx_try_cpp "$LINENO"; then : 13430 13431 else 13432 # Broken: fails on valid input. 13433 continue 13434 fi 13435 rm -f conftest.err conftest.i conftest.$ac_ext 13436 13437 # OK, works on sane cases. Now check whether nonexistent headers 13438 # can be detected and how. 13439 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13440 /* end confdefs.h. */ 13441 #include <ac_nonexistent.h> 13442 _ACEOF 13443 if ac_fn_cxx_try_cpp "$LINENO"; then : 13444 # Broken: success on invalid input. 13445 continue 13446 else 13447 # Passes both tests. 13448 ac_preproc_ok=: 13449 break 13450 fi 13451 rm -f conftest.err conftest.i conftest.$ac_ext 13452 13453 done 13454 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 13455 rm -f conftest.i conftest.err conftest.$ac_ext 13456 if $ac_preproc_ok; then : 13457 break 13458 fi 13459 13460 done 13461 ac_cv_prog_CXXCPP=$CXXCPP 13462 13463 fi 13464 CXXCPP=$ac_cv_prog_CXXCPP 13465 else 13466 ac_cv_prog_CXXCPP=$CXXCPP 13467 fi 13468 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 13469 $as_echo "$CXXCPP" >&6; } 13470 ac_preproc_ok=false 13471 for ac_cxx_preproc_warn_flag in '' yes 13472 do 13473 # Use a header file that comes with gcc, so configuring glibc 13474 # with a fresh cross-compiler works. 13475 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 13476 # <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_ext 13480 /* end confdefs.h. */ 13481 #ifdef __STDC__ 13482 # include <limits.h> 13483 #else 13484 # include <assert.h> 13485 #endif 13486 Syntax error 13487 _ACEOF 13488 if ac_fn_cxx_try_cpp "$LINENO"; then : 13489 13490 else 13491 # Broken: fails on valid input. 13492 continue 13493 fi 13494 rm -f conftest.err conftest.i conftest.$ac_ext 13495 13496 # OK, works on sane cases. Now check whether nonexistent headers 13497 # can be detected and how. 13498 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13499 /* end confdefs.h. */ 13500 #include <ac_nonexistent.h> 13501 _ACEOF 13502 if ac_fn_cxx_try_cpp "$LINENO"; then : 13503 # Broken: success on invalid input. 13504 continue 13505 else 13506 # Passes both tests. 13507 ac_preproc_ok=: 13508 break 13509 fi 13510 rm -f conftest.err conftest.i conftest.$ac_ext 13511 13512 done 13513 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 13514 rm -f conftest.i conftest.err conftest.$ac_ext 13515 if $ac_preproc_ok; then : 13516 13517 else 13518 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 13519 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 13520 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check 13521 See \`config.log' for more details" "$LINENO" 5; } 13522 fi 13523 13524 ac_ext=c 13525 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_gnu 13529 13530 else 13531 _lt_caught_CXX_error=yes 13532 fi 13533 13534 ac_ext=cpp 13535 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_gnu 13539 13540 archive_cmds_need_lc_CXX=no 13541 allow_undefined_flag_CXX= 13542 always_export_symbols_CXX=no 13543 archive_expsym_cmds_CXX= 13544 compiler_needs_object_CXX=no 13545 export_dynamic_flag_spec_CXX= 13546 hardcode_direct_CXX=no 13547 hardcode_direct_absolute_CXX=no 13548 hardcode_libdir_flag_spec_CXX= 13549 hardcode_libdir_separator_CXX= 13550 hardcode_minus_L_CXX=no 13551 hardcode_shlibpath_var_CXX=unsupported 13552 hardcode_automatic_CXX=no 13553 inherit_rpath_CXX=no 13554 module_cmds_CXX= 13555 module_expsym_cmds_CXX= 13556 link_all_deplibs_CXX=unknown 13557 old_archive_cmds_CXX=$old_archive_cmds 13558 reload_flag_CXX=$reload_flag 13559 reload_cmds_CXX=$reload_cmds 13560 no_undefined_flag_CXX= 13561 whole_archive_flag_spec_CXX= 13562 enable_shared_with_static_runtimes_CXX=no 13563 13564 # Source file extension for C++ test sources. 13565 ac_ext=cpp 13566 13567 # Object file extension for compiled C++ test sources. 13568 objext=o 13569 objext_CXX=$objext 13570 13571 # No sense in running all these tests if we already determined that 13572 # 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"; then 13576 # Code to be used in simple compile tests 13577 lt_simple_compile_test_code="int some_variable = 0;" 13578 13579 # Code to be used in simple link tests 13580 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=$CC 13597 13598 13599 # save warnings/boilerplate of simple test code 13600 ac_outfile=conftest.$ac_objext 13601 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 13602 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 13603 _lt_compiler_boilerplate=`cat conftest.err` 13604 $RM conftest* 13605 13606 ac_outfile=conftest.$ac_objext 13607 echo "$lt_simple_link_test_code" >conftest.$ac_ext 13608 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 13609 _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=$CC 13615 lt_save_CFLAGS=$CFLAGS 13616 lt_save_LD=$LD 13617 lt_save_GCC=$GCC 13618 GCC=$GXX 13619 lt_save_with_gnu_ld=$with_gnu_ld 13620 lt_save_path_LD=$lt_cv_path_LD 13621 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 13622 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 13623 else 13624 $as_unset lt_cv_prog_gnu_ld 13625 fi 13626 if test -n "${lt_cv_path_LDCXX+set}"; then 13627 lt_cv_path_LD=$lt_cv_path_LDCXX 13628 else 13629 $as_unset lt_cv_path_LD 13630 fi 13631 test -z "${LDCXX+set}" || LD=$LDCXX 13632 CC=${CXX-"c++"} 13633 CFLAGS=$CXXFLAGS 13634 compiler=$CC 13635 compiler_CXX=$CC 13636 func_cc_basename $compiler 13637 cc_basename=$func_cc_basename_result 13638 13639 13640 if test -n "$compiler"; then 13641 # We don't want -fno-exception when compiling C++ code, so set the 13642 # no_builtin_flag separately 13643 if test yes = "$GXX"; then 13644 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' 13645 else 13646 lt_prog_compiler_no_builtin_flag_CXX= 13647 fi 13648 13649 if test yes = "$GXX"; then 13650 # Set up default GNU C++ configuration 13651 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=yes 13657 else 13658 with_gnu_ld=no 13659 fi 13660 13661 ac_prog=ld 13662 if test yes = "$GCC"; then 13663 # Check if gcc -print-prog-name=ld gives a path. 13664 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 13665 $as_echo_n "checking for ld used by $CC... " >&6; } 13666 case $host in 13667 *-*-mingw*) 13668 # gcc leaves a trailing carriage return, which upsets mingw 13669 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 13670 *) 13671 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 13672 esac 13673 case $ac_prog in 13674 # Accept absolute paths. 13675 [\\/]* | ?:[\\/]*) 13676 re_direlt='/[^/][^/]*/\.\./' 13677 # Canonicalize the pathname of ld 13678 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 13679 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 13680 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 13681 done 13682 test -z "$LD" && LD=$ac_prog 13683 ;; 13684 "") 13685 # If it fails, then pretend we aren't using GCC. 13686 ac_prog=ld 13687 ;; 13688 *) 13689 # If it is relative, then search for the first ld in PATH. 13690 with_gnu_ld=unknown 13691 ;; 13692 esac 13693 elif test yes = "$with_gnu_ld"; then 13694 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 13695 $as_echo_n "checking for GNU ld... " >&6; } 13696 else 13697 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 13698 $as_echo_n "checking for non-GNU ld... " >&6; } 13699 fi 13700 if ${lt_cv_path_LD+:} false; then : 13701 $as_echo_n "(cached) " >&6 13702 else 13703 if test -z "$LD"; then 13704 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 13705 for ac_dir in $PATH; do 13706 IFS=$lt_save_ifs 13707 test -z "$ac_dir" && ac_dir=. 13708 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 13709 lt_cv_path_LD=$ac_dir/$ac_prog 13710 # 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` in 13714 *GNU* | *'with BFD'*) 13715 test no != "$with_gnu_ld" && break 13716 ;; 13717 *) 13718 test yes != "$with_gnu_ld" && break 13719 ;; 13720 esac 13721 fi 13722 done 13723 IFS=$lt_save_ifs 13724 else 13725 lt_cv_path_LD=$LD # Let the user override the test with a path. 13726 fi 13727 fi 13728 13729 LD=$lt_cv_path_LD 13730 if test -n "$LD"; then 13731 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 13732 $as_echo "$LD" >&6; } 13733 else 13734 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 13735 $as_echo "no" >&6; } 13736 fi 13737 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 13738 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 13739 $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) " >&6 13742 else 13743 # I'd rather use --version here, but apparently some GNU lds only accept -v. 13744 case `$LD -v 2>&1 </dev/null` in 13745 *GNU* | *'with BFD'*) 13746 lt_cv_prog_gnu_ld=yes 13747 ;; 13748 *) 13749 lt_cv_prog_gnu_ld=no 13750 ;; 13751 esac 13752 fi 13753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 13754 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 13755 with_gnu_ld=$lt_cv_prog_gnu_ld 13756 13757 13758 13759 13760 13761 13762 13763 # Check if GNU C++ uses GNU ld as the underlying linker, since the 13764 # archiving commands below assume that GNU ld is being used. 13765 if test yes = "$with_gnu_ld"; then 13766 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 empty 13773 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 13774 # 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; then 13780 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 13781 else 13782 whole_archive_flag_spec_CXX= 13783 fi 13784 else 13785 with_gnu_ld=no 13786 wlarc= 13787 13788 # A generic and very simple default shared library creation 13789 # command for GNU C++ for the case where it uses the native 13790 # linker, instead of GNU ld. If possible, this setting should 13791 # overridden to take advantage of the native linker features on 13792 # 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 fi 13795 13796 # Commands to make compiler produce verbose output that lists 13797 # what "hidden" libraries, object files and flags are used when 13798 # 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 else 13802 GXX=no 13803 with_gnu_ld=no 13804 wlarc= 13805 fi 13806 13807 # PORTME: fill in a description of your system's C++ link characteristics 13808 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 13809 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } 13810 ld_shlibs_CXX=yes 13811 case $host_os in 13812 aix3*) 13813 # FIXME: insert proper C++ library support 13814 ld_shlibs_CXX=no 13815 ;; 13816 aix[4-9]*) 13817 if test ia64 = "$host_cpu"; then 13818 # On IA64, the linker does run time linking by default, so we don't 13819 # have to do anything special. 13820 aix_use_runtimelinking=no 13821 exp_sym_flag='-Bexport' 13822 no_entry_flag= 13823 else 13824 aix_use_runtimelinking=no 13825 13826 # Test if we are trying to use run time linking or normal 13827 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 13828 # have runtime linking enabled, and use it for executables. 13829 # For shared libraries, we enable/disable runtime linking 13830 # 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 executables 13833 # "aix,yes" lib.so shared, rtl:yes, for executables 13834 # lib.a static archive 13835 # "both,no" lib.so.V(shr.o) shared, rtl:yes 13836 # lib.a(lib.so.V) shared, rtl:no, for executables 13837 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 13838 # lib.a(lib.so.V) shared, rtl:no 13839 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 13840 # lib.a static archive 13841 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) 13842 for ld_flag in $LDFLAGS; do 13843 case $ld_flag in 13844 *-brtl*) 13845 aix_use_runtimelinking=yes 13846 break 13847 ;; 13848 esac 13849 done 13850 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 13851 # 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=yes 13855 LDFLAGS="$LDFLAGS -Wl,-brtl" 13856 fi 13857 ;; 13858 esac 13859 13860 exp_sym_flag='-bexport' 13861 no_entry_flag='-bnoentry' 13862 fi 13863 13864 # When large executables or shared objects are built, AIX ld can 13865 # have problems creating the table of contents. If linking a library 13866 # or program results in "error TOC overflow" add -mminimal-toc to 13867 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 13868 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 13869 13870 archive_cmds_CXX='' 13871 hardcode_direct_CXX=yes 13872 hardcode_direct_absolute_CXX=yes 13873 hardcode_libdir_separator_CXX=':' 13874 link_all_deplibs_CXX=yes 13875 file_list_spec_CXX='$wl-f,' 13876 case $with_aix_soname,$aix_use_runtimelinking in 13877 aix,*) ;; # no import file 13878 svr4,* | *,yes) # use import file 13879 # The Import File defines what to hardcode. 13880 hardcode_direct_CXX=no 13881 hardcode_direct_absolute_CXX=no 13882 ;; 13883 esac 13884 13885 if test yes = "$GXX"; then 13886 case $host_os in aix4.[012]|aix4.[012].*) 13887 # We only want to do this on AIX 4.2 and lower, the check 13888 # 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/null 13892 then 13893 # We have reworked collect2 13894 : 13895 else 13896 # We have old collect2 13897 hardcode_direct_CXX=unsupported 13898 # It fails to find uninstalled libraries when the uninstalled 13899 # path is not listed in the libpath. Setting hardcode_minus_L 13900 # to unsupported forces relinking 13901 hardcode_minus_L_CXX=yes 13902 hardcode_libdir_flag_spec_CXX='-L$libdir' 13903 hardcode_libdir_separator_CXX= 13904 fi 13905 esac 13906 shared_flag='-shared' 13907 if test yes = "$aix_use_runtimelinking"; then 13908 shared_flag=$shared_flag' $wl-G' 13909 fi 13910 # Need to ensure runtime linking is disabled for the traditional 13911 # shared library, or the linker may eventually find shared libraries 13912 # /with/ Import File - we do not want to mix them. 13913 shared_flag_aix='-shared' 13914 shared_flag_svr4='-shared $wl-G' 13915 else 13916 # not using gcc 13917 if test ia64 = "$host_cpu"; then 13918 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 13919 # chokes on -Wl,-G. The following line is correct: 13920 shared_flag='-G' 13921 else 13922 if test yes = "$aix_use_runtimelinking"; then 13923 shared_flag='$wl-G' 13924 else 13925 shared_flag='$wl-bM:SRE' 13926 fi 13927 shared_flag_aix='$wl-bM:SRE' 13928 shared_flag_svr4='$wl-G' 13929 fi 13930 fi 13931 13932 export_dynamic_flag_spec_CXX='$wl-bexpall' 13933 # It seems that -bexpall does not export symbols beginning with 13934 # underscore (_), so it is better to generate a list of symbols to 13935 # export. 13936 always_export_symbols_CXX=yes 13937 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 13938 # 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 empty 13943 # executable. 13944 if test set = "${lt_cv_aix_libpath+set}"; then 13945 aix_libpath=$lt_cv_aix_libpath 13946 else 13947 if ${lt_cv_aix_libpath__CXX+:} false; then : 13948 $as_echo_n "(cached) " >&6 13949 else 13950 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13951 /* end confdefs.h. */ 13952 13953 int 13954 main () 13955 { 13956 13957 ; 13958 return 0; 13959 } 13960 _ACEOF 13961 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 p 13968 } 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"; then 13973 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 13974 fi 13975 fi 13976 rm -f core conftest.err conftest.$ac_objext \ 13977 conftest$ac_exeext conftest.$ac_ext 13978 if test -z "$lt_cv_aix_libpath__CXX"; then 13979 lt_cv_aix_libpath__CXX=/usr/lib:/lib 13980 fi 13981 13982 fi 13983 13984 aix_libpath=$lt_cv_aix_libpath__CXX 13985 fi 13986 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_flag 13990 else 13991 if test ia64 = "$host_cpu"; then 13992 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 else 13996 # Determine the default libpath from the value encoded in an 13997 # empty executable. 13998 if test set = "${lt_cv_aix_libpath+set}"; then 13999 aix_libpath=$lt_cv_aix_libpath 14000 else 14001 if ${lt_cv_aix_libpath__CXX+:} false; then : 14002 $as_echo_n "(cached) " >&6 14003 else 14004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 14005 /* end confdefs.h. */ 14006 14007 int 14008 main () 14009 { 14010 14011 ; 14012 return 0; 14013 } 14014 _ACEOF 14015 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 p 14022 } 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"; then 14027 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 14028 fi 14029 fi 14030 rm -f core conftest.err conftest.$ac_objext \ 14031 conftest$ac_exeext conftest.$ac_ext 14032 if test -z "$lt_cv_aix_libpath__CXX"; then 14033 lt_cv_aix_libpath__CXX=/usr/lib:/lib 14034 fi 14035 14036 fi 14037 14038 aix_libpath=$lt_cv_aix_libpath__CXX 14039 fi 14040 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"; then 14047 # 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 else 14050 # Exported symbols can be pulled into shared objects from archives 14051 whole_archive_flag_spec_CXX='$convenience' 14052 fi 14053 archive_cmds_need_lc_CXX=yes 14054 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 later 14056 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' 14057 if test svr4 != "$with_aix_soname"; then 14058 # This is similar to how AIX traditionally builds its shared 14059 # 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 fi 14062 if test aix != "$with_aix_soname"; then 14063 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 else 14065 # used by -dlpreopen to get the symbols 14066 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 14067 fi 14068 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' 14069 fi 14070 fi 14071 ;; 14072 14073 beos*) 14074 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 14075 allow_undefined_flag_CXX=unsupported 14076 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 14077 # support --undefined. This deserves some investigation. FIXME 14078 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 14079 else 14080 ld_shlibs_CXX=no 14081 fi 14082 ;; 14083 14084 chorus*) 14085 case $cc_basename in 14086 *) 14087 # FIXME: insert proper C++ library support 14088 ld_shlibs_CXX=no 14089 ;; 14090 esac 14091 ;; 14092 14093 cygwin* | mingw* | pw32* | cegcc*) 14094 case $GXX,$cc_basename in 14095 ,cl* | no,cl*) 14096 # Native MSVC 14097 # hardcode_libdir_flag_spec is actually meaningless, as there is 14098 # no search path for DLLs. 14099 hardcode_libdir_flag_spec_CXX=' ' 14100 allow_undefined_flag_CXX=unsupported 14101 always_export_symbols_CXX=yes 14102 file_list_spec_CXX='@' 14103 # Tell ltmain to make .lib files, not .a files. 14104 libext=lib 14105 # Tell ltmain to make .dll files, not .so files. 14106 shrext_cmds=.dll 14107 # 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`" ; then 14110 cp "$export_symbols" "$output_objdir/$soname.def"; 14111 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 14112 else 14113 $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=yes 14120 # Don't use ranlib 14121 old_postinstall_cmds_CXX='chmod 644 $oldlib' 14122 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ 14123 lt_tool_outputfile="@TOOL_OUTPUT@"~ 14124 case $lt_outputfile in 14125 *.exe|*.EXE) ;; 14126 *) 14127 lt_outputfile=$lt_outputfile.exe 14128 lt_tool_outputfile=$lt_tool_outputfile.exe 14129 ;; 14130 esac~ 14131 func_to_tool_file "$lt_outputfile"~ 14132 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 14133 $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=unsupported 14144 always_export_symbols_CXX=no 14145 enable_shared_with_static_runtimes_CXX=yes 14146 14147 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 14148 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 as 14150 # 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`" ; then 14152 cp $export_symbols $output_objdir/$soname.def; 14153 else 14154 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 else 14159 ld_shlibs_CXX=no 14160 fi 14161 ;; 14162 esac 14163 ;; 14164 darwin* | rhapsody*) 14165 14166 14167 archive_cmds_need_lc_CXX=no 14168 hardcode_direct_CXX=no 14169 hardcode_automatic_CXX=yes 14170 hardcode_shlibpath_var_CXX=unsupported 14171 if test yes = "$lt_cv_ld_force_load"; then 14172 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 else 14175 whole_archive_flag_spec_CXX='' 14176 fi 14177 link_all_deplibs_CXX=yes 14178 allow_undefined_flag_CXX=$_lt_dar_allow_undefined 14179 case $cc_basename in 14180 ifort*|nagfor*) _lt_dar_can_shared=yes ;; 14181 *) _lt_dar_can_shared=$GCC ;; 14182 esac 14183 if test yes = "$_lt_dar_can_shared"; then 14184 output_verbose_link_cmd=func_echo_all 14185 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"; then 14190 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 fi 14193 14194 else 14195 ld_shlibs_CXX=no 14196 fi 14197 14198 ;; 14199 14200 os2*) 14201 hardcode_libdir_flag_spec_CXX='-L$libdir' 14202 hardcode_minus_L_CXX=yes 14203 allow_undefined_flag_CXX=unsupported 14204 shrext_cmds=.dll 14205 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`"; then 14218 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=yes 14226 ;; 14227 14228 dgux*) 14229 case $cc_basename in 14230 ec++*) 14231 # FIXME: insert proper C++ library support 14232 ld_shlibs_CXX=no 14233 ;; 14234 ghcx*) 14235 # Green Hills C++ Compiler 14236 # FIXME: insert proper C++ library support 14237 ld_shlibs_CXX=no 14238 ;; 14239 *) 14240 # FIXME: insert proper C++ library support 14241 ld_shlibs_CXX=no 14242 ;; 14243 esac 14244 ;; 14245 14246 freebsd2.*) 14247 # C++ shared libraries reported to be fairly broken before 14248 # switch to ELF 14249 ld_shlibs_CXX=no 14250 ;; 14251 14252 freebsd-elf*) 14253 archive_cmds_need_lc_CXX=no 14254 ;; 14255 14256 freebsd* | dragonfly*) 14257 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 14258 # conventions 14259 ld_shlibs_CXX=yes 14260 ;; 14261 14262 haiku*) 14263 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 14264 link_all_deplibs_CXX=yes 14265 ;; 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=yes 14272 hardcode_minus_L_CXX=yes # Not in the search PATH, 14273 # but as the default 14274 # location of the library. 14275 14276 case $cc_basename in 14277 CC*) 14278 # FIXME: insert proper C++ library support 14279 ld_shlibs_CXX=no 14280 ;; 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 lists 14284 # what "hidden" libraries, object files and flags are used when 14285 # linking a shared library. 14286 # 14287 # There doesn't appear to be a way to prevent this compiler from 14288 # explicitly linking system object files so we need to strip them 14289 # from the output so that they don't get included in the library 14290 # 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"; then 14295 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 else 14297 # FIXME: insert proper C++ library support 14298 ld_shlibs_CXX=no 14299 fi 14300 ;; 14301 esac 14302 ;; 14303 14304 hpux10*|hpux11*) 14305 if test no = "$with_gnu_ld"; then 14306 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' 14307 hardcode_libdir_separator_CXX=: 14308 14309 case $host_cpu in 14310 hppa*64*|ia64*) 14311 ;; 14312 *) 14313 export_dynamic_flag_spec_CXX='$wl-E' 14314 ;; 14315 esac 14316 fi 14317 case $host_cpu in 14318 hppa*64*|ia64*) 14319 hardcode_direct_CXX=no 14320 hardcode_shlibpath_var_CXX=no 14321 ;; 14322 *) 14323 hardcode_direct_CXX=yes 14324 hardcode_direct_absolute_CXX=yes 14325 hardcode_minus_L_CXX=yes # Not in the search PATH, 14326 # but as the default 14327 # location of the library. 14328 ;; 14329 esac 14330 14331 case $cc_basename in 14332 CC*) 14333 # FIXME: insert proper C++ library support 14334 ld_shlibs_CXX=no 14335 ;; 14336 aCC*) 14337 case $host_cpu in 14338 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 esac 14348 # Commands to make compiler produce verbose output that lists 14349 # what "hidden" libraries, object files and flags are used when 14350 # linking a shared library. 14351 # 14352 # There doesn't appear to be a way to prevent this compiler from 14353 # explicitly linking system object files so we need to strip them 14354 # from the output so that they don't get included in the library 14355 # 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"; then 14360 if test no = "$with_gnu_ld"; then 14361 case $host_cpu in 14362 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 esac 14372 fi 14373 else 14374 # FIXME: insert proper C++ library support 14375 ld_shlibs_CXX=no 14376 fi 14377 ;; 14378 esac 14379 ;; 14380 14381 interix[3-9]*) 14382 hardcode_direct_CXX=no 14383 hardcode_shlibpath_var_CXX=no 14384 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 by 14388 # default) and relocated if they conflict, which is a slow very memory 14389 # consuming and fragmenting process. To avoid this, we pick a random, 14390 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 14391 # 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 in 14397 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 using 14402 # "CC -ar", where "CC" is the IRIX C++ compiler. This is 14403 # necessary to make sure instantiated templates are included 14404 # in the archive. 14405 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' 14406 ;; 14407 *) 14408 if test yes = "$GXX"; then 14409 if test no = "$with_gnu_ld"; then 14410 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 else 14412 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 fi 14414 fi 14415 link_all_deplibs_CXX=yes 14416 ;; 14417 esac 14418 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' 14419 hardcode_libdir_separator_CXX=: 14420 inherit_rpath_CXX=yes 14421 ;; 14422 14423 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 14424 case $cc_basename in 14425 KCC*) 14426 # Kuck and Associates, Inc. (KAI) C++ Compiler 14427 14428 # KCC will only create a shared library if the output file 14429 # ends with ".so" (or ".sl" for HP-UX), so rename the library 14430 # 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 lists 14434 # what "hidden" libraries, object files and flags are used when 14435 # linking a shared library. 14436 # 14437 # There doesn't appear to be a way to prevent this compiler from 14438 # explicitly linking system object files so we need to strip them 14439 # from the output so that they don't get included in the library 14440 # 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 using 14447 # "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=yes 14453 # version 8.0 and above of icpc choke on multiply defined symbols 14454 # if we add $predep_objects and $postdep_objects, however 7.1 and 14455 # earlier do not add the objects themselves. 14456 case `$CC -V 2>&1` in 14457 *"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 newer 14462 tmp_idyn= 14463 case $host_cpu in 14464 ia64*) tmp_idyn=' -i_dynamic';; 14465 esac 14466 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 esac 14470 archive_cmds_need_lc_CXX=no 14471 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++ compiler 14477 case `$CC -V` in 14478 *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 symbols 14498 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 esac 14502 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_PATH 14513 hardcode_libdir_flag_spec_CXX='-rpath $libdir' 14514 hardcode_libdir_separator_CXX=: 14515 14516 # Commands to make compiler produce verbose output that lists 14517 # what "hidden" libraries, object files and flags are used when 14518 # linking a shared library. 14519 # 14520 # There doesn't appear to be a way to prevent this compiler from 14521 # explicitly linking system object files so we need to strip them 14522 # from the output so that they don't get included in the library 14523 # 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 ld 14528 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"; then 14532 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 fi 14537 ;; 14538 *) 14539 case `$CC -V 2>&1 | sed 5q` in 14540 *Sun\ C*) 14541 # Sun C++ 5.9 14542 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=yes 14548 14549 # Not sure whether something based on 14550 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 14551 # would be better. 14552 output_verbose_link_cmd='func_echo_all' 14553 14554 # Archives containing C++ object files must be created using 14555 # "CC -xar", where "CC" is the Sun C++ compiler. This is 14556 # necessary to make sure instantiated templates are included 14557 # in the archive. 14558 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' 14559 ;; 14560 esac 14561 ;; 14562 esac 14563 ;; 14564 14565 lynxos*) 14566 # FIXME: insert proper C++ library support 14567 ld_shlibs_CXX=no 14568 ;; 14569 14570 m88k*) 14571 # FIXME: insert proper C++ library support 14572 ld_shlibs_CXX=no 14573 ;; 14574 14575 mvs*) 14576 case $cc_basename in 14577 cxx*) 14578 # FIXME: insert proper C++ library support 14579 ld_shlibs_CXX=no 14580 ;; 14581 *) 14582 # FIXME: insert proper C++ library support 14583 ld_shlibs_CXX=no 14584 ;; 14585 esac 14586 ;; 14587 14588 netbsd*) 14589 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 14590 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=yes 14594 hardcode_shlibpath_var_CXX=no 14595 fi 14596 # Workaround some broken pre-1.5 toolchains 14597 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=yes 14602 ;; 14603 14604 openbsd* | bitrig*) 14605 if test -f /usr/libexec/ld.so; then 14606 hardcode_direct_CXX=yes 14607 hardcode_shlibpath_var_CXX=no 14608 hardcode_direct_absolute_CXX=yes 14609 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__`"; then 14612 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 fi 14616 output_verbose_link_cmd=func_echo_all 14617 else 14618 ld_shlibs_CXX=no 14619 fi 14620 ;; 14621 14622 osf3* | osf4* | osf5*) 14623 case $cc_basename in 14624 KCC*) 14625 # Kuck and Associates, Inc. (KAI) C++ Compiler 14626 14627 # KCC will only create a shared library if the output file 14628 # ends with ".so" (or ".sl" for HP-UX), so rename the library 14629 # 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 using 14636 # the KAI C++ compiler. 14637 case $host in 14638 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; 14639 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; 14640 esac 14641 ;; 14642 RCC*) 14643 # Rational C++ 2.4.1 14644 # FIXME: insert proper C++ library support 14645 ld_shlibs_CXX=no 14646 ;; 14647 cxx*) 14648 case $host in 14649 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 esac 14664 14665 hardcode_libdir_separator_CXX=: 14666 14667 # Commands to make compiler produce verbose output that lists 14668 # what "hidden" libraries, object files and flags are used when 14669 # linking a shared library. 14670 # 14671 # There doesn't appear to be a way to prevent this compiler from 14672 # explicitly linking system object files so we need to strip them 14673 # from the output so that they don't get included in the library 14674 # 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"; then 14679 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' 14680 case $host in 14681 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 esac 14688 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 lists 14693 # what "hidden" libraries, object files and flags are used when 14694 # 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 else 14698 # FIXME: insert proper C++ library support 14699 ld_shlibs_CXX=no 14700 fi 14701 ;; 14702 esac 14703 ;; 14704 14705 psos*) 14706 # FIXME: insert proper C++ library support 14707 ld_shlibs_CXX=no 14708 ;; 14709 14710 sunos4*) 14711 case $cc_basename in 14712 CC*) 14713 # Sun C++ 4.x 14714 # FIXME: insert proper C++ library support 14715 ld_shlibs_CXX=no 14716 ;; 14717 lcc*) 14718 # Lucid 14719 # FIXME: insert proper C++ library support 14720 ld_shlibs_CXX=no 14721 ;; 14722 *) 14723 # FIXME: insert proper C++ library support 14724 ld_shlibs_CXX=no 14725 ;; 14726 esac 14727 ;; 14728 14729 solaris*) 14730 case $cc_basename in 14731 CC* | sunCC*) 14732 # Sun C++ 4.2, 5.x and Centerline C++ 14733 archive_cmds_need_lc_CXX=yes 14734 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=no 14741 case $host_os in 14742 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 esac 14750 link_all_deplibs_CXX=yes 14751 14752 output_verbose_link_cmd='func_echo_all' 14753 14754 # Archives containing C++ object files must be created using 14755 # "CC -xar", where "CC" is the Sun C++ compiler. This is 14756 # necessary to make sure instantiated templates are included 14757 # in the archive. 14758 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' 14759 ;; 14760 gcx*) 14761 # Green Hills C++ Compiler 14762 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 linker 14769 if test yes,no = "$GXX,$with_gnu_ld"; then 14770 no_undefined_flag_CXX=' $wl-z ${wl}defs' 14771 if $CC --version | $GREP -v '^2\.7' > /dev/null; then 14772 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 lists 14777 # what "hidden" libraries, object files and flags are used when 14778 # linking a shared library. 14779 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 14780 else 14781 # g++ 2.7 appears to require '-G' NOT '-shared' on this 14782 # 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 lists 14788 # what "hidden" libraries, object files and flags are used when 14789 # linking a shared library. 14790 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 14791 fi 14792 14793 hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' 14794 case $host_os in 14795 solaris2.[0-5] | solaris2.[0-5].*) ;; 14796 *) 14797 whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 14798 ;; 14799 esac 14800 fi 14801 ;; 14802 esac 14803 ;; 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=no 14808 hardcode_shlibpath_var_CXX=no 14809 runpath_var='LD_RUN_PATH' 14810 14811 case $cc_basename in 14812 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 esac 14821 ;; 14822 14823 sysv5* | sco3.2v5* | sco5v6*) 14824 # Note: We CANNOT use -z defs as we might desire, because we do not 14825 # link with -lc, and that would cause any symbols used from libc to 14826 # always be unresolved, which means just about no library would 14827 # ever link correctly. If we're not using GNU ld we use -z text 14828 # though, which does catch some bad symbols but isn't as heavy-handed 14829 # 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=no 14833 hardcode_shlibpath_var_CXX=no 14834 hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' 14835 hardcode_libdir_separator_CXX=':' 14836 link_all_deplibs_CXX=yes 14837 export_dynamic_flag_spec_CXX='$wl-Bexport' 14838 runpath_var='LD_RUN_PATH' 14839 14840 case $cc_basename in 14841 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 esac 14854 ;; 14855 14856 tandem*) 14857 case $cc_basename in 14858 NCC*) 14859 # NonStop-UX NCC 3.20 14860 # FIXME: insert proper C++ library support 14861 ld_shlibs_CXX=no 14862 ;; 14863 *) 14864 # FIXME: insert proper C++ library support 14865 ld_shlibs_CXX=no 14866 ;; 14867 esac 14868 ;; 14869 14870 vxworks*) 14871 # FIXME: insert proper C++ library support 14872 ld_shlibs_CXX=no 14873 ;; 14874 14875 *) 14876 # FIXME: insert proper C++ library support 14877 ld_shlibs_CXX=no 14878 ;; 14879 esac 14880 14881 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 14882 $as_echo "$ld_shlibs_CXX" >&6; } 14883 test no = "$ld_shlibs_CXX" && can_build_shared=no 14884 14885 GCC_CXX=$GXX 14886 LD_CXX=$LD 14887 14888 ## CAVEAT EMPTOR: 14889 ## There is no encapsulation within the following macros, do not change 14890 ## the running order or otherwise move them around unless you know exactly 14891 ## 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_EOF 14900 class Foo 14901 { 14902 public: 14903 Foo (void) { a = 0; } 14904 private: 14905 int a; 14906 }; 14907 _LT_EOF 14908 14909 14910 _lt_libdeps_save_CFLAGS=$CFLAGS 14911 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 esac 14916 14917 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 14918 (eval $ac_compile) 2>&5 14919 ac_status=$? 14920 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 14921 test $ac_status = 0; }; then 14922 # Parse the compiler output and extract the necessary 14923 # objects, libraries and library flags. 14924 14925 # Sentinel used to keep track of whether or not we are before 14926 # the conftest object file. 14927 pre_test_object_deps_done=no 14928 14929 for p in `eval "$output_verbose_link_cmd"`; do 14930 case $prev$p in 14931 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"; then 14937 prev=$p 14938 continue 14939 fi 14940 14941 # Expand the sysroot to ease extracting the directories later. 14942 if test -z "$prev"; then 14943 case $p in 14944 -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 esac 14948 fi 14949 case $p in 14950 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 14951 esac 14952 if test no = "$pre_test_object_deps_done"; then 14953 case $prev in 14954 -L | -R) 14955 # Internal compiler library paths should come after those 14956 # provided the user. The postdeps already come after the 14957 # user supplied libs so there is no need to process them. 14958 if test -z "$compiler_lib_search_path_CXX"; then 14959 compiler_lib_search_path_CXX=$prev$p 14960 else 14961 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" 14962 fi 14963 ;; 14964 # The "-l" case would never come before the object being 14965 # linked, so don't bother handling this case. 14966 esac 14967 else 14968 if test -z "$postdeps_CXX"; then 14969 postdeps_CXX=$prev$p 14970 else 14971 postdeps_CXX="${postdeps_CXX} $prev$p" 14972 fi 14973 fi 14974 prev= 14975 ;; 14976 14977 *.lto.$objext) ;; # Ignore GCC LTO objects 14978 *.$objext) 14979 # This assumes that the test object file only shows up 14980 # once in the compiler output. 14981 if test "$p" = "conftest.$objext"; then 14982 pre_test_object_deps_done=yes 14983 continue 14984 fi 14985 14986 if test no = "$pre_test_object_deps_done"; then 14987 if test -z "$predep_objects_CXX"; then 14988 predep_objects_CXX=$p 14989 else 14990 predep_objects_CXX="$predep_objects_CXX $p" 14991 fi 14992 else 14993 if test -z "$postdep_objects_CXX"; then 14994 postdep_objects_CXX=$p 14995 else 14996 postdep_objects_CXX="$postdep_objects_CXX $p" 14997 fi 14998 fi 14999 ;; 15000 15001 *) ;; # Ignore the rest. 15002 15003 esac 15004 done 15005 15006 # Clean up. 15007 rm -f a.out a.exe 15008 else 15009 echo "libtool.m4: error: problem compiling CXX test program" 15010 fi 15011 15012 $RM -f confest.$objext 15013 CFLAGS=$_lt_libdeps_save_CFLAGS 15014 15015 # PORTME: override above test on systems where it is broken 15016 case $host_os in 15017 interix[3-9]*) 15018 # Interix 3.5 installs completely hosed .la files for C++, so rather than 15019 # hack all around it, let's just trust "g++" to DTRT. 15020 predep_objects_CXX= 15021 postdep_objects_CXX= 15022 postdeps_CXX= 15023 ;; 15024 esac 15025 15026 15027 case " $postdeps_CXX " in 15028 *" -lc "*) archive_cmds_need_lc_CXX=no ;; 15029 esac 15030 compiler_lib_search_dirs_CXX= 15031 if test -n "${compiler_lib_search_path_CXX}"; then 15032 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` 15033 fi 15034 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"; then 15072 lt_prog_compiler_wl_CXX='-Wl,' 15073 lt_prog_compiler_static_CXX='-static' 15074 15075 case $host_os in 15076 aix*) 15077 # All AIX code is PIC. 15078 if test ia64 = "$host_cpu"; then 15079 # AIX 5 now supports IA64 processor 15080 lt_prog_compiler_static_CXX='-Bstatic' 15081 fi 15082 lt_prog_compiler_pic_CXX='-fPIC' 15083 ;; 15084 15085 amigaos*) 15086 case $host_cpu in 15087 powerpc) 15088 # see comment about AmigaOS4 .so support 15089 lt_prog_compiler_pic_CXX='-fPIC' 15090 ;; 15091 m68k) 15092 # FIXME: we need at least 68020 code to build shared libraries, but 15093 # 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 esac 15098 ;; 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 being 15105 # built for inclusion in a dll (and should export symbols for example). 15106 # Although the cygwin gcc ignores -fPIC, still need this for old-style 15107 # (--disable-auto-import) libraries 15108 lt_prog_compiler_pic_CXX='-DDLL_EXPORT' 15109 case $host_os in 15110 os2*) 15111 lt_prog_compiler_static_CXX='$wl-static' 15112 ;; 15113 esac 15114 ;; 15115 darwin* | rhapsody*) 15116 # PIC is the default on this platform 15117 # Common symbols not allowed in MH_DYLIB files 15118 lt_prog_compiler_pic_CXX='-fno-common' 15119 ;; 15120 *djgpp*) 15121 # DJGPP does not support shared libraries at all 15122 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; then 15135 lt_prog_compiler_pic_CXX=-Kconform_pic 15136 fi 15137 ;; 15138 hpux*) 15139 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 15140 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 15141 # sets the default TLS model and affects inlining. 15142 case $host_cpu in 15143 hppa*64*) 15144 ;; 15145 *) 15146 lt_prog_compiler_pic_CXX='-fPIC' 15147 ;; 15148 esac 15149 ;; 15150 *qnx* | *nto*) 15151 # QNX uses GNU C++, but need to define -shared option too, otherwise 15152 # it will coredump. 15153 lt_prog_compiler_pic_CXX='-fPIC -shared' 15154 ;; 15155 *) 15156 lt_prog_compiler_pic_CXX='-fPIC' 15157 ;; 15158 esac 15159 else 15160 case $host_os in 15161 aix[4-9]*) 15162 # All AIX code is PIC. 15163 if test ia64 = "$host_cpu"; then 15164 # AIX 5 now supports IA64 processor 15165 lt_prog_compiler_static_CXX='-Bstatic' 15166 else 15167 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' 15168 fi 15169 ;; 15170 chorus*) 15171 case $cc_basename in 15172 cxch68*) 15173 # Green Hills C++ Compiler 15174 # _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 esac 15177 ;; 15178 mingw* | cygwin* | os2* | pw32* | cegcc*) 15179 # This hack is so that the source file can tell whether it is being 15180 # 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 in 15185 ec++*) 15186 lt_prog_compiler_pic_CXX='-KPIC' 15187 ;; 15188 ghcx*) 15189 # Green Hills C++ Compiler 15190 lt_prog_compiler_pic_CXX='-pic' 15191 ;; 15192 *) 15193 ;; 15194 esac 15195 ;; 15196 freebsd* | dragonfly*) 15197 # FreeBSD uses GNU C++ 15198 ;; 15199 hpux9* | hpux10* | hpux11*) 15200 case $cc_basename in 15201 CC*) 15202 lt_prog_compiler_wl_CXX='-Wl,' 15203 lt_prog_compiler_static_CXX='$wl-a ${wl}archive' 15204 if test ia64 != "$host_cpu"; then 15205 lt_prog_compiler_pic_CXX='+Z' 15206 fi 15207 ;; 15208 aCC*) 15209 lt_prog_compiler_wl_CXX='-Wl,' 15210 lt_prog_compiler_static_CXX='$wl-a ${wl}archive' 15211 case $host_cpu in 15212 hppa*64*|ia64*) 15213 # +Z the default 15214 ;; 15215 *) 15216 lt_prog_compiler_pic_CXX='+Z' 15217 ;; 15218 esac 15219 ;; 15220 *) 15221 ;; 15222 esac 15223 ;; 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 in 15230 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 esac 15238 ;; 15239 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 15240 case $cc_basename in 15241 KCC*) 15242 # KAI C++ Compiler 15243 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++ compiler 15261 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 Alpha 15268 # 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 BlueGene 15274 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` in 15280 *Sun\ C*) 15281 # Sun C++ 5.9 15282 lt_prog_compiler_pic_CXX='-KPIC' 15283 lt_prog_compiler_static_CXX='-Bstatic' 15284 lt_prog_compiler_wl_CXX='-Qoption ld ' 15285 ;; 15286 esac 15287 ;; 15288 esac 15289 ;; 15290 lynxos*) 15291 ;; 15292 m88k*) 15293 ;; 15294 mvs*) 15295 case $cc_basename in 15296 cxx*) 15297 lt_prog_compiler_pic_CXX='-W c,exportall' 15298 ;; 15299 *) 15300 ;; 15301 esac 15302 ;; 15303 netbsd* | netbsdelf*-gnu) 15304 ;; 15305 *qnx* | *nto*) 15306 # QNX uses GNU C++, but need to define -shared option too, otherwise 15307 # it will coredump. 15308 lt_prog_compiler_pic_CXX='-fPIC -shared' 15309 ;; 15310 osf3* | osf4* | osf5*) 15311 case $cc_basename in 15312 KCC*) 15313 lt_prog_compiler_wl_CXX='--backend -Wl,' 15314 ;; 15315 RCC*) 15316 # Rational C++ 2.4.1 15317 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 Alpha 15323 # 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 esac 15330 ;; 15331 psos*) 15332 ;; 15333 solaris*) 15334 case $cc_basename in 15335 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++ Compiler 15343 lt_prog_compiler_pic_CXX='-PIC' 15344 ;; 15345 *) 15346 ;; 15347 esac 15348 ;; 15349 sunos4*) 15350 case $cc_basename in 15351 CC*) 15352 # Sun C++ 4.x 15353 lt_prog_compiler_pic_CXX='-pic' 15354 lt_prog_compiler_static_CXX='-Bstatic' 15355 ;; 15356 lcc*) 15357 # Lucid 15358 lt_prog_compiler_pic_CXX='-pic' 15359 ;; 15360 *) 15361 ;; 15362 esac 15363 ;; 15364 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 15365 case $cc_basename in 15366 CC*) 15367 lt_prog_compiler_wl_CXX='-Wl,' 15368 lt_prog_compiler_pic_CXX='-KPIC' 15369 lt_prog_compiler_static_CXX='-Bstatic' 15370 ;; 15371 esac 15372 ;; 15373 tandem*) 15374 case $cc_basename in 15375 NCC*) 15376 # NonStop-UX NCC 3.20 15377 lt_prog_compiler_pic_CXX='-KPIC' 15378 ;; 15379 *) 15380 ;; 15381 esac 15382 ;; 15383 vxworks*) 15384 ;; 15385 *) 15386 lt_prog_compiler_can_build_shared_CXX=no 15387 ;; 15388 esac 15389 fi 15390 15391 case $host_os in 15392 # 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 esac 15400 15401 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 15402 $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) " >&6 15405 else 15406 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX 15407 fi 15408 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 15409 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } 15410 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX 15411 15412 # 15413 # Check to make sure the PIC flag actually works. 15414 # 15415 if test -n "$lt_prog_compiler_pic_CXX"; then 15416 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 15417 $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) " >&6 15420 else 15421 lt_cv_prog_compiler_pic_works_CXX=no 15422 ac_outfile=conftest.$ac_objext 15423 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 15424 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment 15425 # Insert the option either (1) after the last *FLAGS variable, or 15426 # (2) before a word containing "conftest.", or (3) at the end. 15427 # Note that $ac_compile itself does not contain backslashes and begins 15428 # 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 >&5 15438 echo "$as_me:$LINENO: \$? = $ac_status" >&5 15439 if (exit $ac_status) && test -s "$ac_outfile"; then 15440 # The compiler can only warn and ignore the option if not recognized 15441 # So say no if there are warnings other than the usual output. 15442 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 15443 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 15444 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 15445 lt_cv_prog_compiler_pic_works_CXX=yes 15446 fi 15447 fi 15448 $RM conftest* 15449 15450 fi 15451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 15452 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } 15453 15454 if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then 15455 case $lt_prog_compiler_pic_CXX in 15456 "" | " "*) ;; 15457 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; 15458 esac 15459 else 15460 lt_prog_compiler_pic_CXX= 15461 lt_prog_compiler_can_build_shared_CXX=no 15462 fi 15463 15464 fi 15465 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" >&5 15475 $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) " >&6 15478 else 15479 lt_cv_prog_compiler_static_works_CXX=no 15480 save_LDFLAGS=$LDFLAGS 15481 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" 15482 echo "$lt_simple_link_test_code" > conftest.$ac_ext 15483 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 15484 # The linker can only warn and ignore the option if not recognized 15485 # So say no if there are warnings 15486 if test -s conftest.err; then 15487 # Append any errors to the config.log. 15488 cat conftest.err 1>&5 15489 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 15490 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 15491 if diff conftest.exp conftest.er2 >/dev/null; then 15492 lt_cv_prog_compiler_static_works_CXX=yes 15493 fi 15494 else 15495 lt_cv_prog_compiler_static_works_CXX=yes 15496 fi 15497 fi 15498 $RM -r conftest* 15499 LDFLAGS=$save_LDFLAGS 15500 15501 fi 15502 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 15503 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } 15504 15505 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then 15506 : 15507 else 15508 lt_prog_compiler_static_CXX= 15509 fi 15510 15511 15512 15513 15514 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 15515 $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) " >&6 15518 else 15519 lt_cv_prog_compiler_c_o_CXX=no 15520 $RM -r conftest 2>/dev/null 15521 mkdir conftest 15522 cd conftest 15523 mkdir out 15524 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 15525 15526 lt_compiler_flag="-o out/conftest2.$ac_objext" 15527 # Insert the option either (1) after the last *FLAGS variable, or 15528 # (2) before a word containing "conftest.", or (3) at the end. 15529 # Note that $ac_compile itself does not contain backslashes and begins 15530 # 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 >&5 15539 echo "$as_me:$LINENO: \$? = $ac_status" >&5 15540 if (exit $ac_status) && test -s out/conftest2.$ac_objext 15541 then 15542 # The compiler can only warn and ignore the option if not recognized 15543 # So say no if there are warnings 15544 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 15545 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 15546 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 15547 lt_cv_prog_compiler_c_o_CXX=yes 15548 fi 15549 fi 15550 chmod u+w . 2>&5 15551 $RM conftest* 15552 # SGI C++ compiler will create directory out/ii_files/ for 15553 # template instantiation 15554 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 15555 $RM out/* && rmdir out 15556 cd .. 15557 $RM -r conftest 15558 $RM conftest* 15559 15560 fi 15561 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 15562 $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" >&5 15567 $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) " >&6 15570 else 15571 lt_cv_prog_compiler_c_o_CXX=no 15572 $RM -r conftest 2>/dev/null 15573 mkdir conftest 15574 cd conftest 15575 mkdir out 15576 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 15577 15578 lt_compiler_flag="-o out/conftest2.$ac_objext" 15579 # Insert the option either (1) after the last *FLAGS variable, or 15580 # (2) before a word containing "conftest.", or (3) at the end. 15581 # Note that $ac_compile itself does not contain backslashes and begins 15582 # 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 >&5 15591 echo "$as_me:$LINENO: \$? = $ac_status" >&5 15592 if (exit $ac_status) && test -s out/conftest2.$ac_objext 15593 then 15594 # The compiler can only warn and ignore the option if not recognized 15595 # So say no if there are warnings 15596 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 15597 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 15598 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 15599 lt_cv_prog_compiler_c_o_CXX=yes 15600 fi 15601 fi 15602 chmod u+w . 2>&5 15603 $RM conftest* 15604 # SGI C++ compiler will create directory out/ii_files/ for 15605 # template instantiation 15606 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 15607 $RM out/* && rmdir out 15608 cd .. 15609 $RM -r conftest 15610 $RM conftest* 15611 15612 fi 15613 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 15614 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } 15615 15616 15617 15618 15619 hard_links=nottested 15620 if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then 15621 # do not overwrite the value of need_locks provided by the user 15622 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 15623 $as_echo_n "checking if we can lock with hard links... " >&6; } 15624 hard_links=yes 15625 $RM conftest* 15626 ln conftest.a conftest.b 2>/dev/null && hard_links=no 15627 touch conftest.a 15628 ln conftest.a conftest.b 2>&5 || hard_links=no 15629 ln conftest.a conftest.b 2>/dev/null && hard_links=no 15630 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 15631 $as_echo "$hard_links" >&6; } 15632 if test no = "$hard_links"; then 15633 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 15634 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} 15635 need_locks=warn 15636 fi 15637 else 15638 need_locks=no 15639 fi 15640 15641 15642 15643 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 15644 $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 in 15649 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 treats 15653 # weak defined symbols like other global defined symbols, whereas 15654 # GNU nm marks them as "W". 15655 # While the 'weak' keyword is ignored in the Export File, we need 15656 # it in the Import File for the 'aix-soname' feature, so we have 15657 # to replace the "-B" option with "-P" for AIX nm. 15658 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 15659 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 else 15661 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 fi 15663 ;; 15664 pw32*) 15665 export_symbols_cmds_CXX=$ltdll_cmds 15666 ;; 15667 cygwin* | mingw* | cegcc*) 15668 case $cc_basename in 15669 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 esac 15677 ;; 15678 linux* | k*bsd*-gnu | gnu*) 15679 link_all_deplibs_CXX=no 15680 ;; 15681 *) 15682 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 15683 ;; 15684 esac 15685 15686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 15687 $as_echo "$ld_shlibs_CXX" >&6; } 15688 test no = "$ld_shlibs_CXX" && can_build_shared=no 15689 15690 with_gnu_ld_CXX=$with_gnu_ld 15691 15692 15693 15694 15695 15696 15697 # 15698 # Do we need to explicitly link libc? 15699 # 15700 case "x$archive_cmds_need_lc_CXX" in 15701 x|xyes) 15702 # Assume -lc should be added 15703 archive_cmds_need_lc_CXX=yes 15704 15705 if test yes,yes = "$GCC,$enable_shared"; then 15706 case $archive_cmds_CXX in 15707 *'~'*) 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 some 15712 # systems, -lgcc has to come before -lc. If gcc already passes -lc 15713 # to ld, don't add -lc before -lgcc. 15714 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 15715 $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) " >&6 15718 else 15719 $RM conftest* 15720 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 15721 15722 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 15723 (eval $ac_compile) 2>&5 15724 ac_status=$? 15725 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 15726 test $ac_status = 0; } 2>conftest.err; then 15727 soname=conftest 15728 lib=conftest 15729 libobjs=conftest.$ac_objext 15730 deplibs= 15731 wl=$lt_prog_compiler_wl_CXX 15732 pic_flag=$lt_prog_compiler_pic_CXX 15733 compiler_flags=-v 15734 linker_flags=-v 15735 verstring= 15736 output_objdir=. 15737 libname=conftest 15738 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX 15739 allow_undefined_flag_CXX= 15740 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 15741 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 15742 ac_status=$? 15743 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 15744 test $ac_status = 0; } 15745 then 15746 lt_cv_archive_cmds_need_lc_CXX=no 15747 else 15748 lt_cv_archive_cmds_need_lc_CXX=yes 15749 fi 15750 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag 15751 else 15752 cat conftest.err 1>&5 15753 fi 15754 $RM conftest* 15755 15756 fi 15757 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 15758 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } 15759 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX 15760 ;; 15761 esac 15762 fi 15763 ;; 15764 esac 15765 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" >&5 15828 $as_echo_n "checking dynamic linker characteristics... " >&6; } 15829 15830 library_names_spec= 15831 libname_spec='lib$name' 15832 soname_spec= 15833 shrext_cmds=.so 15834 postinstall_cmds= 15835 postuninstall_cmds= 15836 finish_cmds= 15837 finish_eval= 15838 shlibpath_var= 15839 shlibpath_overrides_runpath=unknown 15840 version_type=none 15841 dynamic_linker="$host_os ld.so" 15842 sys_lib_dlsearch_path_spec="/lib /usr/lib" 15843 need_lib_prefix=unknown 15844 hardcode_into_libs=no 15845 15846 # when you set need_version to no, make sure it does not cause -set_version 15847 # flags to be left without arguments 15848 need_version=unknown 15849 15850 15851 15852 case $host_os in 15853 aix3*) 15854 version_type=linux # correct to gnu/linux during the next big refactor 15855 library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 15856 shlibpath_var=LIBPATH 15857 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 refactor 15864 need_lib_prefix=no 15865 need_version=no 15866 hardcode_into_libs=yes 15867 if test ia64 = "$host_cpu"; then 15868 # AIX 5 supports IA64 15869 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 15870 shlibpath_var=LD_LIBRARY_PATH 15871 else 15872 # With GCC up to 2.95.x, collect2 would create an import file 15873 # for dependence libraries. The import file would start with 15874 # the line '#! .'. This would cause the generated library to 15875 # depend on '.', always an invalid library. This was fixed in 15876 # development snapshots of GCC prior to 3.0. 15877 case $host_os in 15878 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; then 15882 : 15883 else 15884 can_build_shared=no 15885 fi 15886 ;; 15887 esac 15888 # Using Import Files as archive members, it is possible to support 15889 # filename-based versioning of shared library archives on AIX. While 15890 # this would work for both with and without runtime linking, it will 15891 # prevent static linking of such archives. So we do filename-based 15892 # shared library versioning with .so extension only, which is used 15893 # when both runtime linking and shared linking is enabled. 15894 # Unfortunately, runtime linking may impact performance, so we do 15895 # not want this to be the default eventually. Also, we use the 15896 # versioned .so libs for executables only if there is the -brtl 15897 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 15898 # To allow for filename-based versioning support, we need to create 15899 # libNAME.so.V as an archive file, containing: 15900 # *) an Import File, referring to the versioned filename of the 15901 # archive as well as the shared archive member, telling the 15902 # bitwidth (32 or 64) of that shared object, and providing the 15903 # list of exported symbols of that shared object, eventually 15904 # decorated with the 'weak' keyword 15905 # *) the shared object with the F_LOADONLY flag set, to really avoid 15906 # 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.V 15909 15910 case $with_aix_soname,$aix_use_runtimelinking in 15911 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 15912 # soname into executable. Probably we can add versioning support to 15913 # collect2, so additional links can be useful in future. 15914 aix,yes) # traditional libtool 15915 dynamic_linker='AIX unversionable lib.so' 15916 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 15917 # instead of lib<name>.a to let people know that these are not 15918 # 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 only 15922 dynamic_linker='AIX lib.a(lib.so.V)' 15923 # We preserve .a as extension for shared libraries through AIX4.2 15924 # 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 only 15929 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=yes 15933 ;; 15934 *,yes) # both, prefer svr4 15935 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 handling 15938 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=yes 15942 ;; 15943 *,no) # both, prefer aix 15944 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 handling 15948 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 esac 15952 shlibpath_var=LIBPATH 15953 fi 15954 ;; 15955 15956 amigaos*) 15957 case $host_cpu in 15958 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 esac 15969 ;; 15970 15971 beos*) 15972 library_names_spec='$libname$shared_ext' 15973 dynamic_linker="$host_os ld.so" 15974 shlibpath_var=LIBRARY_PATH 15975 ;; 15976 15977 bsdi[45]*) 15978 version_type=linux # correct to gnu/linux during the next big refactor 15979 need_version=no 15980 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_PATH 15984 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 and 15987 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 15988 # libtool to hard-code these into programs 15989 ;; 15990 15991 cygwin* | mingw* | pw32* | cegcc*) 15992 version_type=windows 15993 shrext_cmds=.dll 15994 need_version=no 15995 need_lib_prefix=no 15996 15997 case $GCC,$cc_basename in 15998 yes,*) 15999 # gcc 16000 library_names_spec='$libname.dll.a' 16001 # DLL is installed to $(libdir)/../bin by postinstall_cmds 16002 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'\''; then 16009 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=yes 16015 16016 case $host_os in 16017 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' prefix 16024 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 esac 16031 dynamic_linker='Win32 ld.exe' 16032 ;; 16033 16034 *,cl*) 16035 # Native MSVC 16036 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 in 16041 mingw*) 16042 sys_lib_search_path_spec= 16043 lt_save_ifs=$IFS 16044 IFS=';' 16045 for lt_path in $LIB 16046 do 16047 IFS=$lt_save_ifs 16048 # 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 done 16052 IFS=$lt_save_ifs 16053 # 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 form 16058 # but this time dos style (no spaces!) so that the unix form looks 16059 # 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=$LIB 16066 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then 16067 # 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 else 16070 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 16071 fi 16072 # FIXME: find the short name or the path components, as spaces are 16073 # common. (e.g. "Program Files" -> "PROGRA~1") 16074 ;; 16075 esac 16076 16077 # DLL is installed to $(libdir)/../bin by postinstall_cmds 16078 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=yes 16087 dynamic_linker='Win32 link.exe' 16088 ;; 16089 16090 *) 16091 # Assume MSVC wrapper 16092 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' 16093 dynamic_linker='Win32 ld.exe' 16094 ;; 16095 esac 16096 # FIXME: first we should search . and the directory the executable is in 16097 shlibpath_var=PATH 16098 ;; 16099 16100 darwin* | rhapsody*) 16101 dynamic_linker="$host_os dyld" 16102 version_type=darwin 16103 need_lib_prefix=no 16104 need_version=no 16105 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 16106 soname_spec='$libname$release$major$shared_ext' 16107 shlibpath_overrides_runpath=yes 16108 shlibpath_var=DYLD_LIBRARY_PATH 16109 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 refactor 16116 need_lib_prefix=no 16117 need_version=no 16118 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_PATH 16121 ;; 16122 16123 freebsd* | dragonfly*) 16124 # DragonFly does not have aout. When/if they implement a new 16125 # versioning mechanism, adjust this. 16126 if test -x /usr/bin/objformat; then 16127 objformat=`/usr/bin/objformat` 16128 else 16129 case $host_os in 16130 freebsd[23].*) objformat=aout ;; 16131 *) objformat=elf ;; 16132 esac 16133 fi 16134 version_type=freebsd-$objformat 16135 case $version_type in 16136 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=no 16140 need_lib_prefix=no 16141 ;; 16142 freebsd-*) 16143 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 16144 need_version=yes 16145 ;; 16146 esac 16147 shlibpath_var=LD_LIBRARY_PATH 16148 case $host_os in 16149 freebsd2.*) 16150 shlibpath_overrides_runpath=yes 16151 ;; 16152 freebsd3.[01]* | freebsdelf3.[01]*) 16153 shlibpath_overrides_runpath=yes 16154 hardcode_into_libs=yes 16155 ;; 16156 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ 16157 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) 16158 shlibpath_overrides_runpath=no 16159 hardcode_into_libs=yes 16160 ;; 16161 *) # from 4.6 on, and DragonFly 16162 shlibpath_overrides_runpath=yes 16163 hardcode_into_libs=yes 16164 ;; 16165 esac 16166 ;; 16167 16168 haiku*) 16169 version_type=linux # correct to gnu/linux during the next big refactor 16170 need_lib_prefix=no 16171 need_version=no 16172 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_PATH 16176 shlibpath_overrides_runpath=no 16177 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 16178 hardcode_into_libs=yes 16179 ;; 16180 16181 hpux9* | hpux10* | hpux11*) 16182 # Give a soname corresponding to the major version so that dld.sl refuses to 16183 # link against other versions. 16184 version_type=sunos 16185 need_lib_prefix=no 16186 need_version=no 16187 case $host_cpu in 16188 ia64*) 16189 shrext_cmds='.so' 16190 hardcode_into_libs=yes 16191 dynamic_linker="$host_os dld.so" 16192 shlibpath_var=LD_LIBRARY_PATH 16193 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"; then 16197 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 16198 sys_lib_dlsearch_path_spec=/usr/lib/hpux32 16199 else 16200 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 16201 sys_lib_dlsearch_path_spec=/usr/lib/hpux64 16202 fi 16203 ;; 16204 hppa*64*) 16205 shrext_cmds='.sl' 16206 hardcode_into_libs=yes 16207 dynamic_linker="$host_os dld.sl" 16208 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 16209 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_spec 16214 ;; 16215 *) 16216 shrext_cmds='.sl' 16217 dynamic_linker="$host_os dld.sl" 16218 shlibpath_var=SHLIB_PATH 16219 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 16220 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 esac 16224 # 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=555 16228 ;; 16229 16230 interix[3-9]*) 16231 version_type=linux # correct to gnu/linux during the next big refactor 16232 need_lib_prefix=no 16233 need_version=no 16234 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_PATH 16238 shlibpath_overrides_runpath=no 16239 hardcode_into_libs=yes 16240 ;; 16241 16242 irix5* | irix6* | nonstopux*) 16243 case $host_os in 16244 nonstopux*) version_type=nonstopux ;; 16245 *) 16246 if test yes = "$lt_cv_prog_gnu_ld"; then 16247 version_type=linux # correct to gnu/linux during the next big refactor 16248 else 16249 version_type=irix 16250 fi ;; 16251 esac 16252 need_lib_prefix=no 16253 need_version=no 16254 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 in 16257 irix5* | nonstopux*) 16258 libsuff= shlibsuff= 16259 ;; 16260 *) 16261 case $LD in # libtool.m4 will add one of these switches to LD 16262 *-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 esac 16270 ;; 16271 esac 16272 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 16273 shlibpath_overrides_runpath=no 16274 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=yes 16277 ;; 16278 16279 # No shared lib support for Linux oldld, aout, or coff. 16280 linux*oldld* | linux*aout* | linux*coff*) 16281 dynamic_linker=no 16282 ;; 16283 16284 linux*android*) 16285 version_type=none # Android doesn't support versioned libraries. 16286 need_lib_prefix=no 16287 need_version=no 16288 library_names_spec='$libname$release$shared_ext' 16289 soname_spec='$libname$release$shared_ext' 16290 finish_cmds= 16291 shlibpath_var=LD_LIBRARY_PATH 16292 shlibpath_overrides_runpath=yes 16293 16294 # This implies no fast_install, which is unacceptable. 16295 # Some rework will be needed to allow for fast_install 16296 # before this can be enabled. 16297 hardcode_into_libs=yes 16298 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 refactor 16307 need_lib_prefix=no 16308 need_version=no 16309 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_PATH 16313 shlibpath_overrides_runpath=no 16314 16315 # Some binutils ld are patched to set DT_RUNPATH 16316 if ${lt_cv_shlibpath_overrides_runpath+:} false; then : 16317 $as_echo_n "(cached) " >&6 16318 else 16319 lt_cv_shlibpath_overrides_runpath=no 16320 save_LDFLAGS=$LDFLAGS 16321 save_libdir=$libdir 16322 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ 16323 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" 16324 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 16325 /* end confdefs.h. */ 16326 16327 int 16328 main () 16329 { 16330 16331 ; 16332 return 0; 16333 } 16334 _ACEOF 16335 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=yes 16338 fi 16339 fi 16340 rm -f core conftest.err conftest.$ac_objext \ 16341 conftest$ac_exeext conftest.$ac_ext 16342 LDFLAGS=$save_LDFLAGS 16343 libdir=$save_libdir 16344 16345 fi 16346 16347 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 16348 16349 # This implies no fast_install, which is unacceptable. 16350 # Some rework will be needed to allow for fast_install 16351 # before this can be enabled. 16352 hardcode_into_libs=yes 16353 16354 # Ideally, we could use ldconfig to report *all* directores which are 16355 # searched for libraries, however this is still not possible. Aside from not 16356 # being certain /sbin/ldconfig is available, command 16357 # '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 by 16359 # appending ld.so.conf contents (and includes) to the search path. 16360 if test -f /etc/ld.so.conf; then 16361 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 fi 16364 16365 # We used to test for /lib/ld.so.1 and disable shared libraries on 16366 # powerpc, because MkLinux only supported shared libraries with the 16367 # GNU dynamic linker. Since this was broken with cross compilers, 16368 # most powerpc-linux boxes support dynamic linking these days and 16369 # people can always --disable-shared, the test was removed, and we 16370 # assume the GNU/Linux dynamic linker is in use. 16371 dynamic_linker='GNU/Linux ld.so' 16372 ;; 16373 16374 netbsdelf*-gnu) 16375 version_type=linux 16376 need_lib_prefix=no 16377 need_version=no 16378 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_PATH 16381 shlibpath_overrides_runpath=no 16382 hardcode_into_libs=yes 16383 dynamic_linker='NetBSD ld.elf_so' 16384 ;; 16385 16386 netbsd*) 16387 version_type=sunos 16388 need_lib_prefix=no 16389 need_version=no 16390 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 16391 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 else 16395 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 fi 16399 shlibpath_var=LD_LIBRARY_PATH 16400 shlibpath_overrides_runpath=yes 16401 hardcode_into_libs=yes 16402 ;; 16403 16404 newsos6) 16405 version_type=linux # correct to gnu/linux during the next big refactor 16406 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 16407 shlibpath_var=LD_LIBRARY_PATH 16408 shlibpath_overrides_runpath=yes 16409 ;; 16410 16411 *nto* | *qnx*) 16412 version_type=qnx 16413 need_lib_prefix=no 16414 need_version=no 16415 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_PATH 16418 shlibpath_overrides_runpath=no 16419 hardcode_into_libs=yes 16420 dynamic_linker='ldqnx.so' 16421 ;; 16422 16423 openbsd* | bitrig*) 16424 version_type=sunos 16425 sys_lib_dlsearch_path_spec=/usr/lib 16426 need_lib_prefix=no 16427 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 16428 need_version=no 16429 else 16430 need_version=yes 16431 fi 16432 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_PATH 16435 shlibpath_overrides_runpath=yes 16436 ;; 16437 16438 os2*) 16439 libname_spec='$name' 16440 version_type=windows 16441 shrext_cmds=.dll 16442 need_version=no 16443 need_lib_prefix=no 16444 # 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=BEGINLIBPATH 16452 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 16453 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 16454 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'\''; then 16461 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=osf 16470 need_lib_prefix=no 16471 need_version=no 16472 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_PATH 16475 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_spec 16477 ;; 16478 16479 rdos*) 16480 dynamic_linker=no 16481 ;; 16482 16483 solaris*) 16484 version_type=linux # correct to gnu/linux during the next big refactor 16485 need_lib_prefix=no 16486 need_version=no 16487 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_PATH 16490 shlibpath_overrides_runpath=yes 16491 hardcode_into_libs=yes 16492 # ldd complains unless libraries are executable 16493 postinstall_cmds='chmod +x $lib' 16494 ;; 16495 16496 sunos4*) 16497 version_type=sunos 16498 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_PATH 16501 shlibpath_overrides_runpath=yes 16502 if test yes = "$with_gnu_ld"; then 16503 need_lib_prefix=no 16504 fi 16505 need_version=yes 16506 ;; 16507 16508 sysv4 | sysv4.3*) 16509 version_type=linux # correct to gnu/linux during the next big refactor 16510 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_PATH 16513 case $host_vendor in 16514 sni) 16515 shlibpath_overrides_runpath=no 16516 need_lib_prefix=no 16517 runpath_var=LD_RUN_PATH 16518 ;; 16519 siemens) 16520 need_lib_prefix=no 16521 ;; 16522 motorola) 16523 need_lib_prefix=no 16524 need_version=no 16525 shlibpath_overrides_runpath=no 16526 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 16527 ;; 16528 esac 16529 ;; 16530 16531 sysv4*MP*) 16532 if test -d /usr/nec; then 16533 version_type=linux # correct to gnu/linux during the next big refactor 16534 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_PATH 16537 fi 16538 ;; 16539 16540 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 16541 version_type=sco 16542 need_lib_prefix=no 16543 need_version=no 16544 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_PATH 16547 shlibpath_overrides_runpath=yes 16548 hardcode_into_libs=yes 16549 if test yes = "$with_gnu_ld"; then 16550 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 16551 else 16552 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 16553 case $host_os in 16554 sco3.2v5*) 16555 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 16556 ;; 16557 esac 16558 fi 16559 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 refactor 16565 need_lib_prefix=no 16566 need_version=no 16567 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 16568 shlibpath_var=LD_LIBRARY_PATH 16569 shlibpath_overrides_runpath=no 16570 hardcode_into_libs=yes 16571 ;; 16572 16573 uts4*) 16574 version_type=linux # correct to gnu/linux during the next big refactor 16575 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_PATH 16578 ;; 16579 16580 *) 16581 dynamic_linker=no 16582 ;; 16583 esac 16584 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 16585 $as_echo "$dynamic_linker" >&6; } 16586 test no = "$dynamic_linker" && can_build_shared=no 16587 16588 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 16589 if test yes = "$GCC"; then 16590 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 16591 fi 16592 16593 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 16594 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 16595 fi 16596 16597 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 16598 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 16599 fi 16600 16601 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 16602 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 16603 16604 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 16605 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 libtool 16608 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 16609 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" >&5 16650 $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"; then 16655 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, we 16659 # have to relink, otherwise we might link with an installed library 16660 # when we should be linking with a yet-to-be-installed one 16661 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && 16662 test no != "$hardcode_minus_L_CXX"; then 16663 # Linking always hardcodes the temporary library directory. 16664 hardcode_action_CXX=relink 16665 else 16666 # We can link without hardcoding, and we can hardcode nonexisting dirs. 16667 hardcode_action_CXX=immediate 16668 fi 16669 else 16670 # We cannot hardcode anything, or else we can only hardcode existing 16671 # directories. 16672 hardcode_action_CXX=unsupported 16673 fi 16674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 16675 $as_echo "$hardcode_action_CXX" >&6; } 16676 16677 if test relink = "$hardcode_action_CXX" || 16678 test yes = "$inherit_rpath_CXX"; then 16679 # Fast installation is not supported 16680 enable_fast_install=no 16681 elif test yes = "$shlibpath_overrides_runpath" || 16682 test no = "$enable_shared"; then 16683 # Fast installation is not necessary 16684 enable_fast_install=needless 16685 fi 16686 16687 16688 16689 16690 16691 16692 16693 fi # test -n "$compiler" 16694 16695 CC=$lt_save_CC 16696 CFLAGS=$lt_save_CFLAGS 16697 LDCXX=$LD 16698 LD=$lt_save_LD 16699 GCC=$lt_save_GCC 16700 with_gnu_ld=$lt_save_with_gnu_ld 16701 lt_cv_path_LDCXX=$lt_cv_path_LD 16702 lt_cv_path_LD=$lt_save_path_LD 16703 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 16704 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 16705 fi # test yes != "$_lt_caught_CXX_error" 16706 16707 ac_ext=c 16708 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_gnu 16712 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)" >&5 16737 $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) " >&6 16742 else 16743 cat >conftest.make <<\_ACEOF 16744 SHELL = /bin/sh 16745 all: 16746 @echo '@@@%%%=$(MAKE)=@@@%%%' 16747 _ACEOF 16748 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 16749 case `${MAKE-make} -f conftest.make 2>/dev/null` in 16750 *@@@%%%=?*=@@@%%%*) 16751 eval ac_cv_prog_make_${ac_make}_set=yes;; 16752 *) 16753 eval ac_cv_prog_make_${ac_make}_set=no;; 16754 esac 16755 rm -f conftest.make 16756 fi 16757 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then 16758 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 16759 $as_echo "yes" >&6; } 16760 SET_MAKE= 16761 else 16762 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 16763 $as_echo "no" >&6; } 16764 SET_MAKE="MAKE=${MAKE-make}" 16765 fi 16766 16767 16768 # Checks for libraries. 16769 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5 16770 $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) " >&6 16773 else 16774 ac_check_lib_save_LIBS=$LIBS 16775 LIBS="-lfibre $LIBS" 16776 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 16777 /* 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 GCC 16781 builtin and then its argument prototype would still apply. */ 16782 #ifdef __cplusplus 16783 extern "C" 16784 #endif 16785 char Fibre::yield (); 16786 int 16787 main () 16788 { 16789 return Fibre::yield (); 16790 ; 16791 return 0; 16792 } 16793 _ACEOF 16794 if ac_fn_c_try_link "$LINENO"; then : 16795 ac_cv_lib_fibre_Fibre__yield=yes 16796 else 16797 ac_cv_lib_fibre_Fibre__yield=no 16798 fi 16799 rm -f core conftest.err conftest.$ac_objext \ 16800 conftest$ac_exeext conftest.$ac_ext 16801 LIBS=$ac_check_lib_save_LIBS 16802 fi 16803 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5 16804 $as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; } 16805 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then : 16806 HAVE_LIBFIBRE=1 16807 else 16808 HAVE_LIBFIBRE=0 16809 fi 16810 16811 if test "$HAVE_LIBFIBRE" -eq 1; then 16812 WITH_LIBFIBRE_TRUE= 16813 WITH_LIBFIBRE_FALSE='#' 16814 else 16815 WITH_LIBFIBRE_TRUE='#' 16816 WITH_LIBFIBRE_FALSE= 16817 fi 16818 16819 16820 # Checks for header files. 5840 16821 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" 5841 16822 if test "x$ac_cv_type_size_t" = xyes; then : … … 6328 17309 fi 6329 17310 done 17311 17312 17313 #============================================================================== 17314 # backend compiler implementation 17315 17316 cat >>confdefs.h <<_ACEOF 17317 #define CFA_BACKEND_CC "${CC}" 17318 _ACEOF 17319 6330 17320 6331 17321 … … 6480 17470 Usually this means the macro was only invoked conditionally." "$LINENO" 5 6481 17471 fi 17472 if test -z "${WITH_LIBFIBRE_TRUE}" && test -z "${WITH_LIBFIBRE_FALSE}"; then 17473 as_fn_error $? "conditional \"WITH_LIBFIBRE\" was never defined. 17474 Usually this means the macro was only invoked conditionally." "$LINENO" 5 17475 fi 6482 17476 6483 17477 : "${CONFIG_STATUS=./config.status}" … … 7068 18062 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 7069 18063 18064 18065 # The HP-UX ksh and POSIX shell print the target directory to stdout 18066 # if CDPATH is set. 18067 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 18068 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_EOF 18270 \$1 18271 _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; do 18374 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 18375 *[\\\\\\\`\\"\\\$]*) 18376 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 18377 ;; 18378 *) 18379 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 18380 ;; 18381 esac 18382 done 18383 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; do 18416 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 18417 *[\\\\\\\`\\"\\\$]*) 18418 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 18419 ;; 18420 *) 18421 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 18422 ;; 18423 esac 18424 done 18425 18426 ac_aux_dir='$ac_aux_dir' 18427 18428 # See if we are running on zsh, and set the options that allow our 18429 # commands through without removal of \ escapes INIT. 18430 if test -n "\${ZSH_VERSION+set}"; then 18431 setopt NO_GLOB_SUBST 18432 fi 18433 18434 18435 PACKAGE='$PACKAGE' 18436 VERSION='$VERSION' 18437 RM='$RM' 18438 ofile='$ofile' 18439 18440 18441 18442 18443 18444 7070 18445 _ACEOF 7071 18446 … … 7078 18453 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;; 7079 18454 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 18455 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 7080 18456 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 7081 18457 "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;; … … 7808 19184 } 7809 19185 ;; 19186 "libtool":C) 19187 19188 # See if we are running on zsh, and set the options that allow our 19189 # commands through without removal of \ escapes. 19190 if test -n "${ZSH_VERSION+set}"; then 19191 setopt NO_GLOB_SUBST 19192 fi 19193 19194 cfgfile=${ofile}T 19195 trap "$RM \"$cfgfile\"; exit 1" 1 2 15 19196 $RM "$cfgfile" 19197 19198 cat <<_LT_EOF >> "$cfgfile" 19199 #! $SHELL 19200 # Generated automatically by $as_me ($PACKAGE) $VERSION 19201 # 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, 1996 19206 19207 # Copyright (C) 2014 Free Software Foundation, Inc. 19208 # This is free software; see the source for copying conditions. There is NO 19209 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19210 19211 # GNU Libtool is free software; you can redistribute it and/or modify 19212 # it under the terms of the GNU General Public License as published by 19213 # the Free Software Foundation; either version 2 of of the License, or 19214 # (at your option) any later version. 19215 # 19216 # As a special exception to the GNU General Public License, if you 19217 # distribute this file as part of a program or library that is built 19218 # using GNU Libtool, you may include this file under the same 19219 # 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, but 19222 # WITHOUT ANY WARRANTY; without even the implied warranty of 19223 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19224 # GNU General Public License for more details. 19225 # 19226 # You should have received a copy of the GNU General Public License 19227 # 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 CONFIG 19237 19238 # Which release of libtool.m4 was used? 19239 macro_version=$macro_version 19240 macro_revision=$macro_revision 19241 19242 # Whether or not to build shared libraries. 19243 build_libtool_libs=$enable_shared 19244 19245 # Whether or not to build static libraries. 19246 build_old_libs=$enable_static 19247 19248 # What type of objects to build. 19249 pic_mode=$pic_mode 19250 19251 # Whether or not to optimize for fast installation. 19252 fast_install=$enable_fast_install 19253 19254 # Shared archive member basename,for filename based shared library versioning on AIX. 19255 shared_archive_member_spec=$shared_archive_member_spec 19256 19257 # Shell to use when invoking shell scripts. 19258 SHELL=$lt_SHELL 19259 19260 # An echo program that protects backslashes. 19261 ECHO=$lt_ECHO 19262 19263 # The PATH separator for the build system. 19264 PATH_SEPARATOR=$lt_PATH_SEPARATOR 19265 19266 # The host system. 19267 host_alias=$host_alias 19268 host=$host 19269 host_os=$host_os 19270 19271 # The build system. 19272 build_alias=$build_alias 19273 build=$build 19274 build_os=$build_os 19275 19276 # A sed program that does not truncate output. 19277 SED=$lt_SED 19278 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_GREP 19284 19285 # An ERE matcher. 19286 EGREP=$lt_EGREP 19287 19288 # A literal string matcher. 19289 FGREP=$lt_FGREP 19290 19291 # A BSD- or MS-compatible name lister. 19292 NM=$lt_NM 19293 19294 # Whether we need soft or hard links. 19295 LN_S=$lt_LN_S 19296 19297 # What is the maximum length of a command? 19298 max_cmd_len=$max_cmd_len 19299 19300 # Object file suffix (normally "o"). 19301 objext=$ac_objext 19302 19303 # Executable file suffix (normally ""). 19304 exeext=$exeext 19305 19306 # whether the shell understands "unset". 19307 lt_unset=$lt_unset 19308 19309 # turn spaces into newlines. 19310 SP2NL=$lt_lt_SP2NL 19311 19312 # turn newlines into spaces. 19313 NL2SP=$lt_lt_NL2SP 19314 19315 # convert \$build file names to \$host format. 19316 to_host_file_cmd=$lt_cv_to_host_file_cmd 19317 19318 # convert \$build files to toolchain format. 19319 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 19320 19321 # An object symbol dumper. 19322 OBJDUMP=$lt_OBJDUMP 19323 19324 # Method to check whether dependent libraries are shared objects. 19325 deplibs_check_method=$lt_deplibs_check_method 19326 19327 # Command to use when deplibs_check_method = "file_magic". 19328 file_magic_cmd=$lt_file_magic_cmd 19329 19330 # How to find potential files when deplibs_check_method = "file_magic". 19331 file_magic_glob=$lt_file_magic_glob 19332 19333 # Find potential files using nocaseglob when deplibs_check_method = "file_magic". 19334 want_nocaseglob=$lt_want_nocaseglob 19335 19336 # DLL creation program. 19337 DLLTOOL=$lt_DLLTOOL 19338 19339 # Command to associate shared and link libraries. 19340 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd 19341 19342 # The archiver. 19343 AR=$lt_AR 19344 19345 # Flags to create an archive. 19346 AR_FLAGS=$lt_AR_FLAGS 19347 19348 # How to feed a file listing to the archiver. 19349 archiver_list_spec=$lt_archiver_list_spec 19350 19351 # A symbol stripping program. 19352 STRIP=$lt_STRIP 19353 19354 # Commands used to install an old-style archive. 19355 RANLIB=$lt_RANLIB 19356 old_postinstall_cmds=$lt_old_postinstall_cmds 19357 old_postuninstall_cmds=$lt_old_postuninstall_cmds 19358 19359 # Whether to use a lock for old archive extraction. 19360 lock_old_archive_extraction=$lock_old_archive_extraction 19361 19362 # A C compiler. 19363 LTCC=$lt_CC 19364 19365 # LTCC compiler flags. 19366 LTCFLAGS=$lt_CFLAGS 19367 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_pipe 19370 19371 # Transform the output of nm in a proper C declaration. 19372 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl 19373 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_import 19376 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_address 19379 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_prefix 19382 19383 # The name lister interface. 19384 nm_interface=$lt_lt_cv_nm_interface 19385 19386 # Specify filename containing input files for \$NM. 19387 nm_file_list_spec=$lt_nm_file_list_spec 19388 19389 # The root where to search for dependent libraries,and where our libraries should be installed. 19390 lt_sysroot=$lt_sysroot 19391 19392 # Command to truncate a binary pipe. 19393 lt_truncate_bin=$lt_lt_cv_truncate_bin 19394 19395 # The name of the directory that contains temporary libtool files. 19396 objdir=$objdir 19397 19398 # Used to examine libraries when file_magic_cmd begins with "file". 19399 MAGIC_CMD=$MAGIC_CMD 19400 19401 # Must we lock files when doing compilation? 19402 need_locks=$lt_need_locks 19403 19404 # Manifest tool. 19405 MANIFEST_TOOL=$lt_MANIFEST_TOOL 19406 19407 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. 19408 DSYMUTIL=$lt_DSYMUTIL 19409 19410 # Tool to change global to local symbols on Mac OS X. 19411 NMEDIT=$lt_NMEDIT 19412 19413 # Tool to manipulate fat objects and archives on Mac OS X. 19414 LIPO=$lt_LIPO 19415 19416 # ldd/readelf like tool for Mach-O binaries on Mac OS X. 19417 OTOOL=$lt_OTOOL 19418 19419 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. 19420 OTOOL64=$lt_OTOOL64 19421 19422 # Old archive suffix (normally "a"). 19423 libext=$libext 19424 19425 # Shared library suffix (normally ".so"). 19426 shrext_cmds=$lt_shrext_cmds 19427 19428 # The commands to extract the exported symbol list from a shared archive. 19429 extract_expsyms_cmds=$lt_extract_expsyms_cmds 19430 19431 # Variables whose values should be saved in libtool wrapper scripts and 19432 # restored at link time. 19433 variables_saved_for_relink=$lt_variables_saved_for_relink 19434 19435 # Do we need the "lib" prefix for modules? 19436 need_lib_prefix=$need_lib_prefix 19437 19438 # Do we need a version for libraries? 19439 need_version=$need_version 19440 19441 # Library versioning type. 19442 version_type=$version_type 19443 19444 # Shared library runtime path variable. 19445 runpath_var=$runpath_var 19446 19447 # Shared library path variable. 19448 shlibpath_var=$shlibpath_var 19449 19450 # Is shlibpath searched before the hard-coded library search path? 19451 shlibpath_overrides_runpath=$shlibpath_overrides_runpath 19452 19453 # Format of library name prefix. 19454 libname_spec=$lt_libname_spec 19455 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 -lNAME 19458 library_names_spec=$lt_library_names_spec 19459 19460 # The coded name of the library, if different from the real name. 19461 soname_spec=$lt_soname_spec 19462 19463 # Permission mode override for installation of shared libraries. 19464 install_override_mode=$lt_install_override_mode 19465 19466 # Command to use after installation of a shared archive. 19467 postinstall_cmds=$lt_postinstall_cmds 19468 19469 # Command to use after uninstallation of a shared archive. 19470 postuninstall_cmds=$lt_postuninstall_cmds 19471 19472 # Commands used to finish a libtool library installation in a directory. 19473 finish_cmds=$lt_finish_cmds 19474 19475 # As "finish_cmds", except a single script fragment to be evaled but 19476 # not shown. 19477 finish_eval=$lt_finish_eval 19478 19479 # Whether we should hardcode library paths into libraries. 19480 hardcode_into_libs=$hardcode_into_libs 19481 19482 # Compile-time system search path for libraries. 19483 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 19484 19485 # Detected run-time system search path for libraries. 19486 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path 19487 19488 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. 19489 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path 19490 19491 # Whether dlopen is supported. 19492 dlopen_support=$enable_dlopen 19493 19494 # Whether dlopen of programs is supported. 19495 dlopen_self=$enable_dlopen_self 19496 19497 # Whether dlopen of statically linked programs is supported. 19498 dlopen_self_static=$enable_dlopen_self_static 19499 19500 # Commands to strip libraries. 19501 old_striplib=$lt_old_striplib 19502 striplib=$lt_striplib 19503 19504 19505 # The linker used to build libraries. 19506 LD=$lt_LD 19507 19508 # How to create reloadable object files. 19509 reload_flag=$lt_reload_flag 19510 reload_cmds=$lt_reload_cmds 19511 19512 # Commands used to build an old-style archive. 19513 old_archive_cmds=$lt_old_archive_cmds 19514 19515 # A language specific compiler. 19516 CC=$lt_compiler 19517 19518 # Is the compiler the GNU compiler? 19519 with_gcc=$GCC 19520 19521 # Compiler flag to turn off builtin functions. 19522 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag 19523 19524 # Additional compiler flags for building library objects. 19525 pic_flag=$lt_lt_prog_compiler_pic 19526 19527 # How to pass a linker flag through the compiler. 19528 wl=$lt_lt_prog_compiler_wl 19529 19530 # Compiler flag to prevent dynamic linking. 19531 link_static_flag=$lt_lt_prog_compiler_static 19532 19533 # Does compiler simultaneously support -c and -o options? 19534 compiler_c_o=$lt_lt_cv_prog_compiler_c_o 19535 19536 # Whether or not to add -lc for building shared libraries. 19537 build_libtool_need_lc=$archive_cmds_need_lc 19538 19539 # Whether or not to disallow shared libs when runtime libs are static. 19540 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes 19541 19542 # Compiler flag to allow reflexive dlopens. 19543 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec 19544 19545 # Compiler flag to generate shared objects directly from archives. 19546 whole_archive_flag_spec=$lt_whole_archive_flag_spec 19547 19548 # Whether the compiler copes with passing no objects directly. 19549 compiler_needs_object=$lt_compiler_needs_object 19550 19551 # Create an old-style archive from a shared archive. 19552 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds 19553 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_cmds 19556 19557 # Commands used to build a shared archive. 19558 archive_cmds=$lt_archive_cmds 19559 archive_expsym_cmds=$lt_archive_expsym_cmds 19560 19561 # Commands used to build a loadable module if different from building 19562 # a shared archive. 19563 module_cmds=$lt_module_cmds 19564 module_expsym_cmds=$lt_module_expsym_cmds 19565 19566 # Whether we are building with GNU ld or not. 19567 with_gnu_ld=$lt_with_gnu_ld 19568 19569 # Flag that allows shared libraries with undefined symbols to be built. 19570 allow_undefined_flag=$lt_allow_undefined_flag 19571 19572 # Flag that enforces no undefined symbols. 19573 no_undefined_flag=$lt_no_undefined_flag 19574 19575 # Flag to hardcode \$libdir into a binary during linking. 19576 # This must work even if \$libdir does not exist 19577 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec 19578 19579 # Whether we need a single "-rpath" flag with a separated argument. 19580 hardcode_libdir_separator=$lt_hardcode_libdir_separator 19581 19582 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19583 # DIR into the resulting binary. 19584 hardcode_direct=$hardcode_direct 19585 19586 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19587 # DIR into the resulting binary and the resulting library dependency is 19588 # "absolute",i.e impossible to change by setting \$shlibpath_var if the 19589 # library is relocated. 19590 hardcode_direct_absolute=$hardcode_direct_absolute 19591 19592 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 19593 # into the resulting binary. 19594 hardcode_minus_L=$hardcode_minus_L 19595 19596 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 19597 # into the resulting binary. 19598 hardcode_shlibpath_var=$hardcode_shlibpath_var 19599 19600 # Set to "yes" if building a shared library automatically hardcodes DIR 19601 # into the library and all subsequent libraries and executables linked 19602 # against it. 19603 hardcode_automatic=$hardcode_automatic 19604 19605 # Set to yes if linker adds runtime paths of dependent libraries 19606 # to runtime path list. 19607 inherit_rpath=$inherit_rpath 19608 19609 # Whether libtool must link a program against all its dependency libraries. 19610 link_all_deplibs=$link_all_deplibs 19611 19612 # Set to "yes" if exported symbols are required. 19613 always_export_symbols=$always_export_symbols 19614 19615 # The commands to list exported symbols. 19616 export_symbols_cmds=$lt_export_symbols_cmds 19617 19618 # Symbols that should not be listed in the preloaded symbols. 19619 exclude_expsyms=$lt_exclude_expsyms 19620 19621 # Symbols that must always be exported. 19622 include_expsyms=$lt_include_expsyms 19623 19624 # Commands necessary for linking programs (against libraries) with templates. 19625 prelink_cmds=$lt_prelink_cmds 19626 19627 # Commands necessary for finishing linking programs. 19628 postlink_cmds=$lt_postlink_cmds 19629 19630 # Specify filename containing input files. 19631 file_list_spec=$lt_file_list_spec 19632 19633 # How to hardcode a shared library path into an executable. 19634 hardcode_action=$hardcode_action 19635 19636 # The directories searched by this compiler when creating a shared library. 19637 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs 19638 19639 # Dependencies to place before and after the objects being linked to 19640 # create a shared library. 19641 predep_objects=$lt_predep_objects 19642 postdep_objects=$lt_postdep_objects 19643 predeps=$lt_predeps 19644 postdeps=$lt_postdeps 19645 19646 # The library search path used internally by the compiler when linking 19647 # a shared library. 19648 compiler_lib_search_path=$lt_compiler_lib_search_path 19649 19650 # ### END LIBTOOL CONFIG 19651 19652 _LT_EOF 19653 19654 cat <<'_LT_EOF' >> "$cfgfile" 19655 19656 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 19657 19658 # func_munge_path_list VARIABLE PATH 19659 # ----------------------------------- 19660 # VARIABLE is name of variable containing _space_ separated list of 19661 # directories to be munged by the contents of PATH, which is string 19662 # having a format: 19663 # "DIR[:DIR]:" 19664 # string "DIR[ DIR]" will be prepended to VARIABLE 19665 # ":DIR[:DIR]" 19666 # string "DIR[ DIR]" will be appended to VARIABLE 19667 # "DIRP[:DIRP]::[DIRA:]DIRA" 19668 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string 19669 # "DIRA[ DIRA]" will be appended to VARIABLE 19670 # "DIR[:DIR]" 19671 # VARIABLE will be replaced by "DIR[ DIR]" 19672 func_munge_path_list () 19673 { 19674 case x$2 in 19675 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 esac 19691 } 19692 19693 19694 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 19695 func_cc_basename () 19696 { 19697 for cc_temp in $*""; do 19698 case $cc_temp in 19699 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; 19700 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; 19701 \-*) ;; 19702 *) break;; 19703 esac 19704 done 19705 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 19706 } 19707 19708 19709 # ### END FUNCTIONS SHARED WITH CONFIGURE 19710 19711 _LT_EOF 19712 19713 case $host_os in 19714 aix3*) 19715 cat <<\_LT_EOF >> "$cfgfile" 19716 # AIX sometimes has problems with the GCC collect2 program. For some 19717 # reason, if we set the COLLECT_NAMES environment variable, the problems 19718 # vanish in a puff of smoke. 19719 if test set != "${COLLECT_NAMES+set}"; then 19720 COLLECT_NAMES= 19721 export COLLECT_NAMES 19722 fi 19723 _LT_EOF 19724 ;; 19725 esac 19726 19727 19728 ltmain=$ac_aux_dir/ltmain.sh 19729 19730 19731 # We use sed instead of cat because bash on DJGPP gets confused if 19732 # if finds mixed CR/LF and LF-only lines. Since sed operates in 19733 # text mode, it properly converts lines to CR/LF. This bash problem 19734 # 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: CXX 19746 19747 # The linker used to build libraries. 19748 LD=$lt_LD_CXX 19749 19750 # How to create reloadable object files. 19751 reload_flag=$lt_reload_flag_CXX 19752 reload_cmds=$lt_reload_cmds_CXX 19753 19754 # Commands used to build an old-style archive. 19755 old_archive_cmds=$lt_old_archive_cmds_CXX 19756 19757 # A language specific compiler. 19758 CC=$lt_compiler_CXX 19759 19760 # Is the compiler the GNU compiler? 19761 with_gcc=$GCC_CXX 19762 19763 # Compiler flag to turn off builtin functions. 19764 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX 19765 19766 # Additional compiler flags for building library objects. 19767 pic_flag=$lt_lt_prog_compiler_pic_CXX 19768 19769 # How to pass a linker flag through the compiler. 19770 wl=$lt_lt_prog_compiler_wl_CXX 19771 19772 # Compiler flag to prevent dynamic linking. 19773 link_static_flag=$lt_lt_prog_compiler_static_CXX 19774 19775 # Does compiler simultaneously support -c and -o options? 19776 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX 19777 19778 # Whether or not to add -lc for building shared libraries. 19779 build_libtool_need_lc=$archive_cmds_need_lc_CXX 19780 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_CXX 19783 19784 # Compiler flag to allow reflexive dlopens. 19785 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX 19786 19787 # Compiler flag to generate shared objects directly from archives. 19788 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX 19789 19790 # Whether the compiler copes with passing no objects directly. 19791 compiler_needs_object=$lt_compiler_needs_object_CXX 19792 19793 # Create an old-style archive from a shared archive. 19794 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX 19795 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_CXX 19798 19799 # Commands used to build a shared archive. 19800 archive_cmds=$lt_archive_cmds_CXX 19801 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 19802 19803 # Commands used to build a loadable module if different from building 19804 # a shared archive. 19805 module_cmds=$lt_module_cmds_CXX 19806 module_expsym_cmds=$lt_module_expsym_cmds_CXX 19807 19808 # Whether we are building with GNU ld or not. 19809 with_gnu_ld=$lt_with_gnu_ld_CXX 19810 19811 # Flag that allows shared libraries with undefined symbols to be built. 19812 allow_undefined_flag=$lt_allow_undefined_flag_CXX 19813 19814 # Flag that enforces no undefined symbols. 19815 no_undefined_flag=$lt_no_undefined_flag_CXX 19816 19817 # Flag to hardcode \$libdir into a binary during linking. 19818 # This must work even if \$libdir does not exist 19819 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX 19820 19821 # Whether we need a single "-rpath" flag with a separated argument. 19822 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX 19823 19824 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19825 # DIR into the resulting binary. 19826 hardcode_direct=$hardcode_direct_CXX 19827 19828 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19829 # DIR into the resulting binary and the resulting library dependency is 19830 # "absolute",i.e impossible to change by setting \$shlibpath_var if the 19831 # library is relocated. 19832 hardcode_direct_absolute=$hardcode_direct_absolute_CXX 19833 19834 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 19835 # into the resulting binary. 19836 hardcode_minus_L=$hardcode_minus_L_CXX 19837 19838 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 19839 # into the resulting binary. 19840 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX 19841 19842 # Set to "yes" if building a shared library automatically hardcodes DIR 19843 # into the library and all subsequent libraries and executables linked 19844 # against it. 19845 hardcode_automatic=$hardcode_automatic_CXX 19846 19847 # Set to yes if linker adds runtime paths of dependent libraries 19848 # to runtime path list. 19849 inherit_rpath=$inherit_rpath_CXX 19850 19851 # Whether libtool must link a program against all its dependency libraries. 19852 link_all_deplibs=$link_all_deplibs_CXX 19853 19854 # Set to "yes" if exported symbols are required. 19855 always_export_symbols=$always_export_symbols_CXX 19856 19857 # The commands to list exported symbols. 19858 export_symbols_cmds=$lt_export_symbols_cmds_CXX 19859 19860 # Symbols that should not be listed in the preloaded symbols. 19861 exclude_expsyms=$lt_exclude_expsyms_CXX 19862 19863 # Symbols that must always be exported. 19864 include_expsyms=$lt_include_expsyms_CXX 19865 19866 # Commands necessary for linking programs (against libraries) with templates. 19867 prelink_cmds=$lt_prelink_cmds_CXX 19868 19869 # Commands necessary for finishing linking programs. 19870 postlink_cmds=$lt_postlink_cmds_CXX 19871 19872 # Specify filename containing input files. 19873 file_list_spec=$lt_file_list_spec_CXX 19874 19875 # How to hardcode a shared library path into an executable. 19876 hardcode_action=$hardcode_action_CXX 19877 19878 # The directories searched by this compiler when creating a shared library. 19879 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX 19880 19881 # Dependencies to place before and after the objects being linked to 19882 # create a shared library. 19883 predep_objects=$lt_predep_objects_CXX 19884 postdep_objects=$lt_postdep_objects_CXX 19885 predeps=$lt_predeps_CXX 19886 postdeps=$lt_postdeps_CXX 19887 19888 # The library search path used internally by the compiler when linking 19889 # a shared library. 19890 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX 19891 19892 # ### END LIBTOOL TAG CONFIG: CXX 19893 _LT_EOF 19894 19895 ;; 7810 19896 7811 19897 esac -
configure.ac
r9b086ca rcde3891 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]) 7 8 #AC_CONFIG_SRCDIR([src/main.cc]) 8 9 AC_CONFIG_HEADERS([config.h:src/config.h.in]) … … 55 56 AC_SUBST([DOendif]) 56 57 AM_SUBST_NOTMAKE([DOendif]) 57 58 #==============================================================================59 # backend compiler implementation60 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"; then64 BACKEND_CC=${backendcompiler}65 else66 AC_PATH_PROG(BACKEND_CC, gcc, []) # check gcc installed67 if test "x$BACKEND_CC" = "x"; then68 AC_MSG_ERROR(some version of gcc is needed. Get it at ftp://ftp.gnu.org)69 exit 170 fi71 fi72 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${BACKEND_CC}", [Location of include files.])73 AC_SUBST(CFA_BACKEND_CC)74 58 75 59 #============================================================================== … … 172 156 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 173 157 echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data 174 echo -n "CONFIGURATION=${lib_config}" >> ${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 175 160 done 176 161 … … 199 184 AC_PROG_LEX 200 185 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 186 AC_PROG_LIBTOOL 201 187 AC_PROG_INSTALL 202 188 AC_PROG_MAKE_SET 203 AC_PROG_RANLIB204 189 205 190 # 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]) 206 193 207 194 # Checks for header files. … … 225 212 226 213 #============================================================================== 214 # backend compiler implementation 215 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${CC}", [Backend compiler to use.]) 216 AC_SUBST(CFA_BACKEND_CC) 217 218 #============================================================================== 227 219 AC_CONFIG_FILES([ 228 220 Makefile -
doc/bibliography/pl.bib
r9b086ca rcde3891 21 21 % toplas: ACM Trans. on Prog. Lang. & Sys. 22 22 % tcs: Theoretical Computer Science 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."} 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."} 35 36 @string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"} 36 37 @string{osr="Operating Systems Review"} 37 38 @string{pldi="Programming Language Design and Implementation"} 38 39 @string{toplas="Transactions on Programming Languages and Systems"} 39 @string{mathann="Mathematische Annalen"}40 %@string{mathann="Math. Ann."}40 string{mathann="Mathematische Annalen"} 41 @string{mathann="Math. Ann."} 41 42 42 43 % A … … 566 567 } 567 568 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 568 580 @article{Kessels82, 569 581 keywords = {concurrency, critical section}, … … 653 665 author = {Joung, Yuh-Jzer}, 654 666 title = {Asynchronous group mutual exclusion}, 655 journal = {Distributed Computing}, 667 journal = {Dist. Comput.}, 668 optjournal = {Distributed Computing}, 656 669 year = {2000}, 657 670 month = {Nov}, … … 700 713 701 714 % 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 } 702 729 703 730 @incollection{beta:old, … … 782 809 time computable inheritance hierarchy. 783 810 }, 784 comment = {811 comment = { 785 812 Classes are predicates; if object {\tt o} is in class {\tt C}, then 786 813 {\tt C} is true of {\tt o}. Classes are combined with {\tt :AND}, … … 816 843 month = oct, 817 844 type = {Diplomarbeit}, 818 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-KrischerThesis.ps.gz}}},845 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}}, 819 846 } 820 847 … … 908 935 909 936 @misc{Cforall, 937 contributer = {pabuhr@plg}, 910 938 key = {Cforall}, 911 title = {\textsf{C}{$\mathbf{\forall}$} Features},912 howpublished= {\ url{https://plg.uwaterloo.ca/~cforall/features}},939 author = {{\textsf{C}{$\mathbf{\forall}$} Features}}, 940 howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-$\sim$cforall/\-features}}, 913 941 optnote = {Accessed: 2018-01-01}, 914 942 } … … 926 954 927 955 @misc{CFAStackEvaluation, 956 contributer = {a3moss@plg}, 928 957 author = {Aaron Moss}, 929 958 title = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs}, … … 934 963 935 964 @article{Moss18, 936 keywords = { concurrency, C++},965 keywords = {type systems, polymorphism, tuples, Cforall}, 937 966 contributer = {pabuhr@plg}, 938 967 author = {Aaron Moss and Robert Schluntz and Peter A. Buhr}, 939 968 title = {\textsf{C}$\mathbf{\forall}$ : Adding Modern Programming Language Features to C}, 969 journal = spe, 970 volume = 48, 971 number = 12, 972 month = dec, 940 973 year = 2018, 941 journal = spe,942 note = { Accepted, to appear},974 pages = {2111-2146}, 975 note = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}}, 943 976 } 944 977 … … 962 995 comment = { 963 996 The evidence given is thin. 964 } 997 }, 965 998 } 966 999 … … 972 1005 journal = {Dr. Dobb's Journal of Software Tools}, 973 1006 year = 1989, 974 month = feb, volume = 14, number = 2, pages = {45-51}, 1007 month = feb, 1008 volume = 14, 1009 number = 2, 1010 pages = {45-51}, 975 1011 comment = { 976 1012 A light-weight multitasking kernel for MS-DOS. A task\_control … … 1084 1120 month = oct, 1085 1121 year = 2001, 1086 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\- \char`\~cforall/\-cfa.ps}},1122 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-cfa.ps}}, 1087 1123 } 1088 1124 … … 1416 1452 } 1417 1453 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 1418 1464 @incollection{Reppy93, 1419 1465 keywords = {ML, concurrency, continuation passing}, … … 1480 1526 } 1481 1527 1482 @ techreport{uC++,1528 @manual{uC++, 1483 1529 keywords = {C++, concurrency, light-weight process, shared memory}, 1484 1530 contributer = {pabuhr@plg}, 1531 key = {uC++}, 1485 1532 author = {Peter A. Buhr}, 1486 1533 title = {$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Annotated Reference Manual, Version 7.0.0}, 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}}, 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}}, 1492 1538 } 1493 1539 … … 1556 1602 } 1557 1603 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 1558 1613 @book{Andrews91:book, 1559 1614 keywords = {concurrency}, … … 1580 1635 1581 1636 @mastersthesis{Delisle18, 1582 author = {Thierry Delisle }, 1637 keywords = {concurrency, Cforall}, 1638 contributer = {pabuhr@plg}, 1639 author = {Thierry Delisle}, 1583 1640 title = {Concurrency in \textsf{C}$\mathbf{\forall}$}, 1584 1641 school = {School of Computer Science, University of Waterloo}, 1585 1642 year = 2018, 1586 address = {Waterloo, Ontario, Canada, N2L 3G1},1643 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 1587 1644 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}, 1588 1656 } 1589 1657 … … 1760 1828 author = {Glen Ditchfield}, 1761 1829 title = {Conversions for \textsf{C}$\mathbf{\forall}$}, 1762 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\- \textasciitildecforall/\-Conversions/\-index.html}},1830 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-Conversions/\-index.html}}, 1763 1831 month = {Nov}, 1764 1832 year = {2002}, … … 1827 1895 key = {Peter Buhr}, 1828 1896 title = {CS343}, 1829 year = 201 7,1830 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\- ~cs343}},1897 year = 2018, 1898 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-$\sim$cs343}}, 1831 1899 } 1832 1900 … … 1887 1955 note = {Svensk Standard SS 63 61 14}, 1888 1956 year = 1987, 1889 abstract = { 1890 Standard for the programming language SIMULA. Written in English. 1891 } 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}, 1892 1971 } 1893 1972 … … 2029 2108 year = {1998}, 2030 2109 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} 2031 2120 } 2032 2121 … … 2831 2920 } 2832 2921 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 2833 2936 % F 2834 2937 … … 2864 2967 keywords = {concurrency, mutual exclusion, performance experiment, software solutions}, 2865 2968 title = {Fast mutual exclusion by the {T}riangle algorithm}, 2866 author = {Wim H. Hesselink and Peter Buhr and David Dice},2969 author = {Wim H. Hesselink and Peter A. Buhr and David Dice}, 2867 2970 journal = ccpe, 2868 2971 volume = 30, … … 2871 2974 month = feb, 2872 2975 publisher = {John Wiley \& Sons}, 2873 note = {\ url{https://doi.org/10.1002/cpe.4183}}2976 note = {\href{https://doi.org/10.1002/cpe.4183}{https://\-doi.org/\-10.1002/\-cpe.4183}} 2874 2977 } 2875 2978 … … 3174 3277 keywords = {Go programming language}, 3175 3278 contributer = {pabuhr@plg}, 3279 author = {Robert Griesemer and Rob Pike and Ken Thompson}, 3176 3280 title = {{Go} Programming Language}, 3177 author = {Robert Griesemer and Rob Pike and Ken Thompson},3178 3281 organization= {Google}, 3179 3282 year = 2009, … … 3283 3386 edition = {{S}imon {M}arlow}, 3284 3387 year = 2010, 3285 note = {\href{https://haskell.org/definition/haskell2010.pdf}{https:// haskell.org/\-definition/\-haskell2010.pdf}},3388 note = {\href{https://haskell.org/definition/haskell2010.pdf}{https://\-haskell.org/\-definition/\-haskell2010.pdf}}, 3286 3389 } 3287 3390 … … 3357 3460 } 3358 3461 3359 @article{Hesselink17 ,3462 @article{Hesselink17b, 3360 3463 keywords = {concurrency, mutual exclusion, performance experiment, software solutions}, 3361 3464 title = {High-Contention Mutual Exclusion by Elevator Algorithms}, 3362 author = {Peter Buhr and David Dice and Wim H. Hesselink},3465 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 3363 3466 journal = ccpe, 3364 volume opt= 30,3365 number opt = 4,3467 volume = 30, 3468 number = 18, 3366 3469 year = 2018, 3367 month = may,3470 month = sep, 3368 3471 publisher = {John Wiley \& Sons}, 3369 note = {\ url{https://doi-org.proxy.lib.uwaterloo.ca/10.1002/cpe.4475}}3472 note = {\href{https://doi.org/10.1002/cpe.4475}{https://\-doi.org/\-10.1002/\-cpe.4475}}, 3370 3473 } 3371 3474 … … 3505 3608 publisher = {ACM Press}, 3506 3609 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} 3507 3623 } 3508 3624 … … 3846 3962 % K 3847 3963 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 3848 3975 @article{Duggan96, 3849 3976 keywords = {concurrency, critical section}, 3850 3977 contributer = {pabuhr@plg}, 3851 author = {Dominic Duggan and G .V. Cormack and John Ophel},3978 author = {Dominic Duggan and Gordon V. Cormack and John Ophel}, 3852 3979 title = {Kinded Type Inference for Parametric Overloading}, 3853 3980 journal = acta, … … 4084 4211 month = sep, 4085 4212 year = 2006, 4086 note = {\textsf{http://cs.anu.edu.au/\- \char`\~Robin.Garner/\-mmtk-guide.pdf}},4213 note = {\textsf{http://cs.anu.edu.au/\-$\sim$Robin.Garner/\-mmtk-guide.pdf}}, 4087 4214 } 4088 4215 … … 4188 4315 month = sep, 4189 4316 year = 1994, 4190 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-uSystem/\-uSystem.ps.gz}}},4317 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}}, 4191 4318 } 4192 4319 … … 4532 4659 4533 4660 % 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 } 4534 4671 4535 4672 @article{Haddon77, … … 4658 4795 } 4659 4796 4797 @misc{nginx, 4798 key = {nginx}, 4799 author = {{NGINX}}, 4800 howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}}, 4801 } 4802 4660 4803 @article{Herlihy05, 4661 4804 keywords = {Multiprocessors, concurrent data structures, dynamic data structures, memory management, nonblocking synchronization}, … … 4714 4857 year = 1995, 4715 4858 number = 31, 4716 note = {{\small\textsf{http://\-www.cs.wustl.edu/\- \char`\~schmidt/\-PDF/\-IPC\_SAP-92.pdf}}},4859 note = {{\small\textsf{http://\-www.cs.wustl.edu/\-$\sim$schmidt/\-PDF/\-IPC\_SAP-92.pdf}}}, 4717 4860 } 4718 4861 … … 4768 4911 @misc{obj-c-book, 4769 4912 keywords = {objective-c}, 4770 contributor = { a3moss@uwaterloo.ca},4913 contributor = {pabuhr@plg}, 4771 4914 key = {Objective-C}, 4772 title= {Objective-C},4915 author = {Objective-C}, 4773 4916 publisher = {Apple Inc.}, 4774 year = 201 5,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}},4917 year = 2014, 4918 howpublished= {\href{https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Cocoa/\-Conceptual/\-ProgrammingWithObjectiveC}}, 4776 4919 optnote = {Accessed: 2018-03} 4777 4920 } … … 4783 4926 title = {{X}code 7 Release Notes}, 4784 4927 year = 2015, 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}},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}}, 4786 4929 optnote = {Accessed: 2017-04} 4787 4930 } … … 5283 5426 } 5284 5427 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 5285 5445 @article{Anderson90, 5286 5446 keywords = {spin locks, back off, performance}, … … 5294 5454 number = 1, 5295 5455 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} 5296 5467 } 5297 5468 … … 5503 5674 note = {Proceedings of the OOPSLA'89 Conference, Oct. 1--6, 1989, New Orleans, Lousiana}, 5504 5675 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}, 5505 5692 } 5506 5693 … … 5855 6042 keywords = {Cyclone, existential types, polymorphism, type variables}, 5856 6043 contributer = {a3moss@plg}, 5857 author = {D .Grossman},6044 author = {Dan Grossman}, 5858 6045 title = {Quantified Types in an Imperative Language}, 5859 6046 journal = toplas, … … 5865 6052 issn = {0164-0925}, 5866 6053 pages = {429-475}, 5867 url = {http://doi.acm.org .proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},6054 url = {http://doi.acm.org/10.1145/1133651.1133653}, 5868 6055 doi = {10.1145/1133651.1133653}, 5869 6056 acmid = {1133653}, … … 5964 6151 } 5965 6152 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 5966 6166 @article{Robinson48, 5967 6167 keywords = {recursion, Ackermann function}, … … 6002 6202 } 6003 6203 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 6004 6215 @article{Euclid, 6005 6216 keywords = {Euclid}, … … 6033 6244 school = {School of Computer Science, University of Waterloo}, 6034 6245 year = 2017, 6035 address = {Waterloo, Ontario, Canada, N2L 3G1},6246 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 6036 6247 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/11830}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-11830}}, 6037 6248 } … … 6108 6319 contributer = {pabuhr@plg}, 6109 6320 key = {Rust}, 6110 title = { The{R}ust Programming Language},6111 address = {TheRust Project Developers},6321 title = {{R}ust Programming Language}, 6322 optaddress = {Rust Project Developers}, 6112 6323 year = 2015, 6113 6324 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, … … 6175 6386 publisher = {Springer}, 6176 6387 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}, 6177 6430 } 6178 6431 … … 6860 7113 contributer = {pabuhr@plg}, 6861 7114 key = {TIOBE Index}, 6862 title = {{TIOBE} Index},7115 author = {{TIOBE Index}}, 6863 7116 howpublished= {\href{http://www.tiobe.com/tiobe_index}{http://\-www.tiobe.com/\-tiobe\_index}}, 6864 7117 optnote = {Accessed: 2018-09}, … … 7000 7253 year = 1980 7001 7254 } 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 } 7002 7262 7003 7263 @article{Leroy00, … … 7135 7395 title = {Usability Challenges in Exception Handling}, 7136 7396 booktitle = {5th International Workshop on Exception Handling (WEH)}, 7137 o rganization= {16th International Symposium on the Foundations of Software Engineering (FSE 16)},7397 optorganization= {16th International Symposium on the Foundations of Software Engineering (FSE 16)}, 7138 7398 address = {Zurich, Switzerland}, 7139 7399 month = jun, … … 7279 7539 } 7280 7540 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 7281 7554 @techreport{Moss90, 7282 7555 keywords = {Swizzling, database}, … … 7323 7596 } 7324 7597 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 7325 7619 % X 7326 7620 … … 7343 7637 year = 1986, 7344 7638 editor = {Norman Meyrowitz}, 7345 publisher = sigplan # " 21(11)",7639 publisher = sigplan, 7346 7640 organization= {Association for Computing Machinery}, 7347 7641 address = {Portland, Oregon}, 7348 month = sep # { 29}7642 month = sep, 7349 7643 } 7350 7644 … … 7355 7649 year = 1987, 7356 7650 editor = {Norman Meyrowitz}, 7357 publisher = sigplan # " 22(12)",7651 publisher = sigplan, 7358 7652 organization= {Association for Computing Machinery}, 7359 7653 address = {Orlando, Florida}, 7360 month = oct # { 4--8}7654 month = oct, 7361 7655 } 7362 7656 … … 7367 7661 year = 1988, 7368 7662 editor = {Norman Meyrowitz}, 7369 publisher = sigplan # " 23(11)",7663 publisher = sigplan, 7370 7664 organization= {Association for Computing Machinery}, 7371 7665 address = {San Diego, California}, 7372 month = sep # { 25--30}7666 month = sep, 7373 7667 } 7374 7668 … … 7379 7673 year = 1989, 7380 7674 editor = {Norman Meyrowitz}, 7381 publisher = sigplan # " 24(10)",7675 publisher = sigplan, 7382 7676 organization= {Association for Computing Machinery}, 7383 7677 address = {New Orleans, Louisiana}, 7384 month = oct # { 1--6}7678 month = oct, 7385 7679 } 7386 7680 … … 7391 7685 year = 1990, 7392 7686 editor = {Norman Meyrowitz}, 7393 publisher = sigplan # " 25(10)",7687 publisher = sigplan, 7394 7688 organization= {Association for Computing Machinery}, 7395 7689 address = {Ottawa, Canada}, 7396 month = oct # { 21--25}7690 month = oct, 7397 7691 } 7398 7692 … … 7403 7697 year = 1991, 7404 7698 editor = {Andreas Paepcke}, 7405 publisher = sigplan # " 26(11)",7699 publisher = sigplan, 7406 7700 organization= {Association for Computing Machinery}, 7407 7701 address = {Phoenix, Arizona}, 7408 month = oct # { 6--11}7409 } 7702 month = oct, 7703 } -
doc/papers/concurrency/Makefile
r9b086ca rcde3891 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .: annex:../../LaTeXmacros:${Macros}:${Build}:../../bibliography:6 TeXLIB = .:../../LaTeXmacros:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=annex:../../bibliography: && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/papers/concurrency/Paper.tex
r9b086ca rcde3891 686 686 Fib f1, f2; 687 687 for ( int i = 1; i <= 10; i += 1 ) { 688 sout | next( f1 ) | next( f2 ) | endl;688 sout | next( f1 ) | next( f2 ); 689 689 } 690 690 } … … 772 772 sout | " "; // separator 773 773 } 774 sout | endl;774 sout | nl; 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 | endl;779 if ( g != 0 || b != 0 ) sout | nl; 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 | endl;857 sout | p1 | " " | p2; 858 858 int status = delivery( c, p1, p2 ); 859 sout | " $" | money | endl | status | endl;859 sout | " $" | money | nl | status; 860 860 receipt += 1; 861 861 } 862 862 stop( c ); 863 sout | "prod stops" | endl;863 sout | "prod stops"; 864 864 } 865 865 int payment( Prod & prod, int money ) { … … 895 895 int money = 1, receipt; 896 896 for ( ; ! done; ) { 897 sout | p1 | " " | p2 | endl | " $" | money | endl;897 sout | p1 | " " | p2 | nl | " $" | money; 898 898 status += 1; 899 899 receipt = payment( p, money ); 900 sout | " #" | receipt | endl;900 sout | " #" | receipt; 901 901 money += 1; 902 902 } 903 sout | "cons stops" | endl;903 sout | "cons stops"; 904 904 } 905 905 int delivery( Cons & cons, int p1, int p2 ) { … … 1099 1099 1100 1100 void main(foo & this) { 1101 sout | "Hello World!" | endl;1101 sout | "Hello World!"; 1102 1102 } 1103 1103 \end{cfa} … … 1124 1124 1125 1125 void hello(/*unused*/ int) { 1126 sout | "Hello World!" | endl;1126 sout | "Hello World!"; 1127 1127 } 1128 1128 … … 1141 1141 thread World {}; 1142 1142 void main( World & this ) { 1143 sout | "World!" | endl;1143 sout | "World!"; 1144 1144 } 1145 1145 int main() { 1146 1146 World w`[10]`; $\C{// implicit forks after creation}$ 1147 sout | "Hello " | endl; $\C{// "Hello " and 10 "World!" printed concurrently}$1147 sout | "Hello "; $\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 | endl;1195 sout | total; 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 | endl;2194 sout | result`ns; 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 | endl;2207 sout | result`ns; 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 | endl;2246 sout | result`ns; 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 | endl;2307 sout | result`ns; 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 | endl;2358 sout | result`ns; 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 | endl;2393 sout | result`ns; 2394 2394 } 2395 2395 \end{cfa} -
doc/papers/general/Makefile
r9b086ca rcde3891 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .:${Macros}:${Build}: ../../bibliography:6 TeXLIB = .:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=../../bibliography: && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/proposals/flags.md
r9b086ca rcde3891 60 60 ``` 61 61 FunFlags f = some_val(); 62 if ( f ) { sout | "f has some flag(s) set" | endl; }63 if ( f & FOO ) { sout | "f has FOO set" | endl; }62 if ( f ) { sout | "f has some flag(s) set"; } 63 if ( f & FOO ) { sout | "f has FOO set"; } 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" | endl; }90 if ( f.FOO ) { sout | "f has FOO set"; } 91 91 f.FOO = true; // set FOO 92 92 f.FOO = false; // unset FOO -
doc/proposals/virtual.txt
r9b086ca rcde3891 87 87 first polymorphic parameter). 88 88 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.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. 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. Considering 101 the use cases for trait object, it is probably best to have the underlying 102 object be heap allocated and owned by the trait object. 103 100 104 Extension: Multi-parameter Virtual Traits: 101 105 … … 157 161 context, for instance if the cast occurs on the right hand side of an 158 162 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 the 166 trait is cast down to a structure. Here there are two options. 167 168 Abstraction Time Binding: The more efficient and consistant with other parts 169 of CFA. Only the trait types use dynamic look-up, if converveted back into a 170 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 of 172 bindings. 173 Construction Time Binding: For more consistant handling of the virtual 174 structs, they are always considered wrapped. Functions are bound to the 175 instance the moment it is constructed and remain unchanged throughout its 176 lifetime, so down casting does not lose information. 177 178 (We will have to decide between one of these two.) 159 179 160 180 Extension: Multiple Parents … … 205 225 206 226 We have so far been silent on how the vtable is created, stored and accessed. 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. 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. 224 256 225 257 Access has two main options: -
doc/user/Makefile
r9b086ca rcde3891 4 4 Figures = figures 5 5 Macros = ../LaTeXmacros 6 TeXLIB = .:${Macros}:${Build}: ../bibliography:6 TeXLIB = .:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=../bibliography: && 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
r9b086ca rcde3891 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : T hu Jul 26 17:29:05201814 %% Update Count : 3 36613 %% Last Modified On : Tue Dec 11 23:19:26 2018 14 %% Update Count : 3400 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 178 178 int main( void ) { 179 179 int x = 0, y = 1, z = 2; 180 ®sout | x | y | z | endl;®§\indexc{sout}§180 ®sout | x | y | z;®§\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 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.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. 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{?\\?@ \lstinline@?\?@} and ©?\=?©\index{?\\=?@\lstinline@?\=?@}, 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{?\\?@©?\?©} and ©?\=?©\index{?\\=?@©\=?©}, 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) | endl;515 sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi); 516 516 256 64 -64 0.015625 -0.015625 18.3791736799526 0.264715-1.1922i 517 517 \end{cfa} 518 Parenthesis are necessary for the complex constants or the expression is parsed as ©1.0f+(2.0fi \ 3.0f)+2.0fi©.518 Parenthesis are necessary for 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@ 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.} 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.} 539 546 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 \hline 566 \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 empty 620 empty 621 empty 622 zero 623 A 624 A A A A A A A A A A 625 B B B B B 626 C C C C C 627 D D D D D 628 E E E E E 629 0 1 2 3 4 5 6 7 8 9 630 1 3 5 7 9 631 10 8 6 4 2 632 0.5 1.5 2.5 3.5 4.5 633 5.5 4.5 3.5 2.5 1.5 634 2 4 6 8 10 635 10 8 6 4 2 636 637 N N N N N N N N N N 638 0 1 2 3 4 5 6 7 8 9 639 10 9 8 7 6 5 4 3 2 1 640 641 3 6 9 642 \end{cfa} 643 \end{tabular} 644 \end{cquote} 540 645 541 646 … … 800 905 801 906 907 % for () => for ( ;; ) 908 % for ( 10 - t ) => for ( typeof(10 - t) ? = 0 ; ? < 10 - t; ? += 1 ) // using 0 and 1 909 % for ( i ; 10 - t ) => for ( typeof(10 - t) i = 0 ; i < 10 - t; i += 1 ) // using 0 and 1 910 % for ( T i ; 10 - t ) => for ( T i = 0 ; i < 10 - t; i += 1 ) // using 0 and 1 911 % for ( 3~9 ) => for ( int ? = 3 ; ? < 9; ? += 1 ) // using 1 912 % for ( i ; 3~9 ) => for ( int i = 3 ; i < 9; i += 1 ) // using 1 913 % for ( T i ; 3~9 ) => for ( T i = 3 ; i < 9; i += 1 ) // using 1 914 915 802 916 %\subsection{\texorpdfstring{Labelled \protect\lstinline@continue@ / \protect\lstinline@break@}{Labelled continue / break}} 803 917 \subsection{\texorpdfstring{Labelled \LstKeywordStyle{continue} / \LstKeywordStyle{break} Statement}{Labelled continue / break Statement}} … … 805 919 While C provides ©continue© and ©break© statements for altering control flow, both are restricted to one level of nesting for a particular control structure. 806 920 Unfortunately, this restriction forces programmers to use \Indexc{goto} to achieve the equivalent control-flow for more than one level of nesting. 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.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. 808 922 For both ©continue© and ©break©, the target label must be directly associated with a ©for©, ©while© or ©do© statement; 809 923 for ©break©, the target label can also be associated with a ©switch©, ©if© or compound (©{}©) statement. … … 890 1004 \end{figure} 891 1005 892 Both labelled ©continue© and ©break© are a ©goto©\index{goto@ \lstinline@goto@!restricted} restricted in the following ways:1006 Both labelled ©continue© and ©break© are a ©goto©\index{goto@©goto©!restricted} restricted in the following ways: 893 1007 \begin{itemize} 894 1008 \item … … 2345 2459 int bar( int p ) { 2346 2460 ®i® += 1; §\C{// dependent on local variable}§ 2347 sout | ®i® | endl;2461 sout | ®i®; 2348 2462 } 2349 2463 return bar; §\C{// undefined because of local dependence}§ … … 2351 2465 int main() { 2352 2466 * [int]( int ) fp = foo(); §\C{// int (* fp)( int )}§ 2353 sout | fp( 3 ) | endl;2467 sout | fp( 3 ); 2354 2468 } 2355 2469 \end{cfa} … … 3117 3231 \begin{cfa} 3118 3232 int x = 1, y = 2, z = 3; 3119 sout | x ®|® y ®|® z | endl;3233 sout | x ®|® y ®|® z; 3120 3234 \end{cfa} 3121 3235 & … … 3138 3252 \begin{cfa} 3139 3253 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3140 sout | t1 | t2 | endl;§\C{// print tuples}§3254 sout | t1 | t2; §\C{// print tuples}§ 3141 3255 \end{cfa} 3142 3256 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3150 3264 & 3151 3265 \begin{cfa} 3152 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl;3266 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2); 3153 3267 \end{cfa} 3154 3268 \\ … … 3176 3290 A separator does not appear at the start or end of a line. 3177 3291 \begin{cfa}[belowskip=0pt] 3178 sout | 1 | 2 | 3 | endl;3292 sout | 1 | 2 | 3; 3179 3293 \end{cfa} 3180 3294 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3185 3299 A separator does not appear before or after a character literal or variable. 3186 3300 \begin{cfa} 3187 sout | '1' | '2' | '3' | endl;3301 sout | '1' | '2' | '3'; 3188 3302 123 3189 3303 \end{cfa} … … 3192 3306 A separator does not appear before or after a null (empty) C string. 3193 3307 \begin{cfa} 3194 sout | 1 | "" | 2 | "" | 3 | endl;3308 sout | 1 | "" | 2 | "" | 3; 3195 3309 123 3196 3310 \end{cfa} … … 3202 3316 \begin{cfa}[mathescape=off] 3203 3317 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3204 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;3318 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10; 3205 3319 \end{cfa} 3206 3320 %$ … … 3216 3330 \begin{cfa}[belowskip=0pt] 3217 3331 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 3218 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl;3332 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x"; 3219 3333 \end{cfa} 3220 3334 \begin{cfa}[basicstyle=\tt,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3226 3340 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@ 3227 3341 \begin{cfa}[belowskip=0pt] 3228 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl;3342 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx"; 3229 3343 \end{cfa} 3230 3344 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3235 3349 If a space is desired before or after one of the special string start/end characters, simply insert a space. 3236 3350 \begin{cfa}[belowskip=0pt] 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;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; 3238 3352 \end{cfa} 3239 3353 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3252 3366 \begin{cfa}[mathescape=off,belowskip=0pt] 3253 3367 sepSet( sout, ", $" ); §\C{// set separator from " " to ", \$"}§ 3254 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" | endl;3368 sout | 1 | 2 | 3 | " \"" | ®sep® | "\""; 3255 3369 \end{cfa} 3256 3370 %$ … … 3261 3375 \begin{cfa}[belowskip=0pt] 3262 3376 sepSet( sout, " " ); §\C{// reset separator to " "}§ 3263 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" | endl;3377 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\""; 3264 3378 \end{cfa} 3265 3379 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3271 3385 strcpy( store, sepGet( sout ) ); §\C{// copy current separator}§ 3272 3386 sepSet( sout, "_" ); §\C{// change separator to underscore}§ 3273 sout | 1 | 2 | 3 | endl;3387 sout | 1 | 2 | 3; 3274 3388 \end{cfa} 3275 3389 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3278 3392 \begin{cfa}[belowskip=0pt] 3279 3393 sepSet( sout, store ); §\C{// change separator back to original}§ 3280 sout | 1 | 2 | 3 | endl;3394 sout | 1 | 2 | 3; 3281 3395 \end{cfa} 3282 3396 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3289 3403 \begin{cfa}[belowskip=0pt] 3290 3404 sepSetTuple( sout, " " ); §\C{// set tuple separator from ", " to " "}§ 3291 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" | endl;3405 sout | t1 | t2 | " \"" | ®sepTuple® | "\""; 3292 3406 \end{cfa} 3293 3407 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3296 3410 \begin{cfa}[belowskip=0pt] 3297 3411 sepSetTuple( sout, ", " ); §\C{// reset tuple separator to ", "}§ 3298 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" | endl;3412 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\""; 3299 3413 \end{cfa} 3300 3414 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3306 3420 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. 3307 3421 \begin{cfa}[belowskip=0pt] 3308 sout | sepDisable | 1 | 2 | 3 | endl;§\C{// globally turn off implicit separator}§3422 sout | sepDisable | 1 | 2 | 3; §\C{// globally turn off implicit separator}§ 3309 3423 \end{cfa} 3310 3424 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3312 3426 \end{cfa} 3313 3427 \begin{cfa}[belowskip=0pt] 3314 sout | sepEnable | 1 | 2 | 3 | endl; §\C{// globally turn on implicit separator}§3428 sout | sepEnable | 1 | 2 | 3; §\C{// globally turn on implicit separator}§ 3315 3429 \end{cfa} 3316 3430 \begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3321 3435 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. 3322 3436 \begin{cfa}[belowskip=0pt] 3323 sout | 1 | sepOff | 2 | 3 | endl; §\C{// locally turn off implicit separator}§3437 sout | 1 | sepOff | 2 | 3; §\C{// locally turn off implicit separator}§ 3324 3438 \end{cfa} 3325 3439 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3327 3441 \end{cfa} 3328 3442 \begin{cfa}[belowskip=0pt] 3329 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; §\C{// locally turn on implicit separator}§3443 sout | sepDisable | 1 | sepOn | 2 | 3; §\C{// locally turn on implicit separator}§ 3330 3444 \end{cfa} 3331 3445 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3334 3448 The tuple separator also responses to being turned on and off. 3335 3449 \begin{cfa}[belowskip=0pt] 3336 sout | t1 | sepOff | t2 | endl; §\C{// locally turn on/off implicit separator}§3450 sout | t1 | sepOff | t2; §\C{// locally turn on/off implicit separator}§ 3337 3451 \end{cfa} 3338 3452 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3342 3456 use ©sep© to accomplish this functionality. 3343 3457 \begin{cfa}[belowskip=0pt] 3344 sout | sepOn | 1 | 2 | 3 | sepOn | endl; §\C{// sepOn does nothing at start/end of line}§3458 sout | sepOn | 1 | 2 | 3 | sepOn; §\C{// sepOn does nothing at start/end of line}§ 3345 3459 \end{cfa} 3346 3460 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3348 3462 \end{cfa} 3349 3463 \begin{cfa}[belowskip=0pt] 3350 sout | sep | 1 | 2 | 3 | sep | endl; §\C{// use sep to print separator at start/end of line}§3464 sout | sep | 1 | 2 | 3 | sep ; §\C{// use sep to print separator at start/end of line}§ 3351 3465 \end{cfa} 3352 3466 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3361 3475 int main( void ) { 3362 3476 int x = 1, y = 2, z = 3; 3363 sout | x | y | z | endl;3477 sout | x | y | z; 3364 3478 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3365 sout | t1 | t2 | endl; // print tuples3366 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;3479 sout | t1 | t2; // print tuples 3480 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; 3370 3484 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3371 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;3485 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10; 3372 3486 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 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;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; 3376 3490 3377 3491 sepSet( sout, ", $" ); // set separator from " " to ", $" 3378 sout | 1 | 2 | 3 | " \"" | sep | "\"" | endl;3492 sout | 1 | 2 | 3 | " \"" | sep | "\""; 3379 3493 sepSet( sout, " " ); // reset separator to " " 3380 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl;3494 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\""; 3381 3495 3382 3496 char store[sepSize]; 3383 3497 strcpy( store, sepGet( sout ) ); 3384 3498 sepSet( sout, "_" ); 3385 sout | 1 | 2 | 3 | endl;3499 sout | 1 | 2 | 3; 3386 3500 sepSet( sout, store ); 3387 sout | 1 | 2 | 3 | endl;3501 sout | 1 | 2 | 3; 3388 3502 3389 3503 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 3390 sout | t1 | t2 | " \"" | sepTuple | "\"" | endl;3504 sout | t1 | t2 | " \"" | sepTuple | "\""; 3391 3505 sepSetTuple( sout, ", " ); // reset tuple separator to ", " 3392 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl;3393 3394 sout | sepDisable | 1 | 2 | 3 | endl; // globally turn off implicit separator3395 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separator3396 3397 sout | 1 | sepOff | 2 | 3 | endl; // locally turn on implicit separator3398 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; // globally turn off implicit separator3506 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\""; 3507 3508 sout | sepDisable | 1 | 2 | 3; // globally turn off implicit separator 3509 sout | sepEnable | 1 | 2 | 3; // globally turn on implicit separator 3510 3511 sout | 1 | sepOff | 2 | 3; // locally turn on implicit separator 3512 sout | sepDisable | 1 | sepOn | 2 | 3; // globally turn off implicit separator 3399 3513 sout | sepEnable; 3400 sout | t1 | sepOff | t2 | endl; // locally turn on/off implicit separator3401 3402 sout | sepOn | 1 | 2 | 3 | sepOn | endl; // sepOn does nothing at start/end of line3403 sout | sep | 1 | 2 | 3 | sep | endl; // use sep to print separator at start/end of line3514 sout | t1 | sepOff | t2; // locally turn on/off implicit separator 3515 3516 sout | sepOn | 1 | 2 | 3 | sepOn ; // sepOn does nothing at start/end of line 3517 sout | sep | 1 | 2 | 3 | sep ; // use sep to print separator at start/end of line 3404 3518 } 3405 3519 … … 4066 4180 Fibonacci f1, f2; 4067 4181 for ( int i = 1; i <= 10; i += 1 ) { 4068 sout | next( &f1 ) | ' ' | next( &f2 ) | endl;4182 sout | next( &f1 ) | ' ' | next( &f2 ); 4069 4183 } // for 4070 4184 } … … 4132 4246 MyThread f[4]; 4133 4247 } 4134 sout | global.value | endl;4248 sout | global.value; 4135 4249 } 4136 4250 \end{cfa} … … 4210 4324 void main( First * this ) { 4211 4325 for ( int i = 0; i < 10; i += 1 ) { 4212 sout | "First : Suspend No." | i + 1 | endl;4326 sout | "First : Suspend No." | i + 1; 4213 4327 yield(); 4214 4328 } … … 4219 4333 wait( this->lock ); 4220 4334 for ( int i = 0; i < 10; i += 1 ) { 4221 sout | "Second : Suspend No." | i + 1 | endl;4335 sout | "Second : Suspend No." | i + 1; 4222 4336 yield(); 4223 4337 } … … 4226 4340 int main( void ) { 4227 4341 signal_once lock; 4228 sout | "User main begin" | endl;4342 sout | "User main begin"; 4229 4343 { 4230 4344 processor p; … … 4234 4348 } 4235 4349 } 4236 sout | "User main end" | endl;4350 sout | "User main end"; 4237 4351 } 4238 4352 \end{cfa} … … 4931 5045 void ?{}( Line * l ) { 4932 5046 l->lnth = 0.0; 4933 sout | "default" | endl;5047 sout | "default"; 4934 5048 } 4935 5049 … … 4938 5052 void ?{}( Line * l, float lnth ) { 4939 5053 l->lnth = lnth; 4940 sout | "lnth" | l->lnth | endl;5054 sout | "lnth" | l->lnth; 4941 5055 4942 5056 } … … 4944 5058 // destructor 4945 5059 void ^?() { 4946 sout | "destroyed" | endl;5060 sout | "destroyed"; 4947 5061 l.lnth = 0.0; 4948 5062 } … … 5690 5804 In particular, output of ©char© variable now print a character rather than the decimal ASCII value of the character. 5691 5805 \begin{cfa} 5692 sout | 'x' | " " | (int)'x' | endl;5806 sout | 'x' | " " | (int)'x'; 5693 5807 x 120 5694 5808 \end{cfa} … … 6920 7034 #include <gmp>§\indexc{gmp}§ 6921 7035 int main( void ) { 6922 sout | "Factorial Numbers" | endl;7036 sout | "Factorial Numbers"; 6923 7037 Int fact = 1; 6924 7038 6925 sout | 0 | fact | endl;7039 sout | 0 | fact; 6926 7040 for ( unsigned int i = 1; i <= 40; i += 1 ) { 6927 7041 fact *= i; 6928 sout | i | fact | endl;7042 sout | i | fact; 6929 7043 } 6930 7044 } -
doc/working/exception/impl/exception.c
r9b086ca rcde3891 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 table 325 asm volatile (".cfi_lsda 0x1b, .LLSDACFA2"); 326 #else 322 327 asm volatile (".cfi_personality 0x3,__gcfa_personality_v0"); 323 328 // Setup the exception table 324 329 asm volatile (".cfi_lsda 0x3, .LLSDACFA2"); 330 #endif 325 331 326 332 // Label which defines the start of the area for which the handler is setup … … 356 362 // Some more works need to be done if we want to have a single 357 363 // call to the try routine 364 #if defined(__PIC__) 365 asm ( 366 //HEADER 367 ".LFECFA1:\n" 368 " .globl __gcfa_personality_v0\n" 369 " .section .gcc_except_table,\"a\",@progbits\n" 370 ".LLSDACFA2:\n" //TABLE header 371 " .byte 0xff\n" 372 " .byte 0xff\n" 373 " .byte 0x1\n" 374 " .uleb128 .LLSDACSECFA2-.LLSDACSBCFA2\n" // BODY length 375 // Body uses language specific data and therefore could be modified arbitrarily 376 ".LLSDACSBCFA2:\n" // BODY start 377 " .uleb128 .TRYSTART-__try_terminate\n" // Handled area start (relative to start of function) 378 " .uleb128 .TRYEND-.TRYSTART\n" // Handled area length 379 " .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 0 381 ".LLSDACSECFA2:\n" // BODY end 382 " .text\n" // TABLE footer 383 " .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 symbol 390 " .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 specifically 392 " .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 symbol 395 "CFA.ref.__gcfa_personality_v0:\n" 396 " .quad __gcfa_personality_v0\n" 397 ); 398 #else 358 399 asm ( 359 400 //HEADER … … 375 416 " .text\n" // TABLE footer 376 417 " .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"379 418 ); 419 #endif -
driver/Makefile.am
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 # applies to both programs -
driver/Makefile.in
r9b086ca rcde3891 96 96 subdir = driver 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 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 100 104 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 101 105 $(ACLOCAL_M4) … … 110 114 as_OBJECTS = $(am_as_OBJECTS) 111 115 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 = --silent 119 am__v_lt_1 = 112 120 am_cc1_OBJECTS = cc1.$(OBJEXT) 113 121 cc1_OBJECTS = $(am_cc1_OBJECTS) … … 134 142 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 135 143 $(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) 136 148 AM_V_CXX = $(am__v_CXX_@AM_V@) 137 149 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 139 151 am__v_CXX_1 = 140 152 CXXLD = $(CXX) 141 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 142 -o $@ 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 143 156 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 144 157 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 177 190 AMTAR = @AMTAR@ 178 191 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 192 AR = @AR@ 179 193 AUTOCONF = @AUTOCONF@ 180 194 AUTOHEADER = @AUTOHEADER@ 181 195 AUTOMAKE = @AUTOMAKE@ 182 196 AWK = @AWK@ 183 BACKEND_CC = @BACKEND_CC@184 197 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 185 198 CC = @CC@ … … 201 214 CPPFLAGS = @CPPFLAGS@ 202 215 CXX = @CXX@ 216 CXXCPP = @CXXCPP@ 203 217 CXXDEPMODE = @CXXDEPMODE@ 204 218 CXXFLAGS = @CXXFLAGS@ … … 206 220 DEFS = @DEFS@ 207 221 DEPDIR = @DEPDIR@ 222 DLLTOOL = @DLLTOOL@ 208 223 DRIVER_DIR = @DRIVER_DIR@ 224 DSYMUTIL = @DSYMUTIL@ 225 DUMPBIN = @DUMPBIN@ 209 226 ECHO_C = @ECHO_C@ 210 227 ECHO_N = @ECHO_N@ … … 212 229 EGREP = @EGREP@ 213 230 EXEEXT = @EXEEXT@ 231 FGREP = @FGREP@ 214 232 GREP = @GREP@ 215 233 HOST_FLAGS = @HOST_FLAGS@ … … 219 237 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 220 238 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 239 LD = @LD@ 221 240 LDFLAGS = @LDFLAGS@ 222 241 LEX = @LEX@ … … 227 246 LIBOBJS = @LIBOBJS@ 228 247 LIBS = @LIBS@ 248 LIBTOOL = @LIBTOOL@ 249 LIPO = @LIPO@ 250 LN_S = @LN_S@ 229 251 LTLIBOBJS = @LTLIBOBJS@ 252 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 230 253 MAKEINFO = @MAKEINFO@ 254 MANIFEST_TOOL = @MANIFEST_TOOL@ 231 255 MKDIR_P = @MKDIR_P@ 256 NM = @NM@ 257 NMEDIT = @NMEDIT@ 258 OBJDUMP = @OBJDUMP@ 232 259 OBJEXT = @OBJEXT@ 260 OTOOL = @OTOOL@ 261 OTOOL64 = @OTOOL64@ 233 262 PACKAGE = @PACKAGE@ 234 263 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 240 269 PATH_SEPARATOR = @PATH_SEPARATOR@ 241 270 RANLIB = @RANLIB@ 271 SED = @SED@ 242 272 SET_MAKE = @SET_MAKE@ 243 273 SHELL = @SHELL@ … … 251 281 abs_top_builddir = @abs_top_builddir@ 252 282 abs_top_srcdir = @abs_top_srcdir@ 283 ac_ct_AR = @ac_ct_AR@ 253 284 ac_ct_CC = @ac_ct_CC@ 254 285 ac_ct_CXX = @ac_ct_CXX@ 286 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 255 287 am__include = @am__include@ 256 288 am__leading_dot = @am__leading_dot@ … … 300 332 top_srcdir = @top_srcdir@ 301 333 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 334 ACLOCAL_AMFLAGS = -I automake 302 335 303 336 # applies to both programs … … 313 346 314 347 .SUFFIXES: 315 .SUFFIXES: .cc . o .obj348 .SUFFIXES: .cc .lo .o .obj 316 349 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 317 350 @for dep in $?; do \ … … 353 386 sed 's/$(EXEEXT)$$//' | \ 354 387 while read p p1; do if test -f $$p \ 388 || test -f $$p1 \ 355 389 ; then echo "$$p"; echo "$$p"; else :; fi; \ 356 390 done | \ … … 367 401 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 368 402 test -z "$$files" || { \ 369 echo " $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \370 $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \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 $$?; \ 371 405 } \ 372 406 ; done … … 384 418 385 419 clean-cc1libPROGRAMS: 386 -test -z "$(cc1lib_PROGRAMS)" || rm -f $(cc1lib_PROGRAMS) 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 387 427 388 428 clean-noinstPROGRAMS: 389 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 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 390 436 391 437 as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES) … … 426 472 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 427 473 @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.Plo 479 @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 *.lo 485 486 clean-libtool: 487 -rm -rf .libs _libs 428 488 429 489 ID: $(am__tagged_files) … … 549 609 clean: clean-am 550 610 551 clean-am: clean-cc1libPROGRAMS clean-generic clean- noinstPROGRAMS\552 mostlyclean-am611 clean-am: clean-cc1libPROGRAMS clean-generic clean-libtool \ 612 clean-noinstPROGRAMS mostlyclean-am 553 613 554 614 distclean: distclean-am … … 606 666 mostlyclean: mostlyclean-am 607 667 608 mostlyclean-am: mostlyclean-compile mostlyclean-generic 668 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 669 mostlyclean-libtool 609 670 610 671 pdf: pdf-am … … 622 683 623 684 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 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 \ 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 \ 635 697 tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \ 636 698 uninstall-hook -
driver/as.cc
r9b086ca rcde3891 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 -- 8 // 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 // 9 10 // Author : Peter A. Buhr 10 11 // Created On : Wed Aug 1 10:49:42 2018 11 12 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 22 17:30:24201813 // Update Count : 9 314 // 13 // Last Modified On : Sat Sep 8 08:40:16 2018 14 // Update Count : 97 15 // 15 16 16 17 #include <cstdio> // perror … … 43 44 off_t size = mystat.st_size; 44 45 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 ); }; 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 ); }; 47 49 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 ); };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 ); }; 51 53 52 for ( int i = 0; i < 8; i += 1 ) {// move N (magic) lines forward53 cursor = strstr( cursor, "\n" ) + 1;54 } // for54 for ( int i = 0; i < 8; i += 1 ) { // move N (magic) lines forward 55 cursor = strstr( cursor, "\n" ) + 1; 56 } // for 55 57 56 cursor -= 2;// backup over "c\n" language value57 if ( *(cursor - 1) != 'x' ) { fprintf( stderr, "invalid C language code\n" ); exit( EXIT_FAILURE ); };58 cursor -= 2; // backup over "c\n" language value 59 if ( *(cursor - 1) != 'x' ) { fprintf( stderr, "invalid C language code\n" ); exit( EXIT_FAILURE ); }; 58 60 59 memmove( cursor + 2, cursor + 1, start + size - cursor - 1 ); // move remaining text 1 character right61 memmove( cursor + 2, cursor + 1, start + size - cursor - 1 ); // move remaining text 1 character right 60 62 61 *(cursor) = '2'; // replace C language value with CFA 62 *(cursor + 1) = '5'; 63 *(cursor) = '2'; // replace C language value with CFA 64 *(cursor + 1) = '5'; 65 } // if 66 67 if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk 63 68 } // if 64 65 if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk66 69 67 70 argv[0] = "as"; -
driver/cc1.cc
r9b086ca rcde3891 10 10 // Created On : Fri Aug 26 14:23:51 2005 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 23 09:48:40201813 // Update Count : 12 212 // Last Modified On : Mon Sep 3 16:57:05 2018 13 // Update Count : 125 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__=" );35 34 string D__GCC_BPREFIX__( "-D__GCC_BPREFIX__=" ); 36 35 string D__CFA_FLAGPREFIX__( "-D__CFA_FLAG__=" ); … … 46 45 enum { NumSuffixes = 2 }; 47 46 const string suffixes[NumSuffixes] = { "cfa", "hfa", }; 48 49 47 50 48 void suffix( string arg, const char * args[], int & nargs ) { … … 116 114 void Stage1( const int argc, const char * const argv[] ) { 117 115 int code; 118 int i;119 116 120 117 string arg; … … 139 136 cerr << "Stage1" << endl; 140 137 #endif // __DEBUG_H__ 138 checkEnv( args, nargs ); // arguments passed via environment variables 139 #ifdef __DEBUG_H__ 140 for ( int i = 1; i < argc; i += 1 ) { 141 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 142 } // for 143 #endif // __DEBUG_H__ 141 144 142 145 // process all the arguments 143 146 144 checkEnv( args, nargs ); // arguments passed via environment variables 145 146 for ( i = 1; i < argc; i += 1 ) { 147 #ifdef __DEBUG_H__ 148 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 149 #endif // __DEBUG_H__ 147 for ( int i = 1; i < argc; i += 1 ) { 150 148 arg = argv[i]; 151 #ifdef __DEBUG_H__152 cerr << "arg:\"" << arg << "\"" << endl;153 #endif // __DEBUG_H__154 149 if ( prefix( arg, "-" ) ) { 155 150 // strip g++ flags that are inappropriate or cause duplicates in subsequent passes … … 185 180 ncargs += 1; 186 181 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 along191 // 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 along196 // nargs += 1;197 // i += 1; // and the argument198 182 } else if ( prefix( arg, D__GCC_BPREFIX__ ) ) { 199 183 bprefix = arg.substr( D__GCC_BPREFIX__.size() ); … … 251 235 #ifdef __DEBUG_H__ 252 236 cerr << "args:"; 253 for ( i = 1; i < nargs; i += 1 ) {237 for ( int i = 1; i < nargs; i += 1 ) { 254 238 cerr << " " << args[i]; 255 239 } // for … … 282 266 #ifdef __DEBUG_H__ 283 267 cerr << "nargs: " << nargs << endl; 284 for ( i = 0; args[i] != NULL; i += 1 ) {268 for ( int i = 0; args[i] != NULL; i += 1 ) { 285 269 cerr << args[i] << " "; 286 270 } // for … … 324 308 #ifdef __DEBUG_H__ 325 309 cerr << "cpp nargs: " << nargs << endl; 326 for ( i = 0; args[i] != NULL; i += 1 ) {310 for ( int i = 0; args[i] != NULL; i += 1 ) { 327 311 cerr << args[i] << " "; 328 312 } // for … … 377 361 #ifdef __DEBUG_H__ 378 362 cerr << "cfa-cpp ncargs: " << o_name << " " << CFA_flag << " " << ncargs << endl; 379 for ( i = 0; cargs[i] != NULL; i += 1 ) {363 for ( int i = 0; cargs[i] != NULL; i += 1 ) { 380 364 cerr << cargs[i] << " "; 381 365 } // for … … 407 391 408 392 void Stage2( const int argc, const char * const * argv ) { 409 int i;410 411 393 string arg; 412 394 … … 419 401 cerr << "Stage2" << endl; 420 402 #endif // __DEBUG_H__ 403 checkEnv( args, nargs ); // arguments passed via environment variables 404 #ifdef __DEBUG_H__ 405 for ( int i = 1; i < argc; i += 1 ) { 406 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 407 } // for 408 #endif // __DEBUG_H__ 421 409 422 410 // process all the arguments 423 411 424 checkEnv( args, nargs ); // arguments passed via environment variables 425 426 for ( i = 1; i < argc; i += 1 ) { 427 #ifdef __DEBUG_H__ 428 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 429 #endif // __DEBUG_H__ 412 for ( int i = 1; i < argc; i += 1 ) { 430 413 arg = argv[i]; 431 #ifdef __DEBUG_H__432 cerr << "arg:\"" << arg << "\"" << endl;433 #endif // __DEBUG_H__434 414 if ( prefix( arg, "-" ) ) { 435 415 // strip inappropriate flags … … 476 456 #ifdef __DEBUG_H__ 477 457 cerr << "args:"; 478 for ( i = 1; i < nargs; i += 1 ) {458 for ( int i = 1; i < nargs; i += 1 ) { 479 459 cerr << " " << args[i]; 480 460 } // for … … 492 472 #ifdef __DEBUG_H__ 493 473 cerr << "stage2 nargs: " << nargs << endl; 494 for ( i = 0; args[i] != NULL; i += 1 ) {474 for ( int i = 0; args[i] != NULL; i += 1 ) { 495 475 cerr << args[i] << " "; 496 476 } // for … … 506 486 int main( const int argc, const char * const argv[], __attribute__((unused)) const char * const env[] ) { 507 487 #ifdef __DEBUG_H__ 508 for ( int i = 0; env[i] != NULL; i += 1 ) {488 for ( int int i = 0; env[i] != NULL; i += 1 ) { 509 489 cerr << env[i] << endl; 510 490 } // for -
driver/cfa.cc
r9b086ca rcde3891 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 23 15:41:55 201813 // Update Count : 2 7012 // Last Modified On : Tue Jan 15 20:56:03 2019 13 // Update Count : 280 14 14 // 15 15 … … 43 43 const string suffixes[NumSuffixes] = { "cfa", "hfa", }; 44 44 45 voidsuffix( string arg, const char * args[], int & nargs ) {45 bool 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 ;49 if ( dot == string::npos ) return false; 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 ;57 return true; 58 58 } // if 59 59 } // for 60 return false; 60 61 } // suffix 61 62 … … 113 114 bool std_flag = false; // -std= flag 114 115 bool noincstd_flag = false; // -no-include-stdhdr= flag 115 bool xflag = false; // user supplied -x flag116 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 for ( int i = 1; i < argc; i += 1 ) { 131 cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl; 132 } // for 130 133 #endif // __DEBUG_H__ 131 134 … … 133 136 134 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__142 139 if ( prefix( arg, "-" ) ) { 143 140 // pass through arguments … … 202 199 args[nargs] = argv[i]; // pass the argument along 203 200 nargs += 1; 204 } else if ( arg == "-x" ) {205 xflag = true;206 args[nargs] = argv[i]; // pass the argument along207 nargs += 1;208 i += 1; // advance to argument209 args[nargs] = argv[i]; // pass the argument along210 nargs += 1;211 // args[nargs] = ( *new string( string("-D__GCC_X__=") + argv[i] ) ).c_str(); // add the argument for -x212 // nargs += 1;213 } else if ( prefix( arg, "-x" ) ) {214 xflag = true;215 args[nargs] = argv[i]; // pass the argument along216 nargs += 1;217 // args[nargs] = ( *new string( string("-D__GCC_X__=") + arg.substr(2) ) ).c_str(); // add the argument for -x218 // nargs += 1;219 201 } else if ( arg == "-w" ) { 220 202 args[nargs] = argv[i]; // pass the argument along … … 298 280 } // if 299 281 } else { 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]; 309 nargs += 1; 310 if ( opt ) { 282 bool cfa = suffix( arg, args, nargs ); // check suffix 283 args[nargs] = argv[i]; // concatenate file 284 nargs += 1; 285 if ( cfa ) { 311 286 args[nargs] = "-x"; 312 287 nargs += 1; 313 288 args[nargs] = "none"; 314 289 nargs += 1; 315 // args[nargs] = ( *new string( string("-D__GCC_X__=none") ) ).c_str(); // add the argument for -x316 // nargs += 1;317 290 } // if 318 291 nonoptarg = true; 319 xflag = false;320 292 } // if 321 293 } // for 294 295 args[nargs] = "-x"; // turn off language 296 nargs += 1; 297 args[nargs] = "none"; 298 nargs += 1; 322 299 323 300 #ifdef __x86_64__ … … 380 357 381 358 string arch = m32 ? CFA_32_CPU : (m64 ? CFA_64_CPU : CFA_DEFAULT_CPU); 382 if ( ! m32 && ! m64 && arch == "x86" ) { // no override and 32-bit architecture 383 args[nargs] = "-m32"; 384 nargs += 1; 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 385 367 } // if 386 368 const char * config = debug ? "debug": "nodebug"; … … 402 384 nargs += 1; 403 385 386 for ( int i = 0; i < nlibs; i += 1 ) { // copy non-user libraries after all user libraries 387 args[nargs] = libs[i]; 388 nargs += 1; 389 } // for 390 404 391 if ( link ) { 405 392 args[nargs] = "-Xlinker"; … … 421 408 422 409 // include the cfa library in case it's needed 423 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src" : "")) ).c_str(); 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(); 424 413 nargs += 1; 425 414 args[nargs] = "-lcfa"; … … 430 419 nargs += 1; 431 420 args[nargs] = "-lrt"; 421 nargs += 1; 422 args[nargs] = "-lm"; 432 423 nargs += 1; 433 424 } // if … … 514 505 args[nargs] = ( *new string( string("-B") + Bprefix ) ).c_str(); 515 506 nargs += 1; 516 args[nargs] = "-lm";517 nargs += 1;518 507 } else { 519 508 cerr << argv[0] << " error, compiler \"" << compiler_name << "\" unsupported." << endl; 520 509 exit( EXIT_FAILURE ); 521 510 } // if 522 523 for ( int i = 0; i < nlibs; i += 1 ) { // copy non-user libraries after all user libraries524 args[nargs] = libs[i];525 nargs += 1;526 } // for527 511 528 512 args[nargs] = NULL; // terminate with NULL -
examples/ArrayN.c
r9b086ca rcde3891 7 7 8 8 forall(otype index_t) 9 index_t offset_to_index(unsigned offset, index_t size) 10 { 9 index_t offset_to_index(unsigned offset, index_t size) { 11 10 return [offset / size.0, offset % size.1]; 12 11 } 13 12 14 int main(int argc, char* argv[]) 15 { 13 int main(int argc, char* argv[]) { 16 14 unsigned x = 0, y = 0, i = 0; 17 15 unsigned sx = 4, sy = 4; … … 20 18 [x, y] = offset_to_index(6, [sx, sy]); 21 19 22 sout | x | ' ' | y | endl;20 sout | x | ' ' | y; 23 21 24 22 return 0; -
examples/gc_no_raii/src/internal/collector.c
r9b086ca rcde3891 38 38 void* gc_allocate(size_t target_size) 39 39 { 40 // sout | "Allocating " | target_size | " bytes" | endl;40 // sout | "Allocating " | target_size | " bytes"; 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" | endl;45 // sout | "Actual allocation size: " | size | " bytes" | endl;44 // sout | "Object header size: " | sizeof(gc_object_header) | " bytes"; 45 // sout | "Actual allocation size: " | size | " bytes"; 46 46 47 47 check(size < POOL_SIZE_BYTES); -
examples/gc_no_raii/src/internal/state.h
r9b086ca rcde3891 38 38 static inline bool gc_needs_collect(gc_state* state) 39 39 { 40 // sout | "Used Space: " | state->used_space | " bytes" | endl;40 // sout | "Used Space: " | state->used_space | " bytes"; 41 41 return state->used_space * 2 > state->total_space; 42 42 } -
examples/gc_no_raii/src/tools/print.h
r9b086ca rcde3891 5 5 // #include <fstream.hfa> 6 6 // 7 // #define DEBUG_OUT(x) sout | x | endl;7 // #define DEBUG_OUT(x) sout | x; 8 8 // 9 9 // #else -
examples/multicore.c
r9b086ca rcde3891 15 15 16 16 int main(int argc, char* argv[]) { 17 // sout | "User main begin" | endl;17 // sout | "User main begin"; 18 18 { 19 19 processor p; … … 22 22 } 23 23 } 24 // sout | "User main end" | endl;24 // sout | "User main end"; 25 25 } -
examples/prolog.c
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:09:39 201613 // Update Count : 512 // Last Modified On : Tue Dec 11 23:27:19 2018 13 // Update Count : 6 14 14 // 15 15 16 16 #include <fstream.hfa> 17 17 18 void printResult( int x ) { sout | "int" | endl; }19 void printResult( double x ) { sout | "double" | endl; }20 void printResult( char * x ) { sout | "char*" | endl; }18 void printResult( int x ) { sout | "int"; } 19 void printResult( double x ) { sout | "double"; } 20 void printResult( char * x ) { sout | "char*"; } 21 21 22 22 void is_arithmetic( int x ) {} -
examples/quad.c
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:07:02 201613 // Update Count : 812 // Last Modified On : Tue Dec 11 23:26:58 2018 13 // Update Count : 9 14 14 // 15 15 … … 28 28 int main() { 29 29 int N = 2; 30 sout | "result of quad of" | N | "is" | quad( N ) | endl;30 sout | "result of quad of" | N | "is" | quad( N ); 31 31 } 32 32 -
examples/square.c
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:05:48 201613 // Update Count : 2 712 // Last Modified On : Tue Dec 11 23:28:24 2018 13 // Update Count : 28 14 14 // 15 15 … … 23 23 int main() { 24 24 #if 0 25 sout | "result of squaring 9 is " | endl;25 sout | "result of squaring 9 is "; 26 26 27 27 // char does not have multiplication. … … 30 30 } // ?*? 31 31 char c = 9; 32 sout | "char\t\t\t" | square( c ) | endl;32 sout | "char\t\t\t" | square( c ); 33 33 34 sout | square( s ) | endl;34 sout | square( s ); 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 ) | endl;40 sout | "signed int\t\t" | square( i ); 41 41 42 42 unsigned int ui = 9; 43 sout | "unsigned int\t\t" | square( ui ) | endl;43 sout | "unsigned int\t\t" | square( ui ); 44 44 45 45 long int li = 9; 46 sout | "signed long int\t\t" | square( li ) | endl;46 sout | "signed long int\t\t" | square( li ); 47 47 48 48 unsigned long int uli = 9; 49 sout | "unsigned long int\t" | square( uli ) | endl;49 sout | "unsigned long int\t" | square( uli ); 50 50 51 51 signed long long int lli = 9; 52 sout | "signed long long int\t" | square( lli ) | endl;52 sout | "signed long long int\t" | square( lli ); 53 53 54 54 unsigned long long int ulli = 9; 55 sout | "unsigned long long int\t" | square( ulli ) | endl;55 sout | "unsigned long long int\t" | square( ulli ); 56 56 57 57 float f = 9.0; 58 sout | "float\t\t\t" | square( f ) | endl;58 sout | "float\t\t\t" | square( f ); 59 59 60 60 double d = 9.0; 61 sout | "double\t\t\t" | square( d ) | endl;61 sout | "double\t\t\t" | square( d ); 62 62 63 63 long double ld = 9.0; 64 sout | "long double\t\t" | square( ld ) | endl;64 sout | "long double\t\t" | square( ld ); 65 65 #endif 66 66 } // main -
examples/twice.c
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Oct 19 21:52:57 201713 // Update Count : 4 612 // Last Modified On : Tue Dec 11 23:28:08 2018 13 // Update Count : 47 14 14 // 15 15 … … 28 28 29 29 int main( void ) { 30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ) | endl;30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ); 31 31 } 32 32 -
examples/wrapper/src/main.c
r9b086ca rcde3891 1 1 #include "pointer.h" 2 2 3 wrapper_t make_copy(wrapper_t copy) 4 { 3 wrapper_t make_copy(wrapper_t copy) { 5 4 return copy; 6 5 } 7 6 8 int main(int argc, char const *argv[]) 9 { 7 int main(int argc, char const *argv[]) { 10 8 wrapper_t p = wrap(6); 11 12 sout | endl | "test started" | endl; 13 9 sout | nl | "test started"; 14 10 wrapper_t p2 = p; 15 16 11 clear(&p); 17 18 12 p = p2; 19 20 13 wrapper_t p3 = make_copy(p2); 21 22 sout | endl | "test ended" | endl; 23 14 sout | nl | "test ended"; 24 15 return 0; 25 16 } -
examples/wrapper/src/pointer.h
r9b086ca rcde3891 34 34 void ?{}(content_t* this) 35 35 { 36 sout | "Constructing content" | endl;36 sout | "Constructing content"; 37 37 this->count = 0; 38 38 } … … 40 40 void ^?{}(content_t* this) 41 41 { 42 sout | "Destroying content" | endl;42 sout | "Destroying content"; 43 43 } 44 44 … … 53 53 void ?{}(wrapper_t* this) 54 54 { 55 sout | "Constructing empty ref pointer" | endl | endl;55 sout | "Constructing empty ref pointer" | nl; 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" | endl;61 sout | "Constructing ref pointer from copy"; 62 62 this->ptr = rhs.ptr; 63 63 this->ptr->count++; 64 sout | "Reference is " | this->ptr->count | endl | endl;64 sout | "Reference is " | this->ptr->count | nl; 65 65 } 66 66 … … 69 69 if(this->ptr) 70 70 { 71 sout | "Destroying ref pointer" | endl;71 sout | "Destroying ref pointer"; 72 72 this->ptr->count--; 73 sout | "Reference is " | this->ptr->count | endl | endl;73 sout | "Reference is " | this->ptr->count | nl; 74 74 if(!this->ptr->count) delete(this->ptr); 75 75 } 76 76 else 77 77 { 78 sout | "Destroying empty ref pointer" | endl | endl;78 sout | "Destroying empty ref pointer" | nl; 79 79 } 80 80 } … … 82 82 wrapper_t ?=?(wrapper_t* this, wrapper_t rhs) 83 83 { 84 sout | "Setting ref pointer" | endl;84 sout | "Setting ref pointer"; 85 85 if(this->ptr) 86 86 { 87 87 this->ptr->count--; 88 sout | "Reference is " | this->ptr->count | endl | endl;88 sout | "Reference is " | this->ptr->count | nl; 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 | endl | endl;93 sout | "Reference is " | this->ptr->count | nl; 94 94 } 95 95 … … 98 98 this->ptr = c; 99 99 this->ptr->count++; 100 sout | "Setting ref pointer" | endl;101 sout | "Reference is " | this->ptr->count | endl | endl;100 sout | "Setting ref pointer"; 101 sout | "Reference is " | this->ptr->count | nl; 102 102 } 103 103 104 104 void clear(wrapper_t* this) 105 105 { 106 sout | "Clearing ref pointer" | endl;106 sout | "Clearing ref pointer"; 107 107 this->ptr->count--; 108 sout | "Reference is " | this->ptr->count | endl | endl;108 sout | "Reference is " | this->ptr->count | nl; 109 109 if(!this->ptr->count) delete(this->ptr); 110 110 this->ptr = NULL; -
examples/zero_one.c
r9b086ca rcde3891 3 3 void foo(zero_t o) 4 4 { 5 sout | "It's a Zero!" | endl;5 sout | "It's a Zero!"; 6 6 } 7 7 8 8 void foo(one_t o) 9 9 { 10 sout | "It's a One!" | endl;10 sout | "It's a One!"; 11 11 } 12 12 13 13 void foo(int o) 14 14 { 15 sout | "It's a Number!" | endl;15 sout | "It's a Number!"; 16 16 } 17 17 -
libcfa/Makefile.am
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 SUBDIRS = prelude src # order important -
libcfa/Makefile.in
r9b086ca rcde3891 89 89 PRE_UNINSTALL = : 90 90 POST_UNINSTALL = : 91 build_triplet = @build@ 92 host_triplet = @host@ 91 93 subdir = . 92 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 93 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 94 $(top_srcdir)/configure.ac 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 101 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 96 102 $(ACLOCAL_M4) … … 158 164 CSCOPE = cscope 159 165 DIST_SUBDIRS = $(SUBDIRS) 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 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 166 174 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 167 175 distdir = $(PACKAGE)-$(VERSION) … … 209 217 AMTAR = @AMTAR@ 210 218 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 219 AR = @AR@ 211 220 ARCHITECTURE = @ARCHITECTURE@ 212 221 ARCH_FLAGS = @ARCH_FLAGS@ … … 227 236 CFA_NAME = @CFA_NAME@ 228 237 CFA_PREFIX = @CFA_PREFIX@ 238 CFA_VERSION = @CFA_VERSION@ 229 239 CFLAGS = @CFLAGS@ 230 240 CONFIGURATION = @CONFIGURATION@ 241 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@ 231 242 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 232 243 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 244 CPP = @CPP@ 233 245 CPPFLAGS = @CPPFLAGS@ 234 246 CXX = @CXX@ 247 CXXCPP = @CXXCPP@ 235 248 CXXDEPMODE = @CXXDEPMODE@ 236 249 CXXFLAGS = @CXXFLAGS@ … … 238 251 DEFS = @DEFS@ 239 252 DEPDIR = @DEPDIR@ 253 DLLTOOL = @DLLTOOL@ 240 254 DRIVER_DIR = @DRIVER_DIR@ 255 DSYMUTIL = @DSYMUTIL@ 256 DUMPBIN = @DUMPBIN@ 241 257 ECHO_C = @ECHO_C@ 242 258 ECHO_N = @ECHO_N@ 243 259 ECHO_T = @ECHO_T@ 260 EGREP = @EGREP@ 244 261 EXEEXT = @EXEEXT@ 262 FGREP = @FGREP@ 263 GREP = @GREP@ 245 264 INSTALL = @INSTALL@ 246 265 INSTALL_DATA = @INSTALL_DATA@ … … 248 267 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 249 268 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 269 LD = @LD@ 250 270 LDFLAGS = @LDFLAGS@ 251 271 LIBOBJS = @LIBOBJS@ 252 272 LIBS = @LIBS@ 273 LIBTOOL = @LIBTOOL@ 274 LIPO = @LIPO@ 275 LN_S = @LN_S@ 253 276 LTLIBOBJS = @LTLIBOBJS@ 277 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 254 278 MAKEINFO = @MAKEINFO@ 279 MANIFEST_TOOL = @MANIFEST_TOOL@ 255 280 MKDIR_P = @MKDIR_P@ 281 NM = @NM@ 282 NMEDIT = @NMEDIT@ 283 OBJDUMP = @OBJDUMP@ 256 284 OBJEXT = @OBJEXT@ 285 OTOOL = @OTOOL@ 286 OTOOL64 = @OTOOL64@ 257 287 PACKAGE = @PACKAGE@ 258 288 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 264 294 PATH_SEPARATOR = @PATH_SEPARATOR@ 265 295 RANLIB = @RANLIB@ 296 SED = @SED@ 266 297 SET_MAKE = @SET_MAKE@ 267 298 SHELL = @SHELL@ … … 272 303 abs_top_builddir = @abs_top_builddir@ 273 304 abs_top_srcdir = @abs_top_srcdir@ 305 ac_ct_AR = @ac_ct_AR@ 274 306 ac_ct_CC = @ac_ct_CC@ 275 307 ac_ct_CXX = @ac_ct_CXX@ 308 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 276 309 am__include = @am__include@ 277 310 am__leading_dot = @am__leading_dot@ … … 280 313 am__untar = @am__untar@ 281 314 bindir = @bindir@ 315 build = @build@ 282 316 build_alias = @build_alias@ 317 build_cpu = @build_cpu@ 318 build_os = @build_os@ 319 build_vendor = @build_vendor@ 283 320 builddir = @builddir@ 284 321 datadir = @datadir@ … … 287 324 dvidir = @dvidir@ 288 325 exec_prefix = @exec_prefix@ 326 host = @host@ 289 327 host_alias = @host_alias@ 328 host_cpu = @host_cpu@ 329 host_os = @host_os@ 330 host_vendor = @host_vendor@ 290 331 htmldir = @htmldir@ 291 332 includedir = @includedir@ … … 313 354 top_srcdir = @top_srcdir@ 314 355 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 356 ACLOCAL_AMFLAGS = -I automake 315 357 SUBDIRS = prelude src # order important 316 358 all: all-recursive … … 350 392 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 351 393 $(am__aclocal_m4_deps): 394 395 mostlyclean-libtool: 396 -rm -f *.lo 397 398 clean-libtool: 399 -rm -rf .libs _libs 400 401 distclean-libtool: 402 -rm -f libtool config.lt 352 403 353 404 # This directory's subdirectories are mostly independent; you can cd … … 682 733 clean: clean-recursive 683 734 684 clean-am: clean-generic mostlyclean-am735 clean-am: clean-generic clean-libtool mostlyclean-am 685 736 686 737 distclean: distclean-recursive 687 738 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 688 739 -rm -f Makefile 689 distclean-am: clean-am distclean-generic distclean-tags 740 distclean-am: clean-am distclean-generic distclean-libtool \ 741 distclean-tags 690 742 691 743 dvi: dvi-recursive … … 737 789 mostlyclean: mostlyclean-recursive 738 790 739 mostlyclean-am: mostlyclean-generic 791 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 740 792 741 793 pdf: pdf-recursive … … 753 805 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 754 806 am--refresh check check-am clean clean-cscope clean-generic \ 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 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 767 820 768 821 .PRECIOUS: Makefile -
libcfa/aclocal.m4
r9b086ca rcde3891 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
r9b086ca rcde3891 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" 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" 201 210 if (eval "$as_required") 2>/dev/null; then : 202 211 as_have_required=yes … … 556 565 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 557 566 567 SHELL=${CONFIG_SHELL-/bin/sh} 568 558 569 559 570 test -n "$DJDIR" || exec 7<&0 </dev/null … … 585 596 PACKAGE_URL='' 586 597 598 # Factoring default headers for most tests. 599 ac_includes_default="\ 600 #include <stdio.h> 601 #ifdef HAVE_SYS_TYPES_H 602 # include <sys/types.h> 603 #endif 604 #ifdef HAVE_SYS_STAT_H 605 # include <sys/stat.h> 606 #endif 607 #ifdef STDC_HEADERS 608 # include <stdlib.h> 609 # include <stddef.h> 610 #else 611 # ifdef HAVE_STDLIB_H 612 # include <stdlib.h> 613 # endif 614 #endif 615 #ifdef HAVE_STRING_H 616 # if !defined STDC_HEADERS && defined HAVE_MEMORY_H 617 # include <memory.h> 618 # endif 619 # include <string.h> 620 #endif 621 #ifdef HAVE_STRINGS_H 622 # include <strings.h> 623 #endif 624 #ifdef HAVE_INTTYPES_H 625 # include <inttypes.h> 626 #endif 627 #ifdef HAVE_STDINT_H 628 # include <stdint.h> 629 #endif 630 #ifdef HAVE_UNISTD_H 631 # include <unistd.h> 632 #endif" 633 587 634 ac_subst_vars='am__EXEEXT_FALSE 588 635 am__EXEEXT_TRUE 589 636 LTLIBOBJS 590 637 LIBOBJS 591 RANLIB592 638 am__fastdepCCAS_FALSE 593 639 am__fastdepCCAS_TRUE … … 595 641 CCASFLAGS 596 642 CCAS 643 CXXCPP 644 am__fastdepCXX_FALSE 645 am__fastdepCXX_TRUE 646 CXXDEPMODE 647 ac_ct_CXX 648 CXXFLAGS 649 CXX 650 CPP 651 LT_SYS_LIBRARY_PATH 652 OTOOL64 653 OTOOL 654 LIPO 655 NMEDIT 656 DSYMUTIL 657 MANIFEST_TOOL 658 RANLIB 659 ac_ct_AR 660 AR 661 DLLTOOL 662 OBJDUMP 663 LN_S 664 NM 665 ac_ct_DUMPBIN 666 DUMPBIN 667 LD 668 FGREP 669 EGREP 670 GREP 671 SED 597 672 am__fastdepCC_FALSE 598 673 am__fastdepCC_TRUE 599 674 CCDEPMODE 600 ac_ct_CC601 CFLAGS602 CC603 am__fastdepCXX_FALSE604 am__fastdepCXX_TRUE605 CXXDEPMODE606 675 am__nodep 607 676 AMDEPBACKSLASH … … 613 682 OBJEXT 614 683 EXEEXT 615 ac_ct_C XX684 ac_ct_CC 616 685 CPPFLAGS 617 686 LDFLAGS 618 CXXFLAGS 619 CXX 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 620 698 CFA_LIBDIR 621 699 CFA_BINDIR … … 623 701 CFA_PREFIX 624 702 CFA_NAME 703 BUILDLIB_FALSE 704 BUILDLIB_TRUE 705 CONFIG_BUILDLIB 625 706 CONFIG_CFAFLAGS 626 707 CONFIG_CFLAGS … … 628 709 CFACPP 629 710 CFACC 711 CFA_VERSION 630 712 DRIVER_DIR 631 713 CONFIGURATION … … 702 784 enable_silent_rules 703 785 with_cfa_name 786 enable_shared 787 enable_static 788 with_pic 789 enable_fast_install 790 with_aix_soname 704 791 enable_dependency_tracking 792 with_gnu_ld 793 with_sysroot 794 enable_libtool_lock 705 795 ' 706 796 ac_precious_vars='build_alias … … 710 800 CONFIGURATION 711 801 DRIVER_DIR 712 CXX 713 CXXFLAGS 802 CFA_VERSION 803 CC 804 CFLAGS 714 805 LDFLAGS 715 806 LIBS 716 807 CPPFLAGS 808 LT_SYS_LIBRARY_PATH 809 CPP 810 CXX 811 CXXFLAGS 717 812 CCC 718 CC 719 CFLAGS 813 CXXCPP 720 814 CCAS 721 815 CCASFLAGS' … … 1332 1426 --program-suffix=SUFFIX append SUFFIX to installed program names 1333 1427 --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] 1334 1432 _ACEOF 1335 1433 fi … … 1347 1445 --enable-silent-rules less verbose build output (undo: "make V=1") 1348 1446 --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] 1349 1451 --enable-dependency-tracking 1350 1452 do not reject slow dependency extractors 1351 1453 --disable-dependency-tracking 1352 1454 speeds up one-time build 1455 --disable-libtool-lock avoid locking (might break parallel builds) 1353 1456 1354 1457 Optional Packages: … … 1356 1459 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1357 1460 --with-cfa-name=NAME NAME too which cfa will be installed 1461 --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use 1462 both] 1463 --with-aix-soname=aix|svr4|both 1464 shared library versioning (aka "SONAME") variant to 1465 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 the 1468 compiler's sysroot if not specified). 1358 1469 1359 1470 Some influential environment variables: … … 1364 1475 deubg, nodebug, nolib (prelude-only) 1365 1476 DRIVER_DIR The path to the cforall driver directory 1366 CXX C++ compiler command 1367 CXXFLAGS C++ compiler flags 1477 CFA_VERSION The long version of cfa 1478 CC C compiler command 1479 CFLAGS C compiler flags 1368 1480 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a 1369 1481 nonstandard directory <lib dir> … … 1371 1483 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if 1372 1484 you have headers in a nonstandard directory <include dir> 1373 CC C compiler command 1374 CFLAGS C compiler flags 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 1375 1491 CCAS assembler compiler command (defaults to CC) 1376 1492 CCASFLAGS assembler compiler flags (defaults to CFLAGS) … … 1455 1571 ## Autoconf initialization. ## 1456 1572 ## ------------------------ ## 1573 1574 # ac_fn_c_try_compile LINENO 1575 # -------------------------- 1576 # Try to compile conftest.$ac_ext, and return whether this succeeded. 1577 ac_fn_c_try_compile () 1578 { 1579 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1580 rm -f conftest.$ac_objext 1581 if { { ac_try="$ac_compile" 1582 case "(($ac_try" in 1583 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1584 *) ac_try_echo=$ac_try;; 1585 esac 1586 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1587 $as_echo "$ac_try_echo"; } >&5 1588 (eval "$ac_compile") 2>conftest.err 1589 ac_status=$? 1590 if test -s conftest.err; then 1591 grep -v '^ *+' conftest.err >conftest.er1 1592 cat conftest.er1 >&5 1593 mv -f conftest.er1 conftest.err 1594 fi 1595 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1596 test $ac_status = 0; } && { 1597 test -z "$ac_c_werror_flag" || 1598 test ! -s conftest.err 1599 } && test -s conftest.$ac_objext; then : 1600 ac_retval=0 1601 else 1602 $as_echo "$as_me: failed program was:" >&5 1603 sed 's/^/| /' conftest.$ac_ext >&5 1604 1605 ac_retval=1 1606 fi 1607 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1608 as_fn_set_status $ac_retval 1609 1610 } # ac_fn_c_try_compile 1611 1612 # ac_fn_c_try_link LINENO 1613 # ----------------------- 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_stack 1618 rm -f conftest.$ac_objext conftest$ac_exeext 1619 if { { ac_try="$ac_link" 1620 case "(($ac_try" in 1621 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1622 *) ac_try_echo=$ac_try;; 1623 esac 1624 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1625 $as_echo "$ac_try_echo"; } >&5 1626 (eval "$ac_link") 2>conftest.err 1627 ac_status=$? 1628 if test -s conftest.err; then 1629 grep -v '^ *+' conftest.err >conftest.er1 1630 cat conftest.er1 >&5 1631 mv -f conftest.er1 conftest.err 1632 fi 1633 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1634 test $ac_status = 0; } && { 1635 test -z "$ac_c_werror_flag" || 1636 test ! -s conftest.err 1637 } && test -s conftest$ac_exeext && { 1638 test "$cross_compiling" = yes || 1639 test -x conftest$ac_exeext 1640 }; then : 1641 ac_retval=0 1642 else 1643 $as_echo "$as_me: failed program was:" >&5 1644 sed 's/^/| /' conftest.$ac_ext >&5 1645 1646 ac_retval=1 1647 fi 1648 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information 1649 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would 1650 # interfere with the next link command; also delete a directory that is 1651 # left behind by Apple's compiler. We do this before executing the actions. 1652 rm -rf conftest.dSYM conftest_ipa8_conftest.oo 1653 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1654 as_fn_set_status $ac_retval 1655 1656 } # ac_fn_c_try_link 1657 1658 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES 1659 # ------------------------------------------------------- 1660 # Tests whether HEADER exists and can be compiled using the include files in 1661 # 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_stack 1665 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1666 $as_echo_n "checking for $2... " >&6; } 1667 if eval \${$3+:} false; then : 1668 $as_echo_n "(cached) " >&6 1669 else 1670 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1671 /* end confdefs.h. */ 1672 $4 1673 #include <$2> 1674 _ACEOF 1675 if ac_fn_c_try_compile "$LINENO"; then : 1676 eval "$3=yes" 1677 else 1678 eval "$3=no" 1679 fi 1680 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1681 fi 1682 eval ac_res=\$$3 1683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 1684 $as_echo "$ac_res" >&6; } 1685 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1686 1687 } # ac_fn_c_check_header_compile 1688 1689 # ac_fn_c_try_cpp LINENO 1690 # ---------------------- 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_stack 1695 if { { ac_try="$ac_cpp conftest.$ac_ext" 1696 case "(($ac_try" in 1697 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1698 *) ac_try_echo=$ac_try;; 1699 esac 1700 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1701 $as_echo "$ac_try_echo"; } >&5 1702 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err 1703 ac_status=$? 1704 if test -s conftest.err; then 1705 grep -v '^ *+' conftest.err >conftest.er1 1706 cat conftest.er1 >&5 1707 mv -f conftest.er1 conftest.err 1708 fi 1709 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1710 test $ac_status = 0; } > conftest.i && { 1711 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || 1712 test ! -s conftest.err 1713 }; then : 1714 ac_retval=0 1715 else 1716 $as_echo "$as_me: failed program was:" >&5 1717 sed 's/^/| /' conftest.$ac_ext >&5 1718 1719 ac_retval=1 1720 fi 1721 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1722 as_fn_set_status $ac_retval 1723 1724 } # ac_fn_c_try_cpp 1725 1726 # ac_fn_c_try_run LINENO 1727 # ---------------------- 1728 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes 1729 # 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_stack 1733 if { { ac_try="$ac_link" 1734 case "(($ac_try" in 1735 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1736 *) ac_try_echo=$ac_try;; 1737 esac 1738 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1739 $as_echo "$ac_try_echo"; } >&5 1740 (eval "$ac_link") 2>&5 1741 ac_status=$? 1742 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1743 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' 1744 { { case "(($ac_try" in 1745 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1746 *) ac_try_echo=$ac_try;; 1747 esac 1748 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1749 $as_echo "$ac_try_echo"; } >&5 1750 (eval "$ac_try") 2>&5 1751 ac_status=$? 1752 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1753 test $ac_status = 0; }; }; then : 1754 ac_retval=0 1755 else 1756 $as_echo "$as_me: program exited with status $ac_status" >&5 1757 $as_echo "$as_me: failed program was:" >&5 1758 sed 's/^/| /' conftest.$ac_ext >&5 1759 1760 ac_retval=$ac_status 1761 fi 1762 rm -rf conftest.dSYM conftest_ipa8_conftest.oo 1763 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1764 as_fn_set_status $ac_retval 1765 1766 } # ac_fn_c_try_run 1767 1768 # ac_fn_c_check_func LINENO FUNC VAR 1769 # ---------------------------------- 1770 # Tests whether FUNC exists, setting the cache variable VAR accordingly 1771 ac_fn_c_check_func () 1772 { 1773 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1774 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1775 $as_echo_n "checking for $2... " >&6; } 1776 if eval \${$3+:} false; then : 1777 $as_echo_n "(cached) " >&6 1778 else 1779 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1780 /* 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_$2 1784 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, since 1788 <limits.h> exists even on freestanding compilers. */ 1789 1790 #ifdef __STDC__ 1791 # include <limits.h> 1792 #else 1793 # include <assert.h> 1794 #endif 1795 1796 #undef $2 1797 1798 /* Override any GCC internal prototype to avoid an error. 1799 Use char because int might match the return type of a GCC 1800 builtin and then its argument prototype would still apply. */ 1801 #ifdef __cplusplus 1802 extern "C" 1803 #endif 1804 char $2 (); 1805 /* The GNU C library defines this for functions which it implements 1806 to always fail with ENOSYS. Some functions are actually named 1807 something starting with __ and the normal name is an alias. */ 1808 #if defined __stub_$2 || defined __stub___$2 1809 choke me 1810 #endif 1811 1812 int 1813 main () 1814 { 1815 return $2 (); 1816 ; 1817 return 0; 1818 } 1819 _ACEOF 1820 if ac_fn_c_try_link "$LINENO"; then : 1821 eval "$3=yes" 1822 else 1823 eval "$3=no" 1824 fi 1825 rm -f core conftest.err conftest.$ac_objext \ 1826 conftest$ac_exeext conftest.$ac_ext 1827 fi 1828 eval ac_res=\$$3 1829 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 1830 $as_echo "$ac_res" >&6; } 1831 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1832 1833 } # ac_fn_c_check_func 1457 1834 1458 1835 # ac_fn_cxx_try_compile LINENO … … 1494 1871 } # ac_fn_cxx_try_compile 1495 1872 1496 # ac_fn_c _try_compileLINENO1497 # ------------------------ --1498 # Try to compileconftest.$ac_ext, and return whether this succeeded.1499 ac_fn_c _try_compile()1873 # ac_fn_cxx_try_cpp LINENO 1874 # ------------------------ 1875 # Try to preprocess conftest.$ac_ext, and return whether this succeeded. 1876 ac_fn_cxx_try_cpp () 1500 1877 { 1501 1878 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1502 rm -f conftest.$ac_objext 1503 if { { ac_try="$ac_compile" 1879 if { { ac_try="$ac_cpp conftest.$ac_ext" 1504 1880 case "(($ac_try" in 1505 1881 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; … … 1508 1884 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1509 1885 $as_echo "$ac_try_echo"; } >&5 1510 (eval "$ac_compile") 2>conftest.err 1886 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err 1887 ac_status=$? 1888 if test -s conftest.err; then 1889 grep -v '^ *+' conftest.err >conftest.er1 1890 cat conftest.er1 >&5 1891 mv -f conftest.er1 conftest.err 1892 fi 1893 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1894 test $ac_status = 0; } > conftest.i && { 1895 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || 1896 test ! -s conftest.err 1897 }; then : 1898 ac_retval=0 1899 else 1900 $as_echo "$as_me: failed program was:" >&5 1901 sed 's/^/| /' conftest.$ac_ext >&5 1902 1903 ac_retval=1 1904 fi 1905 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1906 as_fn_set_status $ac_retval 1907 1908 } # ac_fn_cxx_try_cpp 1909 1910 # ac_fn_cxx_try_link LINENO 1911 # ------------------------- 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_stack 1916 rm -f conftest.$ac_objext conftest$ac_exeext 1917 if { { ac_try="$ac_link" 1918 case "(($ac_try" in 1919 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1920 *) ac_try_echo=$ac_try;; 1921 esac 1922 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1923 $as_echo "$ac_try_echo"; } >&5 1924 (eval "$ac_link") 2>conftest.err 1511 1925 ac_status=$? 1512 1926 if test -s conftest.err; then … … 1517 1931 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1518 1932 test $ac_status = 0; } && { 1519 test -z "$ac_c _werror_flag" ||1933 test -z "$ac_cxx_werror_flag" || 1520 1934 test ! -s conftest.err 1521 } && test -s conftest.$ac_objext; then : 1935 } && test -s conftest$ac_exeext && { 1936 test "$cross_compiling" = yes || 1937 test -x conftest$ac_exeext 1938 }; then : 1522 1939 ac_retval=0 1523 1940 else … … 1527 1944 ac_retval=1 1528 1945 fi 1946 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information 1947 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would 1948 # interfere with the next link command; also delete a directory that is 1949 # left behind by Apple's compiler. We do this before executing the actions. 1950 rm -rf conftest.dSYM conftest_ipa8_conftest.oo 1529 1951 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1530 1952 as_fn_set_status $ac_retval 1531 1953 1532 } # ac_fn_c _try_compile1954 } # ac_fn_cxx_try_link 1533 1955 cat >config.log <<_ACEOF 1534 1956 This file contains any messages produced by compilers while … … 1884 2306 1885 2307 ac_aux_dir= 1886 for ac_dir in ./automake "$srcdir"/./automake; do2308 for ac_dir in automake "$srcdir"/automake; do 1887 2309 if test -f "$ac_dir/install-sh"; then 1888 2310 ac_aux_dir=$ac_dir … … 1900 2322 done 1901 2323 if test -z "$ac_aux_dir"; then 1902 as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./automake \"$srcdir\"/./automake" "$LINENO" 52324 as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 5 1903 2325 fi 1904 2326 … … 1910 2332 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. 1911 2333 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. 2334 1912 2335 1913 2336 … … 1950 2373 fi 1951 2374 AM_BACKSLASH='\' 2375 1952 2376 1953 2377 … … 2503 2927 : ${CFLAGS=""} 2504 2928 2929 # define this to override 2930 AR_FLAGS="cr" 2931 2505 2932 # Allow program name tansformation 2506 2933 # will fill program_transform_name with appropriate sed regex … … 2511 2938 2512 2939 2940 2513 2941 CFACC=${DRIVER_DIR}cfa 2514 2942 CFACPP=${DRIVER_DIR}cfa-cpp 2943 2515 2944 2516 2945 … … 2530 2959 CONFIG_CFLAGS="-O0 -g" 2531 2960 CONFIG_CFAFLAGS="-debug" 2961 CONFIG_BUILDLIB="yes" 2532 2962 ;; 2533 2963 "nodebug" ) 2534 2964 CONFIG_CFLAGS="-O2 -s" 2535 2965 CONFIG_CFAFLAGS="-nodebug" 2966 CONFIG_BUILDLIB="yes" 2536 2967 ;; 2537 2968 "nolib" ) 2538 CONFIG_CFLAGS="" 2539 CONFIG_CFAFLAGS="" 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 2540 2975 ;; 2541 2976 esac 2542 2977 2543 2978 2979 2980 2981 2982 if test "x${CONFIG_BUILDLIB}" = "xyes"; then 2983 BUILDLIB_TRUE= 2984 BUILDLIB_FALSE='#' 2985 else 2986 BUILDLIB_TRUE='#' 2987 BUILDLIB_FALSE= 2988 fi 2544 2989 2545 2990 … … 2631 3076 2632 3077 # Checks for programs. 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 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 2647 3314 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2648 3315 $as_echo_n "checking for $ac_word... " >&6; } 2649 if ${ac_cv_prog_C XX+:} false; then :3316 if ${ac_cv_prog_CC+:} false; then : 2650 3317 $as_echo_n "(cached) " >&6 2651 3318 else 2652 if test -n "$C XX"; then2653 ac_cv_prog_C XX="$CXX" # Let the user override the test.3319 if test -n "$CC"; then 3320 ac_cv_prog_CC="$CC" # Let the user override the test. 2654 3321 else 2655 3322 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2660 3327 for ac_exec_ext in '' $ac_executable_extensions; do 2661 3328 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2662 ac_cv_prog_C XX="$ac_tool_prefix$ac_prog"3329 ac_cv_prog_CC="${ac_tool_prefix}gcc" 2663 3330 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2664 3331 break 2 … … 2670 3337 fi 2671 3338 fi 2672 C XX=$ac_cv_prog_CXX2673 if test -n "$C XX"; then2674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $C XX" >&52675 $as_echo "$C XX" >&6; }3339 CC=$ac_cv_prog_CC 3340 if test -n "$CC"; then 3341 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3342 $as_echo "$CC" >&6; } 2676 3343 else 2677 3344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2680 3347 2681 3348 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 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 2691 3354 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2692 3355 $as_echo_n "checking for $ac_word... " >&6; } 2693 if ${ac_cv_prog_ac_ct_C XX+:} false; then :3356 if ${ac_cv_prog_ac_ct_CC+:} false; then : 2694 3357 $as_echo_n "(cached) " >&6 2695 3358 else 2696 if test -n "$ac_ct_C XX"; then2697 ac_cv_prog_ac_ct_C XX="$ac_ct_CXX" # Let the user override the test.3359 if test -n "$ac_ct_CC"; then 3360 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. 2698 3361 else 2699 3362 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2704 3367 for ac_exec_ext in '' $ac_executable_extensions; do 2705 3368 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2706 ac_cv_prog_ac_ct_C XX="$ac_prog"3369 ac_cv_prog_ac_ct_CC="gcc" 2707 3370 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2708 3371 break 2 … … 2714 3377 fi 2715 3378 fi 2716 ac_ct_C XX=$ac_cv_prog_ac_ct_CXX2717 if test -n "$ac_ct_C XX"; then2718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_C XX" >&52719 $as_echo "$ac_ct_C XX" >&6; }3379 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3380 if test -n "$ac_ct_CC"; then 3381 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 3382 $as_echo "$ac_ct_CC" >&6; } 2720 3383 else 2721 3384 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2723 3386 fi 2724 3387 2725 2726 test -n "$ac_ct_CXX" && break 2727 done 2728 2729 if test "x$ac_ct_CXX" = x; then 2730 CXX="g++" 3388 if test "x$ac_ct_CC" = x; then 3389 CC="" 2731 3390 else 2732 3391 case $cross_compiling:$ac_tool_warned in … … 2736 3395 ac_tool_warned=yes ;; 2737 3396 esac 2738 C XX=$ac_ct_CXX3397 CC=$ac_ct_CC 2739 3398 fi 2740 fi 2741 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 2742 3425 fi 2743 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 2744 3609 # Provide some information about the compiler. 2745 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C ++compiler version" >&53610 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 2746 3611 set X $ac_compile 2747 3612 ac_compiler=$2 … … 2783 3648 # It will help us diagnose broken compilers, and finding out an intuition 2784 3649 # of exeext. 2785 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C ++compiler works" >&52786 $as_echo_n "checking whether the C ++compiler works... " >&6; }3650 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 3651 $as_echo_n "checking whether the C compiler works... " >&6; } 2787 3652 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` 2788 3653 … … 2854 3719 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2855 3720 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2856 as_fn_error 77 "C ++compiler cannot create executables3721 as_fn_error 77 "C compiler cannot create executables 2857 3722 See \`config.log' for more details" "$LINENO" 5; } 2858 3723 else … … 2860 3725 $as_echo "yes" >&6; } 2861 3726 fi 2862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C ++compiler default output file name" >&52863 $as_echo_n "checking for C ++compiler default output file name... " >&6; }3727 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 3728 $as_echo_n "checking for C compiler default output file name... " >&6; } 2864 3729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 2865 3730 $as_echo "$ac_file" >&6; } … … 2955 3820 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2956 3821 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2957 as_fn_error $? "cannot run C ++compiled programs.3822 as_fn_error $? "cannot run C compiled programs. 2958 3823 If you meant to cross compile, use \`--host'. 2959 3824 See \`config.log' for more details" "$LINENO" 5; } … … 3017 3882 OBJEXT=$ac_cv_objext 3018 3883 ac_objext=$OBJEXT 3884 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 3885 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } 3886 if ${ac_cv_c_compiler_gnu+:} false; then : 3887 $as_echo_n "(cached) " >&6 3888 else 3889 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3890 /* end confdefs.h. */ 3891 3892 int 3893 main () 3894 { 3895 #ifndef __GNUC__ 3896 choke me 3897 #endif 3898 3899 ; 3900 return 0; 3901 } 3902 _ACEOF 3903 if ac_fn_c_try_compile "$LINENO"; then : 3904 ac_compiler_gnu=yes 3905 else 3906 ac_compiler_gnu=no 3907 fi 3908 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3909 ac_cv_c_compiler_gnu=$ac_compiler_gnu 3910 3911 fi 3912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 3913 $as_echo "$ac_cv_c_compiler_gnu" >&6; } 3914 if test $ac_compiler_gnu = yes; then 3915 GCC=yes 3916 else 3917 GCC= 3918 fi 3919 ac_test_CFLAGS=${CFLAGS+set} 3920 ac_save_CFLAGS=$CFLAGS 3921 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 3922 $as_echo_n "checking whether $CC accepts -g... " >&6; } 3923 if ${ac_cv_prog_cc_g+:} false; then : 3924 $as_echo_n "(cached) " >&6 3925 else 3926 ac_save_c_werror_flag=$ac_c_werror_flag 3927 ac_c_werror_flag=yes 3928 ac_cv_prog_cc_g=no 3929 CFLAGS="-g" 3930 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3931 /* end confdefs.h. */ 3932 3933 int 3934 main () 3935 { 3936 3937 ; 3938 return 0; 3939 } 3940 _ACEOF 3941 if ac_fn_c_try_compile "$LINENO"; then : 3942 ac_cv_prog_cc_g=yes 3943 else 3944 CFLAGS="" 3945 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3946 /* end confdefs.h. */ 3947 3948 int 3949 main () 3950 { 3951 3952 ; 3953 return 0; 3954 } 3955 _ACEOF 3956 if ac_fn_c_try_compile "$LINENO"; then : 3957 3958 else 3959 ac_c_werror_flag=$ac_save_c_werror_flag 3960 CFLAGS="-g" 3961 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3962 /* end confdefs.h. */ 3963 3964 int 3965 main () 3966 { 3967 3968 ; 3969 return 0; 3970 } 3971 _ACEOF 3972 if ac_fn_c_try_compile "$LINENO"; then : 3973 ac_cv_prog_cc_g=yes 3974 fi 3975 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3976 fi 3977 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3978 fi 3979 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3980 ac_c_werror_flag=$ac_save_c_werror_flag 3981 fi 3982 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 3983 $as_echo "$ac_cv_prog_cc_g" >&6; } 3984 if test "$ac_test_CFLAGS" = set; then 3985 CFLAGS=$ac_save_CFLAGS 3986 elif test $ac_cv_prog_cc_g = yes; then 3987 if test "$GCC" = yes; then 3988 CFLAGS="-g -O2" 3989 else 3990 CFLAGS="-g" 3991 fi 3992 else 3993 if test "$GCC" = yes; then 3994 CFLAGS="-O2" 3995 else 3996 CFLAGS= 3997 fi 3998 fi 3999 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 4000 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } 4001 if ${ac_cv_prog_cc_c89+:} false; then : 4002 $as_echo_n "(cached) " >&6 4003 else 4004 ac_cv_prog_cc_c89=no 4005 ac_save_CC=$CC 4006 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 4007 /* end confdefs.h. */ 4008 #include <stdarg.h> 4009 #include <stdio.h> 4010 struct stat; 4011 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ 4012 struct buf { int x; }; 4013 FILE * (*rcsopen) (struct buf *, struct stat *, int); 4014 static char *e (p, i) 4015 char **p; 4016 int i; 4017 { 4018 return p[i]; 4019 } 4020 static char *f (char * (*g) (char **, int), char **p, ...) 4021 { 4022 char *s; 4023 va_list v; 4024 va_start (v,p); 4025 s = g (p, va_arg (v,int)); 4026 va_end (v); 4027 return s; 4028 } 4029 4030 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has 4031 function prototypes and stuff, but not '\xHH' hex character constants. 4032 These don't provoke an error unfortunately, instead are silently treated 4033 as 'x'. The following induces an error, until -std is added to get 4034 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an 4035 array size at least. It's necessary to write '\x00'==0 to get something 4036 that's true only with -std. */ 4037 int osf4_cc_array ['\x00' == 0 ? 1 : -1]; 4038 4039 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters 4040 inside strings and character constants. */ 4041 #define FOO(x) 'x' 4042 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; 4043 4044 int test (int i, double x); 4045 struct s1 {int (*f) (int a);}; 4046 struct s2 {int (*f) (double a);}; 4047 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); 4048 int argc; 4049 char **argv; 4050 int 4051 main () 4052 { 4053 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; 4054 ; 4055 return 0; 4056 } 4057 _ACEOF 4058 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ 4059 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" 4060 do 4061 CC="$ac_save_CC $ac_arg" 4062 if ac_fn_c_try_compile "$LINENO"; then : 4063 ac_cv_prog_cc_c89=$ac_arg 4064 fi 4065 rm -f core conftest.err conftest.$ac_objext 4066 test "x$ac_cv_prog_cc_c89" != "xno" && break 4067 done 4068 rm -f conftest.$ac_ext 4069 CC=$ac_save_CC 4070 4071 fi 4072 # AC_CACHE_VAL 4073 case "x$ac_cv_prog_cc_c89" in 4074 x) 4075 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 4076 $as_echo "none needed" >&6; } ;; 4077 xno) 4078 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 4079 $as_echo "unsupported" >&6; } ;; 4080 *) 4081 CC="$CC $ac_cv_prog_cc_c89" 4082 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 4083 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; 4084 esac 4085 if test "x$ac_cv_prog_cc_c89" != xno; then : 4086 4087 fi 4088 4089 ac_ext=c 4090 ac_cpp='$CPP $CPPFLAGS' 4091 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4092 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4093 ac_compiler_gnu=$ac_cv_c_compiler_gnu 4094 4095 ac_ext=c 4096 ac_cpp='$CPP $CPPFLAGS' 4097 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4098 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4099 ac_compiler_gnu=$ac_cv_c_compiler_gnu 4100 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 4101 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } 4102 if ${am_cv_prog_cc_c_o+:} false; then : 4103 $as_echo_n "(cached) " >&6 4104 else 4105 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 4106 /* end confdefs.h. */ 4107 4108 int 4109 main () 4110 { 4111 4112 ; 4113 return 0; 4114 } 4115 _ACEOF 4116 # Make sure it works both with $CC and with simple cc. 4117 # Following AC_PROG_CC_C_O, we do the test twice because some 4118 # compilers refuse to overwrite an existing .o file with -o, 4119 # though they will create one. 4120 am_cv_prog_cc_c_o=yes 4121 for am_i in 1 2; do 4122 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 4123 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 4124 ac_status=$? 4125 echo "$as_me:$LINENO: \$? = $ac_status" >&5 4126 (exit $ac_status); } \ 4127 && test -f conftest2.$ac_objext; then 4128 : OK 4129 else 4130 am_cv_prog_cc_c_o=no 4131 break 4132 fi 4133 done 4134 rm -f core conftest* 4135 unset am_i 4136 fi 4137 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 4138 $as_echo "$am_cv_prog_cc_c_o" >&6; } 4139 if test "$am_cv_prog_cc_c_o" != yes; then 4140 # Losing compiler, so override with the script. 4141 # FIXME: It is wrong to rewrite CC. 4142 # But if we don't then we get into trouble of one sort or another. 4143 # A longer-term fix would be to have automake use am__CC in this case, 4144 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" 4145 CC="$am_aux_dir/compile $CC" 4146 fi 4147 ac_ext=c 4148 ac_cpp='$CPP $CPPFLAGS' 4149 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4150 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4151 ac_compiler_gnu=$ac_cv_c_compiler_gnu 4152 4153 4154 depcc="$CC" am_compiler_list= 4155 4156 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 4157 $as_echo_n "checking dependency style of $depcc... " >&6; } 4158 if ${am_cv_CC_dependencies_compiler_type+:} false; then : 4159 $as_echo_n "(cached) " >&6 4160 else 4161 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then 4162 # We make a subdir and do the tests there. Otherwise we can end up 4163 # making bogus files that we don't know about and never remove. For 4164 # instance it was reported that on HP-UX the gcc test will end up 4165 # making a dummy file named 'D' -- because '-MD' means "put the output 4166 # in D". 4167 rm -rf conftest.dir 4168 mkdir conftest.dir 4169 # Copy depcomp to subdir because otherwise we won't find it if we're 4170 # using a relative directory. 4171 cp "$am_depcomp" conftest.dir 4172 cd conftest.dir 4173 # We will build objects and dependencies in a subdirectory because 4174 # it helps to detect inapplicable dependency modes. For instance 4175 # both Tru64's cc and ICC support -MD to output dependencies as a 4176 # side effect of compilation, but ICC will put the dependencies in 4177 # the current directory while Tru64 will put them in the object 4178 # directory. 4179 mkdir sub 4180 4181 am_cv_CC_dependencies_compiler_type=none 4182 if test "$am_compiler_list" = ""; then 4183 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` 4184 fi 4185 am__universal=false 4186 case " $depcc " in #( 4187 *\ -arch\ *\ -arch\ *) am__universal=true ;; 4188 esac 4189 4190 for depmode in $am_compiler_list; do 4191 # Setup a source with many dependencies, because some compilers 4192 # like to wrap large dependency lists on column 80 (with \), and 4193 # we should not choose a depcomp mode which is confused by this. 4194 # 4195 # We need to recreate these files for each test, as the compiler may 4196 # overwrite some of them when testing with obscure command lines. 4197 # This happens at least with the AIX C compiler. 4198 : > sub/conftest.c 4199 for i in 1 2 3 4 5 6; do 4200 echo '#include "conftst'$i'.h"' >> sub/conftest.c 4201 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with 4202 # Solaris 10 /bin/sh. 4203 echo '/* dummy */' > sub/conftst$i.h 4204 done 4205 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 4206 4207 # We check with '-c' and '-o' for the sake of the "dashmstdout" 4208 # mode. It turns out that the SunPro C++ compiler does not properly 4209 # handle '-M -o', and we need to detect this. Also, some Intel 4210 # versions had trouble with output in subdirs. 4211 am__obj=sub/conftest.${OBJEXT-o} 4212 am__minus_obj="-o $am__obj" 4213 case $depmode in 4214 gcc) 4215 # This depmode causes a compiler race in universal mode. 4216 test "$am__universal" = false || continue 4217 ;; 4218 nosideeffect) 4219 # After this tag, mechanisms are not by side-effect, so they'll 4220 # only be used when explicitly requested. 4221 if test "x$enable_dependency_tracking" = xyes; then 4222 continue 4223 else 4224 break 4225 fi 4226 ;; 4227 msvc7 | msvc7msys | msvisualcpp | msvcmsys) 4228 # This compiler won't grok '-c -o', but also, the minuso test has 4229 # not run yet. These depmodes are late enough in the game, and 4230 # so weak that their functioning should not be impacted. 4231 am__obj=conftest.${OBJEXT-o} 4232 am__minus_obj= 4233 ;; 4234 none) break ;; 4235 esac 4236 if depmode=$depmode \ 4237 source=sub/conftest.c object=$am__obj \ 4238 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ 4239 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ 4240 >/dev/null 2>conftest.err && 4241 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && 4242 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && 4243 grep $am__obj sub/conftest.Po > /dev/null 2>&1 && 4244 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 4245 # icc doesn't choke on unknown options, it will just issue warnings 4246 # or remarks (even with -Werror). So we grep stderr for any message 4247 # that says an option was ignored or not supported. 4248 # When given -MP, icc 7.0 and 7.1 complain thusly: 4249 # icc: Command line warning: ignoring option '-M'; no argument required 4250 # The diagnosis changed in icc 8.0: 4251 # icc: Command line remark: option '-MP' not supported 4252 if (grep 'ignoring option' conftest.err || 4253 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 4254 am_cv_CC_dependencies_compiler_type=$depmode 4255 break 4256 fi 4257 fi 4258 done 4259 4260 cd .. 4261 rm -rf conftest.dir 4262 else 4263 am_cv_CC_dependencies_compiler_type=none 4264 fi 4265 4266 fi 4267 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 4268 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } 4269 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type 4270 4271 if 4272 test "x$enable_dependency_tracking" != xno \ 4273 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then 4274 am__fastdepCC_TRUE= 4275 am__fastdepCC_FALSE='#' 4276 else 4277 am__fastdepCC_TRUE='#' 4278 am__fastdepCC_FALSE= 4279 fi 4280 4281 4282 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 4283 $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) " >&6 4286 else 4287 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ 4288 for ac_i in 1 2 3 4 5 6 7; do 4289 ac_script="$ac_script$as_nl$ac_script" 4290 done 4291 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed 4292 { ac_script=; unset ac_script;} 4293 if test -z "$SED"; then 4294 ac_path_SED_found=false 4295 # Loop through the user's path and test for each of PROGNAME-LIST 4296 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4297 for as_dir in $PATH 4298 do 4299 IFS=$as_save_IFS 4300 test -z "$as_dir" && as_dir=. 4301 for ac_prog in sed gsed; do 4302 for ac_exec_ext in '' $ac_executable_extensions; do 4303 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" 4304 as_fn_executable_p "$ac_path_SED" || continue 4305 # Check for GNU ac_path_SED and select it if it is found. 4306 # Check for GNU $ac_path_SED 4307 case `"$ac_path_SED" --version 2>&1` in 4308 *GNU*) 4309 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; 4310 *) 4311 ac_count=0 4312 $as_echo_n 0123456789 >"conftest.in" 4313 while : 4314 do 4315 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 || break 4320 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 4321 as_fn_arith $ac_count + 1 && ac_count=$as_val 4322 if test $ac_count -gt ${ac_path_SED_max-0}; then 4323 # Best one so far, save it but keep looking for a better one 4324 ac_cv_path_SED="$ac_path_SED" 4325 ac_path_SED_max=$ac_count 4326 fi 4327 # 10*(2^10) chars as input seems more than enough 4328 test $ac_count -gt 10 && break 4329 done 4330 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 4331 esac 4332 4333 $ac_path_SED_found && break 3 4334 done 4335 done 4336 done 4337 IFS=$as_save_IFS 4338 if test -z "$ac_cv_path_SED"; then 4339 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 4340 fi 4341 else 4342 ac_cv_path_SED=$SED 4343 fi 4344 4345 fi 4346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 4347 $as_echo "$ac_cv_path_SED" >&6; } 4348 SED="$ac_cv_path_SED" 4349 rm -f conftest.sed 4350 4351 test -z "$SED" && SED=sed 4352 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" >&5 4365 $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) " >&6 4368 else 4369 if test -z "$GREP"; then 4370 ac_path_GREP_found=false 4371 # Loop through the user's path and test for each of PROGNAME-LIST 4372 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4373 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4374 do 4375 IFS=$as_save_IFS 4376 test -z "$as_dir" && as_dir=. 4377 for ac_prog in grep ggrep; do 4378 for ac_exec_ext in '' $ac_executable_extensions; do 4379 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" 4380 as_fn_executable_p "$ac_path_GREP" || continue 4381 # Check for GNU ac_path_GREP and select it if it is found. 4382 # Check for GNU $ac_path_GREP 4383 case `"$ac_path_GREP" --version 2>&1` in 4384 *GNU*) 4385 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; 4386 *) 4387 ac_count=0 4388 $as_echo_n 0123456789 >"conftest.in" 4389 while : 4390 do 4391 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 || break 4396 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 4397 as_fn_arith $ac_count + 1 && ac_count=$as_val 4398 if test $ac_count -gt ${ac_path_GREP_max-0}; then 4399 # Best one so far, save it but keep looking for a better one 4400 ac_cv_path_GREP="$ac_path_GREP" 4401 ac_path_GREP_max=$ac_count 4402 fi 4403 # 10*(2^10) chars as input seems more than enough 4404 test $ac_count -gt 10 && break 4405 done 4406 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 4407 esac 4408 4409 $ac_path_GREP_found && break 3 4410 done 4411 done 4412 done 4413 IFS=$as_save_IFS 4414 if test -z "$ac_cv_path_GREP"; then 4415 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 4416 fi 4417 else 4418 ac_cv_path_GREP=$GREP 4419 fi 4420 4421 fi 4422 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 4423 $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" >&5 4428 $as_echo_n "checking for egrep... " >&6; } 4429 if ${ac_cv_path_EGREP+:} false; then : 4430 $as_echo_n "(cached) " >&6 4431 else 4432 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 4433 then ac_cv_path_EGREP="$GREP -E" 4434 else 4435 if test -z "$EGREP"; then 4436 ac_path_EGREP_found=false 4437 # Loop through the user's path and test for each of PROGNAME-LIST 4438 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4439 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4440 do 4441 IFS=$as_save_IFS 4442 test -z "$as_dir" && as_dir=. 4443 for ac_prog in egrep; do 4444 for ac_exec_ext in '' $ac_executable_extensions; do 4445 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" 4446 as_fn_executable_p "$ac_path_EGREP" || continue 4447 # Check for GNU ac_path_EGREP and select it if it is found. 4448 # Check for GNU $ac_path_EGREP 4449 case `"$ac_path_EGREP" --version 2>&1` in 4450 *GNU*) 4451 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; 4452 *) 4453 ac_count=0 4454 $as_echo_n 0123456789 >"conftest.in" 4455 while : 4456 do 4457 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 || break 4462 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 4463 as_fn_arith $ac_count + 1 && ac_count=$as_val 4464 if test $ac_count -gt ${ac_path_EGREP_max-0}; then 4465 # Best one so far, save it but keep looking for a better one 4466 ac_cv_path_EGREP="$ac_path_EGREP" 4467 ac_path_EGREP_max=$ac_count 4468 fi 4469 # 10*(2^10) chars as input seems more than enough 4470 test $ac_count -gt 10 && break 4471 done 4472 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 4473 esac 4474 4475 $ac_path_EGREP_found && break 3 4476 done 4477 done 4478 done 4479 IFS=$as_save_IFS 4480 if test -z "$ac_cv_path_EGREP"; then 4481 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 4482 fi 4483 else 4484 ac_cv_path_EGREP=$EGREP 4485 fi 4486 4487 fi 4488 fi 4489 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 4490 $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" >&5 4495 $as_echo_n "checking for fgrep... " >&6; } 4496 if ${ac_cv_path_FGREP+:} false; then : 4497 $as_echo_n "(cached) " >&6 4498 else 4499 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 4500 then ac_cv_path_FGREP="$GREP -F" 4501 else 4502 if test -z "$FGREP"; then 4503 ac_path_FGREP_found=false 4504 # Loop through the user's path and test for each of PROGNAME-LIST 4505 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4506 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4507 do 4508 IFS=$as_save_IFS 4509 test -z "$as_dir" && as_dir=. 4510 for ac_prog in fgrep; do 4511 for ac_exec_ext in '' $ac_executable_extensions; do 4512 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" 4513 as_fn_executable_p "$ac_path_FGREP" || continue 4514 # Check for GNU ac_path_FGREP and select it if it is found. 4515 # Check for GNU $ac_path_FGREP 4516 case `"$ac_path_FGREP" --version 2>&1` in 4517 *GNU*) 4518 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; 4519 *) 4520 ac_count=0 4521 $as_echo_n 0123456789 >"conftest.in" 4522 while : 4523 do 4524 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 || break 4529 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 4530 as_fn_arith $ac_count + 1 && ac_count=$as_val 4531 if test $ac_count -gt ${ac_path_FGREP_max-0}; then 4532 # Best one so far, save it but keep looking for a better one 4533 ac_cv_path_FGREP="$ac_path_FGREP" 4534 ac_path_FGREP_max=$ac_count 4535 fi 4536 # 10*(2^10) chars as input seems more than enough 4537 test $ac_count -gt 10 && break 4538 done 4539 rm -f conftest.in conftest.tmp conftest.nl conftest.out;; 4540 esac 4541 4542 $ac_path_FGREP_found && break 3 4543 done 4544 done 4545 done 4546 IFS=$as_save_IFS 4547 if test -z "$ac_cv_path_FGREP"; then 4548 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 4549 fi 4550 else 4551 ac_cv_path_FGREP=$FGREP 4552 fi 4553 4554 fi 4555 fi 4556 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 4557 $as_echo "$ac_cv_path_FGREP" >&6; } 4558 FGREP="$ac_cv_path_FGREP" 4559 4560 4561 test -z "$GREP" && GREP=grep 4562 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=yes 4584 else 4585 with_gnu_ld=no 4586 fi 4587 4588 ac_prog=ld 4589 if test yes = "$GCC"; then 4590 # Check if gcc -print-prog-name=ld gives a path. 4591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 4592 $as_echo_n "checking for ld used by $CC... " >&6; } 4593 case $host in 4594 *-*-mingw*) 4595 # gcc leaves a trailing carriage return, which upsets mingw 4596 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 4597 *) 4598 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 4599 esac 4600 case $ac_prog in 4601 # Accept absolute paths. 4602 [\\/]* | ?:[\\/]*) 4603 re_direlt='/[^/][^/]*/\.\./' 4604 # Canonicalize the pathname of ld 4605 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 4606 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 4607 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 4608 done 4609 test -z "$LD" && LD=$ac_prog 4610 ;; 4611 "") 4612 # If it fails, then pretend we aren't using GCC. 4613 ac_prog=ld 4614 ;; 4615 *) 4616 # If it is relative, then search for the first ld in PATH. 4617 with_gnu_ld=unknown 4618 ;; 4619 esac 4620 elif test yes = "$with_gnu_ld"; then 4621 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 4622 $as_echo_n "checking for GNU ld... " >&6; } 4623 else 4624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 4625 $as_echo_n "checking for non-GNU ld... " >&6; } 4626 fi 4627 if ${lt_cv_path_LD+:} false; then : 4628 $as_echo_n "(cached) " >&6 4629 else 4630 if test -z "$LD"; then 4631 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 4632 for ac_dir in $PATH; do 4633 IFS=$lt_save_ifs 4634 test -z "$ac_dir" && ac_dir=. 4635 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 4636 lt_cv_path_LD=$ac_dir/$ac_prog 4637 # 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` in 4641 *GNU* | *'with BFD'*) 4642 test no != "$with_gnu_ld" && break 4643 ;; 4644 *) 4645 test yes != "$with_gnu_ld" && break 4646 ;; 4647 esac 4648 fi 4649 done 4650 IFS=$lt_save_ifs 4651 else 4652 lt_cv_path_LD=$LD # Let the user override the test with a path. 4653 fi 4654 fi 4655 4656 LD=$lt_cv_path_LD 4657 if test -n "$LD"; then 4658 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 4659 $as_echo "$LD" >&6; } 4660 else 4661 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4662 $as_echo "no" >&6; } 4663 fi 4664 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 4665 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 4666 $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) " >&6 4669 else 4670 # I'd rather use --version here, but apparently some GNU lds only accept -v. 4671 case `$LD -v 2>&1 </dev/null` in 4672 *GNU* | *'with BFD'*) 4673 lt_cv_prog_gnu_ld=yes 4674 ;; 4675 *) 4676 lt_cv_prog_gnu_ld=no 4677 ;; 4678 esac 4679 fi 4680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 4681 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 4682 with_gnu_ld=$lt_cv_prog_gnu_ld 4683 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)" >&5 4693 $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) " >&6 4696 else 4697 if test -n "$NM"; then 4698 # Let the user override the test. 4699 lt_cv_path_NM=$NM 4700 else 4701 lt_nm_to_check=${ac_tool_prefix}nm 4702 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 4703 lt_nm_to_check="$lt_nm_to_check nm" 4704 fi 4705 for lt_tmp_nm in $lt_nm_to_check; do 4706 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 4707 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 4708 IFS=$lt_save_ifs 4709 test -z "$ac_dir" && ac_dir=. 4710 tmp_nm=$ac_dir/$lt_tmp_nm 4711 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 4712 # 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" ignored 4715 # Tru64's nm complains that /dev/null is an invalid object file 4716 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 4717 case $build_os in 4718 mingw*) lt_bad_file=conftest.nm/nofile ;; 4719 *) lt_bad_file=/dev/null ;; 4720 esac 4721 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in 4722 *$lt_bad_file* | *'Invalid file or object type'*) 4723 lt_cv_path_NM="$tmp_nm -B" 4724 break 2 4725 ;; 4726 *) 4727 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 4728 */dev/null*) 4729 lt_cv_path_NM="$tmp_nm -p" 4730 break 2 4731 ;; 4732 *) 4733 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 4734 continue # so that we can try to find one that supports BSD flags 4735 ;; 4736 esac 4737 ;; 4738 esac 4739 fi 4740 done 4741 IFS=$lt_save_ifs 4742 done 4743 : ${lt_cv_path_NM=no} 4744 fi 4745 fi 4746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 4747 $as_echo "$lt_cv_path_NM" >&6; } 4748 if test no != "$lt_cv_path_NM"; then 4749 NM=$lt_cv_path_NM 4750 else 4751 # 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 else 4755 if test -n "$ac_tool_prefix"; then 4756 for ac_prog in dumpbin "link -dump" 4757 do 4758 # 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=$2 4760 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 4761 $as_echo_n "checking for $ac_word... " >&6; } 4762 if ${ac_cv_prog_DUMPBIN+:} false; then : 4763 $as_echo_n "(cached) " >&6 4764 else 4765 if test -n "$DUMPBIN"; then 4766 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. 4767 else 4768 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4769 for as_dir in $PATH 4770 do 4771 IFS=$as_save_IFS 4772 test -z "$as_dir" && as_dir=. 4773 for ac_exec_ext in '' $ac_executable_extensions; do 4774 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 4775 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" >&5 4777 break 2 4778 fi 4779 done 4780 done 4781 IFS=$as_save_IFS 4782 4783 fi 4784 fi 4785 DUMPBIN=$ac_cv_prog_DUMPBIN 4786 if test -n "$DUMPBIN"; then 4787 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 4788 $as_echo "$DUMPBIN" >&6; } 4789 else 4790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4791 $as_echo "no" >&6; } 4792 fi 4793 4794 4795 test -n "$DUMPBIN" && break 4796 done 4797 fi 4798 if test -z "$DUMPBIN"; then 4799 ac_ct_DUMPBIN=$DUMPBIN 4800 for ac_prog in dumpbin "link -dump" 4801 do 4802 # Extract the first word of "$ac_prog", so it can be a program name with args. 4803 set dummy $ac_prog; ac_word=$2 4804 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 4805 $as_echo_n "checking for $ac_word... " >&6; } 4806 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : 4807 $as_echo_n "(cached) " >&6 4808 else 4809 if test -n "$ac_ct_DUMPBIN"; then 4810 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. 4811 else 4812 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4813 for as_dir in $PATH 4814 do 4815 IFS=$as_save_IFS 4816 test -z "$as_dir" && as_dir=. 4817 for ac_exec_ext in '' $ac_executable_extensions; do 4818 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 4819 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" 4820 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 4821 break 2 4822 fi 4823 done 4824 done 4825 IFS=$as_save_IFS 4826 4827 fi 4828 fi 4829 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN 4830 if test -n "$ac_ct_DUMPBIN"; then 4831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 4832 $as_echo "$ac_ct_DUMPBIN" >&6; } 4833 else 4834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4835 $as_echo "no" >&6; } 4836 fi 4837 4838 4839 test -n "$ac_ct_DUMPBIN" && break 4840 done 4841 4842 if test "x$ac_ct_DUMPBIN" = x; then 4843 DUMPBIN=":" 4844 else 4845 case $cross_compiling:$ac_tool_warned in 4846 yes:) 4847 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 4848 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 4849 ac_tool_warned=yes ;; 4850 esac 4851 DUMPBIN=$ac_ct_DUMPBIN 4852 fi 4853 fi 4854 4855 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in 4856 *COFF*) 4857 DUMPBIN="$DUMPBIN -symbols -headers" 4858 ;; 4859 *) 4860 DUMPBIN=: 4861 ;; 4862 esac 4863 fi 4864 4865 if test : != "$DUMPBIN"; then 4866 NM=$DUMPBIN 4867 fi 4868 fi 4869 test -z "$NM" && NM=nm 4870 4871 4872 4873 4874 4875 4876 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 4877 $as_echo_n "checking the name lister ($NM) interface... " >&6; } 4878 if ${lt_cv_nm_interface+:} false; then : 4879 $as_echo_n "(cached) " >&6 4880 else 4881 lt_cv_nm_interface="BSD nm" 4882 echo "int some_variable = 0;" > conftest.$ac_ext 4883 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) 4884 (eval "$ac_compile" 2>conftest.err) 4885 cat conftest.err >&5 4886 (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 >&5 4889 (eval echo "\"\$as_me:$LINENO: output\"" >&5) 4890 cat conftest.out >&5 4891 if $GREP 'External.*some_variable' conftest.out > /dev/null; then 4892 lt_cv_nm_interface="MS dumpbin" 4893 fi 4894 rm -f conftest* 4895 fi 4896 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 4897 $as_echo "$lt_cv_nm_interface" >&6; } 4898 4899 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 4900 $as_echo_n "checking whether ln -s works... " >&6; } 4901 LN_S=$as_ln_s 4902 if test "$LN_S" = "ln -s"; then 4903 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 4904 $as_echo "yes" >&6; } 4905 else 4906 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 4907 $as_echo "no, using $LN_S" >&6; } 4908 fi 4909 4910 # find the maximum length of command line arguments 4911 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 4912 $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) " >&6 4915 else 4916 i=0 4917 teststring=ABCD 4918 4919 case $build_os in 4920 msdosdjgpp*) 4921 # On DJGPP, this test can blow up pretty badly due to problems in libc 4922 # (any single argument exceeding 2000 bytes causes a buffer overrun 4923 # during glob expansion). Even if it were fixed, the result of this 4924 # check would be larger than it should be. 4925 lt_cv_sys_max_cmd_len=12288; # 12K is about right 4926 ;; 4927 4928 gnu*) 4929 # Under GNU Hurd, this test is not required because there is 4930 # no limit to the length of command line arguments. 4931 # Libtool will interpret -1 as no limit whatsoever 4932 lt_cv_sys_max_cmd_len=-1; 4933 ;; 4934 4935 cygwin* | mingw* | cegcc*) 4936 # On Win9x/ME, this test blows up -- it succeeds, but takes 4937 # 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 patience 4940 # the test eventually succeeds (with a max line length of 256k). 4941 # Instead, let's just punt: use the minimum linelength reported by 4942 # 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; then 4960 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 4961 elif test -x /usr/sbin/sysctl; then 4962 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 4963 else 4964 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 4965 fi 4966 # And add a safety zone 4967 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=196608 4974 ;; 4975 4976 os2*) 4977 # The test takes a long time on OS/2. 4978 lt_cv_sys_max_cmd_len=8192 4979 ;; 4980 4981 osf*) 4982 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 4983 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 4984 # nice to cause kernel panics so lets avoid the loop below. 4985 # First set a reasonable default. 4986 lt_cv_sys_max_cmd_len=16384 4987 # 4988 if test -x /sbin/sysconfig; then 4989 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 4990 *1*) lt_cv_sys_max_cmd_len=-1 ;; 4991 esac 4992 fi 4993 ;; 4994 sco3.2v5*) 4995 lt_cv_sys_max_cmd_len=102400 4996 ;; 4997 sysv5* | sco5v6* | sysv4.2uw2*) 4998 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 4999 if test -n "$kargmax"; then 5000 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` 5001 else 5002 lt_cv_sys_max_cmd_len=32768 5003 fi 5004 ;; 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"; then 5009 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 else 5012 # 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; do 5015 teststring=$teststring$teststring 5016 done 5017 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 5018 # If test is not a shell built-in, we'll probably end up computing a 5019 # maximum length that is only half of the actual maximum length, but 5020 # 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 enough 5024 do 5025 i=`expr $i + 1` 5026 teststring=$teststring$teststring 5027 done 5028 # 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 on 5032 # massive amounts of additional arguments before passing them to the 5033 # 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 fi 5036 ;; 5037 esac 5038 5039 fi 5040 5041 if test -n "$lt_cv_sys_max_cmd_len"; then 5042 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 5043 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } 5044 else 5045 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 5046 $as_echo "none" >&6; } 5047 fi 5048 max_cmd_len=$lt_cv_sys_max_cmd_len 5049 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; then 5060 lt_unset=unset 5061 else 5062 lt_unset=false 5063 fi 5064 5065 5066 5067 5068 5069 # test EBCDIC or ASCII 5070 case `echo X|tr X '\101'` in 5071 A) # ASCII based system 5072 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 5073 lt_SP2NL='tr \040 \012' 5074 lt_NL2SP='tr \015\012 \040\040' 5075 ;; 5076 *) # EBCDIC based system 5077 lt_SP2NL='tr \100 \n' 5078 lt_NL2SP='tr \r\n \100\100' 5079 ;; 5080 esac 5081 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" >&5 5091 $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) " >&6 5094 else 5095 case $host in 5096 *-*-mingw* ) 5097 case $build in 5098 *-*-mingw* ) # actually msys 5099 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 5100 ;; 5101 *-*-cygwin* ) 5102 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 5103 ;; 5104 * ) # otherwise, assume *nix 5105 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 5106 ;; 5107 esac 5108 ;; 5109 *-*-cygwin* ) 5110 case $build in 5111 *-*-mingw* ) # actually msys 5112 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 5113 ;; 5114 *-*-cygwin* ) 5115 lt_cv_to_host_file_cmd=func_convert_file_noop 5116 ;; 5117 * ) # otherwise, assume *nix 5118 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 5119 ;; 5120 esac 5121 ;; 5122 * ) # unhandled hosts (and "normal" native builds) 5123 lt_cv_to_host_file_cmd=func_convert_file_noop 5124 ;; 5125 esac 5126 5127 fi 5128 5129 to_host_file_cmd=$lt_cv_to_host_file_cmd 5130 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 5131 $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" >&5 5138 $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) " >&6 5141 else 5142 #assume ordinary cross tools, or native build. 5143 lt_cv_to_tool_file_cmd=func_convert_file_noop 5144 case $host in 5145 *-*-mingw* ) 5146 case $build in 5147 *-*-mingw* ) # actually msys 5148 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 5149 ;; 5150 esac 5151 ;; 5152 esac 5153 5154 fi 5155 5156 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 5157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 5158 $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" >&5 5165 $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) " >&6 5168 else 5169 lt_cv_ld_reload_flag='-r' 5170 fi 5171 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 5172 $as_echo "$lt_cv_ld_reload_flag" >&6; } 5173 reload_flag=$lt_cv_ld_reload_flag 5174 case $reload_flag in 5175 "" | " "*) ;; 5176 *) reload_flag=" $reload_flag" ;; 5177 esac 5178 reload_cmds='$LD$reload_flag -o $output$reload_objs' 5179 case $host_os in 5180 cygwin* | mingw* | pw32* | cegcc*) 5181 if test yes != "$GCC"; then 5182 reload_cmds=false 5183 fi 5184 ;; 5185 darwin*) 5186 if test yes = "$GCC"; then 5187 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 5188 else 5189 reload_cmds='$LD$reload_flag -o $output$reload_objs' 5190 fi 5191 ;; 5192 esac 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 if test -n "$ac_tool_prefix"; then 5203 # 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=$2 5205 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5206 $as_echo_n "checking for $ac_word... " >&6; } 5207 if ${ac_cv_prog_OBJDUMP+:} false; then : 5208 $as_echo_n "(cached) " >&6 5209 else 5210 if test -n "$OBJDUMP"; then 5211 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. 5212 else 5213 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5214 for as_dir in $PATH 5215 do 5216 IFS=$as_save_IFS 5217 test -z "$as_dir" && as_dir=. 5218 for ac_exec_ext in '' $ac_executable_extensions; do 5219 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5220 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" 5221 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5222 break 2 5223 fi 5224 done 5225 done 5226 IFS=$as_save_IFS 5227 5228 fi 5229 fi 5230 OBJDUMP=$ac_cv_prog_OBJDUMP 5231 if test -n "$OBJDUMP"; then 5232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 5233 $as_echo "$OBJDUMP" >&6; } 5234 else 5235 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5236 $as_echo "no" >&6; } 5237 fi 5238 5239 5240 fi 5241 if test -z "$ac_cv_prog_OBJDUMP"; then 5242 ac_ct_OBJDUMP=$OBJDUMP 5243 # Extract the first word of "objdump", so it can be a program name with args. 5244 set dummy objdump; ac_word=$2 5245 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5246 $as_echo_n "checking for $ac_word... " >&6; } 5247 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : 5248 $as_echo_n "(cached) " >&6 5249 else 5250 if test -n "$ac_ct_OBJDUMP"; then 5251 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. 5252 else 5253 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5254 for as_dir in $PATH 5255 do 5256 IFS=$as_save_IFS 5257 test -z "$as_dir" && as_dir=. 5258 for ac_exec_ext in '' $ac_executable_extensions; do 5259 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5260 ac_cv_prog_ac_ct_OBJDUMP="objdump" 5261 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5262 break 2 5263 fi 5264 done 5265 done 5266 IFS=$as_save_IFS 5267 5268 fi 5269 fi 5270 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP 5271 if test -n "$ac_ct_OBJDUMP"; then 5272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 5273 $as_echo "$ac_ct_OBJDUMP" >&6; } 5274 else 5275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5276 $as_echo "no" >&6; } 5277 fi 5278 5279 if test "x$ac_ct_OBJDUMP" = x; then 5280 OBJDUMP="false" 5281 else 5282 case $cross_compiling:$ac_tool_warned in 5283 yes:) 5284 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5285 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5286 ac_tool_warned=yes ;; 5287 esac 5288 OBJDUMP=$ac_ct_OBJDUMP 5289 fi 5290 else 5291 OBJDUMP="$ac_cv_prog_OBJDUMP" 5292 fi 5293 5294 test -z "$OBJDUMP" && OBJDUMP=objdump 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 5305 $as_echo_n "checking how to recognize dependent libraries... " >&6; } 5306 if ${lt_cv_deplibs_check_method+:} false; then : 5307 $as_echo_n "(cached) " >&6 5308 else 5309 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 support 5313 # 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 path 5319 # 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 sure 5321 # whether 'pass_all' will *always* work, you probably want this one. 5322 5323 case $host_os in 5324 aix[4-9]*) 5325 lt_cv_deplibs_check_method=pass_all 5326 ;; 5327 5328 beos*) 5329 lt_cv_deplibs_check_method=pass_all 5330 ;; 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.so 5336 ;; 5337 5338 cygwin*) 5339 # func_win32_libid is a shell function defined in ltmain.sh 5340 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 by 5346 # 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; then 5349 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 5350 lt_cv_file_magic_cmd='func_win32_libid' 5351 else 5352 # 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 fi 5356 ;; 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_all 5366 ;; 5367 5368 freebsd* | dragonfly*) 5369 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 5370 case $host_cpu in 5371 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/file 5376 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 5377 ;; 5378 esac 5379 else 5380 lt_cv_deplibs_check_method=pass_all 5381 fi 5382 ;; 5383 5384 haiku*) 5385 lt_cv_deplibs_check_method=pass_all 5386 ;; 5387 5388 hpux10.20* | hpux11*) 5389 lt_cv_file_magic_cmd=/usr/bin/file 5390 case $host_cpu in 5391 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.so 5394 ;; 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.sl 5398 ;; 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.sl 5402 ;; 5403 esac 5404 ;; 5405 5406 interix[3-9]*) 5407 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 5408 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' 5409 ;; 5410 5411 irix5* | irix6* | nonstopux*) 5412 case $LD in 5413 *-32|*"-32 ") libmagic=32-bit;; 5414 *-n32|*"-n32 ") libmagic=N32;; 5415 *-64|*"-64 ") libmagic=64-bit;; 5416 *) libmagic=never-match;; 5417 esac 5418 lt_cv_deplibs_check_method=pass_all 5419 ;; 5420 5421 # This must be glibc/ELF. 5422 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 5423 lt_cv_deplibs_check_method=pass_all 5424 ;; 5425 5426 netbsd* | netbsdelf*-gnu) 5427 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 5428 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' 5429 else 5430 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' 5431 fi 5432 ;; 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/file 5437 lt_cv_file_magic_test_file=/usr/lib/libnls.so 5438 ;; 5439 5440 *nto* | *qnx*) 5441 lt_cv_deplibs_check_method=pass_all 5442 ;; 5443 5444 openbsd* | bitrig*) 5445 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 5446 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' 5447 else 5448 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' 5449 fi 5450 ;; 5451 5452 osf3* | osf4* | osf5*) 5453 lt_cv_deplibs_check_method=pass_all 5454 ;; 5455 5456 rdos*) 5457 lt_cv_deplibs_check_method=pass_all 5458 ;; 5459 5460 solaris*) 5461 lt_cv_deplibs_check_method=pass_all 5462 ;; 5463 5464 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 5465 lt_cv_deplibs_check_method=pass_all 5466 ;; 5467 5468 sysv4 | sysv4.3*) 5469 case $host_vendor in 5470 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_all 5476 ;; 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.so 5485 ;; 5486 siemens) 5487 lt_cv_deplibs_check_method=pass_all 5488 ;; 5489 pc) 5490 lt_cv_deplibs_check_method=pass_all 5491 ;; 5492 esac 5493 ;; 5494 5495 tpf*) 5496 lt_cv_deplibs_check_method=pass_all 5497 ;; 5498 os2*) 5499 lt_cv_deplibs_check_method=pass_all 5500 ;; 5501 esac 5502 5503 fi 5504 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 5505 $as_echo "$lt_cv_deplibs_check_method" >&6; } 5506 5507 file_magic_glob= 5508 want_nocaseglob=no 5509 if test "$build" = "$host"; then 5510 case $host_os in 5511 mingw* | pw32*) 5512 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 5513 want_nocaseglob=yes 5514 else 5515 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` 5516 fi 5517 ;; 5518 esac 5519 fi 5520 5521 file_magic_cmd=$lt_cv_file_magic_cmd 5522 deplibs_check_method=$lt_cv_deplibs_check_method 5523 test -z "$deplibs_check_method" && deplibs_check_method=unknown 5524 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"; then 5547 # 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=$2 5549 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5550 $as_echo_n "checking for $ac_word... " >&6; } 5551 if ${ac_cv_prog_DLLTOOL+:} false; then : 5552 $as_echo_n "(cached) " >&6 5553 else 5554 if test -n "$DLLTOOL"; then 5555 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. 5556 else 5557 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5558 for as_dir in $PATH 5559 do 5560 IFS=$as_save_IFS 5561 test -z "$as_dir" && as_dir=. 5562 for ac_exec_ext in '' $ac_executable_extensions; do 5563 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5564 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" 5565 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5566 break 2 5567 fi 5568 done 5569 done 5570 IFS=$as_save_IFS 5571 5572 fi 5573 fi 5574 DLLTOOL=$ac_cv_prog_DLLTOOL 5575 if test -n "$DLLTOOL"; then 5576 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 5577 $as_echo "$DLLTOOL" >&6; } 5578 else 5579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5580 $as_echo "no" >&6; } 5581 fi 5582 5583 5584 fi 5585 if test -z "$ac_cv_prog_DLLTOOL"; then 5586 ac_ct_DLLTOOL=$DLLTOOL 5587 # Extract the first word of "dlltool", so it can be a program name with args. 5588 set dummy dlltool; ac_word=$2 5589 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5590 $as_echo_n "checking for $ac_word... " >&6; } 5591 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : 5592 $as_echo_n "(cached) " >&6 5593 else 5594 if test -n "$ac_ct_DLLTOOL"; then 5595 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. 5596 else 5597 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5598 for as_dir in $PATH 5599 do 5600 IFS=$as_save_IFS 5601 test -z "$as_dir" && as_dir=. 5602 for ac_exec_ext in '' $ac_executable_extensions; do 5603 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5604 ac_cv_prog_ac_ct_DLLTOOL="dlltool" 5605 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5606 break 2 5607 fi 5608 done 5609 done 5610 IFS=$as_save_IFS 5611 5612 fi 5613 fi 5614 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL 5615 if test -n "$ac_ct_DLLTOOL"; then 5616 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 5617 $as_echo "$ac_ct_DLLTOOL" >&6; } 5618 else 5619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5620 $as_echo "no" >&6; } 5621 fi 5622 5623 if test "x$ac_ct_DLLTOOL" = x; then 5624 DLLTOOL="false" 5625 else 5626 case $cross_compiling:$ac_tool_warned in 5627 yes:) 5628 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5629 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5630 ac_tool_warned=yes ;; 5631 esac 5632 DLLTOOL=$ac_ct_DLLTOOL 5633 fi 5634 else 5635 DLLTOOL="$ac_cv_prog_DLLTOOL" 5636 fi 5637 5638 test -z "$DLLTOOL" && DLLTOOL=dlltool 5639 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" >&5 5650 $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) " >&6 5653 else 5654 lt_cv_sharedlib_from_linklib_cmd='unknown' 5655 5656 case $host_os in 5657 cygwin* | mingw* | pw32* | cegcc*) 5658 # two different shell functions defined in ltmain.sh; 5659 # decide which one to use based on capabilities of $DLLTOOL 5660 case `$DLLTOOL --help 2>&1` in 5661 *--identify-strict*) 5662 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 5663 ;; 5664 *) 5665 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 5666 ;; 5667 esac 5668 ;; 5669 *) 5670 # fallback: assume linklib IS sharedlib 5671 lt_cv_sharedlib_from_linklib_cmd=$ECHO 5672 ;; 5673 esac 5674 5675 fi 5676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 5677 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } 5678 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 5679 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 5680 5681 5682 5683 5684 5685 5686 5687 5688 if test -n "$ac_tool_prefix"; then 5689 for ac_prog in ar 5690 do 5691 # 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=$2 5693 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5694 $as_echo_n "checking for $ac_word... " >&6; } 5695 if ${ac_cv_prog_AR+:} false; then : 5696 $as_echo_n "(cached) " >&6 5697 else 5698 if test -n "$AR"; then 5699 ac_cv_prog_AR="$AR" # Let the user override the test. 5700 else 5701 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5702 for as_dir in $PATH 5703 do 5704 IFS=$as_save_IFS 5705 test -z "$as_dir" && as_dir=. 5706 for ac_exec_ext in '' $ac_executable_extensions; do 5707 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5708 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" >&5 5710 break 2 5711 fi 5712 done 5713 done 5714 IFS=$as_save_IFS 5715 5716 fi 5717 fi 5718 AR=$ac_cv_prog_AR 5719 if test -n "$AR"; then 5720 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 5721 $as_echo "$AR" >&6; } 5722 else 5723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5724 $as_echo "no" >&6; } 5725 fi 5726 5727 5728 test -n "$AR" && break 5729 done 5730 fi 5731 if test -z "$AR"; then 5732 ac_ct_AR=$AR 5733 for ac_prog in ar 5734 do 5735 # Extract the first word of "$ac_prog", so it can be a program name with args. 5736 set dummy $ac_prog; ac_word=$2 5737 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5738 $as_echo_n "checking for $ac_word... " >&6; } 5739 if ${ac_cv_prog_ac_ct_AR+:} false; then : 5740 $as_echo_n "(cached) " >&6 5741 else 5742 if test -n "$ac_ct_AR"; then 5743 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. 5744 else 5745 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5746 for as_dir in $PATH 5747 do 5748 IFS=$as_save_IFS 5749 test -z "$as_dir" && as_dir=. 5750 for ac_exec_ext in '' $ac_executable_extensions; do 5751 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5752 ac_cv_prog_ac_ct_AR="$ac_prog" 5753 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5754 break 2 5755 fi 5756 done 5757 done 5758 IFS=$as_save_IFS 5759 5760 fi 5761 fi 5762 ac_ct_AR=$ac_cv_prog_ac_ct_AR 5763 if test -n "$ac_ct_AR"; then 5764 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 5765 $as_echo "$ac_ct_AR" >&6; } 5766 else 5767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5768 $as_echo "no" >&6; } 5769 fi 5770 5771 5772 test -n "$ac_ct_AR" && break 5773 done 5774 5775 if test "x$ac_ct_AR" = x; then 5776 AR="false" 5777 else 5778 case $cross_compiling:$ac_tool_warned in 5779 yes:) 5780 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5781 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5782 ac_tool_warned=yes ;; 5783 esac 5784 AR=$ac_ct_AR 5785 fi 5786 fi 5787 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" >&5 5802 $as_echo_n "checking for archiver @FILE support... " >&6; } 5803 if ${lt_cv_ar_at_file+:} false; then : 5804 $as_echo_n "(cached) " >&6 5805 else 5806 lt_cv_ar_at_file=no 5807 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5808 /* end confdefs.h. */ 5809 5810 int 5811 main () 5812 { 5813 5814 ; 5815 return 0; 5816 } 5817 _ACEOF 5818 if ac_fn_c_try_compile "$LINENO"; then : 5819 echo conftest.$ac_objext > conftest.lst 5820 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' 5821 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 5822 (eval $lt_ar_try) 2>&5 5823 ac_status=$? 5824 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 5825 test $ac_status = 0; } 5826 if test 0 -eq "$ac_status"; then 5827 # Ensure the archiver fails upon bogus file names. 5828 rm -f conftest.$ac_objext libconftest.a 5829 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 5830 (eval $lt_ar_try) 2>&5 5831 ac_status=$? 5832 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 5833 test $ac_status = 0; } 5834 if test 0 -ne "$ac_status"; then 5835 lt_cv_ar_at_file=@ 5836 fi 5837 fi 5838 rm -f conftest.* libconftest.a 5839 5840 fi 5841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 5842 5843 fi 5844 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 5845 $as_echo "$lt_cv_ar_at_file" >&6; } 5846 5847 if test no = "$lt_cv_ar_at_file"; then 5848 archiver_list_spec= 5849 else 5850 archiver_list_spec=$lt_cv_ar_at_file 5851 fi 5852 5853 5854 5855 5856 5857 5858 5859 if test -n "$ac_tool_prefix"; then 5860 # 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=$2 5862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5863 $as_echo_n "checking for $ac_word... " >&6; } 5864 if ${ac_cv_prog_STRIP+:} false; then : 5865 $as_echo_n "(cached) " >&6 5866 else 5867 if test -n "$STRIP"; then 5868 ac_cv_prog_STRIP="$STRIP" # Let the user override the test. 5869 else 5870 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5871 for as_dir in $PATH 5872 do 5873 IFS=$as_save_IFS 5874 test -z "$as_dir" && as_dir=. 5875 for ac_exec_ext in '' $ac_executable_extensions; do 5876 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5877 ac_cv_prog_STRIP="${ac_tool_prefix}strip" 5878 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5879 break 2 5880 fi 5881 done 5882 done 5883 IFS=$as_save_IFS 5884 5885 fi 5886 fi 5887 STRIP=$ac_cv_prog_STRIP 5888 if test -n "$STRIP"; then 5889 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 5890 $as_echo "$STRIP" >&6; } 5891 else 5892 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5893 $as_echo "no" >&6; } 5894 fi 5895 5896 5897 fi 5898 if test -z "$ac_cv_prog_STRIP"; then 5899 ac_ct_STRIP=$STRIP 5900 # Extract the first word of "strip", so it can be a program name with args. 5901 set dummy strip; ac_word=$2 5902 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5903 $as_echo_n "checking for $ac_word... " >&6; } 5904 if ${ac_cv_prog_ac_ct_STRIP+:} false; then : 5905 $as_echo_n "(cached) " >&6 5906 else 5907 if test -n "$ac_ct_STRIP"; then 5908 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. 5909 else 5910 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5911 for as_dir in $PATH 5912 do 5913 IFS=$as_save_IFS 5914 test -z "$as_dir" && as_dir=. 5915 for ac_exec_ext in '' $ac_executable_extensions; do 5916 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5917 ac_cv_prog_ac_ct_STRIP="strip" 5918 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5919 break 2 5920 fi 5921 done 5922 done 5923 IFS=$as_save_IFS 5924 5925 fi 5926 fi 5927 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP 5928 if test -n "$ac_ct_STRIP"; then 5929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 5930 $as_echo "$ac_ct_STRIP" >&6; } 5931 else 5932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5933 $as_echo "no" >&6; } 5934 fi 5935 5936 if test "x$ac_ct_STRIP" = x; then 5937 STRIP=":" 5938 else 5939 case $cross_compiling:$ac_tool_warned in 5940 yes:) 5941 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5942 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5943 ac_tool_warned=yes ;; 5944 esac 5945 STRIP=$ac_ct_STRIP 5946 fi 5947 else 5948 STRIP="$ac_cv_prog_STRIP" 5949 fi 5950 5951 test -z "$STRIP" && STRIP=: 5952 5953 5954 5955 5956 5957 5958 if test -n "$ac_tool_prefix"; then 5959 # 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=$2 5961 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5962 $as_echo_n "checking for $ac_word... " >&6; } 5963 if ${ac_cv_prog_RANLIB+:} false; then : 5964 $as_echo_n "(cached) " >&6 5965 else 5966 if test -n "$RANLIB"; then 5967 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 5968 else 5969 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5970 for as_dir in $PATH 5971 do 5972 IFS=$as_save_IFS 5973 test -z "$as_dir" && as_dir=. 5974 for ac_exec_ext in '' $ac_executable_extensions; do 5975 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5976 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" 5977 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5978 break 2 5979 fi 5980 done 5981 done 5982 IFS=$as_save_IFS 5983 5984 fi 5985 fi 5986 RANLIB=$ac_cv_prog_RANLIB 5987 if test -n "$RANLIB"; then 5988 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 5989 $as_echo "$RANLIB" >&6; } 5990 else 5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5992 $as_echo "no" >&6; } 5993 fi 5994 5995 5996 fi 5997 if test -z "$ac_cv_prog_RANLIB"; then 5998 ac_ct_RANLIB=$RANLIB 5999 # Extract the first word of "ranlib", so it can be a program name with args. 6000 set dummy ranlib; ac_word=$2 6001 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6002 $as_echo_n "checking for $ac_word... " >&6; } 6003 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 6004 $as_echo_n "(cached) " >&6 6005 else 6006 if test -n "$ac_ct_RANLIB"; then 6007 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 6008 else 6009 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6010 for as_dir in $PATH 6011 do 6012 IFS=$as_save_IFS 6013 test -z "$as_dir" && as_dir=. 6014 for ac_exec_ext in '' $ac_executable_extensions; do 6015 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6016 ac_cv_prog_ac_ct_RANLIB="ranlib" 6017 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6018 break 2 6019 fi 6020 done 6021 done 6022 IFS=$as_save_IFS 6023 6024 fi 6025 fi 6026 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 6027 if test -n "$ac_ct_RANLIB"; then 6028 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 6029 $as_echo "$ac_ct_RANLIB" >&6; } 6030 else 6031 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6032 $as_echo "no" >&6; } 6033 fi 6034 6035 if test "x$ac_ct_RANLIB" = x; then 6036 RANLIB=":" 6037 else 6038 case $cross_compiling:$ac_tool_warned in 6039 yes:) 6040 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6041 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6042 ac_tool_warned=yes ;; 6043 esac 6044 RANLIB=$ac_ct_RANLIB 6045 fi 6046 else 6047 RANLIB="$ac_cv_prog_RANLIB" 6048 fi 6049 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"; then 6063 case $host_os in 6064 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 esac 6071 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 6072 fi 6073 6074 case $host_os in 6075 darwin*) 6076 lock_old_archive_extraction=yes ;; 6077 *) 6078 lock_old_archive_extraction=no ;; 6079 esac 6080 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=$CC 6127 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" >&5 6131 $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) " >&6 6134 else 6135 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 in 6147 aix*) 6148 symcode='[BCDT]' 6149 ;; 6150 cygwin* | mingw* | pw32* | cegcc*) 6151 symcode='[ABCDGISTW]' 6152 ;; 6153 hpux*) 6154 if test ia64 = "$host_cpu"; then 6155 symcode='[ABCDEGRST]' 6156 fi 6157 ;; 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 esac 6180 6181 # If we're using GNU nm, then use its standard symbol codes. 6182 case `$NM -V 2>&1` in 6183 *GNU* | *'with BFD'*) 6184 symcode='[ABCDGIRSTW]' ;; 6185 esac 6186 6187 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 6188 # 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 else 6197 # 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 fi 6203 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 address 6213 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 and 6219 # 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 chain 6227 opt_cr= 6228 case $build_os in 6229 mingw*) 6230 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 6231 ;; 6232 esac 6233 6234 # Try without a prefix underscore, then with it. 6235 for ac_symprfx in "" "_"; do 6236 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"; then 6242 # 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 else 6262 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 6263 fi 6264 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=no 6268 6269 rm -f conftest* 6270 cat > conftest.$ac_ext <<_LT_EOF 6271 #ifdef __cplusplus 6272 extern "C" { 6273 #endif 6274 char nm_test_var; 6275 void nm_test_func(void); 6276 void nm_test_func(void){} 6277 #ifdef __cplusplus 6278 } 6279 #endif 6280 int main(){nm_test_var='a';nm_test_func();return(0);} 6281 _LT_EOF 6282 6283 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6284 (eval $ac_compile) 2>&5 6285 ac_status=$? 6286 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6287 test $ac_status = 0; }; then 6288 # Now try to grab the symbols. 6289 nlist=conftest.nm 6290 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 6291 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 6292 ac_status=$? 6293 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6294 test $ac_status = 0; } && test -s "$nlist"; then 6295 # Try sorting and uniquifying the output. 6296 if sort "$nlist" | uniq > "$nlist"T; then 6297 mv -f "$nlist"T "$nlist" 6298 else 6299 rm -f "$nlist"T 6300 fi 6301 6302 # Make sure that we snagged all the symbols we need. 6303 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 6304 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 6305 cat <<_LT_EOF > conftest.$ac_ext 6306 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 6307 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 6308 /* DATA imports from DLLs on WIN32 can't be const, because runtime 6309 relocations are performed -- see ld's documentation on pseudo-relocs. */ 6310 # define LT_DLSYM_CONST 6311 #elif defined __osf__ 6312 /* This system does not cope well with relocations in const data. */ 6313 # define LT_DLSYM_CONST 6314 #else 6315 # define LT_DLSYM_CONST const 6316 #endif 6317 6318 #ifdef __cplusplus 6319 extern "C" { 6320 #endif 6321 6322 _LT_EOF 6323 # 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_ext 6327 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_EOF 6337 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 6338 cat <<\_LT_EOF >> conftest.$ac_ext 6339 {0, (void *) 0} 6340 }; 6341 6342 /* This works around a problem in FreeBSD linker */ 6343 #ifdef FREEBSD_WORKAROUND 6344 static const void *lt_preloaded_setup() { 6345 return lt__PROGRAM__LTX_preloaded_symbols; 6346 } 6347 #endif 6348 6349 #ifdef __cplusplus 6350 } 6351 #endif 6352 _LT_EOF 6353 # Now try linking the two files. 6354 mv conftest.$ac_objext conftstm.$ac_objext 6355 lt_globsym_save_LIBS=$LIBS 6356 lt_globsym_save_CFLAGS=$CFLAGS 6357 LIBS=conftstm.$ac_objext 6358 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" 6359 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 6360 (eval $ac_link) 2>&5 6361 ac_status=$? 6362 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6363 test $ac_status = 0; } && test -s conftest$ac_exeext; then 6364 pipe_works=yes 6365 fi 6366 LIBS=$lt_globsym_save_LIBS 6367 CFLAGS=$lt_globsym_save_CFLAGS 6368 else 6369 echo "cannot find nm_test_func in $nlist" >&5 6370 fi 6371 else 6372 echo "cannot find nm_test_var in $nlist" >&5 6373 fi 6374 else 6375 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 6376 fi 6377 else 6378 echo "$progname: failed program was:" >&5 6379 cat conftest.$ac_ext >&5 6380 fi 6381 rm -rf conftest* conftst* 6382 6383 # Do not use the global_symbol_pipe unless it works. 6384 if test yes = "$pipe_works"; then 6385 break 6386 else 6387 lt_cv_sys_global_symbol_pipe= 6388 fi 6389 done 6390 6391 fi 6392 6393 if test -z "$lt_cv_sys_global_symbol_pipe"; then 6394 lt_cv_sys_global_symbol_to_cdecl= 6395 fi 6396 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 6397 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 6398 $as_echo "failed" >&6; } 6399 else 6400 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 6401 $as_echo "ok" >&6; } 6402 fi 6403 6404 # Response file support. 6405 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 6406 nm_file_list_spec='@' 6407 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then 6408 nm_file_list_spec='@' 6409 fi 6410 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" >&5 6448 $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 else 6454 with_sysroot=no 6455 fi 6456 6457 6458 lt_sysroot= 6459 case $with_sysroot in #( 6460 yes) 6461 if test yes = "$GCC"; then 6462 lt_sysroot=`$CC --print-sysroot 2>/dev/null` 6463 fi 6464 ;; #( 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" >&5 6472 $as_echo "$with_sysroot" >&6; } 6473 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 6474 ;; 6475 esac 6476 6477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 6478 $as_echo "${lt_sysroot:-no}" >&6; } 6479 6480 6481 6482 6483 6484 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 6485 $as_echo_n "checking for a working dd... " >&6; } 6486 if ${ac_cv_path_lt_DD+:} false; then : 6487 $as_echo_n "(cached) " >&6 6488 else 6489 printf 0123456789abcdef0123456789abcdef >conftest.i 6490 cat conftest.i conftest.i >conftest2.i 6491 : ${lt_DD:=$DD} 6492 if test -z "$lt_DD"; then 6493 ac_path_lt_DD_found=false 6494 # Loop through the user's path and test for each of PROGNAME-LIST 6495 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6496 for as_dir in $PATH 6497 do 6498 IFS=$as_save_IFS 6499 test -z "$as_dir" && as_dir=. 6500 for ac_prog in dd; do 6501 for ac_exec_ext in '' $ac_executable_extensions; do 6502 ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" 6503 as_fn_executable_p "$ac_path_lt_DD" || continue 6504 if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 6505 cmp -s conftest.i conftest.out \ 6506 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 6507 fi 6508 $ac_path_lt_DD_found && break 3 6509 done 6510 done 6511 done 6512 IFS=$as_save_IFS 6513 if test -z "$ac_cv_path_lt_DD"; then 6514 : 6515 fi 6516 else 6517 ac_cv_path_lt_DD=$lt_DD 6518 fi 6519 6520 rm -f conftest.i conftest2.i conftest.out 6521 fi 6522 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 6523 $as_echo "$ac_cv_path_lt_DD" >&6; } 6524 6525 6526 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 6527 $as_echo_n "checking how to truncate binary pipes... " >&6; } 6528 if ${lt_cv_truncate_bin+:} false; then : 6529 $as_echo_n "(cached) " >&6 6530 else 6531 printf 0123456789abcdef0123456789abcdef >conftest.i 6532 cat conftest.i conftest.i >conftest2.i 6533 lt_cv_truncate_bin= 6534 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 6535 cmp -s conftest.i conftest.out \ 6536 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 6537 fi 6538 rm -f conftest.i conftest2.i conftest.out 6539 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" 6540 fi 6541 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 6542 $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 $*""; do 6554 case $cc_temp in 6555 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; 6556 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; 6557 \-*) ;; 6558 *) break;; 6559 esac 6560 done 6561 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 fi 6568 6569 test no = "$enable_libtool_lock" || enable_libtool_lock=yes 6570 6571 # Some flags need to be propagated to the compiler or linker for good 6572 # libtool support. 6573 case $host in 6574 ia64-*-hpux*) 6575 # Find out what ABI is being produced by ac_compile, and set mode 6576 # options accordingly. 6577 echo 'int i;' > conftest.$ac_ext 6578 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6579 (eval $ac_compile) 2>&5 6580 ac_status=$? 6581 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6582 test $ac_status = 0; }; then 6583 case `/usr/bin/file conftest.$ac_objext` in 6584 *ELF-32*) 6585 HPUX_IA64_MODE=32 6586 ;; 6587 *ELF-64*) 6588 HPUX_IA64_MODE=64 6589 ;; 6590 esac 6591 fi 6592 rm -rf conftest* 6593 ;; 6594 *-*-irix6*) 6595 # Find out what ABI is being produced by ac_compile, and set linker 6596 # options accordingly. 6597 echo '#line '$LINENO' "configure"' > conftest.$ac_ext 6598 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6599 (eval $ac_compile) 2>&5 6600 ac_status=$? 6601 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6602 test $ac_status = 0; }; then 6603 if test yes = "$lt_cv_prog_gnu_ld"; then 6604 case `/usr/bin/file conftest.$ac_objext` in 6605 *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 esac 6615 else 6616 case `/usr/bin/file conftest.$ac_objext` in 6617 *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 esac 6627 fi 6628 fi 6629 rm -rf conftest* 6630 ;; 6631 6632 mips64*-*linux*) 6633 # Find out what ABI is being produced by ac_compile, and set linker 6634 # options accordingly. 6635 echo '#line '$LINENO' "configure"' > conftest.$ac_ext 6636 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6637 (eval $ac_compile) 2>&5 6638 ac_status=$? 6639 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6640 test $ac_status = 0; }; then 6641 emul=elf 6642 case `/usr/bin/file conftest.$ac_objext` in 6643 *32-bit*) 6644 emul="${emul}32" 6645 ;; 6646 *64-bit*) 6647 emul="${emul}64" 6648 ;; 6649 esac 6650 case `/usr/bin/file conftest.$ac_objext` in 6651 *MSB*) 6652 emul="${emul}btsmip" 6653 ;; 6654 *LSB*) 6655 emul="${emul}ltsmip" 6656 ;; 6657 esac 6658 case `/usr/bin/file conftest.$ac_objext` in 6659 *N32*) 6660 emul="${emul}n32" 6661 ;; 6662 esac 6663 LD="${LD-ld} -m $emul" 6664 fi 6665 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 linker 6671 # options accordingly. Note that the listed cases only cover the 6672 # situations where additional linker options are needed (such as when 6673 # doing 32-bit compilation for a host where ld defaults to 64-bit, or 6674 # vice versa); the common cases where no linker options are needed do 6675 # not appear in the list. 6676 echo 'int i;' > conftest.$ac_ext 6677 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6678 (eval $ac_compile) 2>&5 6679 ac_status=$? 6680 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6681 test $ac_status = 0; }; then 6682 case `/usr/bin/file conftest.o` in 6683 *32-bit*) 6684 case $host in 6685 x86_64-*kfreebsd*-gnu) 6686 LD="${LD-ld} -m elf_i386_fbsd" 6687 ;; 6688 x86_64-*linux*) 6689 case `/usr/bin/file conftest.o` in 6690 *x86-64*) 6691 LD="${LD-ld} -m elf32_x86_64" 6692 ;; 6693 *) 6694 LD="${LD-ld} -m elf_i386" 6695 ;; 6696 esac 6697 ;; 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 esac 6711 ;; 6712 *64-bit*) 6713 case $host in 6714 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 esac 6733 ;; 6734 esac 6735 fi 6736 rm -rf conftest* 6737 ;; 6738 6739 *-*-sco3.2v5*) 6740 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 6741 SAVE_CFLAGS=$CFLAGS 6742 CFLAGS="$CFLAGS -belf" 6743 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 6744 $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) " >&6 6747 else 6748 ac_ext=c 6749 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_gnu 6753 6754 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 6755 /* end confdefs.h. */ 6756 6757 int 6758 main () 6759 { 6760 6761 ; 6762 return 0; 6763 } 6764 _ACEOF 6765 if ac_fn_c_try_link "$LINENO"; then : 6766 lt_cv_cc_needs_belf=yes 6767 else 6768 lt_cv_cc_needs_belf=no 6769 fi 6770 rm -f core conftest.err conftest.$ac_objext \ 6771 conftest$ac_exeext conftest.$ac_ext 6772 ac_ext=c 6773 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_gnu 6777 6778 fi 6779 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 6780 $as_echo "$lt_cv_cc_needs_belf" >&6; } 6781 if test yes != "$lt_cv_cc_needs_belf"; then 6782 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 6783 CFLAGS=$SAVE_CFLAGS 6784 fi 6785 ;; 6786 *-*solaris*) 6787 # Find out what ABI is being produced by ac_compile, and set linker 6788 # options accordingly. 6789 echo 'int i;' > conftest.$ac_ext 6790 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 6791 (eval $ac_compile) 2>&5 6792 ac_status=$? 6793 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 6794 test $ac_status = 0; }; then 6795 case `/usr/bin/file conftest.o` in 6796 *64-bit*) 6797 case $lt_cv_prog_gnu_ld in 6798 yes*) 6799 case $host in 6800 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 esac 6807 # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 6808 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 6809 LD=${LD-ld}_sol2 6810 fi 6811 ;; 6812 *) 6813 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 6814 LD="${LD-ld} -64" 6815 fi 6816 ;; 6817 esac 6818 ;; 6819 esac 6820 fi 6821 rm -rf conftest* 6822 ;; 6823 esac 6824 6825 need_locks=$enable_libtool_lock 6826 6827 if test -n "$ac_tool_prefix"; then 6828 # 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=$2 6830 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6831 $as_echo_n "checking for $ac_word... " >&6; } 6832 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : 6833 $as_echo_n "(cached) " >&6 6834 else 6835 if test -n "$MANIFEST_TOOL"; then 6836 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. 6837 else 6838 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6839 for as_dir in $PATH 6840 do 6841 IFS=$as_save_IFS 6842 test -z "$as_dir" && as_dir=. 6843 for ac_exec_ext in '' $ac_executable_extensions; do 6844 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6845 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" >&5 6847 break 2 6848 fi 6849 done 6850 done 6851 IFS=$as_save_IFS 6852 6853 fi 6854 fi 6855 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL 6856 if test -n "$MANIFEST_TOOL"; then 6857 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 6858 $as_echo "$MANIFEST_TOOL" >&6; } 6859 else 6860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6861 $as_echo "no" >&6; } 6862 fi 6863 6864 6865 fi 6866 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then 6867 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL 6868 # Extract the first word of "mt", so it can be a program name with args. 6869 set dummy mt; ac_word=$2 6870 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6871 $as_echo_n "checking for $ac_word... " >&6; } 6872 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : 6873 $as_echo_n "(cached) " >&6 6874 else 6875 if test -n "$ac_ct_MANIFEST_TOOL"; then 6876 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. 6877 else 6878 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6879 for as_dir in $PATH 6880 do 6881 IFS=$as_save_IFS 6882 test -z "$as_dir" && as_dir=. 6883 for ac_exec_ext in '' $ac_executable_extensions; do 6884 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6885 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" 6886 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6887 break 2 6888 fi 6889 done 6890 done 6891 IFS=$as_save_IFS 6892 6893 fi 6894 fi 6895 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL 6896 if test -n "$ac_ct_MANIFEST_TOOL"; then 6897 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 6898 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } 6899 else 6900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6901 $as_echo "no" >&6; } 6902 fi 6903 6904 if test "x$ac_ct_MANIFEST_TOOL" = x; then 6905 MANIFEST_TOOL=":" 6906 else 6907 case $cross_compiling:$ac_tool_warned in 6908 yes:) 6909 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 6910 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 6911 ac_tool_warned=yes ;; 6912 esac 6913 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL 6914 fi 6915 else 6916 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" 6917 fi 6918 6919 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 6920 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 6921 $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) " >&6 6924 else 6925 lt_cv_path_mainfest_tool=no 6926 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 6927 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 6928 cat conftest.err >&5 6929 if $GREP 'Manifest Tool' conftest.out > /dev/null; then 6930 lt_cv_path_mainfest_tool=yes 6931 fi 6932 rm -f conftest* 6933 fi 6934 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 6935 $as_echo "$lt_cv_path_mainfest_tool" >&6; } 6936 if test yes != "$lt_cv_path_mainfest_tool"; then 6937 MANIFEST_TOOL=: 6938 fi 6939 6940 6941 6942 6943 6944 6945 case $host_os in 6946 rhapsody* | darwin*) 6947 if test -n "$ac_tool_prefix"; then 6948 # 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=$2 6950 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6951 $as_echo_n "checking for $ac_word... " >&6; } 6952 if ${ac_cv_prog_DSYMUTIL+:} false; then : 6953 $as_echo_n "(cached) " >&6 6954 else 6955 if test -n "$DSYMUTIL"; then 6956 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. 6957 else 6958 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6959 for as_dir in $PATH 6960 do 6961 IFS=$as_save_IFS 6962 test -z "$as_dir" && as_dir=. 6963 for ac_exec_ext in '' $ac_executable_extensions; do 6964 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 6965 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" 6966 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 6967 break 2 6968 fi 6969 done 6970 done 6971 IFS=$as_save_IFS 6972 6973 fi 6974 fi 6975 DSYMUTIL=$ac_cv_prog_DSYMUTIL 6976 if test -n "$DSYMUTIL"; then 6977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 6978 $as_echo "$DSYMUTIL" >&6; } 6979 else 6980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6981 $as_echo "no" >&6; } 6982 fi 6983 6984 6985 fi 6986 if test -z "$ac_cv_prog_DSYMUTIL"; then 6987 ac_ct_DSYMUTIL=$DSYMUTIL 6988 # Extract the first word of "dsymutil", so it can be a program name with args. 6989 set dummy dsymutil; ac_word=$2 6990 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 6991 $as_echo_n "checking for $ac_word... " >&6; } 6992 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : 6993 $as_echo_n "(cached) " >&6 6994 else 6995 if test -n "$ac_ct_DSYMUTIL"; then 6996 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. 6997 else 6998 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6999 for as_dir in $PATH 7000 do 7001 IFS=$as_save_IFS 7002 test -z "$as_dir" && as_dir=. 7003 for ac_exec_ext in '' $ac_executable_extensions; do 7004 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7005 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" 7006 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7007 break 2 7008 fi 7009 done 7010 done 7011 IFS=$as_save_IFS 7012 7013 fi 7014 fi 7015 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL 7016 if test -n "$ac_ct_DSYMUTIL"; then 7017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 7018 $as_echo "$ac_ct_DSYMUTIL" >&6; } 7019 else 7020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7021 $as_echo "no" >&6; } 7022 fi 7023 7024 if test "x$ac_ct_DSYMUTIL" = x; then 7025 DSYMUTIL=":" 7026 else 7027 case $cross_compiling:$ac_tool_warned in 7028 yes:) 7029 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7030 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7031 ac_tool_warned=yes ;; 7032 esac 7033 DSYMUTIL=$ac_ct_DSYMUTIL 7034 fi 7035 else 7036 DSYMUTIL="$ac_cv_prog_DSYMUTIL" 7037 fi 7038 7039 if test -n "$ac_tool_prefix"; then 7040 # 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=$2 7042 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7043 $as_echo_n "checking for $ac_word... " >&6; } 7044 if ${ac_cv_prog_NMEDIT+:} false; then : 7045 $as_echo_n "(cached) " >&6 7046 else 7047 if test -n "$NMEDIT"; then 7048 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. 7049 else 7050 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7051 for as_dir in $PATH 7052 do 7053 IFS=$as_save_IFS 7054 test -z "$as_dir" && as_dir=. 7055 for ac_exec_ext in '' $ac_executable_extensions; do 7056 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7057 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" 7058 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7059 break 2 7060 fi 7061 done 7062 done 7063 IFS=$as_save_IFS 7064 7065 fi 7066 fi 7067 NMEDIT=$ac_cv_prog_NMEDIT 7068 if test -n "$NMEDIT"; then 7069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 7070 $as_echo "$NMEDIT" >&6; } 7071 else 7072 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7073 $as_echo "no" >&6; } 7074 fi 7075 7076 7077 fi 7078 if test -z "$ac_cv_prog_NMEDIT"; then 7079 ac_ct_NMEDIT=$NMEDIT 7080 # Extract the first word of "nmedit", so it can be a program name with args. 7081 set dummy nmedit; ac_word=$2 7082 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7083 $as_echo_n "checking for $ac_word... " >&6; } 7084 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : 7085 $as_echo_n "(cached) " >&6 7086 else 7087 if test -n "$ac_ct_NMEDIT"; then 7088 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. 7089 else 7090 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7091 for as_dir in $PATH 7092 do 7093 IFS=$as_save_IFS 7094 test -z "$as_dir" && as_dir=. 7095 for ac_exec_ext in '' $ac_executable_extensions; do 7096 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7097 ac_cv_prog_ac_ct_NMEDIT="nmedit" 7098 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7099 break 2 7100 fi 7101 done 7102 done 7103 IFS=$as_save_IFS 7104 7105 fi 7106 fi 7107 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT 7108 if test -n "$ac_ct_NMEDIT"; then 7109 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 7110 $as_echo "$ac_ct_NMEDIT" >&6; } 7111 else 7112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7113 $as_echo "no" >&6; } 7114 fi 7115 7116 if test "x$ac_ct_NMEDIT" = x; then 7117 NMEDIT=":" 7118 else 7119 case $cross_compiling:$ac_tool_warned in 7120 yes:) 7121 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7122 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7123 ac_tool_warned=yes ;; 7124 esac 7125 NMEDIT=$ac_ct_NMEDIT 7126 fi 7127 else 7128 NMEDIT="$ac_cv_prog_NMEDIT" 7129 fi 7130 7131 if test -n "$ac_tool_prefix"; then 7132 # 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=$2 7134 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7135 $as_echo_n "checking for $ac_word... " >&6; } 7136 if ${ac_cv_prog_LIPO+:} false; then : 7137 $as_echo_n "(cached) " >&6 7138 else 7139 if test -n "$LIPO"; then 7140 ac_cv_prog_LIPO="$LIPO" # Let the user override the test. 7141 else 7142 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7143 for as_dir in $PATH 7144 do 7145 IFS=$as_save_IFS 7146 test -z "$as_dir" && as_dir=. 7147 for ac_exec_ext in '' $ac_executable_extensions; do 7148 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7149 ac_cv_prog_LIPO="${ac_tool_prefix}lipo" 7150 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7151 break 2 7152 fi 7153 done 7154 done 7155 IFS=$as_save_IFS 7156 7157 fi 7158 fi 7159 LIPO=$ac_cv_prog_LIPO 7160 if test -n "$LIPO"; then 7161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 7162 $as_echo "$LIPO" >&6; } 7163 else 7164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7165 $as_echo "no" >&6; } 7166 fi 7167 7168 7169 fi 7170 if test -z "$ac_cv_prog_LIPO"; then 7171 ac_ct_LIPO=$LIPO 7172 # Extract the first word of "lipo", so it can be a program name with args. 7173 set dummy lipo; ac_word=$2 7174 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7175 $as_echo_n "checking for $ac_word... " >&6; } 7176 if ${ac_cv_prog_ac_ct_LIPO+:} false; then : 7177 $as_echo_n "(cached) " >&6 7178 else 7179 if test -n "$ac_ct_LIPO"; then 7180 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. 7181 else 7182 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7183 for as_dir in $PATH 7184 do 7185 IFS=$as_save_IFS 7186 test -z "$as_dir" && as_dir=. 7187 for ac_exec_ext in '' $ac_executable_extensions; do 7188 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7189 ac_cv_prog_ac_ct_LIPO="lipo" 7190 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7191 break 2 7192 fi 7193 done 7194 done 7195 IFS=$as_save_IFS 7196 7197 fi 7198 fi 7199 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO 7200 if test -n "$ac_ct_LIPO"; then 7201 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 7202 $as_echo "$ac_ct_LIPO" >&6; } 7203 else 7204 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7205 $as_echo "no" >&6; } 7206 fi 7207 7208 if test "x$ac_ct_LIPO" = x; then 7209 LIPO=":" 7210 else 7211 case $cross_compiling:$ac_tool_warned in 7212 yes:) 7213 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7214 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7215 ac_tool_warned=yes ;; 7216 esac 7217 LIPO=$ac_ct_LIPO 7218 fi 7219 else 7220 LIPO="$ac_cv_prog_LIPO" 7221 fi 7222 7223 if test -n "$ac_tool_prefix"; then 7224 # 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=$2 7226 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7227 $as_echo_n "checking for $ac_word... " >&6; } 7228 if ${ac_cv_prog_OTOOL+:} false; then : 7229 $as_echo_n "(cached) " >&6 7230 else 7231 if test -n "$OTOOL"; then 7232 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. 7233 else 7234 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7235 for as_dir in $PATH 7236 do 7237 IFS=$as_save_IFS 7238 test -z "$as_dir" && as_dir=. 7239 for ac_exec_ext in '' $ac_executable_extensions; do 7240 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7241 ac_cv_prog_OTOOL="${ac_tool_prefix}otool" 7242 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7243 break 2 7244 fi 7245 done 7246 done 7247 IFS=$as_save_IFS 7248 7249 fi 7250 fi 7251 OTOOL=$ac_cv_prog_OTOOL 7252 if test -n "$OTOOL"; then 7253 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 7254 $as_echo "$OTOOL" >&6; } 7255 else 7256 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7257 $as_echo "no" >&6; } 7258 fi 7259 7260 7261 fi 7262 if test -z "$ac_cv_prog_OTOOL"; then 7263 ac_ct_OTOOL=$OTOOL 7264 # Extract the first word of "otool", so it can be a program name with args. 7265 set dummy otool; ac_word=$2 7266 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7267 $as_echo_n "checking for $ac_word... " >&6; } 7268 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : 7269 $as_echo_n "(cached) " >&6 7270 else 7271 if test -n "$ac_ct_OTOOL"; then 7272 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. 7273 else 7274 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7275 for as_dir in $PATH 7276 do 7277 IFS=$as_save_IFS 7278 test -z "$as_dir" && as_dir=. 7279 for ac_exec_ext in '' $ac_executable_extensions; do 7280 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7281 ac_cv_prog_ac_ct_OTOOL="otool" 7282 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7283 break 2 7284 fi 7285 done 7286 done 7287 IFS=$as_save_IFS 7288 7289 fi 7290 fi 7291 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL 7292 if test -n "$ac_ct_OTOOL"; then 7293 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 7294 $as_echo "$ac_ct_OTOOL" >&6; } 7295 else 7296 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7297 $as_echo "no" >&6; } 7298 fi 7299 7300 if test "x$ac_ct_OTOOL" = x; then 7301 OTOOL=":" 7302 else 7303 case $cross_compiling:$ac_tool_warned in 7304 yes:) 7305 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7306 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7307 ac_tool_warned=yes ;; 7308 esac 7309 OTOOL=$ac_ct_OTOOL 7310 fi 7311 else 7312 OTOOL="$ac_cv_prog_OTOOL" 7313 fi 7314 7315 if test -n "$ac_tool_prefix"; then 7316 # 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=$2 7318 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7319 $as_echo_n "checking for $ac_word... " >&6; } 7320 if ${ac_cv_prog_OTOOL64+:} false; then : 7321 $as_echo_n "(cached) " >&6 7322 else 7323 if test -n "$OTOOL64"; then 7324 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. 7325 else 7326 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7327 for as_dir in $PATH 7328 do 7329 IFS=$as_save_IFS 7330 test -z "$as_dir" && as_dir=. 7331 for ac_exec_ext in '' $ac_executable_extensions; do 7332 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7333 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" 7334 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7335 break 2 7336 fi 7337 done 7338 done 7339 IFS=$as_save_IFS 7340 7341 fi 7342 fi 7343 OTOOL64=$ac_cv_prog_OTOOL64 7344 if test -n "$OTOOL64"; then 7345 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 7346 $as_echo "$OTOOL64" >&6; } 7347 else 7348 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7349 $as_echo "no" >&6; } 7350 fi 7351 7352 7353 fi 7354 if test -z "$ac_cv_prog_OTOOL64"; then 7355 ac_ct_OTOOL64=$OTOOL64 7356 # Extract the first word of "otool64", so it can be a program name with args. 7357 set dummy otool64; ac_word=$2 7358 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 7359 $as_echo_n "checking for $ac_word... " >&6; } 7360 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : 7361 $as_echo_n "(cached) " >&6 7362 else 7363 if test -n "$ac_ct_OTOOL64"; then 7364 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. 7365 else 7366 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7367 for as_dir in $PATH 7368 do 7369 IFS=$as_save_IFS 7370 test -z "$as_dir" && as_dir=. 7371 for ac_exec_ext in '' $ac_executable_extensions; do 7372 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 7373 ac_cv_prog_ac_ct_OTOOL64="otool64" 7374 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 7375 break 2 7376 fi 7377 done 7378 done 7379 IFS=$as_save_IFS 7380 7381 fi 7382 fi 7383 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 7384 if test -n "$ac_ct_OTOOL64"; then 7385 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 7386 $as_echo "$ac_ct_OTOOL64" >&6; } 7387 else 7388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7389 $as_echo "no" >&6; } 7390 fi 7391 7392 if test "x$ac_ct_OTOOL64" = x; then 7393 OTOOL64=":" 7394 else 7395 case $cross_compiling:$ac_tool_warned in 7396 yes:) 7397 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 7398 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 7399 ac_tool_warned=yes ;; 7400 esac 7401 OTOOL64=$ac_ct_OTOOL64 7402 fi 7403 else 7404 OTOOL64="$ac_cv_prog_OTOOL64" 7405 fi 7406 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" >&5 7434 $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) " >&6 7437 else 7438 lt_cv_apple_cc_single_mod=no 7439 if test -z "$LT_MULTI_MODULE"; then 7440 # By default we will add the -single_module flag. You can override 7441 # by either setting the environment variable LT_MULTI_MODULE 7442 # non-empty at configure time, or by adding -multi_module to the 7443 # link flags. 7444 rm -rf libconftest.dylib* 7445 echo "int foo(void){return 1;}" > conftest.c 7446 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 7447 -dynamiclib -Wl,-single_module conftest.c" >&5 7448 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 7449 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 7450 _lt_result=$? 7451 # If there is a non-empty error log, and "single_module" 7452 # appears in it, assume the flag caused a linker warning 7453 if test -s conftest.err && $GREP single_module conftest.err; then 7454 cat conftest.err >&5 7455 # Otherwise, if the output was created with a 0 exit code from 7456 # the compiler, it worked. 7457 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 7458 lt_cv_apple_cc_single_mod=yes 7459 else 7460 cat conftest.err >&5 7461 fi 7462 rm -rf libconftest.dylib* 7463 rm -f conftest.* 7464 fi 7465 fi 7466 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 7467 $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" >&5 7470 $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) " >&6 7473 else 7474 lt_cv_ld_exported_symbols_list=no 7475 save_LDFLAGS=$LDFLAGS 7476 echo "_main" > conftest.sym 7477 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 7478 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7479 /* end confdefs.h. */ 7480 7481 int 7482 main () 7483 { 7484 7485 ; 7486 return 0; 7487 } 7488 _ACEOF 7489 if ac_fn_c_try_link "$LINENO"; then : 7490 lt_cv_ld_exported_symbols_list=yes 7491 else 7492 lt_cv_ld_exported_symbols_list=no 7493 fi 7494 rm -f core conftest.err conftest.$ac_objext \ 7495 conftest$ac_exeext conftest.$ac_ext 7496 LDFLAGS=$save_LDFLAGS 7497 7498 fi 7499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 7500 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } 7501 7502 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 7503 $as_echo_n "checking for -force_load linker flag... " >&6; } 7504 if ${lt_cv_ld_force_load+:} false; then : 7505 $as_echo_n "(cached) " >&6 7506 else 7507 lt_cv_ld_force_load=no 7508 cat > conftest.c << _LT_EOF 7509 int forced_loaded() { return 2;} 7510 _LT_EOF 7511 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 7512 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 7513 echo "$AR cru libconftest.a conftest.o" >&5 7514 $AR cru libconftest.a conftest.o 2>&5 7515 echo "$RANLIB libconftest.a" >&5 7516 $RANLIB libconftest.a 2>&5 7517 cat > conftest.c << _LT_EOF 7518 int main() { return 0;} 7519 _LT_EOF 7520 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 7521 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 7522 _lt_result=$? 7523 if test -s conftest.err && $GREP force_load conftest.err; then 7524 cat conftest.err >&5 7525 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 7526 lt_cv_ld_force_load=yes 7527 else 7528 cat conftest.err >&5 7529 fi 7530 rm -f conftest.err libconftest.a conftest conftest.c 7531 rm -rf conftest.dSYM 7532 7533 fi 7534 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 7535 $as_echo "$lt_cv_ld_force_load" >&6; } 7536 case $host_os in 7537 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 on 7542 # if running on 10.5 or later, the deployment target defaults 7543 # to the OS version, if on x86, and 10.4, the deployment 7544 # target defaults to 10.4. Don't you love it? 7545 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 7546 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 esac 7553 ;; 7554 esac 7555 if test yes = "$lt_cv_apple_cc_single_mod"; then 7556 _lt_dar_single_mod='$single_module' 7557 fi 7558 if test yes = "$lt_cv_ld_exported_symbols_list"; then 7559 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 7560 else 7561 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 7562 fi 7563 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 7564 _lt_dsymutil='~$DSYMUTIL $lib || :' 7565 else 7566 _lt_dsymutil= 7567 fi 7568 ;; 7569 esac 7570 7571 # func_munge_path_list VARIABLE PATH 7572 # ----------------------------------- 7573 # VARIABLE is name of variable containing _space_ separated list of 7574 # directories to be munged by the contents of PATH, which is string 7575 # having a format: 7576 # "DIR[:DIR]:" 7577 # string "DIR[ DIR]" will be prepended to VARIABLE 7578 # ":DIR[:DIR]" 7579 # string "DIR[ DIR]" will be appended to VARIABLE 7580 # "DIRP[:DIRP]::[DIRA:]DIRA" 7581 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string 7582 # "DIRA[ DIRA]" will be appended to VARIABLE 7583 # "DIR[:DIR]" 7584 # VARIABLE will be replaced by "DIR[ DIR]" 7585 func_munge_path_list () 7586 { 7587 case x$2 in 7588 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 esac 7604 } 7605 7606 ac_ext=c 7607 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_gnu 7611 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 7612 $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"; then 7615 CPP= 7616 fi 7617 if test -z "$CPP"; then 7618 if ${ac_cv_prog_CPP+:} false; then : 7619 $as_echo_n "(cached) " >&6 7620 else 7621 # Double quotes because CPP needs to be expanded 7622 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" 7623 do 7624 ac_preproc_ok=false 7625 for ac_c_preproc_warn_flag in '' yes 7626 do 7627 # Use a header file that comes with gcc, so configuring glibc 7628 # with a fresh cross-compiler works. 7629 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 7630 # <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_ext 7634 /* end confdefs.h. */ 7635 #ifdef __STDC__ 7636 # include <limits.h> 7637 #else 7638 # include <assert.h> 7639 #endif 7640 Syntax error 7641 _ACEOF 7642 if ac_fn_c_try_cpp "$LINENO"; then : 7643 7644 else 7645 # Broken: fails on valid input. 7646 continue 7647 fi 7648 rm -f conftest.err conftest.i conftest.$ac_ext 7649 7650 # OK, works on sane cases. Now check whether nonexistent headers 7651 # can be detected and how. 7652 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7653 /* end confdefs.h. */ 7654 #include <ac_nonexistent.h> 7655 _ACEOF 7656 if ac_fn_c_try_cpp "$LINENO"; then : 7657 # Broken: success on invalid input. 7658 continue 7659 else 7660 # Passes both tests. 7661 ac_preproc_ok=: 7662 break 7663 fi 7664 rm -f conftest.err conftest.i conftest.$ac_ext 7665 7666 done 7667 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 7668 rm -f conftest.i conftest.err conftest.$ac_ext 7669 if $ac_preproc_ok; then : 7670 break 7671 fi 7672 7673 done 7674 ac_cv_prog_CPP=$CPP 7675 7676 fi 7677 CPP=$ac_cv_prog_CPP 7678 else 7679 ac_cv_prog_CPP=$CPP 7680 fi 7681 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 7682 $as_echo "$CPP" >&6; } 7683 ac_preproc_ok=false 7684 for ac_c_preproc_warn_flag in '' yes 7685 do 7686 # Use a header file that comes with gcc, so configuring glibc 7687 # with a fresh cross-compiler works. 7688 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 7689 # <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_ext 7693 /* end confdefs.h. */ 7694 #ifdef __STDC__ 7695 # include <limits.h> 7696 #else 7697 # include <assert.h> 7698 #endif 7699 Syntax error 7700 _ACEOF 7701 if ac_fn_c_try_cpp "$LINENO"; then : 7702 7703 else 7704 # Broken: fails on valid input. 7705 continue 7706 fi 7707 rm -f conftest.err conftest.i conftest.$ac_ext 7708 7709 # OK, works on sane cases. Now check whether nonexistent headers 7710 # can be detected and how. 7711 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7712 /* end confdefs.h. */ 7713 #include <ac_nonexistent.h> 7714 _ACEOF 7715 if ac_fn_c_try_cpp "$LINENO"; then : 7716 # Broken: success on invalid input. 7717 continue 7718 else 7719 # Passes both tests. 7720 ac_preproc_ok=: 7721 break 7722 fi 7723 rm -f conftest.err conftest.i conftest.$ac_ext 7724 7725 done 7726 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 7727 rm -f conftest.i conftest.err conftest.$ac_ext 7728 if $ac_preproc_ok; then : 7729 7730 else 7731 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 7732 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 7733 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 7734 See \`config.log' for more details" "$LINENO" 5; } 7735 fi 7736 7737 ac_ext=c 7738 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_gnu 7742 7743 7744 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 7745 $as_echo_n "checking for ANSI C header files... " >&6; } 7746 if ${ac_cv_header_stdc+:} false; then : 7747 $as_echo_n "(cached) " >&6 7748 else 7749 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7750 /* end confdefs.h. */ 7751 #include <stdlib.h> 7752 #include <stdarg.h> 7753 #include <string.h> 7754 #include <float.h> 7755 7756 int 7757 main () 7758 { 7759 7760 ; 7761 return 0; 7762 } 7763 _ACEOF 7764 if ac_fn_c_try_compile "$LINENO"; then : 7765 ac_cv_header_stdc=yes 7766 else 7767 ac_cv_header_stdc=no 7768 fi 7769 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 7770 7771 if test $ac_cv_header_stdc = yes; then 7772 # SunOS 4.x string.h does not declare mem*, contrary to ANSI. 7773 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7774 /* end confdefs.h. */ 7775 #include <string.h> 7776 7777 _ACEOF 7778 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | 7779 $EGREP "memchr" >/dev/null 2>&1; then : 7780 7781 else 7782 ac_cv_header_stdc=no 7783 fi 7784 rm -f conftest* 7785 7786 fi 7787 7788 if test $ac_cv_header_stdc = yes; then 7789 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. 7790 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7791 /* end confdefs.h. */ 7792 #include <stdlib.h> 7793 7794 _ACEOF 7795 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | 7796 $EGREP "free" >/dev/null 2>&1; then : 7797 7798 else 7799 ac_cv_header_stdc=no 7800 fi 7801 rm -f conftest* 7802 7803 fi 7804 7805 if test $ac_cv_header_stdc = yes; then 7806 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. 7807 if test "$cross_compiling" = yes; then : 7808 : 7809 else 7810 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7811 /* 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 #else 7818 # 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 #endif 7824 7825 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) 7826 int 7827 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 _ACEOF 7837 if ac_fn_c_try_run "$LINENO"; then : 7838 7839 else 7840 ac_cv_header_stdc=no 7841 fi 7842 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ 7843 conftest.$ac_objext conftest.beam conftest.$ac_ext 7844 fi 7845 7846 fi 7847 fi 7848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 7849 $as_echo "$ac_cv_header_stdc" >&6; } 7850 if test $ac_cv_header_stdc = yes; then 7851 7852 $as_echo "#define STDC_HEADERS 1" >>confdefs.h 7853 7854 fi 7855 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.h 7859 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_default 7862 " 7863 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 7864 cat >>confdefs.h <<_ACEOF 7865 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 7866 _ACEOF 7867 7868 fi 7869 7870 done 7871 7872 7873 for ac_header in dlfcn.h 7874 do : 7875 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default 7876 " 7877 if test "x$ac_cv_header_dlfcn_h" = xyes; then : 7878 cat >>confdefs.h <<_ACEOF 7879 #define HAVE_DLFCN_H 1 7880 _ACEOF 7881 7882 fi 7883 7884 done 7885 7886 7887 7888 7889 7890 # Set options 7891 7892 7893 7894 enable_dlopen=no 7895 7896 7897 enable_win32_dll=no 7898 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 in 7904 yes) enable_shared=yes ;; 7905 no) enable_shared=no ;; 7906 *) 7907 enable_shared=no 7908 # 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; do 7911 IFS=$lt_save_ifs 7912 if test "X$pkg" = "X$p"; then 7913 enable_shared=yes 7914 fi 7915 done 7916 IFS=$lt_save_ifs 7917 ;; 7918 esac 7919 else 7920 enable_shared=yes 7921 fi 7922 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 in 7935 yes) enable_static=yes ;; 7936 no) enable_static=no ;; 7937 *) 7938 enable_static=no 7939 # 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; do 7942 IFS=$lt_save_ifs 7943 if test "X$pkg" = "X$p"; then 7944 enable_static=yes 7945 fi 7946 done 7947 IFS=$lt_save_ifs 7948 ;; 7949 esac 7950 else 7951 enable_static=yes 7952 fi 7953 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 in 7967 yes|no) pic_mode=$withval ;; 7968 *) 7969 pic_mode=default 7970 # 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; do 7973 IFS=$lt_save_ifs 7974 if test "X$lt_pkg" = "X$lt_p"; then 7975 pic_mode=yes 7976 fi 7977 done 7978 IFS=$lt_save_ifs 7979 ;; 7980 esac 7981 else 7982 pic_mode=default 7983 fi 7984 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 in 7996 yes) enable_fast_install=yes ;; 7997 no) enable_fast_install=no ;; 7998 *) 7999 enable_fast_install=no 8000 # 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; do 8003 IFS=$lt_save_ifs 8004 if test "X$pkg" = "X$p"; then 8005 enable_fast_install=yes 8006 fi 8007 done 8008 IFS=$lt_save_ifs 8009 ;; 8010 esac 8011 else 8012 enable_fast_install=yes 8013 fi 8014 8015 8016 8017 8018 8019 8020 8021 8022 shared_archive_member_spec= 8023 case $host,$enable_shared in 8024 power*-*-aix[5-9]*,yes) 8025 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 8026 $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 in 8031 aix|svr4|both) 8032 ;; 8033 *) 8034 as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 8035 ;; 8036 esac 8037 lt_cv_with_aix_soname=$with_aix_soname 8038 else 8039 if ${lt_cv_with_aix_soname+:} false; then : 8040 $as_echo_n "(cached) " >&6 8041 else 8042 lt_cv_with_aix_soname=aix 8043 fi 8044 8045 with_aix_soname=$lt_cv_with_aix_soname 8046 fi 8047 8048 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 8049 $as_echo "$with_aix_soname" >&6; } 8050 if test aix != "$with_aix_soname"; then 8051 # For the AIX way of multilib, we name the shared archive member 8052 # 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}"; then 8057 shared_archive_member_spec=shr_64 8058 else 8059 shared_archive_member_spec=shr 8060 fi 8061 fi 8062 ;; 8063 *) 8064 with_aix_soname=aix 8065 ;; 8066 esac 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 # This can be used to rebuild libtool when needed 8078 LIBTOOL_DEPS=$ltmain 8079 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}"; then 8128 setopt NO_GLOB_SUBST 8129 fi 8130 8131 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 8132 $as_echo_n "checking for objdir... " >&6; } 8133 if ${lt_cv_objdir+:} false; then : 8134 $as_echo_n "(cached) " >&6 8135 else 8136 rm -f .libs 2>/dev/null 8137 mkdir .libs 2>/dev/null 8138 if test -d .libs; then 8139 lt_cv_objdir=.libs 8140 else 8141 # MS-DOS does not allow filenames that begin with a dot. 8142 lt_cv_objdir=_libs 8143 fi 8144 rmdir .libs 2>/dev/null 8145 fi 8146 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 8147 $as_echo "$lt_cv_objdir" >&6; } 8148 objdir=$lt_cv_objdir 8149 8150 8151 8152 8153 8154 cat >>confdefs.h <<_ACEOF 8155 #define LT_OBJDIR "$lt_cv_objdir/" 8156 _ACEOF 8157 8158 8159 8160 8161 case $host_os in 8162 aix3*) 8163 # AIX sometimes has problems with the GCC collect2 program. For some 8164 # reason, if we set the COLLECT_NAMES environment variable, the problems 8165 # vanish in a puff of smoke. 8166 if test set != "${COLLECT_NAMES+set}"; then 8167 COLLECT_NAMES= 8168 export COLLECT_NAMES 8169 fi 8170 ;; 8171 esac 8172 8173 # Global variables: 8174 ofile=libtool 8175 can_build_shared=yes 8176 8177 # All known linkers require a '.a' archive for static linking (except MSVC, 8178 # which needs '.lib'). 8179 libext=a 8180 8181 with_gnu_ld=$lt_cv_prog_gnu_ld 8182 8183 old_CC=$CC 8184 old_CFLAGS=$CFLAGS 8185 8186 # Set sane defaults for various variables 8187 test -z "$CC" && CC=cc 8188 test -z "$LTCC" && LTCC=$CC 8189 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 8190 test -z "$LD" && LD=ld 8191 test -z "$ac_objext" && ac_objext=o 8192 8193 func_cc_basename $compiler 8194 cc_basename=$func_cc_basename_result 8195 8196 8197 # Only perform the check for file, if the check method requires it 8198 test -z "$MAGIC_CMD" && MAGIC_CMD=file 8199 case $deplibs_check_method in 8200 file_magic*) 8201 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 8202 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 8203 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } 8204 if ${lt_cv_path_MAGIC_CMD+:} false; then : 8205 $as_echo_n "(cached) " >&6 8206 else 8207 case $MAGIC_CMD in 8208 [\\/*] | ?:[\\/]*) 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_CMD 8213 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 8214 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" 8215 for ac_dir in $ac_dummy; do 8216 IFS=$lt_save_ifs 8217 test -z "$ac_dir" && ac_dir=. 8218 if test -f "$ac_dir/${ac_tool_prefix}file"; then 8219 lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" 8220 if test -n "$file_magic_test_file"; then 8221 case $deplibs_check_method in 8222 "file_magic "*) 8223 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 8224 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8225 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 8226 $EGREP "$file_magic_regex" > /dev/null; then 8227 : 8228 else 8229 cat <<_LT_EOF 1>&2 8230 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 libraries 8234 *** as such. This will affect the creation of libtool libraries that 8235 *** depend on shared libraries, but programs linked with such libtool 8236 *** libraries will work regardless of this problem. Nevertheless, you 8237 *** may want to report the problem to your system manager and/or to 8238 *** bug-libtool@gnu.org 8239 8240 _LT_EOF 8241 fi ;; 8242 esac 8243 fi 8244 break 8245 fi 8246 done 8247 IFS=$lt_save_ifs 8248 MAGIC_CMD=$lt_save_MAGIC_CMD 8249 ;; 8250 esac 8251 fi 8252 8253 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8254 if test -n "$MAGIC_CMD"; then 8255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 8256 $as_echo "$MAGIC_CMD" >&6; } 8257 else 8258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8259 $as_echo "no" >&6; } 8260 fi 8261 8262 8263 8264 8265 8266 if test -z "$lt_cv_path_MAGIC_CMD"; then 8267 if test -n "$ac_tool_prefix"; then 8268 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 8269 $as_echo_n "checking for file... " >&6; } 8270 if ${lt_cv_path_MAGIC_CMD+:} false; then : 8271 $as_echo_n "(cached) " >&6 8272 else 8273 case $MAGIC_CMD in 8274 [\\/*] | ?:[\\/]*) 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_CMD 8279 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 8280 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" 8281 for ac_dir in $ac_dummy; do 8282 IFS=$lt_save_ifs 8283 test -z "$ac_dir" && ac_dir=. 8284 if test -f "$ac_dir/file"; then 8285 lt_cv_path_MAGIC_CMD=$ac_dir/"file" 8286 if test -n "$file_magic_test_file"; then 8287 case $deplibs_check_method in 8288 "file_magic "*) 8289 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 8290 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8291 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 8292 $EGREP "$file_magic_regex" > /dev/null; then 8293 : 8294 else 8295 cat <<_LT_EOF 1>&2 8296 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 libraries 8300 *** as such. This will affect the creation of libtool libraries that 8301 *** depend on shared libraries, but programs linked with such libtool 8302 *** libraries will work regardless of this problem. Nevertheless, you 8303 *** may want to report the problem to your system manager and/or to 8304 *** bug-libtool@gnu.org 8305 8306 _LT_EOF 8307 fi ;; 8308 esac 8309 fi 8310 break 8311 fi 8312 done 8313 IFS=$lt_save_ifs 8314 MAGIC_CMD=$lt_save_MAGIC_CMD 8315 ;; 8316 esac 8317 fi 8318 8319 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8320 if test -n "$MAGIC_CMD"; then 8321 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 8322 $as_echo "$MAGIC_CMD" >&6; } 8323 else 8324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8325 $as_echo "no" >&6; } 8326 fi 8327 8328 8329 else 8330 MAGIC_CMD=: 8331 fi 8332 fi 8333 8334 fi 8335 ;; 8336 esac 8337 8338 # Use C for the default configuration in the libtool script 8339 8340 lt_save_CC=$CC 8341 ac_ext=c 8342 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_gnu 8346 8347 8348 # Source file extension for C test sources. 8349 ac_ext=c 8350 8351 # Object file extension for compiled C test sources. 8352 objext=o 8353 objext=$objext 8354 8355 # Code to be used in simple compile tests 8356 lt_simple_compile_test_code="int some_variable = 0;" 8357 8358 # Code to be used in simple link tests 8359 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=$CC 8375 8376 # Save the default compiler, since it gets overwritten when the other 8377 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 8378 compiler_DEFAULT=$CC 8379 8380 # save warnings/boilerplate of simple test code 8381 ac_outfile=conftest.$ac_objext 8382 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 8383 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 8384 _lt_compiler_boilerplate=`cat conftest.err` 8385 $RM conftest* 8386 8387 ac_outfile=conftest.$ac_objext 8388 echo "$lt_simple_link_test_code" >conftest.$ac_ext 8389 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 8390 _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 change 8396 ## the running order or otherwise move them around unless you know exactly 8397 ## what you are doing... 8398 if test -n "$compiler"; then 8399 8400 lt_prog_compiler_no_builtin_flag= 8401 8402 if test yes = "$GCC"; then 8403 case $cc_basename in 8404 nvcc*) 8405 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; 8406 *) 8407 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; 8408 esac 8409 8410 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 8411 $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) " >&6 8414 else 8415 lt_cv_prog_compiler_rtti_exceptions=no 8416 ac_outfile=conftest.$ac_objext 8417 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 8418 lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment 8419 # Insert the option either (1) after the last *FLAGS variable, or 8420 # (2) before a word containing "conftest.", or (3) at the end. 8421 # Note that $ac_compile itself does not contain backslashes and begins 8422 # 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 >&5 8432 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8433 if (exit $ac_status) && test -s "$ac_outfile"; then 8434 # The compiler can only warn and ignore the option if not recognized 8435 # So say no if there are warnings other than the usual output. 8436 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 8437 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 8438 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 8439 lt_cv_prog_compiler_rtti_exceptions=yes 8440 fi 8441 fi 8442 $RM conftest* 8443 8444 fi 8445 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 8446 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } 8447 8448 if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then 8449 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" 8450 else 8451 : 8452 fi 8453 8454 fi 8455 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"; then 8467 lt_prog_compiler_wl='-Wl,' 8468 lt_prog_compiler_static='-static' 8469 8470 case $host_os in 8471 aix*) 8472 # All AIX code is PIC. 8473 if test ia64 = "$host_cpu"; then 8474 # AIX 5 now supports IA64 processor 8475 lt_prog_compiler_static='-Bstatic' 8476 fi 8477 lt_prog_compiler_pic='-fPIC' 8478 ;; 8479 8480 amigaos*) 8481 case $host_cpu in 8482 powerpc) 8483 # see comment about AmigaOS4 .so support 8484 lt_prog_compiler_pic='-fPIC' 8485 ;; 8486 m68k) 8487 # FIXME: we need at least 68020 code to build shared libraries, but 8488 # 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 esac 8493 ;; 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 being 8501 # built for inclusion in a dll (and should export symbols for example). 8502 # Although the cygwin gcc ignores -fPIC, still need this for old-style 8503 # (--disable-auto-import) libraries 8504 lt_prog_compiler_pic='-DDLL_EXPORT' 8505 case $host_os in 8506 os2*) 8507 lt_prog_compiler_static='$wl-static' 8508 ;; 8509 esac 8510 ;; 8511 8512 darwin* | rhapsody*) 8513 # PIC is the default on this platform 8514 # Common symbols not allowed in MH_DYLIB files 8515 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-bit 8526 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 8527 # sets the default TLS model and affects inlining. 8528 case $host_cpu in 8529 hppa*64*) 8530 # +Z the default 8531 ;; 8532 *) 8533 lt_prog_compiler_pic='-fPIC' 8534 ;; 8535 esac 8536 ;; 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 libraries 8545 # on systems that don't support them. 8546 lt_prog_compiler_can_build_shared=no 8547 enable_shared=no 8548 ;; 8549 8550 *nto* | *qnx*) 8551 # QNX uses GNU C++, but need to define -shared option too, otherwise 8552 # it will coredump. 8553 lt_prog_compiler_pic='-fPIC -shared' 8554 ;; 8555 8556 sysv4*MP*) 8557 if test -d /usr/nec; then 8558 lt_prog_compiler_pic=-Kconform_pic 8559 fi 8560 ;; 8561 8562 *) 8563 lt_prog_compiler_pic='-fPIC' 8564 ;; 8565 esac 8566 8567 case $cc_basename in 8568 nvcc*) # Cuda Compiler Driver 2.2 8569 lt_prog_compiler_wl='-Xlinker ' 8570 if test -n "$lt_prog_compiler_pic"; then 8571 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" 8572 fi 8573 ;; 8574 esac 8575 else 8576 # PORTME Check for flag to pass linker flags through the system compiler. 8577 case $host_os in 8578 aix*) 8579 lt_prog_compiler_wl='-Wl,' 8580 if test ia64 = "$host_cpu"; then 8581 # AIX 5 now supports IA64 processor 8582 lt_prog_compiler_static='-Bstatic' 8583 else 8584 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' 8585 fi 8586 ;; 8587 8588 darwin* | rhapsody*) 8589 # PIC is the default on this platform 8590 # Common symbols not allowed in MH_DYLIB files 8591 lt_prog_compiler_pic='-fno-common' 8592 case $cc_basename in 8593 nagfor*) 8594 # NAG Fortran compiler 8595 lt_prog_compiler_wl='-Wl,-Wl,,' 8596 lt_prog_compiler_pic='-PIC' 8597 lt_prog_compiler_static='-Bstatic' 8598 ;; 8599 esac 8600 ;; 8601 8602 mingw* | cygwin* | pw32* | os2* | cegcc*) 8603 # This hack is so that the source file can tell whether it is being 8604 # built for inclusion in a dll (and should export symbols for example). 8605 lt_prog_compiler_pic='-DDLL_EXPORT' 8606 case $host_os in 8607 os2*) 8608 lt_prog_compiler_static='$wl-static' 8609 ;; 8610 esac 8611 ;; 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, but 8616 # not for PA HP-UX. 8617 case $host_cpu in 8618 hppa*64*|ia64*) 8619 # +Z the default 8620 ;; 8621 *) 8622 lt_prog_compiler_pic='+Z' 8623 ;; 8624 esac 8625 # 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 in 8637 # 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 compiler 8658 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 Compiler 8664 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 BlueGene 8682 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` in 8688 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) 8689 # Sun Fortran 8.3 passes all unrecognized flags to the linker 8690 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.9 8701 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 esac 8716 ;; 8717 esac 8718 ;; 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, otherwise 8727 # 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 in 8745 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 8746 lt_prog_compiler_wl='-Qoption ld ';; 8747 *) 8748 lt_prog_compiler_wl='-Wl,';; 8749 esac 8750 ;; 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; then 8766 lt_prog_compiler_pic='-Kconform_pic' 8767 lt_prog_compiler_static='-Bstatic' 8768 fi 8769 ;; 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=no 8780 ;; 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=no 8789 ;; 8790 esac 8791 fi 8792 8793 case $host_os in 8794 # 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 esac 8802 8803 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 8804 $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) " >&6 8807 else 8808 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic 8809 fi 8810 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 8811 $as_echo "$lt_cv_prog_compiler_pic" >&6; } 8812 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic 8813 8814 # 8815 # Check to make sure the PIC flag actually works. 8816 # 8817 if test -n "$lt_prog_compiler_pic"; then 8818 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 8819 $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) " >&6 8822 else 8823 lt_cv_prog_compiler_pic_works=no 8824 ac_outfile=conftest.$ac_objext 8825 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 8826 lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment 8827 # Insert the option either (1) after the last *FLAGS variable, or 8828 # (2) before a word containing "conftest.", or (3) at the end. 8829 # Note that $ac_compile itself does not contain backslashes and begins 8830 # 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 >&5 8840 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8841 if (exit $ac_status) && test -s "$ac_outfile"; then 8842 # The compiler can only warn and ignore the option if not recognized 8843 # So say no if there are warnings other than the usual output. 8844 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 8845 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 8846 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 8847 lt_cv_prog_compiler_pic_works=yes 8848 fi 8849 fi 8850 $RM conftest* 8851 8852 fi 8853 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 8854 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } 8855 8856 if test yes = "$lt_cv_prog_compiler_pic_works"; then 8857 case $lt_prog_compiler_pic in 8858 "" | " "*) ;; 8859 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; 8860 esac 8861 else 8862 lt_prog_compiler_pic= 8863 lt_prog_compiler_can_build_shared=no 8864 fi 8865 8866 fi 8867 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" >&5 8883 $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) " >&6 8886 else 8887 lt_cv_prog_compiler_static_works=no 8888 save_LDFLAGS=$LDFLAGS 8889 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" 8890 echo "$lt_simple_link_test_code" > conftest.$ac_ext 8891 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 8892 # The linker can only warn and ignore the option if not recognized 8893 # So say no if there are warnings 8894 if test -s conftest.err; then 8895 # Append any errors to the config.log. 8896 cat conftest.err 1>&5 8897 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 8898 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 8899 if diff conftest.exp conftest.er2 >/dev/null; then 8900 lt_cv_prog_compiler_static_works=yes 8901 fi 8902 else 8903 lt_cv_prog_compiler_static_works=yes 8904 fi 8905 fi 8906 $RM -r conftest* 8907 LDFLAGS=$save_LDFLAGS 8908 8909 fi 8910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 8911 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } 8912 8913 if test yes = "$lt_cv_prog_compiler_static_works"; then 8914 : 8915 else 8916 lt_prog_compiler_static= 8917 fi 8918 8919 8920 8921 8922 8923 8924 8925 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 8926 $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) " >&6 8929 else 8930 lt_cv_prog_compiler_c_o=no 8931 $RM -r conftest 2>/dev/null 8932 mkdir conftest 8933 cd conftest 8934 mkdir out 8935 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 8936 8937 lt_compiler_flag="-o out/conftest2.$ac_objext" 8938 # Insert the option either (1) after the last *FLAGS variable, or 8939 # (2) before a word containing "conftest.", or (3) at the end. 8940 # Note that $ac_compile itself does not contain backslashes and begins 8941 # 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 >&5 8950 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8951 if (exit $ac_status) && test -s out/conftest2.$ac_objext 8952 then 8953 # The compiler can only warn and ignore the option if not recognized 8954 # So say no if there are warnings 8955 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 8956 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 8957 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 8958 lt_cv_prog_compiler_c_o=yes 8959 fi 8960 fi 8961 chmod u+w . 2>&5 8962 $RM conftest* 8963 # SGI C++ compiler will create directory out/ii_files/ for 8964 # template instantiation 8965 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 8966 $RM out/* && rmdir out 8967 cd .. 8968 $RM -r conftest 8969 $RM conftest* 8970 8971 fi 8972 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 8973 $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" >&5 8981 $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) " >&6 8984 else 8985 lt_cv_prog_compiler_c_o=no 8986 $RM -r conftest 2>/dev/null 8987 mkdir conftest 8988 cd conftest 8989 mkdir out 8990 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 8991 8992 lt_compiler_flag="-o out/conftest2.$ac_objext" 8993 # Insert the option either (1) after the last *FLAGS variable, or 8994 # (2) before a word containing "conftest.", or (3) at the end. 8995 # Note that $ac_compile itself does not contain backslashes and begins 8996 # 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 >&5 9005 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9006 if (exit $ac_status) && test -s out/conftest2.$ac_objext 9007 then 9008 # The compiler can only warn and ignore the option if not recognized 9009 # So say no if there are warnings 9010 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 9011 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 9012 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 9013 lt_cv_prog_compiler_c_o=yes 9014 fi 9015 fi 9016 chmod u+w . 2>&5 9017 $RM conftest* 9018 # SGI C++ compiler will create directory out/ii_files/ for 9019 # template instantiation 9020 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 9021 $RM out/* && rmdir out 9022 cd .. 9023 $RM -r conftest 9024 $RM conftest* 9025 9026 fi 9027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 9028 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } 9029 9030 9031 9032 9033 hard_links=nottested 9034 if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then 9035 # do not overwrite the value of need_locks provided by the user 9036 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 9037 $as_echo_n "checking if we can lock with hard links... " >&6; } 9038 hard_links=yes 9039 $RM conftest* 9040 ln conftest.a conftest.b 2>/dev/null && hard_links=no 9041 touch conftest.a 9042 ln conftest.a conftest.b 2>&5 || hard_links=no 9043 ln conftest.a conftest.b 2>/dev/null && hard_links=no 9044 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 9045 $as_echo "$hard_links" >&6; } 9046 if test no = "$hard_links"; then 9047 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 9048 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} 9049 need_locks=warn 9050 fi 9051 else 9052 need_locks=no 9053 fi 9054 9055 9056 9057 9058 9059 9060 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 9061 $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=no 9066 archive_cmds= 9067 archive_expsym_cmds= 9068 compiler_needs_object=no 9069 enable_shared_with_static_runtimes=no 9070 export_dynamic_flag_spec= 9071 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 9072 hardcode_automatic=no 9073 hardcode_direct=no 9074 hardcode_direct_absolute=no 9075 hardcode_libdir_flag_spec= 9076 hardcode_libdir_separator= 9077 hardcode_minus_L=no 9078 hardcode_shlibpath_var=unsupported 9079 inherit_rpath=no 9080 link_all_deplibs=unknown 9081 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 list 9089 include_expsyms= 9090 # exclude_expsyms can be an extended regexp of symbols to exclude 9091 # it will be wrapped by ' (' and ')$', so one must not match beginning or 9092 # 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.out 9096 # platforms (ab)use it in PIC code, but their linkers get confused if 9097 # the symbol is explicitly referenced. Since portable code cannot 9098 # rely on this symbol name, it's probably fine to never include it in 9099 # preloaded symbol tables. 9100 # Exclude shared library initialization/finalization symbols. 9101 extract_expsyms_cmds= 9102 9103 case $host_os in 9104 cygwin* | mingw* | pw32* | cegcc*) 9105 # FIXME: the MSVC++ port hasn't been tested in a loooong time 9106 # When not using gcc, we currently assume that we are using 9107 # Microsoft Visual C++. 9108 if test yes != "$GCC"; then 9109 with_gnu_ld=no 9110 fi 9111 ;; 9112 interix*) 9113 # we just hope/assume this is gcc and not c89 (= MSVC++) 9114 with_gnu_ld=yes 9115 ;; 9116 openbsd* | bitrig*) 9117 with_gnu_ld=no 9118 ;; 9119 linux* | k*bsd*-gnu | gnu*) 9120 link_all_deplibs=no 9121 ;; 9122 esac 9123 9124 ld_shlibs=yes 9125 9126 # On some targets, GNU ld is compatible enough with the native linker 9127 # that we're better off using the native interface for both. 9128 lt_use_gnu_ld_interface=no 9129 if test yes = "$with_gnu_ld"; then 9130 case $host_os in 9131 aix*) 9132 # The AIX port of GNU ld has always aspired to compatibility 9133 # with the native linker. However, as the warning in the GNU ld 9134 # block says, versions before 2.19.5* couldn't really create working 9135 # shared libraries, regardless of the interface used. 9136 case `$LD -v 2>&1` in 9137 *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 9138 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; 9139 *\ \(GNU\ Binutils\)\ [3-9]*) ;; 9140 *) 9141 lt_use_gnu_ld_interface=yes 9142 ;; 9143 esac 9144 ;; 9145 *) 9146 lt_use_gnu_ld_interface=yes 9147 ;; 9148 esac 9149 fi 9150 9151 if test yes = "$lt_use_gnu_ld_interface"; then 9152 # If archive_cmds runs LD, not CC, wlarc should be empty 9153 wlarc='$wl' 9154 9155 # Set some defaults for GNU ld with shared library support. These 9156 # are reset later if shared libraries are not supported. Putting them 9157 # here allows them to be overridden if necessary. 9158 runpath_var=LD_RUN_PATH 9159 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; then 9163 whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 9164 else 9165 whole_archive_flag_spec= 9166 fi 9167 supports_anon_versioning=no 9168 case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in 9169 *GNU\ gold*) supports_anon_versioning=yes ;; 9170 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 9171 *\ 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 versions 9174 *) supports_anon_versioning=yes ;; 9175 esac 9176 9177 # See if GNU ld supports shared libraries. 9178 case $host_os in 9179 aix[3-9]*) 9180 # On AIX/PPC, the GNU linker is very broken 9181 if test ia64 != "$host_cpu"; then 9182 ld_shlibs=no 9183 cat <<_LT_EOF 1>&2 9184 9185 *** Warning: the GNU linker, at least up to release 2.19, is reported 9186 *** to be unable to reliably create shared libraries on AIX. 9187 *** Therefore, libtool is disabling shared libraries support. If you 9188 *** really care for shared libraries, you may want to install binutils 9189 *** 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_EOF 9193 fi 9194 ;; 9195 9196 amigaos*) 9197 case $host_cpu in 9198 powerpc) 9199 # see comment about AmigaOS4 .so support 9200 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=yes 9207 ;; 9208 esac 9209 ;; 9210 9211 beos*) 9212 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 9213 allow_undefined_flag=unsupported 9214 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 9215 # support --undefined. This deserves some investigation. FIXME 9216 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 9217 else 9218 ld_shlibs=no 9219 fi 9220 ;; 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=unsupported 9228 always_export_symbols=no 9229 enable_shared_with_static_runtimes=yes 9230 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; then 9234 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 as 9236 # 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`" ; then 9238 cp $export_symbols $output_objdir/$soname.def; 9239 else 9240 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 else 9245 ld_shlibs=no 9246 fi 9247 ;; 9248 9249 haiku*) 9250 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 9251 link_all_deplibs=yes 9252 ;; 9253 9254 os2*) 9255 hardcode_libdir_flag_spec='-L$libdir' 9256 hardcode_minus_L=yes 9257 allow_undefined_flag=unsupported 9258 shrext_cmds=.dll 9259 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`"; then 9272 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=yes 9280 ;; 9281 9282 interix[3-9]*) 9283 hardcode_direct=no 9284 hardcode_shlibpath_var=no 9285 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 by 9289 # default) and relocated if they conflict, which is a slow very memory 9290 # consuming and fragmenting process. To avoid this, we pick a random, 9291 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 9292 # 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=no 9299 if test linux-dietlibc = "$host_os"; then 9300 case $cc_basename in 9301 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 9302 esac 9303 fi 9304 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 9305 && test no = "$tmp_diet" 9306 then 9307 tmp_addflag=' $pic_flag' 9308 tmp_sharedflag='-shared' 9309 case $cc_basename,$host_cpu in 9310 pgcc*) # Portland Group C compiler 9311 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 compilers 9316 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 ia64 9319 tmp_addflag=' -i_dynamic' ;; 9320 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 9321 tmp_addflag=' -i_dynamic -nofor_main' ;; 9322 ifc* | ifort*) # Intel Fortran compiler 9323 tmp_addflag=' -nofor_main' ;; 9324 lf95*) # Lahey Fortran 8.1 9325 whole_archive_flag_spec= 9326 tmp_sharedflag='--shared' ;; 9327 nagfor*) # NAGFOR 5.3 9328 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.2 9333 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=yes 9335 ;; 9336 esac 9337 case `$CC -V 2>&1 | sed 5q` in 9338 *Sun\ C*) # Sun C 5.9 9339 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=yes 9341 tmp_sharedflag='-G' ;; 9342 *Sun\ F*) # Sun Fortran 8.3 9343 tmp_sharedflag='-G' ;; 9344 esac 9345 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"; then 9348 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 fi 9353 9354 case $cc_basename in 9355 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 itself 9360 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"; then 9364 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 fi 9369 ;; 9370 esac 9371 else 9372 ld_shlibs=no 9373 fi 9374 ;; 9375 9376 netbsd* | netbsdelf*-gnu) 9377 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 9378 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 9379 wlarc= 9380 else 9381 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 fi 9384 ;; 9385 9386 solaris*) 9387 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 9388 ld_shlibs=no 9389 cat <<_LT_EOF 1>&2 9390 9391 *** Warning: The releases 2.8.* of the GNU linker cannot reliably 9392 *** create shared libraries on Solaris systems. Therefore, libtool 9393 *** is disabling shared libraries support. We urge you to upgrade GNU 9394 *** binutils to release 2.9.1 or newer. Another option is to modify 9395 *** your PATH or compiler configuration so that the native linker is 9396 *** used, and then restart. 9397 9398 _LT_EOF 9399 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 9400 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 else 9403 ld_shlibs=no 9404 fi 9405 ;; 9406 9407 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 9408 case `$LD -v 2>&1` in 9409 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) 9410 ld_shlibs=no 9411 cat <<_LT_EOF 1>&2 9412 9413 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 9414 *** reliably create shared libraries on SCO systems. Therefore, libtool 9415 *** is disabling shared libraries support. We urge you to upgrade GNU 9416 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify 9417 *** your PATH or compiler configuration so that the native linker is 9418 *** used, and then restart. 9419 9420 _LT_EOF 9421 ;; 9422 *) 9423 # For security reasons, it is highly recommended that you always 9424 # use absolute paths for naming shared libraries, and exclude the 9425 # DT_RUNPATH tag from executables and libraries. But doing so 9426 # requires that you compile everything twice, which is a pain. 9427 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 9428 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 else 9432 ld_shlibs=no 9433 fi 9434 ;; 9435 esac 9436 ;; 9437 9438 sunos4*) 9439 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 9440 wlarc= 9441 hardcode_direct=yes 9442 hardcode_shlibpath_var=no 9443 ;; 9444 9445 *) 9446 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 9447 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 else 9450 ld_shlibs=no 9451 fi 9452 ;; 9453 esac 9454 9455 if test no = "$ld_shlibs"; then 9456 runpath_var= 9457 hardcode_libdir_flag_spec= 9458 export_dynamic_flag_spec= 9459 whole_archive_flag_spec= 9460 fi 9461 else 9462 # PORTME fill in a description of your system's linker (not GNU ld) 9463 case $host_os in 9464 aix3*) 9465 allow_undefined_flag=unsupported 9466 always_export_symbols=yes 9467 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 there 9469 # are no directories specified by -L. 9470 hardcode_minus_L=yes 9471 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 9472 # Neither direct hardcoding nor static linking is supported with a 9473 # broken collect2. 9474 hardcode_direct=unsupported 9475 fi 9476 ;; 9477 9478 aix[4-9]*) 9479 if test ia64 = "$host_cpu"; then 9480 # On IA64, the linker does run time linking by default, so we don't 9481 # have to do anything special. 9482 aix_use_runtimelinking=no 9483 exp_sym_flag='-Bexport' 9484 no_entry_flag= 9485 else 9486 # 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 treats 9489 # weak defined symbols like other global defined symbols, whereas 9490 # GNU nm marks them as "W". 9491 # While the 'weak' keyword is ignored in the Export File, we need 9492 # it in the Import File for the 'aix-soname' feature, so we have 9493 # to replace the "-B" option with "-P" for AIX nm. 9494 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 9495 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 else 9497 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 fi 9499 aix_use_runtimelinking=no 9500 9501 # Test if we are trying to use run time linking or normal 9502 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 9503 # have runtime linking enabled, and use it for executables. 9504 # For shared libraries, we enable/disable runtime linking 9505 # 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 executables 9508 # "aix,yes" lib.so shared, rtl:yes, for executables 9509 # lib.a static archive 9510 # "both,no" lib.so.V(shr.o) shared, rtl:yes 9511 # lib.a(lib.so.V) shared, rtl:no, for executables 9512 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 9513 # lib.a(lib.so.V) shared, rtl:no 9514 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 9515 # lib.a static archive 9516 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) 9517 for ld_flag in $LDFLAGS; do 9518 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 9519 aix_use_runtimelinking=yes 9520 break 9521 fi 9522 done 9523 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 9524 # 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=yes 9528 LDFLAGS="$LDFLAGS -Wl,-brtl" 9529 fi 9530 ;; 9531 esac 9532 9533 exp_sym_flag='-bexport' 9534 no_entry_flag='-bnoentry' 9535 fi 9536 9537 # When large executables or shared objects are built, AIX ld can 9538 # have problems creating the table of contents. If linking a library 9539 # or program results in "error TOC overflow" add -mminimal-toc to 9540 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 9541 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 9542 9543 archive_cmds='' 9544 hardcode_direct=yes 9545 hardcode_direct_absolute=yes 9546 hardcode_libdir_separator=':' 9547 link_all_deplibs=yes 9548 file_list_spec='$wl-f,' 9549 case $with_aix_soname,$aix_use_runtimelinking in 9550 aix,*) ;; # traditional, no import file 9551 svr4,* | *,yes) # use import file 9552 # The Import File defines what to hardcode. 9553 hardcode_direct=no 9554 hardcode_direct_absolute=no 9555 ;; 9556 esac 9557 9558 if test yes = "$GCC"; then 9559 case $host_os in aix4.[012]|aix4.[012].*) 9560 # We only want to do this on AIX 4.2 and lower, the check 9561 # 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/null 9565 then 9566 # We have reworked collect2 9567 : 9568 else 9569 # We have old collect2 9570 hardcode_direct=unsupported 9571 # It fails to find uninstalled libraries when the uninstalled 9572 # path is not listed in the libpath. Setting hardcode_minus_L 9573 # to unsupported forces relinking 9574 hardcode_minus_L=yes 9575 hardcode_libdir_flag_spec='-L$libdir' 9576 hardcode_libdir_separator= 9577 fi 9578 ;; 9579 esac 9580 shared_flag='-shared' 9581 if test yes = "$aix_use_runtimelinking"; then 9582 shared_flag="$shared_flag "'$wl-G' 9583 fi 9584 # Need to ensure runtime linking is disabled for the traditional 9585 # shared library, or the linker may eventually find shared libraries 9586 # /with/ Import File - we do not want to mix them. 9587 shared_flag_aix='-shared' 9588 shared_flag_svr4='-shared $wl-G' 9589 else 9590 # not using gcc 9591 if test ia64 = "$host_cpu"; then 9592 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 9593 # chokes on -Wl,-G. The following line is correct: 9594 shared_flag='-G' 9595 else 9596 if test yes = "$aix_use_runtimelinking"; then 9597 shared_flag='$wl-G' 9598 else 9599 shared_flag='$wl-bM:SRE' 9600 fi 9601 shared_flag_aix='$wl-bM:SRE' 9602 shared_flag_svr4='$wl-G' 9603 fi 9604 fi 9605 9606 export_dynamic_flag_spec='$wl-bexpall' 9607 # It seems that -bexpall does not export symbols beginning with 9608 # underscore (_), so it is better to generate a list of symbols to export. 9609 always_export_symbols=yes 9610 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 9611 # 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 an 9615 # empty executable. 9616 if test set = "${lt_cv_aix_libpath+set}"; then 9617 aix_libpath=$lt_cv_aix_libpath 9618 else 9619 if ${lt_cv_aix_libpath_+:} false; then : 9620 $as_echo_n "(cached) " >&6 9621 else 9622 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 9623 /* end confdefs.h. */ 9624 9625 int 9626 main () 9627 { 9628 9629 ; 9630 return 0; 9631 } 9632 _ACEOF 9633 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 p 9640 } 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_"; then 9645 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 9646 fi 9647 fi 9648 rm -f core conftest.err conftest.$ac_objext \ 9649 conftest$ac_exeext conftest.$ac_ext 9650 if test -z "$lt_cv_aix_libpath_"; then 9651 lt_cv_aix_libpath_=/usr/lib:/lib 9652 fi 9653 9654 fi 9655 9656 aix_libpath=$lt_cv_aix_libpath_ 9657 fi 9658 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_flag 9661 else 9662 if test ia64 = "$host_cpu"; then 9663 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 else 9667 # Determine the default libpath from the value encoded in an 9668 # empty executable. 9669 if test set = "${lt_cv_aix_libpath+set}"; then 9670 aix_libpath=$lt_cv_aix_libpath 9671 else 9672 if ${lt_cv_aix_libpath_+:} false; then : 9673 $as_echo_n "(cached) " >&6 9674 else 9675 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 9676 /* end confdefs.h. */ 9677 9678 int 9679 main () 9680 { 9681 9682 ; 9683 return 0; 9684 } 9685 _ACEOF 9686 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 p 9693 } 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_"; then 9698 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 9699 fi 9700 fi 9701 rm -f core conftest.err conftest.$ac_objext \ 9702 conftest$ac_exeext conftest.$ac_ext 9703 if test -z "$lt_cv_aix_libpath_"; then 9704 lt_cv_aix_libpath_=/usr/lib:/lib 9705 fi 9706 9707 fi 9708 9709 aix_libpath=$lt_cv_aix_libpath_ 9710 fi 9711 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"; then 9718 # 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 else 9721 # Exported symbols can be pulled into shared objects from archives 9722 whole_archive_flag_spec='$convenience' 9723 fi 9724 archive_cmds_need_lc=yes 9725 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 later 9727 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' 9728 if test svr4 != "$with_aix_soname"; then 9729 # 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 fi 9732 if test aix != "$with_aix_soname"; then 9733 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 else 9735 # used by -dlpreopen to get the symbols 9736 archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 9737 fi 9738 archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' 9739 fi 9740 fi 9741 ;; 9742 9743 amigaos*) 9744 case $host_cpu in 9745 powerpc) 9746 # see comment about AmigaOS4 .so support 9747 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=yes 9754 ;; 9755 esac 9756 ;; 9757 9758 bsdi[45]*) 9759 export_dynamic_flag_spec=-rdynamic 9760 ;; 9761 9762 cygwin* | mingw* | pw32* | cegcc*) 9763 # When not using gcc, we currently assume that we are using 9764 # Microsoft Visual C++. 9765 # hardcode_libdir_flag_spec is actually meaningless, as there is 9766 # no search path for DLLs. 9767 case $cc_basename in 9768 cl*) 9769 # Native MSVC 9770 hardcode_libdir_flag_spec=' ' 9771 allow_undefined_flag=unsupported 9772 always_export_symbols=yes 9773 file_list_spec='@' 9774 # Tell ltmain to make .lib files, not .a files. 9775 libext=lib 9776 # Tell ltmain to make .dll files, not .so files. 9777 shrext_cmds=.dll 9778 # 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`" ; then 9781 cp "$export_symbols" "$output_objdir/$soname.def"; 9782 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 9783 else 9784 $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=yes 9791 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 ranlib 9794 old_postinstall_cmds='chmod 644 $oldlib' 9795 postlink_cmds='lt_outputfile="@OUTPUT@"~ 9796 lt_tool_outputfile="@TOOL_OUTPUT@"~ 9797 case $lt_outputfile in 9798 *.exe|*.EXE) ;; 9799 *) 9800 lt_outputfile=$lt_outputfile.exe 9801 lt_tool_outputfile=$lt_tool_outputfile.exe 9802 ;; 9803 esac~ 9804 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 9805 $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 wrapper 9811 hardcode_libdir_flag_spec=' ' 9812 allow_undefined_flag=unsupported 9813 # Tell ltmain to make .lib files, not .a files. 9814 libext=lib 9815 # Tell ltmain to make .dll files, not .so files. 9816 shrext_cmds=.dll 9817 # 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=yes 9824 ;; 9825 esac 9826 ;; 9827 9828 darwin* | rhapsody*) 9829 9830 9831 archive_cmds_need_lc=no 9832 hardcode_direct=no 9833 hardcode_automatic=yes 9834 hardcode_shlibpath_var=unsupported 9835 if test yes = "$lt_cv_ld_force_load"; then 9836 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 else 9839 whole_archive_flag_spec='' 9840 fi 9841 link_all_deplibs=yes 9842 allow_undefined_flag=$_lt_dar_allow_undefined 9843 case $cc_basename in 9844 ifort*|nagfor*) _lt_dar_can_shared=yes ;; 9845 *) _lt_dar_can_shared=$GCC ;; 9846 esac 9847 if test yes = "$_lt_dar_can_shared"; then 9848 output_verbose_link_cmd=func_echo_all 9849 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 else 9855 ld_shlibs=no 9856 fi 9857 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=no 9864 ;; 9865 9866 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 9867 # support. Future versions do this automatically, but an explicit c++rt0.o 9868 # does not break anything, and helps significantly (at the cost of a little 9869 # 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=yes 9874 hardcode_shlibpath_var=no 9875 ;; 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=yes 9881 hardcode_minus_L=yes 9882 hardcode_shlibpath_var=no 9883 ;; 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=yes 9890 hardcode_shlibpath_var=no 9891 ;; 9892 9893 hpux9*) 9894 if test yes = "$GCC"; then 9895 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 else 9897 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 fi 9899 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 9900 hardcode_libdir_separator=: 9901 hardcode_direct=yes 9902 9903 # hardcode_minus_L: Not really in the search PATH, 9904 # but as the default location of the library. 9905 hardcode_minus_L=yes 9906 export_dynamic_flag_spec='$wl-E' 9907 ;; 9908 9909 hpux10*) 9910 if test yes,no = "$GCC,$with_gnu_ld"; then 9911 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 9912 else 9913 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 9914 fi 9915 if test no = "$with_gnu_ld"; then 9916 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 9917 hardcode_libdir_separator=: 9918 hardcode_direct=yes 9919 hardcode_direct_absolute=yes 9920 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=yes 9924 fi 9925 ;; 9926 9927 hpux11*) 9928 if test yes,no = "$GCC,$with_gnu_ld"; then 9929 case $host_cpu in 9930 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 esac 9940 else 9941 case $host_cpu in 9942 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 yet 9951 # (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" >&5 9953 $as_echo_n "checking if $CC understands -b... " >&6; } 9954 if ${lt_cv_prog_compiler__b+:} false; then : 9955 $as_echo_n "(cached) " >&6 9956 else 9957 lt_cv_prog_compiler__b=no 9958 save_LDFLAGS=$LDFLAGS 9959 LDFLAGS="$LDFLAGS -b" 9960 echo "$lt_simple_link_test_code" > conftest.$ac_ext 9961 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 9962 # The linker can only warn and ignore the option if not recognized 9963 # So say no if there are warnings 9964 if test -s conftest.err; then 9965 # Append any errors to the config.log. 9966 cat conftest.err 1>&5 9967 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 9968 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 9969 if diff conftest.exp conftest.er2 >/dev/null; then 9970 lt_cv_prog_compiler__b=yes 9971 fi 9972 else 9973 lt_cv_prog_compiler__b=yes 9974 fi 9975 fi 9976 $RM -r conftest* 9977 LDFLAGS=$save_LDFLAGS 9978 9979 fi 9980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 9981 $as_echo "$lt_cv_prog_compiler__b" >&6; } 9982 9983 if test yes = "$lt_cv_prog_compiler__b"; then 9984 archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 9985 else 9986 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 9987 fi 9988 9989 ;; 9990 esac 9991 fi 9992 if test no = "$with_gnu_ld"; then 9993 hardcode_libdir_flag_spec='$wl+b $wl$libdir' 9994 hardcode_libdir_separator=: 9995 9996 case $host_cpu in 9997 hppa*64*|ia64*) 9998 hardcode_direct=no 9999 hardcode_shlibpath_var=no 10000 ;; 10001 *) 10002 hardcode_direct=yes 10003 hardcode_direct_absolute=yes 10004 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=yes 10009 ;; 10010 esac 10011 fi 10012 ;; 10013 10014 irix5* | irix6* | nonstopux*) 10015 if test yes = "$GCC"; then 10016 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 not 10018 # work, assume that -exports_file does not work either and 10019 # 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" >&5 10022 $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) " >&6 10025 else 10026 save_LDFLAGS=$LDFLAGS 10027 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 10028 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 10029 /* end confdefs.h. */ 10030 int foo (void) { return 0; } 10031 _ACEOF 10032 if ac_fn_c_try_link "$LINENO"; then : 10033 lt_cv_irix_exported_symbol=yes 10034 else 10035 lt_cv_irix_exported_symbol=no 10036 fi 10037 rm -f core conftest.err conftest.$ac_objext \ 10038 conftest$ac_exeext conftest.$ac_ext 10039 LDFLAGS=$save_LDFLAGS 10040 fi 10041 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 10042 $as_echo "$lt_cv_irix_exported_symbol" >&6; } 10043 if test yes = "$lt_cv_irix_exported_symbol"; then 10044 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 fi 10046 link_all_deplibs=no 10047 else 10048 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 fi 10051 archive_cmds_need_lc='no' 10052 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' 10053 hardcode_libdir_separator=: 10054 inherit_rpath=yes 10055 link_all_deplibs=yes 10056 ;; 10057 10058 linux*) 10059 case $cc_basename in 10060 tcc*) 10061 # Fabrice Bellard et al's Tiny C Compiler 10062 ld_shlibs=yes 10063 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 10064 ;; 10065 esac 10066 ;; 10067 10068 netbsd* | netbsdelf*-gnu) 10069 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 10070 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 10071 else 10072 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 10073 fi 10074 hardcode_libdir_flag_spec='-R$libdir' 10075 hardcode_direct=yes 10076 hardcode_shlibpath_var=no 10077 ;; 10078 10079 newsos6) 10080 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 10081 hardcode_direct=yes 10082 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' 10083 hardcode_libdir_separator=: 10084 hardcode_shlibpath_var=no 10085 ;; 10086 10087 *nto* | *qnx*) 10088 ;; 10089 10090 openbsd* | bitrig*) 10091 if test -f /usr/libexec/ld.so; then 10092 hardcode_direct=yes 10093 hardcode_shlibpath_var=no 10094 hardcode_direct_absolute=yes 10095 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 10096 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 else 10101 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 10102 hardcode_libdir_flag_spec='$wl-rpath,$libdir' 10103 fi 10104 else 10105 ld_shlibs=no 10106 fi 10107 ;; 10108 10109 os2*) 10110 hardcode_libdir_flag_spec='-L$libdir' 10111 hardcode_minus_L=yes 10112 allow_undefined_flag=unsupported 10113 shrext_cmds=.dll 10114 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`"; then 10127 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=yes 10135 ;; 10136 10137 osf3*) 10138 if test yes = "$GCC"; then 10139 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 else 10142 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 fi 10145 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 flag 10151 if test yes = "$GCC"; then 10152 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 else 10156 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 directly 10162 hardcode_libdir_flag_spec='-rpath $libdir' 10163 fi 10164 archive_cmds_need_lc='no' 10165 hardcode_libdir_separator=: 10166 ;; 10167 10168 solaris*) 10169 no_undefined_flag=' -z defs' 10170 if test yes = "$GCC"; then 10171 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 else 10176 case `$CC -V 2>&1` in 10177 *"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 esac 10190 fi 10191 hardcode_libdir_flag_spec='-R$libdir' 10192 hardcode_shlibpath_var=no 10193 case $host_os in 10194 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"; then 10201 whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 10202 else 10203 whole_archive_flag_spec='-z allextract$convenience -z defaultextract' 10204 fi 10205 ;; 10206 esac 10207 link_all_deplibs=yes 10208 ;; 10209 10210 sunos4*) 10211 if test sequent = "$host_vendor"; then 10212 # Use $CC to link under sequent, because it throws in some extra .o 10213 # files that make .init and .fini sections work. 10214 archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 10215 else 10216 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 10217 fi 10218 hardcode_libdir_flag_spec='-L$libdir' 10219 hardcode_direct=yes 10220 hardcode_minus_L=yes 10221 hardcode_shlibpath_var=no 10222 ;; 10223 10224 sysv4) 10225 case $host_vendor in 10226 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 PLAMLIB 10232 ## 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=no 10236 ;; 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 lie 10240 ;; 10241 esac 10242 runpath_var='LD_RUN_PATH' 10243 hardcode_shlibpath_var=no 10244 ;; 10245 10246 sysv4.3*) 10247 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 10248 hardcode_shlibpath_var=no 10249 export_dynamic_flag_spec='-Bexport' 10250 ;; 10251 10252 sysv4*MP*) 10253 if test -d /usr/nec; then 10254 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 10255 hardcode_shlibpath_var=no 10256 runpath_var=LD_RUN_PATH 10257 hardcode_runpath_var=yes 10258 ld_shlibs=yes 10259 fi 10260 ;; 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=no 10265 hardcode_shlibpath_var=no 10266 runpath_var='LD_RUN_PATH' 10267 10268 if test yes = "$GCC"; then 10269 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 else 10272 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 fi 10275 ;; 10276 10277 sysv5* | sco3.2v5* | sco5v6*) 10278 # Note: We CANNOT use -z defs as we might desire, because we do not 10279 # link with -lc, and that would cause any symbols used from libc to 10280 # always be unresolved, which means just about no library would 10281 # ever link correctly. If we're not using GNU ld we use -z text 10282 # though, which does catch some bad symbols but isn't as heavy-handed 10283 # as -z defs. 10284 no_undefined_flag='$wl-z,text' 10285 allow_undefined_flag='$wl-z,nodefs' 10286 archive_cmds_need_lc=no 10287 hardcode_shlibpath_var=no 10288 hardcode_libdir_flag_spec='$wl-R,$libdir' 10289 hardcode_libdir_separator=':' 10290 link_all_deplibs=yes 10291 export_dynamic_flag_spec='$wl-Bexport' 10292 runpath_var='LD_RUN_PATH' 10293 10294 if test yes = "$GCC"; then 10295 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 else 10298 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 fi 10301 ;; 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=no 10307 ;; 10308 10309 *) 10310 ld_shlibs=no 10311 ;; 10312 esac 10313 10314 if test sni = "$host_vendor"; then 10315 case $host in 10316 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 10317 export_dynamic_flag_spec='$wl-Blargedynsym' 10318 ;; 10319 esac 10320 fi 10321 fi 10322 10323 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 10324 $as_echo "$ld_shlibs" >&6; } 10325 test no = "$ld_shlibs" && can_build_shared=no 10326 10327 with_gnu_ld=$with_gnu_ld 10328 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" in 10347 x|xyes) 10348 # Assume -lc should be added 10349 archive_cmds_need_lc=yes 10350 10351 if test yes,yes = "$GCC,$enable_shared"; then 10352 case $archive_cmds in 10353 *'~'*) 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 some 10358 # systems, -lgcc has to come before -lc. If gcc already passes -lc 10359 # to ld, don't add -lc before -lgcc. 10360 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 10361 $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) " >&6 10364 else 10365 $RM conftest* 10366 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 10367 10368 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 10369 (eval $ac_compile) 2>&5 10370 ac_status=$? 10371 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 10372 test $ac_status = 0; } 2>conftest.err; then 10373 soname=conftest 10374 lib=conftest 10375 libobjs=conftest.$ac_objext 10376 deplibs= 10377 wl=$lt_prog_compiler_wl 10378 pic_flag=$lt_prog_compiler_pic 10379 compiler_flags=-v 10380 linker_flags=-v 10381 verstring= 10382 output_objdir=. 10383 libname=conftest 10384 lt_save_allow_undefined_flag=$allow_undefined_flag 10385 allow_undefined_flag= 10386 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 10387 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 10388 ac_status=$? 10389 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 10390 test $ac_status = 0; } 10391 then 10392 lt_cv_archive_cmds_need_lc=no 10393 else 10394 lt_cv_archive_cmds_need_lc=yes 10395 fi 10396 allow_undefined_flag=$lt_save_allow_undefined_flag 10397 else 10398 cat conftest.err 1>&5 10399 fi 10400 $RM conftest* 10401 10402 fi 10403 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 10404 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } 10405 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc 10406 ;; 10407 esac 10408 fi 10409 ;; 10410 esac 10411 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" >&5 10564 $as_echo_n "checking dynamic linker characteristics... " >&6; } 10565 10566 if test yes = "$GCC"; then 10567 case $host_os in 10568 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 10569 *) lt_awk_arg='/^libraries:/' ;; 10570 esac 10571 case $host_os in 10572 mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; 10573 *) lt_sed_strip_eq='s|=/|/|g' ;; 10574 esac 10575 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 in 10577 *\;*) 10578 # if the path contains ";" then we assume it to be the separator 10579 # otherwise default to the standard path separator (i.e. ":") - it is 10580 # assumed that no part of a normal pathname contains ";" but that should 10581 # 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 esac 10588 # Ok, now we have the path, separated by spaces, we can step through it 10589 # 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 assume 10593 # 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 " in 10595 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 10596 lt_multi_os_dir= 10597 ;; 10598 esac 10599 for lt_sys_path in $lt_search_path_spec; do 10600 if test -d "$lt_sys_path$lt_multi_os_dir"; then 10601 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"; then 10603 test -d "$lt_sys_path" && \ 10604 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 10605 fi 10606 done 10607 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/paths 10628 # for these hosts. 10629 case $host_os in 10630 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 10631 $SED 's|/\([A-Za-z]:\)|\1|g'` ;; 10632 esac 10633 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 10634 else 10635 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 10636 fi 10637 library_names_spec= 10638 libname_spec='lib$name' 10639 soname_spec= 10640 shrext_cmds=.so 10641 postinstall_cmds= 10642 postuninstall_cmds= 10643 finish_cmds= 10644 finish_eval= 10645 shlibpath_var= 10646 shlibpath_overrides_runpath=unknown 10647 version_type=none 10648 dynamic_linker="$host_os ld.so" 10649 sys_lib_dlsearch_path_spec="/lib /usr/lib" 10650 need_lib_prefix=unknown 10651 hardcode_into_libs=no 10652 10653 # when you set need_version to no, make sure it does not cause -set_version 10654 # flags to be left without arguments 10655 need_version=unknown 10656 10657 10658 10659 case $host_os in 10660 aix3*) 10661 version_type=linux # correct to gnu/linux during the next big refactor 10662 library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 10663 shlibpath_var=LIBPATH 10664 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 refactor 10671 need_lib_prefix=no 10672 need_version=no 10673 hardcode_into_libs=yes 10674 if test ia64 = "$host_cpu"; then 10675 # AIX 5 supports IA64 10676 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 10677 shlibpath_var=LD_LIBRARY_PATH 10678 else 10679 # With GCC up to 2.95.x, collect2 would create an import file 10680 # for dependence libraries. The import file would start with 10681 # the line '#! .'. This would cause the generated library to 10682 # depend on '.', always an invalid library. This was fixed in 10683 # development snapshots of GCC prior to 3.0. 10684 case $host_os in 10685 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; then 10689 : 10690 else 10691 can_build_shared=no 10692 fi 10693 ;; 10694 esac 10695 # Using Import Files as archive members, it is possible to support 10696 # filename-based versioning of shared library archives on AIX. While 10697 # this would work for both with and without runtime linking, it will 10698 # prevent static linking of such archives. So we do filename-based 10699 # shared library versioning with .so extension only, which is used 10700 # when both runtime linking and shared linking is enabled. 10701 # Unfortunately, runtime linking may impact performance, so we do 10702 # not want this to be the default eventually. Also, we use the 10703 # versioned .so libs for executables only if there is the -brtl 10704 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 10705 # To allow for filename-based versioning support, we need to create 10706 # libNAME.so.V as an archive file, containing: 10707 # *) an Import File, referring to the versioned filename of the 10708 # archive as well as the shared archive member, telling the 10709 # bitwidth (32 or 64) of that shared object, and providing the 10710 # list of exported symbols of that shared object, eventually 10711 # decorated with the 'weak' keyword 10712 # *) the shared object with the F_LOADONLY flag set, to really avoid 10713 # 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.V 10716 10717 case $with_aix_soname,$aix_use_runtimelinking in 10718 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 10719 # soname into executable. Probably we can add versioning support to 10720 # collect2, so additional links can be useful in future. 10721 aix,yes) # traditional libtool 10722 dynamic_linker='AIX unversionable lib.so' 10723 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 10724 # instead of lib<name>.a to let people know that these are not 10725 # 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 only 10729 dynamic_linker='AIX lib.a(lib.so.V)' 10730 # We preserve .a as extension for shared libraries through AIX4.2 10731 # 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 only 10736 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=yes 10740 ;; 10741 *,yes) # both, prefer svr4 10742 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 handling 10745 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=yes 10749 ;; 10750 *,no) # both, prefer aix 10751 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 handling 10755 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 esac 10759 shlibpath_var=LIBPATH 10760 fi 10761 ;; 10762 10763 amigaos*) 10764 case $host_cpu in 10765 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 esac 10776 ;; 10777 10778 beos*) 10779 library_names_spec='$libname$shared_ext' 10780 dynamic_linker="$host_os ld.so" 10781 shlibpath_var=LIBRARY_PATH 10782 ;; 10783 10784 bsdi[45]*) 10785 version_type=linux # correct to gnu/linux during the next big refactor 10786 need_version=no 10787 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_PATH 10791 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 and 10794 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 10795 # libtool to hard-code these into programs 10796 ;; 10797 10798 cygwin* | mingw* | pw32* | cegcc*) 10799 version_type=windows 10800 shrext_cmds=.dll 10801 need_version=no 10802 need_lib_prefix=no 10803 10804 case $GCC,$cc_basename in 10805 yes,*) 10806 # gcc 10807 library_names_spec='$libname.dll.a' 10808 # DLL is installed to $(libdir)/../bin by postinstall_cmds 10809 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'\''; then 10816 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=yes 10822 10823 case $host_os in 10824 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' prefix 10832 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 esac 10839 dynamic_linker='Win32 ld.exe' 10840 ;; 10841 10842 *,cl*) 10843 # Native MSVC 10844 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 in 10849 mingw*) 10850 sys_lib_search_path_spec= 10851 lt_save_ifs=$IFS 10852 IFS=';' 10853 for lt_path in $LIB 10854 do 10855 IFS=$lt_save_ifs 10856 # 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 done 10860 IFS=$lt_save_ifs 10861 # 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 form 10866 # but this time dos style (no spaces!) so that the unix form looks 10867 # 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=$LIB 10874 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then 10875 # 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 else 10878 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 10879 fi 10880 # FIXME: find the short name or the path components, as spaces are 10881 # common. (e.g. "Program Files" -> "PROGRA~1") 10882 ;; 10883 esac 10884 10885 # DLL is installed to $(libdir)/../bin by postinstall_cmds 10886 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=yes 10895 dynamic_linker='Win32 link.exe' 10896 ;; 10897 10898 *) 10899 # Assume MSVC wrapper 10900 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' 10901 dynamic_linker='Win32 ld.exe' 10902 ;; 10903 esac 10904 # FIXME: first we should search . and the directory the executable is in 10905 shlibpath_var=PATH 10906 ;; 10907 10908 darwin* | rhapsody*) 10909 dynamic_linker="$host_os dyld" 10910 version_type=darwin 10911 need_lib_prefix=no 10912 need_version=no 10913 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 10914 soname_spec='$libname$release$major$shared_ext' 10915 shlibpath_overrides_runpath=yes 10916 shlibpath_var=DYLD_LIBRARY_PATH 10917 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 refactor 10925 need_lib_prefix=no 10926 need_version=no 10927 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_PATH 10930 ;; 10931 10932 freebsd* | dragonfly*) 10933 # DragonFly does not have aout. When/if they implement a new 10934 # versioning mechanism, adjust this. 10935 if test -x /usr/bin/objformat; then 10936 objformat=`/usr/bin/objformat` 10937 else 10938 case $host_os in 10939 freebsd[23].*) objformat=aout ;; 10940 *) objformat=elf ;; 10941 esac 10942 fi 10943 version_type=freebsd-$objformat 10944 case $version_type in 10945 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=no 10949 need_lib_prefix=no 10950 ;; 10951 freebsd-*) 10952 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 10953 need_version=yes 10954 ;; 10955 esac 10956 shlibpath_var=LD_LIBRARY_PATH 10957 case $host_os in 10958 freebsd2.*) 10959 shlibpath_overrides_runpath=yes 10960 ;; 10961 freebsd3.[01]* | freebsdelf3.[01]*) 10962 shlibpath_overrides_runpath=yes 10963 hardcode_into_libs=yes 10964 ;; 10965 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ 10966 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) 10967 shlibpath_overrides_runpath=no 10968 hardcode_into_libs=yes 10969 ;; 10970 *) # from 4.6 on, and DragonFly 10971 shlibpath_overrides_runpath=yes 10972 hardcode_into_libs=yes 10973 ;; 10974 esac 10975 ;; 10976 10977 haiku*) 10978 version_type=linux # correct to gnu/linux during the next big refactor 10979 need_lib_prefix=no 10980 need_version=no 10981 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_PATH 10985 shlibpath_overrides_runpath=no 10986 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 10987 hardcode_into_libs=yes 10988 ;; 10989 10990 hpux9* | hpux10* | hpux11*) 10991 # Give a soname corresponding to the major version so that dld.sl refuses to 10992 # link against other versions. 10993 version_type=sunos 10994 need_lib_prefix=no 10995 need_version=no 10996 case $host_cpu in 10997 ia64*) 10998 shrext_cmds='.so' 10999 hardcode_into_libs=yes 11000 dynamic_linker="$host_os dld.so" 11001 shlibpath_var=LD_LIBRARY_PATH 11002 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"; then 11006 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 11007 sys_lib_dlsearch_path_spec=/usr/lib/hpux32 11008 else 11009 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 11010 sys_lib_dlsearch_path_spec=/usr/lib/hpux64 11011 fi 11012 ;; 11013 hppa*64*) 11014 shrext_cmds='.sl' 11015 hardcode_into_libs=yes 11016 dynamic_linker="$host_os dld.sl" 11017 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 11018 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_spec 11023 ;; 11024 *) 11025 shrext_cmds='.sl' 11026 dynamic_linker="$host_os dld.sl" 11027 shlibpath_var=SHLIB_PATH 11028 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 11029 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 esac 11033 # 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=555 11037 ;; 11038 11039 interix[3-9]*) 11040 version_type=linux # correct to gnu/linux during the next big refactor 11041 need_lib_prefix=no 11042 need_version=no 11043 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_PATH 11047 shlibpath_overrides_runpath=no 11048 hardcode_into_libs=yes 11049 ;; 11050 11051 irix5* | irix6* | nonstopux*) 11052 case $host_os in 11053 nonstopux*) version_type=nonstopux ;; 11054 *) 11055 if test yes = "$lt_cv_prog_gnu_ld"; then 11056 version_type=linux # correct to gnu/linux during the next big refactor 11057 else 11058 version_type=irix 11059 fi ;; 11060 esac 11061 need_lib_prefix=no 11062 need_version=no 11063 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 in 11066 irix5* | nonstopux*) 11067 libsuff= shlibsuff= 11068 ;; 11069 *) 11070 case $LD in # libtool.m4 will add one of these switches to LD 11071 *-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 esac 11079 ;; 11080 esac 11081 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 11082 shlibpath_overrides_runpath=no 11083 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=yes 11086 ;; 11087 11088 # No shared lib support for Linux oldld, aout, or coff. 11089 linux*oldld* | linux*aout* | linux*coff*) 11090 dynamic_linker=no 11091 ;; 11092 11093 linux*android*) 11094 version_type=none # Android doesn't support versioned libraries. 11095 need_lib_prefix=no 11096 need_version=no 11097 library_names_spec='$libname$release$shared_ext' 11098 soname_spec='$libname$release$shared_ext' 11099 finish_cmds= 11100 shlibpath_var=LD_LIBRARY_PATH 11101 shlibpath_overrides_runpath=yes 11102 11103 # This implies no fast_install, which is unacceptable. 11104 # Some rework will be needed to allow for fast_install 11105 # before this can be enabled. 11106 hardcode_into_libs=yes 11107 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 refactor 11116 need_lib_prefix=no 11117 need_version=no 11118 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_PATH 11122 shlibpath_overrides_runpath=no 11123 11124 # Some binutils ld are patched to set DT_RUNPATH 11125 if ${lt_cv_shlibpath_overrides_runpath+:} false; then : 11126 $as_echo_n "(cached) " >&6 11127 else 11128 lt_cv_shlibpath_overrides_runpath=no 11129 save_LDFLAGS=$LDFLAGS 11130 save_libdir=$libdir 11131 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ 11132 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" 11133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11134 /* end confdefs.h. */ 11135 11136 int 11137 main () 11138 { 11139 11140 ; 11141 return 0; 11142 } 11143 _ACEOF 11144 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=yes 11147 fi 11148 fi 11149 rm -f core conftest.err conftest.$ac_objext \ 11150 conftest$ac_exeext conftest.$ac_ext 11151 LDFLAGS=$save_LDFLAGS 11152 libdir=$save_libdir 11153 11154 fi 11155 11156 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 11157 11158 # This implies no fast_install, which is unacceptable. 11159 # Some rework will be needed to allow for fast_install 11160 # before this can be enabled. 11161 hardcode_into_libs=yes 11162 11163 # Ideally, we could use ldconfig to report *all* directores which are 11164 # searched for libraries, however this is still not possible. Aside from not 11165 # being certain /sbin/ldconfig is available, command 11166 # '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 by 11168 # appending ld.so.conf contents (and includes) to the search path. 11169 if test -f /etc/ld.so.conf; then 11170 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 fi 11173 11174 # We used to test for /lib/ld.so.1 and disable shared libraries on 11175 # powerpc, because MkLinux only supported shared libraries with the 11176 # GNU dynamic linker. Since this was broken with cross compilers, 11177 # most powerpc-linux boxes support dynamic linking these days and 11178 # people can always --disable-shared, the test was removed, and we 11179 # assume the GNU/Linux dynamic linker is in use. 11180 dynamic_linker='GNU/Linux ld.so' 11181 ;; 11182 11183 netbsdelf*-gnu) 11184 version_type=linux 11185 need_lib_prefix=no 11186 need_version=no 11187 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_PATH 11190 shlibpath_overrides_runpath=no 11191 hardcode_into_libs=yes 11192 dynamic_linker='NetBSD ld.elf_so' 11193 ;; 11194 11195 netbsd*) 11196 version_type=sunos 11197 need_lib_prefix=no 11198 need_version=no 11199 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 11200 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 else 11204 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 fi 11208 shlibpath_var=LD_LIBRARY_PATH 11209 shlibpath_overrides_runpath=yes 11210 hardcode_into_libs=yes 11211 ;; 11212 11213 newsos6) 11214 version_type=linux # correct to gnu/linux during the next big refactor 11215 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 11216 shlibpath_var=LD_LIBRARY_PATH 11217 shlibpath_overrides_runpath=yes 11218 ;; 11219 11220 *nto* | *qnx*) 11221 version_type=qnx 11222 need_lib_prefix=no 11223 need_version=no 11224 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_PATH 11227 shlibpath_overrides_runpath=no 11228 hardcode_into_libs=yes 11229 dynamic_linker='ldqnx.so' 11230 ;; 11231 11232 openbsd* | bitrig*) 11233 version_type=sunos 11234 sys_lib_dlsearch_path_spec=/usr/lib 11235 need_lib_prefix=no 11236 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 11237 need_version=no 11238 else 11239 need_version=yes 11240 fi 11241 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_PATH 11244 shlibpath_overrides_runpath=yes 11245 ;; 11246 11247 os2*) 11248 libname_spec='$name' 11249 version_type=windows 11250 shrext_cmds=.dll 11251 need_version=no 11252 need_lib_prefix=no 11253 # 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=BEGINLIBPATH 11261 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 11262 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 11263 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'\''; then 11270 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=osf 11279 need_lib_prefix=no 11280 need_version=no 11281 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_PATH 11284 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_spec 11286 ;; 11287 11288 rdos*) 11289 dynamic_linker=no 11290 ;; 11291 11292 solaris*) 11293 version_type=linux # correct to gnu/linux during the next big refactor 11294 need_lib_prefix=no 11295 need_version=no 11296 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_PATH 11299 shlibpath_overrides_runpath=yes 11300 hardcode_into_libs=yes 11301 # ldd complains unless libraries are executable 11302 postinstall_cmds='chmod +x $lib' 11303 ;; 11304 11305 sunos4*) 11306 version_type=sunos 11307 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_PATH 11310 shlibpath_overrides_runpath=yes 11311 if test yes = "$with_gnu_ld"; then 11312 need_lib_prefix=no 11313 fi 11314 need_version=yes 11315 ;; 11316 11317 sysv4 | sysv4.3*) 11318 version_type=linux # correct to gnu/linux during the next big refactor 11319 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_PATH 11322 case $host_vendor in 11323 sni) 11324 shlibpath_overrides_runpath=no 11325 need_lib_prefix=no 11326 runpath_var=LD_RUN_PATH 11327 ;; 11328 siemens) 11329 need_lib_prefix=no 11330 ;; 11331 motorola) 11332 need_lib_prefix=no 11333 need_version=no 11334 shlibpath_overrides_runpath=no 11335 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 11336 ;; 11337 esac 11338 ;; 11339 11340 sysv4*MP*) 11341 if test -d /usr/nec; then 11342 version_type=linux # correct to gnu/linux during the next big refactor 11343 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_PATH 11346 fi 11347 ;; 11348 11349 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 11350 version_type=sco 11351 need_lib_prefix=no 11352 need_version=no 11353 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_PATH 11356 shlibpath_overrides_runpath=yes 11357 hardcode_into_libs=yes 11358 if test yes = "$with_gnu_ld"; then 11359 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 11360 else 11361 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 11362 case $host_os in 11363 sco3.2v5*) 11364 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 11365 ;; 11366 esac 11367 fi 11368 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 refactor 11374 need_lib_prefix=no 11375 need_version=no 11376 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 11377 shlibpath_var=LD_LIBRARY_PATH 11378 shlibpath_overrides_runpath=no 11379 hardcode_into_libs=yes 11380 ;; 11381 11382 uts4*) 11383 version_type=linux # correct to gnu/linux during the next big refactor 11384 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_PATH 11387 ;; 11388 11389 *) 11390 dynamic_linker=no 11391 ;; 11392 esac 11393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 11394 $as_echo "$dynamic_linker" >&6; } 11395 test no = "$dynamic_linker" && can_build_shared=no 11396 11397 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 11398 if test yes = "$GCC"; then 11399 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 11400 fi 11401 11402 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 11403 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 11404 fi 11405 11406 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 11407 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 11408 fi 11409 11410 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 11411 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 11412 11413 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 11414 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 libtool 11417 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 11418 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" >&5 11516 $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"; then 11521 11522 # We can hardcode non-existent directories. 11523 if test no != "$hardcode_direct" && 11524 # If the only mechanism to avoid hardcoding is shlibpath_var, we 11525 # have to relink, otherwise we might link with an installed library 11526 # when we should be linking with a yet-to-be-installed one 11527 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && 11528 test no != "$hardcode_minus_L"; then 11529 # Linking always hardcodes the temporary library directory. 11530 hardcode_action=relink 11531 else 11532 # We can link without hardcoding, and we can hardcode nonexisting dirs. 11533 hardcode_action=immediate 11534 fi 11535 else 11536 # We cannot hardcode anything, or else we can only hardcode existing 11537 # directories. 11538 hardcode_action=unsupported 11539 fi 11540 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 11541 $as_echo "$hardcode_action" >&6; } 11542 11543 if test relink = "$hardcode_action" || 11544 test yes = "$inherit_rpath"; then 11545 # Fast installation is not supported 11546 enable_fast_install=no 11547 elif test yes = "$shlibpath_overrides_runpath" || 11548 test no = "$enable_shared"; then 11549 # Fast installation is not necessary 11550 enable_fast_install=needless 11551 fi 11552 11553 11554 11555 11556 11557 11558 if test yes != "$enable_dlopen"; then 11559 enable_dlopen=unknown 11560 enable_dlopen_self=unknown 11561 enable_dlopen_self_static=unknown 11562 else 11563 lt_cv_dlopen=no 11564 lt_cv_dlopen_libs= 11565 11566 case $host_os in 11567 beos*) 11568 lt_cv_dlopen=load_add_on 11569 lt_cv_dlopen_libs= 11570 lt_cv_dlopen_self=yes 11571 ;; 11572 11573 mingw* | pw32* | cegcc*) 11574 lt_cv_dlopen=LoadLibrary 11575 lt_cv_dlopen_libs= 11576 ;; 11577 11578 cygwin*) 11579 lt_cv_dlopen=dlopen 11580 lt_cv_dlopen_libs= 11581 ;; 11582 11583 darwin*) 11584 # if libdl is installed we need to link against it 11585 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 11586 $as_echo_n "checking for dlopen in -ldl... " >&6; } 11587 if ${ac_cv_lib_dl_dlopen+:} false; then : 11588 $as_echo_n "(cached) " >&6 11589 else 11590 ac_check_lib_save_LIBS=$LIBS 11591 LIBS="-ldl $LIBS" 11592 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11593 /* 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 GCC 11597 builtin and then its argument prototype would still apply. */ 11598 #ifdef __cplusplus 11599 extern "C" 11600 #endif 11601 char dlopen (); 11602 int 11603 main () 11604 { 11605 return dlopen (); 11606 ; 11607 return 0; 11608 } 11609 _ACEOF 11610 if ac_fn_c_try_link "$LINENO"; then : 11611 ac_cv_lib_dl_dlopen=yes 11612 else 11613 ac_cv_lib_dl_dlopen=no 11614 fi 11615 rm -f core conftest.err conftest.$ac_objext \ 11616 conftest$ac_exeext conftest.$ac_ext 11617 LIBS=$ac_check_lib_save_LIBS 11618 fi 11619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 11620 $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=-ldl 11623 else 11624 11625 lt_cv_dlopen=dyld 11626 lt_cv_dlopen_libs= 11627 lt_cv_dlopen_self=yes 11628 11629 fi 11630 11631 ;; 11632 11633 tpf*) 11634 # Don't try to run any link tests for TPF. We know it's impossible 11635 # because TPF is a cross-compiler, and we know how we open DSOs. 11636 lt_cv_dlopen=dlopen 11637 lt_cv_dlopen_libs= 11638 lt_cv_dlopen_self=no 11639 ;; 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_load 11645 else 11646 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 11647 $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) " >&6 11650 else 11651 ac_check_lib_save_LIBS=$LIBS 11652 LIBS="-ldld $LIBS" 11653 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11654 /* 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 GCC 11658 builtin and then its argument prototype would still apply. */ 11659 #ifdef __cplusplus 11660 extern "C" 11661 #endif 11662 char shl_load (); 11663 int 11664 main () 11665 { 11666 return shl_load (); 11667 ; 11668 return 0; 11669 } 11670 _ACEOF 11671 if ac_fn_c_try_link "$LINENO"; then : 11672 ac_cv_lib_dld_shl_load=yes 11673 else 11674 ac_cv_lib_dld_shl_load=no 11675 fi 11676 rm -f core conftest.err conftest.$ac_objext \ 11677 conftest$ac_exeext conftest.$ac_ext 11678 LIBS=$ac_check_lib_save_LIBS 11679 fi 11680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 11681 $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=-ldld 11684 else 11685 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=dlopen 11688 else 11689 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 11690 $as_echo_n "checking for dlopen in -ldl... " >&6; } 11691 if ${ac_cv_lib_dl_dlopen+:} false; then : 11692 $as_echo_n "(cached) " >&6 11693 else 11694 ac_check_lib_save_LIBS=$LIBS 11695 LIBS="-ldl $LIBS" 11696 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11697 /* 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 GCC 11701 builtin and then its argument prototype would still apply. */ 11702 #ifdef __cplusplus 11703 extern "C" 11704 #endif 11705 char dlopen (); 11706 int 11707 main () 11708 { 11709 return dlopen (); 11710 ; 11711 return 0; 11712 } 11713 _ACEOF 11714 if ac_fn_c_try_link "$LINENO"; then : 11715 ac_cv_lib_dl_dlopen=yes 11716 else 11717 ac_cv_lib_dl_dlopen=no 11718 fi 11719 rm -f core conftest.err conftest.$ac_objext \ 11720 conftest$ac_exeext conftest.$ac_ext 11721 LIBS=$ac_check_lib_save_LIBS 11722 fi 11723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 11724 $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=-ldl 11727 else 11728 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 11729 $as_echo_n "checking for dlopen in -lsvld... " >&6; } 11730 if ${ac_cv_lib_svld_dlopen+:} false; then : 11731 $as_echo_n "(cached) " >&6 11732 else 11733 ac_check_lib_save_LIBS=$LIBS 11734 LIBS="-lsvld $LIBS" 11735 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11736 /* 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 GCC 11740 builtin and then its argument prototype would still apply. */ 11741 #ifdef __cplusplus 11742 extern "C" 11743 #endif 11744 char dlopen (); 11745 int 11746 main () 11747 { 11748 return dlopen (); 11749 ; 11750 return 0; 11751 } 11752 _ACEOF 11753 if ac_fn_c_try_link "$LINENO"; then : 11754 ac_cv_lib_svld_dlopen=yes 11755 else 11756 ac_cv_lib_svld_dlopen=no 11757 fi 11758 rm -f core conftest.err conftest.$ac_objext \ 11759 conftest$ac_exeext conftest.$ac_ext 11760 LIBS=$ac_check_lib_save_LIBS 11761 fi 11762 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 11763 $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=-lsvld 11766 else 11767 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 11768 $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) " >&6 11771 else 11772 ac_check_lib_save_LIBS=$LIBS 11773 LIBS="-ldld $LIBS" 11774 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 11775 /* 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 GCC 11779 builtin and then its argument prototype would still apply. */ 11780 #ifdef __cplusplus 11781 extern "C" 11782 #endif 11783 char dld_link (); 11784 int 11785 main () 11786 { 11787 return dld_link (); 11788 ; 11789 return 0; 11790 } 11791 _ACEOF 11792 if ac_fn_c_try_link "$LINENO"; then : 11793 ac_cv_lib_dld_dld_link=yes 11794 else 11795 ac_cv_lib_dld_dld_link=no 11796 fi 11797 rm -f core conftest.err conftest.$ac_objext \ 11798 conftest$ac_exeext conftest.$ac_ext 11799 LIBS=$ac_check_lib_save_LIBS 11800 fi 11801 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 11802 $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=-ldld 11805 fi 11806 11807 11808 fi 11809 11810 11811 fi 11812 11813 11814 fi 11815 11816 11817 fi 11818 11819 11820 fi 11821 11822 ;; 11823 esac 11824 11825 if test no = "$lt_cv_dlopen"; then 11826 enable_dlopen=no 11827 else 11828 enable_dlopen=yes 11829 fi 11830 11831 case $lt_cv_dlopen in 11832 dlopen) 11833 save_CPPFLAGS=$CPPFLAGS 11834 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 11835 11836 save_LDFLAGS=$LDFLAGS 11837 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 11838 11839 save_LIBS=$LIBS 11840 LIBS="$lt_cv_dlopen_libs $LIBS" 11841 11842 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 11843 $as_echo_n "checking whether a program can dlopen itself... " >&6; } 11844 if ${lt_cv_dlopen_self+:} false; then : 11845 $as_echo_n "(cached) " >&6 11846 else 11847 if test yes = "$cross_compiling"; then : 11848 lt_cv_dlopen_self=cross 11849 else 11850 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 11851 lt_status=$lt_dlunknown 11852 cat > conftest.$ac_ext <<_LT_EOF 11853 #line $LINENO "configure" 11854 #include "confdefs.h" 11855 11856 #if HAVE_DLFCN_H 11857 #include <dlfcn.h> 11858 #endif 11859 11860 #include <stdio.h> 11861 11862 #ifdef RTLD_GLOBAL 11863 # define LT_DLGLOBAL RTLD_GLOBAL 11864 #else 11865 # ifdef DL_GLOBAL 11866 # define LT_DLGLOBAL DL_GLOBAL 11867 # else 11868 # define LT_DLGLOBAL 0 11869 # endif 11870 #endif 11871 11872 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we 11873 find out it does not work in some platform. */ 11874 #ifndef LT_DLLAZY_OR_NOW 11875 # ifdef RTLD_LAZY 11876 # define LT_DLLAZY_OR_NOW RTLD_LAZY 11877 # else 11878 # ifdef DL_LAZY 11879 # define LT_DLLAZY_OR_NOW DL_LAZY 11880 # else 11881 # ifdef RTLD_NOW 11882 # define LT_DLLAZY_OR_NOW RTLD_NOW 11883 # else 11884 # ifdef DL_NOW 11885 # define LT_DLLAZY_OR_NOW DL_NOW 11886 # else 11887 # define LT_DLLAZY_OR_NOW 0 11888 # endif 11889 # endif 11890 # endif 11891 # endif 11892 #endif 11893 11894 /* When -fvisibility=hidden is used, assume the code has been annotated 11895 correspondingly for the symbols needed. */ 11896 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 11897 int fnord () __attribute__((visibility("default"))); 11898 #endif 11899 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 else 11910 { 11911 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 11912 else puts (dlerror ()); 11913 } 11914 /* dlclose (self); */ 11915 } 11916 else 11917 puts (dlerror ()); 11918 11919 return status; 11920 } 11921 _LT_EOF 11922 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 11923 (eval $ac_link) 2>&5 11924 ac_status=$? 11925 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 11926 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then 11927 (./conftest; exit; ) >&5 2>/dev/null 11928 lt_status=$? 11929 case x$lt_status in 11930 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 esac 11934 else : 11935 # compilation failed 11936 lt_cv_dlopen_self=no 11937 fi 11938 fi 11939 rm -fr conftest* 11940 11941 11942 fi 11943 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 11944 $as_echo "$lt_cv_dlopen_self" >&6; } 11945 11946 if test yes = "$lt_cv_dlopen_self"; then 11947 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" >&5 11949 $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) " >&6 11952 else 11953 if test yes = "$cross_compiling"; then : 11954 lt_cv_dlopen_self_static=cross 11955 else 11956 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 11957 lt_status=$lt_dlunknown 11958 cat > conftest.$ac_ext <<_LT_EOF 11959 #line $LINENO "configure" 11960 #include "confdefs.h" 11961 11962 #if HAVE_DLFCN_H 11963 #include <dlfcn.h> 11964 #endif 11965 11966 #include <stdio.h> 11967 11968 #ifdef RTLD_GLOBAL 11969 # define LT_DLGLOBAL RTLD_GLOBAL 11970 #else 11971 # ifdef DL_GLOBAL 11972 # define LT_DLGLOBAL DL_GLOBAL 11973 # else 11974 # define LT_DLGLOBAL 0 11975 # endif 11976 #endif 11977 11978 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we 11979 find out it does not work in some platform. */ 11980 #ifndef LT_DLLAZY_OR_NOW 11981 # ifdef RTLD_LAZY 11982 # define LT_DLLAZY_OR_NOW RTLD_LAZY 11983 # else 11984 # ifdef DL_LAZY 11985 # define LT_DLLAZY_OR_NOW DL_LAZY 11986 # else 11987 # ifdef RTLD_NOW 11988 # define LT_DLLAZY_OR_NOW RTLD_NOW 11989 # else 11990 # ifdef DL_NOW 11991 # define LT_DLLAZY_OR_NOW DL_NOW 11992 # else 11993 # define LT_DLLAZY_OR_NOW 0 11994 # endif 11995 # endif 11996 # endif 11997 # endif 11998 #endif 11999 12000 /* When -fvisibility=hidden is used, assume the code has been annotated 12001 correspondingly for the symbols needed. */ 12002 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 12003 int fnord () __attribute__((visibility("default"))); 12004 #endif 12005 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 else 12016 { 12017 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 12018 else puts (dlerror ()); 12019 } 12020 /* dlclose (self); */ 12021 } 12022 else 12023 puts (dlerror ()); 12024 12025 return status; 12026 } 12027 _LT_EOF 12028 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 12029 (eval $ac_link) 2>&5 12030 ac_status=$? 12031 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 12032 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then 12033 (./conftest; exit; ) >&5 2>/dev/null 12034 lt_status=$? 12035 case x$lt_status in 12036 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 esac 12040 else : 12041 # compilation failed 12042 lt_cv_dlopen_self_static=no 12043 fi 12044 fi 12045 rm -fr conftest* 12046 12047 12048 fi 12049 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 12050 $as_echo "$lt_cv_dlopen_self_static" >&6; } 12051 fi 12052 12053 CPPFLAGS=$save_CPPFLAGS 12054 LDFLAGS=$save_LDFLAGS 12055 LIBS=$save_LIBS 12056 ;; 12057 esac 12058 12059 case $lt_cv_dlopen_self in 12060 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 12061 *) enable_dlopen_self=unknown ;; 12062 esac 12063 12064 case $lt_cv_dlopen_self_static in 12065 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 12066 *) enable_dlopen_self_static=unknown ;; 12067 esac 12068 fi 12069 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" >&5 12089 $as_echo_n "checking whether stripping libraries is possible... " >&6; } 12090 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 12091 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" >&5 12094 $as_echo "yes" >&6; } 12095 else 12096 # FIXME - insert some real tests, host_os isn't really good enough 12097 case $host_os in 12098 darwin*) 12099 if test -n "$STRIP"; then 12100 striplib="$STRIP -x" 12101 old_striplib="$STRIP -S" 12102 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 12103 $as_echo "yes" >&6; } 12104 else 12105 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12106 $as_echo "no" >&6; } 12107 fi 12108 ;; 12109 *) 12110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12111 $as_echo "no" >&6; } 12112 ;; 12113 esac 12114 fi 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 # Report what library types will actually be built 12128 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 12129 $as_echo_n "checking if libtool supports shared libraries... " >&6; } 12130 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 12131 $as_echo "$can_build_shared" >&6; } 12132 12133 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 12134 $as_echo_n "checking whether to build shared libraries... " >&6; } 12135 test no = "$can_build_shared" && enable_shared=no 12136 12137 # On AIX, shared libraries and static libraries use the same namespace, and 12138 # are all built from PIC. 12139 case $host_os in 12140 aix3*) 12141 test yes = "$enable_shared" && enable_static=no 12142 if test -n "$RANLIB"; then 12143 archive_cmds="$archive_cmds~\$RANLIB \$lib" 12144 postinstall_cmds='$RANLIB $lib' 12145 fi 12146 ;; 12147 12148 aix[4-9]*) 12149 if test ia64 != "$host_cpu"; then 12150 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 12151 yes,aix,yes) ;; # shared object as lib.so file only 12152 yes,svr4,*) ;; # shared object as lib.so archive member only 12153 yes,*) enable_static=no ;; # shared object in lib.a archive as well 12154 esac 12155 fi 12156 ;; 12157 esac 12158 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 12159 $as_echo "$enable_shared" >&6; } 12160 12161 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 12162 $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=yes 12165 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 12166 $as_echo "$enable_static" >&6; } 12167 12168 12169 12170 12171 fi 12172 ac_ext=c 12173 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_gnu 12177 12178 CC=$lt_save_CC 12179 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=cpp 12204 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_gnu 12208 if test -z "$CXX"; then 12209 if test -n "$CCC"; then 12210 CXX=$CCC 12211 else 12212 if test -n "$ac_tool_prefix"; then 12213 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 12214 do 12215 # 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=$2 12217 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 12218 $as_echo_n "checking for $ac_word... " >&6; } 12219 if ${ac_cv_prog_CXX+:} false; then : 12220 $as_echo_n "(cached) " >&6 12221 else 12222 if test -n "$CXX"; then 12223 ac_cv_prog_CXX="$CXX" # Let the user override the test. 12224 else 12225 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 12226 for as_dir in $PATH 12227 do 12228 IFS=$as_save_IFS 12229 test -z "$as_dir" && as_dir=. 12230 for ac_exec_ext in '' $ac_executable_extensions; do 12231 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 12232 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" >&5 12234 break 2 12235 fi 12236 done 12237 done 12238 IFS=$as_save_IFS 12239 12240 fi 12241 fi 12242 CXX=$ac_cv_prog_CXX 12243 if test -n "$CXX"; then 12244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 12245 $as_echo "$CXX" >&6; } 12246 else 12247 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12248 $as_echo "no" >&6; } 12249 fi 12250 12251 12252 test -n "$CXX" && break 12253 done 12254 fi 12255 if test -z "$CXX"; then 12256 ac_ct_CXX=$CXX 12257 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 12258 do 12259 # Extract the first word of "$ac_prog", so it can be a program name with args. 12260 set dummy $ac_prog; ac_word=$2 12261 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 12262 $as_echo_n "checking for $ac_word... " >&6; } 12263 if ${ac_cv_prog_ac_ct_CXX+:} false; then : 12264 $as_echo_n "(cached) " >&6 12265 else 12266 if test -n "$ac_ct_CXX"; then 12267 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. 12268 else 12269 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 12270 for as_dir in $PATH 12271 do 12272 IFS=$as_save_IFS 12273 test -z "$as_dir" && as_dir=. 12274 for ac_exec_ext in '' $ac_executable_extensions; do 12275 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 12276 ac_cv_prog_ac_ct_CXX="$ac_prog" 12277 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 12278 break 2 12279 fi 12280 done 12281 done 12282 IFS=$as_save_IFS 12283 12284 fi 12285 fi 12286 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX 12287 if test -n "$ac_ct_CXX"; then 12288 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 12289 $as_echo "$ac_ct_CXX" >&6; } 12290 else 12291 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12292 $as_echo "no" >&6; } 12293 fi 12294 12295 12296 test -n "$ac_ct_CXX" && break 12297 done 12298 12299 if test "x$ac_ct_CXX" = x; then 12300 CXX="g++" 12301 else 12302 case $cross_compiling:$ac_tool_warned in 12303 yes:) 12304 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 12305 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 12306 ac_tool_warned=yes ;; 12307 esac 12308 CXX=$ac_ct_CXX 12309 fi 12310 fi 12311 12312 fi 12313 fi 12314 # Provide some information about the compiler. 12315 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 12316 set X $ac_compile 12317 ac_compiler=$2 12318 for ac_option in --version -v -V -qversion; do 12319 { { ac_try="$ac_compiler $ac_option >&5" 12320 case "(($ac_try" in 12321 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 12322 *) ac_try_echo=$ac_try;; 12323 esac 12324 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 12325 $as_echo "$ac_try_echo"; } >&5 12326 (eval "$ac_compiler $ac_option >&5") 2>conftest.err 12327 ac_status=$? 12328 if test -s conftest.err; then 12329 sed '10a\ 12330 ... rest of stderr output deleted ... 12331 10q' conftest.err >conftest.er1 12332 cat conftest.er1 >&5 12333 fi 12334 rm -f conftest.er1 conftest.err 12335 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 12336 test $ac_status = 0; } 12337 done 12338 3019 12339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 3020 12340 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } … … 3137 12457 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3138 12458 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 target3148 .PHONY: am__doit3149 END3150 # 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" >&53152 $as_echo_n "checking for style of include used by $am_make... " >&6; }3153 am__include="#"3154 am__quote=3155 _am_result=none3156 # First try GNU make style include.3157 echo "include confinc" > confmf3158 # 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=include3162 am__quote=3163 _am_result=GNU3164 ;;3165 esac3166 # Now try BSD make style include.3167 if test "$am__include" = "#"; then3168 echo '.include "confinc"' > confmf3169 case `$am_make -s -f confmf 2> /dev/null` in #(3170 *the\ am__doit\ target*)3171 am__include=.include3172 am__quote="\""3173 _am_result=BSD3174 ;;3175 esac3176 fi3177 3178 3179 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&53180 $as_echo "$_am_result" >&6; }3181 rm -f confinc confmf3182 3183 # Check whether --enable-dependency-tracking was given.3184 if test "${enable_dependency_tracking+set}" = set; then :3185 enableval=$enable_dependency_tracking;3186 fi3187 3188 if test "x$enable_dependency_tracking" != xno; then3189 am_depcomp="$ac_aux_dir/depcomp"3190 AMDEPBACKSLASH='\'3191 am__nodep='_no'3192 fi3193 if test "x$enable_dependency_tracking" != xno; then3194 AMDEP_TRUE=3195 AMDEP_FALSE='#'3196 else3197 AMDEP_TRUE='#'3198 AMDEP_FALSE=3199 fi3200 3201 3202 12459 3203 12460 depcc="$CXX" am_compiler_list= … … 3329 12586 3330 12587 12588 12589 12590 func_stripname_cnf () 12591 { 12592 case $2 in 12593 .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; 12594 *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; 12595 esac 12596 } # func_stripname_cnf 12597 12598 if test -n "$CXX" && ( test no != "$CXX" && 12599 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 12600 (test g++ != "$CXX"))); then 12601 ac_ext=cpp 12602 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_gnu 12606 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 12607 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } 12608 if test -z "$CXXCPP"; then 12609 if ${ac_cv_prog_CXXCPP+:} false; then : 12610 $as_echo_n "(cached) " >&6 12611 else 12612 # Double quotes because CXXCPP needs to be expanded 12613 for CXXCPP in "$CXX -E" "/lib/cpp" 12614 do 12615 ac_preproc_ok=false 12616 for ac_cxx_preproc_warn_flag in '' yes 12617 do 12618 # Use a header file that comes with gcc, so configuring glibc 12619 # with a fresh cross-compiler works. 12620 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 12621 # <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_ext 12625 /* end confdefs.h. */ 12626 #ifdef __STDC__ 12627 # include <limits.h> 12628 #else 12629 # include <assert.h> 12630 #endif 12631 Syntax error 12632 _ACEOF 12633 if ac_fn_cxx_try_cpp "$LINENO"; then : 12634 12635 else 12636 # Broken: fails on valid input. 12637 continue 12638 fi 12639 rm -f conftest.err conftest.i conftest.$ac_ext 12640 12641 # OK, works on sane cases. Now check whether nonexistent headers 12642 # can be detected and how. 12643 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12644 /* end confdefs.h. */ 12645 #include <ac_nonexistent.h> 12646 _ACEOF 12647 if ac_fn_cxx_try_cpp "$LINENO"; then : 12648 # Broken: success on invalid input. 12649 continue 12650 else 12651 # Passes both tests. 12652 ac_preproc_ok=: 12653 break 12654 fi 12655 rm -f conftest.err conftest.i conftest.$ac_ext 12656 12657 done 12658 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 12659 rm -f conftest.i conftest.err conftest.$ac_ext 12660 if $ac_preproc_ok; then : 12661 break 12662 fi 12663 12664 done 12665 ac_cv_prog_CXXCPP=$CXXCPP 12666 12667 fi 12668 CXXCPP=$ac_cv_prog_CXXCPP 12669 else 12670 ac_cv_prog_CXXCPP=$CXXCPP 12671 fi 12672 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 12673 $as_echo "$CXXCPP" >&6; } 12674 ac_preproc_ok=false 12675 for ac_cxx_preproc_warn_flag in '' yes 12676 do 12677 # Use a header file that comes with gcc, so configuring glibc 12678 # with a fresh cross-compiler works. 12679 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 12680 # <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_ext 12684 /* end confdefs.h. */ 12685 #ifdef __STDC__ 12686 # include <limits.h> 12687 #else 12688 # include <assert.h> 12689 #endif 12690 Syntax error 12691 _ACEOF 12692 if ac_fn_cxx_try_cpp "$LINENO"; then : 12693 12694 else 12695 # Broken: fails on valid input. 12696 continue 12697 fi 12698 rm -f conftest.err conftest.i conftest.$ac_ext 12699 12700 # OK, works on sane cases. Now check whether nonexistent headers 12701 # can be detected and how. 12702 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 12703 /* end confdefs.h. */ 12704 #include <ac_nonexistent.h> 12705 _ACEOF 12706 if ac_fn_cxx_try_cpp "$LINENO"; then : 12707 # Broken: success on invalid input. 12708 continue 12709 else 12710 # Passes both tests. 12711 ac_preproc_ok=: 12712 break 12713 fi 12714 rm -f conftest.err conftest.i conftest.$ac_ext 12715 12716 done 12717 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 12718 rm -f conftest.i conftest.err conftest.$ac_ext 12719 if $ac_preproc_ok; then : 12720 12721 else 12722 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 12723 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 12724 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check 12725 See \`config.log' for more details" "$LINENO" 5; } 12726 fi 12727 12728 ac_ext=c 12729 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_gnu 12733 12734 else 12735 _lt_caught_CXX_error=yes 12736 fi 12737 12738 ac_ext=cpp 12739 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_gnu 12743 12744 archive_cmds_need_lc_CXX=no 12745 allow_undefined_flag_CXX= 12746 always_export_symbols_CXX=no 12747 archive_expsym_cmds_CXX= 12748 compiler_needs_object_CXX=no 12749 export_dynamic_flag_spec_CXX= 12750 hardcode_direct_CXX=no 12751 hardcode_direct_absolute_CXX=no 12752 hardcode_libdir_flag_spec_CXX= 12753 hardcode_libdir_separator_CXX= 12754 hardcode_minus_L_CXX=no 12755 hardcode_shlibpath_var_CXX=unsupported 12756 hardcode_automatic_CXX=no 12757 inherit_rpath_CXX=no 12758 module_cmds_CXX= 12759 module_expsym_cmds_CXX= 12760 link_all_deplibs_CXX=unknown 12761 old_archive_cmds_CXX=$old_archive_cmds 12762 reload_flag_CXX=$reload_flag 12763 reload_cmds_CXX=$reload_cmds 12764 no_undefined_flag_CXX= 12765 whole_archive_flag_spec_CXX= 12766 enable_shared_with_static_runtimes_CXX=no 12767 12768 # Source file extension for C++ test sources. 12769 ac_ext=cpp 12770 12771 # Object file extension for compiled C++ test sources. 12772 objext=o 12773 objext_CXX=$objext 12774 12775 # No sense in running all these tests if we already determined that 12776 # 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"; then 12780 # Code to be used in simple compile tests 12781 lt_simple_compile_test_code="int some_variable = 0;" 12782 12783 # Code to be used in simple link tests 12784 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=$CC 12801 12802 12803 # save warnings/boilerplate of simple test code 12804 ac_outfile=conftest.$ac_objext 12805 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 12806 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 12807 _lt_compiler_boilerplate=`cat conftest.err` 12808 $RM conftest* 12809 12810 ac_outfile=conftest.$ac_objext 12811 echo "$lt_simple_link_test_code" >conftest.$ac_ext 12812 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 12813 _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=$CC 12819 lt_save_CFLAGS=$CFLAGS 12820 lt_save_LD=$LD 12821 lt_save_GCC=$GCC 12822 GCC=$GXX 12823 lt_save_with_gnu_ld=$with_gnu_ld 12824 lt_save_path_LD=$lt_cv_path_LD 12825 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 12826 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 12827 else 12828 $as_unset lt_cv_prog_gnu_ld 12829 fi 12830 if test -n "${lt_cv_path_LDCXX+set}"; then 12831 lt_cv_path_LD=$lt_cv_path_LDCXX 12832 else 12833 $as_unset lt_cv_path_LD 12834 fi 12835 test -z "${LDCXX+set}" || LD=$LDCXX 12836 CC=${CXX-"c++"} 12837 CFLAGS=$CXXFLAGS 12838 compiler=$CC 12839 compiler_CXX=$CC 12840 func_cc_basename $compiler 12841 cc_basename=$func_cc_basename_result 12842 12843 12844 if test -n "$compiler"; then 12845 # We don't want -fno-exception when compiling C++ code, so set the 12846 # no_builtin_flag separately 12847 if test yes = "$GXX"; then 12848 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' 12849 else 12850 lt_prog_compiler_no_builtin_flag_CXX= 12851 fi 12852 12853 if test yes = "$GXX"; then 12854 # Set up default GNU C++ configuration 12855 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=yes 12861 else 12862 with_gnu_ld=no 12863 fi 12864 12865 ac_prog=ld 12866 if test yes = "$GCC"; then 12867 # Check if gcc -print-prog-name=ld gives a path. 12868 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 12869 $as_echo_n "checking for ld used by $CC... " >&6; } 12870 case $host in 12871 *-*-mingw*) 12872 # gcc leaves a trailing carriage return, which upsets mingw 12873 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 12874 *) 12875 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 12876 esac 12877 case $ac_prog in 12878 # Accept absolute paths. 12879 [\\/]* | ?:[\\/]*) 12880 re_direlt='/[^/][^/]*/\.\./' 12881 # Canonicalize the pathname of ld 12882 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 12883 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 12884 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 12885 done 12886 test -z "$LD" && LD=$ac_prog 12887 ;; 12888 "") 12889 # If it fails, then pretend we aren't using GCC. 12890 ac_prog=ld 12891 ;; 12892 *) 12893 # If it is relative, then search for the first ld in PATH. 12894 with_gnu_ld=unknown 12895 ;; 12896 esac 12897 elif test yes = "$with_gnu_ld"; then 12898 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 12899 $as_echo_n "checking for GNU ld... " >&6; } 12900 else 12901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 12902 $as_echo_n "checking for non-GNU ld... " >&6; } 12903 fi 12904 if ${lt_cv_path_LD+:} false; then : 12905 $as_echo_n "(cached) " >&6 12906 else 12907 if test -z "$LD"; then 12908 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 12909 for ac_dir in $PATH; do 12910 IFS=$lt_save_ifs 12911 test -z "$ac_dir" && ac_dir=. 12912 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 12913 lt_cv_path_LD=$ac_dir/$ac_prog 12914 # 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` in 12918 *GNU* | *'with BFD'*) 12919 test no != "$with_gnu_ld" && break 12920 ;; 12921 *) 12922 test yes != "$with_gnu_ld" && break 12923 ;; 12924 esac 12925 fi 12926 done 12927 IFS=$lt_save_ifs 12928 else 12929 lt_cv_path_LD=$LD # Let the user override the test with a path. 12930 fi 12931 fi 12932 12933 LD=$lt_cv_path_LD 12934 if test -n "$LD"; then 12935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 12936 $as_echo "$LD" >&6; } 12937 else 12938 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12939 $as_echo "no" >&6; } 12940 fi 12941 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 12942 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 12943 $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) " >&6 12946 else 12947 # I'd rather use --version here, but apparently some GNU lds only accept -v. 12948 case `$LD -v 2>&1 </dev/null` in 12949 *GNU* | *'with BFD'*) 12950 lt_cv_prog_gnu_ld=yes 12951 ;; 12952 *) 12953 lt_cv_prog_gnu_ld=no 12954 ;; 12955 esac 12956 fi 12957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 12958 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 12959 with_gnu_ld=$lt_cv_prog_gnu_ld 12960 12961 12962 12963 12964 12965 12966 12967 # Check if GNU C++ uses GNU ld as the underlying linker, since the 12968 # archiving commands below assume that GNU ld is being used. 12969 if test yes = "$with_gnu_ld"; then 12970 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 empty 12977 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 12978 # 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; then 12984 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 12985 else 12986 whole_archive_flag_spec_CXX= 12987 fi 12988 else 12989 with_gnu_ld=no 12990 wlarc= 12991 12992 # A generic and very simple default shared library creation 12993 # command for GNU C++ for the case where it uses the native 12994 # linker, instead of GNU ld. If possible, this setting should 12995 # overridden to take advantage of the native linker features on 12996 # 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 fi 12999 13000 # Commands to make compiler produce verbose output that lists 13001 # what "hidden" libraries, object files and flags are used when 13002 # 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 else 13006 GXX=no 13007 with_gnu_ld=no 13008 wlarc= 13009 fi 13010 13011 # PORTME: fill in a description of your system's C++ link characteristics 13012 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 13013 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } 13014 ld_shlibs_CXX=yes 13015 case $host_os in 13016 aix3*) 13017 # FIXME: insert proper C++ library support 13018 ld_shlibs_CXX=no 13019 ;; 13020 aix[4-9]*) 13021 if test ia64 = "$host_cpu"; then 13022 # On IA64, the linker does run time linking by default, so we don't 13023 # have to do anything special. 13024 aix_use_runtimelinking=no 13025 exp_sym_flag='-Bexport' 13026 no_entry_flag= 13027 else 13028 aix_use_runtimelinking=no 13029 13030 # Test if we are trying to use run time linking or normal 13031 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 13032 # have runtime linking enabled, and use it for executables. 13033 # For shared libraries, we enable/disable runtime linking 13034 # 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 executables 13037 # "aix,yes" lib.so shared, rtl:yes, for executables 13038 # lib.a static archive 13039 # "both,no" lib.so.V(shr.o) shared, rtl:yes 13040 # lib.a(lib.so.V) shared, rtl:no, for executables 13041 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 13042 # lib.a(lib.so.V) shared, rtl:no 13043 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 13044 # lib.a static archive 13045 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) 13046 for ld_flag in $LDFLAGS; do 13047 case $ld_flag in 13048 *-brtl*) 13049 aix_use_runtimelinking=yes 13050 break 13051 ;; 13052 esac 13053 done 13054 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 13055 # 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=yes 13059 LDFLAGS="$LDFLAGS -Wl,-brtl" 13060 fi 13061 ;; 13062 esac 13063 13064 exp_sym_flag='-bexport' 13065 no_entry_flag='-bnoentry' 13066 fi 13067 13068 # When large executables or shared objects are built, AIX ld can 13069 # have problems creating the table of contents. If linking a library 13070 # or program results in "error TOC overflow" add -mminimal-toc to 13071 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 13072 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 13073 13074 archive_cmds_CXX='' 13075 hardcode_direct_CXX=yes 13076 hardcode_direct_absolute_CXX=yes 13077 hardcode_libdir_separator_CXX=':' 13078 link_all_deplibs_CXX=yes 13079 file_list_spec_CXX='$wl-f,' 13080 case $with_aix_soname,$aix_use_runtimelinking in 13081 aix,*) ;; # no import file 13082 svr4,* | *,yes) # use import file 13083 # The Import File defines what to hardcode. 13084 hardcode_direct_CXX=no 13085 hardcode_direct_absolute_CXX=no 13086 ;; 13087 esac 13088 13089 if test yes = "$GXX"; then 13090 case $host_os in aix4.[012]|aix4.[012].*) 13091 # We only want to do this on AIX 4.2 and lower, the check 13092 # 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/null 13096 then 13097 # We have reworked collect2 13098 : 13099 else 13100 # We have old collect2 13101 hardcode_direct_CXX=unsupported 13102 # It fails to find uninstalled libraries when the uninstalled 13103 # path is not listed in the libpath. Setting hardcode_minus_L 13104 # to unsupported forces relinking 13105 hardcode_minus_L_CXX=yes 13106 hardcode_libdir_flag_spec_CXX='-L$libdir' 13107 hardcode_libdir_separator_CXX= 13108 fi 13109 esac 13110 shared_flag='-shared' 13111 if test yes = "$aix_use_runtimelinking"; then 13112 shared_flag=$shared_flag' $wl-G' 13113 fi 13114 # Need to ensure runtime linking is disabled for the traditional 13115 # shared library, or the linker may eventually find shared libraries 13116 # /with/ Import File - we do not want to mix them. 13117 shared_flag_aix='-shared' 13118 shared_flag_svr4='-shared $wl-G' 13119 else 13120 # not using gcc 13121 if test ia64 = "$host_cpu"; then 13122 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 13123 # chokes on -Wl,-G. The following line is correct: 13124 shared_flag='-G' 13125 else 13126 if test yes = "$aix_use_runtimelinking"; then 13127 shared_flag='$wl-G' 13128 else 13129 shared_flag='$wl-bM:SRE' 13130 fi 13131 shared_flag_aix='$wl-bM:SRE' 13132 shared_flag_svr4='$wl-G' 13133 fi 13134 fi 13135 13136 export_dynamic_flag_spec_CXX='$wl-bexpall' 13137 # It seems that -bexpall does not export symbols beginning with 13138 # underscore (_), so it is better to generate a list of symbols to 13139 # export. 13140 always_export_symbols_CXX=yes 13141 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 13142 # 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 empty 13147 # executable. 13148 if test set = "${lt_cv_aix_libpath+set}"; then 13149 aix_libpath=$lt_cv_aix_libpath 13150 else 13151 if ${lt_cv_aix_libpath__CXX+:} false; then : 13152 $as_echo_n "(cached) " >&6 13153 else 13154 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13155 /* end confdefs.h. */ 13156 13157 int 13158 main () 13159 { 13160 13161 ; 13162 return 0; 13163 } 13164 _ACEOF 13165 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 p 13172 } 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"; then 13177 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 13178 fi 13179 fi 13180 rm -f core conftest.err conftest.$ac_objext \ 13181 conftest$ac_exeext conftest.$ac_ext 13182 if test -z "$lt_cv_aix_libpath__CXX"; then 13183 lt_cv_aix_libpath__CXX=/usr/lib:/lib 13184 fi 13185 13186 fi 13187 13188 aix_libpath=$lt_cv_aix_libpath__CXX 13189 fi 13190 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_flag 13194 else 13195 if test ia64 = "$host_cpu"; then 13196 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 else 13200 # Determine the default libpath from the value encoded in an 13201 # empty executable. 13202 if test set = "${lt_cv_aix_libpath+set}"; then 13203 aix_libpath=$lt_cv_aix_libpath 13204 else 13205 if ${lt_cv_aix_libpath__CXX+:} false; then : 13206 $as_echo_n "(cached) " >&6 13207 else 13208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13209 /* end confdefs.h. */ 13210 13211 int 13212 main () 13213 { 13214 13215 ; 13216 return 0; 13217 } 13218 _ACEOF 13219 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 p 13226 } 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"; then 13231 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 13232 fi 13233 fi 13234 rm -f core conftest.err conftest.$ac_objext \ 13235 conftest$ac_exeext conftest.$ac_ext 13236 if test -z "$lt_cv_aix_libpath__CXX"; then 13237 lt_cv_aix_libpath__CXX=/usr/lib:/lib 13238 fi 13239 13240 fi 13241 13242 aix_libpath=$lt_cv_aix_libpath__CXX 13243 fi 13244 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"; then 13251 # 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 else 13254 # Exported symbols can be pulled into shared objects from archives 13255 whole_archive_flag_spec_CXX='$convenience' 13256 fi 13257 archive_cmds_need_lc_CXX=yes 13258 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 later 13260 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' 13261 if test svr4 != "$with_aix_soname"; then 13262 # This is similar to how AIX traditionally builds its shared 13263 # 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 fi 13266 if test aix != "$with_aix_soname"; then 13267 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 else 13269 # used by -dlpreopen to get the symbols 13270 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 13271 fi 13272 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' 13273 fi 13274 fi 13275 ;; 13276 13277 beos*) 13278 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 13279 allow_undefined_flag_CXX=unsupported 13280 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 13281 # support --undefined. This deserves some investigation. FIXME 13282 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 13283 else 13284 ld_shlibs_CXX=no 13285 fi 13286 ;; 13287 13288 chorus*) 13289 case $cc_basename in 13290 *) 13291 # FIXME: insert proper C++ library support 13292 ld_shlibs_CXX=no 13293 ;; 13294 esac 13295 ;; 13296 13297 cygwin* | mingw* | pw32* | cegcc*) 13298 case $GXX,$cc_basename in 13299 ,cl* | no,cl*) 13300 # Native MSVC 13301 # hardcode_libdir_flag_spec is actually meaningless, as there is 13302 # no search path for DLLs. 13303 hardcode_libdir_flag_spec_CXX=' ' 13304 allow_undefined_flag_CXX=unsupported 13305 always_export_symbols_CXX=yes 13306 file_list_spec_CXX='@' 13307 # Tell ltmain to make .lib files, not .a files. 13308 libext=lib 13309 # Tell ltmain to make .dll files, not .so files. 13310 shrext_cmds=.dll 13311 # 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`" ; then 13314 cp "$export_symbols" "$output_objdir/$soname.def"; 13315 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 13316 else 13317 $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=yes 13324 # Don't use ranlib 13325 old_postinstall_cmds_CXX='chmod 644 $oldlib' 13326 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ 13327 lt_tool_outputfile="@TOOL_OUTPUT@"~ 13328 case $lt_outputfile in 13329 *.exe|*.EXE) ;; 13330 *) 13331 lt_outputfile=$lt_outputfile.exe 13332 lt_tool_outputfile=$lt_tool_outputfile.exe 13333 ;; 13334 esac~ 13335 func_to_tool_file "$lt_outputfile"~ 13336 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 13337 $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=unsupported 13348 always_export_symbols_CXX=no 13349 enable_shared_with_static_runtimes_CXX=yes 13350 13351 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 13352 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 as 13354 # 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`" ; then 13356 cp $export_symbols $output_objdir/$soname.def; 13357 else 13358 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 else 13363 ld_shlibs_CXX=no 13364 fi 13365 ;; 13366 esac 13367 ;; 13368 darwin* | rhapsody*) 13369 13370 13371 archive_cmds_need_lc_CXX=no 13372 hardcode_direct_CXX=no 13373 hardcode_automatic_CXX=yes 13374 hardcode_shlibpath_var_CXX=unsupported 13375 if test yes = "$lt_cv_ld_force_load"; then 13376 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 else 13379 whole_archive_flag_spec_CXX='' 13380 fi 13381 link_all_deplibs_CXX=yes 13382 allow_undefined_flag_CXX=$_lt_dar_allow_undefined 13383 case $cc_basename in 13384 ifort*|nagfor*) _lt_dar_can_shared=yes ;; 13385 *) _lt_dar_can_shared=$GCC ;; 13386 esac 13387 if test yes = "$_lt_dar_can_shared"; then 13388 output_verbose_link_cmd=func_echo_all 13389 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"; then 13394 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 fi 13397 13398 else 13399 ld_shlibs_CXX=no 13400 fi 13401 13402 ;; 13403 13404 os2*) 13405 hardcode_libdir_flag_spec_CXX='-L$libdir' 13406 hardcode_minus_L_CXX=yes 13407 allow_undefined_flag_CXX=unsupported 13408 shrext_cmds=.dll 13409 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`"; then 13422 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=yes 13430 ;; 13431 13432 dgux*) 13433 case $cc_basename in 13434 ec++*) 13435 # FIXME: insert proper C++ library support 13436 ld_shlibs_CXX=no 13437 ;; 13438 ghcx*) 13439 # Green Hills C++ Compiler 13440 # FIXME: insert proper C++ library support 13441 ld_shlibs_CXX=no 13442 ;; 13443 *) 13444 # FIXME: insert proper C++ library support 13445 ld_shlibs_CXX=no 13446 ;; 13447 esac 13448 ;; 13449 13450 freebsd2.*) 13451 # C++ shared libraries reported to be fairly broken before 13452 # switch to ELF 13453 ld_shlibs_CXX=no 13454 ;; 13455 13456 freebsd-elf*) 13457 archive_cmds_need_lc_CXX=no 13458 ;; 13459 13460 freebsd* | dragonfly*) 13461 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 13462 # conventions 13463 ld_shlibs_CXX=yes 13464 ;; 13465 13466 haiku*) 13467 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 13468 link_all_deplibs_CXX=yes 13469 ;; 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=yes 13476 hardcode_minus_L_CXX=yes # Not in the search PATH, 13477 # but as the default 13478 # location of the library. 13479 13480 case $cc_basename in 13481 CC*) 13482 # FIXME: insert proper C++ library support 13483 ld_shlibs_CXX=no 13484 ;; 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 lists 13488 # what "hidden" libraries, object files and flags are used when 13489 # linking a shared library. 13490 # 13491 # There doesn't appear to be a way to prevent this compiler from 13492 # explicitly linking system object files so we need to strip them 13493 # from the output so that they don't get included in the library 13494 # 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"; then 13499 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 else 13501 # FIXME: insert proper C++ library support 13502 ld_shlibs_CXX=no 13503 fi 13504 ;; 13505 esac 13506 ;; 13507 13508 hpux10*|hpux11*) 13509 if test no = "$with_gnu_ld"; then 13510 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' 13511 hardcode_libdir_separator_CXX=: 13512 13513 case $host_cpu in 13514 hppa*64*|ia64*) 13515 ;; 13516 *) 13517 export_dynamic_flag_spec_CXX='$wl-E' 13518 ;; 13519 esac 13520 fi 13521 case $host_cpu in 13522 hppa*64*|ia64*) 13523 hardcode_direct_CXX=no 13524 hardcode_shlibpath_var_CXX=no 13525 ;; 13526 *) 13527 hardcode_direct_CXX=yes 13528 hardcode_direct_absolute_CXX=yes 13529 hardcode_minus_L_CXX=yes # Not in the search PATH, 13530 # but as the default 13531 # location of the library. 13532 ;; 13533 esac 13534 13535 case $cc_basename in 13536 CC*) 13537 # FIXME: insert proper C++ library support 13538 ld_shlibs_CXX=no 13539 ;; 13540 aCC*) 13541 case $host_cpu in 13542 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 esac 13552 # Commands to make compiler produce verbose output that lists 13553 # what "hidden" libraries, object files and flags are used when 13554 # linking a shared library. 13555 # 13556 # There doesn't appear to be a way to prevent this compiler from 13557 # explicitly linking system object files so we need to strip them 13558 # from the output so that they don't get included in the library 13559 # 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"; then 13564 if test no = "$with_gnu_ld"; then 13565 case $host_cpu in 13566 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 esac 13576 fi 13577 else 13578 # FIXME: insert proper C++ library support 13579 ld_shlibs_CXX=no 13580 fi 13581 ;; 13582 esac 13583 ;; 13584 13585 interix[3-9]*) 13586 hardcode_direct_CXX=no 13587 hardcode_shlibpath_var_CXX=no 13588 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 by 13592 # default) and relocated if they conflict, which is a slow very memory 13593 # consuming and fragmenting process. To avoid this, we pick a random, 13594 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 13595 # 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 in 13601 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 using 13606 # "CC -ar", where "CC" is the IRIX C++ compiler. This is 13607 # necessary to make sure instantiated templates are included 13608 # in the archive. 13609 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' 13610 ;; 13611 *) 13612 if test yes = "$GXX"; then 13613 if test no = "$with_gnu_ld"; then 13614 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 else 13616 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 fi 13618 fi 13619 link_all_deplibs_CXX=yes 13620 ;; 13621 esac 13622 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' 13623 hardcode_libdir_separator_CXX=: 13624 inherit_rpath_CXX=yes 13625 ;; 13626 13627 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 13628 case $cc_basename in 13629 KCC*) 13630 # Kuck and Associates, Inc. (KAI) C++ Compiler 13631 13632 # KCC will only create a shared library if the output file 13633 # ends with ".so" (or ".sl" for HP-UX), so rename the library 13634 # 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 lists 13638 # what "hidden" libraries, object files and flags are used when 13639 # linking a shared library. 13640 # 13641 # There doesn't appear to be a way to prevent this compiler from 13642 # explicitly linking system object files so we need to strip them 13643 # from the output so that they don't get included in the library 13644 # 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 using 13651 # "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=yes 13657 # version 8.0 and above of icpc choke on multiply defined symbols 13658 # if we add $predep_objects and $postdep_objects, however 7.1 and 13659 # earlier do not add the objects themselves. 13660 case `$CC -V 2>&1` in 13661 *"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 newer 13666 tmp_idyn= 13667 case $host_cpu in 13668 ia64*) tmp_idyn=' -i_dynamic';; 13669 esac 13670 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 esac 13674 archive_cmds_need_lc_CXX=no 13675 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++ compiler 13681 case `$CC -V` in 13682 *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 symbols 13702 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 esac 13706 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_PATH 13717 hardcode_libdir_flag_spec_CXX='-rpath $libdir' 13718 hardcode_libdir_separator_CXX=: 13719 13720 # Commands to make compiler produce verbose output that lists 13721 # what "hidden" libraries, object files and flags are used when 13722 # linking a shared library. 13723 # 13724 # There doesn't appear to be a way to prevent this compiler from 13725 # explicitly linking system object files so we need to strip them 13726 # from the output so that they don't get included in the library 13727 # 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 ld 13732 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"; then 13736 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 fi 13741 ;; 13742 *) 13743 case `$CC -V 2>&1 | sed 5q` in 13744 *Sun\ C*) 13745 # Sun C++ 5.9 13746 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=yes 13752 13753 # Not sure whether something based on 13754 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 13755 # would be better. 13756 output_verbose_link_cmd='func_echo_all' 13757 13758 # Archives containing C++ object files must be created using 13759 # "CC -xar", where "CC" is the Sun C++ compiler. This is 13760 # necessary to make sure instantiated templates are included 13761 # in the archive. 13762 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' 13763 ;; 13764 esac 13765 ;; 13766 esac 13767 ;; 13768 13769 lynxos*) 13770 # FIXME: insert proper C++ library support 13771 ld_shlibs_CXX=no 13772 ;; 13773 13774 m88k*) 13775 # FIXME: insert proper C++ library support 13776 ld_shlibs_CXX=no 13777 ;; 13778 13779 mvs*) 13780 case $cc_basename in 13781 cxx*) 13782 # FIXME: insert proper C++ library support 13783 ld_shlibs_CXX=no 13784 ;; 13785 *) 13786 # FIXME: insert proper C++ library support 13787 ld_shlibs_CXX=no 13788 ;; 13789 esac 13790 ;; 13791 13792 netbsd*) 13793 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 13794 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=yes 13798 hardcode_shlibpath_var_CXX=no 13799 fi 13800 # Workaround some broken pre-1.5 toolchains 13801 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=yes 13806 ;; 13807 13808 openbsd* | bitrig*) 13809 if test -f /usr/libexec/ld.so; then 13810 hardcode_direct_CXX=yes 13811 hardcode_shlibpath_var_CXX=no 13812 hardcode_direct_absolute_CXX=yes 13813 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__`"; then 13816 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 fi 13820 output_verbose_link_cmd=func_echo_all 13821 else 13822 ld_shlibs_CXX=no 13823 fi 13824 ;; 13825 13826 osf3* | osf4* | osf5*) 13827 case $cc_basename in 13828 KCC*) 13829 # Kuck and Associates, Inc. (KAI) C++ Compiler 13830 13831 # KCC will only create a shared library if the output file 13832 # ends with ".so" (or ".sl" for HP-UX), so rename the library 13833 # 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 using 13840 # the KAI C++ compiler. 13841 case $host in 13842 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; 13843 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; 13844 esac 13845 ;; 13846 RCC*) 13847 # Rational C++ 2.4.1 13848 # FIXME: insert proper C++ library support 13849 ld_shlibs_CXX=no 13850 ;; 13851 cxx*) 13852 case $host in 13853 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 esac 13868 13869 hardcode_libdir_separator_CXX=: 13870 13871 # Commands to make compiler produce verbose output that lists 13872 # what "hidden" libraries, object files and flags are used when 13873 # linking a shared library. 13874 # 13875 # There doesn't appear to be a way to prevent this compiler from 13876 # explicitly linking system object files so we need to strip them 13877 # from the output so that they don't get included in the library 13878 # 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"; then 13883 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' 13884 case $host in 13885 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 esac 13892 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 lists 13897 # what "hidden" libraries, object files and flags are used when 13898 # 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 else 13902 # FIXME: insert proper C++ library support 13903 ld_shlibs_CXX=no 13904 fi 13905 ;; 13906 esac 13907 ;; 13908 13909 psos*) 13910 # FIXME: insert proper C++ library support 13911 ld_shlibs_CXX=no 13912 ;; 13913 13914 sunos4*) 13915 case $cc_basename in 13916 CC*) 13917 # Sun C++ 4.x 13918 # FIXME: insert proper C++ library support 13919 ld_shlibs_CXX=no 13920 ;; 13921 lcc*) 13922 # Lucid 13923 # FIXME: insert proper C++ library support 13924 ld_shlibs_CXX=no 13925 ;; 13926 *) 13927 # FIXME: insert proper C++ library support 13928 ld_shlibs_CXX=no 13929 ;; 13930 esac 13931 ;; 13932 13933 solaris*) 13934 case $cc_basename in 13935 CC* | sunCC*) 13936 # Sun C++ 4.2, 5.x and Centerline C++ 13937 archive_cmds_need_lc_CXX=yes 13938 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=no 13945 case $host_os in 13946 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 esac 13954 link_all_deplibs_CXX=yes 13955 13956 output_verbose_link_cmd='func_echo_all' 13957 13958 # Archives containing C++ object files must be created using 13959 # "CC -xar", where "CC" is the Sun C++ compiler. This is 13960 # necessary to make sure instantiated templates are included 13961 # in the archive. 13962 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' 13963 ;; 13964 gcx*) 13965 # Green Hills C++ Compiler 13966 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 linker 13973 if test yes,no = "$GXX,$with_gnu_ld"; then 13974 no_undefined_flag_CXX=' $wl-z ${wl}defs' 13975 if $CC --version | $GREP -v '^2\.7' > /dev/null; then 13976 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 lists 13981 # what "hidden" libraries, object files and flags are used when 13982 # linking a shared library. 13983 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 13984 else 13985 # g++ 2.7 appears to require '-G' NOT '-shared' on this 13986 # 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 lists 13992 # what "hidden" libraries, object files and flags are used when 13993 # linking a shared library. 13994 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 13995 fi 13996 13997 hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' 13998 case $host_os in 13999 solaris2.[0-5] | solaris2.[0-5].*) ;; 14000 *) 14001 whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 14002 ;; 14003 esac 14004 fi 14005 ;; 14006 esac 14007 ;; 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=no 14012 hardcode_shlibpath_var_CXX=no 14013 runpath_var='LD_RUN_PATH' 14014 14015 case $cc_basename in 14016 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 esac 14025 ;; 14026 14027 sysv5* | sco3.2v5* | sco5v6*) 14028 # Note: We CANNOT use -z defs as we might desire, because we do not 14029 # link with -lc, and that would cause any symbols used from libc to 14030 # always be unresolved, which means just about no library would 14031 # ever link correctly. If we're not using GNU ld we use -z text 14032 # though, which does catch some bad symbols but isn't as heavy-handed 14033 # 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=no 14037 hardcode_shlibpath_var_CXX=no 14038 hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' 14039 hardcode_libdir_separator_CXX=':' 14040 link_all_deplibs_CXX=yes 14041 export_dynamic_flag_spec_CXX='$wl-Bexport' 14042 runpath_var='LD_RUN_PATH' 14043 14044 case $cc_basename in 14045 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 esac 14058 ;; 14059 14060 tandem*) 14061 case $cc_basename in 14062 NCC*) 14063 # NonStop-UX NCC 3.20 14064 # FIXME: insert proper C++ library support 14065 ld_shlibs_CXX=no 14066 ;; 14067 *) 14068 # FIXME: insert proper C++ library support 14069 ld_shlibs_CXX=no 14070 ;; 14071 esac 14072 ;; 14073 14074 vxworks*) 14075 # FIXME: insert proper C++ library support 14076 ld_shlibs_CXX=no 14077 ;; 14078 14079 *) 14080 # FIXME: insert proper C++ library support 14081 ld_shlibs_CXX=no 14082 ;; 14083 esac 14084 14085 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 14086 $as_echo "$ld_shlibs_CXX" >&6; } 14087 test no = "$ld_shlibs_CXX" && can_build_shared=no 14088 14089 GCC_CXX=$GXX 14090 LD_CXX=$LD 14091 14092 ## CAVEAT EMPTOR: 14093 ## There is no encapsulation within the following macros, do not change 14094 ## the running order or otherwise move them around unless you know exactly 14095 ## 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_EOF 14104 class Foo 14105 { 14106 public: 14107 Foo (void) { a = 0; } 14108 private: 14109 int a; 14110 }; 14111 _LT_EOF 14112 14113 14114 _lt_libdeps_save_CFLAGS=$CFLAGS 14115 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 esac 14120 14121 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 14122 (eval $ac_compile) 2>&5 14123 ac_status=$? 14124 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 14125 test $ac_status = 0; }; then 14126 # Parse the compiler output and extract the necessary 14127 # objects, libraries and library flags. 14128 14129 # Sentinel used to keep track of whether or not we are before 14130 # the conftest object file. 14131 pre_test_object_deps_done=no 14132 14133 for p in `eval "$output_verbose_link_cmd"`; do 14134 case $prev$p in 14135 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"; then 14141 prev=$p 14142 continue 14143 fi 14144 14145 # Expand the sysroot to ease extracting the directories later. 14146 if test -z "$prev"; then 14147 case $p in 14148 -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 esac 14152 fi 14153 case $p in 14154 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 14155 esac 14156 if test no = "$pre_test_object_deps_done"; then 14157 case $prev in 14158 -L | -R) 14159 # Internal compiler library paths should come after those 14160 # provided the user. The postdeps already come after the 14161 # user supplied libs so there is no need to process them. 14162 if test -z "$compiler_lib_search_path_CXX"; then 14163 compiler_lib_search_path_CXX=$prev$p 14164 else 14165 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" 14166 fi 14167 ;; 14168 # The "-l" case would never come before the object being 14169 # linked, so don't bother handling this case. 14170 esac 14171 else 14172 if test -z "$postdeps_CXX"; then 14173 postdeps_CXX=$prev$p 14174 else 14175 postdeps_CXX="${postdeps_CXX} $prev$p" 14176 fi 14177 fi 14178 prev= 14179 ;; 14180 14181 *.lto.$objext) ;; # Ignore GCC LTO objects 14182 *.$objext) 14183 # This assumes that the test object file only shows up 14184 # once in the compiler output. 14185 if test "$p" = "conftest.$objext"; then 14186 pre_test_object_deps_done=yes 14187 continue 14188 fi 14189 14190 if test no = "$pre_test_object_deps_done"; then 14191 if test -z "$predep_objects_CXX"; then 14192 predep_objects_CXX=$p 14193 else 14194 predep_objects_CXX="$predep_objects_CXX $p" 14195 fi 14196 else 14197 if test -z "$postdep_objects_CXX"; then 14198 postdep_objects_CXX=$p 14199 else 14200 postdep_objects_CXX="$postdep_objects_CXX $p" 14201 fi 14202 fi 14203 ;; 14204 14205 *) ;; # Ignore the rest. 14206 14207 esac 14208 done 14209 14210 # Clean up. 14211 rm -f a.out a.exe 14212 else 14213 echo "libtool.m4: error: problem compiling CXX test program" 14214 fi 14215 14216 $RM -f confest.$objext 14217 CFLAGS=$_lt_libdeps_save_CFLAGS 14218 14219 # PORTME: override above test on systems where it is broken 14220 case $host_os in 14221 interix[3-9]*) 14222 # Interix 3.5 installs completely hosed .la files for C++, so rather than 14223 # hack all around it, let's just trust "g++" to DTRT. 14224 predep_objects_CXX= 14225 postdep_objects_CXX= 14226 postdeps_CXX= 14227 ;; 14228 esac 14229 14230 14231 case " $postdeps_CXX " in 14232 *" -lc "*) archive_cmds_need_lc_CXX=no ;; 14233 esac 14234 compiler_lib_search_dirs_CXX= 14235 if test -n "${compiler_lib_search_path_CXX}"; then 14236 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` 14237 fi 14238 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"; then 14276 lt_prog_compiler_wl_CXX='-Wl,' 14277 lt_prog_compiler_static_CXX='-static' 14278 14279 case $host_os in 14280 aix*) 14281 # All AIX code is PIC. 14282 if test ia64 = "$host_cpu"; then 14283 # AIX 5 now supports IA64 processor 14284 lt_prog_compiler_static_CXX='-Bstatic' 14285 fi 14286 lt_prog_compiler_pic_CXX='-fPIC' 14287 ;; 14288 14289 amigaos*) 14290 case $host_cpu in 14291 powerpc) 14292 # see comment about AmigaOS4 .so support 14293 lt_prog_compiler_pic_CXX='-fPIC' 14294 ;; 14295 m68k) 14296 # FIXME: we need at least 68020 code to build shared libraries, but 14297 # 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 esac 14302 ;; 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 being 14309 # built for inclusion in a dll (and should export symbols for example). 14310 # Although the cygwin gcc ignores -fPIC, still need this for old-style 14311 # (--disable-auto-import) libraries 14312 lt_prog_compiler_pic_CXX='-DDLL_EXPORT' 14313 case $host_os in 14314 os2*) 14315 lt_prog_compiler_static_CXX='$wl-static' 14316 ;; 14317 esac 14318 ;; 14319 darwin* | rhapsody*) 14320 # PIC is the default on this platform 14321 # Common symbols not allowed in MH_DYLIB files 14322 lt_prog_compiler_pic_CXX='-fno-common' 14323 ;; 14324 *djgpp*) 14325 # DJGPP does not support shared libraries at all 14326 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; then 14339 lt_prog_compiler_pic_CXX=-Kconform_pic 14340 fi 14341 ;; 14342 hpux*) 14343 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 14344 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 14345 # sets the default TLS model and affects inlining. 14346 case $host_cpu in 14347 hppa*64*) 14348 ;; 14349 *) 14350 lt_prog_compiler_pic_CXX='-fPIC' 14351 ;; 14352 esac 14353 ;; 14354 *qnx* | *nto*) 14355 # QNX uses GNU C++, but need to define -shared option too, otherwise 14356 # it will coredump. 14357 lt_prog_compiler_pic_CXX='-fPIC -shared' 14358 ;; 14359 *) 14360 lt_prog_compiler_pic_CXX='-fPIC' 14361 ;; 14362 esac 14363 else 14364 case $host_os in 14365 aix[4-9]*) 14366 # All AIX code is PIC. 14367 if test ia64 = "$host_cpu"; then 14368 # AIX 5 now supports IA64 processor 14369 lt_prog_compiler_static_CXX='-Bstatic' 14370 else 14371 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' 14372 fi 14373 ;; 14374 chorus*) 14375 case $cc_basename in 14376 cxch68*) 14377 # Green Hills C++ Compiler 14378 # _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 esac 14381 ;; 14382 mingw* | cygwin* | os2* | pw32* | cegcc*) 14383 # This hack is so that the source file can tell whether it is being 14384 # 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 in 14389 ec++*) 14390 lt_prog_compiler_pic_CXX='-KPIC' 14391 ;; 14392 ghcx*) 14393 # Green Hills C++ Compiler 14394 lt_prog_compiler_pic_CXX='-pic' 14395 ;; 14396 *) 14397 ;; 14398 esac 14399 ;; 14400 freebsd* | dragonfly*) 14401 # FreeBSD uses GNU C++ 14402 ;; 14403 hpux9* | hpux10* | hpux11*) 14404 case $cc_basename in 14405 CC*) 14406 lt_prog_compiler_wl_CXX='-Wl,' 14407 lt_prog_compiler_static_CXX='$wl-a ${wl}archive' 14408 if test ia64 != "$host_cpu"; then 14409 lt_prog_compiler_pic_CXX='+Z' 14410 fi 14411 ;; 14412 aCC*) 14413 lt_prog_compiler_wl_CXX='-Wl,' 14414 lt_prog_compiler_static_CXX='$wl-a ${wl}archive' 14415 case $host_cpu in 14416 hppa*64*|ia64*) 14417 # +Z the default 14418 ;; 14419 *) 14420 lt_prog_compiler_pic_CXX='+Z' 14421 ;; 14422 esac 14423 ;; 14424 *) 14425 ;; 14426 esac 14427 ;; 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 in 14434 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 esac 14442 ;; 14443 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 14444 case $cc_basename in 14445 KCC*) 14446 # KAI C++ Compiler 14447 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++ compiler 14465 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 Alpha 14472 # 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 BlueGene 14478 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` in 14484 *Sun\ C*) 14485 # Sun C++ 5.9 14486 lt_prog_compiler_pic_CXX='-KPIC' 14487 lt_prog_compiler_static_CXX='-Bstatic' 14488 lt_prog_compiler_wl_CXX='-Qoption ld ' 14489 ;; 14490 esac 14491 ;; 14492 esac 14493 ;; 14494 lynxos*) 14495 ;; 14496 m88k*) 14497 ;; 14498 mvs*) 14499 case $cc_basename in 14500 cxx*) 14501 lt_prog_compiler_pic_CXX='-W c,exportall' 14502 ;; 14503 *) 14504 ;; 14505 esac 14506 ;; 14507 netbsd* | netbsdelf*-gnu) 14508 ;; 14509 *qnx* | *nto*) 14510 # QNX uses GNU C++, but need to define -shared option too, otherwise 14511 # it will coredump. 14512 lt_prog_compiler_pic_CXX='-fPIC -shared' 14513 ;; 14514 osf3* | osf4* | osf5*) 14515 case $cc_basename in 14516 KCC*) 14517 lt_prog_compiler_wl_CXX='--backend -Wl,' 14518 ;; 14519 RCC*) 14520 # Rational C++ 2.4.1 14521 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 Alpha 14527 # 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 esac 14534 ;; 14535 psos*) 14536 ;; 14537 solaris*) 14538 case $cc_basename in 14539 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++ Compiler 14547 lt_prog_compiler_pic_CXX='-PIC' 14548 ;; 14549 *) 14550 ;; 14551 esac 14552 ;; 14553 sunos4*) 14554 case $cc_basename in 14555 CC*) 14556 # Sun C++ 4.x 14557 lt_prog_compiler_pic_CXX='-pic' 14558 lt_prog_compiler_static_CXX='-Bstatic' 14559 ;; 14560 lcc*) 14561 # Lucid 14562 lt_prog_compiler_pic_CXX='-pic' 14563 ;; 14564 *) 14565 ;; 14566 esac 14567 ;; 14568 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 14569 case $cc_basename in 14570 CC*) 14571 lt_prog_compiler_wl_CXX='-Wl,' 14572 lt_prog_compiler_pic_CXX='-KPIC' 14573 lt_prog_compiler_static_CXX='-Bstatic' 14574 ;; 14575 esac 14576 ;; 14577 tandem*) 14578 case $cc_basename in 14579 NCC*) 14580 # NonStop-UX NCC 3.20 14581 lt_prog_compiler_pic_CXX='-KPIC' 14582 ;; 14583 *) 14584 ;; 14585 esac 14586 ;; 14587 vxworks*) 14588 ;; 14589 *) 14590 lt_prog_compiler_can_build_shared_CXX=no 14591 ;; 14592 esac 14593 fi 14594 14595 case $host_os in 14596 # 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 esac 14604 14605 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 14606 $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) " >&6 14609 else 14610 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX 14611 fi 14612 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 14613 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } 14614 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX 14615 14616 # 14617 # Check to make sure the PIC flag actually works. 14618 # 14619 if test -n "$lt_prog_compiler_pic_CXX"; then 14620 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 14621 $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) " >&6 14624 else 14625 lt_cv_prog_compiler_pic_works_CXX=no 14626 ac_outfile=conftest.$ac_objext 14627 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 14628 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment 14629 # Insert the option either (1) after the last *FLAGS variable, or 14630 # (2) before a word containing "conftest.", or (3) at the end. 14631 # Note that $ac_compile itself does not contain backslashes and begins 14632 # 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 >&5 14642 echo "$as_me:$LINENO: \$? = $ac_status" >&5 14643 if (exit $ac_status) && test -s "$ac_outfile"; then 14644 # The compiler can only warn and ignore the option if not recognized 14645 # So say no if there are warnings other than the usual output. 14646 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 14647 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 14648 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 14649 lt_cv_prog_compiler_pic_works_CXX=yes 14650 fi 14651 fi 14652 $RM conftest* 14653 14654 fi 14655 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 14656 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } 14657 14658 if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then 14659 case $lt_prog_compiler_pic_CXX in 14660 "" | " "*) ;; 14661 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; 14662 esac 14663 else 14664 lt_prog_compiler_pic_CXX= 14665 lt_prog_compiler_can_build_shared_CXX=no 14666 fi 14667 14668 fi 14669 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" >&5 14679 $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) " >&6 14682 else 14683 lt_cv_prog_compiler_static_works_CXX=no 14684 save_LDFLAGS=$LDFLAGS 14685 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" 14686 echo "$lt_simple_link_test_code" > conftest.$ac_ext 14687 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 14688 # The linker can only warn and ignore the option if not recognized 14689 # So say no if there are warnings 14690 if test -s conftest.err; then 14691 # Append any errors to the config.log. 14692 cat conftest.err 1>&5 14693 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 14694 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 14695 if diff conftest.exp conftest.er2 >/dev/null; then 14696 lt_cv_prog_compiler_static_works_CXX=yes 14697 fi 14698 else 14699 lt_cv_prog_compiler_static_works_CXX=yes 14700 fi 14701 fi 14702 $RM -r conftest* 14703 LDFLAGS=$save_LDFLAGS 14704 14705 fi 14706 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 14707 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } 14708 14709 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then 14710 : 14711 else 14712 lt_prog_compiler_static_CXX= 14713 fi 14714 14715 14716 14717 14718 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 14719 $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) " >&6 14722 else 14723 lt_cv_prog_compiler_c_o_CXX=no 14724 $RM -r conftest 2>/dev/null 14725 mkdir conftest 14726 cd conftest 14727 mkdir out 14728 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 14729 14730 lt_compiler_flag="-o out/conftest2.$ac_objext" 14731 # Insert the option either (1) after the last *FLAGS variable, or 14732 # (2) before a word containing "conftest.", or (3) at the end. 14733 # Note that $ac_compile itself does not contain backslashes and begins 14734 # 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 >&5 14743 echo "$as_me:$LINENO: \$? = $ac_status" >&5 14744 if (exit $ac_status) && test -s out/conftest2.$ac_objext 14745 then 14746 # The compiler can only warn and ignore the option if not recognized 14747 # So say no if there are warnings 14748 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 14749 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 14750 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 14751 lt_cv_prog_compiler_c_o_CXX=yes 14752 fi 14753 fi 14754 chmod u+w . 2>&5 14755 $RM conftest* 14756 # SGI C++ compiler will create directory out/ii_files/ for 14757 # template instantiation 14758 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 14759 $RM out/* && rmdir out 14760 cd .. 14761 $RM -r conftest 14762 $RM conftest* 14763 14764 fi 14765 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 14766 $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" >&5 14771 $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) " >&6 14774 else 14775 lt_cv_prog_compiler_c_o_CXX=no 14776 $RM -r conftest 2>/dev/null 14777 mkdir conftest 14778 cd conftest 14779 mkdir out 14780 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 14781 14782 lt_compiler_flag="-o out/conftest2.$ac_objext" 14783 # Insert the option either (1) after the last *FLAGS variable, or 14784 # (2) before a word containing "conftest.", or (3) at the end. 14785 # Note that $ac_compile itself does not contain backslashes and begins 14786 # 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 >&5 14795 echo "$as_me:$LINENO: \$? = $ac_status" >&5 14796 if (exit $ac_status) && test -s out/conftest2.$ac_objext 14797 then 14798 # The compiler can only warn and ignore the option if not recognized 14799 # So say no if there are warnings 14800 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 14801 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 14802 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 14803 lt_cv_prog_compiler_c_o_CXX=yes 14804 fi 14805 fi 14806 chmod u+w . 2>&5 14807 $RM conftest* 14808 # SGI C++ compiler will create directory out/ii_files/ for 14809 # template instantiation 14810 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 14811 $RM out/* && rmdir out 14812 cd .. 14813 $RM -r conftest 14814 $RM conftest* 14815 14816 fi 14817 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 14818 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } 14819 14820 14821 14822 14823 hard_links=nottested 14824 if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then 14825 # do not overwrite the value of need_locks provided by the user 14826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 14827 $as_echo_n "checking if we can lock with hard links... " >&6; } 14828 hard_links=yes 14829 $RM conftest* 14830 ln conftest.a conftest.b 2>/dev/null && hard_links=no 14831 touch conftest.a 14832 ln conftest.a conftest.b 2>&5 || hard_links=no 14833 ln conftest.a conftest.b 2>/dev/null && hard_links=no 14834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 14835 $as_echo "$hard_links" >&6; } 14836 if test no = "$hard_links"; then 14837 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 14838 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} 14839 need_locks=warn 14840 fi 14841 else 14842 need_locks=no 14843 fi 14844 14845 14846 14847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 14848 $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 in 14853 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 treats 14857 # weak defined symbols like other global defined symbols, whereas 14858 # GNU nm marks them as "W". 14859 # While the 'weak' keyword is ignored in the Export File, we need 14860 # it in the Import File for the 'aix-soname' feature, so we have 14861 # to replace the "-B" option with "-P" for AIX nm. 14862 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 14863 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 else 14865 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 fi 14867 ;; 14868 pw32*) 14869 export_symbols_cmds_CXX=$ltdll_cmds 14870 ;; 14871 cygwin* | mingw* | cegcc*) 14872 case $cc_basename in 14873 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 esac 14881 ;; 14882 linux* | k*bsd*-gnu | gnu*) 14883 link_all_deplibs_CXX=no 14884 ;; 14885 *) 14886 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 14887 ;; 14888 esac 14889 14890 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 14891 $as_echo "$ld_shlibs_CXX" >&6; } 14892 test no = "$ld_shlibs_CXX" && can_build_shared=no 14893 14894 with_gnu_ld_CXX=$with_gnu_ld 14895 14896 14897 14898 14899 14900 14901 # 14902 # Do we need to explicitly link libc? 14903 # 14904 case "x$archive_cmds_need_lc_CXX" in 14905 x|xyes) 14906 # Assume -lc should be added 14907 archive_cmds_need_lc_CXX=yes 14908 14909 if test yes,yes = "$GCC,$enable_shared"; then 14910 case $archive_cmds_CXX in 14911 *'~'*) 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 some 14916 # systems, -lgcc has to come before -lc. If gcc already passes -lc 14917 # to ld, don't add -lc before -lgcc. 14918 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 14919 $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) " >&6 14922 else 14923 $RM conftest* 14924 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 14925 14926 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 14927 (eval $ac_compile) 2>&5 14928 ac_status=$? 14929 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 14930 test $ac_status = 0; } 2>conftest.err; then 14931 soname=conftest 14932 lib=conftest 14933 libobjs=conftest.$ac_objext 14934 deplibs= 14935 wl=$lt_prog_compiler_wl_CXX 14936 pic_flag=$lt_prog_compiler_pic_CXX 14937 compiler_flags=-v 14938 linker_flags=-v 14939 verstring= 14940 output_objdir=. 14941 libname=conftest 14942 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX 14943 allow_undefined_flag_CXX= 14944 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 14945 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 14946 ac_status=$? 14947 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 14948 test $ac_status = 0; } 14949 then 14950 lt_cv_archive_cmds_need_lc_CXX=no 14951 else 14952 lt_cv_archive_cmds_need_lc_CXX=yes 14953 fi 14954 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag 14955 else 14956 cat conftest.err 1>&5 14957 fi 14958 $RM conftest* 14959 14960 fi 14961 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 14962 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } 14963 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX 14964 ;; 14965 esac 14966 fi 14967 ;; 14968 esac 14969 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" >&5 15032 $as_echo_n "checking dynamic linker characteristics... " >&6; } 15033 15034 library_names_spec= 15035 libname_spec='lib$name' 15036 soname_spec= 15037 shrext_cmds=.so 15038 postinstall_cmds= 15039 postuninstall_cmds= 15040 finish_cmds= 15041 finish_eval= 15042 shlibpath_var= 15043 shlibpath_overrides_runpath=unknown 15044 version_type=none 15045 dynamic_linker="$host_os ld.so" 15046 sys_lib_dlsearch_path_spec="/lib /usr/lib" 15047 need_lib_prefix=unknown 15048 hardcode_into_libs=no 15049 15050 # when you set need_version to no, make sure it does not cause -set_version 15051 # flags to be left without arguments 15052 need_version=unknown 15053 15054 15055 15056 case $host_os in 15057 aix3*) 15058 version_type=linux # correct to gnu/linux during the next big refactor 15059 library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 15060 shlibpath_var=LIBPATH 15061 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 refactor 15068 need_lib_prefix=no 15069 need_version=no 15070 hardcode_into_libs=yes 15071 if test ia64 = "$host_cpu"; then 15072 # AIX 5 supports IA64 15073 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 15074 shlibpath_var=LD_LIBRARY_PATH 15075 else 15076 # With GCC up to 2.95.x, collect2 would create an import file 15077 # for dependence libraries. The import file would start with 15078 # the line '#! .'. This would cause the generated library to 15079 # depend on '.', always an invalid library. This was fixed in 15080 # development snapshots of GCC prior to 3.0. 15081 case $host_os in 15082 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; then 15086 : 15087 else 15088 can_build_shared=no 15089 fi 15090 ;; 15091 esac 15092 # Using Import Files as archive members, it is possible to support 15093 # filename-based versioning of shared library archives on AIX. While 15094 # this would work for both with and without runtime linking, it will 15095 # prevent static linking of such archives. So we do filename-based 15096 # shared library versioning with .so extension only, which is used 15097 # when both runtime linking and shared linking is enabled. 15098 # Unfortunately, runtime linking may impact performance, so we do 15099 # not want this to be the default eventually. Also, we use the 15100 # versioned .so libs for executables only if there is the -brtl 15101 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 15102 # To allow for filename-based versioning support, we need to create 15103 # libNAME.so.V as an archive file, containing: 15104 # *) an Import File, referring to the versioned filename of the 15105 # archive as well as the shared archive member, telling the 15106 # bitwidth (32 or 64) of that shared object, and providing the 15107 # list of exported symbols of that shared object, eventually 15108 # decorated with the 'weak' keyword 15109 # *) the shared object with the F_LOADONLY flag set, to really avoid 15110 # 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.V 15113 15114 case $with_aix_soname,$aix_use_runtimelinking in 15115 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 15116 # soname into executable. Probably we can add versioning support to 15117 # collect2, so additional links can be useful in future. 15118 aix,yes) # traditional libtool 15119 dynamic_linker='AIX unversionable lib.so' 15120 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 15121 # instead of lib<name>.a to let people know that these are not 15122 # 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 only 15126 dynamic_linker='AIX lib.a(lib.so.V)' 15127 # We preserve .a as extension for shared libraries through AIX4.2 15128 # 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 only 15133 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=yes 15137 ;; 15138 *,yes) # both, prefer svr4 15139 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 handling 15142 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=yes 15146 ;; 15147 *,no) # both, prefer aix 15148 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 handling 15152 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 esac 15156 shlibpath_var=LIBPATH 15157 fi 15158 ;; 15159 15160 amigaos*) 15161 case $host_cpu in 15162 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 esac 15173 ;; 15174 15175 beos*) 15176 library_names_spec='$libname$shared_ext' 15177 dynamic_linker="$host_os ld.so" 15178 shlibpath_var=LIBRARY_PATH 15179 ;; 15180 15181 bsdi[45]*) 15182 version_type=linux # correct to gnu/linux during the next big refactor 15183 need_version=no 15184 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_PATH 15188 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 and 15191 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 15192 # libtool to hard-code these into programs 15193 ;; 15194 15195 cygwin* | mingw* | pw32* | cegcc*) 15196 version_type=windows 15197 shrext_cmds=.dll 15198 need_version=no 15199 need_lib_prefix=no 15200 15201 case $GCC,$cc_basename in 15202 yes,*) 15203 # gcc 15204 library_names_spec='$libname.dll.a' 15205 # DLL is installed to $(libdir)/../bin by postinstall_cmds 15206 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'\''; then 15213 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=yes 15219 15220 case $host_os in 15221 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' prefix 15228 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 esac 15235 dynamic_linker='Win32 ld.exe' 15236 ;; 15237 15238 *,cl*) 15239 # Native MSVC 15240 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 in 15245 mingw*) 15246 sys_lib_search_path_spec= 15247 lt_save_ifs=$IFS 15248 IFS=';' 15249 for lt_path in $LIB 15250 do 15251 IFS=$lt_save_ifs 15252 # 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 done 15256 IFS=$lt_save_ifs 15257 # 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 form 15262 # but this time dos style (no spaces!) so that the unix form looks 15263 # 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=$LIB 15270 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then 15271 # 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 else 15274 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 15275 fi 15276 # FIXME: find the short name or the path components, as spaces are 15277 # common. (e.g. "Program Files" -> "PROGRA~1") 15278 ;; 15279 esac 15280 15281 # DLL is installed to $(libdir)/../bin by postinstall_cmds 15282 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=yes 15291 dynamic_linker='Win32 link.exe' 15292 ;; 15293 15294 *) 15295 # Assume MSVC wrapper 15296 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' 15297 dynamic_linker='Win32 ld.exe' 15298 ;; 15299 esac 15300 # FIXME: first we should search . and the directory the executable is in 15301 shlibpath_var=PATH 15302 ;; 15303 15304 darwin* | rhapsody*) 15305 dynamic_linker="$host_os dyld" 15306 version_type=darwin 15307 need_lib_prefix=no 15308 need_version=no 15309 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 15310 soname_spec='$libname$release$major$shared_ext' 15311 shlibpath_overrides_runpath=yes 15312 shlibpath_var=DYLD_LIBRARY_PATH 15313 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 refactor 15320 need_lib_prefix=no 15321 need_version=no 15322 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_PATH 15325 ;; 15326 15327 freebsd* | dragonfly*) 15328 # DragonFly does not have aout. When/if they implement a new 15329 # versioning mechanism, adjust this. 15330 if test -x /usr/bin/objformat; then 15331 objformat=`/usr/bin/objformat` 15332 else 15333 case $host_os in 15334 freebsd[23].*) objformat=aout ;; 15335 *) objformat=elf ;; 15336 esac 15337 fi 15338 version_type=freebsd-$objformat 15339 case $version_type in 15340 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=no 15344 need_lib_prefix=no 15345 ;; 15346 freebsd-*) 15347 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 15348 need_version=yes 15349 ;; 15350 esac 15351 shlibpath_var=LD_LIBRARY_PATH 15352 case $host_os in 15353 freebsd2.*) 15354 shlibpath_overrides_runpath=yes 15355 ;; 15356 freebsd3.[01]* | freebsdelf3.[01]*) 15357 shlibpath_overrides_runpath=yes 15358 hardcode_into_libs=yes 15359 ;; 15360 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ 15361 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) 15362 shlibpath_overrides_runpath=no 15363 hardcode_into_libs=yes 15364 ;; 15365 *) # from 4.6 on, and DragonFly 15366 shlibpath_overrides_runpath=yes 15367 hardcode_into_libs=yes 15368 ;; 15369 esac 15370 ;; 15371 15372 haiku*) 15373 version_type=linux # correct to gnu/linux during the next big refactor 15374 need_lib_prefix=no 15375 need_version=no 15376 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_PATH 15380 shlibpath_overrides_runpath=no 15381 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 15382 hardcode_into_libs=yes 15383 ;; 15384 15385 hpux9* | hpux10* | hpux11*) 15386 # Give a soname corresponding to the major version so that dld.sl refuses to 15387 # link against other versions. 15388 version_type=sunos 15389 need_lib_prefix=no 15390 need_version=no 15391 case $host_cpu in 15392 ia64*) 15393 shrext_cmds='.so' 15394 hardcode_into_libs=yes 15395 dynamic_linker="$host_os dld.so" 15396 shlibpath_var=LD_LIBRARY_PATH 15397 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"; then 15401 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 15402 sys_lib_dlsearch_path_spec=/usr/lib/hpux32 15403 else 15404 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 15405 sys_lib_dlsearch_path_spec=/usr/lib/hpux64 15406 fi 15407 ;; 15408 hppa*64*) 15409 shrext_cmds='.sl' 15410 hardcode_into_libs=yes 15411 dynamic_linker="$host_os dld.sl" 15412 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 15413 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_spec 15418 ;; 15419 *) 15420 shrext_cmds='.sl' 15421 dynamic_linker="$host_os dld.sl" 15422 shlibpath_var=SHLIB_PATH 15423 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 15424 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 esac 15428 # 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=555 15432 ;; 15433 15434 interix[3-9]*) 15435 version_type=linux # correct to gnu/linux during the next big refactor 15436 need_lib_prefix=no 15437 need_version=no 15438 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_PATH 15442 shlibpath_overrides_runpath=no 15443 hardcode_into_libs=yes 15444 ;; 15445 15446 irix5* | irix6* | nonstopux*) 15447 case $host_os in 15448 nonstopux*) version_type=nonstopux ;; 15449 *) 15450 if test yes = "$lt_cv_prog_gnu_ld"; then 15451 version_type=linux # correct to gnu/linux during the next big refactor 15452 else 15453 version_type=irix 15454 fi ;; 15455 esac 15456 need_lib_prefix=no 15457 need_version=no 15458 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 in 15461 irix5* | nonstopux*) 15462 libsuff= shlibsuff= 15463 ;; 15464 *) 15465 case $LD in # libtool.m4 will add one of these switches to LD 15466 *-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 esac 15474 ;; 15475 esac 15476 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 15477 shlibpath_overrides_runpath=no 15478 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=yes 15481 ;; 15482 15483 # No shared lib support for Linux oldld, aout, or coff. 15484 linux*oldld* | linux*aout* | linux*coff*) 15485 dynamic_linker=no 15486 ;; 15487 15488 linux*android*) 15489 version_type=none # Android doesn't support versioned libraries. 15490 need_lib_prefix=no 15491 need_version=no 15492 library_names_spec='$libname$release$shared_ext' 15493 soname_spec='$libname$release$shared_ext' 15494 finish_cmds= 15495 shlibpath_var=LD_LIBRARY_PATH 15496 shlibpath_overrides_runpath=yes 15497 15498 # This implies no fast_install, which is unacceptable. 15499 # Some rework will be needed to allow for fast_install 15500 # before this can be enabled. 15501 hardcode_into_libs=yes 15502 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 refactor 15511 need_lib_prefix=no 15512 need_version=no 15513 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_PATH 15517 shlibpath_overrides_runpath=no 15518 15519 # Some binutils ld are patched to set DT_RUNPATH 15520 if ${lt_cv_shlibpath_overrides_runpath+:} false; then : 15521 $as_echo_n "(cached) " >&6 15522 else 15523 lt_cv_shlibpath_overrides_runpath=no 15524 save_LDFLAGS=$LDFLAGS 15525 save_libdir=$libdir 15526 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ 15527 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" 15528 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 15529 /* end confdefs.h. */ 15530 15531 int 15532 main () 15533 { 15534 15535 ; 15536 return 0; 15537 } 15538 _ACEOF 15539 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=yes 15542 fi 15543 fi 15544 rm -f core conftest.err conftest.$ac_objext \ 15545 conftest$ac_exeext conftest.$ac_ext 15546 LDFLAGS=$save_LDFLAGS 15547 libdir=$save_libdir 15548 15549 fi 15550 15551 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 15552 15553 # This implies no fast_install, which is unacceptable. 15554 # Some rework will be needed to allow for fast_install 15555 # before this can be enabled. 15556 hardcode_into_libs=yes 15557 15558 # Ideally, we could use ldconfig to report *all* directores which are 15559 # searched for libraries, however this is still not possible. Aside from not 15560 # being certain /sbin/ldconfig is available, command 15561 # '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 by 15563 # appending ld.so.conf contents (and includes) to the search path. 15564 if test -f /etc/ld.so.conf; then 15565 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 fi 15568 15569 # We used to test for /lib/ld.so.1 and disable shared libraries on 15570 # powerpc, because MkLinux only supported shared libraries with the 15571 # GNU dynamic linker. Since this was broken with cross compilers, 15572 # most powerpc-linux boxes support dynamic linking these days and 15573 # people can always --disable-shared, the test was removed, and we 15574 # assume the GNU/Linux dynamic linker is in use. 15575 dynamic_linker='GNU/Linux ld.so' 15576 ;; 15577 15578 netbsdelf*-gnu) 15579 version_type=linux 15580 need_lib_prefix=no 15581 need_version=no 15582 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_PATH 15585 shlibpath_overrides_runpath=no 15586 hardcode_into_libs=yes 15587 dynamic_linker='NetBSD ld.elf_so' 15588 ;; 15589 15590 netbsd*) 15591 version_type=sunos 15592 need_lib_prefix=no 15593 need_version=no 15594 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 15595 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 else 15599 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 fi 15603 shlibpath_var=LD_LIBRARY_PATH 15604 shlibpath_overrides_runpath=yes 15605 hardcode_into_libs=yes 15606 ;; 15607 15608 newsos6) 15609 version_type=linux # correct to gnu/linux during the next big refactor 15610 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 15611 shlibpath_var=LD_LIBRARY_PATH 15612 shlibpath_overrides_runpath=yes 15613 ;; 15614 15615 *nto* | *qnx*) 15616 version_type=qnx 15617 need_lib_prefix=no 15618 need_version=no 15619 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_PATH 15622 shlibpath_overrides_runpath=no 15623 hardcode_into_libs=yes 15624 dynamic_linker='ldqnx.so' 15625 ;; 15626 15627 openbsd* | bitrig*) 15628 version_type=sunos 15629 sys_lib_dlsearch_path_spec=/usr/lib 15630 need_lib_prefix=no 15631 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 15632 need_version=no 15633 else 15634 need_version=yes 15635 fi 15636 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_PATH 15639 shlibpath_overrides_runpath=yes 15640 ;; 15641 15642 os2*) 15643 libname_spec='$name' 15644 version_type=windows 15645 shrext_cmds=.dll 15646 need_version=no 15647 need_lib_prefix=no 15648 # 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=BEGINLIBPATH 15656 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 15657 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 15658 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'\''; then 15665 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=osf 15674 need_lib_prefix=no 15675 need_version=no 15676 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_PATH 15679 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_spec 15681 ;; 15682 15683 rdos*) 15684 dynamic_linker=no 15685 ;; 15686 15687 solaris*) 15688 version_type=linux # correct to gnu/linux during the next big refactor 15689 need_lib_prefix=no 15690 need_version=no 15691 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_PATH 15694 shlibpath_overrides_runpath=yes 15695 hardcode_into_libs=yes 15696 # ldd complains unless libraries are executable 15697 postinstall_cmds='chmod +x $lib' 15698 ;; 15699 15700 sunos4*) 15701 version_type=sunos 15702 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_PATH 15705 shlibpath_overrides_runpath=yes 15706 if test yes = "$with_gnu_ld"; then 15707 need_lib_prefix=no 15708 fi 15709 need_version=yes 15710 ;; 15711 15712 sysv4 | sysv4.3*) 15713 version_type=linux # correct to gnu/linux during the next big refactor 15714 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_PATH 15717 case $host_vendor in 15718 sni) 15719 shlibpath_overrides_runpath=no 15720 need_lib_prefix=no 15721 runpath_var=LD_RUN_PATH 15722 ;; 15723 siemens) 15724 need_lib_prefix=no 15725 ;; 15726 motorola) 15727 need_lib_prefix=no 15728 need_version=no 15729 shlibpath_overrides_runpath=no 15730 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 15731 ;; 15732 esac 15733 ;; 15734 15735 sysv4*MP*) 15736 if test -d /usr/nec; then 15737 version_type=linux # correct to gnu/linux during the next big refactor 15738 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_PATH 15741 fi 15742 ;; 15743 15744 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 15745 version_type=sco 15746 need_lib_prefix=no 15747 need_version=no 15748 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_PATH 15751 shlibpath_overrides_runpath=yes 15752 hardcode_into_libs=yes 15753 if test yes = "$with_gnu_ld"; then 15754 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 15755 else 15756 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 15757 case $host_os in 15758 sco3.2v5*) 15759 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 15760 ;; 15761 esac 15762 fi 15763 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 refactor 15769 need_lib_prefix=no 15770 need_version=no 15771 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 15772 shlibpath_var=LD_LIBRARY_PATH 15773 shlibpath_overrides_runpath=no 15774 hardcode_into_libs=yes 15775 ;; 15776 15777 uts4*) 15778 version_type=linux # correct to gnu/linux during the next big refactor 15779 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_PATH 15782 ;; 15783 15784 *) 15785 dynamic_linker=no 15786 ;; 15787 esac 15788 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 15789 $as_echo "$dynamic_linker" >&6; } 15790 test no = "$dynamic_linker" && can_build_shared=no 15791 15792 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 15793 if test yes = "$GCC"; then 15794 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 15795 fi 15796 15797 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 15798 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 15799 fi 15800 15801 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 15802 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 15803 fi 15804 15805 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 15806 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 15807 15808 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 15809 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 libtool 15812 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 15813 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" >&5 15854 $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"; then 15859 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, we 15863 # have to relink, otherwise we might link with an installed library 15864 # when we should be linking with a yet-to-be-installed one 15865 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && 15866 test no != "$hardcode_minus_L_CXX"; then 15867 # Linking always hardcodes the temporary library directory. 15868 hardcode_action_CXX=relink 15869 else 15870 # We can link without hardcoding, and we can hardcode nonexisting dirs. 15871 hardcode_action_CXX=immediate 15872 fi 15873 else 15874 # We cannot hardcode anything, or else we can only hardcode existing 15875 # directories. 15876 hardcode_action_CXX=unsupported 15877 fi 15878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 15879 $as_echo "$hardcode_action_CXX" >&6; } 15880 15881 if test relink = "$hardcode_action_CXX" || 15882 test yes = "$inherit_rpath_CXX"; then 15883 # Fast installation is not supported 15884 enable_fast_install=no 15885 elif test yes = "$shlibpath_overrides_runpath" || 15886 test no = "$enable_shared"; then 15887 # Fast installation is not necessary 15888 enable_fast_install=needless 15889 fi 15890 15891 15892 15893 15894 15895 15896 15897 fi # test -n "$compiler" 15898 15899 CC=$lt_save_CC 15900 CFLAGS=$lt_save_CFLAGS 15901 LDCXX=$LD 15902 LD=$lt_save_LD 15903 GCC=$lt_save_GCC 15904 with_gnu_ld=$lt_save_with_gnu_ld 15905 lt_cv_path_LDCXX=$lt_cv_path_LD 15906 lt_cv_path_LD=$lt_save_path_LD 15907 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 15908 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 15909 fi # test yes != "$_lt_caught_CXX_error" 15910 15911 ac_ext=c 15912 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_gnu 15916 15917 3331 15918 ac_ext=c 3332 15919 ac_cpp='$CPP $CPPFLAGS' … … 4189 16776 4190 16777 16778 4191 16779 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 4192 16780 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } … … 4218 16806 $as_echo "no" >&6; } 4219 16807 SET_MAKE="MAKE=${MAKE-make}" 4220 fi4221 4222 if test -n "$ac_tool_prefix"; then4223 # 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=$24225 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54226 $as_echo_n "checking for $ac_word... " >&6; }4227 if ${ac_cv_prog_RANLIB+:} false; then :4228 $as_echo_n "(cached) " >&64229 else4230 if test -n "$RANLIB"; then4231 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.4232 else4233 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4234 for as_dir in $PATH4235 do4236 IFS=$as_save_IFS4237 test -z "$as_dir" && as_dir=.4238 for ac_exec_ext in '' $ac_executable_extensions; do4239 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4240 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"4241 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54242 break 24243 fi4244 done4245 done4246 IFS=$as_save_IFS4247 4248 fi4249 fi4250 RANLIB=$ac_cv_prog_RANLIB4251 if test -n "$RANLIB"; then4252 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&54253 $as_echo "$RANLIB" >&6; }4254 else4255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54256 $as_echo "no" >&6; }4257 fi4258 4259 4260 fi4261 if test -z "$ac_cv_prog_RANLIB"; then4262 ac_ct_RANLIB=$RANLIB4263 # Extract the first word of "ranlib", so it can be a program name with args.4264 set dummy ranlib; ac_word=$24265 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54266 $as_echo_n "checking for $ac_word... " >&6; }4267 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :4268 $as_echo_n "(cached) " >&64269 else4270 if test -n "$ac_ct_RANLIB"; then4271 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.4272 else4273 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4274 for as_dir in $PATH4275 do4276 IFS=$as_save_IFS4277 test -z "$as_dir" && as_dir=.4278 for ac_exec_ext in '' $ac_executable_extensions; do4279 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4280 ac_cv_prog_ac_ct_RANLIB="ranlib"4281 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54282 break 24283 fi4284 done4285 done4286 IFS=$as_save_IFS4287 4288 fi4289 fi4290 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB4291 if test -n "$ac_ct_RANLIB"; then4292 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&54293 $as_echo "$ac_ct_RANLIB" >&6; }4294 else4295 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54296 $as_echo "no" >&6; }4297 fi4298 4299 if test "x$ac_ct_RANLIB" = x; then4300 RANLIB=":"4301 else4302 case $cross_compiling:$ac_tool_warned in4303 yes:)4304 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&54305 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}4306 ac_tool_warned=yes ;;4307 esac4308 RANLIB=$ac_ct_RANLIB4309 fi4310 else4311 RANLIB="$ac_cv_prog_RANLIB"4312 16808 fi 4313 16809 … … 4477 16973 fi 4478 16974 16975 if test -z "${BUILDLIB_TRUE}" && test -z "${BUILDLIB_FALSE}"; then 16976 as_fn_error $? "conditional \"BUILDLIB\" was never defined. 16977 Usually this means the macro was only invoked conditionally." "$LINENO" 5 16978 fi 4479 16979 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then 4480 16980 as_fn_error $? "conditional \"AMDEP\" was never defined. 16981 Usually this means the macro was only invoked conditionally." "$LINENO" 5 16982 fi 16983 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then 16984 as_fn_error $? "conditional \"am__fastdepCC\" was never defined. 4481 16985 Usually this means the macro was only invoked conditionally." "$LINENO" 5 4482 16986 fi … … 5057 17561 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 5058 17562 17563 17564 # The HP-UX ksh and POSIX shell print the target directory to stdout 17565 # if CDPATH is set. 17566 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 17567 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_EOF 17769 \$1 17770 _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; do 17873 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 17874 *[\\\\\\\`\\"\\\$]*) 17875 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 17876 ;; 17877 *) 17878 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 17879 ;; 17880 esac 17881 done 17882 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; do 17915 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 17916 *[\\\\\\\`\\"\\\$]*) 17917 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 17918 ;; 17919 *) 17920 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 17921 ;; 17922 esac 17923 done 17924 17925 ac_aux_dir='$ac_aux_dir' 17926 17927 # See if we are running on zsh, and set the options that allow our 17928 # commands through without removal of \ escapes INIT. 17929 if test -n "\${ZSH_VERSION+set}"; then 17930 setopt NO_GLOB_SUBST 17931 fi 17932 17933 17934 PACKAGE='$PACKAGE' 17935 VERSION='$VERSION' 17936 RM='$RM' 17937 ofile='$ofile' 17938 17939 17940 17941 17942 17943 5059 17944 _ACEOF 5060 17945 … … 5066 17951 case $ac_config_target in 5067 17952 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 17953 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 5068 17954 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 5069 17955 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; … … 5591 18477 } 5592 18478 ;; 18479 "libtool":C) 18480 18481 # See if we are running on zsh, and set the options that allow our 18482 # commands through without removal of \ escapes. 18483 if test -n "${ZSH_VERSION+set}"; then 18484 setopt NO_GLOB_SUBST 18485 fi 18486 18487 cfgfile=${ofile}T 18488 trap "$RM \"$cfgfile\"; exit 1" 1 2 15 18489 $RM "$cfgfile" 18490 18491 cat <<_LT_EOF >> "$cfgfile" 18492 #! $SHELL 18493 # Generated automatically by $as_me ($PACKAGE) $VERSION 18494 # 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, 1996 18499 18500 # Copyright (C) 2014 Free Software Foundation, Inc. 18501 # This is free software; see the source for copying conditions. There is NO 18502 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 18503 18504 # GNU Libtool is free software; you can redistribute it and/or modify 18505 # it under the terms of the GNU General Public License as published by 18506 # the Free Software Foundation; either version 2 of of the License, or 18507 # (at your option) any later version. 18508 # 18509 # As a special exception to the GNU General Public License, if you 18510 # distribute this file as part of a program or library that is built 18511 # using GNU Libtool, you may include this file under the same 18512 # 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, but 18515 # WITHOUT ANY WARRANTY; without even the implied warranty of 18516 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18517 # GNU General Public License for more details. 18518 # 18519 # You should have received a copy of the GNU General Public License 18520 # 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 CONFIG 18530 18531 # Which release of libtool.m4 was used? 18532 macro_version=$macro_version 18533 macro_revision=$macro_revision 18534 18535 # Whether or not to build shared libraries. 18536 build_libtool_libs=$enable_shared 18537 18538 # Whether or not to build static libraries. 18539 build_old_libs=$enable_static 18540 18541 # What type of objects to build. 18542 pic_mode=$pic_mode 18543 18544 # Whether or not to optimize for fast installation. 18545 fast_install=$enable_fast_install 18546 18547 # Shared archive member basename,for filename based shared library versioning on AIX. 18548 shared_archive_member_spec=$shared_archive_member_spec 18549 18550 # Shell to use when invoking shell scripts. 18551 SHELL=$lt_SHELL 18552 18553 # An echo program that protects backslashes. 18554 ECHO=$lt_ECHO 18555 18556 # The PATH separator for the build system. 18557 PATH_SEPARATOR=$lt_PATH_SEPARATOR 18558 18559 # The host system. 18560 host_alias=$host_alias 18561 host=$host 18562 host_os=$host_os 18563 18564 # The build system. 18565 build_alias=$build_alias 18566 build=$build 18567 build_os=$build_os 18568 18569 # A sed program that does not truncate output. 18570 SED=$lt_SED 18571 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_GREP 18577 18578 # An ERE matcher. 18579 EGREP=$lt_EGREP 18580 18581 # A literal string matcher. 18582 FGREP=$lt_FGREP 18583 18584 # A BSD- or MS-compatible name lister. 18585 NM=$lt_NM 18586 18587 # Whether we need soft or hard links. 18588 LN_S=$lt_LN_S 18589 18590 # What is the maximum length of a command? 18591 max_cmd_len=$max_cmd_len 18592 18593 # Object file suffix (normally "o"). 18594 objext=$ac_objext 18595 18596 # Executable file suffix (normally ""). 18597 exeext=$exeext 18598 18599 # whether the shell understands "unset". 18600 lt_unset=$lt_unset 18601 18602 # turn spaces into newlines. 18603 SP2NL=$lt_lt_SP2NL 18604 18605 # turn newlines into spaces. 18606 NL2SP=$lt_lt_NL2SP 18607 18608 # convert \$build file names to \$host format. 18609 to_host_file_cmd=$lt_cv_to_host_file_cmd 18610 18611 # convert \$build files to toolchain format. 18612 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 18613 18614 # An object symbol dumper. 18615 OBJDUMP=$lt_OBJDUMP 18616 18617 # Method to check whether dependent libraries are shared objects. 18618 deplibs_check_method=$lt_deplibs_check_method 18619 18620 # Command to use when deplibs_check_method = "file_magic". 18621 file_magic_cmd=$lt_file_magic_cmd 18622 18623 # How to find potential files when deplibs_check_method = "file_magic". 18624 file_magic_glob=$lt_file_magic_glob 18625 18626 # Find potential files using nocaseglob when deplibs_check_method = "file_magic". 18627 want_nocaseglob=$lt_want_nocaseglob 18628 18629 # DLL creation program. 18630 DLLTOOL=$lt_DLLTOOL 18631 18632 # Command to associate shared and link libraries. 18633 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd 18634 18635 # The archiver. 18636 AR=$lt_AR 18637 18638 # Flags to create an archive. 18639 AR_FLAGS=$lt_AR_FLAGS 18640 18641 # How to feed a file listing to the archiver. 18642 archiver_list_spec=$lt_archiver_list_spec 18643 18644 # A symbol stripping program. 18645 STRIP=$lt_STRIP 18646 18647 # Commands used to install an old-style archive. 18648 RANLIB=$lt_RANLIB 18649 old_postinstall_cmds=$lt_old_postinstall_cmds 18650 old_postuninstall_cmds=$lt_old_postuninstall_cmds 18651 18652 # Whether to use a lock for old archive extraction. 18653 lock_old_archive_extraction=$lock_old_archive_extraction 18654 18655 # A C compiler. 18656 LTCC=$lt_CC 18657 18658 # LTCC compiler flags. 18659 LTCFLAGS=$lt_CFLAGS 18660 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_pipe 18663 18664 # Transform the output of nm in a proper C declaration. 18665 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl 18666 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_import 18669 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_address 18672 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_prefix 18675 18676 # The name lister interface. 18677 nm_interface=$lt_lt_cv_nm_interface 18678 18679 # Specify filename containing input files for \$NM. 18680 nm_file_list_spec=$lt_nm_file_list_spec 18681 18682 # The root where to search for dependent libraries,and where our libraries should be installed. 18683 lt_sysroot=$lt_sysroot 18684 18685 # Command to truncate a binary pipe. 18686 lt_truncate_bin=$lt_lt_cv_truncate_bin 18687 18688 # The name of the directory that contains temporary libtool files. 18689 objdir=$objdir 18690 18691 # Used to examine libraries when file_magic_cmd begins with "file". 18692 MAGIC_CMD=$MAGIC_CMD 18693 18694 # Must we lock files when doing compilation? 18695 need_locks=$lt_need_locks 18696 18697 # Manifest tool. 18698 MANIFEST_TOOL=$lt_MANIFEST_TOOL 18699 18700 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. 18701 DSYMUTIL=$lt_DSYMUTIL 18702 18703 # Tool to change global to local symbols on Mac OS X. 18704 NMEDIT=$lt_NMEDIT 18705 18706 # Tool to manipulate fat objects and archives on Mac OS X. 18707 LIPO=$lt_LIPO 18708 18709 # ldd/readelf like tool for Mach-O binaries on Mac OS X. 18710 OTOOL=$lt_OTOOL 18711 18712 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. 18713 OTOOL64=$lt_OTOOL64 18714 18715 # Old archive suffix (normally "a"). 18716 libext=$libext 18717 18718 # Shared library suffix (normally ".so"). 18719 shrext_cmds=$lt_shrext_cmds 18720 18721 # The commands to extract the exported symbol list from a shared archive. 18722 extract_expsyms_cmds=$lt_extract_expsyms_cmds 18723 18724 # Variables whose values should be saved in libtool wrapper scripts and 18725 # restored at link time. 18726 variables_saved_for_relink=$lt_variables_saved_for_relink 18727 18728 # Do we need the "lib" prefix for modules? 18729 need_lib_prefix=$need_lib_prefix 18730 18731 # Do we need a version for libraries? 18732 need_version=$need_version 18733 18734 # Library versioning type. 18735 version_type=$version_type 18736 18737 # Shared library runtime path variable. 18738 runpath_var=$runpath_var 18739 18740 # Shared library path variable. 18741 shlibpath_var=$shlibpath_var 18742 18743 # Is shlibpath searched before the hard-coded library search path? 18744 shlibpath_overrides_runpath=$shlibpath_overrides_runpath 18745 18746 # Format of library name prefix. 18747 libname_spec=$lt_libname_spec 18748 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 -lNAME 18751 library_names_spec=$lt_library_names_spec 18752 18753 # The coded name of the library, if different from the real name. 18754 soname_spec=$lt_soname_spec 18755 18756 # Permission mode override for installation of shared libraries. 18757 install_override_mode=$lt_install_override_mode 18758 18759 # Command to use after installation of a shared archive. 18760 postinstall_cmds=$lt_postinstall_cmds 18761 18762 # Command to use after uninstallation of a shared archive. 18763 postuninstall_cmds=$lt_postuninstall_cmds 18764 18765 # Commands used to finish a libtool library installation in a directory. 18766 finish_cmds=$lt_finish_cmds 18767 18768 # As "finish_cmds", except a single script fragment to be evaled but 18769 # not shown. 18770 finish_eval=$lt_finish_eval 18771 18772 # Whether we should hardcode library paths into libraries. 18773 hardcode_into_libs=$hardcode_into_libs 18774 18775 # Compile-time system search path for libraries. 18776 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 18777 18778 # Detected run-time system search path for libraries. 18779 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path 18780 18781 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. 18782 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path 18783 18784 # Whether dlopen is supported. 18785 dlopen_support=$enable_dlopen 18786 18787 # Whether dlopen of programs is supported. 18788 dlopen_self=$enable_dlopen_self 18789 18790 # Whether dlopen of statically linked programs is supported. 18791 dlopen_self_static=$enable_dlopen_self_static 18792 18793 # Commands to strip libraries. 18794 old_striplib=$lt_old_striplib 18795 striplib=$lt_striplib 18796 18797 18798 # The linker used to build libraries. 18799 LD=$lt_LD 18800 18801 # How to create reloadable object files. 18802 reload_flag=$lt_reload_flag 18803 reload_cmds=$lt_reload_cmds 18804 18805 # Commands used to build an old-style archive. 18806 old_archive_cmds=$lt_old_archive_cmds 18807 18808 # A language specific compiler. 18809 CC=$lt_compiler 18810 18811 # Is the compiler the GNU compiler? 18812 with_gcc=$GCC 18813 18814 # Compiler flag to turn off builtin functions. 18815 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag 18816 18817 # Additional compiler flags for building library objects. 18818 pic_flag=$lt_lt_prog_compiler_pic 18819 18820 # How to pass a linker flag through the compiler. 18821 wl=$lt_lt_prog_compiler_wl 18822 18823 # Compiler flag to prevent dynamic linking. 18824 link_static_flag=$lt_lt_prog_compiler_static 18825 18826 # Does compiler simultaneously support -c and -o options? 18827 compiler_c_o=$lt_lt_cv_prog_compiler_c_o 18828 18829 # Whether or not to add -lc for building shared libraries. 18830 build_libtool_need_lc=$archive_cmds_need_lc 18831 18832 # Whether or not to disallow shared libs when runtime libs are static. 18833 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes 18834 18835 # Compiler flag to allow reflexive dlopens. 18836 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec 18837 18838 # Compiler flag to generate shared objects directly from archives. 18839 whole_archive_flag_spec=$lt_whole_archive_flag_spec 18840 18841 # Whether the compiler copes with passing no objects directly. 18842 compiler_needs_object=$lt_compiler_needs_object 18843 18844 # Create an old-style archive from a shared archive. 18845 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds 18846 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_cmds 18849 18850 # Commands used to build a shared archive. 18851 archive_cmds=$lt_archive_cmds 18852 archive_expsym_cmds=$lt_archive_expsym_cmds 18853 18854 # Commands used to build a loadable module if different from building 18855 # a shared archive. 18856 module_cmds=$lt_module_cmds 18857 module_expsym_cmds=$lt_module_expsym_cmds 18858 18859 # Whether we are building with GNU ld or not. 18860 with_gnu_ld=$lt_with_gnu_ld 18861 18862 # Flag that allows shared libraries with undefined symbols to be built. 18863 allow_undefined_flag=$lt_allow_undefined_flag 18864 18865 # Flag that enforces no undefined symbols. 18866 no_undefined_flag=$lt_no_undefined_flag 18867 18868 # Flag to hardcode \$libdir into a binary during linking. 18869 # This must work even if \$libdir does not exist 18870 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec 18871 18872 # Whether we need a single "-rpath" flag with a separated argument. 18873 hardcode_libdir_separator=$lt_hardcode_libdir_separator 18874 18875 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 18876 # DIR into the resulting binary. 18877 hardcode_direct=$hardcode_direct 18878 18879 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 18880 # DIR into the resulting binary and the resulting library dependency is 18881 # "absolute",i.e impossible to change by setting \$shlibpath_var if the 18882 # library is relocated. 18883 hardcode_direct_absolute=$hardcode_direct_absolute 18884 18885 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 18886 # into the resulting binary. 18887 hardcode_minus_L=$hardcode_minus_L 18888 18889 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 18890 # into the resulting binary. 18891 hardcode_shlibpath_var=$hardcode_shlibpath_var 18892 18893 # Set to "yes" if building a shared library automatically hardcodes DIR 18894 # into the library and all subsequent libraries and executables linked 18895 # against it. 18896 hardcode_automatic=$hardcode_automatic 18897 18898 # Set to yes if linker adds runtime paths of dependent libraries 18899 # to runtime path list. 18900 inherit_rpath=$inherit_rpath 18901 18902 # Whether libtool must link a program against all its dependency libraries. 18903 link_all_deplibs=$link_all_deplibs 18904 18905 # Set to "yes" if exported symbols are required. 18906 always_export_symbols=$always_export_symbols 18907 18908 # The commands to list exported symbols. 18909 export_symbols_cmds=$lt_export_symbols_cmds 18910 18911 # Symbols that should not be listed in the preloaded symbols. 18912 exclude_expsyms=$lt_exclude_expsyms 18913 18914 # Symbols that must always be exported. 18915 include_expsyms=$lt_include_expsyms 18916 18917 # Commands necessary for linking programs (against libraries) with templates. 18918 prelink_cmds=$lt_prelink_cmds 18919 18920 # Commands necessary for finishing linking programs. 18921 postlink_cmds=$lt_postlink_cmds 18922 18923 # Specify filename containing input files. 18924 file_list_spec=$lt_file_list_spec 18925 18926 # How to hardcode a shared library path into an executable. 18927 hardcode_action=$hardcode_action 18928 18929 # The directories searched by this compiler when creating a shared library. 18930 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs 18931 18932 # Dependencies to place before and after the objects being linked to 18933 # create a shared library. 18934 predep_objects=$lt_predep_objects 18935 postdep_objects=$lt_postdep_objects 18936 predeps=$lt_predeps 18937 postdeps=$lt_postdeps 18938 18939 # The library search path used internally by the compiler when linking 18940 # a shared library. 18941 compiler_lib_search_path=$lt_compiler_lib_search_path 18942 18943 # ### END LIBTOOL CONFIG 18944 18945 _LT_EOF 18946 18947 cat <<'_LT_EOF' >> "$cfgfile" 18948 18949 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 18950 18951 # func_munge_path_list VARIABLE PATH 18952 # ----------------------------------- 18953 # VARIABLE is name of variable containing _space_ separated list of 18954 # directories to be munged by the contents of PATH, which is string 18955 # having a format: 18956 # "DIR[:DIR]:" 18957 # string "DIR[ DIR]" will be prepended to VARIABLE 18958 # ":DIR[:DIR]" 18959 # string "DIR[ DIR]" will be appended to VARIABLE 18960 # "DIRP[:DIRP]::[DIRA:]DIRA" 18961 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string 18962 # "DIRA[ DIRA]" will be appended to VARIABLE 18963 # "DIR[:DIR]" 18964 # VARIABLE will be replaced by "DIR[ DIR]" 18965 func_munge_path_list () 18966 { 18967 case x$2 in 18968 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 esac 18984 } 18985 18986 18987 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 18988 func_cc_basename () 18989 { 18990 for cc_temp in $*""; do 18991 case $cc_temp in 18992 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; 18993 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; 18994 \-*) ;; 18995 *) break;; 18996 esac 18997 done 18998 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 18999 } 19000 19001 19002 # ### END FUNCTIONS SHARED WITH CONFIGURE 19003 19004 _LT_EOF 19005 19006 case $host_os in 19007 aix3*) 19008 cat <<\_LT_EOF >> "$cfgfile" 19009 # AIX sometimes has problems with the GCC collect2 program. For some 19010 # reason, if we set the COLLECT_NAMES environment variable, the problems 19011 # vanish in a puff of smoke. 19012 if test set != "${COLLECT_NAMES+set}"; then 19013 COLLECT_NAMES= 19014 export COLLECT_NAMES 19015 fi 19016 _LT_EOF 19017 ;; 19018 esac 19019 19020 19021 ltmain=$ac_aux_dir/ltmain.sh 19022 19023 19024 # We use sed instead of cat because bash on DJGPP gets confused if 19025 # if finds mixed CR/LF and LF-only lines. Since sed operates in 19026 # text mode, it properly converts lines to CR/LF. This bash problem 19027 # 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: CXX 19039 19040 # The linker used to build libraries. 19041 LD=$lt_LD_CXX 19042 19043 # How to create reloadable object files. 19044 reload_flag=$lt_reload_flag_CXX 19045 reload_cmds=$lt_reload_cmds_CXX 19046 19047 # Commands used to build an old-style archive. 19048 old_archive_cmds=$lt_old_archive_cmds_CXX 19049 19050 # A language specific compiler. 19051 CC=$lt_compiler_CXX 19052 19053 # Is the compiler the GNU compiler? 19054 with_gcc=$GCC_CXX 19055 19056 # Compiler flag to turn off builtin functions. 19057 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX 19058 19059 # Additional compiler flags for building library objects. 19060 pic_flag=$lt_lt_prog_compiler_pic_CXX 19061 19062 # How to pass a linker flag through the compiler. 19063 wl=$lt_lt_prog_compiler_wl_CXX 19064 19065 # Compiler flag to prevent dynamic linking. 19066 link_static_flag=$lt_lt_prog_compiler_static_CXX 19067 19068 # Does compiler simultaneously support -c and -o options? 19069 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX 19070 19071 # Whether or not to add -lc for building shared libraries. 19072 build_libtool_need_lc=$archive_cmds_need_lc_CXX 19073 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_CXX 19076 19077 # Compiler flag to allow reflexive dlopens. 19078 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX 19079 19080 # Compiler flag to generate shared objects directly from archives. 19081 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX 19082 19083 # Whether the compiler copes with passing no objects directly. 19084 compiler_needs_object=$lt_compiler_needs_object_CXX 19085 19086 # Create an old-style archive from a shared archive. 19087 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX 19088 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_CXX 19091 19092 # Commands used to build a shared archive. 19093 archive_cmds=$lt_archive_cmds_CXX 19094 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 19095 19096 # Commands used to build a loadable module if different from building 19097 # a shared archive. 19098 module_cmds=$lt_module_cmds_CXX 19099 module_expsym_cmds=$lt_module_expsym_cmds_CXX 19100 19101 # Whether we are building with GNU ld or not. 19102 with_gnu_ld=$lt_with_gnu_ld_CXX 19103 19104 # Flag that allows shared libraries with undefined symbols to be built. 19105 allow_undefined_flag=$lt_allow_undefined_flag_CXX 19106 19107 # Flag that enforces no undefined symbols. 19108 no_undefined_flag=$lt_no_undefined_flag_CXX 19109 19110 # Flag to hardcode \$libdir into a binary during linking. 19111 # This must work even if \$libdir does not exist 19112 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX 19113 19114 # Whether we need a single "-rpath" flag with a separated argument. 19115 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX 19116 19117 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19118 # DIR into the resulting binary. 19119 hardcode_direct=$hardcode_direct_CXX 19120 19121 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes 19122 # DIR into the resulting binary and the resulting library dependency is 19123 # "absolute",i.e impossible to change by setting \$shlibpath_var if the 19124 # library is relocated. 19125 hardcode_direct_absolute=$hardcode_direct_absolute_CXX 19126 19127 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 19128 # into the resulting binary. 19129 hardcode_minus_L=$hardcode_minus_L_CXX 19130 19131 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 19132 # into the resulting binary. 19133 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX 19134 19135 # Set to "yes" if building a shared library automatically hardcodes DIR 19136 # into the library and all subsequent libraries and executables linked 19137 # against it. 19138 hardcode_automatic=$hardcode_automatic_CXX 19139 19140 # Set to yes if linker adds runtime paths of dependent libraries 19141 # to runtime path list. 19142 inherit_rpath=$inherit_rpath_CXX 19143 19144 # Whether libtool must link a program against all its dependency libraries. 19145 link_all_deplibs=$link_all_deplibs_CXX 19146 19147 # Set to "yes" if exported symbols are required. 19148 always_export_symbols=$always_export_symbols_CXX 19149 19150 # The commands to list exported symbols. 19151 export_symbols_cmds=$lt_export_symbols_cmds_CXX 19152 19153 # Symbols that should not be listed in the preloaded symbols. 19154 exclude_expsyms=$lt_exclude_expsyms_CXX 19155 19156 # Symbols that must always be exported. 19157 include_expsyms=$lt_include_expsyms_CXX 19158 19159 # Commands necessary for linking programs (against libraries) with templates. 19160 prelink_cmds=$lt_prelink_cmds_CXX 19161 19162 # Commands necessary for finishing linking programs. 19163 postlink_cmds=$lt_postlink_cmds_CXX 19164 19165 # Specify filename containing input files. 19166 file_list_spec=$lt_file_list_spec_CXX 19167 19168 # How to hardcode a shared library path into an executable. 19169 hardcode_action=$hardcode_action_CXX 19170 19171 # The directories searched by this compiler when creating a shared library. 19172 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX 19173 19174 # Dependencies to place before and after the objects being linked to 19175 # create a shared library. 19176 predep_objects=$lt_predep_objects_CXX 19177 postdep_objects=$lt_postdep_objects_CXX 19178 predeps=$lt_predeps_CXX 19179 postdeps=$lt_postdeps_CXX 19180 19181 # The library search path used internally by the compiler when linking 19182 # a shared library. 19183 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX 19184 19185 # ### END LIBTOOL TAG CONFIG: CXX 19186 _LT_EOF 19187 19188 ;; 5593 19189 5594 19190 esac -
libcfa/configure.ac
r9b086ca rcde3891 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]) 6 AC_CONFIG_AUX_DIR([automake]) 7 AC_CONFIG_MACRO_DIRS([automake]) 7 8 AM_SILENT_RULES([yes]) 8 9 … … 14 15 : ${CFLAGS=""} 15 16 17 # define this to override 18 AR_FLAGS="cr" 19 16 20 # Allow program name tansformation 17 21 # will fill program_transform_name with appropriate sed regex … … 21 25 AC_ARG_VAR(CONFIGURATION, [The configuration to use when building libcfa, options are: deubg, nodebug, nolib (prelude-only)]) 22 26 AC_ARG_VAR(DRIVER_DIR, [The path to the cforall driver directory]) 27 AC_ARG_VAR(CFA_VERSION, [The long version of cfa]) 23 28 24 29 CFACC=${DRIVER_DIR}cfa … … 26 31 AC_SUBST(CFACC) 27 32 AC_SUBST(CFACPP) 33 AC_SUBST(CFA_VERSION) 28 34 29 35 #============================================================================== … … 41 47 CONFIG_CFLAGS="-O0 -g" 42 48 CONFIG_CFAFLAGS="-debug" 49 CONFIG_BUILDLIB="yes" 43 50 ;; 44 51 "nodebug" ) 45 52 CONFIG_CFLAGS="-O2 -s" 46 53 CONFIG_CFAFLAGS="-nodebug" 54 CONFIG_BUILDLIB="yes" 47 55 ;; 48 56 "nolib" ) 49 CONFIG_CFLAGS="" 50 CONFIG_CFAFLAGS="" 57 CONFIG_CFLAGS="-O2 -s" 58 CONFIG_CFAFLAGS="-nodebug" 59 CONFIG_BUILDLIB="no" 60 ;; 61 *) 62 AC_MSG_ERROR('Invalid value $CONFIGURATION for \$CONFIGURATION') 51 63 ;; 52 64 esac … … 54 66 AC_SUBST(CONFIG_CFLAGS) 55 67 AC_SUBST(CONFIG_CFAFLAGS) 68 AC_SUBST(CONFIG_BUILDLIB) 69 70 AM_CONDITIONAL([BUILDLIB], [test "x${CONFIG_BUILDLIB}" = "xyes"]) 56 71 57 72 #============================================================================== … … 64 79 65 80 # Checks for programs. 81 LT_INIT 82 66 83 AC_PROG_CXX 67 84 AC_PROG_CC 68 85 AM_PROG_AS 86 AC_PROG_LIBTOOL 69 87 AC_PROG_INSTALL 70 88 AC_PROG_MAKE_SET 71 AC_PROG_RANLIB72 89 73 90 AC_CONFIG_FILES([ -
libcfa/prelude/Makefile.am
r9b086ca rcde3891 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake 19 20 20 21 # put into lib for now 21 22 cfalibdir = ${CFA_LIBDIR} 22 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cf bootloader.c 23 noinst_DATA = ../src/prelude.c 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 24 24 25 25 CC = @CFACC@ 26 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@26 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @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 : prelude-gen.cc46 prelude.cfa : 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 ../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@ 62 bootloader.c : ${srcdir}/bootloader.cf prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 66 63 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 67 64 … … 69 66 rm -rf $(DEPDIR) 70 67 71 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf 68 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa 72 69 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} -
libcfa/prelude/Makefile.in
r9b086ca rcde3891 90 90 PRE_UNINSTALL = : 91 91 POST_UNINSTALL = : 92 build_triplet = @build@ 93 host_triplet = @host@ 92 94 subdir = prelude 93 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 95 $(top_srcdir)/configure.ac 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 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 97 103 $(ACLOCAL_M4) … … 147 153 } 148 154 am__installdirs = "$(DESTDIR)$(cfalibdir)" 149 DATA = $(cfalib_DATA) $(noinst_DATA)155 DATA = $(cfalib_DATA) 150 156 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 151 157 am__DIST_COMMON = $(srcdir)/Makefile.in … … 154 160 AMTAR = @AMTAR@ 155 161 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 162 AR = @AR@ 156 163 ARCHITECTURE = @ARCHITECTURE@ 157 164 ARCH_FLAGS = @ARCH_FLAGS@ … … 172 179 CFA_NAME = @CFA_NAME@ 173 180 CFA_PREFIX = @CFA_PREFIX@ 181 CFA_VERSION = @CFA_VERSION@ 174 182 CFLAGS = @CFLAGS@ 175 183 CONFIGURATION = @CONFIGURATION@ 184 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@ 176 185 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 177 186 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 187 CPP = @CPP@ 178 188 CPPFLAGS = @CPPFLAGS@ 179 189 CXX = @CXX@ 190 CXXCPP = @CXXCPP@ 180 191 CXXDEPMODE = @CXXDEPMODE@ 181 192 CXXFLAGS = @CXXFLAGS@ … … 183 194 DEFS = @DEFS@ 184 195 DEPDIR = @DEPDIR@ 196 DLLTOOL = @DLLTOOL@ 185 197 DRIVER_DIR = @DRIVER_DIR@ 198 DSYMUTIL = @DSYMUTIL@ 199 DUMPBIN = @DUMPBIN@ 186 200 ECHO_C = @ECHO_C@ 187 201 ECHO_N = @ECHO_N@ 188 202 ECHO_T = @ECHO_T@ 203 EGREP = @EGREP@ 189 204 EXEEXT = @EXEEXT@ 205 FGREP = @FGREP@ 206 GREP = @GREP@ 190 207 INSTALL = @INSTALL@ 191 208 INSTALL_DATA = @INSTALL_DATA@ … … 193 210 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 194 211 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 212 LD = @LD@ 195 213 LDFLAGS = @LDFLAGS@ 196 214 LIBOBJS = @LIBOBJS@ 197 215 LIBS = @LIBS@ 216 LIBTOOL = @LIBTOOL@ 217 LIPO = @LIPO@ 218 LN_S = @LN_S@ 198 219 LTLIBOBJS = @LTLIBOBJS@ 220 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 199 221 MAKEINFO = @MAKEINFO@ 222 MANIFEST_TOOL = @MANIFEST_TOOL@ 200 223 MKDIR_P = @MKDIR_P@ 224 NM = @NM@ 225 NMEDIT = @NMEDIT@ 226 OBJDUMP = @OBJDUMP@ 201 227 OBJEXT = @OBJEXT@ 228 OTOOL = @OTOOL@ 229 OTOOL64 = @OTOOL64@ 202 230 PACKAGE = @PACKAGE@ 203 231 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 209 237 PATH_SEPARATOR = @PATH_SEPARATOR@ 210 238 RANLIB = @RANLIB@ 239 SED = @SED@ 211 240 SET_MAKE = @SET_MAKE@ 212 241 SHELL = @SHELL@ … … 217 246 abs_top_builddir = @abs_top_builddir@ 218 247 abs_top_srcdir = @abs_top_srcdir@ 248 ac_ct_AR = @ac_ct_AR@ 219 249 ac_ct_CC = @ac_ct_CC@ 220 250 ac_ct_CXX = @ac_ct_CXX@ 251 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 221 252 am__include = @am__include@ 222 253 am__leading_dot = @am__leading_dot@ … … 225 256 am__untar = @am__untar@ 226 257 bindir = @bindir@ 258 build = @build@ 227 259 build_alias = @build_alias@ 260 build_cpu = @build_cpu@ 261 build_os = @build_os@ 262 build_vendor = @build_vendor@ 228 263 builddir = @builddir@ 229 264 datadir = @datadir@ … … 232 267 dvidir = @dvidir@ 233 268 exec_prefix = @exec_prefix@ 269 host = @host@ 234 270 host_alias = @host_alias@ 271 host_cpu = @host_cpu@ 272 host_os = @host_os@ 273 host_vendor = @host_vendor@ 235 274 htmldir = @htmldir@ 236 275 includedir = @includedir@ … … 260 299 # create object files in directory with source files 261 300 AUTOMAKE_OPTIONS = foreign subdir-objects 301 ACLOCAL_AMFLAGS = -I automake 262 302 263 303 # put into lib for now 264 304 cfalibdir = ${CFA_LIBDIR} 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@ 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@ 268 307 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 269 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cf 308 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa 270 309 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 271 310 all: all-am … … 301 340 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 302 341 $(am__aclocal_m4_deps): 342 343 mostlyclean-libtool: 344 -rm -f *.lo 345 346 clean-libtool: 347 -rm -rf .libs _libs 303 348 install-cfalibDATA: $(cfalib_DATA) 304 349 @$(NORMAL_INSTALL) … … 400 445 clean: clean-am 401 446 402 clean-am: clean-generic mostlyclean-am447 clean-am: clean-generic clean-libtool mostlyclean-am 403 448 404 449 distclean: distclean-am … … 453 498 mostlyclean: mostlyclean-am 454 499 455 mostlyclean-am: mostlyclean-generic 500 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 456 501 457 502 pdf: pdf-am … … 467 512 .MAKE: install-am install-strip 468 513 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 \ 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 \ 477 523 maintainer-clean-generic maintainer-clean-local mostlyclean \ 478 mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall\479 uninstall-am uninstall-cfalibDATA524 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 525 tags-am uninstall uninstall-am uninstall-cfalibDATA 480 526 481 527 .PRECIOUS: Makefile … … 499 545 ${AM_V_GEN}gcc -I${srcdir} -E ${srcdir}/prototypes.c | awk -f ${srcdir}/prototypes.awk > $@ 500 546 501 prelude.cf : prelude-gen.cc547 prelude.cfa : prelude-gen.cc 502 548 ${AM_V_GEN}${CXX} ${AM_CXXFLAGS} ${CXXFLAGS} ${AM_CFLAGS} ${<} -o prelude-gen -Wall -Wextra -O2 -g -std=c++14 503 549 @./prelude-gen > $@ … … 515 561 include $(DEPDIR)/builtins.Po 516 562 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@ 563 bootloader.c : ${srcdir}/bootloader.cf prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 521 564 ${AM_V_GEN}@CFACPP@ --prelude-dir=${builddir} -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 522 565 -
libcfa/prelude/prelude-gen.cc
r9b086ca rcde3891 142 142 143 143 int main() { 144 cout << "# 2 \"prelude.cf \" // needed for error messages from this file" << endl;144 cout << "# 2 \"prelude.cfa\" // needed for error messages from this file" << endl; 145 145 cout << "trait sized(dtype T) {};" << endl; 146 146 -
libcfa/src/Makefile.am
r9b086ca rcde3891 16 16 17 17 # create object files in directory with source files 18 AUTOMAKE_OPTIONS = subdir-objects19 A RFLAGS = cr18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake 20 20 21 21 include $(srcdir)/../../src/cfa.make 22 22 23 23 libdir = ${CFA_LIBDIR} 24 lib_LIBRARIES = libcfa.a 24 lib_LTLIBRARIES = libcfa.la 25 26 VPATH += :../prelude 25 27 26 28 # AM_CFLAGS for all cfa source … … 28 30 # use -no-include-stdhdr to prevent rebuild cycles 29 31 # The built sources must not depend on the installed headers 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@32 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 33 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 32 34 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 33 35 CFACC = @CFACC@ 34 36 35 37 #---------------------------------------------------------------------------------------------------------------- 38 if BUILDLIB 39 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa 36 40 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 37 41 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 38 42 39 43 # not all platforms support concurrency, add option do disable it 44 headers_nosrc += concurrency/invoke.h 40 45 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 41 46 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} 47 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} 45 48 46 49 # not all platforms support concurrency, add option do disable it 47 50 libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa 51 else 52 headers = 53 headers_nosrc = 54 libsrc = 55 endif 56 48 57 49 58 #---------------------------------------------------------------------------------------------------------------- 50 59 # add dependency to cfa-cpp so all libraries are rebuilt with new translator 51 ${libobjs} : ${cfalib_DATA} 60 #@CFACC@ @CFACPP@ prelude.cfa 52 61 53 libcfa_a_SOURCES = ${libsrc} 62 # add dependency of cfa files 63 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 64 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 54 65 55 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "} 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 ") 56 88 57 89 cfa_includedir = $(CFA_INCDIR) 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 90 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 72 91 73 92 #---------------------------------------------------------------------------------------------------------------- 74 93 maintainer-clean-local: 75 94 -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
r9b086ca rcde3891 19 19 20 20 21 VPATH = @srcdir@22 21 am__is_gnu_make = { \ 23 22 if test -z '$(MAKELEVEL)'; then \ … … 91 90 PRE_UNINSTALL = : 92 91 POST_UNINSTALL = : 92 build_triplet = @build@ 93 host_triplet = @host@ 93 94 subdir = src 94 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 95 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 96 $(top_srcdir)/configure.ac 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 97 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 98 103 $(ACLOCAL_M4) 99 DIST_COMMON = $(srcdir)/Makefile.am $(nobase_cfa_include_HEADERS)\100 $(am__ DIST_COMMON)104 DIST_COMMON = $(srcdir)/Makefile.am \ 105 $(am__nobase_cfa_include_HEADERS_DIST) $(am__DIST_COMMON) 101 106 mkinstalldirs = $(install_sh) -d 102 107 CONFIG_CLEAN_FILES = … … 130 135 } 131 136 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)" 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 = 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 140 149 am__dirstamp = $(am__leading_dot)dirstamp 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) 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 $@ 158 172 AM_V_P = $(am__v_P_@AM_V@) 159 173 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 169 183 am__v_at_1 = 170 184 DEFAULT_INCLUDES = -I.@am__isrc@ 171 depcomp = $(SHELL) $(top_srcdir)/ ./automake/depcomp185 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 172 186 am__depfiles_maybe = depfiles 173 187 am__mv = mv -f 174 188 CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 175 189 $(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) 176 194 AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) 177 195 am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) … … 180 198 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 181 199 $(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) 182 204 AM_V_CC = $(am__v_CC_@AM_V@) 183 205 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 185 207 am__v_CC_1 = 186 208 CCLD = $(CC) 187 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 209 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 210 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 211 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 188 212 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 189 213 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 190 214 am__v_CCLD_0 = @echo " CCLD " $@; 191 215 am__v_CCLD_1 = 192 SOURCES = $(libcfa_ a_SOURCES)193 DIST_SOURCES = $( libcfa_a_SOURCES)216 SOURCES = $(libcfa_la_SOURCES) 217 DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST) 194 218 am__can_run_installinfo = \ 195 219 case $$AM_UPDATE_INFO_DIR in \ … … 197 221 *) (install-info --version) >/dev/null 2>&1;; \ 198 222 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.h 199 232 HEADERS = $(nobase_cfa_include_HEADERS) 200 233 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) … … 218 251 CTAGS = ctags 219 252 am__DIST_COMMON = $(srcdir)/../../src/cfa.make $(srcdir)/Makefile.in \ 220 $(top_srcdir)/ ./automake/depcomp253 $(top_srcdir)/automake/depcomp 221 254 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 255 VPATH = @srcdir@ :../prelude 222 256 ACLOCAL = @ACLOCAL@ 223 257 AMTAR = @AMTAR@ 224 258 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 259 AR = @AR@ 225 260 ARCHITECTURE = @ARCHITECTURE@ 226 261 ARCH_FLAGS = @ARCH_FLAGS@ … … 241 276 CFA_NAME = @CFA_NAME@ 242 277 CFA_PREFIX = @CFA_PREFIX@ 278 CFA_VERSION = @CFA_VERSION@ 243 279 CFLAGS = @CFLAGS@ 244 280 CONFIGURATION = @CONFIGURATION@ 281 CONFIG_BUILDLIB = @CONFIG_BUILDLIB@ 245 282 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 246 283 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 284 CPP = @CPP@ 247 285 CPPFLAGS = @CPPFLAGS@ 248 286 CXX = @CXX@ 287 CXXCPP = @CXXCPP@ 249 288 CXXDEPMODE = @CXXDEPMODE@ 250 289 CXXFLAGS = @CXXFLAGS@ … … 252 291 DEFS = @DEFS@ 253 292 DEPDIR = @DEPDIR@ 293 DLLTOOL = @DLLTOOL@ 254 294 DRIVER_DIR = @DRIVER_DIR@ 295 DSYMUTIL = @DSYMUTIL@ 296 DUMPBIN = @DUMPBIN@ 255 297 ECHO_C = @ECHO_C@ 256 298 ECHO_N = @ECHO_N@ 257 299 ECHO_T = @ECHO_T@ 300 EGREP = @EGREP@ 258 301 EXEEXT = @EXEEXT@ 302 FGREP = @FGREP@ 303 GREP = @GREP@ 259 304 INSTALL = @INSTALL@ 260 305 INSTALL_DATA = @INSTALL_DATA@ … … 262 307 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 263 308 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 309 LD = @LD@ 264 310 LDFLAGS = @LDFLAGS@ 265 311 LIBOBJS = @LIBOBJS@ 266 312 LIBS = @LIBS@ 313 LIBTOOL = @LIBTOOL@ 314 LIPO = @LIPO@ 315 LN_S = @LN_S@ 267 316 LTLIBOBJS = @LTLIBOBJS@ 317 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 268 318 MAKEINFO = @MAKEINFO@ 319 MANIFEST_TOOL = @MANIFEST_TOOL@ 269 320 MKDIR_P = @MKDIR_P@ 321 NM = @NM@ 322 NMEDIT = @NMEDIT@ 323 OBJDUMP = @OBJDUMP@ 270 324 OBJEXT = @OBJEXT@ 325 OTOOL = @OTOOL@ 326 OTOOL64 = @OTOOL64@ 271 327 PACKAGE = @PACKAGE@ 272 328 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 278 334 PATH_SEPARATOR = @PATH_SEPARATOR@ 279 335 RANLIB = @RANLIB@ 336 SED = @SED@ 280 337 SET_MAKE = @SET_MAKE@ 281 338 SHELL = @SHELL@ … … 286 343 abs_top_builddir = @abs_top_builddir@ 287 344 abs_top_srcdir = @abs_top_srcdir@ 345 ac_ct_AR = @ac_ct_AR@ 288 346 ac_ct_CC = @ac_ct_CC@ 289 347 ac_ct_CXX = @ac_ct_CXX@ 348 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 290 349 am__include = @am__include@ 291 350 am__leading_dot = @am__leading_dot@ … … 294 353 am__untar = @am__untar@ 295 354 bindir = @bindir@ 355 build = @build@ 296 356 build_alias = @build_alias@ 357 build_cpu = @build_cpu@ 358 build_os = @build_os@ 359 build_vendor = @build_vendor@ 297 360 builddir = @builddir@ 298 361 datadir = @datadir@ … … 301 364 dvidir = @dvidir@ 302 365 exec_prefix = @exec_prefix@ 366 host = @host@ 303 367 host_alias = @host_alias@ 368 host_cpu = @host_cpu@ 369 host_os = @host_os@ 370 host_vendor = @host_vendor@ 304 371 htmldir = @htmldir@ 305 372 includedir = @includedir@ … … 328 395 329 396 # create object files in directory with source files 330 AUTOMAKE_OPTIONS = subdir-objects331 A RFLAGS = cr397 AUTOMAKE_OPTIONS = foreign subdir-objects 398 ACLOCAL_AMFLAGS = -I automake 332 399 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 333 405 AM_V_CFA = $(am__v_CFA_@AM_V@) 334 406 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 335 407 am__v_CFA_0 = @echo " CFA " $@; 336 408 am__v_CFA_1 = 337 lib_LIBRARIES = libcfa.a 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 338 424 339 425 # AM_CFLAGS for all cfa source … … 341 427 # use -no-include-stdhdr to prevent rebuild cycles 342 428 # The built sources must not depend on the installed headers 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@429 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 430 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 345 431 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 432 @BUILDLIB_FALSE@headers_nosrc = 346 433 347 434 #---------------------------------------------------------------------------------------------------------------- 348 435 349 436 # not all platforms support concurrency, add option do disable it 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} 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 = 357 450 358 451 # not all platforms support concurrency, add option do disable it 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 "} 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 ") 365 477 cfa_includedir = $(CFA_INCDIR) 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 478 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 380 479 all: all-am 381 480 382 481 .SUFFIXES: 383 .SUFFIXES: .S .c .cfa . o .obj482 .SUFFIXES: .S .c .cfa .lo .o .obj 384 483 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../../src/cfa.make $(am__configure_deps) 385 484 @for dep in $?; do \ … … 412 511 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 413 512 $(am__aclocal_m4_deps): 414 install-libLIBRARIES: $(lib_LIBRARIES) 513 514 install-libLTLIBRARIES: $(lib_LTLIBRARIES) 415 515 @$(NORMAL_INSTALL) 416 @list='$(lib_L IBRARIES)'; test -n "$(libdir)" || list=; \516 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 417 517 list2=; for p in $$list; do \ 418 518 if test -f $$p; then \ … … 423 523 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ 424 524 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ 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=; \ 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: 530 @$(NORMAL_UNINSTALL) 531 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 429 532 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; \ 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"; \ 435 536 done 436 537 437 uninstall-libLIBRARIES: 438 @$(NORMAL_UNINSTALL) 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) 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 } 445 548 bits/$(am__dirstamp): 446 549 @$(MKDIR_P) bits … … 449 552 @$(MKDIR_P) bits/$(DEPDIR) 450 553 @: > bits/$(DEPDIR)/$(am__dirstamp) 451 bits/debug.$(OBJEXT): bits/$(am__dirstamp) \ 452 bits/$(DEPDIR)/$(am__dirstamp) 554 bits/debug.lo: bits/$(am__dirstamp) bits/$(DEPDIR)/$(am__dirstamp) 453 555 containers/$(am__dirstamp): 454 556 @$(MKDIR_P) containers … … 457 559 @$(MKDIR_P) containers/$(DEPDIR) 458 560 @: > containers/$(DEPDIR)/$(am__dirstamp) 459 containers/maybe. $(OBJEXT): containers/$(am__dirstamp) \561 containers/maybe.lo: containers/$(am__dirstamp) \ 460 562 containers/$(DEPDIR)/$(am__dirstamp) 461 containers/pair. $(OBJEXT): containers/$(am__dirstamp) \563 containers/pair.lo: containers/$(am__dirstamp) \ 462 564 containers/$(DEPDIR)/$(am__dirstamp) 463 containers/result. $(OBJEXT): containers/$(am__dirstamp) \565 containers/result.lo: containers/$(am__dirstamp) \ 464 566 containers/$(DEPDIR)/$(am__dirstamp) 465 containers/vector. $(OBJEXT): containers/$(am__dirstamp) \567 containers/vector.lo: containers/$(am__dirstamp) \ 466 568 containers/$(DEPDIR)/$(am__dirstamp) 467 569 concurrency/$(am__dirstamp): … … 471 573 @$(MKDIR_P) concurrency/$(DEPDIR) 472 574 @: > concurrency/$(DEPDIR)/$(am__dirstamp) 473 concurrency/coroutine. $(OBJEXT): concurrency/$(am__dirstamp) \575 concurrency/coroutine.lo: concurrency/$(am__dirstamp) \ 474 576 concurrency/$(DEPDIR)/$(am__dirstamp) 475 concurrency/thread. $(OBJEXT): concurrency/$(am__dirstamp) \577 concurrency/thread.lo: concurrency/$(am__dirstamp) \ 476 578 concurrency/$(DEPDIR)/$(am__dirstamp) 477 concurrency/kernel. $(OBJEXT): concurrency/$(am__dirstamp) \579 concurrency/kernel.lo: concurrency/$(am__dirstamp) \ 478 580 concurrency/$(DEPDIR)/$(am__dirstamp) 479 concurrency/monitor. $(OBJEXT): concurrency/$(am__dirstamp) \581 concurrency/monitor.lo: concurrency/$(am__dirstamp) \ 480 582 concurrency/$(DEPDIR)/$(am__dirstamp) 481 concurrency/mutex. $(OBJEXT): concurrency/$(am__dirstamp) \583 concurrency/mutex.lo: concurrency/$(am__dirstamp) \ 482 584 concurrency/$(DEPDIR)/$(am__dirstamp) 483 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT): \ 484 concurrency/$(am__dirstamp) \ 585 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \ 485 586 concurrency/$(DEPDIR)/$(am__dirstamp) 486 concurrency/alarm. $(OBJEXT): concurrency/$(am__dirstamp) \587 concurrency/alarm.lo: concurrency/$(am__dirstamp) \ 487 588 concurrency/$(DEPDIR)/$(am__dirstamp) 488 concurrency/invoke. $(OBJEXT): concurrency/$(am__dirstamp) \589 concurrency/invoke.lo: concurrency/$(am__dirstamp) \ 489 590 concurrency/$(DEPDIR)/$(am__dirstamp) 490 concurrency/preemption. $(OBJEXT): concurrency/$(am__dirstamp) \591 concurrency/preemption.lo: concurrency/$(am__dirstamp) \ 491 592 concurrency/$(DEPDIR)/$(am__dirstamp) 492 593 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 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) 497 596 498 597 mostlyclean-compile: 499 598 -rm -f *.$(OBJEXT) 500 599 -rm -f bits/*.$(OBJEXT) 600 -rm -f bits/*.lo 501 601 -rm -f concurrency/*.$(OBJEXT) 602 -rm -f concurrency/*.lo 502 603 -rm -f containers/*.$(OBJEXT) 604 -rm -f containers/*.lo 503 605 504 606 distclean-compile: 505 607 -rm -f *.tab.c 506 608 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@ 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@ 512 613 513 614 .S.o: … … 527 628 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 528 629 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.Plo 634 @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 529 638 .c.o: 530 639 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ … … 542 651 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 543 652 @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.Plo 658 @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 *.lo 664 665 clean-libtool: 666 -rm -rf .libs _libs 667 -rm -rf bits/.libs bits/_libs 668 -rm -rf concurrency/.libs concurrency/_libs 669 -rm -rf containers/.libs containers/_libs 544 670 install-nobase_cfa_includeHEADERS: $(nobase_cfa_include_HEADERS) 545 671 @$(NORMAL_INSTALL) … … 651 777 check-am: all-am 652 778 check: check-am 653 all-am: Makefile $(L IBRARIES) $(HEADERS)779 all-am: Makefile $(LTLIBRARIES) $(HEADERS) 654 780 installdirs: 655 781 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"; do \ … … 676 802 fi 677 803 mostlyclean-generic: 678 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)679 804 680 805 clean-generic: … … 695 820 clean: clean-am 696 821 697 clean-am: clean-generic clean-libLIBRARIES mostlyclean-am 822 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ 823 mostlyclean-am 698 824 699 825 distclean: distclean-am … … 721 847 install-dvi-am: 722 848 723 install-exec-am: install-libL IBRARIES849 install-exec-am: install-libLTLIBRARIES 724 850 725 851 install-html: install-html-am … … 751 877 mostlyclean: mostlyclean-am 752 878 753 mostlyclean-am: mostlyclean-compile mostlyclean-generic 879 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 880 mostlyclean-libtool 754 881 755 882 pdf: pdf-am … … 761 888 ps-am: 762 889 763 uninstall-am: uninstall-libL IBRARIES \890 uninstall-am: uninstall-libLTLIBRARIES \ 764 891 uninstall-nobase_cfa_includeHEADERS 765 892 … … 767 894 768 895 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 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 \ 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 \ 775 903 install-nobase_cfa_includeHEADERS install-pdf install-pdf-am \ 776 904 install-ps install-ps-am install-strip installcheck \ 777 905 installcheck-am installdirs maintainer-clean \ 778 906 maintainer-clean-generic maintainer-clean-local mostlyclean \ 779 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am\780 tags tags-am uninstall uninstall-am uninstall-libLIBRARIES\781 uninstall- nobase_cfa_includeHEADERS907 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_includeHEADERS 782 910 783 911 .PRECIOUS: Makefile 784 912 785 913 786 .cfa.o: $(CFACC) $(CFACPP)914 .cfa.o: 787 915 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 788 916 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 789 917 $(am__mv) $$depbase.Tpo $$depbase.Po 790 918 791 #---------------------------------------------------------------------------------------------------------------- 792 # add dependency to cfa-cpp so all libraries are rebuilt with new translator 793 ${libobjs} : ${cfalib_DATA} 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 ${@} 794 933 795 934 #---------------------------------------------------------------------------------------------------------------- … … 797 936 -rm -rf ${CFA_INCDIR} ${CFA_LIBDIR} 798 937 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.Po 941 799 942 # Tell versions [3.59,3.63) of GNU make to not export all variables. 800 943 # Otherwise a system limit (for SysV at least) may be exceeded. -
libcfa/src/bits/locks.hfa
r9b086ca rcde3891 37 37 #endif 38 38 39 #if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH )40 // Intel recommendation41 #define __ALIGN__ __attribute__(( aligned (128) ))42 #elif defined( __sparc )43 #define __ALIGN__ CALIGN44 #else45 #error unsupported architecture46 #endif47 48 39 struct __spinlock_t { 49 40 // Wrap in struct to prevent false sharing with debug info 50 struct { 51 // Align lock on 128-bit boundary 52 __ALIGN__ volatile bool lock; 53 }; 41 volatile bool lock; 54 42 #ifdef __CFA_DEBUG__ 55 43 // previous function to acquire the lock … … 58 46 void* prev_thrd; 59 47 #endif 60 } __ALIGN__;48 }; 61 49 62 50 #ifdef __cforall -
libcfa/src/concurrency/coroutine.cfa
r9b086ca rcde3891 22 22 #include <string.h> 23 23 #include <unistd.h> 24 // use this define to make unwind.h play nice, definetely a hack 25 #define HIDE_EXPORTS 26 #include <unwind.h> 27 #undef HIDE_EXPORTS 24 28 #include <sys/mman.h> 25 29 } … … 29 33 #define __CFA_INVOKE_PRIVATE__ 30 34 #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 } 31 43 32 44 //----------------------------------------------------------------------------- … … 67 79 starter = NULL; 68 80 last = NULL; 69 } 70 71 void ^?{}(coroutine_desc& this) {} 81 cancellation = NULL; 82 } 83 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 } 72 103 73 104 // Part of the Public API … … 105 136 // Safety note : This could cause some false positives due to preemption 106 137 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 } 107 142 } //ctxSwitchDirect 108 143 … … 162 197 } 163 198 164 void __leave_coroutine( void) {199 void __leave_coroutine() { 165 200 coroutine_desc * src = TL_GET( this_coroutine ); // optimization 166 167 assertf( src->starter != 0, 201 coroutine_desc * starter = src->cancellation != 0 ? src->last : src->starter; 202 203 src->state = Halted; 204 205 assertf( starter != 0, 168 206 "Attempt to suspend/leave coroutine \"%.256s\" (%p) that has never been resumed.\n" 169 207 "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.", 170 208 src->name, src ); 171 assertf( s rc->starter->state != Halted,209 assertf( starter->state != Halted, 172 210 "Attempt by coroutine \"%.256s\" (%p) to suspend/leave back to terminated coroutine \"%.256s\" (%p).\n" 173 211 "Possible cause is terminated coroutine's main routine has already returned.", 174 src->name, src, s rc->starter->name, src->starter );175 176 CoroutineCtxSwitch( src, s rc->starter );212 src->name, src, starter->name, starter ); 213 214 CoroutineCtxSwitch( src, starter ); 177 215 } 178 216 } -
libcfa/src/concurrency/invoke.c
r9b086ca rcde3891 17 17 #include <stdlib.h> 18 18 #include <stdio.h> 19 #include <unwind.h> 19 20 20 21 #include "invoke.h" … … 50 51 main( this ); 51 52 52 cor->state = Halted;53 54 53 //Final suspend, should never return 55 54 __leave_coroutine(); 56 55 __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 * param 65 ) { 66 if( actions & _UA_END_OF_STACK ) { 67 // We finished unwinding the coroutine, 68 // leave it 69 __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(); 57 82 } 58 83 -
libcfa/src/concurrency/invoke.h
r9b086ca rcde3891 59 59 volatile bool in_progress; 60 60 } preemption_state; 61 } kernelTLS ;61 } kernelTLS __attribute__ ((tls_model ( "initial-exec" ))); 62 62 } 63 63 … … 80 80 81 81 struct coroutine_desc { 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 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 90 105 struct __waitfor_mask_t { 91 106 // the index of the accepted function, -1 if none -
libcfa/src/concurrency/kernel.cfa
r9b086ca rcde3891 57 57 //----------------------------------------------------------------------------- 58 58 // Global state 59 thread_local struct KernelThreadData kernelTLS = {59 thread_local struct KernelThreadData kernelTLS __attribute__ ((tls_model ( "initial-exec" ))) = { 60 60 NULL, 61 61 NULL, -
libcfa/src/concurrency/kernel_private.hfa
r9b086ca rcde3891 79 79 }; 80 80 81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state ;81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state __attribute__ ((tls_model ( "initial-exec" ))); 82 82 83 83 //----------------------------------------------------------------------------- -
libcfa/src/exception.c
r9b086ca rcde3891 246 246 } 247 247 248 #if defined(PIC) 249 #warning Exceptions not yet supported when using Position-Independent Code 250 __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 #else 248 257 // This is our personality routine. For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0". 249 258 // This function will be called twice when unwinding. Once in the search phased and once in the cleanup phase. … … 477 486 ); 478 487 #endif // __i386 || __x86_64 488 #endif //PIC -
libcfa/src/fstream.cfa
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Aug 10 18:19:40201813 // Update Count : 28412 // Last Modified On : Mon Dec 24 18:33:38 2018 13 // Update Count : 304 14 14 // 15 15 … … 20 20 #include <stdarg.h> // varargs 21 21 #include <string.h> // strlen 22 #include <stdbool.h> // true/false23 22 #include <float.h> // DBL_DIG, LDBL_DIG 24 23 #include <complex.h> // creal, cimag … … 27 26 #define IO_MSG "I/O error: " 28 27 29 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, const char * separator, const char * tupleSeparator ) {28 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, bool nlOnOff, bool prt, const char * separator, const char * tupleSeparator ) { 30 29 os.file = file; 31 30 os.sepDefault = sepDefault; 32 31 os.sepOnOff = sepOnOff; 32 os.nlOnOff = nlOnOff; 33 os.prt = prt; 33 34 sepSet( os, separator ); 34 35 sepSetCur( os, sepGet( os ) ); … … 44 45 bool getNL( ofstream & os ) { return os.sawNL; } 45 46 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; } 46 50 47 51 // public … … 72 76 } // sepEnable 73 77 78 void nlOn( ofstream & os ) { os.nlOnOff = true; } 79 void nlOff( ofstream & os ) { os.nlOnOff = false; } 80 74 81 const char * sepGet( ofstream & os ) { return os.separator; } 75 82 void sepSet( ofstream & os, const char * s ) { … … 103 110 } // if 104 111 #endif // __CFA_DEBUG__ 105 (os){ file, true, false, " ", ", " };112 (os){ file, true, false, true, false, " ", ", " }; 106 113 } // open 107 114 … … 143 150 va_end( args ); 144 151 152 setPrt( os, true ); // called in output cascade 145 153 sepReset( os ); // reset separator 146 154 return len; 147 155 } // fmt 148 156 149 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, " ", ", " };157 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, true, false, " ", ", " }; 150 158 ofstream & sout = soutFile; 151 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, " ", ", " };159 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, true, false, " ", ", " }; 152 160 ofstream & serr = serrFile; 153 161 -
libcfa/src/fstream.hfa
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:54:27201813 // Update Count : 1 3212 // Last Modified On : Mon Dec 24 18:33:41 2018 13 // Update Count : 149 14 14 // 15 15 … … 23 23 bool sepDefault; 24 24 bool sepOnOff; 25 bool nlOnOff; 26 bool prt; // print text 25 27 bool sawNL; 26 28 const char * sepCur; … … 37 39 bool getNL( ofstream & ); 38 40 void setNL( ofstream &, bool ); 41 bool getANL( ofstream & ); 42 bool getPrt( ofstream & ); 43 void setPrt( ofstream &, bool ); 39 44 40 45 // public … … 43 48 bool sepDisable( ofstream & ); 44 49 bool sepEnable( ofstream & ); 50 void nlOn( ofstream & ); 51 void nlOff( ofstream & ); 45 52 46 53 const char * sepGet( ofstream & ); … … 55 62 void close( ofstream & ); 56 63 ofstream & write( ofstream &, const char * data, size_t size ); 57 int fmt( ofstream &, const char f mt[], ... );64 int fmt( ofstream &, const char format[], ... ); 58 65 59 66 void ?{}( ofstream & os ); … … 76 83 ifstream & read( ifstream & is, char * data, size_t size ); 77 84 ifstream & ungetc( ifstream & is, char c ); 78 int fmt( ifstream &, const char f mt[], ... );85 int fmt( ifstream &, const char format[], ... ); 79 86 80 87 void ?{}( ifstream & is ); -
libcfa/src/gmp.hfa
r9b086ca rcde3891 10 10 // Created On : Tue Apr 19 08:43:43 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Dec 7 09:10:41 201713 // Update Count : 2 112 // Last Modified On : Tue Dec 4 23:25:51 2018 13 // Update Count : 22 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 } // ?|? 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 271 276 272 277 // Local Variables: // -
libcfa/src/heap.cfa
r9b086ca rcde3891 1 // #comment TD : this file uses both spaces and tabs for indentation2 3 1 // 4 2 // Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo … … 12 10 // Created On : Tue Dec 19 21:58:35 2017 13 11 // Last Modified By : Peter A. Buhr 14 // Last Modified On : Sat Aug 11 08:22:16201815 // Update Count : 49512 // Last Modified On : Thu Sep 6 09:01:30 2018 13 // Update Count : 513 16 14 // 17 15 … … 25 23 26 24 // #comment TD : Many of these should be merged into math I believe 27 #include "bits/align.hfa" // libPow228 #include "bits/defs.hfa" // likely, unlikely29 #include "bits/locks.hfa" // __spinlock_t25 #include "bits/align.hfa" // libPow2 26 #include "bits/defs.hfa" // likely, unlikely 27 #include "bits/locks.hfa" // __spinlock_t 30 28 #include "startup.hfa" // STARTUP_PRIORITY_MEMORY 31 #include "stdlib.hfa" // bsearchl29 #include "stdlib.hfa" // bsearchl 32 30 #include "malloc.h" 33 31 … … 151 149 152 150 extern "C" { 153 void heapAppStart() {// called by __cfaabi_appready_startup154 allocFree = 0;155 } // heapAppStart156 157 void heapAppStop() {// called by __cfaabi_appready_startdown158 fclose( stdin ); fclose( stdout );159 checkUnfreed();160 } // heapAppStop151 void heapAppStart() { // called by __cfaabi_appready_startup 152 allocFree = 0; 153 } // heapAppStart 154 155 void heapAppStop() { // called by __cfaabi_appready_startdown 156 fclose( stdin ); fclose( stdout ); 157 checkUnfreed(); 158 } // heapAppStop 161 159 } // extern "C" 162 160 #endif // __CFA_DEBUG__ … … 167 165 168 166 struct Storage { 169 struct Header { // header167 struct Header { // header 170 168 union Kind { 171 169 struct RealHeader { 172 170 union { 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 171 struct { // 4-byte word => 8-byte header, 8-byte word => 16-byte header 176 172 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_POINTER__ == 4 177 173 uint32_t padding; // unused, force home/blocksize to overlay alignment in fake header 178 #endif // __ ORDER_BIG_ENDIAN__ && __U_WORDSIZE__ == 32174 #endif // __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_POINTER__ == 4 179 175 180 176 union { … … 189 185 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_POINTER__ == 4 190 186 uint32_t padding; // unused, force home/blocksize to overlay alignment in fake header 191 #endif // __ORDER_LITTLE_ENDIAN__ && __U_WORDSIZE__ == 32 192 187 #endif // __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_POINTER__ == 4 193 188 }; 194 195 // #comment TD : C++ code 189 // future code 196 190 #if BUCKLOCK == LOCKFREE 197 191 Stack<Storage>::Link next; // freed block points next freed block of same size (double-wide) … … 211 205 } fake; // FakeHeader 212 206 } kind; // Kind 213 } header; // Header214 char pad[ALIGN - sizeof( Header )];215 char data[0]; // storage207 } header; // Header 208 char pad[ALIGN - sizeof( Header )]; 209 char data[0]; // storage 216 210 }; // Storage 217 211 … … 220 214 struct FreeHeader { 221 215 #if BUCKLOCK == SPINLOCK 222 __spinlock_t lock; // must be first field for alignment223 Storage * freeList;216 __spinlock_t lock; // must be first field for alignment 217 Storage * freeList; 224 218 #elif BUCKLOCK == LOCKFREE 225 // #comment TD : C++code226 StackLF<Storage> freeList;219 // future code 220 StackLF<Storage> freeList; 227 221 #else 228 #error undefined lock type for bucket lock222 #error undefined lock type for bucket lock 229 223 #endif // SPINLOCK 230 size_t blockSize; // size of allocations on this list224 size_t blockSize; // size of allocations on this list 231 225 }; // FreeHeader 232 226 … … 249 243 static unsigned int maxBucketsUsed; // maximum number of buckets in use 250 244 251 // #comment TD : This array is not const but it feels like it should be252 245 // Powers of 2 are common allocation sizes, so make powers of 2 generate the minimum required size. 253 static unsigned int bucketSizes[NoBucketSizes] @= {// different bucket sizes246 static const unsigned int bucketSizes[NoBucketSizes] @= { // different bucket sizes 254 247 16, 32, 48, 64, 255 248 64 + sizeof(HeapManager.Storage), 96, 112, 128, 128 + sizeof(HeapManager.Storage), 160, 192, 224, … … 279 272 // #comment TD : The return type of this function should be commented 280 273 static inline bool setMmapStart( size_t value ) { 281 if ( value < pageSize || bucketSizes[NoBucketSizes - 1] < value ) return true;274 if ( value < pageSize || bucketSizes[NoBucketSizes - 1] < value ) return true; 282 275 mmapStart = value; // set global 283 276 … … 313 306 sbrk( (char *)libCeiling( (long unsigned int)End, libAlign() ) - End ); // move start of heap to multiple of alignment 314 307 heapBegin = heapEnd = sbrk( 0 ); // get new start point 315 } // HeapManager308 } // HeapManager 316 309 317 310 … … 323 316 // } // if 324 317 #endif // __STATISTICS__ 325 } // ~HeapManager318 } // ~HeapManager 326 319 327 320 … … 329 322 void memory_startup( void ) { 330 323 #ifdef __CFA_DEBUG__ 331 if ( unlikely( heapBoot ) ) { // check for recursion during system boot324 if ( unlikely( heapBoot ) ) { // check for recursion during system boot 332 325 // DO NOT USE STREAMS AS THEY MAY BE UNAVAILABLE AT THIS POINT. 333 326 abort( "boot() : internal error, recursively invoked during system boot." ); … … 336 329 #endif // __CFA_DEBUG__ 337 330 338 // #comment TD : This assertion seems redundent with the above code339 assert( heapManager.heapBegin == 0 );340 heapManager{};331 //assert( heapManager.heapBegin != 0 ); 332 //heapManager{}; 333 if ( heapManager.heapBegin == 0 ) heapManager{}; 341 334 } // memory_startup 342 335 … … 374 367 char helpText[512]; 375 368 __cfaabi_dbg_bits_print_buffer( helpText, sizeof(helpText), 376 "\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_storage369 "\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_storage 395 388 ); 396 389 } // printStats 397 390 398 // #comment TD : Why do we have this? 399 static int printStatsXML( FILE * stream ) { 391 static int printStatsXML( FILE * stream ) { // see malloc_info 400 392 char helpText[512]; 401 393 int len = snprintf( helpText, sizeof(helpText), … … 431 423 static inline void noMemory() { 432 424 abort( "Heap memory exhausted at %zu bytes.\n" 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)) );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)) ); 435 427 } // noMemory 436 428 … … 444 436 445 437 static inline bool setHeapExpand( size_t value ) { 446 if ( heapExpand < pageSize ) return true;438 if ( heapExpand < pageSize ) return true; 447 439 heapExpand = value; 448 440 return false; … … 453 445 if ( unlikely( check ) ) { // bad address ? 454 446 abort( "Attempt to %s storage %p with address outside the heap.\n" 455 "Possible cause is duplicate free on same block or overwriting of memory.",456 name, addr );447 "Possible cause is duplicate free on same block or overwriting of memory.", 448 name, addr ); 457 449 } // if 458 450 } // checkHeader … … 484 476 485 477 #ifdef __CFA_DEBUG__ 486 checkHeader( addr < heapBegin || header < (HeapManager.Storage.Header *)heapBegin, name, addr ); // bad low address ?478 checkHeader( addr < heapBegin || header < (HeapManager.Storage.Header *)heapBegin, name, addr ); // bad low address ? 487 479 #endif // __CFA_DEBUG__ 488 480 … … 490 482 // It's called as the first statement of both branches of the last if, with the same parameters in all cases 491 483 492 // header may be safe to dereference493 fakeHeader( header, size, alignment );484 // header may be safe to dereference 485 fakeHeader( header, size, alignment ); 494 486 #ifdef __CFA_DEBUG__ 495 checkHeader( header < (HeapManager.Storage.Header *)heapBegin || (HeapManager.Storage.Header *)heapEnd < header, name, addr ); // bad address ? (offset could be + or -)487 checkHeader( header < (HeapManager.Storage.Header *)heapBegin || (HeapManager.Storage.Header *)heapEnd < header, name, addr ); // bad address ? (offset could be + or -) 496 488 #endif // __CFA_DEBUG__ 497 489 498 freeElem = (HeapManager.FreeHeader *)((size_t)header->kind.real.home & -3);490 freeElem = (HeapManager.FreeHeader *)((size_t)header->kind.real.home & -3); 499 491 #ifdef __CFA_DEBUG__ 500 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 } // if492 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 } // if 505 497 #endif // __CFA_DEBUG__ 506 size = freeElem->blockSize;507 return false;498 size = freeElem->blockSize; 499 return false; 508 500 } // headers 509 501 … … 521 513 return 0; 522 514 } // if 523 #ifdef __STATISTICS__515 #ifdef __STATISTICS__ 524 516 sbrk_calls += 1; 525 517 sbrk_storage += increase; 526 #endif // __STATISTICS__527 #ifdef __CFA_DEBUG__518 #endif // __STATISTICS__ 519 #ifdef __CFA_DEBUG__ 528 520 // Set new memory to garbage so subsequent uninitialized usages might fail. 529 521 memset( (char *)heapEnd + heapRemaining, '\377', increase ); 530 #endif // __CFA_DEBUG__522 #endif // __CFA_DEBUG__ 531 523 rem = heapRemaining + increase - size; 532 524 } // if … … 560 552 561 553 #if defined( SPINLOCK ) 562 lock( freeElem->lock __cfaabi_dbg_ctx2 );563 block = freeElem->freeList; // remove node from stack554 lock( freeElem->lock __cfaabi_dbg_ctx2 ); 555 block = freeElem->freeList; // remove node from stack 564 556 #else 565 block = freeElem->freeList.pop();557 block = freeElem->freeList.pop(); 566 558 #endif // SPINLOCK 567 559 if ( unlikely( block == 0 ) ) { // no free block ? … … 569 561 unlock( freeElem->lock ); 570 562 #endif // SPINLOCK 563 571 564 // Freelist for that size was empty, so carve it out of the heap if there's enough left, or get some more 572 565 // and then carve it off. 573 566 574 567 block = (HeapManager.Storage *)extend( tsize ); // mutual exclusion on call 575 if ( unlikely( block == 0 ) ) return 0;568 if ( unlikely( block == 0 ) ) return 0; 576 569 #if defined( SPINLOCK ) 577 570 } else { … … 582 575 583 576 block->header.kind.real.home = freeElem; // pointer back to free list of apropriate size 584 } else { // large size => mmap577 } else { // large size => mmap 585 578 tsize = libCeiling( tsize, pageSize ); // must be multiple of page size 586 579 #ifdef __STATISTICS__ 587 __atomic_add_fetch( &mmap_calls, 1, __ATOMIC_SEQ_CST );588 __atomic_add_fetch( &mmap_storage, tsize, __ATOMIC_SEQ_CST );580 __atomic_add_fetch( &mmap_calls, 1, __ATOMIC_SEQ_CST ); 581 __atomic_add_fetch( &mmap_storage, tsize, __ATOMIC_SEQ_CST ); 589 582 #endif // __STATISTICS__ 590 583 block = (HeapManager.Storage *)mmap( 0, tsize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, mmapFd, 0 ); … … 593 586 abort( "(HeapManager &)0x%p.doMalloc() : internal error, mmap failure, size:%zu error:%d.", &heapManager, tsize, errno ); 594 587 } // if 595 #ifdef __CFA_DEBUG__588 #ifdef __CFA_DEBUG__ 596 589 // Set new memory to garbage so subsequent uninitialized usages might fail. 597 590 memset( block, '\377', tsize ); 598 #endif // __CFA_DEBUG__591 #endif // __CFA_DEBUG__ 599 592 block->header.kind.real.blockSize = tsize; // storage size for munmap 600 } // if601 602 void * area = &(block->data); // adjust off header to user bytes593 } // if 594 595 void * area = &(block->data); // adjust off header to user bytes 603 596 604 597 #ifdef __CFA_DEBUG__ 605 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 } // if598 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 } // if 614 607 #endif // __CFA_DEBUG__ 615 608 … … 620 613 static inline void doFree( void * addr ) with ( heapManager ) { 621 614 #ifdef __CFA_DEBUG__ 622 if ( unlikely( heapManager.heapBegin == 0 ) ) {623 abort( "doFree( %p ) : internal error, called before heap is initialized.", addr );624 } // if615 if ( unlikely( heapManager.heapBegin == 0 ) ) { 616 abort( "doFree( %p ) : internal error, called before heap is initialized.", addr ); 617 } // if 625 618 #endif // __CFA_DEBUG__ 626 619 … … 631 624 if ( headers( "free", addr, header, freeElem, size, alignment ) ) { // mmapped ? 632 625 #ifdef __STATISTICS__ 633 __atomic_add_fetch( &munmap_calls, 1, __ATOMIC_SEQ_CST );634 __atomic_add_fetch( &munmap_storage, size, __ATOMIC_SEQ_CST );626 __atomic_add_fetch( &munmap_calls, 1, __ATOMIC_SEQ_CST ); 627 __atomic_add_fetch( &munmap_storage, size, __ATOMIC_SEQ_CST ); 635 628 #endif // __STATISTICS__ 636 629 if ( munmap( header, size ) == -1 ) { 637 630 #ifdef __CFA_DEBUG__ 638 631 abort( "Attempt to deallocate storage %p not allocated or with corrupt header.\n" 639 "Possible cause is invalid pointer.",640 addr );632 "Possible cause is invalid pointer.", 633 addr ); 641 634 #endif // __CFA_DEBUG__ 642 635 } // if 643 } else {636 } else { 644 637 #ifdef __CFA_DEBUG__ 645 // Set free memory to garbage so subsequent usages might fail.646 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) );638 // Set free memory to garbage so subsequent usages might fail. 639 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 647 640 #endif // __CFA_DEBUG__ 648 641 649 642 #ifdef __STATISTICS__ 650 free_storage += size;643 free_storage += size; 651 644 #endif // __STATISTICS__ 652 645 #if defined( SPINLOCK ) 653 lock( freeElem->lock __cfaabi_dbg_ctx2 ); // acquire spin lock654 header->kind.real.next = freeElem->freeList; // push on stack655 freeElem->freeList = (HeapManager.Storage *)header;656 unlock( freeElem->lock ); // release spin lock646 lock( freeElem->lock __cfaabi_dbg_ctx2 ); // acquire spin lock 647 header->kind.real.next = freeElem->freeList; // push on stack 648 freeElem->freeList = (HeapManager.Storage *)header; 649 unlock( freeElem->lock ); // release spin lock 657 650 #else 658 freeElem->freeList.push( *(HeapManager.Storage *)header );651 freeElem->freeList.push( *(HeapManager.Storage *)header ); 659 652 #endif // SPINLOCK 660 } // if653 } // if 661 654 662 655 #ifdef __CFA_DEBUG__ 663 __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 } // if656 __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 } // if 669 662 #endif // __CFA_DEBUG__ 670 663 } // doFree … … 674 667 size_t total = 0; 675 668 #ifdef __STATISTICS__ 676 __cfaabi_dbg_bits_acquire();677 __cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" );669 __cfaabi_dbg_bits_acquire(); 670 __cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" ); 678 671 #endif // __STATISTICS__ 679 672 for ( unsigned int i = 0; i < maxBucketsUsed; i += 1 ) { … … 695 688 696 689 #ifdef __STATISTICS__ 697 __cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N );698 if ( (i + 1) % 8 == 0 ) __cfaabi_dbg_bits_print_nolock( "\n" );690 __cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N ); 691 if ( (i + 1) % 8 == 0 ) __cfaabi_dbg_bits_print_nolock( "\n" ); 699 692 #endif // __STATISTICS__ 700 693 } // for 701 694 #ifdef __STATISTICS__ 702 __cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total );703 __cfaabi_dbg_bits_release();695 __cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total ); 696 __cfaabi_dbg_bits_release(); 704 697 #endif // __STATISTICS__ 705 698 return (char *)heapEnd - (char *)heapBegin - total; 706 699 } // checkFree 707 700 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 ); 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 ? 711 705 void * area = doMalloc( size ); 712 706 if ( unlikely( area == 0 ) ) errno = ENOMEM; // POSIX 713 707 return area; 714 } // malloc 2715 716 717 static inline void * memalign 2( size_t alignment, size_t size ) { // necessary for malloc statistics718 #ifdef __CFA_DEBUG__708 } // mallocNoStats 709 710 711 static inline void * memalignNoStats( size_t alignment, size_t size ) { // necessary for malloc statistics 712 #ifdef __CFA_DEBUG__ 719 713 checkAlign( alignment ); // check alignment 720 #endif // __CFA_DEBUG__714 #endif // __CFA_DEBUG__ 721 715 722 716 // if alignment <= default alignment, do normal malloc as two headers are unnecessary 723 if ( unlikely( alignment <= libAlign() ) ) return malloc2( size );717 if ( unlikely( alignment <= libAlign() ) ) return mallocNoStats( size ); 724 718 725 719 // Allocate enough storage to guarantee an address on the alignment boundary, and sufficient space before it for … … 732 726 // subtract libAlign() because it is already the minimum alignment 733 727 // add sizeof(Storage) for fake header 734 // #comment TD : this is the only place that calls doMalloc without calling malloc 2, why ?728 // #comment TD : this is the only place that calls doMalloc without calling mallocNoStats, why ? 735 729 char * area = (char *)doMalloc( size + alignment - libAlign() + sizeof(HeapManager.Storage) ); 736 if ( unlikely( area == 0 ) ) return area;730 if ( unlikely( area == 0 ) ) return area; 737 731 738 732 // address in the block of the "next" alignment address … … 749 743 750 744 return user; 751 } // memalign 2745 } // memalignNoStats 752 746 753 747 754 748 extern "C" { 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(). 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(). 759 752 void * malloc( size_t size ) { 760 753 #ifdef __STATISTICS__ 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 ) { 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 ) { 773 765 size_t size = noOfElems * elemSize; 774 766 #ifdef __STATISTICS__ 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 *)malloc 2( size );780 if ( unlikely( area == 0 ) ) return 0;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 *)mallocNoStats( size ); 772 if ( unlikely( area == 0 ) ) return 0; 781 773 782 774 HeapManager.Storage.Header * header; … … 790 782 memset( area, '\0', asize - sizeof(HeapManager.Storage) ); // set to zeros 791 783 792 header->kind.real.blockSize |= 2; // mark as zero filled784 header->kind.real.blockSize |= 2; // mark as zero filled 793 785 return area; 794 } // calloc786 } // calloc 795 787 796 788 // #comment TD : Document this function … … 798 790 size_t size = noOfElems * elemSize; 799 791 #ifdef __STATISTICS__ 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 *)memalign 2( alignment, size );805 if ( unlikely( area == 0 ) ) return 0;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 *)memalignNoStats( alignment, size ); 797 if ( unlikely( area == 0 ) ) return 0; 806 798 HeapManager.Storage.Header * header; 807 799 HeapManager.FreeHeader * freeElem; … … 811 803 // Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero. 812 804 if ( ! mapped ) 813 #endif // __CFA_DEBUG__805 #endif // __CFA_DEBUG__ 814 806 memset( area, '\0', asize - ( (char *)area - (char *)header ) ); // set to zeros 815 807 header->kind.real.blockSize |= 2; // mark as zero filled 816 808 817 809 return area; 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; } 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; } 836 825 837 826 HeapManager.Storage.Header * header; … … 848 837 849 838 #ifdef __STATISTICS__ 850 __atomic_add_fetch( &realloc_storage, size, __ATOMIC_SEQ_CST );839 __atomic_add_fetch( &realloc_storage, size, __ATOMIC_SEQ_CST ); 851 840 #endif // __STATISTICS__ 852 841 … … 855 844 area = memalign( alignment, size ); // create new area 856 845 } else { 857 area = malloc 2( size );// create new area846 area = mallocNoStats( size ); // create new area 858 847 } // if 859 if ( unlikely( area == 0 ) ) return 0;848 if ( unlikely( area == 0 ) ) return 0; 860 849 if ( unlikely( header->kind.real.blockSize & 2 ) ) { // previous request zero fill (calloc/cmemalign) ? 861 850 assert( (header->kind.real.blockSize & 1) == 0 ); … … 864 853 // Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero. 865 854 if ( ! mapped ) 866 #endif // __CFA_DEBUG__855 #endif // __CFA_DEBUG__ 867 856 memset( (char *)area + usize, '\0', asize - ( (char *)area - (char *)header ) - usize ); // zero-fill back part 868 857 header->kind.real.blockSize |= 2; // mark new request as zero fill … … 874 863 875 864 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 ) { 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 ) { 881 868 #ifdef __STATISTICS__ 882 869 __atomic_add_fetch( &memalign_calls, 1, __ATOMIC_SEQ_CST ); … … 884 871 #endif // __STATISTICS__ 885 872 886 void * area = memalign 2( alignment, size );873 void * area = memalignNoStats( alignment, size ); 887 874 888 875 return area; 889 } // memalign890 891 // The function aligned_alloc() is the same as memalign(), except for 892 // the added restriction that size should be amultiple of alignment.876 } // memalign 877 878 // The function aligned_alloc() is the same as memalign(), except for the added restriction that size should be a 879 // multiple of alignment. 893 880 void * aligned_alloc( size_t alignment, size_t size ) { 894 881 return memalign( alignment, size ); … … 896 883 897 884 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). 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). 903 889 int posix_memalign( void ** memptr, size_t alignment, size_t size ) { 904 if ( alignment < sizeof(void *) || ! libPow2( alignment ) ) return EINVAL; // check alignment890 if ( alignment < sizeof(void *) || ! libPow2( alignment ) ) return EINVAL; // check alignment 905 891 * memptr = memalign( alignment, size ); 906 if ( unlikely( * memptr == 0 ) ) return ENOMEM;892 if ( unlikely( * memptr == 0 ) ) return ENOMEM; 907 893 return 0; 908 894 } // posix_memalign 909 895 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)); 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). 914 898 void * valloc( size_t size ) { 915 899 return memalign( pageSize, size ); … … 917 901 918 902 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. 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. 923 906 void free( void * addr ) { 924 907 #ifdef __STATISTICS__ 925 __atomic_add_fetch( &free_calls, 1, __ATOMIC_SEQ_CST );908 __atomic_add_fetch( &free_calls, 1, __ATOMIC_SEQ_CST ); 926 909 #endif // __STATISTICS__ 927 910 … … 931 914 if ( unlikely( addr == 0 ) ) { // special case 932 915 #ifdef __CFA_DEBUG__ 933 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 } // if916 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 } // if 938 921 #endif // __CFA_DEBUG__ 939 922 return; … … 943 926 } // free 944 927 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 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 948 930 // parameter. 949 int mallopt( int option, int value ) {931 int mallopt( int option, int value ) { 950 932 choose( option ) { 951 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 wrong957 return 1; // success, or unsupported933 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 wrong 939 return 1; // success, or unsupported 958 940 } // switch 959 941 return 0; // error 960 942 } // mallopt 961 943 962 // The malloc_trim() function attempts to release free memory at the top 963 // of the heap (by calling sbrk(2) with asuitable argument).944 // The malloc_trim() function attempts to release free memory at the top of the heap (by calling sbrk(2) with a 945 // suitable argument). 964 946 int malloc_trim( size_t ) { 965 947 return 0; // => impossible to release memory 966 948 } // malloc_trim 967 949 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 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 973 954 974 955 HeapManager.Storage.Header * header; … … 982 963 983 964 984 // #comment TD : Document this function 965 // The malloc_alignment() function returns the alignment of the allocation. 985 966 size_t malloc_alignment( void * addr ) { 986 if ( unlikely( addr == 0 ) ) return libAlign(); // minimum alignment967 if ( unlikely( addr == 0 ) ) return libAlign(); // minimum alignment 987 968 HeapManager.Storage.Header * header = (HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) ); 988 969 if ( (header->kind.fake.alignment & 1) == 1 ) { // fake header ? … … 991 972 return libAlign (); // minimum alignment 992 973 } // if 993 } // malloc_alignment994 995 996 // #comment TD : Document this function 974 } // malloc_alignment 975 976 977 // The malloc_zero_fill() function returns true if the allocation is zero filled, i.e., initially allocated by calloc(). 997 978 bool malloc_zero_fill( void * addr ) { 998 if ( unlikely( addr == 0 ) ) return false; // null allocation is not zero fill979 if ( unlikely( addr == 0 ) ) return false; // null allocation is not zero fill 999 980 1000 981 HeapManager.Storage.Header * header = (HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) ); … … 1003 984 } // if 1004 985 return (header->kind.real.blockSize & 2) != 0; // zero filled (calloc/cmemalign) ? 1005 } // malloc_zero_fill 1006 1007 1008 // #comment TD : Document this function 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. 1009 991 void malloc_stats( void ) { 1010 992 #ifdef __STATISTICS__ 1011 printStats();1012 if ( checkFree() ) checkFree( heapManager );1013 #endif // __STATISTICS__ 1014 } // malloc_stats1015 1016 // #comment TD : Document this function1017 int malloc_stats_fd( int fd ) {1018 #ifdef __STATISTICS__ 1019 int temp = statfd;1020 statfd = fd;1021 return temp;993 printStats(); 994 if ( checkFree() ) checkFree( heapManager ); 995 #endif // __STATISTICS__ 996 } // malloc_stats 997 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; 1022 1004 #else 1023 return -1; 1024 #endif // __STATISTICS__ 1025 } // malloc_stats_fd 1026 1027 1028 // #comment TD : Document this function 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)). 1029 1012 int malloc_info( int options, FILE * stream ) { 1030 1013 return printStatsXML( stream ); … … 1032 1015 1033 1016 1034 // #comment TD : What are these two functions for? 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.) 1035 1021 void * malloc_get_state( void ) { 1036 return 0; 1022 return 0; // unsupported 1037 1023 } // malloc_get_state 1038 1024 1025 1026 // The malloc_set_state() function restores the state of all malloc(3) internal bookkeeping variables to the values 1027 // recorded in the opaque data structure pointed to by state. 1039 1028 int malloc_set_state( void * ptr ) { 1040 return 0; 1029 return 0; // unsupported 1041 1030 } // malloc_set_state 1042 1031 } // extern "C" -
libcfa/src/iostream.cfa
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:56:43201813 // Update Count : 47312 // Last Modified On : Mon Dec 24 18:33:40 2018 13 // Update Count : 589 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 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; 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 ); 52 63 } // ?|? 53 64 … … 57 68 return os; 58 69 } // ?|? 70 void & ?|?( ostype & os, short int si ) { 71 (ostype &)(os | si); nl( os ); 72 } // ?|? 59 73 60 74 ostype & ?|?( ostype & os, unsigned short int usi ) { … … 63 77 return os; 64 78 } // ?|? 79 void & ?|?( ostype & os, unsigned short int usi ) { 80 (ostype &)(os | usi); nl( os ); 81 } // ?|? 65 82 66 83 ostype & ?|?( ostype & os, int i ) { … … 69 86 return os; 70 87 } // ?|? 88 void & ?|?( ostype & os, int i ) { 89 (ostype &)(os | i); nl( os ); 90 } // ?|? 71 91 72 92 ostype & ?|?( ostype & os, unsigned int ui ) { … … 75 95 return os; 76 96 } // ?|? 97 void & ?|?( ostype & os, unsigned int ui ) { 98 (ostype &)(os | ui); nl( os ); 99 } // ?|? 77 100 78 101 ostype & ?|?( ostype & os, long int li ) { … … 81 104 return os; 82 105 } // ?|? 106 void & ?|?( ostype & os, long int li ) { 107 (ostype &)(os | li); nl( os ); 108 } // ?|? 83 109 84 110 ostype & ?|?( ostype & os, unsigned long int uli ) { … … 87 113 return os; 88 114 } // ?|? 115 void & ?|?( ostype & os, unsigned long int uli ) { 116 (ostype &)(os | uli); nl( os ); 117 } // ?|? 89 118 90 119 ostype & ?|?( ostype & os, long long int lli ) { … … 93 122 return os; 94 123 } // ?|? 124 void & ?|?( ostype & os, long long int lli ) { 125 (ostype &)(os | lli); nl( os ); 126 } // ?|? 95 127 96 128 ostype & ?|?( ostype & os, unsigned long long int ulli ) { … … 99 131 return os; 100 132 } // ?|? 133 void & ?|?( ostype & os, unsigned long long int ulli ) { 134 (ostype &)(os | ulli); nl( os ); 135 } // ?|? 101 136 102 137 ostype & ?|?( ostype & os, float f ) { … … 105 140 return os; 106 141 } // ?|? 142 void & ?|?( ostype & os, float f ) { 143 (ostype &)(os | f); nl( os ); 144 } // ?|? 107 145 108 146 ostype & ?|?( ostype & os, double d ) { … … 111 149 return os; 112 150 } // ?|? 151 void & ?|?( ostype & os, double d ) { 152 (ostype &)(os | d); nl( os ); 153 } // ?|? 113 154 114 155 ostype & ?|?( ostype & os, long double ld ) { … … 117 158 return os; 118 159 } // ?|? 160 void & ?|?( ostype & os, long double ld ) { 161 (ostype &)(os | ld); nl( os ); 162 } // ?|? 119 163 120 164 ostype & ?|?( ostype & os, float _Complex fc ) { … … 123 167 return os; 124 168 } // ?|? 169 void & ?|?( ostype & os, float _Complex fc ) { 170 (ostype &)(os | fc); nl( os ); 171 } // ?|? 125 172 126 173 ostype & ?|?( ostype & os, double _Complex dc ) { … … 129 176 return os; 130 177 } // ?|? 178 void & ?|?( ostype & os, double _Complex dc ) { 179 (ostype &)(os | dc); nl( os ); 180 } // ?|? 131 181 132 182 ostype & ?|?( ostype & os, long double _Complex ldc ) { … … 134 184 fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) ); 135 185 return os; 186 } // ?|? 187 void & ?|?( ostype & os, long double _Complex ldc ) { 188 (ostype &)(os | ldc); nl( os ); 136 189 } // ?|? 137 190 … … 174 227 return write( os, str, len ); 175 228 } // ?|? 229 void ?|?( ostype & os, const char * str ) { 230 (ostype &)(os | str); nl( os ); 231 } // ?|? 176 232 177 233 // ostype & ?|?( ostype & os, const char16_t * str ) { … … 200 256 return os; 201 257 } // ?|? 202 258 void ?|?( ostype & os, const void * p ) { 259 (ostype &)(os | p); nl( os ); 260 } // ?|? 203 261 204 262 // manipulators 205 263 ostype & ?|?( ostype & os, ostype & (* manip)( ostype & ) ) { 206 return manip( os ); 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 207 271 } // ?|? 208 272 209 273 ostype & sep( ostype & os ) { 210 os | sepGet( os ); 211 return os; 274 return (ostype &)(os | sepGet( os )); 212 275 } // sep 213 276 214 277 ostype & sepTuple( ostype & os ) { 215 os | sepGetTuple( os ); 216 return os; 278 return os | sepGetTuple( os ); 217 279 } // sepTuple 218 280 219 ostype & endl( ostype & os ) { 220 os | '\n'; 281 ostype & nl( ostype & os ) { 282 (ostype &)(os | '\n'); 283 setPrt( os, false ); // turn off 221 284 setNL( os, true ); 222 285 flush( os ); 223 sepOff( os ); // prepare for next line 224 return os; 225 } // endl 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 226 298 227 299 ostype & sepOn( ostype & os ) { 228 sepOn( os ); 300 sepOn( os ); // call void returning 229 301 return os; 230 302 } // sepOn 231 303 232 304 ostype & sepOff( ostype & os ) { 233 sepOff( os ); 305 sepOff( os ); // call void returning 234 306 return os; 235 307 } // sepOff 236 308 237 309 ostype & sepEnable( ostype & os ) { 238 sepEnable( os ); 310 sepEnable( os ); // call void returning 239 311 return os; 240 312 } // sepEnable 241 313 242 314 ostype & sepDisable( ostype & os ) { 243 sepDisable( os ); 315 sepDisable( os ); // call void returning 244 316 return os; 245 317 } // sepDisable 318 319 ostype & nlOn( ostype & os ) { 320 nlOn( os ); // call void returning 321 return os; 322 } // nlOn 323 324 ostype & nlOff( ostype & os ) { 325 nlOff( os ); // call void returning 326 return os; 327 } // nlOff 246 328 } // distribution 247 329 248 249 330 // tuples 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 } // ?|? 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 258 348 259 349 //--------------------------------------- 260 350 261 351 // writes the range [begin, end) to the given stream 262 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 } // ?|?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 } // distribution 273 363 274 364 //--------------------------------------- … … 386 476 } // ?|? 387 477 388 istype & endl( istype & is ) {478 istype & nl( istype & is ) { 389 479 fmt( is, "%*[ \t\f\n\r\v]" ); // ignore whitespace 390 480 return is; 391 } // endl481 } // nl 392 482 } // distribution 393 483 … … 410 500 // Local Variables: // 411 501 // tab-width: 4 // 412 // compile-command: "cfa iostream.c " //502 // compile-command: "cfa iostream.cfa" // 413 503 // End: // -
libcfa/src/iostream.hfa
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 08:22:49201813 // Update Count : 15612 // Last Modified On : Mon Dec 24 18:33:40 2018 13 // Update Count : 220 14 14 // 15 15 … … 20 20 trait ostream( dtype ostype ) { 21 21 // private 22 bool sepPrt( ostype & ); // returnseparator state (on/off)22 bool sepPrt( ostype & ); // get 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 cascade 31 void setPrt( ostype &, bool ); // set fmt called in output cascade 29 32 // public 30 33 void sepOn( ostype & ); // turn separator state on 31 34 void sepOff( ostype & ); // turn separator state off 32 35 bool sepDisable( ostype & ); // set default state to off, and return previous state 33 bool sepEnable( ostype & ); // set default state to on, 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 34 39 35 40 const char * sepGet( ostype & ); // get separator string … … 43 48 void close( ostype & os ); 44 49 ostype & write( ostype &, const char *, size_t ); 45 int fmt( ostype &, const char f mt[], ... );50 int fmt( ostype &, const char format[], ... ); 46 51 }; // ostream 47 52 … … 58 63 forall( dtype ostype | ostream( ostype ) ) { 59 64 ostype & ?|?( ostype &, bool ); 65 void ?|?( ostype &, bool ); 60 66 61 67 ostype & ?|?( ostype &, char ); 68 void ?|?( ostype &, char ); 62 69 ostype & ?|?( ostype &, signed char ); 70 void ?|?( ostype &, signed char ); 63 71 ostype & ?|?( ostype &, unsigned char ); 72 void ?|?( ostype &, unsigned char ); 64 73 65 74 ostype & ?|?( ostype &, short int ); 75 void ?|?( ostype &, short int ); 66 76 ostype & ?|?( ostype &, unsigned short int ); 77 void ?|?( ostype &, unsigned short int ); 67 78 ostype & ?|?( ostype &, int ); 79 void ?|?( ostype &, int ); 68 80 ostype & ?|?( ostype &, unsigned int ); 81 void ?|?( ostype &, unsigned int ); 69 82 ostype & ?|?( ostype &, long int ); 83 void ?|?( ostype &, long int ); 70 84 ostype & ?|?( ostype &, long long int ); 85 void ?|?( ostype &, long long int ); 71 86 ostype & ?|?( ostype &, unsigned long int ); 87 void ?|?( ostype &, unsigned long int ); 72 88 ostype & ?|?( ostype &, unsigned long long int ); 89 void ?|?( ostype &, unsigned long long int ); 73 90 74 91 ostype & ?|?( ostype &, float ); // FIX ME: should not be required 92 void ?|?( ostype &, float ); // FIX ME: should not be required 75 93 ostype & ?|?( ostype &, double ); 94 void ?|?( ostype &, double ); 76 95 ostype & ?|?( ostype &, long double ); 96 void ?|?( ostype &, long double ); 77 97 78 98 ostype & ?|?( ostype &, float _Complex ); 99 void ?|?( ostype &, float _Complex ); 79 100 ostype & ?|?( ostype &, double _Complex ); 101 void ?|?( ostype &, double _Complex ); 80 102 ostype & ?|?( ostype &, long double _Complex ); 103 void ?|?( ostype &, long double _Complex ); 81 104 82 105 ostype & ?|?( ostype &, const char * ); 106 void ?|?( ostype &, const char * ); 83 107 // ostype & ?|?( ostype &, const char16_t * ); 84 108 #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous … … 87 111 // ostype & ?|?( ostype &, const wchar_t * ); 88 112 ostype & ?|?( ostype &, const void * ); 113 void ?|?( ostype &, const void * ); 89 114 90 115 // manipulators 91 116 ostype & ?|?( ostype &, ostype & (*)( ostype & ) ); 92 ostype & endl( ostype & ); 117 void ?|?( ostype &, ostype & (*)( ostype & ) ); 118 ostype & nl( ostype & ); 119 void nl( ostype & ); 120 ostype & nonl( ostype & ); 93 121 ostype & sep( ostype & ); 94 122 ostype & sepTuple( ostype & ); … … 97 125 ostype & sepDisable( ostype & ); 98 126 ostype & sepEnable( ostype & ); 127 ostype & nlOn( ostype & ); 128 ostype & nlOff( ostype & ); 99 129 } // distribution 100 130 101 131 // tuples 102 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) 103 ostype & ?|?( ostype & os, T arg, Params rest ); 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 104 136 105 137 // writes the range [begin, end) to the given stream 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 ); 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 111 142 112 143 //--------------------------------------- … … 119 150 istype & read( istype &, char *, size_t ); 120 151 istype & ungetc( istype &, char ); 121 int fmt( istype &, const char f mt[], ... );152 int fmt( istype &, const char format[], ... ); 122 153 }; // istream 123 154 … … 152 183 // manipulators 153 184 istype & ?|?( istype &, istype & (*)( istype & ) ); 154 istype & endl( istype & is );185 istype & nl( istype & is ); 155 186 } // distribution 156 187 … … 164 195 165 196 166 #include <time_t.hfa> // Duration (constructors) / Time (constructors) 167 168 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Duration dur ); 169 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Time time ); 170 197 #include <time_t.hfa> // Duration (constructors) / Time (constructors) 198 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 171 205 172 206 // Local Variables: // -
libcfa/src/iterator.cfa
r9b086ca rcde3891 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 7 08:38:23 201713 // Update Count : 2 812 // Last Modified On : Fri Nov 2 07:17:37 2018 13 // Update Count : 29 14 14 // 15 15 … … 33 33 // Local Variables: // 34 34 // tab-width: 4 // 35 // compile-command: "cfa iterator.c " //35 // compile-command: "cfa iterator.cfa" // 36 36 // End: // -
libcfa/src/rational.cfa
r9b086ca rcde3891 10 10 // Created On : Wed Apr 6 17:54:28 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 2 09:24:33201813 // Update Count : 1 6212 // Last Modified On : Sun Dec 23 22:56:49 2018 13 // Update Count : 170 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." | endl;37 serr | "Invalid rational number construction: denominator cannot be equal to 0."; 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 } // ?|? 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 181 186 } // distribution 182 187 -
libcfa/src/rational.hfa
r9b086ca rcde3891 12 12 // Created On : Wed Apr 6 17:56:25 2016 13 13 // Last Modified By : Peter A. Buhr 14 // Last Modified On : Sat Jun 2 09:10:01201815 // Update Count : 10 514 // Last Modified On : Tue Dec 4 23:07:46 2018 15 // Update Count : 106 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 ) ); 94 forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) { 95 ostype & ?|?( ostype &, Rational(RationalImpl) ); 96 void ?|?( ostype &, Rational(RationalImpl) ); 97 } // distribution 96 98 } // distribution 97 99 -
libcfa/src/stdlib.hfa
r9b086ca rcde3891 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 27 07:21:36201813 // Update Count : 34 512 // Last Modified On : Mon Dec 17 15:37:45 2018 13 // Update Count : 346 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
r9b086ca rcde3891 10 10 // Created On : Tue Mar 27 13:33:14 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 6 22:26:00201813 // Update Count : 3712 // Last Modified On : Sun Dec 23 22:57:48 2018 13 // Update Count : 57 14 14 // 15 15 … … 31 31 32 32 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 } // ?|? 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 43 48 44 49 … … 137 142 } // strftime 138 143 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 } // ?|? 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 157 166 158 167 // Local Variables: // -
libcfa/src/time.hfa
r9b086ca rcde3891 10 10 // Created On : Wed Mar 14 23:18:57 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:55:33201813 // Update Count : 64 212 // Last Modified On : Sat Sep 22 12:25:34 2018 13 // Update Count : 643 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
r9b086ca rcde3891 16 16 17 17 SRC += CodeTools/DeclStats.cc \ 18 CodeTools/ResolvProtoDump.cc \ 18 19 CodeTools/TrackLoc.cc -
src/Common/utility.h
r9b086ca rcde3891 26 26 #include <string> 27 27 #include <type_traits> 28 #include <utility> 28 29 29 30 #include <cassert> … … 462 463 std::pair<long long int, bool> eval(Expression * expr); 463 464 465 // ----------------------------------------------------------------------------- 466 /// Reorders the input range in-place so that the minimal-value elements according to the 467 /// 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 position 477 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 position 481 ++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::less 494 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 464 499 // Local Variables: // 465 500 // tab-width: 4 // -
src/CompilationState.cc
r9b086ca rcde3891 30 30 parsep = false, 31 31 resolvep = false, 32 resolvprotop = false, 32 33 symtabp = false, 33 34 treep = false, -
src/CompilationState.h
r9b086ca rcde3891 31 31 parsep, 32 32 resolvep, 33 resolvprotop, 33 34 symtabp, 34 35 treep, -
src/Concurrency/Keywords.cc
r9b086ca rcde3891 575 575 576 576 //in reverse order : 577 // monitor_ guard_t __guard = { __monitors, #, func };577 // monitor_dtor_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
r9b086ca rcde3891 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; 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(); 68 { 69 acceptable_t acceptables[3]; 70 if( a < 1 ) { 71 acceptables[0].func = f; 72 acceptables[0].mon = a; 87 73 } 88 case 1: 89 { 90 baz(); 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(); 87 } 88 case 1: 89 { 90 baz(); 91 } 92 case 2: 93 signal(a); 94 { 95 break; 96 } 91 97 } 92 case 2:93 signal(a);94 {95 break;96 }97 98 } 98 99 } … … 555 556 new ConstantExpr( Constant::from_ulong( i++ ) ), 556 557 { 557 clause.statement, 558 new BranchStmt( 559 "", 560 BranchStmt::Break 561 ) 558 new CompoundStmt({ 559 clause.statement, 560 new BranchStmt( 561 "", 562 BranchStmt::Break 563 ) 564 }) 562 565 } 563 566 ) … … 570 573 new ConstantExpr( Constant::from_int( -2 ) ), 571 574 { 572 waitfor->timeout.statement, 573 new BranchStmt( 574 "", 575 BranchStmt::Break 576 ) 575 new CompoundStmt({ 576 waitfor->timeout.statement, 577 new BranchStmt( 578 "", 579 BranchStmt::Break 580 ) 581 }) 577 582 } 578 583 ) … … 585 590 new ConstantExpr( Constant::from_int( -1 ) ), 586 591 { 587 waitfor->orelse.statement, 588 new BranchStmt( 589 "", 590 BranchStmt::Break 591 ) 592 new CompoundStmt({ 593 waitfor->orelse.statement, 594 new BranchStmt( 595 "", 596 BranchStmt::Break 597 ) 598 }) 592 599 } 593 600 ) -
src/GenPoly/Box.cc
r9b086ca rcde3891 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-> 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() );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() ); 802 802 Expression *newExpr = inferParam->second.expr->clone(); 803 803 addCast( newExpr, (*assert)->get_type(), tyVars ); -
src/GenPoly/Specialize.cc
r9b086ca rcde3891 245 245 appExpr->env = TypeSubstitution::newFromExpr( appExpr, env ); 246 246 if ( inferParams ) { 247 appExpr-> get_inferParams()= *inferParams;247 appExpr->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-> get_inferParams());286 *actual = doSpecialization( (*formal)->get_type(), *actual, &appExpr->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-> get_inferParams().begin(); inferParam != appExpr->get_inferParams().end(); ++inferParam ) {298 inferParam->second.expr = doSpecialization( inferParam->second.formalType, inferParam->second.expr, inferParam->second.inferParams.get());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 ); 299 299 } 300 300 } -
src/Makefile.am
r9b086ca rcde3891 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake 19 20 20 21 SRC = main.cc \ … … 50 51 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 51 52 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 53 ARFLAGS = cr 52 54 53 55 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete … … 126 128 ResolvExpr/PtrsCastable.cc \ 127 129 ResolvExpr/RenameVars.cc \ 130 ResolvExpr/ResolveAssertions.cc \ 128 131 ResolvExpr/Resolver.cc \ 129 132 ResolvExpr/ResolveTypeof.cc \ 133 ResolvExpr/SpecCost.cc \ 130 134 ResolvExpr/TypeEnvironment.cc \ 131 135 ResolvExpr/Unify.cc \ -
src/Makefile.in
r9b086ca rcde3891 141 141 subdir = src 142 142 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 143 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 144 $(top_srcdir)/configure.ac 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 145 149 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 146 150 $(ACLOCAL_M4) … … 151 155 CONFIG_CLEAN_VPATH_FILES = 152 156 LIBRARIES = $(noinst_LIBRARIES) 153 AR = ar154 ARFLAGS = cru155 157 AM_V_AR = $(am__v_AR_@AM_V@) 156 158 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) … … 204 206 ResolvExpr/PtrsAssignable.$(OBJEXT) \ 205 207 ResolvExpr/PtrsCastable.$(OBJEXT) \ 206 ResolvExpr/RenameVars.$(OBJEXT) ResolvExpr/Resolver.$(OBJEXT) \ 208 ResolvExpr/RenameVars.$(OBJEXT) \ 209 ResolvExpr/ResolveAssertions.$(OBJEXT) \ 210 ResolvExpr/Resolver.$(OBJEXT) \ 207 211 ResolvExpr/ResolveTypeof.$(OBJEXT) \ 212 ResolvExpr/SpecCost.$(OBJEXT) \ 208 213 ResolvExpr/TypeEnvironment.$(OBJEXT) \ 209 214 ResolvExpr/Unify.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \ … … 222 227 CodeGen/FixNames.$(OBJEXT) CodeGen/FixMain.$(OBJEXT) \ 223 228 CodeGen/OperatorTable.$(OBJEXT) CodeTools/DeclStats.$(OBJEXT) \ 229 CodeTools/ResolvProtoDump.$(OBJEXT) \ 224 230 CodeTools/TrackLoc.$(OBJEXT) Concurrency/Keywords.$(OBJEXT) \ 225 231 Concurrency/Waitfor.$(OBJEXT) Common/SemanticError.$(OBJEXT) \ … … 260 266 ResolvExpr/TypeEnvironment.$(OBJEXT) \ 261 267 ResolvExpr/CurrentObject.$(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) \ 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) \ 269 278 SynTree/ReferenceToType.$(OBJEXT) SynTree/TupleType.$(OBJEXT) \ 270 279 SynTree/TypeofType.$(OBJEXT) SynTree/AttrType.$(OBJEXT) \ … … 291 300 ___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS) 292 301 ___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 = --silent 305 am__v_lt_1 = 293 306 am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT) 294 307 demangler_OBJECTS = $(am_demangler_OBJECTS) … … 312 325 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 313 326 $(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) 314 331 AM_V_CXX = $(am__v_CXX_@AM_V@) 315 332 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 317 334 am__v_CXX_1 = 318 335 CXXLD = $(CXX) 319 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 320 -o $@ 336 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 337 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 338 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 321 339 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 322 340 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 324 342 am__v_CXXLD_1 = 325 343 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 344 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 345 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) 326 346 AM_V_LEX = $(am__v_LEX_@AM_V@) 327 347 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 332 352 -e s/c++$$/h++/ -e s/c$$/h/ 333 353 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 354 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 355 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) 334 356 AM_V_YACC = $(am__v_YACC_@AM_V@) 335 357 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 338 360 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 339 361 $(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) 340 366 AM_V_CC = $(am__v_CC_@AM_V@) 341 367 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 343 369 am__v_CC_1 = 344 370 CCLD = $(CC) 345 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 371 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 372 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 373 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 346 374 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 347 375 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 393 421 AMTAR = @AMTAR@ 394 422 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 423 AR = @AR@ 395 424 AUTOCONF = @AUTOCONF@ 396 425 AUTOHEADER = @AUTOHEADER@ 397 426 AUTOMAKE = @AUTOMAKE@ 398 427 AWK = @AWK@ 399 BACKEND_CC = @BACKEND_CC@400 428 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 401 429 CC = @CC@ … … 417 445 CPPFLAGS = @CPPFLAGS@ 418 446 CXX = @CXX@ 447 CXXCPP = @CXXCPP@ 419 448 CXXDEPMODE = @CXXDEPMODE@ 420 449 CXXFLAGS = @CXXFLAGS@ … … 422 451 DEFS = @DEFS@ 423 452 DEPDIR = @DEPDIR@ 453 DLLTOOL = @DLLTOOL@ 424 454 DRIVER_DIR = @DRIVER_DIR@ 455 DSYMUTIL = @DSYMUTIL@ 456 DUMPBIN = @DUMPBIN@ 425 457 ECHO_C = @ECHO_C@ 426 458 ECHO_N = @ECHO_N@ … … 428 460 EGREP = @EGREP@ 429 461 EXEEXT = @EXEEXT@ 462 FGREP = @FGREP@ 430 463 GREP = @GREP@ 431 464 HOST_FLAGS = @HOST_FLAGS@ … … 435 468 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 436 469 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 470 LD = @LD@ 437 471 LDFLAGS = @LDFLAGS@ 438 472 LEX = @LEX@ … … 443 477 LIBOBJS = @LIBOBJS@ 444 478 LIBS = @LIBS@ 479 LIBTOOL = @LIBTOOL@ 480 LIPO = @LIPO@ 481 LN_S = @LN_S@ 445 482 LTLIBOBJS = @LTLIBOBJS@ 483 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 446 484 MAKEINFO = @MAKEINFO@ 485 MANIFEST_TOOL = @MANIFEST_TOOL@ 447 486 MKDIR_P = @MKDIR_P@ 487 NM = @NM@ 488 NMEDIT = @NMEDIT@ 489 OBJDUMP = @OBJDUMP@ 448 490 OBJEXT = @OBJEXT@ 491 OTOOL = @OTOOL@ 492 OTOOL64 = @OTOOL64@ 449 493 PACKAGE = @PACKAGE@ 450 494 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 456 500 PATH_SEPARATOR = @PATH_SEPARATOR@ 457 501 RANLIB = @RANLIB@ 502 SED = @SED@ 458 503 SET_MAKE = @SET_MAKE@ 459 504 SHELL = @SHELL@ … … 467 512 abs_top_builddir = @abs_top_builddir@ 468 513 abs_top_srcdir = @abs_top_srcdir@ 514 ac_ct_AR = @ac_ct_AR@ 469 515 ac_ct_CC = @ac_ct_CC@ 470 516 ac_ct_CXX = @ac_ct_CXX@ 517 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 471 518 am__include = @am__include@ 472 519 am__leading_dot = @am__leading_dot@ … … 518 565 # create object files in directory with source files 519 566 AUTOMAKE_OPTIONS = foreign subdir-objects 567 ACLOCAL_AMFLAGS = -I automake 520 568 SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \ 521 569 CodeGen/CodeGenerator.cc CodeGen/GenType.cc \ 522 570 CodeGen/FixNames.cc CodeGen/FixMain.cc \ 523 571 CodeGen/OperatorTable.cc CodeTools/DeclStats.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 \ 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 \ 528 577 ControlStruct/LabelFixer.cc ControlStruct/MLEMutator.cc \ 529 578 ControlStruct/Mutate.cc ControlStruct/ForExprMutator.cc \ … … 548 597 ResolvExpr/Occurs.cc ResolvExpr/TypeEnvironment.cc \ 549 598 ResolvExpr/CurrentObject.cc ResolvExpr/ExplodedActual.cc \ 599 ResolvExpr/SpecCost.cc ResolvExpr/ResolveAssertions.cc \ 550 600 SymTab/Indexer.cc SymTab/Mangler.cc SymTab/ManglerCommon.cc \ 551 601 SymTab/Validate.cc SymTab/FixFunction.cc SymTab/Autogen.cc \ … … 582 632 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 583 633 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 634 ARFLAGS = cr 584 635 demangler_SOURCES = SymTab/demangler.cc # test driver for the demangler, also useful as a sanity check that libdemangle.a is complete 585 636 demangler_LDADD = libdemangle.a # yywrap … … 655 706 ResolvExpr/PtrsCastable.cc \ 656 707 ResolvExpr/RenameVars.cc \ 708 ResolvExpr/ResolveAssertions.cc \ 657 709 ResolvExpr/Resolver.cc \ 658 710 ResolvExpr/ResolveTypeof.cc \ 711 ResolvExpr/SpecCost.cc \ 659 712 ResolvExpr/TypeEnvironment.cc \ 660 713 ResolvExpr/Unify.cc \ … … 674 727 675 728 .SUFFIXES: 676 .SUFFIXES: .cc .ll . o .obj .yy729 .SUFFIXES: .cc .ll .lo .o .obj .yy 677 730 $(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) 678 731 @for dep in $?; do \ … … 908 961 ResolvExpr/RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 909 962 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 963 ResolvExpr/ResolveAssertions.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 964 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 910 965 ResolvExpr/Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 911 966 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 912 967 ResolvExpr/ResolveTypeof.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 968 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 969 ResolvExpr/SpecCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 913 970 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 914 971 ResolvExpr/TypeEnvironment.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ … … 963 1020 sed 's/$(EXEEXT)$$//' | \ 964 1021 while read p p1; do if test -f $$p \ 1022 || test -f $$p1 \ 965 1023 ; then echo "$$p"; echo "$$p"; else :; fi; \ 966 1024 done | \ … … 977 1035 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 978 1036 test -z "$$files" || { \ 979 echo " $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \980 $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \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 $$?; \ 981 1039 } \ 982 1040 ; done … … 994 1052 995 1053 clean-cfa_cpplibPROGRAMS: 996 -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS) 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 997 1061 CodeGen/FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \ 998 1062 CodeGen/$(DEPDIR)/$(am__dirstamp) … … 1004 1068 @: > CodeTools/$(DEPDIR)/$(am__dirstamp) 1005 1069 CodeTools/DeclStats.$(OBJEXT): CodeTools/$(am__dirstamp) \ 1070 CodeTools/$(DEPDIR)/$(am__dirstamp) 1071 CodeTools/ResolvProtoDump.$(OBJEXT): CodeTools/$(am__dirstamp) \ 1006 1072 CodeTools/$(DEPDIR)/$(am__dirstamp) 1007 1073 CodeTools/TrackLoc.$(OBJEXT): CodeTools/$(am__dirstamp) \ … … 1107 1173 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/OperatorTable.Po@am__quote@ 1108 1174 @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@ 1109 1176 @AMDEP_TRUE@@am__include@ @am__quote@CodeTools/$(DEPDIR)/TrackLoc.Po@am__quote@ 1110 1177 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/Assert.Po@am__quote@ … … 1159 1226 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/PtrsCastable.Po@am__quote@ 1160 1227 @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@ 1161 1229 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/ResolveTypeof.Po@am__quote@ 1162 1230 @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@ 1163 1232 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/TypeEnvironment.Po@am__quote@ 1164 1233 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/Unify.Po@am__quote@ … … 1228 1297 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 1229 1298 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.Plo 1303 @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 1230 1307 .ll.cc: 1231 1308 $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) … … 1233 1310 .yy.cc: 1234 1311 $(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 *.lo 1315 1316 clean-libtool: 1317 -rm -rf .libs _libs 1318 -rm -rf ../driver/.libs ../driver/_libs 1235 1319 1236 1320 ID: $(am__tagged_files) … … 1392 1476 clean: clean-am 1393 1477 1394 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean- noinstLIBRARIES\1395 mostlyclean-am1478 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \ 1479 clean-noinstLIBRARIES mostlyclean-am 1396 1480 1397 1481 distclean: distclean-am … … 1448 1532 mostlyclean: mostlyclean-am 1449 1533 1450 mostlyclean-am: mostlyclean-compile mostlyclean-generic 1534 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 1535 mostlyclean-libtool 1451 1536 1452 1537 pdf: pdf-am … … 1463 1548 1464 1549 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 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 \ 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 \ 1477 1563 uninstall-cfa_cpplibPROGRAMS 1478 1564 -
src/Parser/DeclarationNode.cc
r9b086ca rcde3891 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 14:56:54201813 // Update Count : 110 712 // Last Modified On : Thu Nov 1 20:54:26 2018 13 // Update Count : 1108 14 14 // 15 15 … … 402 402 } 403 403 404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr ) {405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( TypeData::Typeof );404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr, bool basetypeof ) { 405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( basetypeof ? TypeData::Basetypeof : TypeData::Typeof ); 407 407 newnode->type->typeexpr = expr; 408 408 return newnode; -
src/Parser/LinkageSpec.cc
r9b086ca rcde3891 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 7 11:11:00 201713 // Update Count : 2 512 // Last Modified On : Thr Spt 12 15:59:00 2018 13 // Update Count : 26 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 lexer29 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 } // if38 }39 25 40 26 Spec linkageUpdate( CodeLocation location, Spec old_spec, const string * cmd ) { -
src/Parser/LinkageSpec.h
r9b086ca rcde3891 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:24:28 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon Jul 2 07:46:49201813 // Update Count : 1 611 // Last Modified By : Andrew Beach 12 // Last Modified On : Thr Spt 13 15:59:00 2018 13 // Update Count : 17 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)45 43 Spec linkageUpdate( CodeLocation location, Spec old_spec, const std::string * cmd ); 46 44 /* If cmd = "C" returns a Spec that is old_spec with is_mangled = false -
src/Parser/ParseNode.h
r9b086ca rcde3891 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 4 09:39:40201813 // Update Count : 85 312 // Last Modified On : Thu Nov 1 20:54:53 2018 13 // Update Count : 854 14 14 // 15 15 … … 249 249 static DeclarationNode * newBitfield( ExpressionNode * size ); 250 250 static DeclarationNode * newTuple( DeclarationNode * members ); 251 static DeclarationNode * newTypeof( ExpressionNode * expr );251 static DeclarationNode * newTypeof( ExpressionNode * expr, bool basetypeof = false ); 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
r9b086ca rcde3891 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 14:39:31201813 // Update Count : 62 212 // Last Modified On : Fri Nov 2 07:54:26 2018 13 // Update Count : 624 14 14 // 15 15 … … 96 96 break; 97 97 case Typeof: 98 case Basetypeof: 98 99 // typeexpr = new Typeof_t; 99 100 typeexpr = nullptr; … … 166 167 break; 167 168 case Typeof: 169 case Basetypeof: 168 170 // delete typeexpr->expr; 169 171 delete typeexpr; … … 245 247 break; 246 248 case Typeof: 249 case Basetypeof: 247 250 newtype->typeexpr = maybeClone( typeexpr ); 248 251 break; … … 319 322 function.params->printList( os, indent + 4 ); 320 323 } else { 321 os << string( indent + 2, ' ' ) << "with no parameters " << endl;324 os << string( indent + 2, ' ' ) << "with no parameters" << endl; 322 325 } // if 323 326 if ( function.idList ) { … … 344 347 os << DeclarationNode::aggregateNames[ aggregate.kind ] << ' ' << *aggregate.name << endl; 345 348 if ( aggregate.params ) { 346 os << string( indent + 2, ' ' ) << "with type parameters " << endl;349 os << string( indent + 2, ' ' ) << "with type parameters" << endl; 347 350 aggregate.params->printList( os, indent + 4 ); 348 351 } // if 349 352 if ( aggregate.actuals ) { 350 os << string( indent + 2, ' ' ) << "instantiated with actual parameters " << endl;353 os << string( indent + 2, ' ' ) << "instantiated with actual parameters" << endl; 351 354 aggregate.actuals->printList( os, indent + 4 ); 352 355 } // if 353 356 if ( aggregate.fields ) { 354 os << string( indent + 2, ' ' ) << "with members " << endl;357 os << string( indent + 2, ' ' ) << "with members" << endl; 355 358 aggregate.fields->printList( os, indent + 4 ); 356 359 } // if 357 360 if ( aggregate.body ) { 358 os << string( indent + 2, ' ' ) << " with body " << endl;361 os << string( indent + 2, ' ' ) << " with body" << endl; 359 362 } // if 360 363 break; … … 367 370 } // if 368 371 if ( aggInst.params ) { 369 os << string( indent + 2, ' ' ) << "with parameters " << endl;372 os << string( indent + 2, ' ' ) << "with parameters" << endl; 370 373 aggInst.params->printList( os, indent + 2 ); 371 374 } // if … … 378 381 } // if 379 382 if ( enumeration.body ) { 380 os << string( indent + 2, ' ' ) << " with body " << endl;383 os << string( indent + 2, ' ' ) << " with body" << endl; 381 384 } // if 382 385 break; … … 415 418 os << "tuple "; 416 419 if ( tuple ) { 417 os << "with members " << endl;420 os << "with members" << endl; 418 421 tuple->printList( os, indent + 2 ); 419 422 } // if 420 423 break; 424 case Basetypeof: 425 os << "base-"; 426 #if defined(__GNUC__) && __GNUC__ >= 7 427 __attribute__((fallthrough)); 428 #endif 421 429 case Typeof: 422 430 os << "type-of expression "; … … 457 465 case Tuple: 458 466 case Typeof: 467 case Basetypeof: 459 468 case Builtin: 460 469 assertf(false, "Tried to get leaf name from kind without a name: %d", kind); … … 513 522 switch ( td->kind ) { 514 523 case TypeData::Unknown: 515 // fill in implicit int516 return new BasicType( buildQualifiers( td ), BasicType::SignedInt );524 // fill in implicit int 525 return new BasicType( buildQualifiers( td ), BasicType::SignedInt ); 517 526 case TypeData::Basic: 518 return buildBasicType( td );527 return buildBasicType( td ); 519 528 case TypeData::Pointer: 520 return buildPointer( td );529 return buildPointer( td ); 521 530 case TypeData::Array: 522 return buildArray( td );531 return buildArray( td ); 523 532 case TypeData::Reference: 524 return buildReference( td );533 return buildReference( td ); 525 534 case TypeData::Function: 526 return buildFunction( td );535 return buildFunction( td ); 527 536 case TypeData::AggregateInst: 528 return buildAggInst( td );537 return buildAggInst( td ); 529 538 case TypeData::EnumConstant: 530 // the name gets filled in later -- by SymTab::Validate531 return new EnumInstType( buildQualifiers( td ), "" );539 // the name gets filled in later -- by SymTab::Validate 540 return new EnumInstType( buildQualifiers( td ), "" ); 532 541 case TypeData::SymbolicInst: 533 return buildSymbolicInst( td );542 return buildSymbolicInst( td ); 534 543 case TypeData::Tuple: 535 return buildTuple( td );544 return buildTuple( td ); 536 545 case TypeData::Typeof: 537 return buildTypeof( td ); 546 case TypeData::Basetypeof: 547 return buildTypeof( td ); 538 548 case TypeData::Builtin: 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 }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 } 548 558 case TypeData::GlobalScope: 549 return new GlobalScopeType();559 return new GlobalScopeType(); 550 560 case TypeData::Qualified: 551 return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) );561 return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) ); 552 562 case TypeData::Symbolic: 553 563 case TypeData::Enum: 554 564 case TypeData::Aggregate: 555 assert( false );565 assert( false ); 556 566 } // switch 557 567 … … 929 939 930 940 TypeofType * buildTypeof( const TypeData * td ) { 931 assert( td->kind == TypeData::Typeof );941 assert( td->kind == TypeData::Typeof || td->kind == TypeData::Basetypeof ); 932 942 assert( td->typeexpr ); 933 943 // assert( td->typeexpr->expr ); 934 return new TypeofType( buildQualifiers( td ), td->typeexpr->build() ); 944 return new TypeofType{ 945 buildQualifiers( td ), td->typeexpr->build(), td->kind == TypeData::Basetypeof }; 935 946 } // buildTypeof 936 947 -
src/Parser/TypeData.h
r9b086ca rcde3891 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 13:56:40201813 // Update Count : 19 512 // Last Modified On : Thu Nov 1 20:56:46 2018 13 // Update Count : 196 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 uiltin, GlobalScope, Qualified, Unknown };29 SymbolicInst, Tuple, Typeof, Basetypeof, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { -
src/Parser/lex.ll
r9b086ca rcde3891 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Aug 8 17:23:17201813 * Update Count : 68 512 * Last Modified On : Thu Nov 1 20:57:35 2018 13 * Update Count : 687 14 14 */ 15 15 … … 209 209 __attribute__ { KEYWORD_RETURN(ATTRIBUTE); } // GCC 210 210 auto { KEYWORD_RETURN(AUTO); } 211 basetypeof { KEYWORD_RETURN(BASETYPEOF); } // CFA 211 212 _Bool { KEYWORD_RETURN(BOOL); } // C99 212 213 break { KEYWORD_RETURN(BREAK); } … … 410 411 ">>=" { NAMEDOP_RETURN(RSassign); } 411 412 412 "~=" { NAMEDOP_RETURN(Erange); } // CFA413 413 "@=" { NAMEDOP_RETURN(ATassign); } // CFA 414 "~=" { NAMEDOP_RETURN(ErangeUpEq); } // CFA 415 "-~" { NAMEDOP_RETURN(ErangeDown); } // CFA 416 "-~=" { NAMEDOP_RETURN(ErangeDownEq); } // CFA 414 417 415 418 /* CFA, operator identifier */ -
src/Parser/parser.yy
r9b086ca rcde3891 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 8 17:50:07201813 // Update Count : 399812 // Last Modified On : Thu Nov 8 18:08:23 2018 13 // Update Count : 4052 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 } // if 189 193 return new ForCtrl( 190 distAttr( DeclarationNode::newTypeof( type ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),194 distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 191 195 new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ), 192 new ExpressionNode( build_binary_val( OperKinds::PlusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) ); 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 193 206 } // forCtrl 194 207 … … 214 227 215 228 // Types declaration for productions 216 %union 217 { 229 %union { 218 230 Token tok; 219 231 ParseNode * pn; … … 254 266 %token ZERO_T ONE_T // CFA 255 267 %token VALIST // GCC 256 %token TYPEOF LABEL// GCC268 %token TYPEOF BASETYPEOF LABEL // GCC 257 269 %token ENUM STRUCT UNION 258 270 %token EXCEPTION // CFA … … 290 302 %token ANDassign ERassign ORassign // &= ^= |= 291 303 292 %token Erange //~=304 %token ErangeUpEq ErangeDown ErangeDownEq // ~= -~ -~= 293 305 %token ATassign // @= 294 306 … … 629 641 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); } 630 642 | postfix_expression ARROW no_attr_identifier 631 { 632 $$ = new ExpressionNode( build_pfieldSel( $1, *$3 == "0" || *$3 == "1" ? build_constantInteger( *$3 ) : build_varref( $3 ) ) ); 633 } 643 { $$ = new ExpressionNode( build_pfieldSel( $1, build_varref( $3 ) ) ); } 634 644 | postfix_expression ARROW INTEGERconstant // CFA, tuple index 635 645 { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); } … … 1130 1140 | FOR '(' push for_control_expression ')' statement pop 1131 1141 { $$ = 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 ) ); } 1132 1144 ; 1133 1145 1134 1146 for_control_expression: 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 } 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" ) ) ) ); } 1144 1150 | constant_expression inclexcl constant_expression // CFA 1145 1151 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1146 1152 | constant_expression inclexcl constant_expression '~' constant_expression // CFA 1147 1153 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); } 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 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 1188 1162 { $$ = new ForCtrl( $1, $3, $5 ); } 1163 | ';' comma_expression_opt ';' comma_expression_opt 1164 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); } 1189 1165 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1190 1166 { $$ = new ForCtrl( $1, $2, $4 ); } … … 1194 1170 '~' 1195 1171 { $$ = OperKinds::LThan; } 1196 | Erange 1172 | ErangeUpEq 1197 1173 { $$ = OperKinds::LEThan; } 1174 | ErangeDown 1175 { $$ = OperKinds::GThan; } 1176 | ErangeDownEq 1177 { $$ = OperKinds::GEThan; } 1198 1178 ; 1199 1179 … … 1844 1824 1845 1825 indirect_type: 1846 TYPEOF '(' type ')' // GCC: typeof( x) y;1826 TYPEOF '(' type ')' // GCC: typeof( x ) y; 1847 1827 { $$ = $3; } 1848 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b) y;1828 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b ) y; 1849 1829 { $$ = DeclarationNode::newTypeof( $3 ); } 1850 | ATTR_TYPEGENname '(' type ')' // CFA: e.g., @type(x) y; 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; 1851 1835 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1852 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type( a+b) y;1836 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type( a+b ) y; 1853 1837 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1854 1838 | ZERO_T // CFA -
src/ResolvExpr/Alternative.cc
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:44:23 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat May 16 23:54:23 201513 // Update Count : 211 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Thu Oct 11 10:55:00 2018 13 // Update Count : 3 14 14 // 15 15 … … 20 20 #include <utility> // for move 21 21 22 #include "Common/utility.h" // for maybeClone22 #include "Common/utility.h" // for cloneAll 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() : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ) {} 29 Alternative::Alternative() 30 : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ), env(), openVars(), need() {} 30 31 31 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost ) 32 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ) {} 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 ); } 33 38 34 Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost ) 35 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ) {} 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 ); } 36 43 37 Alternative::Alternative( const Alternative &other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ), env( other.env ) { 38 } 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 ); } 39 74 40 75 Alternative &Alternative::operator=( const Alternative &other ) { … … 45 80 expr = maybeClone( other.expr ); 46 81 env = other.env; 82 openVars = other.openVars; 83 need.clear(); 84 cloneAll( other.need, need ); 47 85 return *this; 48 86 } 49 87 50 Alternative::Alternative( Alternative && other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( other.expr ), env( std::move( other.env ) ) { 51 other.expr = nullptr; 52 } 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; } 53 92 54 93 Alternative & Alternative::operator=( Alternative && other ) { … … 59 98 expr = other.expr; 60 99 env = std::move( other.env ); 100 openVars = std::move( other.openVars ); 101 need = std::move( other.need ); 61 102 other.expr = nullptr; 62 103 return *this; … … 64 105 65 106 Alternative::~Alternative() { 107 for ( AssertionItem& n : need ) { delete n.decl; } 66 108 delete expr; 67 109 } … … 78 120 os << "Null expression!" << std::endl; 79 121 } // if 80 os << indent << "Environment: ";122 os << indent << "Environment:"; 81 123 env.print( os, indent+1 ); 82 124 os << std::endl; -
src/ResolvExpr/Alternative.h
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:45:43 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:36:36 201713 // Update Count : 311 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Thu Oct 11 10:55:00 2018 13 // Update Count : 4 14 14 // 15 15 … … 20 20 21 21 #include "Cost.h" // for Cost 22 #include "TypeEnvironment.h" // for TypeEnvironment 22 #include "TypeEnvironment.h" // for TypeEnvironment, AssertionSetValue 23 24 #include "Common/utility.h" // for maybeClone 23 25 24 26 class Expression; 25 27 26 28 namespace ResolvExpr { 29 /// One assertion to resolve 30 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 cloneAll 41 AssertionItem clone() const { return { maybeClone(decl), info }; } 42 }; 43 /// A list of unresolved assertions 44 using AssertionList = std::vector<AssertionItem>; 45 46 /// Clones an assertion list into an assertion set 47 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 list 54 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 list 62 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 expression 27 70 struct Alternative { 28 71 Alternative(); 29 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost ); 30 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost, const Cost &cvtCost ); 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 ); 31 86 Alternative( const Alternative &other ); 32 87 Alternative &operator=( const Alternative &other ); … … 44 99 } 45 100 46 Cost cost; 47 Cost cvtCost; 48 Expression *expr; 49 TypeEnvironment env; 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 50 110 }; 51 111 -
src/ResolvExpr/AlternativeFinder.cc
r9b086ca rcde3891 10 10 // Created On : Sat May 16 23:52:08 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Feb 17 11:19:39201813 // Update Count : 3 312 // Last Modified On : Thu Nov 1 21:00:56 2018 13 // Update Count : 35 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 resolveAssertions 36 37 #include "ResolveTypeof.h" // for resolveTypeof 37 38 #include "Resolver.h" // for resolveStmtExpr … … 102 103 void addAnonConversions( const Alternative & alt ); 103 104 /// Adds alternatives for member expressions, given the aggregate, conversion cost for that aggregate, and name of the member 104 template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name );105 template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative &alt, const Cost &newCost, const std::string & name ); 105 106 /// Adds alternatives for member expressions where the left side has tuple type 106 void addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression *member );107 void addTupleMembers( TupleType *tupleType, Expression *expr, const Alternative &alt, const Cost &newCost, Expression *member ); 107 108 /// Adds alternatives for offsetof expressions, given the base type and name of the member 108 109 template< typename StructOrUnionType > void addOffsetof( StructOrUnionType *aggInst, const std::string &name ); … … 113 114 template<typename OutputIterator> 114 115 void makeFunctionAlternatives( const Alternative &func, FunctionType *funcType, const ExplodedArgs& args, OutputIterator out ); 115 /// Checks if assertion parameters match for a newalternative116 /// Sets up parameter inference for an output alternative 116 117 template< typename OutputIterator > 117 void inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out );118 void inferParameters( Alternative &newAlt, OutputIterator out ); 118 119 private: 119 120 AlternativeFinder & altFinder; … … 244 245 } 245 246 246 void AlternativeFinder::find( Expression *expr, bool adjust, bool prune, bool failFast) {247 void AlternativeFinder::find( Expression *expr, ResolvMode mode ) { 247 248 PassVisitor<Finder> finder( *this ); 248 249 expr->accept( finder ); 249 if ( failFast && alternatives.empty() ) {250 if ( mode.failFast && alternatives.empty() ) { 250 251 PRINT( 251 252 std::cerr << "No reasonable alternatives for expression " << expr << std::endl; … … 253 254 SemanticError( expr, "No reasonable alternatives for expression " ); 254 255 } 255 if ( prune ) { 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 ) { 256 275 auto oldsize = alternatives.size(); 257 276 PRINT( … … 261 280 AltList pruned; 262 281 pruneAlternatives( alternatives.begin(), alternatives.end(), back_inserter( pruned ) ); 263 if ( failFast && pruned.empty() ) {282 if ( mode.failFast && pruned.empty() ) { 264 283 std::ostringstream stream; 265 284 AltList winners; … … 280 299 } 281 300 // adjust types after pruning so that types substituted by pruneAlternatives are correctly adjusted 282 for ( AltList::iterator i = alternatives.begin(); i != alternatives.end(); ++i) {283 if ( adjust) {284 adjustExprType( i ->expr->get_result(), i->env, indexer );301 if ( mode.adjust ) { 302 for ( Alternative& i : alternatives ) { 303 adjustExprType( i.expr->get_result(), i.env, indexer ); 285 304 } 286 305 } … … 294 313 295 314 void AlternativeFinder::findWithAdjustment( Expression *expr ) { 296 find( expr, true);315 find( expr, ResolvMode::withAdjustment() ); 297 316 } 298 317 299 318 void AlternativeFinder::findWithoutPrune( Expression * expr ) { 300 find( expr, true, false);319 find( expr, ResolvMode::withoutPrune() ); 301 320 } 302 321 303 322 void AlternativeFinder::maybeFind( Expression * expr ) { 304 find( expr, true, true, false);323 find( expr, ResolvMode::withoutFailFast() ); 305 324 } 306 325 … … 317 336 318 337 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->result ) ) { 319 addAggMembers( structInst, aggrExpr.get(), alt .cost+Cost::safe, alt.env, "" );338 addAggMembers( structInst, aggrExpr.get(), alt, alt.cost+Cost::safe, "" ); 320 339 } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->result ) ) { 321 addAggMembers( unionInst, aggrExpr.get(), alt .cost+Cost::safe, alt.env, "" );340 addAggMembers( unionInst, aggrExpr.get(), alt, alt.cost+Cost::safe, "" ); 322 341 } // if 323 342 } 324 343 325 344 template< typename StructOrUnionType > 326 void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name ) {345 void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative& alt, const Cost &newCost, const std::string & name ) { 327 346 std::list< Declaration* > members; 328 347 aggInst->lookup( name, members ); … … 332 351 // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so 333 352 // can't construct in place and use vector::back 334 Alternative newAlt ( new MemberExpr( dwt, expr->clone() ), env, newCost );353 Alternative newAlt{ alt, new MemberExpr{ dwt, expr->clone() }, newCost }; 335 354 renameTypes( newAlt.expr ); 336 355 addAnonConversions( newAlt ); // add anonymous member interpretations whenever an aggregate value type is seen as a member expression. … … 342 361 } 343 362 344 void AlternativeFinder::Finder::addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression *member ) {363 void AlternativeFinder::Finder::addTupleMembers( TupleType *tupleType, Expression *expr, const Alternative &alt, const Cost &newCost, Expression *member ) { 345 364 if ( ConstantExpr * constantExpr = dynamic_cast< ConstantExpr * >( member ) ) { 346 365 // get the value of the constant expression as an int, must be between 0 and the length of the tuple type to have meaning … … 348 367 std::string tmp; 349 368 if ( val >= 0 && (unsigned long long)val < tupleType->size() ) { 350 alternatives.push_back( Alternative( new TupleIndexExpr( expr->clone(), val ), env, newCost ) ); 369 alternatives.push_back( Alternative{ 370 alt, new TupleIndexExpr( expr->clone(), val ), newCost } ); 351 371 } // if 352 372 } // if … … 354 374 355 375 void AlternativeFinder::Finder::postvisit( ApplicationExpr *applicationExpr ) { 356 alternatives.push_back( Alternative ( applicationExpr->clone(), env, Cost::zero ));376 alternatives.push_back( Alternative{ applicationExpr->clone(), env } ); 357 377 } 358 378 … … 410 430 Cost computeApplicationConversionCost( Alternative &alt, const SymTab::Indexer &indexer ) { 411 431 ApplicationExpr *appExpr = strict_dynamic_cast< ApplicationExpr* >( alt.expr ); 412 PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr-> get_function()->get_result());413 FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer-> get_base());432 PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr->function->result ); 433 FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer->base ); 414 434 415 435 Cost convCost = Cost::zero; 416 std::list< DeclarationWithType* >& formals = function-> get_parameters();436 std::list< DeclarationWithType* >& formals = function->parameters; 417 437 std::list< DeclarationWithType* >::iterator formal = formals.begin(); 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();438 std::list< Expression* >& actuals = appExpr->args; 439 440 for ( Expression*& actualExpr : actuals ) { 441 Type * actualType = actualExpr->result; 422 442 PRINT( 423 443 std::cerr << "actual expression:" << std::endl; 424 (*actualExpr)->print( std::cerr, 8 );444 actualExpr->print( std::cerr, 8 ); 425 445 std::cerr << "--- results are" << std::endl; 426 446 actualType->print( std::cerr, 8 ); 427 447 ) 428 448 if ( formal == formals.end() ) { 429 if ( function-> get_isVarArgs()) {449 if ( function->isVarArgs ) { 430 450 convCost.incUnsafe(); 431 451 PRINT( std::cerr << "end of formals with varargs function: inc unsafe: " << convCost << std::endl; ; ) 432 452 // convert reference-typed expressions to value-typed expressions 433 referenceToRvalueConversion( *actualExpr, convCost );453 referenceToRvalueConversion( actualExpr, convCost ); 434 454 continue; 435 455 } else { … … 437 457 } 438 458 } 439 if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( *actualExpr ) ) {459 if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( actualExpr ) ) { 440 460 // default arguments should be free - don't include conversion cost. 441 461 // Unwrap them here because they are not relevant to the rest of the system. 442 *actualExpr = def->expr;462 actualExpr = def->expr; 443 463 ++formal; 444 464 continue; 445 465 } 466 // mark conversion cost to formal and also specialization cost of formal type 446 467 Type * formalType = (*formal)->get_type(); 447 convCost += computeExpressionConversionCost( *actualExpr, formalType, indexer, alt.env ); 468 convCost += computeExpressionConversionCost( actualExpr, formalType, indexer, alt.env ); 469 convCost.decSpec( specCost( formalType ) ); 448 470 ++formal; // can't be in for-loop update because of the continue 449 471 } … … 452 474 } 453 475 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 ); 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() ); 456 488 } 457 489 … … 466 498 needAssertions[ *assert ].isUsed = true; 467 499 } 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 } 500 } 501 } 502 503 /// Unique identifier for matching expression resolutions to their requesting expression 504 UniqueId globalResnSlot = 0; 585 505 586 506 template< typename OutputIterator > 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 // ) 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; 613 523 } 614 524 … … 951 861 } 952 862 // build and validate new alternative 953 Alternative newAlt ( appExpr, result.env, cost );863 Alternative newAlt{ appExpr, result.env, result.openVars, result.need, cost }; 954 864 PRINT( 955 865 std::cerr << "instantiate function success: " << appExpr << std::endl; … … 957 867 printAssertionSet( result.need, std::cerr, 8 ); 958 868 ) 959 inferParameters( result.need, result.have, newAlt, result.openVars, out );869 inferParameters( newAlt, out ); 960 870 } 961 871 … … 1202 1112 1203 1113 // function may return struct or union value, in which case we need to add alternatives 1204 // for implicit conversions to each of the anonymous members, must happen after findMinCost1114 // for implicit conversions to each of the anonymous members, must happen after findMinCost 1205 1115 // since anon conversions are never the cheapest expression 1206 1116 for ( const Alternative & alt : winners ) { … … 1234 1144 if ( isLvalue( alt.expr ) ) { 1235 1145 alternatives.push_back( 1236 Alternative{ new AddressExpr( alt.expr->clone() ), alt.env, alt.cost } );1146 Alternative{ alt, new AddressExpr( alt.expr->clone() ), alt.cost } ); 1237 1147 } // if 1238 1148 } // for … … 1240 1150 1241 1151 void AlternativeFinder::Finder::postvisit( LabelAddressExpr * expr ) { 1242 alternatives.push_back( Alternative{ expr->clone(), env , Cost::zero} );1152 alternatives.push_back( Alternative{ expr->clone(), env } ); 1243 1153 } 1244 1154 … … 1285 1195 AltList candidates; 1286 1196 for ( Alternative & alt : finder.alternatives ) { 1287 AssertionSet needAssertions, haveAssertions; 1288 OpenVarSet openVars; 1197 AssertionSet needAssertions( alt.need.begin(), alt.need.end() ); 1198 AssertionSet haveAssertions; 1199 OpenVarSet openVars{ alt.openVars }; 1289 1200 1290 1201 alt.env.extractOpenVars( openVars ); … … 1314 1225 // count one safe conversion for each value that is thrown away 1315 1226 thisCost.incSafe( discardedValues ); 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 ) );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 ) ); 1320 1231 } // if 1321 1232 } // for … … 1330 1241 1331 1242 void AlternativeFinder::Finder::postvisit( VirtualCastExpr * castExpr ) { 1332 assertf( castExpr->get_result(), "Implic atevirtual cast targets not yet supported." );1243 assertf( castExpr->get_result(), "Implicit virtual cast targets not yet supported." ); 1333 1244 AlternativeFinder finder( indexer, env ); 1334 1245 // don't prune here, since it's guaranteed all alternatives will have the same type 1335 1246 finder.findWithoutPrune( castExpr->get_arg() ); 1336 1247 for ( Alternative & alt : finder.alternatives ) { 1337 alternatives.push_back( Alternative (1338 new VirtualCastExpr( alt.expr->clone(), castExpr->get_result()->clone() ),1339 alt. env, alt.cost ));1248 alternatives.push_back( Alternative{ 1249 alt, new VirtualCastExpr{ alt.expr->clone(), castExpr->get_result()->clone() }, 1250 alt.cost } ); 1340 1251 } 1341 1252 } … … 1344 1255 /// Gets name from untyped member expression (member must be NameExpr) 1345 1256 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 } // if 1346 1260 NameExpr * nameExpr = dynamic_cast< NameExpr * >( memberExpr->get_member() ); 1347 1261 assert( nameExpr ); … … 1362 1276 // find member of the given type 1363 1277 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->get_result() ) ) { 1364 addAggMembers( structInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) );1278 addAggMembers( structInst, aggrExpr, *agg, cost, get_member_name(memberExpr) ); 1365 1279 } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->get_result() ) ) { 1366 addAggMembers( unionInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) );1280 addAggMembers( unionInst, aggrExpr, *agg, cost, get_member_name(memberExpr) ); 1367 1281 } else if ( TupleType * tupleType = dynamic_cast< TupleType * >( aggrExpr->get_result() ) ) { 1368 addTupleMembers( tupleType, aggrExpr, cost, agg->env, memberExpr->get_member() );1282 addTupleMembers( tupleType, aggrExpr, *agg, cost, memberExpr->get_member() ); 1369 1283 } // if 1370 1284 } // for … … 1372 1286 1373 1287 void AlternativeFinder::Finder::postvisit( MemberExpr *memberExpr ) { 1374 alternatives.push_back( Alternative ( memberExpr->clone(), env, Cost::zero ));1288 alternatives.push_back( Alternative{ memberExpr->clone(), env } ); 1375 1289 } 1376 1290 … … 1385 1299 // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so 1386 1300 // can't construct in place and use vector::back 1387 Alternative newAlt ( newExpr, env, Cost::zero, cost );1301 Alternative newAlt{ newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost }; 1388 1302 PRINT( 1389 1303 std::cerr << "decl is "; … … 1403 1317 // not sufficient to clone here, because variable's type may have changed 1404 1318 // since the VariableExpr was originally created. 1405 alternatives.push_back( Alternative ( new VariableExpr( variableExpr->var ), env, Cost::zero ));1319 alternatives.push_back( Alternative{ new VariableExpr{ variableExpr->var }, env } ); 1406 1320 } 1407 1321 1408 1322 void AlternativeFinder::Finder::postvisit( ConstantExpr *constantExpr ) { 1409 alternatives.push_back( Alternative ( constantExpr->clone(), env, Cost::zero ));1323 alternatives.push_back( Alternative{ constantExpr->clone(), env } ); 1410 1324 } 1411 1325 … … 1413 1327 if ( sizeofExpr->get_isType() ) { 1414 1328 Type * newType = sizeofExpr->get_type()->clone(); 1415 alternatives.push_back( Alternative( new SizeofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) ); 1329 alternatives.push_back( Alternative{ 1330 new SizeofExpr{ resolveTypeof( newType, indexer ) }, env } ); 1416 1331 } else { 1417 1332 // find all alternatives for the argument to sizeof … … 1427 1342 Alternative &choice = winners.front(); 1428 1343 referenceToRvalueConversion( choice.expr, choice.cost ); 1429 alternatives.push_back( Alternative( new SizeofExpr( choice.expr->clone() ), choice.env, Cost::zero ) ); 1344 alternatives.push_back( Alternative{ 1345 choice, new SizeofExpr( choice.expr->clone() ), Cost::zero } ); 1430 1346 } // if 1431 1347 } … … 1434 1350 if ( alignofExpr->get_isType() ) { 1435 1351 Type * newType = alignofExpr->get_type()->clone(); 1436 alternatives.push_back( Alternative( new AlignofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) ); 1352 alternatives.push_back( Alternative{ 1353 new AlignofExpr{ resolveTypeof( newType, indexer ) }, env } ); 1437 1354 } else { 1438 1355 // find all alternatives for the argument to sizeof … … 1448 1365 Alternative &choice = winners.front(); 1449 1366 referenceToRvalueConversion( choice.expr, choice.cost ); 1450 alternatives.push_back( Alternative( new AlignofExpr( choice.expr->clone() ), choice.env, Cost::zero ) ); 1367 alternatives.push_back( Alternative{ 1368 choice, new AlignofExpr{ choice.expr->clone() }, Cost::zero } ); 1451 1369 } // if 1452 1370 } … … 1458 1376 for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) { 1459 1377 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) { 1460 alternatives.push_back( Alternative( new OffsetofExpr( aggInst->clone(), dwt ), env, Cost::zero ) ); 1378 alternatives.push_back( Alternative{ 1379 new OffsetofExpr{ aggInst->clone(), dwt }, env } ); 1461 1380 renameTypes( alternatives.back().expr ); 1462 1381 } else { … … 1477 1396 1478 1397 void AlternativeFinder::Finder::postvisit( OffsetofExpr *offsetofExpr ) { 1479 alternatives.push_back( Alternative ( offsetofExpr->clone(), env, Cost::zero ));1398 alternatives.push_back( Alternative{ offsetofExpr->clone(), env } ); 1480 1399 } 1481 1400 1482 1401 void AlternativeFinder::Finder::postvisit( OffsetPackExpr *offsetPackExpr ) { 1483 alternatives.push_back( Alternative ( offsetPackExpr->clone(), env, Cost::zero ));1402 alternatives.push_back( Alternative{ offsetPackExpr->clone(), env } ); 1484 1403 } 1485 1404 … … 1501 1420 Cost cost = Cost::zero; 1502 1421 Expression * newExpr = data.combine( cost ); 1503 alternatives.push_back( Alternative( new AttrExpr( newExpr, argType->clone() ), env, Cost::zero, cost ) ); 1422 alternatives.push_back( Alternative{ 1423 new AttrExpr{ newExpr, argType->clone() }, env, OpenVarSet{}, 1424 AssertionList{}, Cost::zero, cost } ); 1504 1425 for ( DeclarationWithType * retVal : function->returnVals ) { 1505 1426 alternatives.back().expr->result = retVal->get_type()->clone(); … … 1540 1461 Cost cost = Cost::zero; 1541 1462 Expression * newExpr = data.combine( cost ); 1542 alternatives.push_back( Alternative( newExpr, env, Cost::zero, cost ) ); 1463 alternatives.push_back( Alternative{ 1464 newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost } ); 1543 1465 renameTypes( alternatives.back().expr ); 1544 1466 } // for … … 1555 1477 for ( const Alternative & first : firstFinder.alternatives ) { 1556 1478 for ( const Alternative & second : secondFinder.alternatives ) { 1557 TypeEnvironment compositeEnv; 1558 compositeEnv.simpleCombine( first.env ); 1479 TypeEnvironment compositeEnv{ first.env }; 1559 1480 compositeEnv.simpleCombine( second.env ); 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 ) ); 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 } ); 1563 1492 } 1564 1493 } … … 1581 1510 for ( const Alternative & second : secondFinder.alternatives ) { 1582 1511 for ( const Alternative & third : thirdFinder.alternatives ) { 1583 TypeEnvironment compositeEnv; 1584 compositeEnv.simpleCombine( first.env ); 1512 TypeEnvironment compositeEnv{ first.env }; 1585 1513 compositeEnv.simpleCombine( second.env ); 1586 1514 compositeEnv.simpleCombine( third.env ); 1587 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 1588 1524 // 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 );1592 1525 Type* commonType = nullptr; 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() ); 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() }; 1595 1530 newExpr->result = commonType ? commonType : second.expr->result->clone(); 1596 1531 // convert both options to the conditional result type 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 ) ); 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 ) ); 1601 1542 } // if 1602 1543 } // for … … 1611 1552 secondFinder.findWithAdjustment( commaExpr->get_arg2() ); 1612 1553 for ( const Alternative & alt : secondFinder.alternatives ) { 1613 alternatives.push_back( Alternative( new CommaExpr( newFirstArg->clone(), alt.expr->clone() ), alt.env, alt.cost ) ); 1554 alternatives.push_back( Alternative{ 1555 alt, new CommaExpr{ newFirstArg->clone(), alt.expr->clone() }, alt.cost } ); 1614 1556 } // for 1615 1557 delete newFirstArg; … … 1626 1568 for ( const Alternative & first : firstFinder.alternatives ) { 1627 1569 for ( const Alternative & second : secondFinder.alternatives ) { 1628 TypeEnvironment compositeEnv; 1629 compositeEnv.simpleCombine( first.env ); 1570 TypeEnvironment compositeEnv{ first.env }; 1630 1571 compositeEnv.simpleCombine( second.env ); 1631 OpenVarSet openVars; 1632 AssertionSet needAssertions, haveAssertions; 1633 Alternative newAlt( 0, compositeEnv, first.cost + second.cost ); 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 1634 1579 Type* commonType = nullptr; 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() ); 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() }; 1637 1584 newExpr->result = commonType ? commonType : first.expr->result->clone(); 1638 newAlt.expr = newExpr; 1639 inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( alternatives ) ); 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 ) ); 1640 1589 } // if 1641 1590 } // for … … 1655 1604 1656 1605 TypeEnvironment compositeEnv; 1657 simpleCombineEnvironments( alts.begin(), alts.end(), compositeEnv ); 1658 alternatives.push_back( 1659 Alternative{ new TupleExpr( exprs ), compositeEnv, sumCost( alts ) } ); 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 ) } ); 1660 1617 } // for 1661 1618 } 1662 1619 1663 1620 void AlternativeFinder::Finder::postvisit( TupleExpr *tupleExpr ) { 1664 alternatives.push_back( Alternative ( tupleExpr->clone(), env, Cost::zero ));1621 alternatives.push_back( Alternative{ tupleExpr->clone(), env } ); 1665 1622 } 1666 1623 1667 1624 void AlternativeFinder::Finder::postvisit( ImplicitCopyCtorExpr * impCpCtorExpr ) { 1668 alternatives.push_back( Alternative ( impCpCtorExpr->clone(), env, Cost::zero ));1625 alternatives.push_back( Alternative{ impCpCtorExpr->clone(), env } ); 1669 1626 } 1670 1627 … … 1675 1632 finder.findWithoutPrune( ctorExpr->get_callExpr() ); 1676 1633 for ( Alternative & alt : finder.alternatives ) { 1677 alternatives.push_back( Alternative( new ConstructorExpr( alt.expr->clone() ), alt.env, alt.cost ) ); 1634 alternatives.push_back( Alternative{ 1635 alt, new ConstructorExpr( alt.expr->clone() ), alt.cost } ); 1678 1636 } 1679 1637 } 1680 1638 1681 1639 void AlternativeFinder::Finder::postvisit( TupleIndexExpr *tupleExpr ) { 1682 alternatives.push_back( Alternative ( tupleExpr->clone(), env, Cost::zero ));1640 alternatives.push_back( Alternative{ tupleExpr->clone(), env } ); 1683 1641 } 1684 1642 1685 1643 void AlternativeFinder::Finder::postvisit( TupleAssignExpr *tupleAssignExpr ) { 1686 alternatives.push_back( Alternative ( tupleAssignExpr->clone(), env, Cost::zero ));1644 alternatives.push_back( Alternative{ tupleAssignExpr->clone(), env } ); 1687 1645 } 1688 1646 … … 1693 1651 // ensure that the id is passed on to the UniqueExpr alternative so that the expressions are "linked" 1694 1652 UniqueExpr * newUnqExpr = new UniqueExpr( alt.expr->clone(), unqExpr->get_id() ); 1695 alternatives.push_back( Alternative ( newUnqExpr, alt.env, alt.cost ));1653 alternatives.push_back( Alternative{ alt, newUnqExpr, alt.cost } ); 1696 1654 } 1697 1655 } … … 1701 1659 ResolvExpr::resolveStmtExpr( newStmtExpr, indexer ); 1702 1660 // xxx - this env is almost certainly wrong, and needs to somehow contain the combined environments from all of the statements in the stmtExpr... 1703 alternatives.push_back( Alternative ( newStmtExpr, env, Cost::zero ));1661 alternatives.push_back( Alternative{ newStmtExpr, env } ); 1704 1662 } 1705 1663 … … 1723 1681 for ( Alternative & alt : finder.get_alternatives() ) { 1724 1682 TypeEnvironment newEnv( alt.env ); 1725 AssertionSet needAssertions, haveAssertions; 1726 OpenVarSet openVars; // find things in env that don't have a "representative type" and claim those are open vars? 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? 1727 1689 PRINT( 1728 1690 std::cerr << " @ " << toType << " " << initAlt.designation << std::endl; 1729 1691 ) 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. 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. 1734 1697 int discardedValues = alt.expr->result->size() - toType->size(); 1735 1698 if ( discardedValues < 0 ) continue; 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])) 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 1738 1703 // unification run for side-effects 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?? 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? 1740 1706 1741 1707 Cost thisCost = castCost( alt.expr->result, toType, indexer, newEnv ); … … 1743 1709 // count one safe conversion for each value that is thrown away 1744 1710 thisCost.incSafe( discardedValues ); 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 ) ); 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 ) ); 1747 1717 } 1748 1718 } -
src/ResolvExpr/AlternativeFinder.h
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:56:12 2015 11 // Last Modified By : A ndrew Beach12 // Last Modified On : Wed Jul 26 11:24:00 201713 // Update Count : 411 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Fri Oct -5 10:01:00 2018 13 // Update Count : 5 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 ResolvMode 26 27 #include "SynTree/Visitor.h" // for Visitor 27 28 #include "SynTree/SynTree.h" // for Visitor Nodes … … 68 69 } 69 70 70 void find( Expression *expr, bool adjust = false, bool prune = true, bool failFast = true);71 void find( Expression *expr, ResolvMode mode = ResolvMode{} ); 71 72 /// Calls find with the adjust flag set; adjustment turns array and function types into equivalent pointer types 72 73 void findWithAdjustment( Expression *expr ); -
src/ResolvExpr/ConversionCost.cc
r9b086ca rcde3891 28 28 29 29 namespace ResolvExpr { 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 ); 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 }; 36 38 37 39 #if 0 -
src/ResolvExpr/Cost.h
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 09:39:50 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:35:55 201713 // Update Count : 511 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Fri Oct 05 14:32:00 2018 13 // Update Count : 7 14 14 // 15 15 … … 21 21 class Cost { 22 22 private: 23 Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost ); 23 Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost, 24 int referenceCost ); 24 25 25 26 public: … … 27 28 Cost & incPoly( int inc = 1 ); 28 29 Cost & incSafe( int inc = 1 ); 30 Cost & incVar( int inc = 1 ); 31 Cost & decSpec( int inc = 1 ); 29 32 Cost & incReference( int inc = 1 ); 30 33 … … 32 35 int get_polyCost() const { return polyCost; } 33 36 int get_safeCost() const { return safeCost; } 37 int get_varCost() const { return varCost; } 38 int get_specCost() const { return specCost; } 34 39 int get_referenceCost() const { return referenceCost; } 35 40 … … 41 46 bool operator!=( const Cost &other ) const; 42 47 friend std::ostream &operator<<( std::ostream &os, const Cost &cost ); 48 // returns negative for *this < other, 0 for *this == other, positive for *this > other 49 int compare( const Cost &other ) const; 43 50 44 51 static const Cost zero; … … 48 55 static const Cost poly; 49 56 static const Cost safe; 57 static const Cost var; 58 static const Cost spec; 50 59 static const Cost reference; 60 51 61 private: 52 int compare( const Cost &other ) const;53 54 int unsafeCost;55 int polyCost;56 int s afeCost;57 int referenceCost; 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 58 68 }; 59 69 60 inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost ) : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), referenceCost( referenceCost ) {} 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 ) {} 61 74 62 75 inline Cost & Cost::incUnsafe( int inc ) { … … 75 88 if ( *this == infinity ) return *this; 76 89 safeCost += inc; 90 return *this; 91 } 92 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; 77 102 return *this; 78 103 } … … 86 111 inline Cost Cost::operator+( const Cost &other ) const { 87 112 if ( *this == infinity || other == infinity ) return infinity; 88 return Cost( unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, referenceCost + other.referenceCost ); 113 return Cost{ 114 unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, 115 varCost + other.varCost, specCost + other.specCost, 116 referenceCost + other.referenceCost }; 89 117 } 90 118 91 119 inline Cost Cost::operator-( const Cost &other ) const { 92 120 if ( *this == infinity || other == infinity ) return infinity; 93 return Cost( unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, referenceCost - other.referenceCost ); 121 return Cost{ 122 unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, 123 varCost - other.varCost, specCost - other.specCost, 124 referenceCost - other.referenceCost }; 94 125 } 95 126 … … 103 134 polyCost += other.polyCost; 104 135 safeCost += other.safeCost; 136 varCost += other.varCost; 137 specCost += other.specCost; 105 138 referenceCost += other.referenceCost; 106 139 return *this; … … 123 156 } else if ( safeCost < other.safeCost ) { 124 157 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; 125 166 } else if ( referenceCost > other.referenceCost ) { 126 167 return false; … … 130 171 return false; 131 172 } // if 173 } 174 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; 132 185 } 133 186 … … 136 189 && polyCost == other.polyCost 137 190 && safeCost == other.safeCost 191 && varCost == other.varCost 192 && specCost == other.specCost 138 193 && referenceCost == other.referenceCost; 139 194 } … … 144 199 145 200 inline std::ostream &operator<<( std::ostream &os, const Cost &cost ) { 146 os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " << cost.safeCost << ", " << cost.referenceCost << " )"; 147 return os; 201 return os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " 202 << cost.safeCost << ", " << cost.varCost << ", " << cost.specCost << ", " 203 << cost.referenceCost << " )"; 148 204 } 149 205 } // namespace ResolvExpr -
src/ResolvExpr/ResolveTypeof.cc
r9b086ca rcde3891 67 67 std::cerr << std::endl; 68 68 #endif 69 if ( typeofType->expr ) { 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 70 83 Expression * newExpr = resolveInVoidContext( typeofType->expr, indexer ); 71 84 assert( newExpr->result && ! newExpr->result->isVoid() ); 72 Type *newType = newExpr->result;85 newType = newExpr->result; 73 86 newExpr->result = nullptr; 74 87 delete typeofType; 75 88 delete newExpr; 76 return newType; 77 } // if 78 return typeofType; 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; 79 108 } 80 109 } // namespace ResolvExpr -
src/ResolvExpr/Resolver.cc
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Feb 17 11:19:40 201813 // Update Count : 21 311 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Fri Oct 05 09:43:00 2018 13 // Update Count : 214 14 14 // 15 15 16 #include <stddef.h> // for NULL17 16 #include <cassert> // for strict_dynamic_cast, assert 18 17 #include <memory> // for allocator, allocator_traits<... 19 18 #include <tuple> // for get 20 #include <vector> 19 #include <vector> // for vector 21 20 22 21 #include "Alternative.h" // for Alternative, AltList … … 31 30 #include "ResolvExpr/TypeEnvironment.h" // for TypeEnvironment 32 31 #include "Resolver.h" 32 #include "ResolvMode.h" // for ResolvMode 33 #include "SymTab/Autogen.h" // for SizeType 33 34 #include "SymTab/Indexer.h" // for Indexer 34 35 #include "SynTree/Declaration.h" // for ObjectDecl, TypeDecl, Declar... … … 168 169 169 170 namespace { 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) {171 void findUnfinishedKindExpression(Expression * untyped, Alternative & alt, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{} ) { 171 172 assertf( untyped, "expected a non-null expression." ); 173 174 // xxx - this isn't thread-safe, but should work until we parallelize the resolver 175 static unsigned recursion_level = 0; 176 177 ++recursion_level; 172 178 TypeEnvironment env; 173 179 AlternativeFinder finder( indexer, env ); 174 finder.find( untyped, adjust, prune, failFast ); 180 finder.find( untyped, recursion_level == 1 ? mode.atTopLevel() : mode ); 181 --recursion_level; 175 182 176 183 #if 0 … … 185 192 #endif 186 193 194 // produce filtered list of alternatives 187 195 AltList candidates; 188 196 for ( Alternative & alt : finder.get_alternatives() ) { … … 192 200 } 193 201 194 // xxx - if > 1 alternative with same cost, ignore deleted and pick from remaining 195 // choose the lowest cost expression among the candidates 202 // produce invalid error if no candidates 203 if ( candidates.empty() ) { 204 SemanticError( untyped, toString( "No reasonable alternatives for ", kindStr, (kindStr != "" ? " " : ""), "expression: ") ); 205 } 206 207 // search for cheapest candidate 196 208 AltList winners; 197 findMinCost( candidates.begin(), candidates.end(), back_inserter( winners ) ); 198 if ( winners.size() == 0 ) { 199 SemanticError( untyped, toString( "No reasonable alternatives for ", kindStr, (kindStr != "" ? " " : ""), "expression: ") ); 200 } else if ( winners.size() != 1 ) { 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 ) { 201 241 std::ostringstream stream; 202 242 stream << "Cannot choose between " << winners.size() << " alternatives for " << kindStr << (kindStr != "" ? " " : "") << "expression\n"; … … 207 247 } 208 248 209 // there is one unambiguous interpretation - move the expression into the with statement 210 Alternative & choice = winners.front(); 211 if ( findDeletedExpr( choice.expr ) ) { 249 // single selected choice 250 Alternative& choice = winners.front(); 251 252 // fail on only expression deleted 253 if ( ! seen_undeleted ) { 212 254 SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " ); 213 255 } 256 257 // xxx - check for ambiguous expressions 258 259 // output selected choice 214 260 alt = std::move( choice ); 215 261 } 216 262 217 263 /// resolve `untyped` to the expression whose alternative satisfies `pred` with the lowest cost; kindStr is used for providing better error messages 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) {264 void findKindExpression(Expression *& untyped, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{}) { 219 265 if ( ! untyped ) return; 220 266 Alternative choice; 221 findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, adjust, prune, failFast);267 findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, mode ); 222 268 finishExpr( choice.expr, choice.env, untyped->env ); 223 269 delete untyped; … … 250 296 untyped.arg = expr; 251 297 Alternative choice; 252 findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, true);298 findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, ResolvMode::withAdjustment() ); 253 299 CastExpr * castExpr = strict_dynamic_cast< CastExpr * >( choice.expr ); 254 300 env = std::move( choice.env ); … … 357 403 358 404 void Resolver::previsit( ObjectDecl *objectDecl ) { 359 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that class-variable360 // initContext is changed multiple time because the LHS is analysed twice. The second analysis changes361 // initContext because of a function type can contain object declarations in the return and parameter types. So362 // each value of initContext is retained, so the type on the first analysis is preserved and used for selecting363 // the RHS.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 object 408 // declarations in the return and parameter types. So each value of initContext is 409 // retained, so the type on the first analysis is preserved and used for selecting the RHS. 364 410 GuardValue( currentObject ); 365 411 currentObject = CurrentObject( objectDecl->get_type() ); … … 397 443 398 444 void Resolver::postvisit( FunctionDecl *functionDecl ) { 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. 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. 402 449 for ( Declaration * d : functionDecl->type->parameters ) { 403 450 if ( ObjectDecl * obj = dynamic_cast< ObjectDecl * >( d ) ) { … … 749 796 initExpr->expr = nullptr; 750 797 std::swap( initExpr->env, newExpr->env ); 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. 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. 753 801 newExpr->spliceInferParams( initExpr ); 754 802 delete initExpr; 755 803 756 // get the actual object's type (may not exactly match what comes back from the resolver due to conversions) 804 // get the actual object's type (may not exactly match what comes back from the resolver 805 // due to conversions) 757 806 Type * initContext = currentObject.getCurrentType(); 758 807 … … 766 815 if ( isCharType( pt->get_base() ) ) { 767 816 if ( CastExpr *ce = dynamic_cast< CastExpr * >( newExpr ) ) { 768 // strip cast if we're initializing a char[] with a char *, e.g. char x[] = "hello"; 817 // strip cast if we're initializing a char[] with a char *, 818 // e.g. char x[] = "hello"; 769 819 newExpr = ce->get_arg(); 770 820 ce->set_arg( nullptr ); … … 788 838 // move cursor into brace-enclosed initializer-list 789 839 currentObject.enterListInit(); 790 // xxx - fix this so that the list isn't copied, iterator should be used to change current element 840 // xxx - fix this so that the list isn't copied, iterator should be used to change current 841 // element 791 842 std::list<Designation *> newDesignations; 792 843 for ( auto p : group_iterate(listInit->get_designations(), listInit->get_initializers()) ) { 793 // iterate designations and initializers in pairs, moving the cursor to the current designated object and resolving794 // the initializer against that object.844 // iterate designations and initializers in pairs, moving the cursor to the current 845 // designated object and resolving the initializer against that object. 795 846 Designation * des = std::get<0>(p); 796 847 Initializer * init = std::get<1>(p); … … 822 873 // fall back on C-style initializer 823 874 delete ctorInit->get_ctor(); 824 ctorInit->set_ctor( NULL);875 ctorInit->set_ctor( nullptr ); 825 876 delete ctorInit->get_dtor(); 826 ctorInit->set_dtor( NULL);877 ctorInit->set_dtor( nullptr ); 827 878 maybeAccept( ctorInit->get_init(), *visitor ); 828 879 } … … 867 918 868 919 // xxx - todo -- what about arrays? 869 // if ( dtor == NULL&& InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) {920 // if ( dtor == nullptr && InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) { 870 921 // // can reduce the constructor down to a SingleInit using the 871 922 // // second argument from the ctor call, since 872 923 // delete ctorInit->get_ctor(); 873 // ctorInit->set_ctor( NULL);924 // ctorInit->set_ctor( nullptr ); 874 925 875 926 // Expression * arg = -
src/ResolvExpr/TypeEnvironment.cc
r9b086ca rcde3891 120 120 121 121 const EqvClass* TypeEnvironment::lookup( const std::string &var ) const { 122 for ( std::list< EqvClass >::const_iterator i = env.begin(); i != env.end(); ++i ) {122 for ( ClassList::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 ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {170 for ( ClassList::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 std::list< EqvClass >::iterator TypeEnvironment::internal_lookup( const std::string &var ) {191 for ( std::list< EqvClass >::iterator i = env.begin(); i != env.end(); ++i ) {190 TypeEnvironment::ClassList::iterator TypeEnvironment::internal_lookup( const std::string &var ) { 191 for ( ClassList::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 types 206 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 necessary 212 if ( common ) { 213 common->get_qualifiers() = Type::Qualifiers{}; 214 to.set_type( common ); 215 } 216 } else return false; // cannot unify 217 } else { 218 to.type = from.type->clone(); 219 } 220 } 221 222 // unify widening if matches 223 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 match 233 if ( ! mergeBound( r, s, openVars, indexer ) ) return false; 234 235 // check safely bindable 236 if ( r.type && occursIn( r.type, s.vars.begin(), s.vars.end(), *this ) ) return false; 237 238 // merge classes in 239 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 cases 248 if ( o.isEmpty() ) return true; 249 if ( isEmpty() ) { 250 simpleCombine( o ); 251 return true; 252 } 253 254 // merge classes 255 for ( auto ct = o.env.begin(); ct != o.env.end(); ++ct ) { 256 const EqvClass& c = *ct; 257 258 // typeclass in local environment bound to c 259 auto rt = env.end(); 260 261 // look for first existing bound variable 262 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 *rt 269 EqvClass& r = *rt; 270 // merge bindings 271 if ( ! mergeBound( r, c, openVars, indexer ) ) return false; 272 // merge previous unbound variables into this class, checking occurs if needed 273 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 occurs 282 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 class 286 if ( ! mergeClasses( rt, st, openVars, indexer ) ) return false; 287 } // ignore bound into the same class 288 } 289 } else { // no variables in c bound; just copy up 290 env.push_back( c ); 291 } 292 } 293 294 // merged all classes 295 return true; 296 } 297 201 298 void TypeEnvironment::extractOpenVars( OpenVarSet &openVars ) const { 202 for ( std::list< EqvClass >::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) {299 for ( ClassList::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) { 203 300 for ( std::set< std::string >::const_iterator var = eqvClass->vars.begin(); var != eqvClass->vars.end(); ++var ) { 204 301 openVars[ *var ] = eqvClass->data; -
src/ResolvExpr/TypeEnvironment.h
r9b086ca rcde3891 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 comparator. 41 // I've seen a TU go from 54 minutes to 1 minute 34 seconds with the addition of this 42 // comparator. 42 43 // 43 44 // Note: since this compares pointers for position, minor changes in the source file that affect 44 45 // memory layout can alter compilation time in unpredictable ways. For example, the placement 45 46 // of a line directive can reorder type pointers with respect to each other so that assertions 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. 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. 51 53 struct AssertCompare { 52 54 bool operator()( DeclarationWithType * d1, DeclarationWithType * d2 ) const { … … 57 59 }; 58 60 struct AssertionSetValue { 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; 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) {} 64 65 }; 65 66 typedef std::map< DeclarationWithType*, AssertionSetValue, AssertCompare > AssertionSet; 66 67 typedef std::map< std::string, TypeDecl::Data > OpenVarSet; 68 69 /// merges one set of open vars into another 70 static inline void mergeOpenVars( OpenVarSet& dst, const OpenVarSet& src ) { 71 for ( const auto& entry : src ) { dst[ entry.first ] = entry.second; } 72 } 67 73 68 74 void printAssertionSet( const AssertionSet &, std::ostream &, int indent = 0 ); … … 91 97 92 98 class TypeEnvironment { 99 using ClassList = std::list< EqvClass >; 93 100 public: 94 101 const EqvClass* lookup( const std::string &var ) const; … … 103 110 bool isEmpty() const { return env.empty(); } 104 111 void print( std::ostream &os, Indenter indent = {} ) const; 105 // void combine( const TypeEnvironment &second, Type *(*combineFunc)( Type*, Type* ) ); 112 113 /// Simply concatenate the second environment onto this one; no safety checks performed 106 114 void simpleCombine( const TypeEnvironment &second ); 115 116 private: 117 /// Unifies the type bound of to with the type bound of from, returning false if fails 118 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 fails 121 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 107 128 void extractOpenVars( OpenVarSet &openVars ) const; 108 129 TypeEnvironment *clone() const { return new TypeEnvironment( *this ); } … … 123 144 void forbidWidening(); 124 145 125 using iterator = std::list< EqvClass >::const_iterator;146 using iterator = ClassList::const_iterator; 126 147 iterator begin() const { return env.begin(); } 127 148 iterator end() const { return env.end(); } 128 149 129 150 private: 130 std::list< EqvClass >env;151 ClassList env; 131 152 132 std::list< EqvClass >::iterator internal_lookup( const std::string &var );153 ClassList::iterator internal_lookup( const std::string &var ); 133 154 }; 134 155 -
src/ResolvExpr/module.mk
r9b086ca rcde3891 33 33 ResolvExpr/TypeEnvironment.cc \ 34 34 ResolvExpr/CurrentObject.cc \ 35 ResolvExpr/ExplodedActual.cc 35 ResolvExpr/ExplodedActual.cc \ 36 ResolvExpr/SpecCost.cc \ 37 ResolvExpr/ResolveAssertions.cc -
src/ResolvExpr/typeops.h
r9b086ca rcde3891 72 72 Cost conversionCost( Type *src, Type *dest, const SymTab::Indexer &indexer, const TypeEnvironment &env ); 73 73 74 // in AlternativeFinder.cc 75 Cost computeConversionCost( Type *actualType, Type *formalType, 76 const SymTab::Indexer &indexer, const TypeEnvironment &env ); 77 74 78 // in PtrsAssignable.cc 75 79 int ptrsAssignable( Type *src, Type *dest, const TypeEnvironment &env ); … … 102 106 int polyCost( Type *type, const TypeEnvironment &env, const SymTab::Indexer &indexer ); 103 107 108 // in SpecCost.cc 109 int specCost( Type *type ); 110 104 111 // in Occurs.cc 105 112 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 } 106 122 107 123 // in AlternativeFinder.cc -
src/SymTab/Demangle.cc
r9b086ca rcde3891 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, [ this](Type::Qualifiers tq) { return new ZeroType(tq); });395 parsers.emplace_back(Encoding::one, [ this](Type::Qualifiers tq) { return new OneType(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); }); 396 396 } 397 397 -
src/SymTab/Mangler.cc
r9b086ca rcde3891 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 "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... 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... 32 33 33 34 namespace SymTab { … … 37 38 struct Mangler : public WithShortCircuiting, public WithVisitorRef<Mangler>, public WithGuards { 38 39 Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams ); 40 Mangler( const ResolvExpr::TypeEnvironment& env ); 39 41 Mangler( const Mangler & ) = delete; 40 42 … … 65 67 private: 66 68 std::ostringstream mangleName; ///< Mangled name being constructed 67 typedef std::map< std::string, std::pair< int, int > > VarMapType;69 typedef std::map< std::string, std::pair< std::string, int > > VarMapType; 68 70 VarMapType varNums; ///< Map of type variables to indices 69 71 int nextVarNum; ///< Next type variable index 72 const ResolvExpr::TypeEnvironment* env; ///< optional environment for substitutions 70 73 bool isTopLevel; ///< Is the Mangler at the top level 71 74 bool mangleOverridable; ///< Specially mangle overridable built-in methods … … 75 78 bool inQualifiedType = false; ///< Add start/end delimiters around qualified type 76 79 80 public: 81 Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams, 82 int nextVarNum, const ResolvExpr::TypeEnvironment* env, 83 const VarMapType& varNums ); 84 85 private: 77 86 void mangleDecl( DeclarationWithType *declaration ); 78 87 void mangleRef( ReferenceToType *refType, std::string prefix ); … … 100 109 } 101 110 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 102 118 namespace { 103 119 Mangler::Mangler( bool mangleOverridable, bool typeMode, bool mangleGenericParams ) 104 : nextVarNum( 0 ), isTopLevel( true ), mangleOverridable( mangleOverridable ), typeMode( typeMode ), mangleGenericParams( 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 ) {} 105 134 106 135 void Mangler::mangleDecl( DeclarationWithType * declaration ) { … … 329 358 assert( false ); 330 359 } // switch 331 varNums[ (*i)->name ] = std::pair< int, int >( nextVarNum++, (int)(*i)->get_kind() ); 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() ); 332 377 for ( std::list< DeclarationWithType* >::iterator assert = (*i)->assertions.begin(); assert != (*i)->assertions.end(); ++assert ) { 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; 378 PassVisitor<Mangler> sub_mangler( 379 mangleOverridable, typeMode, mangleGenericParams, nextVarNum, env, 380 varNums ); 337 381 (*assert)->accept( sub_mangler ); 338 assertionNames.push_back( sub_mangler.pass. mangleName.str() );382 assertionNames.push_back( sub_mangler.pass.get_mangleName() ); 339 383 acount++; 340 384 } // for -
src/SymTab/Mangler.h
r9b086ca rcde3891 31 31 // * Currently name compression is not implemented. 32 32 33 namespace ResolvExpr { 34 class TypeEnvironment; 35 } 36 33 37 namespace SymTab { 34 38 namespace Mangler { … … 40 44 /// Mangle ignoring generic type parameters 41 45 std::string mangleConcrete( Type* ty ); 46 /// Mangle for assertion key 47 std::string mangleAssnKey( DeclarationWithType* decl, 48 const ResolvExpr::TypeEnvironment& env ); 42 49 43 50 namespace Encoding { -
src/SymTab/Validate.cc
r9b086ca rcde3891 398 398 assert( aggr ); // TODO: need to handle forward declarations 399 399 for ( Declaration * member : aggr->members ) { 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 ) ) { 400 if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) { 420 401 // name on the right is a typedef 421 402 if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) { … … 424 405 Type * ret = aggr->base->clone(); 425 406 ret->get_qualifiers() = qualType->get_qualifiers(); 407 TypeSubstitution sub = parent->genericSubstitution(); 408 sub.apply(ret); 426 409 return ret; 427 410 } -
src/SynTree/ApplicationExpr.cc
r9b086ca rcde3891 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
r9b086ca rcde3891 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 14 14:50:00 201713 // Update Count : 2912 // Last Modified On : Fri Spt 28 14:49:00 2018 13 // Update Count : 30 14 14 // 15 15 … … 19 19 20 20 #include "Constant.h" 21 #include "Expression.h" // for ConstantExpr 21 22 #include "Type.h" // for BasicType, Type, Type::Qualifiers, PointerType 22 23 … … 48 49 Constant Constant::from_double( double d ) { 49 50 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 ); 50 61 } 51 62 -
src/SynTree/Constant.h
r9b086ca rcde3891 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:54:46 201713 // Update Count : 1 711 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Spt 28 14:48:00 2018 13 // Update Count : 18 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 string 54 static Constant from_string( std::string const & s ); 53 55 54 56 /// generates a null pointer value for the given type. void * if omitted. -
src/SynTree/Expression.cc
r9b086ca rcde3891 40 40 Declaration::declFromId( i->second.decl )->printShort( os, indent+1 ); 41 41 os << std::endl; 42 printInferParams( *i->second.inferParams, os, indent+1, level+1 );42 printInferParams( i->second.expr->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 ) { 50 } 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 ) {} 51 50 52 51 void Expression::spliceInferParams( Expression * other ) { … … 55 54 inferParams[p.first] = std::move( p.second ); 56 55 } 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
r9b086ca rcde3891 21 21 #include <memory> // for allocator, unique_ptr 22 22 #include <string> // for string 23 #include <vector> // for vector 23 24 24 25 #include "BaseSyntaxNode.h" // for BaseSyntaxNode … … 38 39 /// but subject to decay-to-pointer and type parameter renaming 39 40 struct ParamEntry { 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 ){}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 )*/ {} 42 43 ParamEntry( const ParamEntry & other ); 43 44 ParamEntry( ParamEntry && other ); … … 50 51 Type * formalType; 51 52 Expression * expr; 52 std::unique_ptr< InferredParams > inferParams;53 // std::unique_ptr< InferredParams > inferParams; 53 54 }; 54 55 … … 59 60 TypeSubstitution * env; 60 61 bool extension = false; 61 InferredParams inferParams; 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 62 66 63 67 Expression(); … … 73 77 bool get_extension() const { return extension; } 74 78 Expression * set_extension( bool exten ) { extension = exten; return this; } 75 76 InferredParams & get_inferParams() { return inferParams; }77 79 78 80 // move other's inferParams to this -
src/SynTree/FunctionDecl.cc
r9b086ca rcde3891 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
r9b086ca rcde3891 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
r9b086ca rcde3891 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
r9b086ca rcde3891 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
r9b086ca rcde3891 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
r9b086ca rcde3891 598 598 class TypeofType : public Type { 599 599 public: 600 Expression *expr; 601 602 TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 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 * >() ); 603 606 TypeofType( const TypeofType& ); 604 607 virtual ~TypeofType(); -
src/SynTree/TypeofType.cc
r9b086ca rcde3891 23 23 class Attribute; 24 24 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, const std::list< Attribute * > & attributes ) : Type( tq, attributes ), expr( expr ) { 26 } 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, 26 const std::list< Attribute * > & attributes ) 27 : Type( tq, attributes ), expr( expr ), is_basetypeof(false) {} 27 28 28 TypeofType::TypeofType( const TypeofType &other ) : Type( other ), expr( maybeClone( other.expr ) ) { 29 } 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 ) {} 30 35 31 36 TypeofType::~TypeofType() { … … 35 40 void TypeofType::print( std::ostream &os, Indenter indent ) const { 36 41 Type::print( os, indent ); 42 if ( is_basetypeof ) { os << "base-"; } 37 43 os << "type-of expression "; 38 44 if ( expr ) { -
src/Tuples/Explode.h
r9b086ca rcde3891 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, 46 47 const ResolvExpr::Cost& cost, const ResolvExpr::Cost& cvtCost ) { 47 *out++ = ResolvExpr::Alternative{ expr, env, cost, cvtCost };48 *out++ = ResolvExpr::Alternative{ expr, env, openVars, need, cost, cvtCost }; 48 49 } 49 50 50 51 /// Append alternative to an ExplodedActual 51 52 static inline void append( ResolvExpr::ExplodedActual& ea, Expression* expr, 52 const ResolvExpr::TypeEnvironment&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 53 const ResolvExpr::TypeEnvironment&, const ResolvExpr::OpenVarSet&, 54 const ResolvExpr::AssertionList&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 53 55 ea.exprs.emplace_back( expr ); 54 /// xxx -- merge environment, cost?56 /// xxx -- merge environment, openVars, need, cost? 55 57 } 56 58 … … 68 70 // distribute reference cast over all components 69 71 append( std::forward<Output>(out), distributeReference( alt.release_expr() ), 70 alt.env, alt. cost, alt.cvtCost );72 alt.env, alt.openVars, alt.need, alt.cost, alt.cvtCost ); 71 73 } 72 74 // 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) … … 102 104 } else { 103 105 // atomic (non-tuple) type - output a clone of the expression in a new alternative 104 append( std::forward<Output>(out), expr->clone(), alt.env, alt.cost, alt.cvtCost ); 106 append( std::forward<Output>(out), expr->clone(), alt.env, alt.openVars, alt.need, 107 alt.cost, alt.cvtCost ); 105 108 } 106 109 } -
src/Tuples/TupleAssignment.cc
r9b086ca rcde3891 62 62 struct Matcher { 63 63 public: 64 Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs, const65 ResolvExpr::AltList& rhs );64 Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs, 65 const ResolvExpr::AltList& rhs ); 66 66 virtual ~Matcher() {} 67 67 68 virtual void match( std::list< Expression * > &out ) = 0; 68 69 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 69 81 ResolvExpr::AltList lhs, rhs; 70 82 TupleAssignSpotter &spotter; … … 72 84 std::list< ObjectDecl * > tmpDecls; 73 85 ResolvExpr::TypeEnvironment compositeEnv; 86 ResolvExpr::OpenVarSet openVars; 87 ResolvExpr::AssertionSet need; 74 88 }; 75 89 … … 245 259 } 246 260 247 // extract expressions from the assignment alternatives to produce a list of assignments that248 // t ogether form a single alternative261 // extract expressions from the assignment alternatives to produce a list of assignments 262 // that together form a single alternative 249 263 std::list< Expression *> solved_assigns; 250 264 for ( ResolvExpr::Alternative & alt : current ) { 251 265 solved_assigns.push_back( alt.expr->clone() ); 252 }253 // combine assignment environments into combined expression environment254 simpleCombineEnvironments( current.begin(), current.end(), matcher->compositeEnv );266 matcher->combineState( alt ); 267 } 268 255 269 // xxx -- was push_front 256 currentFinder.get_alternatives().push_back( ResolvExpr::Alternative( 257 new TupleAssignExpr(solved_assigns, matcher->tmpDecls), matcher->compositeEnv, 258 ResolvExpr::sumCost( current ) + matcher->baseCost ) ); 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 } ); 259 275 } 260 276 … … 263 279 : lhs(lhs), rhs(rhs), spotter(spotter), 264 280 baseCost( ResolvExpr::sumCost( lhs ) + ResolvExpr::sumCost( rhs ) ) { 265 simpleCombineEnvironments( lhs.begin(), lhs.end(), compositeEnv );266 simpleCombineEnvironments( rhs.begin(), rhs.end(), compositeEnv);281 combineState( lhs ); 282 combineState( rhs ); 267 283 } 268 284 -
src/cfa.make
r9b086ca rcde3891 1 2 1 3 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) 2 8 3 9 AM_V_CFA = $(am__v_CFA_@AM_V@) … … 6 12 am__v_CFA_1 = 7 13 8 .cfa.o: $(CFACC) $(CFACPP)14 .cfa.o: 9 15 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 10 16 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 11 17 $(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.Plo 23 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
r9b086ca rcde3891 7 7 #undef CFA_64_CPU 8 8 9 /* Location of include files. */9 /* Backend compiler to use. */ 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_H 71 69 72 /* Define to 1 if you have the <fenv.h> header file. */ 70 73 #undef HAVE_FENV_H … … 129 132 /* Define to 1 if the system has the type `_Bool'. */ 130 133 #undef HAVE__BOOL 134 135 /* Define to the sub-directory where libtool stores uninstalled libraries. */ 136 #undef LT_OBJDIR 131 137 132 138 /* Name of package */ -
src/main.cc
r9b086ca rcde3891 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 6 15:51:47201813 // Update Count : 49 812 // Last Modified On : Wed Dec 26 08:11:19 2018 13 // Update Count : 499 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 dumpAsResolvProto 36 37 #include "CodeTools/TrackLoc.h" // for fillLocations 37 38 #include "Common/CompilerError.h" // for CompilerError … … 171 172 if ( filename == nullptr ) filename = argv[ optind ]; 172 173 // prelude filename comes in differently 173 if ( libcfap ) filename = "prelude.cf ";174 if ( libcfap ) filename = "prelude.cfa"; 174 175 optind += 1; 175 176 } else { // no input file name … … 198 199 if ( ! libcfap ) { 199 200 // read the prelude in, if not generating the cfa library 200 FILE * prelude = fopen( (PreludeDirector + "/prelude.cf ").c_str(), "r" );201 assertf( prelude, "cannot open prelude.cf \n" );201 FILE * prelude = fopen( (PreludeDirector + "/prelude.cfa").c_str(), "r" ); 202 assertf( prelude, "cannot open prelude.cfa\n" ); 202 203 parse( prelude, LinkageSpec::Intrinsic ); 203 204 … … 270 271 271 272 CodeTools::fillLocations( translationUnit ); 273 274 if ( resolvprotop ) { 275 CodeTools::dumpAsResolvProto( translationUnit ); 276 return 0; 277 } 272 278 273 279 PASS( "resolve", ResolvExpr::resolve( translationUnit ) ); … … 365 371 } 366 372 } catch(const std::exception& e) { 367 std::cerr << "Un aught Exception \"" << e.what() << "\"\n";373 std::cerr << "Uncaught Exception \"" << e.what() << "\"\n"; 368 374 } 369 375 return 1; … … 376 382 377 383 void parse_cmdline( int argc, char * argv[], const char *& filename ) { 378 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, Symbol, Tree, TupleExpansion, Validate, };384 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, ResolvProto, Symbol, Tree, TupleExpansion, Validate, }; 379 385 380 386 static struct option long_opts[] = { … … 395 401 { "no-prototypes", no_argument, 0, Prototypes }, 396 402 { "resolver", no_argument, 0, Resolver }, 403 { "resolv-proto", no_argument, 0, ResolvProto }, 397 404 { "symbol", no_argument, 0, Symbol }, 398 405 { "tree", no_argument, 0, Tree }, … … 407 414 bool Wsuppress = false, Werror = false; 408 415 int c; 409 while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqr stTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) {416 while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrRstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) { 410 417 switch ( c ) { 411 418 case Ast: … … 479 486 case 'r': // print resolver steps 480 487 resolvep = true; 488 break; 489 case 'R': // dump resolv-proto instance 490 resolvprotop = true; 481 491 break; 482 492 case Symbol: -
tests/.expect/alloc-ERROR.txt
r9b086ca rcde3891 1 alloc.c :265:1 error: No reasonable alternatives for expression Applying untyped:1 alloc.cfa: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 :266:1 error: No reasonable alternatives for expression Applying untyped:21 alloc.cfa: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 :267:1 error: No reasonable alternatives for expression Applying untyped:41 alloc.cfa: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 :268:1 error: No reasonable alternatives for expression Applying untyped:52 alloc.cfa: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
r9b086ca rcde3891 1 castError.c :7:1 error: Cannot choose between 3 alternatives for expression1 castError.cfa: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 ): Cast of:5 char Alternatives are: 6 Cost ( 1, 0, 0, 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 ): Cast of:18 Cost ( 1, 0, 0, 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 ): Cast of:27 Cost ( 1, 0, 0, 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
r9b086ca rcde3891 1 completeTypeError.c :33:1 error: No reasonable alternatives for expression Applying untyped:1 completeTypeError.cfa: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 :34:1 error: No reasonable alternatives for expression Applying untyped:6 completeTypeError.cfa: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 :35:1 error: No reasonable alternatives for expression Applying untyped:11 completeTypeError.cfa: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 :36:1 error: No reasonable alternatives for expression Applying untyped:16 completeTypeError.cfa: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 :37:1 error: No reasonable alternatives for expression Applying untyped:21 completeTypeError.cfa: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 :58:1 error: No reasonable alternatives for expression Applying untyped:26 completeTypeError.cfa: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 :59:1 error: No reasonable alternatives for expression Applying untyped:31 completeTypeError.cfa: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 :60:1 error: No reasonable alternatives for expression Applying untyped:36 completeTypeError.cfa: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 :72:1 error: No reasonable alternatives for expression Applying untyped:41 completeTypeError.cfa:72:1 error: No resolvable 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 of 48 Variable Expression: baz: forall 49 T: sized object type 50 ... with assertions 51 ?=?: pointer to function 52 ... with parameters 53 reference to instance of type T (not function type) 54 instance of type T (not function type) 55 ... returning 56 _retval__operator_assign: instance of type T (not function type) 57 ... with attributes: 58 Attribute with name: unused 59 60 61 ?{}: pointer to function 62 ... with parameters 63 reference to instance of type T (not function type) 64 ... returning nothing 65 66 ?{}: pointer to function 67 ... with parameters 68 reference to instance of type T (not function type) 69 instance of type T (not function type) 70 ... returning nothing 71 72 ^?{}: pointer to function 73 ... with parameters 74 reference to instance of type T (not function type) 75 ... returning nothing 76 77 78 function 79 ... with parameters 80 pointer to instance of type T (not function type) 81 ... returning nothing 82 83 ... to arguments 84 Variable Expression: z: pointer to instance of type T (not function type) 85 86 (types: 87 void 88 ) 89 Environment:( _73_0_T ) -> instance of type T (not function type) (no widening) 90 91 92 -
tests/.expect/declarationErrors.txt
r9b086ca rcde3891 1 declarationErrors.c :16:1 error: duplicate static in declaration of x1: static const volatile short int1 declarationErrors.cfa:16:1 error: duplicate static in declaration of x1: static const volatile short int 2 2 3 declarationErrors.c :17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int3 declarationErrors.cfa:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int 4 4 5 declarationErrors.c :18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int5 declarationErrors.cfa: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 :19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous08 with members 7 declarationErrors.cfa: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 :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.cfa: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 :22:1 error: duplicate static in declaration of x6: static const volatile Int19 declarationErrors.cfa:22:1 error: duplicate static in declaration of x6: static const volatile Int 20 20 21 declarationErrors.c :24:1 error: duplicate const in declaration of f01: static inline function22 with no parameters 21 declarationErrors.cfa: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 :25:1 error: duplicate volatile in declaration of f02: static inline function27 with no parameters 26 declarationErrors.cfa: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 :26:1 error: duplicate const in declaration of f03: static inline function32 with no parameters 31 declarationErrors.cfa: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 :27:1 error: duplicate volatile in declaration of f04: static inline function37 with no parameters 36 declarationErrors.cfa: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 :28:1 error: duplicate const in declaration of f05: static inline function42 with no parameters 41 declarationErrors.cfa: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 :29:1 error: duplicate volatile in declaration of f06: static inline function47 with no parameters 46 declarationErrors.cfa: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 :30:1 error: duplicate const in declaration of f07: static inline function52 with no parameters 51 declarationErrors.cfa: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 :31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function57 with no parameters 56 declarationErrors.cfa: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 :33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function62 with no parameters 61 declarationErrors.cfa: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 :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.cfa: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
r9b086ca rcde3891 1 nested-types.c :70:1 error: Use of undefined type T1 nested-types.cfa:70:1 error: Use of undefined type T -
tests/.expect/nested-types-ERR2.txt
r9b086ca rcde3891 1 nested-types.c :73:1 error: Use of undefined global type Z2 nested-types.c :74:1 error: Qualified type requires an aggregate on the left, but has: signed int3 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) 1 nested-types.cfa:73:1 error: Use of undefined global type Z 2 nested-types.cfa:74:1 error: Qualified type requires an aggregate on the left, but has: signed int 3 nested-types.cfa: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
r9b086ca rcde3891 1 scopeErrors.c :2:1 error: duplicate object definition for thisIsAnError: signed int2 scopeErrors.c :20:1 error: duplicate function definition for butThisIsAnError: function1 scopeErrors.cfa:2:1 error: duplicate object definition for thisIsAnError: signed int 2 scopeErrors.cfa: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
r9b086ca rcde3891 1 typedefRedef.c :4:1 error: Cannot redefine typedef: Foo2 typedefRedef.c :60:1 error: Cannot redefine typedef: ARR1 typedefRedef.cfa:4:1 error: Cannot redefine typedef: Foo 2 typedefRedef.cfa:60:1 error: Cannot redefine typedef: ARR -
tests/Makefile.am
r9b086ca rcde3891 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Wed Jun 6 16:42:20201814 ## Update Count : 4913 ## Last Modified On : Tue Nov 20 11:18:51 2018 14 ## Update Count : 68 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 19 20 include $(top_srcdir)/src/cfa.make 18 21 19 22 debug=yes … … 23 26 24 27 concurrent= 28 timeouts= 25 29 26 30 TEST_PY = python ${builddir}/test.py … … 35 39 36 40 AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS} 37 38 41 CC = @CFACC@ 39 42 … … 41 44 42 45 .PHONY: list .validate 43 .INTERMEDIATE: .validate .validate.c 44 EXTRA_PROGRAMS = fstream_test avl_test# build but do not install46 .INTERMEDIATE: .validate .validate.cfa 47 EXTRA_PROGRAMS = avl_test .dummy_hack # build but do not install 45 48 46 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.c49 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.c 49 52 50 53 #---------------------------------------------------------------------------------------------------------------- 51 54 all-local : 52 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${ quick_test}55 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${timeouts} ${quick_test} 53 56 54 57 all-tests : 55 @+${TEST_PY} -- all --debug=${debug} --install=${installed} ${concurrent}# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program58 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 56 59 57 60 clean-local : … … 61 64 @+${TEST_PY} --list ${concurrent} 62 65 63 .validate: .validate.c 64 $(C OMPILE) .validate.c-fsyntax-only -Wall -Wextra -Werror66 .validate: .validate.cfa 67 $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror 65 68 66 .validate.c: 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: 67 74 @echo "int main() { return 0; }" > ${@} 68 75 … … 71 78 72 79 #---------------------------------------------------------------------------------------------------------------- 80 73 81 # implicit rule so not all test require a rule 74 % : %.c $(CC)75 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})82 % : %.cfa $(CFACC) 83 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 76 84 77 declarationSpecifier: declarationSpecifier.c $(CC)78 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})85 declarationSpecifier: declarationSpecifier.cfa $(CFACC) 86 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 79 87 80 gccExtensions : gccExtensions.c $(CC)81 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})88 gccExtensions : gccExtensions.cfa $(CFACC) 89 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 82 90 83 extension : extension.c $(CC)84 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})91 extension : extension.cfa $(CFACC) 92 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 85 93 86 attributes : attributes.c $(CC)87 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})94 attributes : attributes.cfa $(CFACC) 95 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 88 96 89 functions: functions.c $(CC)90 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})97 functions: functions.cfa $(CFACC) 98 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 91 99 92 KRfunctions : KRfunctions.c $(CC)93 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})100 KRfunctions : KRfunctions.cfa $(CFACC) 101 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 94 102 95 sched-ext-parse : sched-ext-parse.c $(C C)96 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})103 sched-ext-parse : sched-ext-parse.c $(CFACC) 104 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 97 105 98 gmp : gmp.c $(CC)99 $(PRETTY_PATH) $(C OMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})106 gmp : gmp.cfa $(CFACC) 107 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 100 108 101 109 #builtins 102 builtins/sync: builtins/sync.c $(CC)103 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only110 builtins/sync: builtins/sync.cfa $(CFACC) 111 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 104 112 105 113 #------------------------------------------------------------------------------ 114 106 115 #To make errors path independent we need to cd into the correct directories 107 completeTypeError : completeTypeError.c $(CC)108 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})116 completeTypeError : completeTypeError.cfa $(CFACC) 117 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 109 118 110 typedefRedef-ERR1: typedefRedef.c $(CC)111 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})119 typedefRedef-ERR1: typedefRedef.cfa $(CFACC) 120 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 112 121 113 alloc-ERROR: alloc.c $(CC)114 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})122 alloc-ERROR: alloc.cfa $(CFACC) 123 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 115 124 116 fallthrough-ERROR: fallthrough.c $(CC)117 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})125 fallthrough-ERROR: fallthrough.cfa $(CFACC) 126 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 118 127 119 nested-types-ERR1: nested-types.c $(CC)120 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})128 nested-types-ERR1: nested-types.cfa $(CFACC) 129 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 121 130 122 nested-types-ERR2: nested-types.c $(CC)123 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})131 nested-types-ERR2: nested-types.cfa $(CFACC) 132 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 124 133 125 134 # Constructor/destructor tests 126 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)127 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})135 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC) 136 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 128 137 129 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)130 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})138 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC) 139 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 131 140 132 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)133 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})141 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC) 142 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 134 143 135 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)136 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})144 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC) 145 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 137 146 138 147 # Warnings 139 warnings/self-assignment: warnings/self-assignment.c $(CC)140 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only148 warnings/self-assignment: warnings/self-assignment.cfa $(CFACC) 149 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only -
tests/Makefile.in
r9b086ca rcde3891 91 91 build_triplet = @build@ 92 92 host_triplet = @host@ 93 EXTRA_PROGRAMS = fstream_test$(EXEEXT) avl_test$(EXEEXT)93 EXTRA_PROGRAMS = avl_test$(EXEEXT) .dummy_hack$(EXEEXT) 94 94 subdir = tests 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 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 98 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 99 103 $(ACLOCAL_M4) … … 103 107 CONFIG_CLEAN_FILES = config.py 104 108 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 = --silent 115 am__v_lt_1 = 105 116 am__dirstamp = $(am__leading_dot)dirstamp 106 117 am_avl_test_OBJECTS = avltree/avl_test.$(OBJEXT) \ … … 110 121 avl_test_OBJECTS = $(am_avl_test_OBJECTS) 111 122 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)115 123 AM_V_P = $(am__v_P_@AM_V@) 116 124 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 131 139 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 132 140 $(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) 133 145 AM_V_CC = $(am__v_CC_@AM_V@) 134 146 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 136 148 am__v_CC_1 = 137 149 CCLD = $(CC) 138 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 150 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 151 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 152 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 139 153 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 140 154 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 141 155 am__v_CCLD_0 = @echo " CCLD " $@; 142 156 am__v_CCLD_1 = 143 SOURCES = $( avl_test_SOURCES) $(fstream_test_SOURCES)144 DIST_SOURCES = $( avl_test_SOURCES) $(fstream_test_SOURCES)157 SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES) 158 DIST_SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES) 145 159 am__can_run_installinfo = \ 146 160 case $$AM_UPDATE_INFO_DIR in \ … … 168 182 CTAGS = ctags 169 183 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.py.in \ 170 $(srcdir)/test.py $(top_srcdir)/automake/depcomp 184 $(srcdir)/test.py $(top_srcdir)/automake/depcomp \ 185 $(top_srcdir)/src/cfa.make 171 186 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 172 187 ACLOCAL = @ACLOCAL@ … … 174 189 AMTAR = @AMTAR@ 175 190 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 191 AR = @AR@ 176 192 AUTOCONF = @AUTOCONF@ 177 193 AUTOHEADER = @AUTOHEADER@ 178 194 AUTOMAKE = @AUTOMAKE@ 179 195 AWK = @AWK@ 180 BACKEND_CC = @BACKEND_CC@181 196 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 182 197 CC = @CFACC@ … … 198 213 CPPFLAGS = @CPPFLAGS@ 199 214 CXX = @CXX@ 215 CXXCPP = @CXXCPP@ 200 216 CXXDEPMODE = @CXXDEPMODE@ 201 217 CXXFLAGS = @CXXFLAGS@ … … 203 219 DEFS = @DEFS@ 204 220 DEPDIR = @DEPDIR@ 221 DLLTOOL = @DLLTOOL@ 205 222 DRIVER_DIR = @DRIVER_DIR@ 223 DSYMUTIL = @DSYMUTIL@ 224 DUMPBIN = @DUMPBIN@ 206 225 ECHO_C = @ECHO_C@ 207 226 ECHO_N = @ECHO_N@ … … 209 228 EGREP = @EGREP@ 210 229 EXEEXT = @EXEEXT@ 230 FGREP = @FGREP@ 211 231 GREP = @GREP@ 212 232 HOST_FLAGS = @HOST_FLAGS@ … … 216 236 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 217 237 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 238 LD = @LD@ 218 239 LDFLAGS = @LDFLAGS@ 219 240 LEX = @LEX@ … … 224 245 LIBOBJS = @LIBOBJS@ 225 246 LIBS = @LIBS@ 247 LIBTOOL = @LIBTOOL@ 248 LIPO = @LIPO@ 249 LN_S = @LN_S@ 226 250 LTLIBOBJS = @LTLIBOBJS@ 251 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 227 252 MAKEINFO = @MAKEINFO@ 253 MANIFEST_TOOL = @MANIFEST_TOOL@ 228 254 MKDIR_P = @MKDIR_P@ 255 NM = @NM@ 256 NMEDIT = @NMEDIT@ 257 OBJDUMP = @OBJDUMP@ 229 258 OBJEXT = @OBJEXT@ 259 OTOOL = @OTOOL@ 260 OTOOL64 = @OTOOL64@ 230 261 PACKAGE = @PACKAGE@ 231 262 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 237 268 PATH_SEPARATOR = @PATH_SEPARATOR@ 238 269 RANLIB = @RANLIB@ 270 SED = @SED@ 239 271 SET_MAKE = @SET_MAKE@ 240 272 SHELL = @SHELL@ … … 248 280 abs_top_builddir = @abs_top_builddir@ 249 281 abs_top_srcdir = @abs_top_srcdir@ 282 ac_ct_AR = @ac_ct_AR@ 250 283 ac_ct_CC = @ac_ct_CC@ 251 284 ac_ct_CXX = @ac_ct_CXX@ 285 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 252 286 am__include = @am__include@ 253 287 am__leading_dot = @am__leading_dot@ … … 297 331 top_srcdir = @top_srcdir@ 298 332 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 333 ACLOCAL_AMFLAGS = -I automake 334 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 = 299 358 debug = yes 300 359 installed = no 301 360 quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes 302 361 concurrent = 362 timeouts = 303 363 TEST_PY = python ${builddir}/test.py 304 364 … … 308 368 ${INSTALL_FLAGS} ${ARCH_FLAGS} 309 369 PRETTY_PATH = cd ${srcdir} && 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 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 312 373 all: all-am 313 374 314 375 .SUFFIXES: 315 .SUFFIXES: .c . o .obj .validate316 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)376 .SUFFIXES: .c .cfa .dummy_hack .lo .o .obj .validate 377 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 317 378 @for dep in $?; do \ 318 379 case '$(am__configure_deps)' in \ … … 334 395 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 335 396 esac; 397 $(top_srcdir)/src/cfa.make $(am__empty): 336 398 337 399 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) … … 345 407 config.py: $(top_builddir)/config.status $(srcdir)/config.py.in 346 408 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) 347 413 avltree/$(am__dirstamp): 348 414 @$(MKDIR_P) avltree … … 370 436 $(AM_V_CCLD)$(LINK) $(avl_test_OBJECTS) $(avl_test_LDADD) $(LIBS) 371 437 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 376 438 mostlyclean-compile: 377 439 -rm -f *.$(OBJEXT) … … 381 443 -rm -f *.tab.c 382 444 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@ 445 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/.dummy_hack.Po@am__quote@ 391 446 392 447 .c.o: … … 405 460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 406 461 @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.Plo 467 @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 *.lo 473 474 clean-libtool: 475 -rm -rf .libs _libs 407 476 408 477 ID: $(am__tagged_files) … … 526 595 clean: clean-am 527 596 528 clean-am: clean-generic clean-l ocal mostlyclean-am597 clean-am: clean-generic clean-libtool clean-local mostlyclean-am 529 598 530 599 distclean: distclean-am 531 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)600 -rm -rf ./$(DEPDIR) 532 601 -rm -f Makefile 533 602 distclean-am: clean-am distclean-compile distclean-generic \ … … 575 644 576 645 maintainer-clean: maintainer-clean-am 577 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)646 -rm -rf ./$(DEPDIR) 578 647 -rm -f Makefile 579 648 maintainer-clean-am: distclean-am maintainer-clean-generic … … 581 650 mostlyclean: mostlyclean-am 582 651 583 mostlyclean-am: mostlyclean-compile mostlyclean-generic 652 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 653 mostlyclean-libtool 584 654 585 655 pdf: pdf-am … … 596 666 597 667 .PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \ 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 \ 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 \ 608 679 tags tags-am uninstall uninstall-am 609 680 … … 611 682 612 683 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.Po 688 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.Plo 693 613 694 .PHONY: list .validate 614 .INTERMEDIATE: .validate .validate.c 695 .INTERMEDIATE: .validate .validate.cfa 615 696 616 697 #---------------------------------------------------------------------------------------------------------------- 617 698 all-local : 618 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${ quick_test}699 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${timeouts} ${quick_test} 619 700 620 701 all-tests : 621 @+${TEST_PY} -- all --debug=${debug} --install=${installed} ${concurrent}# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program702 @+${TEST_PY} --debug=${debug} --install=${installed} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 622 703 623 704 clean-local : … … 627 708 @+${TEST_PY} --list ${concurrent} 628 709 629 .validate: .validate.c 630 $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror 631 632 .validate.c: 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: 633 718 @echo "int main() { return 0; }" > ${@} 634 719 … … 637 722 638 723 #---------------------------------------------------------------------------------------------------------------- 724 639 725 # implicit rule so not all test require a rule 640 % : %.c $(CC)641 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})642 643 declarationSpecifier: declarationSpecifier.c $(CC)644 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})645 646 gccExtensions : gccExtensions.c $(CC)647 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})648 649 extension : extension.c $(CC)650 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})651 652 attributes : attributes.c $(CC)653 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})654 655 functions: functions.c $(CC)656 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})657 658 KRfunctions : KRfunctions.c $(CC)659 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})660 661 sched-ext-parse : sched-ext-parse.c $(C C)662 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})663 664 gmp : gmp.c $(CC)665 $(PRETTY_PATH) $(C OMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})726 % : %.cfa $(CFACC) 727 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 728 729 declarationSpecifier: declarationSpecifier.cfa $(CFACC) 730 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 731 732 gccExtensions : gccExtensions.cfa $(CFACC) 733 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 734 735 extension : extension.cfa $(CFACC) 736 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 737 738 attributes : attributes.cfa $(CFACC) 739 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 740 741 functions: functions.cfa $(CFACC) 742 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 743 744 KRfunctions : KRfunctions.cfa $(CFACC) 745 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 746 747 sched-ext-parse : sched-ext-parse.c $(CFACC) 748 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 749 750 gmp : gmp.cfa $(CFACC) 751 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 666 752 667 753 #builtins 668 builtins/sync: builtins/sync.c $(CC)669 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only754 builtins/sync: builtins/sync.cfa $(CFACC) 755 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 670 756 671 757 #------------------------------------------------------------------------------ 758 672 759 #To make errors path independent we need to cd into the correct directories 673 completeTypeError : completeTypeError.c $(CC)674 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})675 676 typedefRedef-ERR1: typedefRedef.c $(CC)677 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})678 679 alloc-ERROR: alloc.c $(CC)680 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})681 682 fallthrough-ERROR: fallthrough.c $(CC)683 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})684 685 nested-types-ERR1: nested-types.c $(CC)686 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})687 688 nested-types-ERR2: nested-types.c $(CC)689 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})760 completeTypeError : completeTypeError.cfa $(CFACC) 761 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 762 763 typedefRedef-ERR1: typedefRedef.cfa $(CFACC) 764 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 765 766 alloc-ERROR: alloc.cfa $(CFACC) 767 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 768 769 fallthrough-ERROR: fallthrough.cfa $(CFACC) 770 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 771 772 nested-types-ERR1: nested-types.cfa $(CFACC) 773 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 774 775 nested-types-ERR2: nested-types.cfa $(CFACC) 776 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 690 777 691 778 # Constructor/destructor tests 692 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)693 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})694 695 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)696 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})697 698 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)699 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})700 701 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)702 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})779 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC) 780 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 781 782 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC) 783 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 784 785 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC) 786 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 787 788 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC) 789 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 703 790 704 791 # Warnings 705 warnings/self-assignment: warnings/self-assignment.c $(CC)706 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only792 warnings/self-assignment: warnings/self-assignment.cfa $(CFACC) 793 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 707 794 708 795 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
tests/coroutine/.expect/fmtLines.txt
r9b086ca rcde3891 16 16 difi ed B y : Pete r A. 17 17 Buh r// Last Mod ifie 18 d On : M on S ep 1 8 1119 :3 5: 57 2 017/ / Up date20 Cou nt : 3 1/ /#in18 d On : T ue D ec 1 1 23 19 :31: 12 2 018/ / Up date 20 Cou nt : 32/ /#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 | 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 / 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: / / -
tests/coroutine/.in/fmtLines.txt
r9b086ca rcde3891 10 10 // Created On : Sun Sep 17 21:56:15 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 18 11:35:57 201713 // Update Count : 3 112 // Last Modified On : Tue Dec 11 23:31:12 2018 13 // Update Count : 32 14 14 // 15 15 … … 27 27 28 28 void ^?{}( Format & fmt ) { 29 if ( fmt.g != 0 || fmt.b != 0 ) sout | endl;29 if ( fmt.g != 0 || fmt.b != 0 ) sout | nl; 30 30 } 31 31 … … 42 42 sout | " "; // print block separator 43 43 } // for 44 sout | endl; // print group separator44 sout | nl; // print group separator 45 45 } // for 46 46 } // main -
tests/preempt_longrun/Makefile.am
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 repeats=10 -
tests/preempt_longrun/Makefile.in
r9b086ca rcde3891 93 93 subdir = tests/preempt_longrun 94 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 95 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 96 $(top_srcdir)/configure.ac 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 97 101 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 98 102 $(ACLOCAL_M4) … … 333 337 AMTAR = @AMTAR@ 334 338 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 339 AR = @AR@ 335 340 AUTOCONF = @AUTOCONF@ 336 341 AUTOHEADER = @AUTOHEADER@ 337 342 AUTOMAKE = @AUTOMAKE@ 338 343 AWK = @AWK@ 339 BACKEND_CC = @BACKEND_CC@340 344 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 341 345 CC = @CFACC@ … … 357 361 CPPFLAGS = @CPPFLAGS@ 358 362 CXX = @CXX@ 363 CXXCPP = @CXXCPP@ 359 364 CXXDEPMODE = @CXXDEPMODE@ 360 365 CXXFLAGS = @CXXFLAGS@ … … 362 367 DEFS = @DEFS@ 363 368 DEPDIR = @DEPDIR@ 369 DLLTOOL = @DLLTOOL@ 364 370 DRIVER_DIR = @DRIVER_DIR@ 371 DSYMUTIL = @DSYMUTIL@ 372 DUMPBIN = @DUMPBIN@ 365 373 ECHO_C = @ECHO_C@ 366 374 ECHO_N = @ECHO_N@ … … 368 376 EGREP = @EGREP@ 369 377 EXEEXT = @EXEEXT@ 378 FGREP = @FGREP@ 370 379 GREP = @GREP@ 371 380 HOST_FLAGS = @HOST_FLAGS@ … … 375 384 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 376 385 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 386 LD = @LD@ 377 387 LDFLAGS = @LDFLAGS@ 378 388 LEX = @LEX@ … … 383 393 LIBOBJS = @LIBOBJS@ 384 394 LIBS = @LIBS@ 395 LIBTOOL = @LIBTOOL@ 396 LIPO = @LIPO@ 397 LN_S = @LN_S@ 385 398 LTLIBOBJS = @LTLIBOBJS@ 399 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 386 400 MAKEINFO = @MAKEINFO@ 401 MANIFEST_TOOL = @MANIFEST_TOOL@ 387 402 MKDIR_P = @MKDIR_P@ 403 NM = @NM@ 404 NMEDIT = @NMEDIT@ 405 OBJDUMP = @OBJDUMP@ 388 406 OBJEXT = @OBJEXT@ 407 OTOOL = @OTOOL@ 408 OTOOL64 = @OTOOL64@ 389 409 PACKAGE = @PACKAGE@ 390 410 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 396 416 PATH_SEPARATOR = @PATH_SEPARATOR@ 397 417 RANLIB = @RANLIB@ 418 SED = @SED@ 398 419 SET_MAKE = @SET_MAKE@ 399 420 SHELL = @SHELL@ … … 407 428 abs_top_builddir = @abs_top_builddir@ 408 429 abs_top_srcdir = @abs_top_srcdir@ 430 ac_ct_AR = @ac_ct_AR@ 409 431 ac_ct_CC = @ac_ct_CC@ 410 432 ac_ct_CXX = @ac_ct_CXX@ 433 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 411 434 am__include = @am__include@ 412 435 am__leading_dot = @am__leading_dot@ … … 456 479 top_srcdir = @top_srcdir@ 457 480 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 481 ACLOCAL_AMFLAGS = -I automake 458 482 repeats = 10 459 483 max_time = 600 … … 503 527 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 504 528 $(am__aclocal_m4_deps): 529 530 mostlyclean-libtool: 531 -rm -f *.lo 532 533 clean-libtool: 534 -rm -rf .libs _libs 505 535 tags TAGS: 506 536 … … 806 836 clean: clean-am 807 837 808 clean-am: clean-generic clean-l ocal mostlyclean-am838 clean-am: clean-generic clean-libtool clean-local mostlyclean-am 809 839 810 840 distclean: distclean-am … … 858 888 mostlyclean: mostlyclean-am 859 889 860 mostlyclean-am: mostlyclean-generic 890 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 861 891 862 892 pdf: pdf-am … … 873 903 874 904 .PHONY: all all-am all-local check check-TESTS check-am clean \ 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 \ 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 \ 884 915 uninstall uninstall-am 885 916 -
tests/preempt_longrun/create.c
r9b086ca rcde3891 3 3 #include <time.hfa> 4 4 5 #include "long_tests.h "5 #include "long_tests.hfa" 6 6 7 7 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/enter3.c
r9b086ca rcde3891 5 5 6 6 #define __kick_rate 75000ul 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/processor.c
r9b086ca rcde3891 5 5 #include <unistd.h> 6 6 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/yield.c
r9b086ca rcde3891 4 4 5 5 #define __kick_rate 550000ul 6 #include "long_tests.h "6 #include "long_tests.hfa" 7 7 8 8 #ifndef PREEMPTION_RATE -
tests/pybin/tools.py
r9b086ca rcde3891 3 3 import __main__ 4 4 import argparse 5 import fileinput 5 6 import multiprocessing 6 7 import os 7 8 import re 9 import resource 8 10 import signal 9 11 import stat 10 12 import sys 11 import fileinput13 import time 12 14 13 15 from pybin import settings … … 79 81 def diff( lhs, rhs ): 80 82 # diff the output of the files 81 diff_cmd = ("diff --ignore-all-space --text " 82 "--ignore-blank-lines " 83 diff_cmd = ("diff --text " 84 # "--ignore-all-space " 85 # "--ignore-blank-lines " 83 86 "--old-group-format='\t\tmissing lines :\n" 84 87 "%%<' \\\n" … … 130 133 131 134 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 ret 139 132 140 ################################################################################ 133 141 # file handling 134 142 ################################################################################ 143 # move a file 144 def mv(source, dest): 145 ret, _ = sh("mv %s %s" % (source, dest)) 146 return ret 147 148 # cat one file into the other 149 def cat(source, dest): 150 ret, _ = sh("cat %s > %s" % (source, dest)) 151 return ret 135 152 136 153 # helper function to replace patterns in a file … … 229 246 signal.signal(signal.SIGINT, signal.SIG_IGN) 230 247 248 249 # enable core dumps for all the test children 250 resource.setrlimit(resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) 251 231 252 ################################################################################ 232 253 # misc … … 246 267 if column: 247 268 cmd = "%s 2> /dev/null" % column 248 print(cmd)249 269 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 250 proc.communicate(input=text )270 proc.communicate(input=text + "\n") 251 271 else: 252 272 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 self 294 295 def __exit__(self, *args): 296 self.end = time.time() 297 self.duration = self.end - self.start -
tests/raii/.expect/ctor-autogen-ERR1.txt
r9b086ca rcde3891 1 raii/ctor-autogen.c :102:1 error: Unique best alternative includes deleted identifier in Cast of:1 raii/ctor-autogen.cfa: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
r9b086ca rcde3891 1 raii/dtor-early-exit.c :150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)1 raii/dtor-early-exit.cfa: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
r9b086ca rcde3891 1 raii/dtor-early-exit.c :214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)1 raii/dtor-early-exit.cfa: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
r9b086ca rcde3891 1 raii/memberCtors.c :92:1 error: in void ?{}(B &b), field a2 used before being constructed1 raii/memberCtors.cfa:92:1 error: in void ?{}(B &b), field a2 used before being constructed -
tests/test.py
r9b086ca rcde3891 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 None37 excludes = [canonicalPath( i ) for i in excludes] if excludes else None38 39 36 # tests directly in the .expect folder will always be processed 40 37 test_list = findTests() … … 124 121 # running test functions 125 122 ################################################################################ 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 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) 133 131 134 132 # logic to run a single test and return the result (No handling of printing or other test framework logic) … … 146 144 147 145 # build, skipping to next test on error 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 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 149 # if the make command succeds continue otherwise skip to diff 157 150 run_dur = None 158 159 # if the make command succeds continue otherwise skip to diff 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 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) 171 159 else: 172 retcode, _ = sh("mv %s %s" % (err_file, out_file)) 173 174 175 if retcode == 0: 176 # fixoutput(out_file) 160 retcode = mv(err_file, out_file) 161 162 if success(retcode): 177 163 if settings.generating : 178 164 # if we are ounly generating the output we still need to check that the test actually exists 179 if no t settings.dry_run and fileContainsOnly(out_file, "make: *** No rule to make target `%s'. Stop." %test.target()) :180 retcode = 1 ;165 if noRule(out_file, test.target()) : 166 retcode = 1 181 167 error = "\t\tNo make target for test %s!" % test.target() 182 sh("rm %s" % out_file, False)168 rm(out_file) 183 169 else: 184 170 error = None … … 191 177 error = myfile.read() 192 178 179 ret, info = coreInfo(exe_file) 180 error = error + info 181 182 193 183 194 184 # clean the executable 195 sh("rm -f %s > /dev/null 2>&1" % test.target())196 197 return retcode, error, [comp_dur , run_dur]185 rm(exe_file) 186 187 return retcode, error, [comp_dur.duration, run_dur.duration if run_dur else None] 198 188 199 189 # run a single test and handle the errors, outputs, printing, exception handling, etc. … … 202 192 with SignalHandling(): 203 193 # print formated name 204 name_txt = "%2 0s " % t.name194 name_txt = "%24s " % t.name 205 195 206 196 retcode, error, duration = run_single_test(t) … … 266 256 allTests = listTests( options.include, options.exclude ) 267 257 258 268 259 # if user wants all tests than no other treatement of the test list is required 269 260 if options.all or options.list or options.list_comp or options.include : -
tests/warnings/.expect/self-assignment.txt
r9b086ca rcde3891 1 warnings/self-assignment.c :29:1 warning: self assignment of expression: Cast of:1 warnings/self-assignment.cfa: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 :30:1 warning: self assignment of expression: Cast of:6 Variable Expression: s: instance of struct S with body 1 5 warnings/self-assignment.cfa: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 :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.cfa: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 :32:1 warning: self assignment of expression: Cast of:17 Member Expression, with field: 16 warnings/self-assignment.cfa: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
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 CC = @BACKEND_CC@20 20 AM_CFLAGS = -Wall -Wextra -O2 -g 21 21 -
tools/Makefile.in
r9b086ca rcde3891 96 96 subdir = tools 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 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 100 104 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 101 105 $(ACLOCAL_M4) … … 109 113 busy_OBJECTS = $(am_busy_OBJECTS) 110 114 busy_LDADD = $(LDADD) 111 busy_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(busy_LDFLAGS) $(LDFLAGS) \ 112 -o $@ 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 $@ 113 122 am_catchsig_OBJECTS = catchsig.$(OBJEXT) 114 123 catchsig_OBJECTS = $(am_catchsig_OBJECTS) … … 138 147 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 139 148 $(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) 140 153 AM_V_CC = $(am__v_CC_@AM_V@) 141 154 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 143 156 am__v_CC_1 = 144 157 CCLD = $(CC) 145 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 158 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 160 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 146 161 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 147 162 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 182 197 AMTAR = @AMTAR@ 183 198 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 199 AR = @AR@ 184 200 AUTOCONF = @AUTOCONF@ 185 201 AUTOHEADER = @AUTOHEADER@ 186 202 AUTOMAKE = @AUTOMAKE@ 187 203 AWK = @AWK@ 188 BACKEND_CC = @BACKEND_CC@189 204 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 190 CC = @ BACKEND_CC@205 CC = @CC@ 191 206 CCAS = @CCAS@ 192 207 CCASDEPMODE = @CCASDEPMODE@ … … 206 221 CPPFLAGS = @CPPFLAGS@ 207 222 CXX = @CXX@ 223 CXXCPP = @CXXCPP@ 208 224 CXXDEPMODE = @CXXDEPMODE@ 209 225 CXXFLAGS = @CXXFLAGS@ … … 211 227 DEFS = @DEFS@ 212 228 DEPDIR = @DEPDIR@ 229 DLLTOOL = @DLLTOOL@ 213 230 DRIVER_DIR = @DRIVER_DIR@ 231 DSYMUTIL = @DSYMUTIL@ 232 DUMPBIN = @DUMPBIN@ 214 233 ECHO_C = @ECHO_C@ 215 234 ECHO_N = @ECHO_N@ … … 217 236 EGREP = @EGREP@ 218 237 EXEEXT = @EXEEXT@ 238 FGREP = @FGREP@ 219 239 GREP = @GREP@ 220 240 HOST_FLAGS = @HOST_FLAGS@ … … 224 244 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 225 245 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 246 LD = @LD@ 226 247 LDFLAGS = @LDFLAGS@ 227 248 LEX = @LEX@ … … 232 253 LIBOBJS = @LIBOBJS@ 233 254 LIBS = @LIBS@ 255 LIBTOOL = @LIBTOOL@ 256 LIPO = @LIPO@ 257 LN_S = @LN_S@ 234 258 LTLIBOBJS = @LTLIBOBJS@ 259 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 235 260 MAKEINFO = @MAKEINFO@ 261 MANIFEST_TOOL = @MANIFEST_TOOL@ 236 262 MKDIR_P = @MKDIR_P@ 263 NM = @NM@ 264 NMEDIT = @NMEDIT@ 265 OBJDUMP = @OBJDUMP@ 237 266 OBJEXT = @OBJEXT@ 267 OTOOL = @OTOOL@ 268 OTOOL64 = @OTOOL64@ 238 269 PACKAGE = @PACKAGE@ 239 270 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 245 276 PATH_SEPARATOR = @PATH_SEPARATOR@ 246 277 RANLIB = @RANLIB@ 278 SED = @SED@ 247 279 SET_MAKE = @SET_MAKE@ 248 280 SHELL = @SHELL@ … … 256 288 abs_top_builddir = @abs_top_builddir@ 257 289 abs_top_srcdir = @abs_top_srcdir@ 290 ac_ct_AR = @ac_ct_AR@ 258 291 ac_ct_CC = @ac_ct_CC@ 259 292 ac_ct_CXX = @ac_ct_CXX@ 293 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 260 294 am__include = @am__include@ 261 295 am__leading_dot = @am__leading_dot@ … … 305 339 top_srcdir = @top_srcdir@ 306 340 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 341 ACLOCAL_AMFLAGS = -I automake 307 342 AM_CFLAGS = -Wall -Wextra -O2 -g 308 343 busy_SOURCES = busy.c … … 314 349 315 350 .SUFFIXES: 316 .SUFFIXES: .c . o .obj351 .SUFFIXES: .c .lo .o .obj 317 352 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 318 353 @for dep in $?; do \ … … 346 381 347 382 clean-noinstPROGRAMS: 348 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 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 349 390 350 391 busy$(EXEEXT): $(busy_OBJECTS) $(busy_DEPENDENCIES) $(EXTRA_busy_DEPENDENCIES) … … 390 431 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 391 432 @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.Plo 438 @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 *.lo 444 445 clean-libtool: 446 -rm -rf .libs _libs 392 447 393 448 ID: $(am__tagged_files) … … 509 564 clean: clean-am 510 565 511 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am 566 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ 567 mostlyclean-am 512 568 513 569 distclean: distclean-am … … 564 620 mostlyclean: mostlyclean-am 565 621 566 mostlyclean-am: mostlyclean-compile mostlyclean-generic 622 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 623 mostlyclean-libtool 567 624 568 625 pdf: pdf-am … … 579 636 580 637 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 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 \ 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 \ 589 647 maintainer-clean-generic mostlyclean mostlyclean-compile \ 590 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall\591 uninstall-am648 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 649 tags tags-am uninstall uninstall-am 592 650 593 651 .PRECIOUS: Makefile -
tools/cfa.nanorc
r9b086ca rcde3891 2 2 ## WIP 3 3 4 syntax "cfa" "\. cfa"4 syntax "cfa" "\.(c|h)fa" 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| sizeof|enum|void|auto)\>"12 color green "\<(static|const| struct|union|typedef|extern|(un)?signed|inline)\>"11 color green "\<(float|double|bool|char|int|short|long|enum|void|auto)\>" 12 color green "\<(static|const|extern|(un)?signed|inline)\>" "\<(sizeof)\>" 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)\>" 21 22 color brightyellow "\<(try|catch(Resume)?|finally)\>" 22 23 23 24 # Control Flow Statements 24 25 color magenta "\<(goto|return|break|continue|fallthr(u|ough)|throw(Resume)?)\>" 26 27 # Escaped Keywords, now Identifiers. 28 color white "`\w+`" 25 29 26 30 # Operator Names -
tools/prettyprinter/Makefile.am
r9b086ca rcde3891 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 BUILT_SOURCES = parser.hh -
tools/prettyprinter/Makefile.in
r9b086ca rcde3891 95 95 subdir = tools/prettyprinter 96 96 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 98 $(top_srcdir)/configure.ac 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 99 103 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 100 104 $(ACLOCAL_M4) … … 113 117 am__DEPENDENCIES_1 = 114 118 pretty_DEPENDENCIES = $(am__DEPENDENCIES_1) 115 pretty_LINK = $(CXXLD) $(pretty_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ 116 $(LDFLAGS) -o $@ 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 $@ 117 126 AM_V_P = $(am__v_P_@AM_V@) 118 127 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 131 140 am__depfiles_maybe = depfiles 132 141 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 = --silent136 am__v_lt_1 =137 142 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 138 143 $(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) 139 148 AM_V_CXX = $(am__v_CXX_@AM_V@) 140 149 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 142 151 am__v_CXX_1 = 143 152 CXXLD = $(CXX) 144 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 145 -o $@ 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 146 156 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 147 157 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 149 159 am__v_CXXLD_1 = 150 160 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 161 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 162 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) 151 163 AM_V_LEX = $(am__v_LEX_@AM_V@) 152 164 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 157 169 -e s/c++$$/h++/ -e s/c$$/h/ 158 170 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 171 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 172 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) 159 173 AM_V_YACC = $(am__v_YACC_@AM_V@) 160 174 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 163 177 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 164 178 $(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) 165 183 AM_V_CC = $(am__v_CC_@AM_V@) 166 184 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 168 186 am__v_CC_1 = 169 187 CCLD = $(CC) 170 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 188 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 189 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 190 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 171 191 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 172 192 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 206 226 AMTAR = @AMTAR@ 207 227 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 228 AR = @AR@ 208 229 AUTOCONF = @AUTOCONF@ 209 230 AUTOHEADER = @AUTOHEADER@ 210 231 AUTOMAKE = @AUTOMAKE@ 211 232 AWK = @AWK@ 212 BACKEND_CC = @BACKEND_CC@213 233 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 214 234 CC = @CC@ … … 230 250 CPPFLAGS = @CPPFLAGS@ 231 251 CXX = @CXX@ 252 CXXCPP = @CXXCPP@ 232 253 CXXDEPMODE = @CXXDEPMODE@ 233 254 CXXFLAGS = @CXXFLAGS@ … … 235 256 DEFS = @DEFS@ 236 257 DEPDIR = @DEPDIR@ 258 DLLTOOL = @DLLTOOL@ 237 259 DRIVER_DIR = @DRIVER_DIR@ 260 DSYMUTIL = @DSYMUTIL@ 261 DUMPBIN = @DUMPBIN@ 238 262 ECHO_C = @ECHO_C@ 239 263 ECHO_N = @ECHO_N@ … … 241 265 EGREP = @EGREP@ 242 266 EXEEXT = @EXEEXT@ 267 FGREP = @FGREP@ 243 268 GREP = @GREP@ 244 269 HOST_FLAGS = @HOST_FLAGS@ … … 248 273 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 249 274 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 275 LD = @LD@ 250 276 LDFLAGS = @LDFLAGS@ 251 277 LEX = @LEX@ … … 256 282 LIBOBJS = @LIBOBJS@ 257 283 LIBS = @LIBS@ 284 LIBTOOL = @LIBTOOL@ 285 LIPO = @LIPO@ 286 LN_S = @LN_S@ 258 287 LTLIBOBJS = @LTLIBOBJS@ 288 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 259 289 MAKEINFO = @MAKEINFO@ 290 MANIFEST_TOOL = @MANIFEST_TOOL@ 260 291 MKDIR_P = @MKDIR_P@ 292 NM = @NM@ 293 NMEDIT = @NMEDIT@ 294 OBJDUMP = @OBJDUMP@ 261 295 OBJEXT = @OBJEXT@ 296 OTOOL = @OTOOL@ 297 OTOOL64 = @OTOOL64@ 262 298 PACKAGE = @PACKAGE@ 263 299 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 269 305 PATH_SEPARATOR = @PATH_SEPARATOR@ 270 306 RANLIB = @RANLIB@ 307 SED = @SED@ 271 308 SET_MAKE = @SET_MAKE@ 272 309 SHELL = @SHELL@ … … 280 317 abs_top_builddir = @abs_top_builddir@ 281 318 abs_top_srcdir = @abs_top_srcdir@ 319 ac_ct_AR = @ac_ct_AR@ 282 320 ac_ct_CC = @ac_ct_CC@ 283 321 ac_ct_CXX = @ac_ct_CXX@ 322 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 284 323 am__include = @am__include@ 285 324 am__leading_dot = @am__leading_dot@ … … 329 368 top_srcdir = @top_srcdir@ 330 369 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 370 ACLOCAL_AMFLAGS = -I automake 331 371 BUILT_SOURCES = parser.hh 332 372 AM_YFLAGS = -d -t -v … … 346 386 347 387 .SUFFIXES: 348 .SUFFIXES: .cc .ll . o .obj .yy388 .SUFFIXES: .cc .ll .lo .o .obj .yy 349 389 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 350 390 @for dep in $?; do \ … … 386 426 sed 's/$(EXEEXT)$$//' | \ 387 427 while read p p1; do if test -f $$p \ 428 || test -f $$p1 \ 388 429 ; then echo "$$p"; echo "$$p"; else :; fi; \ 389 430 done | \ … … 400 441 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 401 442 test -z "$$files" || { \ 402 echo " $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \403 $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(tools_prettyprinterdir)$$dir" || exit $$?; \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 $$?; \ 404 445 } \ 405 446 ; done … … 417 458 418 459 clean-tools_prettyprinterPROGRAMS: 419 -test -z "$(tools_prettyprinter_PROGRAMS)" || rm -f $(tools_prettyprinter_PROGRAMS) 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 420 467 parser.hh: parser.cc 421 468 @if test ! -f $@; then rm -f parser.cc; else :; fi … … 454 501 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 455 502 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.Plo 507 @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 456 511 pretty-lex.o: lex.cc 457 512 @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 … … 529 584 .yy.cc: 530 585 $(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 *.lo 589 590 clean-libtool: 591 -rm -rf .libs _libs 531 592 532 593 ID: $(am__tagged_files) … … 658 719 clean: clean-am 659 720 660 clean-am: clean-generic clean- tools_prettyprinterPROGRAMS\661 mostlyclean-am721 clean-am: clean-generic clean-libtool \ 722 clean-tools_prettyprinterPROGRAMS mostlyclean-am 662 723 663 724 distclean: distclean-am … … 714 775 mostlyclean: mostlyclean-am 715 776 716 mostlyclean-am: mostlyclean-compile mostlyclean-generic 777 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 778 mostlyclean-libtool 717 779 718 780 pdf: pdf-am … … 729 791 730 792 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 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 \ 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 \ 739 802 installcheck-am installdirs maintainer-clean \ 740 803 maintainer-clean-generic mostlyclean mostlyclean-compile \ 741 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 742 uninstall-am uninstall-tools_prettyprinterPROGRAMS 804 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 805 tags tags-am uninstall uninstall-am \ 806 uninstall-tools_prettyprinterPROGRAMS 743 807 744 808 .PRECIOUS: Makefile
Note:
See TracChangeset
for help on using the changeset viewer.