Changeset 95b8aa7
- Timestamp:
- Jan 11, 2019, 3:36:48 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- e1f7eef
- Parents:
- ff5caaf (diff), 52ffa30 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Files:
-
- 54 added
- 15 deleted
- 118 edited
- 127 moved
-
INSTALL (modified) (1 diff)
-
Jenkins/TestRegen (modified) (1 diff)
-
Jenkinsfile (added)
-
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) (11 diffs)
-
benchmark/Makefile.in (modified) (32 diffs)
-
benchmark/Monitor.c (modified) (1 diff)
-
benchmark/c.c (added)
-
benchmark/cxx.cpp (added)
-
configure (modified) (26 diffs)
-
configure.ac (modified) (5 diffs)
-
doc/bibliography/pl.bib (modified) (21 diffs)
-
doc/papers/concurrency/Paper.tex (modified) (14 diffs)
-
doc/proposals/flags.md (modified) (2 diffs)
-
doc/proposals/vtable.md (added)
-
doc/theses/aaron_moss_PhD/phd/Makefile (modified) (4 diffs)
-
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/generic-types.tex (modified) (5 diffs)
-
doc/theses/aaron_moss_PhD/phd/introduction.tex (modified) (1 diff)
-
doc/theses/aaron_moss_PhD/phd/macros.tex (modified) (2 diffs)
-
doc/theses/aaron_moss_PhD/phd/thesis.tex (modified) (3 diffs)
-
doc/theses/aaron_moss_PhD/phd/type-environment.tex (modified) (1 diff)
-
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/user/Makefile (modified) (1 diff)
-
doc/user/user.tex (modified) (45 diffs)
-
doc/working/exception/impl/nopic.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) (4 diffs)
-
driver/cfa.cc (modified) (1 diff)
-
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) (16 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) (45 diffs)
-
libcfa/configure.ac (modified) (6 diffs)
-
libcfa/prelude/Makefile.am (modified) (2 diffs)
-
libcfa/prelude/Makefile.in (modified) (15 diffs)
-
libcfa/src/Makefile.am (modified) (6 diffs)
-
libcfa/src/Makefile.in (modified) (37 diffs)
-
libcfa/src/bits/locks.hfa (modified) (2 diffs)
-
libcfa/src/concurrency/CtxSwitch-arm.S (moved) (moved from libcfa/src/concurrency/CtxSwitch-armv7l.S )
-
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/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)
-
src/CodeTools/ResolvProtoDump.cc (modified) (18 diffs)
-
src/Makefile.am (modified) (1 diff)
-
src/Makefile.in (modified) (27 diffs)
-
src/Parser/DeclarationNode.cc (modified) (2 diffs)
-
src/Parser/ParseNode.h (modified) (2 diffs)
-
src/Parser/TypeData.cc (modified) (8 diffs)
-
src/Parser/TypeData.h (modified) (2 diffs)
-
src/Parser/lex.ll (modified) (2 diffs)
-
src/Parser/parser.yy (modified) (6 diffs)
-
src/ResolvExpr/Alternative.cc (modified) (2 diffs)
-
src/ResolvExpr/AlternativeFinder.cc (modified) (5 diffs)
-
src/ResolvExpr/ConversionCost.cc (modified) (1 diff)
-
src/ResolvExpr/Cost.h (modified) (13 diffs)
-
src/ResolvExpr/ResolveAssertions.cc (modified) (2 diffs)
-
src/ResolvExpr/ResolveTypeof.cc (modified) (1 diff)
-
src/SynTree/Expression.cc (modified) (2 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) (3 diffs)
-
src/SynTree/Type.h (modified) (1 diff)
-
src/SynTree/TypeofType.cc (modified) (2 diffs)
-
src/cfa.make (modified) (2 diffs)
-
src/config.h.in (modified) (3 diffs)
-
src/main.cc (modified) (1 diff)
-
tests/.expect/alloc-ERROR.txt (modified) (4 diffs)
-
tests/.expect/castError.txt (modified) (5 diffs)
-
tests/.expect/completeTypeError.txt (modified) (7 diffs)
-
tests/.expect/declarationErrors.txt (modified) (3 diffs)
-
tests/.expect/heap.txt (deleted)
-
tests/.expect/loopctrl.txt (moved) (moved from tests/.expect/forctrl.txt ) (3 diffs)
-
tests/.expect/nested-types-ERR1.txt (modified) (1 diff)
-
tests/.expect/nested-types-ERR2.txt (modified) (1 diff)
-
tests/.expect/quotedKeyword.txt (moved) (moved from tests/.expect/quoted_keyword.txt )
-
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.cfa (moved) (moved from tests/KRfunctions.c ) (2 diffs)
-
tests/Makefile.am (modified) (5 diffs)
-
tests/Makefile.in (modified) (28 diffs)
-
tests/abs.cfa (moved) (moved from tests/abs.c ) (2 diffs)
-
tests/alloc.cfa (moved) (moved from tests/alloc.c ) (2 diffs)
-
tests/array.cfa (moved) (moved from tests/array.c )
-
tests/ato.cfa (moved) (moved from tests/ato.c ) (2 diffs)
-
tests/attributes.cfa (moved) (moved from tests/attributes.c ) (2 diffs)
-
tests/avltree/avl-private.cfa (moved) (moved from tests/avltree/avl-private.c )
-
tests/avltree/avl0.cfa (moved) (moved from tests/avltree/avl0.c )
-
tests/avltree/avl1.cfa (moved) (moved from tests/avltree/avl1.c )
-
tests/avltree/avl2.cfa (moved) (moved from tests/avltree/avl2.c )
-
tests/avltree/avl3.cfa (moved) (moved from tests/avltree/avl3.c )
-
tests/avltree/avl4.cfa (moved) (moved from tests/avltree/avl4.c )
-
tests/avltree/avl_test.cfa (moved) (moved from tests/avltree/avl_test.c )
-
tests/builtins/sync.cfa (moved) (moved from tests/builtins/sync.c )
-
tests/cast.cfa (moved) (moved from tests/cast.c )
-
tests/castError.cfa (moved) (moved from tests/castError.c )
-
tests/commentMisc.cfa (moved) (moved from tests/commentMisc.c )
-
tests/completeTypeError.cfa (moved) (moved from tests/completeTypeError.c )
-
tests/complex.cfa (moved) (moved from tests/complex.c ) (4 diffs)
-
tests/concurrent/coroutineYield.cfa (moved) (moved from tests/concurrent/coroutineYield.c ) (3 diffs)
-
tests/concurrent/examples/boundedBufferEXT.cfa (moved) (moved from tests/concurrent/examples/boundedBufferEXT.c ) (2 diffs)
-
tests/concurrent/examples/boundedBufferINT.cfa (moved) (moved from tests/concurrent/examples/boundedBufferINT.c ) (2 diffs)
-
tests/concurrent/examples/datingService.cfa (moved) (moved from tests/concurrent/examples/datingService.c ) (4 diffs)
-
tests/concurrent/examples/matrixSum.cfa (moved) (moved from tests/concurrent/examples/matrixSum.c ) (2 diffs)
-
tests/concurrent/examples/quickSort.cfa (moved) (moved from tests/concurrent/examples/quickSort.c ) (6 diffs)
-
tests/concurrent/monitor.cfa (moved) (moved from tests/concurrent/monitor.c ) (1 diff)
-
tests/concurrent/multi-monitor.cfa (moved) (moved from tests/concurrent/multi-monitor.c ) (1 diff)
-
tests/concurrent/preempt.cfa (moved) (moved from tests/concurrent/preempt.c ) (1 diff)
-
tests/concurrent/signal/block.cfa (moved) (moved from tests/concurrent/signal/block.c ) (5 diffs)
-
tests/concurrent/signal/disjoint.cfa (moved) (moved from tests/concurrent/signal/disjoint.c ) (4 diffs)
-
tests/concurrent/signal/wait.cfa (moved) (moved from tests/concurrent/signal/wait.c ) (4 diffs)
-
tests/concurrent/thread.cfa (moved) (moved from tests/concurrent/thread.c ) (4 diffs)
-
tests/concurrent/waitfor/barge.cfa (moved) (moved from tests/concurrent/waitfor/barge.c ) (4 diffs)
-
tests/concurrent/waitfor/dtor.cfa (moved) (moved from tests/concurrent/waitfor/dtor.c ) (3 diffs)
-
tests/concurrent/waitfor/else.cfa (moved) (moved from tests/concurrent/waitfor/else.c ) (1 diff)
-
tests/concurrent/waitfor/parse.cfa (moved) (moved from tests/concurrent/waitfor/parse.c )
-
tests/concurrent/waitfor/parse2.cfa (moved) (moved from tests/concurrent/waitfor/parse2.c )
-
tests/concurrent/waitfor/recurse.cfa (moved) (moved from tests/concurrent/waitfor/recurse.c ) (4 diffs)
-
tests/concurrent/waitfor/simple.cfa (moved) (moved from tests/concurrent/waitfor/simple.c ) (5 diffs)
-
tests/concurrent/waitfor/statment.cfa (moved) (moved from tests/concurrent/waitfor/statment.c ) (3 diffs)
-
tests/concurrent/waitfor/when.cfa (moved) (moved from tests/concurrent/waitfor/when.c ) (3 diffs)
-
tests/context.cfa (moved) (moved from tests/context.c )
-
tests/coroutine/.expect/fmtLines.txt (modified) (2 diffs)
-
tests/coroutine/.in/fmtLines.txt (modified) (3 diffs)
-
tests/coroutine/fibonacci.cfa (moved) (moved from tests/coroutine/fibonacci.c ) (2 diffs)
-
tests/coroutine/fibonacci_1.cfa (moved) (moved from tests/coroutine/fibonacci_1.c ) (2 diffs)
-
tests/coroutine/fmtLines.cfa (moved) (moved from tests/coroutine/fmtLines.c ) (4 diffs)
-
tests/coroutine/pingpong.cfa (moved) (moved from tests/coroutine/pingpong.c ) (3 diffs)
-
tests/coroutine/prodcons.cfa (moved) (moved from tests/coroutine/prodcons.c ) (6 diffs)
-
tests/coroutine/runningTotal.cfa (moved) (moved from tests/coroutine/runningTotal.c ) (2 diffs)
-
tests/counter.cfa (moved) (moved from tests/counter.c ) (2 diffs)
-
tests/declarationErrors.cfa (moved) (moved from tests/declarationErrors.c ) (2 diffs)
-
tests/declarationSpecifier.cfa (moved) (moved from tests/declarationSpecifier.c ) (2 diffs)
-
tests/designations.cfa (moved) (moved from tests/designations.c )
-
tests/div.cfa (moved) (moved from tests/div.c ) (2 diffs)
-
tests/enum.cfa (moved) (moved from tests/enum.c )
-
tests/except-0.cfa (moved) (moved from tests/except-0.c ) (2 diffs)
-
tests/except-1.cfa (moved) (moved from tests/except-1.c ) (1 diff)
-
tests/except-2.cfa (moved) (moved from tests/except-2.c ) (1 diff)
-
tests/except-3.cfa (moved) (moved from tests/except-3.c ) (1 diff)
-
tests/except-mac.hfa (moved) (moved from tests/except-mac.h )
-
tests/expression.cfa (moved) (moved from tests/expression.c )
-
tests/extension.cfa (moved) (moved from tests/extension.c ) (2 diffs)
-
tests/fallthrough.c (deleted)
-
tests/fallthrough.cfa (added)
-
tests/forall.cfa (moved) (moved from tests/forall.c ) (2 diffs)
-
tests/forctrl.c (deleted)
-
tests/fstream_test.cfa (moved) (moved from tests/fstream_test.c ) (2 diffs)
-
tests/function-operator.cfa (moved) (moved from tests/function-operator.c ) (2 diffs)
-
tests/functions.cfa (moved) (moved from tests/functions.c ) (2 diffs)
-
tests/gccExtensions.cfa (moved) (moved from tests/gccExtensions.c ) (2 diffs)
-
tests/genericUnion.c (deleted)
-
tests/genericUnion.cfa (added)
-
tests/gmp.cfa (moved) (moved from tests/gmp.c ) (3 diffs)
-
tests/heap.cfa (moved) (moved from tests/heap.c ) (27 diffs)
-
tests/hello.c (deleted)
-
tests/hello.cfa (added)
-
tests/identFuncDeclarator.cfa (moved) (moved from tests/identFuncDeclarator.c ) (2 diffs)
-
tests/identParamDeclarator.cfa (moved) (moved from tests/identParamDeclarator.c ) (2 diffs)
-
tests/identity.c (deleted)
-
tests/identity.cfa (added)
-
tests/ifwhileCtl.cfa (moved) (moved from tests/ifwhileCtl.c ) (4 diffs)
-
tests/io1.c (deleted)
-
tests/io1.cfa (added)
-
tests/io2.c (deleted)
-
tests/io2.cfa (added)
-
tests/labelledExit.cfa (moved) (moved from tests/labelledExit.c ) (2 diffs)
-
tests/limits.cfa (moved) (moved from tests/limits.c ) (2 diffs)
-
tests/literals.cfa (moved) (moved from tests/literals.c ) (3 diffs)
-
tests/long_tests.hfa (moved) (moved from tests/long_tests.h )
-
tests/loopctrl.cfa (added)
-
tests/math1.cfa (moved) (moved from tests/math1.c ) (2 diffs)
-
tests/math2.c (deleted)
-
tests/math2.cfa (added)
-
tests/math3.cfa (moved) (moved from tests/math3.c ) (2 diffs)
-
tests/math4.cfa (moved) (moved from tests/math4.c ) (2 diffs)
-
tests/maybe.cfa (moved) (moved from tests/maybe.c )
-
tests/minmax.cfa (moved) (moved from tests/minmax.c ) (2 diffs)
-
tests/namedParmArg.cfa (moved) (moved from tests/namedParmArg.c )
-
tests/nested-types.cfa (moved) (moved from tests/nested-types.c ) (2 diffs)
-
tests/numericConstants.cfa (moved) (moved from tests/numericConstants.c ) (2 diffs)
-
tests/occursError.cfa (moved) (moved from tests/occursError.c )
-
tests/operators.cfa (moved) (moved from tests/operators.c )
-
tests/polymorphism.cfa (moved) (moved from tests/polymorphism.c ) (3 diffs)
-
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/tools.py (modified) (2 diffs)
-
tests/quotedKeyword.cfa (moved) (moved from tests/quoted_keyword.c ) (2 diffs)
-
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.cfa (moved) (moved from tests/raii/ctor-autogen.c )
-
tests/raii/dtor-early-exit.cfa (moved) (moved from tests/raii/dtor-early-exit.c ) (16 diffs)
-
tests/raii/globals.cfa (moved) (moved from tests/raii/globals.c ) (1 diff)
-
tests/raii/init_once.cfa (moved) (moved from tests/raii/init_once.c )
-
tests/raii/memberCtors.cfa (moved) (moved from tests/raii/memberCtors.c )
-
tests/raii/multiDimension.cfa (moved) (moved from tests/raii/multiDimension.c )
-
tests/random.cfa (moved) (moved from tests/random.c ) (2 diffs)
-
tests/rational.cfa (moved) (moved from tests/rational.c ) (2 diffs)
-
tests/references.c (deleted)
-
tests/references.cfa (added)
-
tests/result.cfa (moved) (moved from tests/result.c )
-
tests/scope.cfa (moved) (moved from tests/scope.c )
-
tests/scopeErrors.cfa (moved) (moved from tests/scopeErrors.c )
-
tests/searchsort.cfa (moved) (moved from tests/searchsort.c ) (15 diffs)
-
tests/shortCircuit.c (deleted)
-
tests/shortCircuit.cfa (added)
-
tests/simpleGenericTriple.cfa (moved) (moved from tests/simpleGenericTriple.c )
-
tests/stdincludes.cfa (moved) (moved from tests/stdincludes.c ) (2 diffs)
-
tests/structMember.cfa (moved) (moved from tests/structMember.c )
-
tests/subrange.cfa (moved) (moved from tests/subrange.c )
-
tests/sum.cfa (moved) (moved from tests/sum.c ) (9 diffs)
-
tests/swap.cfa (moved) (moved from tests/swap.c ) (2 diffs)
-
tests/switch.cfa (moved) (moved from tests/switch.c ) (2 diffs)
-
tests/test.py (modified) (2 diffs)
-
tests/time.c (deleted)
-
tests/time.cfa (added)
-
tests/tuple/tupleAssign.cfa (moved) (moved from tests/tuple/tupleAssign.c ) (4 diffs)
-
tests/tuple/tupleCast.cfa (moved) (moved from tests/tuple/tupleCast.c )
-
tests/tuple/tupleFunction.cfa (moved) (moved from tests/tuple/tupleFunction.c )
-
tests/tuple/tupleMember.cfa (moved) (moved from tests/tuple/tupleMember.c )
-
tests/tuple/tuplePolymorphism.cfa (moved) (moved from tests/tuple/tuplePolymorphism.c )
-
tests/tuple/tupleVariadic.cfa (moved) (moved from tests/tuple/tupleVariadic.c )
-
tests/tuple/tuples.cfa (moved) (moved from tests/tuple/tuples.c )
-
tests/typeGenerator.cfa (moved) (moved from tests/typeGenerator.c )
-
tests/typedef.cfa (moved) (moved from tests/typedef.c )
-
tests/typedefDeclarator.cfa (moved) (moved from tests/typedefDeclarator.c )
-
tests/typedefRedef.cfa (moved) (moved from tests/typedefRedef.c )
-
tests/typeof.cfa (moved) (moved from tests/typeof.c )
-
tests/userLiterals.cfa (moved) (moved from tests/user_literals.c ) (4 diffs)
-
tests/variableDeclarator.cfa (moved) (moved from tests/variableDeclarator.c ) (2 diffs)
-
tests/vector.cfa (moved) (moved from tests/vector.c ) (4 diffs)
-
tests/virtualCast.cfa (moved) (moved from tests/virtualCast.c )
-
tests/voidPtr.cfa (moved) (moved from tests/voidPtr.c )
-
tests/warnings/.expect/self-assignment.txt (modified) (1 diff)
-
tests/warnings/self-assignment.cfa (moved) (moved from tests/warnings/self-assignment.c )
-
tests/with-statement.c (deleted)
-
tests/withStatement.cfa (added)
-
tools/Makefile.am (modified) (1 diff)
-
tools/Makefile.in (modified) (19 diffs)
-
tools/prettyprinter/Makefile.am (modified) (1 diff)
-
tools/prettyprinter/Makefile.in (modified) (26 diffs)
Legend:
- Unmodified
- Added
- Removed
-
INSTALL
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 -
Makefile.am
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 UPPC OMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)23 UPPCC = u++ 23 24 24 25 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread … … 34 35 PRINT_FORMAT = %20s: #Comments needed for spacing 35 36 37 #prevent any tests in parallel 36 38 .NOTPARALLEL: 37 39 38 noinst_PROGRAMS = 39 40 #make sure automake includes the compile rules for C and C++ 41 EXTRA_PROGRAMS = dummy 42 dummy_SOURCES = c.c cxx.cpp 43 44 ## ========================================================================================================= 40 45 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 41 46 … … 47 52 @${STATS} .result.log 48 53 @echo "------------------------------------------------------" 49 @rm -f a.out .result.log 54 @rm -f a.out .result.log *.class 50 55 51 56 %.runquiet : … … 100 105 ## ========================================================================================================= 101 106 loop$(EXEEXT): 102 $( COMPILE) -DBENCH_N=5000000000loop.c107 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 103 108 104 109 function$(EXEEXT): 105 $( COMPILE) -DBENCH_N=5000000000function.c110 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 106 111 107 112 fetch_add$(EXEEXT): 108 $( COMPILE) -DBENCH_N=500000000fetch_add.c113 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 109 114 110 115 ## ========================================================================================================= … … 129 134 130 135 ctxswitch-kos_fibre$(EXEEXT): 131 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre136 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 132 137 133 138 ctxswitch-kos_fibre2$(EXEEXT): 134 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre139 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 135 140 endif 136 141 … … 138 143 139 144 ctxswitch-pthread$(EXEEXT): 140 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c145 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 141 146 142 147 ctxswitch-cfa_coroutine$(EXEEXT): 143 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c148 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 144 149 145 150 ctxswitch-cfa_thread$(EXEEXT): 146 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c151 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 147 152 148 153 ctxswitch-cfa_thread2$(EXEEXT): 149 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c154 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 150 155 151 156 ctxswitch-upp_coroutine$(EXEEXT): 152 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc157 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 153 158 154 159 ctxswitch-upp_thread$(EXEEXT): 155 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc160 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 156 161 157 162 ctxswitch-goroutine$(EXEEXT): 158 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go163 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 159 164 160 165 ctxswitch-java_thread$(EXEEXT): 161 @javac$(srcdir)/ctxswitch/JavaThread.java166 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 162 167 @echo "#!/bin/sh" > a.out 163 @echo " cd ctxswitch &&java JavaThread" >> a.out168 @echo "java JavaThread" >> a.out 164 169 @chmod a+x a.out 165 170 … … 177 182 178 183 mutex-pthread_lock$(EXEEXT): 179 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c184 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 180 185 181 186 mutex-upp$(EXEEXT): 182 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc187 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 183 188 184 189 mutex-cfa1$(EXEEXT): 185 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c190 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 186 191 187 192 mutex-cfa2$(EXEEXT): 188 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c193 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 189 194 190 195 mutex-cfa4$(EXEEXT): 191 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c196 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 192 197 193 198 mutex-java_thread$(EXEEXT): 194 @javac$(srcdir)/mutex/JavaThread.java199 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 195 200 @echo "#!/bin/sh" > a.out 196 @echo " cd mutex &&java JavaThread" >> a.out201 @echo "java JavaThread" >> a.out 197 202 @chmod a+x a.out 198 203 … … 207 212 208 213 signal-pthread_cond$(EXEEXT): 209 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c214 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 210 215 211 216 signal-upp$(EXEEXT): 212 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc217 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 213 218 214 219 signal-cfa1$(EXEEXT): 215 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c220 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 216 221 217 222 signal-cfa2$(EXEEXT): 218 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c223 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 219 224 220 225 signal-cfa4$(EXEEXT): 221 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c226 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 222 227 223 228 signal-java_thread$(EXEEXT): 224 @javac$(srcdir)/schedint/JavaThread.java229 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 225 230 @echo "#!/bin/sh" > a.out 226 @echo " cd schedint &&java JavaThread" >> a.out231 @echo "java JavaThread" >> a.out 227 232 @chmod a+x a.out 228 233 … … 236 241 237 242 waitfor-upp$(EXEEXT): 238 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc243 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 239 244 240 245 waitfor-cfa1$(EXEEXT): 241 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c246 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 242 247 243 248 waitfor-cfa2$(EXEEXT): 244 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c249 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 245 250 246 251 waitfor-cfa4$(EXEEXT): 247 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c252 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 248 253 249 254 ## ========================================================================================================= … … 259 264 260 265 creation-cfa_coroutine$(EXEEXT): 261 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c266 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 262 267 263 268 creation-cfa_coroutine_eager$(EXEEXT): 264 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c269 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 265 270 266 271 creation-cfa_thread$(EXEEXT): 267 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c272 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 268 273 269 274 creation-upp_coroutine$(EXEEXT): 270 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc275 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 271 276 272 277 creation-upp_thread$(EXEEXT): 273 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc278 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 274 279 275 280 creation-pthread$(EXEEXT): 276 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c281 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 277 282 278 283 creation-goroutine$(EXEEXT): 279 @go build -o a.out $(srcdir)/creation/goroutine.go284 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 280 285 281 286 creation-java_thread$(EXEEXT): 282 @javac$(srcdir)/creation/JavaThread.java287 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 283 288 @echo "#!/bin/sh" > a.out 284 @echo " cd creation &&java JavaThread" >> a.out289 @echo "java JavaThread" >> a.out 285 290 @chmod a+x a.out 286 291 … … 301 306 302 307 compile-array$(EXEEXT): 303 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c308 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 304 309 305 310 compile-attributes$(EXEEXT): 306 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c311 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 307 312 308 313 compile-empty$(EXEEXT): 309 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c314 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 310 315 311 316 compile-expression$(EXEEXT): 312 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c317 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 313 318 314 319 compile-io$(EXEEXT): 315 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c320 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 316 321 317 322 compile-monitor$(EXEEXT): 318 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c323 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 319 324 320 325 compile-operators$(EXEEXT): 321 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c326 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 322 327 323 328 compile-thread$(EXEEXT): 324 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c329 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 325 330 326 331 compile-typeof$(EXEEXT): 327 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c328 332 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 333 -
benchmark/Makefile.in
rff5caaf r95b8aa7 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) 95 94 @WITH_LIBFIBRE_TRUE@am__append_1 = \ 96 95 @WITH_LIBFIBRE_TRUE@ ctxswitch-kos_fibre.run \ … … 99 98 subdir = benchmark 100 99 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 101 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 102 $(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 103 106 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 104 107 $(ACLOCAL_M4) … … 108 111 CONFIG_CLEAN_FILES = 109 112 CONFIG_CLEAN_VPATH_FILES = 110 PROGRAMS = $(noinst_PROGRAMS) 113 am_dummy_OBJECTS = c.$(OBJEXT) cxx.$(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 = 111 120 AM_V_P = $(am__v_P_@AM_V@) 112 121 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 121 130 am__v_at_0 = @ 122 131 am__v_at_1 = 123 SOURCES = 124 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) 125 174 am__can_run_installinfo = \ 126 175 case $$AM_UPDATE_INFO_DIR in \ … … 129 178 esac 130 179 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 131 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/src/cfa.make \ 132 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 133 200 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 134 201 ACLOCAL = @ACLOCAL@ … … 136 203 AMTAR = @AMTAR@ 137 204 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 205 AR = @AR@ 138 206 AUTOCONF = @AUTOCONF@ 139 207 AUTOHEADER = @AUTOHEADER@ 140 208 AUTOMAKE = @AUTOMAKE@ 141 209 AWK = @AWK@ 142 BACKEND_CC = @BACKEND_CC@143 210 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 144 211 CC = @CC@ … … 160 227 CPPFLAGS = @CPPFLAGS@ 161 228 CXX = @CXX@ 229 CXXCPP = @CXXCPP@ 162 230 CXXDEPMODE = @CXXDEPMODE@ 163 231 CXXFLAGS = @CXXFLAGS@ … … 165 233 DEFS = @DEFS@ 166 234 DEPDIR = @DEPDIR@ 235 DLLTOOL = @DLLTOOL@ 167 236 DRIVER_DIR = @DRIVER_DIR@ 237 DSYMUTIL = @DSYMUTIL@ 238 DUMPBIN = @DUMPBIN@ 168 239 ECHO_C = @ECHO_C@ 169 240 ECHO_N = @ECHO_N@ … … 171 242 EGREP = @EGREP@ 172 243 EXEEXT = @EXEEXT@ 244 FGREP = @FGREP@ 173 245 GREP = @GREP@ 174 246 HOST_FLAGS = @HOST_FLAGS@ … … 178 250 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 179 251 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 252 LD = @LD@ 180 253 LDFLAGS = @LDFLAGS@ 181 254 LEX = @LEX@ … … 186 259 LIBOBJS = @LIBOBJS@ 187 260 LIBS = @LIBS@ 261 LIBTOOL = @LIBTOOL@ 262 LIPO = @LIPO@ 263 LN_S = @LN_S@ 188 264 LTLIBOBJS = @LTLIBOBJS@ 265 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 189 266 MAKEINFO = @MAKEINFO@ 267 MANIFEST_TOOL = @MANIFEST_TOOL@ 190 268 MKDIR_P = @MKDIR_P@ 269 NM = @NM@ 270 NMEDIT = @NMEDIT@ 271 OBJDUMP = @OBJDUMP@ 191 272 OBJEXT = @OBJEXT@ 273 OTOOL = @OTOOL@ 274 OTOOL64 = @OTOOL64@ 192 275 PACKAGE = @PACKAGE@ 193 276 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 199 282 PATH_SEPARATOR = @PATH_SEPARATOR@ 200 283 RANLIB = @RANLIB@ 284 SED = @SED@ 201 285 SET_MAKE = @SET_MAKE@ 202 286 SHELL = @SHELL@ … … 210 294 abs_top_builddir = @abs_top_builddir@ 211 295 abs_top_srcdir = @abs_top_srcdir@ 296 ac_ct_AR = @ac_ct_AR@ 212 297 ac_ct_CC = @ac_ct_CC@ 213 298 ac_ct_CXX = @ac_ct_CXX@ 299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 214 300 am__include = @am__include@ 215 301 am__leading_dot = @am__leading_dot@ … … 259 345 top_srcdir = @top_srcdir@ 260 346 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 347 ACLOCAL_AMFLAGS = -I automake 261 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 262 354 AM_V_CFA = $(am__v_CFA_@AM_V@) 263 355 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 264 356 am__v_CFA_0 = @echo " CFA " $@; 265 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 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 367 AM_V_UPP = $(am__v_UPP_@AM_V@) 368 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 369 am__v_UPP_0 = @echo " UPP " $@; 370 am__v_UPP_1 = 266 371 267 372 # applies to both programs 268 UPPC OMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)373 UPPCC = u++ 269 374 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread 270 375 AM_CFAFLAGS = -quiet -in-tree -nodebug … … 277 382 TIME_FORMAT = "%E" 278 383 PRINT_FORMAT = %20s: #Comments needed for spacing 384 dummy_SOURCES = c.c cxx.cpp 279 385 CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \ 280 386 ctxswitch-pthread.run ctxswitch-cfa_coroutine.run \ … … 287 393 288 394 .SUFFIXES: 289 .SUFFIXES: .c fa .o395 .SUFFIXES: .c .cfa .cpp .lo .o .obj 290 396 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 291 397 @for dep in $?; do \ … … 319 425 $(am__aclocal_m4_deps): 320 426 321 clean-noinstPROGRAMS: 322 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 323 tags TAGS: 324 325 ctags CTAGS: 326 327 cscope cscopelist: 328 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)/c.Po@am__quote@ 438 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cxx.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 329 545 330 546 distdir: $(DISTFILES) … … 360 576 check-am: all-am 361 577 check: check-am 362 all-am: Makefile $(PROGRAMS)578 all-am: Makefile 363 579 installdirs: 364 580 install: install-am … … 394 610 clean: clean-am 395 611 396 clean-am: clean-generic clean- noinstPROGRAMSmostlyclean-am612 clean-am: clean-generic clean-libtool mostlyclean-am 397 613 398 614 distclean: distclean-am 615 -rm -rf ./$(DEPDIR) 399 616 -rm -f Makefile 400 distclean-am: clean-am distclean-generic 617 distclean-am: clean-am distclean-compile distclean-generic \ 618 distclean-tags 401 619 402 620 dvi: dvi-am … … 441 659 442 660 maintainer-clean: maintainer-clean-am 661 -rm -rf ./$(DEPDIR) 443 662 -rm -f Makefile 444 663 maintainer-clean-am: distclean-am maintainer-clean-generic … … 446 665 mostlyclean: mostlyclean-am 447 666 448 mostlyclean-am: mostlyclean-generic 667 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 668 mostlyclean-libtool 449 669 450 670 pdf: pdf-am … … 460 680 .MAKE: install-am install-strip 461 681 462 .PHONY: all all-am check check-am clean clean-generic \ 463 clean-noinstPROGRAMS cscopelist-am ctags-am distclean \ 464 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 \ 465 686 install install-am install-data install-data-am install-dvi \ 466 687 install-dvi-am install-exec install-exec-am install-html \ … … 469 690 install-strip installcheck installcheck-am installdirs \ 470 691 maintainer-clean maintainer-clean-generic mostlyclean \ 471 mostlyclean- generic pdf pdf-am ps ps-am tags-am uninstall \472 uninstall-am692 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ 693 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am 473 694 474 695 .PRECIOUS: Makefile … … 480 701 $(am__mv) $$depbase.Tpo $$depbase.Po 481 702 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 #prevent any tests in parallel 482 709 .NOTPARALLEL: 483 710 … … 491 718 @${STATS} .result.log 492 719 @echo "------------------------------------------------------" 493 @rm -f a.out .result.log 720 @rm -f a.out .result.log *.class 494 721 495 722 %.runquiet : … … 541 768 542 769 loop$(EXEEXT): 543 $( COMPILE) -DBENCH_N=5000000000loop.c770 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 544 771 545 772 function$(EXEEXT): 546 $( COMPILE) -DBENCH_N=5000000000function.c773 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 547 774 548 775 fetch_add$(EXEEXT): 549 $( COMPILE) -DBENCH_N=500000000fetch_add.c776 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 550 777 551 778 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre$(EXEEXT): 552 @WITH_LIBFIBRE_TRUE@ @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre779 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 553 780 554 781 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre2$(EXEEXT): 555 @WITH_LIBFIBRE_TRUE@ @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre782 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 556 783 557 784 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND) 558 785 559 786 ctxswitch-pthread$(EXEEXT): 560 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c787 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 561 788 562 789 ctxswitch-cfa_coroutine$(EXEEXT): 563 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c790 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 564 791 565 792 ctxswitch-cfa_thread$(EXEEXT): 566 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c793 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 567 794 568 795 ctxswitch-cfa_thread2$(EXEEXT): 569 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c796 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 570 797 571 798 ctxswitch-upp_coroutine$(EXEEXT): 572 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc799 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 573 800 574 801 ctxswitch-upp_thread$(EXEEXT): 575 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc802 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 576 803 577 804 ctxswitch-goroutine$(EXEEXT): 578 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go805 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 579 806 580 807 ctxswitch-java_thread$(EXEEXT): 581 @javac$(srcdir)/ctxswitch/JavaThread.java808 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 582 809 @echo "#!/bin/sh" > a.out 583 @echo " cd ctxswitch &&java JavaThread" >> a.out810 @echo "java JavaThread" >> a.out 584 811 @chmod a+x a.out 585 812 … … 596 823 597 824 mutex-pthread_lock$(EXEEXT): 598 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c825 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 599 826 600 827 mutex-upp$(EXEEXT): 601 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc828 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 602 829 603 830 mutex-cfa1$(EXEEXT): 604 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c831 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 605 832 606 833 mutex-cfa2$(EXEEXT): 607 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c834 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 608 835 609 836 mutex-cfa4$(EXEEXT): 610 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c837 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 611 838 612 839 mutex-java_thread$(EXEEXT): 613 @javac$(srcdir)/mutex/JavaThread.java840 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 614 841 @echo "#!/bin/sh" > a.out 615 @echo " cd mutex &&java JavaThread" >> a.out842 @echo "java JavaThread" >> a.out 616 843 @chmod a+x a.out 617 844 … … 625 852 626 853 signal-pthread_cond$(EXEEXT): 627 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c854 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 628 855 629 856 signal-upp$(EXEEXT): 630 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc857 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 631 858 632 859 signal-cfa1$(EXEEXT): 633 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c860 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 634 861 635 862 signal-cfa2$(EXEEXT): 636 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c863 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 637 864 638 865 signal-cfa4$(EXEEXT): 639 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c866 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 640 867 641 868 signal-java_thread$(EXEEXT): 642 @javac$(srcdir)/schedint/JavaThread.java869 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 643 870 @echo "#!/bin/sh" > a.out 644 @echo " cd schedint &&java JavaThread" >> a.out871 @echo "java JavaThread" >> a.out 645 872 @chmod a+x a.out 646 873 … … 652 879 653 880 waitfor-upp$(EXEEXT): 654 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc881 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 655 882 656 883 waitfor-cfa1$(EXEEXT): 657 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c884 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 658 885 659 886 waitfor-cfa2$(EXEEXT): 660 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c887 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 661 888 662 889 waitfor-cfa4$(EXEEXT): 663 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c890 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 664 891 665 892 creation$(EXEEXT) :\ … … 674 901 675 902 creation-cfa_coroutine$(EXEEXT): 676 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c903 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 677 904 678 905 creation-cfa_coroutine_eager$(EXEEXT): 679 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c906 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 680 907 681 908 creation-cfa_thread$(EXEEXT): 682 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c909 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 683 910 684 911 creation-upp_coroutine$(EXEEXT): 685 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc912 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 686 913 687 914 creation-upp_thread$(EXEEXT): 688 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc915 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 689 916 690 917 creation-pthread$(EXEEXT): 691 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c918 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 692 919 693 920 creation-goroutine$(EXEEXT): 694 @go build -o a.out $(srcdir)/creation/goroutine.go921 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 695 922 696 923 creation-java_thread$(EXEEXT): 697 @javac$(srcdir)/creation/JavaThread.java924 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 698 925 @echo "#!/bin/sh" > a.out 699 @echo " cd creation &&java JavaThread" >> a.out926 @echo "java JavaThread" >> a.out 700 927 @chmod a+x a.out 701 928 … … 711 938 712 939 compile-array$(EXEEXT): 713 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c940 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 714 941 715 942 compile-attributes$(EXEEXT): 716 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c943 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 717 944 718 945 compile-empty$(EXEEXT): 719 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c946 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 720 947 721 948 compile-expression$(EXEEXT): 722 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c949 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 723 950 724 951 compile-io$(EXEEXT): 725 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c952 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 726 953 727 954 compile-monitor$(EXEEXT): 728 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c955 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 729 956 730 957 compile-operators$(EXEEXT): 731 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c958 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 732 959 733 960 compile-thread$(EXEEXT): 734 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c961 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 735 962 736 963 compile-typeof$(EXEEXT): 737 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c964 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 738 965 739 966 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
benchmark/Monitor.c
rff5caaf r95b8aa7 29 29 EndTime = Time(); 30 30 31 sout | ( EndTime - StartTime ) / N | endl;31 sout | ( EndTime - StartTime ) / N; 32 32 } -
configure
rff5caaf r95b8aa7 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 WITH_LIBFIBRE_FALSE 633 WITH_LIBFIBRE_TRUE 634 RANLIB 664 SED 665 LIBTOOL 635 666 LEXLIB 636 667 LEX_OUTPUT_ROOT … … 687 718 CFA_INCDIR 688 719 CFA_PREFIX 689 CFA_BACKEND_CC690 BACKEND_CC691 720 DOendif 692 721 DOifskipcompile … … 763 792 enable_silent_rules 764 793 with_cfa_name 765 with_backend_compiler766 794 with_target_hosts 767 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 768 804 ' 769 805 ac_precious_vars='build_alias … … 782 818 YACC 783 819 YFLAGS 784 CPP' 820 LT_SYS_LIBRARY_PATH 821 CPP 822 CXXCPP' 785 823 786 824 … … 1418 1456 --disable-dependency-tracking 1419 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) 1420 1463 1421 1464 Optional Packages: … … 1423 1466 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1424 1467 --with-cfa-name=NAME NAME too which cfa will be installed 1425 --with-backend-compiler=PROGRAM PROGRAM that performs the final code compilation (must be gcc-compatible)1426 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). 1427 1477 1428 1478 Some influential environment variables: … … 1444 1494 This script will default YFLAGS to the empty string to avoid a 1445 1495 default value of `-d' given by some make applications. 1496 LT_SYS_LIBRARY_PATH 1497 User-defined run-time library search path. 1446 1498 CPP C preprocessor 1499 CXXCPP C++ preprocessor 1447 1500 1448 1501 Use these variables to override the choices made by `configure' or to help … … 1648 1701 } # ac_fn_c_try_link 1649 1702 1650 # ac_fn_c_check_ type LINENO TYPEVAR INCLUDES1651 # ------------------------------------------- 1652 # Tests whether TYPE exists after having included INCLUDES, setting cache1653 # variable VAR accordingly.1654 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 () 1655 1708 { 1656 1709 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack … … 1660 1713 $as_echo_n "(cached) " >&6 1661 1714 else 1662 eval "$3=no"1663 1715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1664 1716 /* end confdefs.h. */ 1665 1717 $4 1666 int 1667 main () 1668 { 1669 if (sizeof ($2)) 1670 return 0; 1671 ; 1672 return 0; 1673 } 1718 #include <$2> 1674 1719 _ACEOF 1675 1720 if ac_fn_c_try_compile "$LINENO"; then : 1676 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1677 /* end confdefs.h. */1678 $41679 int1680 main ()1681 {1682 if (sizeof (($2)))1683 return 0;1684 ;1685 return 0;1686 }1687 _ACEOF1688 if ac_fn_c_try_compile "$LINENO"; then :1689 1690 else1691 1721 eval "$3=yes" 1692 fi 1693 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1722 else 1723 eval "$3=no" 1694 1724 fi 1695 1725 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext … … 1700 1730 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1701 1731 1702 } # ac_fn_c_check_ type1732 } # ac_fn_c_check_header_compile 1703 1733 1704 1734 # ac_fn_c_try_cpp LINENO … … 1781 1811 } # ac_fn_c_try_run 1782 1812 1783 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES1784 # -------------------------------------------------------1785 # Tests whether HEADER exists and can be compiled using the include files in1786 # INCLUDES, setting the cache variable VAR accordingly.1787 ac_fn_c_check_header_compile ()1788 {1789 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1790 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51791 $as_echo_n "checking for $2... " >&6; }1792 if eval \${$3+:} false; then :1793 $as_echo_n "(cached) " >&61794 else1795 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1796 /* end confdefs.h. */1797 $41798 #include <$2>1799 _ACEOF1800 if ac_fn_c_try_compile "$LINENO"; then :1801 eval "$3=yes"1802 else1803 eval "$3=no"1804 fi1805 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext1806 fi1807 eval ac_res=\$$31808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51809 $as_echo "$ac_res" >&6; }1810 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1811 1812 } # ac_fn_c_check_header_compile1813 1814 1813 # ac_fn_c_check_func LINENO FUNC VAR 1815 1814 # ---------------------------------- … … 1878 1877 1879 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 1880 2016 1881 2017 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES … … 2480 2616 2481 2617 2618 2482 2619 #AC_CONFIG_SRCDIR([src/main.cc]) 2483 2620 ac_config_headers="$ac_config_headers config.h:src/config.h.in" … … 3166 3303 3167 3304 #============================================================================== 3168 # backend compiler implementation3169 3170 # Check whether --with-backend-compiler was given.3171 if test "${with_backend_compiler+set}" = set; then :3172 withval=$with_backend_compiler; backendcompiler=$withval3173 else3174 backendcompiler=""3175 fi3176 3177 if test "x$backendcompiler" != "x"; then3178 BACKEND_CC=${backendcompiler}3179 else3180 # Extract the first word of "gcc", so it can be a program name with args.3181 set dummy gcc; ac_word=$23182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53183 $as_echo_n "checking for $ac_word... " >&6; }3184 if ${ac_cv_path_BACKEND_CC+:} false; then :3185 $as_echo_n "(cached) " >&63186 else3187 case $BACKEND_CC in3188 [\\/]* | ?:[\\/]*)3189 ac_cv_path_BACKEND_CC="$BACKEND_CC" # Let the user override the test with a path.3190 ;;3191 *)3192 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR3193 for as_dir in $PATH3194 do3195 IFS=$as_save_IFS3196 test -z "$as_dir" && as_dir=.3197 for ac_exec_ext in '' $ac_executable_extensions; do3198 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then3199 ac_cv_path_BACKEND_CC="$as_dir/$ac_word$ac_exec_ext"3200 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53201 break 23202 fi3203 done3204 done3205 IFS=$as_save_IFS3206 3207 ;;3208 esac3209 fi3210 BACKEND_CC=$ac_cv_path_BACKEND_CC3211 if test -n "$BACKEND_CC"; then3212 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BACKEND_CC" >&53213 $as_echo "$BACKEND_CC" >&6; }3214 else3215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&53216 $as_echo "no" >&6; }3217 fi3218 3219 # check gcc installed3220 if test "x$BACKEND_CC" = "x"; then3221 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 53222 exit 13223 fi3224 fi3225 3226 cat >>confdefs.h <<_ACEOF3227 #define CFA_BACKEND_CC "${BACKEND_CC}"3228 _ACEOF3229 3230 3231 3232 #==============================================================================3233 3305 # Installation paths 3234 3306 … … 3478 3550 "arm" ) cannon_arch_name="arm";; 3479 3551 "ARM" ) cannon_arch_name="arm";; 3552 "armv7l" ) cannon_arch_name="arm";; 3480 3553 *) 3481 3554 >&2 echo "Unkown architecture " $arch_name; … … 3494 3567 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 3495 3568 echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data 3496 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 3497 3571 done 3498 3572 … … 3517 3591 "arm" ) cannon_arch_name="arm";; 3518 3592 "ARM" ) cannon_arch_name="arm";; 3593 "armv7l" ) cannon_arch_name="arm";; 3519 3594 *) 3520 3595 >&2 echo "Unkown architecture " $arch_name; … … 5315 5390 fi 5316 5391 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 5317 5318 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 5319 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } 5320 set x ${MAKE-make} 5321 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` 5322 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 : 5323 5489 $as_echo_n "(cached) " >&6 5324 5490 else 5325 cat >conftest.make <<\_ACEOF 5326 SHELL = /bin/sh 5327 all: 5328 @echo '@@@%%%=$(MAKE)=@@@%%%' 5329 _ACEOF 5330 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 5331 case `${MAKE-make} -f conftest.make 2>/dev/null` in 5332 *@@@%%%=?*=@@@%%%*) 5333 eval ac_cv_prog_make_${ac_make}_set=yes;; 5334 *) 5335 eval ac_cv_prog_make_${ac_make}_set=no;; 5336 esac 5337 rm -f conftest.make 5338 fi 5339 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then 5340 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 5341 $as_echo "yes" >&6; } 5342 SET_MAKE= 5343 else 5344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5345 $as_echo "no" >&6; } 5346 SET_MAKE="MAKE=${MAKE-make}" 5347 fi 5348 5349 if test -n "$ac_tool_prefix"; then 5350 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. 5351 set dummy ${ac_tool_prefix}ranlib; ac_word=$2 5352 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5353 $as_echo_n "checking for $ac_word... " >&6; } 5354 if ${ac_cv_prog_RANLIB+:} false; then : 5355 $as_echo_n "(cached) " >&6 5356 else 5357 if test -n "$RANLIB"; then 5358 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 5359 else 5360 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 5361 5501 for as_dir in $PATH 5362 5502 do 5363 5503 IFS=$as_save_IFS 5364 5504 test -z "$as_dir" && as_dir=. 5505 for ac_prog in sed gsed; do 5365 5506 for ac_exec_ext in '' $ac_executable_extensions; do 5366 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5367 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" 5368 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5369 break 2 5370 fi 5371 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 5372 5540 done 5373 5541 IFS=$as_save_IFS 5374 5375 fi 5376 fi 5377 RANLIB=$ac_cv_prog_RANLIB 5378 if test -n "$RANLIB"; then 5379 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 5380 $as_echo "$RANLIB" >&6; } 5381 else 5382 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5383 $as_echo "no" >&6; } 5384 fi 5385 5386 5387 fi 5388 if test -z "$ac_cv_prog_RANLIB"; then 5389 ac_ct_RANLIB=$RANLIB 5390 # Extract the first word of "ranlib", so it can be a program name with args. 5391 set dummy ranlib; ac_word=$2 5392 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5393 $as_echo_n "checking for $ac_word... " >&6; } 5394 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 5395 $as_echo_n "(cached) " >&6 5396 else 5397 if test -n "$ac_ct_RANLIB"; then 5398 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 5399 else 5400 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5401 for as_dir in $PATH 5402 do 5403 IFS=$as_save_IFS 5404 test -z "$as_dir" && as_dir=. 5405 for ac_exec_ext in '' $ac_executable_extensions; do 5406 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5407 ac_cv_prog_ac_ct_RANLIB="ranlib" 5408 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5409 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 5410 5544 fi 5411 done 5412 done 5413 IFS=$as_save_IFS 5414 5415 fi 5416 fi 5417 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 5418 if test -n "$ac_ct_RANLIB"; then 5419 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 5420 $as_echo "$ac_ct_RANLIB" >&6; } 5421 else 5422 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5423 $as_echo "no" >&6; } 5424 fi 5425 5426 if test "x$ac_ct_RANLIB" = x; then 5427 RANLIB=":" 5428 else 5429 case $cross_compiling:$ac_tool_warned in 5430 yes:) 5431 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 5432 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} 5433 ac_tool_warned=yes ;; 5434 esac 5435 RANLIB=$ac_ct_RANLIB 5436 fi 5437 else 5438 RANLIB="$ac_cv_prog_RANLIB" 5439 fi 5440 5441 5442 # Checks for libraries. 5443 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5 5444 $as_echo_n "checking for Fibre::yield in -lfibre... " >&6; } 5445 if ${ac_cv_lib_fibre_Fibre__yield+:} false; then : 5446 $as_echo_n "(cached) " >&6 5447 else 5448 ac_check_lib_save_LIBS=$LIBS 5449 LIBS="-lfibre $LIBS" 5450 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5451 /* end confdefs.h. */ 5452 5453 /* Override any GCC internal prototype to avoid an error. 5454 Use char because int might match the return type of a GCC 5455 builtin and then its argument prototype would still apply. */ 5456 #ifdef __cplusplus 5457 extern "C" 5458 #endif 5459 char Fibre::yield (); 5460 int 5461 main () 5462 { 5463 return Fibre::yield (); 5464 ; 5465 return 0; 5466 } 5467 _ACEOF 5468 if ac_fn_c_try_link "$LINENO"; then : 5469 ac_cv_lib_fibre_Fibre__yield=yes 5470 else 5471 ac_cv_lib_fibre_Fibre__yield=no 5472 fi 5473 rm -f core conftest.err conftest.$ac_objext \ 5474 conftest$ac_exeext conftest.$ac_ext 5475 LIBS=$ac_check_lib_save_LIBS 5476 fi 5477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5 5478 $as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; } 5479 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then : 5480 HAVE_LIBFIBRE=1 5481 else 5482 HAVE_LIBFIBRE=0 5483 fi 5484 5485 if test "$HAVE_LIBFIBRE" -eq 1; then 5486 WITH_LIBFIBRE_TRUE= 5487 WITH_LIBFIBRE_FALSE='#' 5488 else 5489 WITH_LIBFIBRE_TRUE='#' 5490 WITH_LIBFIBRE_FALSE= 5491 fi 5492 5493 5494 # Checks for header files. 5495 ac_ext=c 5496 ac_cpp='$CPP $CPPFLAGS' 5497 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 5498 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 5499 ac_compiler_gnu=$ac_cv_c_compiler_gnu 5500 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 5501 $as_echo_n "checking how to run the C preprocessor... " >&6; } 5502 # On Suns, sometimes $CPP names a directory. 5503 if test -n "$CPP" && test -d "$CPP"; then 5504 CPP= 5505 fi 5506 if test -z "$CPP"; then 5507 if ${ac_cv_prog_CPP+:} false; then : 5508 $as_echo_n "(cached) " >&6 5509 else 5510 # Double quotes because CPP needs to be expanded 5511 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" 5512 do 5513 ac_preproc_ok=false 5514 for ac_c_preproc_warn_flag in '' yes 5515 do 5516 # Use a header file that comes with gcc, so configuring glibc 5517 # with a fresh cross-compiler works. 5518 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 5519 # <limits.h> exists even on freestanding compilers. 5520 # On the NeXT, cc -E runs the code through the compiler's parser, 5521 # not just through cpp. "Syntax error" is here to catch this case. 5522 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5523 /* end confdefs.h. */ 5524 #ifdef __STDC__ 5525 # include <limits.h> 5526 #else 5527 # include <assert.h> 5528 #endif 5529 Syntax error 5530 _ACEOF 5531 if ac_fn_c_try_cpp "$LINENO"; then : 5532 5533 else 5534 # Broken: fails on valid input. 5535 continue 5536 fi 5537 rm -f conftest.err conftest.i conftest.$ac_ext 5538 5539 # OK, works on sane cases. Now check whether nonexistent headers 5540 # can be detected and how. 5541 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5542 /* end confdefs.h. */ 5543 #include <ac_nonexistent.h> 5544 _ACEOF 5545 if ac_fn_c_try_cpp "$LINENO"; then : 5546 # Broken: success on invalid input. 5547 continue 5548 else 5549 # Passes both tests. 5550 ac_preproc_ok=: 5551 break 5552 fi 5553 rm -f conftest.err conftest.i conftest.$ac_ext 5554 5555 done 5556 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 5557 rm -f conftest.i conftest.err conftest.$ac_ext 5558 if $ac_preproc_ok; then : 5559 break 5560 fi 5561 5562 done 5563 ac_cv_prog_CPP=$CPP 5564 5565 fi 5566 CPP=$ac_cv_prog_CPP 5567 else 5568 ac_cv_prog_CPP=$CPP 5569 fi 5570 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 5571 $as_echo "$CPP" >&6; } 5572 ac_preproc_ok=false 5573 for ac_c_preproc_warn_flag in '' yes 5574 do 5575 # Use a header file that comes with gcc, so configuring glibc 5576 # with a fresh cross-compiler works. 5577 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since 5578 # <limits.h> exists even on freestanding compilers. 5579 # On the NeXT, cc -E runs the code through the compiler's parser, 5580 # not just through cpp. "Syntax error" is here to catch this case. 5581 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5582 /* end confdefs.h. */ 5583 #ifdef __STDC__ 5584 # include <limits.h> 5585 #else 5586 # include <assert.h> 5587 #endif 5588 Syntax error 5589 _ACEOF 5590 if ac_fn_c_try_cpp "$LINENO"; then : 5591 5592 else 5593 # Broken: fails on valid input. 5594 continue 5595 fi 5596 rm -f conftest.err conftest.i conftest.$ac_ext 5597 5598 # OK, works on sane cases. Now check whether nonexistent headers 5599 # can be detected and how. 5600 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5601 /* end confdefs.h. */ 5602 #include <ac_nonexistent.h> 5603 _ACEOF 5604 if ac_fn_c_try_cpp "$LINENO"; then : 5605 # Broken: success on invalid input. 5606 continue 5607 else 5608 # Passes both tests. 5609 ac_preproc_ok=: 5610 break 5611 fi 5612 rm -f conftest.err conftest.i conftest.$ac_ext 5613 5614 done 5615 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 5616 rm -f conftest.i conftest.err conftest.$ac_ext 5617 if $ac_preproc_ok; then : 5618 5619 else 5620 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 5621 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 5622 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 5623 See \`config.log' for more details" "$LINENO" 5; } 5624 fi 5625 5626 ac_ext=c 5627 ac_cpp='$CPP $CPPFLAGS' 5628 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 5629 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 5630 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 5631 5566 5632 5567 … … 5761 5696 5762 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 5763 8947 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 5764 8948 $as_echo_n "checking for ANSI C header files... " >&6; } … … 5890 9074 5891 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. 5892 16821 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" 5893 16822 if test "x$ac_cv_type_size_t" = xyes; then : … … 6380 17309 fi 6381 17310 done 17311 17312 17313 #============================================================================== 17314 # backend compiler implementation 17315 17316 cat >>confdefs.h <<_ACEOF 17317 #define CFA_BACKEND_CC "${CC}" 17318 _ACEOF 17319 6382 17320 6383 17321 … … 7124 18062 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 7125 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 7126 18445 _ACEOF 7127 18446 … … 7134 18453 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;; 7135 18454 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 18455 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 7136 18456 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 7137 18457 "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;; … … 7864 19184 } 7865 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 ;; 7866 19896 7867 19897 esac -
configure.ac
rff5caaf r95b8aa7 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. … … 227 212 228 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 #============================================================================== 229 219 AC_CONFIG_FILES([ 230 220 Makefile -
doc/bibliography/pl.bib
rff5caaf r95b8aa7 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}, … … 796 809 time computable inheritance hierarchy. 797 810 }, 798 comment = {811 comment = { 799 812 Classes are predicates; if object {\tt o} is in class {\tt C}, then 800 813 {\tt C} is true of {\tt o}. Classes are combined with {\tt :AND}, … … 950 963 951 964 @article{Moss18, 952 keywords = {type systems, tuples, Cforall},965 keywords = {type systems, polymorphism, tuples, Cforall}, 953 966 contributer = {pabuhr@plg}, 954 967 author = {Aaron Moss and Robert Schluntz and Peter A. Buhr}, 955 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, 956 973 year = 2018, 957 month = aug, 958 journal = spe, 974 pages = {2111-2146}, 959 975 note = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}}, 960 976 } … … 989 1005 journal = {Dr. Dobb's Journal of Software Tools}, 990 1006 year = 1989, 991 month = feb, volume = 14, number = 2, pages = {45-51}, 1007 month = feb, 1008 volume = 14, 1009 number = 2, 1010 pages = {45-51}, 992 1011 comment = { 993 1012 A light-weight multitasking kernel for MS-DOS. A task\_control … … 1507 1526 } 1508 1527 1509 @ techreport{uC++,1528 @manual{uC++, 1510 1529 keywords = {C++, concurrency, light-weight process, shared memory}, 1511 1530 contributer = {pabuhr@plg}, 1531 key = {uC++}, 1512 1532 author = {Peter A. Buhr}, 1513 1533 title = {$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Annotated Reference Manual, Version 7.0.0}, 1514 institution = {School of Computer Science, University of Waterloo}, 1515 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1516 month = dec, 1517 year = 2017, 1534 organization= {University of Waterloo}, 1535 month = sep, 1536 year = 2018, 1518 1537 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/uC++.pdf}}, 1519 1538 } … … 1586 1605 author = {Sun, Xianda}, 1587 1606 title = {Concurrent High-performance Persistent Hash Table In {J}ava}, 1588 school = {School of Computer Sc ience, University of Waterloo},1607 school = {School of Computer Sc., University of Waterloo}, 1589 1608 year = 2015, 1590 1609 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, … … 1936 1955 note = {Svensk Standard SS 63 61 14}, 1937 1956 year = 1987, 1938 abstract = { 1939 Standard for the programming language SIMULA. Written in English. 1940 } 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}, 1941 1971 } 1942 1972 … … 2078 2108 year = {1998}, 2079 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} 2080 2120 } 2081 2121 … … 2880 2920 } 2881 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 2882 2936 % F 2883 2937 … … 3223 3277 keywords = {Go programming language}, 3224 3278 contributer = {pabuhr@plg}, 3279 author = {Robert Griesemer and Rob Pike and Ken Thompson}, 3225 3280 title = {{Go} Programming Language}, 3226 author = {Robert Griesemer and Rob Pike and Ken Thompson},3227 3281 organization= {Google}, 3228 3282 year = 2009, … … 3416 3470 month = sep, 3417 3471 publisher = {John Wiley \& Sons}, 3418 note = {\href{https://doi -org.proxy.lib.uwaterloo.ca/10.1002/cpe.4475}{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}}, 3419 3473 } 3420 3474 … … 3554 3608 publisher = {ACM Press}, 3555 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} 3556 3623 } 3557 3624 … … 3898 3965 author = {Peter A. Buhr and Martin Karsten and Jun Shih}, 3899 3966 title = {{\small\textsf{KDB}}: A Multi-threaded Debugger for Multi-threaded Applications}, 3900 booktitle = {Proc eedings of SPDT'96: SIGMETRICS Symposiumon Parallel and Distributed Tools},3967 booktitle = {Proc. of SPDT'96: SIGMETRICS Symp. on Parallel and Distributed Tools}, 3901 3968 publisher = {ACM Press}, 3902 3969 address = {Philadelphia, Pennsylvania, U.S.A.}, … … 5389 5456 } 5390 5457 5458 @inproceedings{Conchon07, 5459 keywords = {persistent array, union-find}, 5460 contributer = {a3moss@uwaterloo.ca}, 5461 title = {A persistent union-find data structure}, 5462 author = {Conchon, Sylvain and Filli{\^a}tre, Jean-Christophe}, 5463 booktitle = {Proceedings of the 2007 workshop on Workshop on ML}, 5464 pages = {37--46}, 5465 year = {2007}, 5466 organization= {ACM} 5467 } 5468 5391 5469 @article{poly, 5392 5470 keywords = {Poly, Standard ML, Russell, persistence}, … … 5603 5681 author = {Peter A. Buhr and Robert Denda}, 5604 5682 title = {{$\mu$Profiler} : Profiling User-Level Threads in a Shared-Memory Programming Environment}, 5605 booktitle = {Proc eedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments (ISCOPE'98)},5683 booktitle = {Proc. of 2nd Inter. Symp. on Computing in Object-Oriented Parallel Environments}, 5606 5684 series = {Lecture Notes in Computer Science}, 5607 5685 publisher = {Springer-Verlag}, … … 5974 6052 issn = {0164-0925}, 5975 6053 pages = {429-475}, 5976 url = {http://doi.acm.org .proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},6054 url = {http://doi.acm.org/10.1145/1133651.1133653}, 5977 6055 doi = {10.1145/1133651.1133653}, 5978 6056 acmid = {1133653}, … … 6241 6319 contributer = {pabuhr@plg}, 6242 6320 key = {Rust}, 6243 title = { The{R}ust Programming Language},6244 address = {TheRust Project Developers},6321 title = {{R}ust Programming Language}, 6322 optaddress = {Rust Project Developers}, 6245 6323 year = 2015, 6246 6324 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, … … 6308 6386 publisher = {Springer}, 6309 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}, 6310 6430 } 6311 6431 … … 7476 7596 } 7477 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 7478 7619 % X 7479 7620 -
doc/papers/concurrency/Paper.tex
rff5caaf r95b8aa7 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/proposals/flags.md
rff5caaf r95b8aa7 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/theses/aaron_moss_PhD/phd/Makefile
rff5caaf r95b8aa7 1 1 BUILD = build 2 2 BIBDIR = ../../../bibliography 3 EVALDIR = evaluation 3 4 TEXLIB = .:${BUILD}:${BIBDIR}: 4 5 5 LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && pdflatex -interaction= -output-directory=${BUILD} 6 # LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && pdflatex -interaction=nonstopmode -halt-on-error -output-directory=${BUILD} 7 LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${BUILD} 6 8 BIBTEX = BIBINPUTS=${TEXLIB} && export BIBINPUTS && bibtex 9 10 VPATH = ${EVALDIR} 7 11 8 12 BASE = thesis … … 23 27 } 24 28 29 GRAPHS = ${addsuffix .tex, \ 30 generic-timing \ 31 } 32 25 33 .PHONY : all rebuild-refs clean wc 26 34 … … 33 41 wc ${SOURCES} 34 42 35 ${DOCUMENT} : ${SOURCES} ${BUILD} 36 ${LATEX} ${BASE} 37 ${LATEX} ${BASE} 43 ${DOCUMENT} : ${BASE}.ps 44 ps2pdf ${BUILD}/$< 38 45 39 rebuild-refs : ${SOURCES} ${BIBFILE} ${BUILD} 46 ${BASE}.ps : ${BASE}.dvi 47 dvips ${BUILD}/$< -o ${BUILD}/$@ 48 49 ${BASE}.dvi : Makefile ${SOURCES} ${GRAPHS} ${BIBFILE} ${BUILD} 40 50 ${LATEX} ${BASE} 41 51 ${BIBTEX} ${BUILD}/${BASE} … … 43 53 ${LATEX} ${BASE} 44 54 55 ${GRAPHS} : generic-timing.gp generic-timing.dat ${BUILD} 56 gnuplot -e BUILD="'${BUILD}/'" ${EVALDIR}/generic-timing.gp 57 45 58 ${BUILD}: 46 59 mkdir -p ${BUILD} -
doc/theses/aaron_moss_PhD/phd/generic-types.tex
rff5caaf r95b8aa7 135 135 136 136 \CC{}, Java, and other languages use \emph{generic types} to produce type-safe abstract data types. 137 Design and implementation of generic types for \CFA{} is the first major contribution of this thesis, a summary of which is published in \cite{Moss18} .137 Design and implementation of generic types for \CFA{} is the first major contribution of this thesis, a summary of which is published in \cite{Moss18} and from which this chapter is closely based. 138 138 \CFA{} generic types integrate efficiently and naturally with the existing polymorphic functions in \CFA{}, while retaining backward compatibility with C in layout and support for separate compilation. 139 139 A generic type can be declared in \CFA{} by placing a !forall! specifier on a !struct! or !union! declaration, and instantiated using a parenthesized list of types after the generic name. … … 179 179 \subsection{Related Work} 180 180 181 One approach to the design of generic types is that taken by \CC{} templates\cit {}.181 One approach to the design of generic types is that taken by \CC{} templates\cite{C++}. 182 182 The template approach is closely related to the macro-expansion approach to C polymorphism demonstrated in Figure~\ref{macro-generic-fig}, but where the macro-expansion syntax has been given first-class language support. 183 183 Template expansion has the benefit of generating code with near-optimal runtime efficiency, as distinct optimizations can be applied for each instantiation of the template. … … 185 185 The most significant restriction of the \CC{} template model is that it breaks separate compilation and C's translation-unit-based encapsulation mechanisms. 186 186 Because a \CC{} template is not actually code, but rather a sort of ``recipe'' to generate code, template code must be visible at its call site to be used. 187 Furthermore, \CC{} template code cannot be type-checked without instantiating it, a time consuming process with no hope of improvement until \CC{} concepts\cite{C++Concepts} are standardized in \CCtwenty{}. 187 188 C code, by contrast, only needs a !struct! or function declaration to call that function or use (by-pointer) values of that type, a desirable property to maintain for \CFA{}. 188 189 189 Java\cit {} has another prominent implementation for generic types,based on a significantly different approach than \CC{}.190 Java\cite{Java8} has another prominent implementation for generic types, introduced in Java~5 and based on a significantly different approach than \CC{}. 190 191 The Java approach has much more in common with the !void*!-polymorphism shown in Figure~\ref{void-generic-fig}; since in Java nearly all data is stored by reference, the Java approach to polymorphic data is to store pointers to arbitrary data and insert type-checked implicit casts at compile-time. 191 192 This process of \emph{type erasure} has the benefit of allowing a single instantiation of polymorphic code, but relies heavily on Java's object model and garbage collector. 192 193 To use this model, a more C-like language such as \CFA{} would be required to dynamically allocate internal storage for variables, track their lifetime, and properly clean them up afterward. 193 194 194 \TODO{Talk about Go, maybe Rust, Swift, etc. as well; specifically mention ``fat pointer'' polymorphism} 195 196 \TODO{Talk about Cyclone as well, and why my generics are more powerful} 195 Cyclone\cite{Grossman06} is another language extending C, and also provides capabilities for polymorphic functions and existential types, similar to \CFA{}'s !forall! functions and generic types. 196 Cyclone existential types can include function pointers in a construct similar to a virtual function table, but these pointers must be explicitly initialized at some point in the code, which is tedious and error-prone compared to \CFA{}'s implicit assertion satisfaction. 197 Furthermore, Cyclone's polymorphic functions and types are restricted to abstraction over types with the same layout and calling convention as !void*!, \ie{} only pointer types and !int!. 198 In the \CFA{} terminology discussed in Section~\ref{generic-impl-sec}, all Cyclone polymorphism must be dtype-static. 199 While the Cyclone polymorphism design provides the efficiency benefits discussed in Section~\ref{dtype-static-sec} for dtype-static polymorphism, it is more restrictive than the more general model of \CFA{}. 200 201 Many other languages include some form of generic types. 202 As a brief survey, ML\cite{ML} was the first language to support parameteric polymorphism, but unlike \CFA{} does not support the use of assertions and traits to constrain type arguments. 203 Haskell\cite{Haskell10} combines ML-style polymorphism with the notion of type classes, similar to \CFA{} traits, but requiring an explicit association with their implementing types, unlike \CFA{}. 204 Objective-C\cite{obj-c-book} is an extension to C which has had some industrial success; however, it did not support type-checked generics until recently\cite{xcode7}, and it's garbage-collected, message-passing object-oriented model is a radical departure from C. 205 Go\cite{Go}, and Rust\cite{Rust} are modern compiled languages with abstraction features similar to \CFA{} traits, \emph{interfaces} in Go and \emph{traits} in Rust. 206 Go has implicit interface implementation and uses a ``fat pointer'' construct to pass polymorphic objects to functions, similar in principle to \CFA{}'s implicit forall paramters. 207 Go does not, however, allow user code to define generic types, restricting Go programmers to the small set of generic types defined by the compiler. 208 Rust has powerful abstractions for generic programming, including explicit implemenation of traits and options for both separately-compiled virtual dispatch and template-instantiated static dispatch in functions. 209 On the other hand, the safety guarantees of Rust's \emph{lifetime} abstraction and borrow checker impose a distinctly idiosyncratic programming style and steep learning curve; \CFA{}, with its more modest safety features, allows direct ports of C code while maintaining the idiomatic style of the original source. 197 210 198 211 \subsection{\CFA{} Generics} … … 212 225 213 226 In this example, !with_len! is defined at the same scope as !pair!, but it could be called from any context that can see the definition of !pair! and a declaration of !with_len!. 214 If its return type was !pair(const char*, int)*!, callers of !with_len! would only need the declaration !forall(otype R, otype S) struct pair ;! to call it, in accordance with the usual C rules for opaque types.227 If its return type was !pair(const char*, int)*!, callers of !with_len! would only need the declaration !forall(otype R, otype S) struct pair! to call it, in accordance with the usual C rules for opaque types. 215 228 216 229 !with_len! is itself a monomorphic function, returning a type that is structurally identical to !struct { const char* first; int second; }!, and as such could be called from C given an appropriate redeclaration and demangling flags. … … 234 247 \end{cfa} 235 248 236 \section{Implementation} 237 238 % forall constraints on struct/union constrain default constructor (TODO check with Rob) 239 240 % TODO discuss layout function algorithm, application to separate compilation 241 % TODO put a static const field in for _n_fields for each generic, describe utility for separate compilation (actually no, you need to be able to see the type for it to be sized) 242 243 % mention that tuples are implemented on top of a per-arity generic type 244 245 \section{Performance Experiments} 246 247 % TODO pull benchmarks from Moss et al. 249 \CFA{} generic types also support the type constraints from !forall! functions. 250 For example, the following declaration of a sorted set type ensures that the set key implements equality and relational comparison: 251 252 \begin{cfa} 253 forall(otype Key | { int ?==?(Key, Key); int ?<?(Key, Key); }) struct sorted_set; 254 \end{cfa} 255 256 These constraints are implemented by applying equivalent constraints to the compiler-generated constructors for this type. 257 258 \section{Implementation} \label{generic-impl-sec} 259 260 The ability to use generic types in polymorphic contexts means that the \CFA{} implementation in \CFACC{} must support a mechanism for accessing fields of generic types dynamically at runtime. 261 While \CFACC{} could in principle use this same mechanism for accessing fields of all generic types, such an approach would throw away compiler knowledge of static types and impose an unnecessary runtime cost, limiting the utility of the generic type design. 262 Instead, my design for generic type support in \CFACC{} distinguishes between \emph{concrete} generic types that have a fixed memory layout regardless of type parameters and \emph{dynamic} generic types that may vary in memory layout depending on their type parameters. 263 A \emph{dtype-static} type has polymorphic parameters but is still concrete. 264 Polymorphic pointers are an example of dtype-static types; given some type variable !T!, T is a polymorphic type, but !T*! has a fixed size and can therefore be represented by a !void*! in code generation. 265 In particular, generic types where all parameters are un-!sized! (\ie{} they do not conform to the built-in !sized! trait because the compiler does not know their size and alignment) are always concrete, as there is no possibility for their layout to vary based on type parameters of unknown size and alignment. 266 More precisely, a type is concrete if and only if all of its !sized! type parameters are concrete, and a concrete type is dtype-static if any of its type parameters are (possibly recursively) polymorphic. 267 To illustrate, the following code using the !pair! type from above \TODO{test this} has each use of !pair! commented with its class: 268 269 \begin{cfa} 270 //dynamic, layout varies based on T 271 forall(otype T) T value( pair(const char*, T) p ) { return p.second; } 272 273 // dtype-static, F* and T* are concrete but recursively polymorphic 274 forall(dtype F, otype T) T value( pair(F*, T*) ) { return *p.second; } 275 276 pair(const char*, int) p = {"magic", 42}; $\C[2.5in]{// concrete}$ 277 int i = value(p); 278 pair(void*, int*) q = {0, &p.second}; $\C[2.5in]{// concrete}$ 279 i = value(q); 280 double d = 1.0; 281 pair(double*, double*) r = {&d, &d}; $\C[2.5in]{// concrete}$ 282 d = value(r); 283 \end{cfa} 284 285 \subsection{Concrete Generic Types} 286 287 The \CFACC{} translator template expands concrete generic types into new structure types, affording maximal inlining. 288 To enable interoperation among equivalent instantiations of a generic type, \CFACC{} saves the set of instantiations currently in scope and reuses the generated structure declarations where appropriate. 289 In particular, tuple types are implemented as a single compiler-generated generic type definition per tuple arity, and can be instantiated and reused according to the usual rules for generic types. 290 A function declaration that accepts or returns a concrete generic type produces a declaration for the instantiated structure in the same scope, which all callers may reuse. 291 As an example, the concrete instantiation for !pair(const char*, int)! is\footnote{This omits the field name mangling performed by \CFACC{} for overloading purposes.\label{mangle-foot}} 292 293 \begin{cfa} 294 struct _pair_conc0 { const char * first; int second; }; 295 \end{cfa} 296 297 A concrete generic type with dtype-static parameters is also expanded to a structure type, but this type is used for all matching instantiations. 298 In the example above, the !pair(F*, T*)! parameter to !value! is such a type; its expansion is below\footref{mangle-foot}, and it is used as the type of the variables !q! and !r! as well, with casts for member access where appropriate. 299 300 \begin{cfa} 301 struct _pair_conc1 { void* first; void* second; }; 302 \end{cfa} 303 304 \subsection{Dynamic Generic Types} 305 306 In addition to this efficient implementation of concrete generic types, \CFA{} also offers flexibility with powerful support for dynamic generic types. 307 In the pre-existing compiler design, !otype! (and all !sized!) type parameters come with implicit size and alignment parameters provided by the caller. 308 The design for generic types presented here adds an \emph{offset array} containing structure-member offsets for dynamic generic !struct! types. 309 A dynamic generic !union! needs no such offset array, as all members are at offset 0, but size and alignment are still necessary. 310 Access to members of a dynamic structure is provided at runtime via base displacement addressing the structure pointer and the member offset (similar to the !offsetof! macro), moving a compile-time offset calculation to runtime. 311 312 the offset arrays are statically generated where possible. 313 If a dynamic generic type is passed or returned by value from a polymorphic function, \CFACC{} can safely assume that the generic type is complete (\ie{} has a known layout) at any call site, and the offset array is passed from the caller; if the generic type is concrete at the call site, the elements of this offset array can even be statically generated using the C !offsetof! macro. 314 As an example, the body of the second !value! function above is implemented as 315 316 \begin{cfa} 317 _assign_T( _retval, p + _offsetof_pair[1] ); $\C[2in]{// return *p.second}$ 318 \end{cfa} 319 320 Here, !_assign_T! is passed in as an implicit parameter from !otype T! and takes two !T*! (!void*! in the generated code), a destination and a source, and !_retval! is the pointer to a caller-allocated buffer for the return value, the usual \CFA{} method to handle dynamically-sized return types. 321 !_offsetof_pair! is the offset array passed into !value!; this array is generated at the call site as 322 323 \begin{cfa} 324 size_t _offsetof_pair[] = {offsetof(_pair_conc0, first), offsetof(_pair_conc0, second)}; 325 \end{cfa} 326 327 \subsubsection{Layout Functions} 328 329 In some cases, the offset arrays cannot be statically generated. 330 For instance, modularity is generally provided in C by including an opaque forward declaration of a structure and associated accessor and mutator functions in a header file, with the actual implementations in a separately-compiled \texttt{.c} file. 331 \CFA{} supports this pattern for generic types, implying that the caller of a polymorphic function may not know the actual layout or size of a dynamic generic type and only holds it by pointer. 332 \CFACC{} automatically generates \emph{layout functions} for cases where the size, alignment, and offset array of a generic struct cannot be passed into a function from that functions's caller. 333 These layout functions take as arguments pointers to size and alignment variables and a caller-allocated array of member offsets, as well as the size and alignment of all !sized! parameters to the generic structure. 334 Un!sized! parameters not passed because they are forbidden from being used in a context that affects layout by C's usual rules about incomplete types. 335 Similarly, the layout function can only safely be called from a context where the generic type definition is visible, because otherwise the caller will not know how large to allocate the array of member offsets. 336 337 The C standard does not specify a memory layout for structs, but the POSIX ABI for x86\cit{} does; this memory layout is common for C implementations, but is a platform-specific issue for porting \CFA{}. 338 This algorithm, sketched below in pseudo-\CFA{}, is a straightforward mapping of consecutive fields into the first properly-aligned offset in the !struct! layout; layout functions for !union! types omit the offset array and simply calculate the maximum size and alignment over all union variants. 339 Since \CFACC{} generates a distinct layout function for each type, constant-folding and loop unrolling are applied. 340 341 \begin{cfa} 342 forall(dtype T1, dtype T2, ... | sized(T1) | sized(T2) | ...) 343 void layout(size_t* size, size_t* align, size_t* offsets) { 344 // initialize values 345 *size = 0; *align = 1; 346 // set up members 347 for ( int i = 0; i < n_fields; ++i ) { 348 // pad to alignment 349 size_t off_align = *size % alignof(field[i]); 350 if ( off_align != 0 ) { *size += alignof(field[i]) - off_align; } 351 // mark member, increase size, and fix alignment 352 offsets[i] = *size; 353 *size += sizeof(field[i]); 354 if ( *align < alignof(field[i]) ) { *align = alignof(field[i]); } 355 } 356 // final padding to alignment 357 size_t off_align = *size % *align; 358 if ( off_align != 0 ) { *size += *align - off_align; } 359 } 360 \end{cfa} 361 362 Results of layout function calls are cached so that they are only computed once per type per function. 363 Layout functions also allow generic types to be used in a function definition without reflecting them in the function signature, an important implemenation-hiding constraint of the design. 364 For instance, a function that strips duplicate values from an unsorted !list(T)! likely has a reference to the list as its only explicit parameter, but uses some sort of !set(T)! internally to test for duplicate values. 365 This function could acquire the layout for !set(T)! by calling its layout function, providing as an argument the layout of !T! implicitly passed into that function. 366 367 Whether a type is concrete, dtype-static, or dynamic is decided solely on the basis of the type arguments and !forall! clause type paramters. 368 This design allows opaque forward declarations of generic types, \eg{} !forall(otype T) struct Box;! like in C, all uses of $Box(T)$ can be separately compiled, and callers from other translation units know the proper calling conventions to use. 369 In an alternate design where the definition of a structure type is included in deciding whether a generic type is dynamic or concrete, some further types may be recognized as dtype-static --- \eg{} !Box! could be defined with a body !{ T* p; }!, and would thus not depend on !T! for its layout. 370 However, the existence of an !otype! parameter !T! means that !Box! \emph{could} depend on !T! for its layout if this definition is not visible, and we judged preserving separate compilation (and the associated C compatibility) in the implemented design to be an acceptable trade-off. 371 372 \subsection{Applications of Dtype-static Types} \label{dtype-static-sec} 373 374 The reuse of dtype-static structure instantiations enables useful programming patterns at zero runtime cost. 375 The most important such pattern is using !forall(dtype T) T*! as a type-checked replacement for !void*!, \eg{} creating a lexicographic comparison function for pairs of pointers. 376 377 \begin{cfa} 378 forall(dtype T) 379 int lexcmp( pair(T*, T*)* a, pair(T*, T*)* b, int (*cmp)(T*, T*) ) { 380 int c = cmp( a->first, b->first ); 381 return c ? c : cmp( a->second, b->second ); 382 } 383 \end{cfa} 384 385 Since !pair(T*, T*)! is a concrete type, there are no implicit parameters passed to !lexcmp!; hence, the generated code is identical to a function written in standard C using !void*!, yet the \CFA{} version is type-checked to ensure members of both pairs and arguments to the comparison function match in type. 386 387 Another useful pattern enabled by reused dtype-static type instantiations is zero-cost \emph{tag structures}. 388 Sometimes, information is only used for type checking and can be omitted at runtime. 389 In the example below, !scalar! is a dtype-static type; hence, all uses have a single structure definition containing !unsigned long! and can share the same implementations of common functions like !?+?!. 390 These implementations may even be separately compiled, unlike \CC{} template functions. 391 However, the \CFA{} type checker ensures matching types are used by all calls to !?+?!, preventing nonsensical computations like adding a length to a volume. 392 393 \begin{cfa} 394 forall(dtype Unit) struct scalar { unsigned long value; }; 395 struct metres {}; 396 struct litres {}; 397 398 forall(dtype U) scalar(U) ?+?(scalar(U) a, scalar(U) b) { 399 return (scalar(U)){ a.value + b.value }; 400 } 401 402 scalar(metres) half_marathon = { 21098 }; 403 scalar(litres) pool = { 2500000 }; 404 scalar(metres) marathon = half_marathon + half_marathon; 405 `marathon + pool;` $\C[4in]{// compiler ERROR, mismatched types}$ 406 \end{cfa} 407 408 \section{Performance Experiments} \label{generic-performance-sec} 409 410 To validate the practicality of this generic type design I have conducted microbenchmark-based tests against a number of comparable code designs in C and \CC{}, first published in \cite{Moss18}. 411 Since all these languages are compiled with the same compiler backend and share a subset essentially comprising standard C, maximal-performance benchmarks should show little runtime variance, differing only in length and clarity of source code. 412 A more illustrative comparison measures the costs of idiomatic usage of each language's features. 413 The code below shows the \CFA{} benchmark tests for a generic stack based on a singly-linked list; the test suite is equivalent for the other other languages. 414 The experiment uses element types !int! and !pair(short, char)! and pushes $N = 40M$ elements on a generic stack, copies the stack, clears one of the stacks, and finds the maximum value in the other stack. 415 416 \begin{cfa} 417 int main() { 418 int max = 0, val = 42; 419 stack( int ) si, ti; 420 421 REPEAT_TIMED( "push_int", N, push( si, val ); ) 422 TIMED( "copy_int", ti{ si }; ) 423 TIMED( "clear_int", clear( si ); ) 424 REPEAT_TIMED( "pop_int", N, int x = pop( ti ); if ( x > max ) max = x; ) 425 426 pair( short, char ) max = { 0h, '\0' }, val = { 42h, 'a' }; 427 stack( pair( short, char ) ) sp, tp; 428 429 REPEAT_TIMED( "push_pair", N, push( sp, val ); ) 430 TIMED( "copy_pair", tp{ sp }; ) 431 TIMED( "clear_pair", clear( sp ); ) 432 REPEAT_TIMED( "pop_pair", N, pair(short, char) x = pop( tp ); 433 if ( x > max ) max = x; ) 434 } 435 \end{cfa} 436 437 The four versions of the benchmark implemented are C with !void*!-based polymorphism, \CFA{} with parameteric polymorphism, \CC{} with templates, and \CC{} using only class inheritance for polymorphism, denoted \CCV{}. 438 The \CCV{} variant illustrates an alternative object-oriented idiom where all objects inherit from a base !object! class, mimicking a Java-like interface; in particular, runtime checks are necessary to safely downcast objects. 439 The most notable difference among the implementations is the memory layout of generic types: \CFA{} and \CC{} inline the stack and pair elements into corresponding list and pair nodes, while C and \CCV{} lack such capability and, instead, must store generic objects via pointers to separately allocated objects. 440 Note that the C benchmark uses unchecked casts as C has no runtime mechanism to perform such checks, whereas \CFA{} and \CC{} provide type safety statically. 441 442 Figure~\ref{generic-eval-fig} and Table~\ref{generic-eval-table} show the results of running the described benchmark. 443 The graph plots the median of five consecutive runs of each program, with an initial warm-up run omitted. 444 All code is compiled at \texttt{-O2} by gcc or g++ 6.4.0, with all \CC{} code compiled as \CCfourteen{}. 445 The benchmarks are run on an Ubuntu 16.04 workstation with 16 GB of RAM and a 6-core AMD FX-6300 CPU with 3.5 GHz maximum clock frequency. 446 I conjecture that these results scale across most uses of generic types, given the constant underlying polymorphism implementation. 447 448 \begin{figure} 449 \centering 450 \input{generic-timing} 451 \caption{Benchmark timing results (smaller is better)} \label{generic-eval-fig} 452 \end{figure} 453 454 \begin{table} 455 \caption{Properties of benchmark code} \label{generic-eval-table} 456 \centering 457 \newcommand{\CT}[1]{\multicolumn{1}{c}{#1}} 458 \begin{tabular}{lrrrr} 459 & \CT{C} & \CT{\CFA} & \CT{\CC} & \CT{\CCV} \\ 460 maximum memory usage (MB) & 10\,001 & 2\,502 & 2\,503 & 11\,253 \\ 461 source code size (lines) & 201 & 191 & 125 & 294 \\ 462 redundant type annotations (lines) & 27 & 0 & 2 & 16 \\ 463 binary size (KB) & 14 & 257 & 14 & 37 \\ 464 \end{tabular} 465 \end{table} 466 467 The C and \CCV{} variants are generally the slowest and have the largest memory footprint, due to their less-efficient memory layout and the pointer indirection necessary to implement generic types in those languages; this inefficiency is exacerbated by the second level of generic types in the pair benchmarks. 468 By contrast, the \CFA{} and \CC{} variants run in roughly equivalent time for both the integer and pair because of the equivalent storage layout, with the inlined libraries (\ie{} no separate compilation) and greater maturity of the \CC{} compiler contributing to its lead. 469 \CCV{} is slower than C largely due to the cost of runtime type checking of downcasts (implemented with !dynamic_cast!); the outlier for \CFA{}, pop !pair!, results from the complexity of the generated-C polymorphic code. 470 The gcc compiler is unable to optimize some dead code and condense nested calls; a compiler designed for \CFA{} could more easily perform these optimizations. 471 Finally, the binary size for \CFA{} is larger because of static linking with \CFA{} libraries. 472 473 \CFA{} is also competitive in terms of source code size, measured as a proxy for programmer effort. 474 The line counts in Table~\ref{generic-eval-table} include implementations of !pair! and !stack! types for all four languages for purposes of direct comparison, although it should be noted that \CFA{} and \CC{} have prewritten data structures in their standard libraries that programmers would generally use instead. 475 Use of these standard library types has minimal impact on the performance benchmarks, but shrinks the \CFA{} and \CC{} code to 39 and 42 lines, respectively. 476 The difference between the \CFA{} and \CC{} line counts is primarily declaration duplication to implement separate compilation; a header-only \CFA{} library is similar in length to the \CC{} version. 477 On the other hand, due to the language shortcomings mentioned at the beginning of the chapter, C does not have a generic collections library in its standard distribution, resulting in frequent reimplementation of such collection types by C programmers. 478 \CCV{} does not use the \CC{} standard template library by construction, and, in fact, includes the definition of !object! and wrapper classes for !char!, !short!, and !int! in its line count, which inflates this count somewhat, as an actual object-oriented language would include these in the standard library. 479 I justify the given line count by noting that many object-oriented languages do not allow implementing new interfaces on library types without subclassing or wrapper types, which may be similarly verbose. 480 481 Line count is a fairly rough measure of code complexity; another important factor is how much type information the programmer must specify manually, especially where that information is not type-checked. 482 Such unchecked type information produces a heavier documentation burden and increased potential for runtime bugs and is much less common in \CFA{} than C, with its manually specified function pointer arguments and format codes, or \CCV{}, with its extensive use of un-type-checked downcasts, \eg{} !object! to !integer! when popping a stack. 483 To quantify this manual typing, the ``redundant type annotations'' line in Table~\ref{generic-eval-table} counts the number of lines on which the known type of a variable is respecified, either as a format specifier, explicit downcast, type-specific function, or by name in a !sizeof!, !struct! literal, or !new! expression. 484 The \CC{} benchmark uses two redundant type annotations to create new stack nodes, whereas the C and \CCV{} benchmarks have several such annotations spread throughout their code. 485 The \CFA{} benchmark is able to eliminate \emph{all} redundant type annotations through use of the return-type polymorphic !alloc! function in the \CFA{} standard library. 248 486 249 487 \section{Future Work} 250 488 251 % mention future work adding non-type generic parameters, like ints 252 253 % taking advantage of generic layout functions to provide field assertions in forall qualifiers 254 255 % mention packed generic layouts (significantly more complex layout function, but possible) 489 The generic types design presented here is already sufficiently expressive to implement a variety of useful library types. 490 However, some other features based on this design could further improve \CFA{}. 491 492 The most pressing addition is the ability to have non-type generic parameters. 493 C already supports fixed-length array types, \eg{} !int[10]!; these types are essentially generic types with unsigned integer parameters, and allowing \CFA{} users the capability to build similar types is a requested feature. 494 More exotically, the ability to have these non-type parameters depend on dynamic runtime values rather than static compile-time constants opens up interesting opportunities for type-checking problematic code patterns. 495 For example, if a collection iterator was parameterized over the pointer to the collection it was drawn from, then a sufficiently powerful static analysis pass could ensure that that iterator was only used for that collection, eliminating one source of hard-to-find bugs. 496 497 The implementation mechanisms behind this generic types design can also be used to add new features to \CFA{}. 498 One such potential feature would be to add \emph{field assertions} to the existing function and variable assertions on polymorphic type variables. 499 Implementation of these field assertions would be based on the same code that supports member access by dynamic offset calculation for dynamic generic types. 500 Simulating field access can already be done more flexibly in \CFA{} by declaring a trait containing an accessor function to be called from polymorphic code, but these accessor functions impose some overhead both to write and call, and directly providing field access via an implicit offset parameter would be both more concise and more efficient. 501 Of course, there are language design trade-offs to such an approach, notably that providing the two similar features of field and function assertions would impose a burden of choice on programmers writing traits, with field assertions more efficient, but function assertions more general; given this open design question we have deferred a decision on field assertions until we have more experience using \CFA{}. 502 If field assertions are included in the language, a natural extension would be to provide a structural inheritance mechanism for every !struct! type that simply turns the list of !struct! fields into a list of field assertions, allowing monomorphic functions over that type to be generalized to polymorphic functions over other similar types with added or reordered fields. 503 \CFA{} could also support a packed or otherwise size-optimized representation for generic types based on a similar mechanism --- the layout function would need to be re-written, but nothing in the use of the offset arrays implies that the field offsets need be monotonically increasing. 504 505 With respect to the broader \CFA{} polymorphism design, the experimental results in Section~\ref{generic-performance-sec} demonstrate that though the runtime impact of \CFA{}'s dynamic virtual dispatch is low, it is not as low as the static dispatch of \CC{} template inlining. 506 However, rather than subject all \CFA{} users to the compile-time costs of ubiquitous template expansion, we are considering more targeted mechanisms for performance-sensitive code. 507 Two promising approaches are are an !inline! annotation at polymorphic function call sites to create a template specialization of the function (provided the code is visible) or placing a different !inline! annotation on polymorphic function definitions to instantiate a specialized version of the function for some set of types. 508 These approaches are not mutually exclusive and allow performance optimizations to be applied only when necessary, without suffering global code bloat. 509 In general, the \CFA{} team believes that separate compilation works well with loaded hardware caches by producing smaller code, which may offset the benefit of larger inlined code. -
doc/theses/aaron_moss_PhD/phd/introduction.tex
rff5caaf r95b8aa7 5 5 6 6 \begin{table}[h] 7 \label{tiobe-table} 8 \caption[TIOBE index over time]{Current top 5 places in the TIOBE index averaged over years} 7 \caption[TIOBE index over time]{Current top 5 places in the TIOBE index averaged over years} \label{tiobe-table} 9 8 10 9 \centering -
doc/theses/aaron_moss_PhD/phd/macros.tex
rff5caaf r95b8aa7 12 12 \newcommand{\CCseventeen}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}17} % C++17 symbolic name 13 13 \newcommand{\CCtwenty}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}20} % C++20 symbolic name 14 \newcommand{\CCV}{\rm C\kern-.1em\hbox{+\kern-.25em+}obj} % C++ virtual symbolic name 14 15 \newcommand{\Csharp}{C\raisebox{-0.7ex}{\Large$^\sharp$}} % C# symbolic name 15 16 … … 19 20 \newcommand{\etal}{\textit{et~al.}} 20 21 22 \newcommand{\myset}[1]{\left\{#1\right\}} 23 21 24 \newcommand{\TODO}[1]{\textbf{TODO:} \textit{#1}} 22 25 \newcommand{\cit}{\textsuperscript{[citation needed]}} -
doc/theses/aaron_moss_PhD/phd/thesis.tex
rff5caaf r95b8aa7 21 21 22 22 \usepackage{amsmath,amssymb,amstext} % Lots of math symbols and environments 23 \usepackage[pdftex]{graphicx} % For including graphics N.B. pdftex graphics driver 23 % \usepackage[pdftex]{graphicx} % For including graphics N.B. pdftex graphics driver 24 \usepackage{graphicx} 25 26 \usepackage{amsthm} % for theorem environment 27 \newtheorem{theorem}{Theorem} 28 29 \usepackage{footmisc} % for double refs to the same footnote 24 30 25 31 % Hyperlinks make it very easy to navigate an electronic document. … … 28 34 % Use the "hyperref" package 29 35 % N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE 30 \usepackage[pdftex,pagebackref=false]{hyperref} % with basic options 36 %\usepackage[pdftex,pagebackref=false]{hyperref} % with basic options 37 \usepackage[pagebackref=false]{hyperref} 31 38 % N.B. pagebackref=true provides links back from the References to the body text. This can cause trouble for printing. 32 39 … … 120 127 \input{background} 121 128 \input{generic-types} 129 \input{resolution-heuristics} 122 130 \input{type-environment} 123 \input{resolution-heuristics}124 131 \input{conclusion} 125 132 -
doc/theses/aaron_moss_PhD/phd/type-environment.tex
rff5caaf r95b8aa7 2 2 \label{env-chap} 3 3 4 Talk about the type environment data structure. Pull from your presentation. 4 One key data structure for expression resolution is the \emph{type environment}. 5 As discussed in Chapter~\ref{resolution-chap}, being able to efficiently determine which type variables are bound to which concrete types or whether two type environments are compatible is a core requirement of the resolution algorithm. 6 Furthermore, expression resolution involves a search through many related possible solutions, so being able to re-use shared subsets of type environment data and to switch between environments quickly is desirable for performance. 7 In this chapter I discuss and empirically compare a number of type environment data structure variants, including some novel variations on the union-find\cite{Galler64} data structure introduced in this thesis. 8 9 \section{Definitions} \label{env-defn-sec} 10 11 For purposes of this chapter, a \emph{type environment} $T$ is a set of \emph{type classes} $\myset{T_1, T_2, \cdots, T_{|T|}}$. 12 Each type class $T_i$ contains a set of \emph{type variables} $\myset{v_{i,1}, v_{i,2}, \cdots, v_{i,|T_i|}}$; note that the sets of variables contained in two distinct classes in the same environment must be disjoint. 13 Each individual type class $T_i$ may also be associated with a \emph{bound}, $b_i$; this bound contains the \emph{bound type} which the variables in the type class are replaced with, but also includes other information in \CFACC{}, including whether type conversions are permissible on the bound type and what sort of type variables are contained in the class (data types, function types, or variadic tuples). 14 15 \begin{table} 16 \caption[Type environment operation summary]{Summary of type environment operations.} 17 \label{env-op-table} 18 \centering 19 \begin{tabular}{r@{\hskip 0.25em}ll} 20 $find(T, v_{i,j})$ & $\rightarrow T_i | \bot$ & Locate class for variable \\ 21 $report(T_i)$ & $\rightarrow \{ v_{i,j} \cdots \}$ & List variables for class \\ 22 $bound(T_i)$ & $\rightarrow b_i | \bot$ & Get bound for class \\ 23 $insert(v_{i,1})$ & & New single-variable class \\ 24 $add(T_i, v_{i,j})$ & & Add variable to class \\ 25 $bind(T_i, b_i)$ & & Set or update class bound \\ 26 $unify(T, T_i, T_j)$ & $\rightarrow \top | \bot$ & Combine two type classes \\ 27 $split(T, T_i)$ & $\rightarrow T'$ & Revert the last $unify$ operation on $T_i$ \\ 28 $combine(T, T')$ & $\rightarrow \top | \bot$ & Merge two environments \\ 29 $save(T)$ & $\rightarrow H$ & Get handle for current state \\ 30 $backtrack(T, H)$ & & Return to handle state 31 \end{tabular} 32 \end{table} 33 34 Given this basic structure, type environments in \CFACC{} need to support eleven basic operations, summarized in Table~\ref{env-op-table}. 35 The first seven operations are straightforward queries and updates on these data structures: 36 The lookup operation $find(T, v_{i,j})$ produces $T_i$, the type class in $T$ which contains variable $v_{i,j}$, or an invalid sentinel value for no such class. 37 The other two query operations act on type classes, where $report(T_i)$ produces the set $\myset{v_{i,1}, v_{i,2}, \cdots, v_{i,|T_i|}}$ of all type variables in a class $T_i$ and $bound(T_i)$ produces the bound $b_i$ of that class, or a sentinel indicating no bound is set. 38 39 The update operation $insert(T, v_{i,1})$ creates a new type class $T_i$ in $T$ that contains only the variable $v_{i,1}$ and no bound; due to the disjointness property $v_{i,1}$ cannot belong to any other type class in $T$. 40 The $add(T_i, v_{i,j})$ operation adds a new type variable $v_{i,j}$ to class $T_i$; again, $v_{i,j}$ cannot exist elsewhere in $T$. 41 $bind(T_i, b_i)$ mutates the bound for a type class, setting or updating the current bound. 42 43 The $unify$ operation is the fundamental non-trivial operation a type environment data structure must support. 44 $unify(T, T_i, T_j)$ merges a type class $T_j$ into another $T_i$, producing a failure result and leaving $T$ in an invalid state if this merge fails. 45 It is always possible to unify the type variables of both classes by simply taking the union of both sets; given the disjointness property, no checks for set containment are required, and the variable sets can simply be concatenated if supported by the underlying data structure. 46 $unify$ depends on an internal $unifyBound$ operation which may fail. 47 In \CFACC{}, $unifyBound(b_i, b_j) \rightarrow b'_i|\bot$ checks that the type classes contain the same sort of variable, takes the tighter of the two conversion permissions, and checks if the bound types can be unified. 48 If the bound types cannot be unified (\eg{} !struct A! with !int*!), then $unifyBound$ fails, while other combinations of bound types may result in recursive calls. 49 For instance, unifying !R*! with !S*! for type variables !R! and !S! will result in a call to $unify(T, find($!R!$), find($!S!$))$, while unifying !R*! with !int*! will result in a call to $unifyBound$ on !int! and the bound type of the class containing !R!. 50 As such, a call to $unify(T, T_i, T_j)$ may touch every type class in $T$, not just $T_i$ and $T_j$, collapsing the entirety of $T$ into a single type class in extreme cases. 51 For more information on \CFA{} unification, see \cite{Bilson03}. 52 The inverse of $unify$ is $split(T, T_i)$, which produces a new environment $T'$ which is the same as $T$ except that $T_i$ has been replaced by two classes corresponding to the arguments to the previous call to $unify$ on $T_i$. 53 If there has been no call to $unify$ on $T_i$ (\ie{} $T_i$ is a single-element class) $T_i$ is absent in $T'$. 54 55 Given the nature of the expression resolution problem as backtracking search, caching and concurrency are both useful tools to decrease runtime. 56 However, both of these approaches may produce multiple distinct descendants of the same initial type environment, which have possibly been mutated in incompatible ways. 57 As such, to effectively employ either concurrency or caching, the type environment data structure must support an efficient method to check if two type environments are compatible and merge them if so. 58 $combine(T,T')$ attempts to merge an environment $T'$ into another environment $T$, producing $\top$ if successful or leaving $T$ in an invalid state and producing $\bot$ otherwise. 59 The invalid state of $T$ on failure is not important, given that a combination failure will result in the resolution algorithm backtracking to a different environment. 60 $combine$ proceeds by calls to $insert$, $add$, and $unify$ as needed, and can be roughly thought of as calling $unify$ on every pair of classes in $T$ that have variables $v'_{i,j}$ and $v'_{i,k}$ in the same class $T'_i$ in $T'$. 61 Like $unify$, $combine$ can always find a mutually-consistent partition of type variables into classes (in the extreme case, all type variables from $T$ and $T'$ in a single type class), but may fail due to inconsistent bounds on merged type classes. 62 63 Finally, the backtracking access patterns of the compiler can be exploited to reduce memory usage or runtime through use of an appropriately designed data structure. 64 The set of mutations to a type environment across the execution of the resolution algorithm produce an implicit tree of related environments, and the backtracking search typically focuses only on one leaf of the tree at once, or at most a small number of closely-related nodes as arguments to $combine$. 65 As such, the ability to save and restore particular type environment states is useful, and supported by the $save(T) \rightarrow H$ and $backtrack(T, H)$ operations, which produce a handle for the current environment state and mutate an environment back to a previous state, respectively. 66 These operations can be naively implemented by a deep copy of $T$ into $H$ and vice versa, but have more efficient implementations in persistency-aware data structures. 67 68 \section{Approaches} 69 70 \subsection{Na\"{\i}ve} 71 72 The type environment data structure used in Bilson's\cite{Bilson03} original implementation of \CFACC{} is a straightforward translation of the definitions in Section~\ref{env-defn-sec} to \CC{} code; a !TypeEnvironment! contains a list of !EqvClass! type equivalence classes, each of which contains the type bound information and a tree-based sorted set of type variables. 73 This approach has the benefit of being easy to understand and not imposing life-cycle or inheritance constraints on its use, but, as can be seen in Table~\ref{env-bounds-table}, does not support many of the desired operations with any particular efficiency. 74 Some variations on this structure may improve performance somewhat; for instance, replacing the !EqvClass! variable storage with a hash-based set would reduce search and update times from $O(\log n)$ to amortized $O(1)$, while adding an index for the type variables in the entire environment would remove the need to check each type class individually to maintain the disjointness property. 75 These improvements do not change the fundamental issues with this data structure, however. 76 77 \subsection{Incremental Inheritance} 78 79 One more invasive modification to this data structure which I investigated is to support swifter combinations of closely-related environments in the backtracking tree by storing a reference to a \emph{parent} environment within each environment, and having that environment only store type classes which have been modified with respect to the parent. 80 This approach provides constant-time copying of environments, as a new environment simply consists of an empty list of type classes and a reference to its (logically identical) parent; since many type environments are no different than their parent, this speeds backtracking in this common case. 81 Since all mutations made to a child environment are by definition compatible with the parent environment, two descendants of a common ancestor environment can be combined by iteratively combining the changes made in one environment then that environment's parent until the common ancestor is reached, again re-using storage and reducing computation in many cases. 82 83 For this environment I also employed a lazily-generated index of type variables to their containing class, which could be in either the current environment or an ancestor. 84 Any mutation of a type class in an ancestor environment would cause that class to be copied into the current environment before mutation, as well as added to the index, ensuring that all local changes to the type environment are listed in its index. 85 However, not adding type variables to the index until lookup or mutation preserves the constant-time environment copy operation in the common case in which the copy is not mutated from its parent during its life-cycle. 86 87 This approach imposes some performance penalty on $combine$ if related environments are not properly linked together, as the entire environment needs to be combined rather than just the diff, but is correct as long as the ``null parent'' base case is properly handled. 88 The life-cycle issues are somewhat more complex, as many environments may descend from a common parent, and all of these need their parent to stay alive for purposes of lookup. 89 These issues can be solved by ``flattening'' parent nodes into their children before the parents leave scope, but given the tree structure of the inheritance graph it is more straightforward to store the parent nodes in reference-counted or otherwise automatically garbage-collected heap storage. 90 91 \subsection{Union-Find} \label{env-union-find-approach} 92 93 Given the nature of the classes of type variables as disjoint sets, another natural approach to implementing a type environment is the union-find disjoint set data structure\cite{Galler64}. 94 Union-find efficiently implements two operations over a partition of a collection of elements into disjoint sets; $find(x)$ locates the \emph{representative} of $x$, the element which canonically names its set, while $union(r, s)$ merges two sets represented by $r$ and $s$, respectively. 95 The union-find data structure is based on providing each element with a reference to its parent element, such that the root of a tree of elements is the representative of the set of elements contained in the tree. 96 $find$ is then implemented by a search up to the parent, generally combined with a \emph{path compression} step that links nodes more directly to their ancestors to speed up subsequent searches. 97 $union$ involves making the representative of one set a child of the representative of the other, generally employing a rank- or size-based heuristic to ensure that the tree remains somewhat balanced. 98 If both path compression and a balancing heuristic are employed, both $union$ and $find$ run in amortized $O(\alpha(n))$ worst-case time; this bound by the inverse Ackermann function is a small constant for all practical values of $n$. 99 100 The union-find $find$ and $union$ operations have obvious applicability to the $find$ and $unify$ type environment operations in Table~\ref{env-op-table}, but the union-find data structure must be augmented to fully implement the type environment operations. 101 In particular, the type class bound cannot be easily included in the union-find data structure, as the requirement to make it the class representative breaks the balancing properties of $union$, and requires too-close integration of the type environment $unifyBound$ internal operation. 102 This issue can be solved by including a side map from class representatives to the type class bound. 103 If placeholder values are inserted in this map for type classes without bounds than this also has the useful property that the key set of the map provides an easily obtainable list of all the class representatives, a list which cannot be derived from the union-find data structure without a linear search for class representatives through all elements. 104 105 \subsection{Union-Find with Classes} \label{env-union-find-classes-approach} 106 107 Another type environment operation not supported directly by the union-find data structure is $report$, which lists the type variables in a given class, and similarly $split$, which reverts a $unify$ operation. 108 Since the union-find data structure stores only links from children to parents and not vice-versa, there is no way to reconstruct a class from one of its elements without a linear search over the entire data structure, with $find$ called on each element to check its membership in the class. 109 The situation is even worse for the $split$ operation, which would require extra information to maintain the order that each child was added to its parent node. 110 Unfortunately, the literature\cite{Tarjan84,Galil91,Patwary10} on union-find does not present a way to keep references to children without breaking the asymptotic time bounds of the algorithm; I have discovered a method to do so which, despite its simplicity, seems to be novel. 111 112 \TODO{port figure from slideshow} 113 114 The core idea of this ``union-find with classes'' data structure and algorithm is to keep the members of each class stored in a circularly-linked list. 115 Aho, Hopcroft, and Ullman also include a circularly-linked list in their 1974 textbook~\cite{Aho74}. 116 However, the algorithm presented by Aho~\etal{} has an entirely flat class hierarchy, where all elements are direct children of the representative, giving constant-time $find$ at the cost of linear-time $union$ operations. 117 In my version, the list data structure does not affect the layout of the union-find tree, maintaining the same asymptotic bounds as union-find. 118 In more detail, each element is given a !next! pointer to another element in the same class; this !next! pointer initially points to the element itself. 119 When two classes are unified, the !next! pointers of the representatives of those classes are swapped, splicing the two circularly-linked lists together. 120 Importantly, though this approach requires an extra pointer per element, it does maintain the linear space bound of union-find, and because it only requires updating the two root nodes in $union$ it does not asymptotically increase runtime either. 121 The basic approach is compatible with all path-compression techniques, and allows the members of any class to be retrieved in time linear in the size of the class simply by following the !next! pointers from any element. 122 123 If the path-compression optimization is abandoned, union-find with classes also encodes a reversible history of all the $union$ operations applied to a given class. 124 Theorem~\ref{env-reverse-thm} demonstrates that the !next! pointer of the representative of a class always points to a leaf from the last-added subtree. 125 This property is sufficient to reverse the most-recent $union$ operation by finding the ancestor of that leaf that is an immediate child of the representative, breaking its parent link, and swapping the !next! pointers back\footnote{Union-by-size may be a more appropriate approach than union-by-rank in this instance, as adding two known sizes is a reversible operation, but the rank increment operation cannot be reliably reversed.}. 126 Once the $union$ operation has been reversed, Theorem~\ref{env-reverse-thm} still holds for the reduced class, and the process can be repeated recursively until the entire set is split into its component elements. 127 128 \begin{theorem} \label{env-reverse-thm} 129 The !next! pointer of a class representative in the union-find with classes algorithm without path compression points to a leaf from the most-recently-added subtree. 130 \end{theorem} 131 132 \begin{proof} 133 By induction on the height of the tree. \\ 134 \emph{Base case:} A height 1 tree by definition includes only a single item. In such a case, the representative's !next! pointer points to itself by construction, and the representative is the most-recently-added (and only) leaf in the tree. \\ 135 \emph{Inductive case:} By construction, a tree $T$ of height greater than 1 has children of the root (representative) node that were representative nodes of classes merged by $union$. By definition, the most-recently-added subtree $T'$ has a smaller height than $T$, thus by the inductive hypothesis before the most-recent $union$ operation the !next! pointer of the root of $T'$ pointed to one of the leaf nodes of $T'$; by construction the !next! pointer of the root of $T$ points to this leaf after the $union$ operation. 136 \end{proof} 137 138 On its own, union-find, like the na\"{\i}ve approach, has no special constraints on life-cycle or inheritance, but it can be used as a building block in more sophisticated type environment data structures. 139 140 \subsection{Persistent Union-Find} 141 142 Given the backtracking nature of the resolution algorithm discussed in Section~\ref{env-defn-sec}, the abilities to quickly switch between related versions of a type environment and to de-duplicate shared data between environments are both assets to performance. 143 Conchon and Filli\^{a}tre~\cite{Conchon07} present a persistent union-find data structure based on the persistent array of Baker~\cite{Baker78,Baker91}. 144 145 \TODO{port figure from slideshow} 146 147 In Baker's persistent array, an array reference contains either a pointer to the array or a pointer to an \emph{edit node}; these edit nodes contain an array index, the value in that index, and another array reference pointing either to the array or a different edit node. 148 In this manner, a tree of edits is formed, rooted at the actual array. 149 Read from the actual array at the root can be performed in constant time, as with a non-persistent array. 150 The persistent array can be mutated in constant time by directly modifying the underlying array, then replacing its array reference with an edit node containing the mutated index, the previous value at that index, and a reference to the mutated array. If the current array reference is not the root, mutation consists simply of constructing a new edit node encoding the change and referring to the current array reference. 151 The mutation algorithm at the root is in some sense a special case of the key operation on persistent arrays, $reroot$. 152 153 A rerooting operation takes any array reference and makes it the root node of the array. 154 This is accomplished by tracing the path from some edit node to the root node of the array (always the underlying array), recursively applying the edits to the underlying array and replacing each edit node's successor with the inverse edit. 155 In this way, any previous state of the persistent array can be restored in time proportional to the number of edits to the current state of the array. 156 While $reroot$ does maintain the same value mapping in every version of the persistent array, the internal mutations it performs means that it is not thread-safe, and must be used behind a lock in a concurrent context. 157 Also, the root node with the actual array may in principle be anywhere in the tree, and does not provide information to report its leaf nodes, so some form of automatic garbage collection is generally required for the data structure. 158 Since the graph of edit nodes is tree-structured, reference counting approaches suffice for garbage collection; Conchon and Filli\^{a}tre~\cite{Conchon07} also observe that if the only $reroot$ operations are for backtracking then the tail of inverse edit nodes may be elided, suggesting the possibility of stack-based memory management. 159 160 While Conchon and Filli\^{a}tre~\cite{Conchon07} implement their persistent union-find data structure over a universe of integer elements in the fixed range $[1,N]$, the type environment problem needs more flexibility. 161 In particular, an arbitrary number of type variables must be added to the environment. 162 As such, a persistent hash table is a more suitable structure than a persistent array, providing the same expected asymptotic time bounds while allowing a dynamic number of elements. 163 Besides replacing the underlying array with a hash table, the other major change in this approach is to replace the two types of array references, !Array! and !Edit!, with four node types, !Table!, !Edit!, !Add!, and !Remove!, where !Add! adds a new key-value pair, !Remove! removes a key, and !Edit! mutates an existing key-value pair. 164 In this variant of \CFACC{}, this persistent hash table is used as the side map discussed in Section~\ref{env-union-find-approach} for class bounds. 165 The actual union-find data structure is slightly modified from this approach, with a !Base! node containing the root union-find data structure, !Add! nodes adding new elements, !AddTo! nodes defining the union of two type classes, and !Remove! and !RemoveFrom! nodes as inverses of the previous two elements, for purposes of maintaining the edit list. 166 Making !AddTo! and !RemoveFrom! single nodes shortens the edit path for improved performance, while also providing semantic information missing from the raw array updates in Conchon and Filli\^{a}tre's data structure. 167 The single-node approach, does, however, break under most path-compression algorithms; !RemoveFrom! can be applied to the underlying data structure using the ``leaf of last union'' approach discussed in in Section~\ref{env-union-find-classes-approach}; this was judged an acceptable trade-off for the added semantic information and shortened paths. 168 169 Maintaining explicit information on $union$ operations in the persistent union-find edit tree in the form of !AddTo! and !RemoveFrom! nodes exposes a new option for combining type environments. 170 If the type environments are part of the same edit tree, one environment $T'$ can be combined with another $T$ by only testing the edits on the path from $T'$ to $T$ in both the persistent union-find data structure describing the classes and the persistent hash table containing the class bounds. 171 This is generally more efficient than testing the compatibility of all type classes in $T'$, as only those that are actually different than those in $T$ must be considered. 172 173 The procedure for $combine(T, T')$ based on edit paths is as follows: 174 The shared edit trees for classes and bindings are rerooted at $T$, and the path from $T'$ to $T$ is followed to create a list of actual edits. 175 By tracking the state of each element, redundant changes such as an !Edit! followed by an !Edit! can be reduced to their form in $T'$ by dropping the later (more like $T$) !Edit! for the same key; !Add! and !Remove! cancel similarly. 176 This procedure is repeated for both the class edit tree and the binding edit tree. 177 When the list of net changes to the environment has been produced, the additive changes are applied to $T$. 178 For example, if a type class exists in $T'$ but not $T$, the corresponding !Add! edit will be applied to $T$, but in the reverse situation the !Remove! edit will not be applied to $T$, as the intention is to produce a new environment representing the union of the two sets of type classes; similarly, !AddTo! edits are applied to unify type-classes in $T$ that are united in $T'$, but !RemoveFrom! edits that split type classes are not. 179 The new environment, $T''$ can always be constructed with a consistent partitioning of type variables; in the extreme case, all variables from both $T$ and $T'$ will be united in a single type class in $T''$. 180 Where $combine$ can fail is in unifying the bound types; if any class in $T'$ has a class bound which does not unify with the merged class in $T''$ than $combine$ fails. 181 182 \section{Analysis} 183 184 In this section I present asymptotic analyses of the various approaches to a type environment data structure discussed in the previous section. 185 186 \begin{table} 187 \caption[Type environment operation bounds]{Worst-case analysis of type environment operations. $n$ is the number of type classes, $m$ the maximum size of a type class, and $p$ the edit distance between two environments or a single environment and the empty environment; $u(n)$ captures the recursive cost of class unification.} 188 \label{env-bounds-table} 189 \centering 190 \begin{tabular}{rllll} 191 \hline 192 & \textbf{Na\"{\i}ve} & \textbf{Incremental} & \textbf{Union-Find} & \textbf{U-F with Classes} \\ 193 \hline 194 $find$ & $O(n)$ & $O(p)$ & $O(\alpha(m))$ & $O(\log m)$ \\ 195 $report$ & $O(m)$ & $O(m)$ & $O(n \log m)$ & $O(m)$ \\ 196 $bound$ & $O(1)$ & $O(1)$ & $O(1)$ & $O(1)$ \\ 197 $insert$ & $O(1)$ & $O(1)$ & $O(1)$ & $O(1)$ \\ 198 $add$ & $O(1)$ & $O(1)$ & $O(1)$ & $O(1)$ \\ 199 $bind$ & $O(1)$ & $O(1)$ & $O(1)$ & $O(1)$ \\ 200 $unify$ & $O(m + u(n))$ & $O(m + u(n))$ & $O(\log m + u(n))$ & $O(\log m + u(n))$ \\ 201 $split$ & --- & --- & --- & $O(\log m)$ \\ 202 $combine$ & $O(nm \cdot u(n))$ & $O(pm \cdot u(n))$ & $O(n \log m \cdot u(n))$ & $O(p \log m \cdot u(n))$ \\ 203 $save$ & $O(nm)$ & $O(1)$ & $O(nm)$ & $O(1)$ \\ 204 $backtrack$ & $O(nm)$ & $O(pm)$ & $O(nm)$ & $O(p)$ \\ 205 \hline 206 \end{tabular} 207 \end{table} 208 209 % Future work: design multi-threaded version of C&F persistent map --- core idea is some sort of thread-boundary edit node -
doc/user/Makefile
rff5caaf r95b8aa7 79 79 ## Define the default recipes. 80 80 81 ${Build} :81 ${Build} : 82 82 mkdir -p ${Build} 83 83 -
doc/user/user.tex
rff5caaf r95b8aa7 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Fri Aug 31 07:54:50201814 %% Update Count : 3 39613 %% 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} … … 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} … … 547 547 548 548 549 %\subsection{\texorpdfstring{\protect\lstinline@for@ Statement}{for Statement}} 550 \subsection{\texorpdfstring{\LstKeywordStyle{for} Statement}{for Statement}} 549 \subsection{Loop Control} 551 550 552 551 The ©for©/©while©/©do-while© loop-control allows empty or simplified ranges. … … 557 556 the down-to range ©-~=©\index{-~=@©-~=©} means inclusive range [N,M]. 558 557 ©0© is the implicit start value; 559 ©1© is the implicit increment value for an up-to range and ©-1© for an implicit down-to range. 558 ©1© is the implicit increment value. 559 The up-to range uses ©+=© for increment; 560 the down-to range uses ©-=© for decrement. 560 561 The loop index is polymorphic in the type of the start value or comparison value when start is implicitly ©0©. 561 562 \begin{cquote} 562 563 \begin{tabular}{@{}ll|l@{}} 563 \multicolumn{2}{c|}{ forcontrol} & \multicolumn{1}{c}{output} \\564 \multicolumn{2}{c|}{loop control} & \multicolumn{1}{c}{output} \\ 564 565 \hline 565 566 \begin{cfa} … … 571 572 for ( ®10® ) { sout | "A"; } 572 573 for ( ®1 ~= 10 ~ 2® ) { sout | "B"; } 573 for ( ®10 -~= 1 ~ -2® ) { sout | "C"; }574 for ( ®10 -~= 1 ~ 2® ) { sout | "C"; } 574 575 for ( ®0.5 ~ 5.5® ) { sout | "D"; } 575 576 for ( ®5.5 -~ 0.5® ) { sout | "E"; } 576 577 for ( ®i; 10® ) { sout | i; } 577 578 for ( ®i; 1 ~= 10 ~ 2® ) { sout | i; } 578 for ( ®i; 10 -~= 1 ~ -2® ) { sout | i; }579 for ( ®i; 10 -~= 1 ~ 2® ) { sout | i; } 579 580 for ( ®i; 0.5 ~ 5.5® ) { sout | i; } 580 581 for ( ®i; 5.5 -~ 0.5® ) { sout | i; } 581 582 for ( ®ui; 2u ~= 10u ~ 2u® ) { sout | ui; } 582 for ( ®ui; 10u -~= 2u ~ -2u® ) { sout | ui; } 583 int start = 3, comp = 10, inc = 2; 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; 584 589 for ( ®i; start ~ comp ~ inc + 1® ) { sout | i; } 585 590 \end{cfa} 586 591 & 587 592 \begin{cfa} 588 sout | endl; 589 sout | endl; 590 sout | endl; 591 sout | endl; 592 sout | endl; 593 sout | endl; 594 sout | endl; 595 sout | endl; 596 sout | endl; 597 sout | endl; 598 sout | endl; 599 sout | endl; 600 sout | endl; 601 sout | endl; 602 sout | endl; 603 sout | endl; 604 sout | endl; 605 606 sout | endl; 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; 607 616 \end{cfa} 608 617 & … … 611 620 empty 612 621 empty 613 622 zero 614 623 A 615 624 A A A A A A A A A A … … 625 634 2 4 6 8 10 626 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 627 640 628 641 3 6 9 … … 2446 2459 int bar( int p ) { 2447 2460 ®i® += 1; §\C{// dependent on local variable}§ 2448 sout | ®i® | endl;2461 sout | ®i®; 2449 2462 } 2450 2463 return bar; §\C{// undefined because of local dependence}§ … … 2452 2465 int main() { 2453 2466 * [int]( int ) fp = foo(); §\C{// int (* fp)( int )}§ 2454 sout | fp( 3 ) | endl;2467 sout | fp( 3 ); 2455 2468 } 2456 2469 \end{cfa} … … 3218 3231 \begin{cfa} 3219 3232 int x = 1, y = 2, z = 3; 3220 sout | x ®|® y ®|® z | endl;3233 sout | x ®|® y ®|® z; 3221 3234 \end{cfa} 3222 3235 & … … 3239 3252 \begin{cfa} 3240 3253 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3241 sout | t1 | t2 | endl;§\C{// print tuples}§3254 sout | t1 | t2; §\C{// print tuples}§ 3242 3255 \end{cfa} 3243 3256 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3251 3264 & 3252 3265 \begin{cfa} 3253 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); 3254 3267 \end{cfa} 3255 3268 \\ … … 3277 3290 A separator does not appear at the start or end of a line. 3278 3291 \begin{cfa}[belowskip=0pt] 3279 sout | 1 | 2 | 3 | endl;3292 sout | 1 | 2 | 3; 3280 3293 \end{cfa} 3281 3294 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3286 3299 A separator does not appear before or after a character literal or variable. 3287 3300 \begin{cfa} 3288 sout | '1' | '2' | '3' | endl;3301 sout | '1' | '2' | '3'; 3289 3302 123 3290 3303 \end{cfa} … … 3293 3306 A separator does not appear before or after a null (empty) C string. 3294 3307 \begin{cfa} 3295 sout | 1 | "" | 2 | "" | 3 | endl;3308 sout | 1 | "" | 2 | "" | 3; 3296 3309 123 3297 3310 \end{cfa} … … 3303 3316 \begin{cfa}[mathescape=off] 3304 3317 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3305 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;3318 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10; 3306 3319 \end{cfa} 3307 3320 %$ … … 3317 3330 \begin{cfa}[belowskip=0pt] 3318 3331 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 3319 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl;3332 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x"; 3320 3333 \end{cfa} 3321 3334 \begin{cfa}[basicstyle=\tt,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3327 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@ 3328 3341 \begin{cfa}[belowskip=0pt] 3329 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"; 3330 3343 \end{cfa} 3331 3344 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3336 3349 If a space is desired before or after one of the special string start/end characters, simply insert a space. 3337 3350 \begin{cfa}[belowskip=0pt] 3338 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; 3339 3352 \end{cfa} 3340 3353 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3353 3366 \begin{cfa}[mathescape=off,belowskip=0pt] 3354 3367 sepSet( sout, ", $" ); §\C{// set separator from " " to ", \$"}§ 3355 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" | endl;3368 sout | 1 | 2 | 3 | " \"" | ®sep® | "\""; 3356 3369 \end{cfa} 3357 3370 %$ … … 3362 3375 \begin{cfa}[belowskip=0pt] 3363 3376 sepSet( sout, " " ); §\C{// reset separator to " "}§ 3364 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" | endl;3377 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\""; 3365 3378 \end{cfa} 3366 3379 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3372 3385 strcpy( store, sepGet( sout ) ); §\C{// copy current separator}§ 3373 3386 sepSet( sout, "_" ); §\C{// change separator to underscore}§ 3374 sout | 1 | 2 | 3 | endl;3387 sout | 1 | 2 | 3; 3375 3388 \end{cfa} 3376 3389 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3379 3392 \begin{cfa}[belowskip=0pt] 3380 3393 sepSet( sout, store ); §\C{// change separator back to original}§ 3381 sout | 1 | 2 | 3 | endl;3394 sout | 1 | 2 | 3; 3382 3395 \end{cfa} 3383 3396 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3390 3403 \begin{cfa}[belowskip=0pt] 3391 3404 sepSetTuple( sout, " " ); §\C{// set tuple separator from ", " to " "}§ 3392 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" | endl;3405 sout | t1 | t2 | " \"" | ®sepTuple® | "\""; 3393 3406 \end{cfa} 3394 3407 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3397 3410 \begin{cfa}[belowskip=0pt] 3398 3411 sepSetTuple( sout, ", " ); §\C{// reset tuple separator to ", "}§ 3399 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" | endl;3412 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\""; 3400 3413 \end{cfa} 3401 3414 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3407 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. 3408 3421 \begin{cfa}[belowskip=0pt] 3409 sout | sepDisable | 1 | 2 | 3 | endl;§\C{// globally turn off implicit separator}§3422 sout | sepDisable | 1 | 2 | 3; §\C{// globally turn off implicit separator}§ 3410 3423 \end{cfa} 3411 3424 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3413 3426 \end{cfa} 3414 3427 \begin{cfa}[belowskip=0pt] 3415 sout | sepEnable | 1 | 2 | 3 | endl; §\C{// globally turn on implicit separator}§3428 sout | sepEnable | 1 | 2 | 3; §\C{// globally turn on implicit separator}§ 3416 3429 \end{cfa} 3417 3430 \begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3422 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. 3423 3436 \begin{cfa}[belowskip=0pt] 3424 sout | 1 | sepOff | 2 | 3 | endl; §\C{// locally turn off implicit separator}§3437 sout | 1 | sepOff | 2 | 3; §\C{// locally turn off implicit separator}§ 3425 3438 \end{cfa} 3426 3439 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3428 3441 \end{cfa} 3429 3442 \begin{cfa}[belowskip=0pt] 3430 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}§ 3431 3444 \end{cfa} 3432 3445 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3435 3448 The tuple separator also responses to being turned on and off. 3436 3449 \begin{cfa}[belowskip=0pt] 3437 sout | t1 | sepOff | t2 | endl; §\C{// locally turn on/off implicit separator}§3450 sout | t1 | sepOff | t2; §\C{// locally turn on/off implicit separator}§ 3438 3451 \end{cfa} 3439 3452 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3443 3456 use ©sep© to accomplish this functionality. 3444 3457 \begin{cfa}[belowskip=0pt] 3445 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}§ 3446 3459 \end{cfa} 3447 3460 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3449 3462 \end{cfa} 3450 3463 \begin{cfa}[belowskip=0pt] 3451 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}§ 3452 3465 \end{cfa} 3453 3466 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3462 3475 int main( void ) { 3463 3476 int x = 1, y = 2, z = 3; 3464 sout | x | y | z | endl;3477 sout | x | y | z; 3465 3478 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3466 sout | t1 | t2 | endl; // print tuples3467 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl;3468 sout | 1 | 2 | 3 | endl;3469 sout | '1' | '2' | '3' | endl;3470 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; 3471 3484 sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥" 3472 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;3485 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10; 3473 3486 sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x" 3474 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl;3475 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl;3476 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; 3477 3490 3478 3491 sepSet( sout, ", $" ); // set separator from " " to ", $" 3479 sout | 1 | 2 | 3 | " \"" | sep | "\"" | endl;3492 sout | 1 | 2 | 3 | " \"" | sep | "\""; 3480 3493 sepSet( sout, " " ); // reset separator to " " 3481 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl;3494 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\""; 3482 3495 3483 3496 char store[sepSize]; 3484 3497 strcpy( store, sepGet( sout ) ); 3485 3498 sepSet( sout, "_" ); 3486 sout | 1 | 2 | 3 | endl;3499 sout | 1 | 2 | 3; 3487 3500 sepSet( sout, store ); 3488 sout | 1 | 2 | 3 | endl;3501 sout | 1 | 2 | 3; 3489 3502 3490 3503 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 3491 sout | t1 | t2 | " \"" | sepTuple | "\"" | endl;3504 sout | t1 | t2 | " \"" | sepTuple | "\""; 3492 3505 sepSetTuple( sout, ", " ); // reset tuple separator to ", " 3493 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl;3494 3495 sout | sepDisable | 1 | 2 | 3 | endl; // globally turn off implicit separator3496 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separator3497 3498 sout | 1 | sepOff | 2 | 3 | endl; // locally turn on implicit separator3499 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 3500 3513 sout | sepEnable; 3501 sout | t1 | sepOff | t2 | endl; // locally turn on/off implicit separator3502 3503 sout | sepOn | 1 | 2 | 3 | sepOn | endl; // sepOn does nothing at start/end of line3504 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 3505 3518 } 3506 3519 … … 4167 4180 Fibonacci f1, f2; 4168 4181 for ( int i = 1; i <= 10; i += 1 ) { 4169 sout | next( &f1 ) | ' ' | next( &f2 ) | endl;4182 sout | next( &f1 ) | ' ' | next( &f2 ); 4170 4183 } // for 4171 4184 } … … 4233 4246 MyThread f[4]; 4234 4247 } 4235 sout | global.value | endl;4248 sout | global.value; 4236 4249 } 4237 4250 \end{cfa} … … 4311 4324 void main( First * this ) { 4312 4325 for ( int i = 0; i < 10; i += 1 ) { 4313 sout | "First : Suspend No." | i + 1 | endl;4326 sout | "First : Suspend No." | i + 1; 4314 4327 yield(); 4315 4328 } … … 4320 4333 wait( this->lock ); 4321 4334 for ( int i = 0; i < 10; i += 1 ) { 4322 sout | "Second : Suspend No." | i + 1 | endl;4335 sout | "Second : Suspend No." | i + 1; 4323 4336 yield(); 4324 4337 } … … 4327 4340 int main( void ) { 4328 4341 signal_once lock; 4329 sout | "User main begin" | endl;4342 sout | "User main begin"; 4330 4343 { 4331 4344 processor p; … … 4335 4348 } 4336 4349 } 4337 sout | "User main end" | endl;4350 sout | "User main end"; 4338 4351 } 4339 4352 \end{cfa} … … 5032 5045 void ?{}( Line * l ) { 5033 5046 l->lnth = 0.0; 5034 sout | "default" | endl;5047 sout | "default"; 5035 5048 } 5036 5049 … … 5039 5052 void ?{}( Line * l, float lnth ) { 5040 5053 l->lnth = lnth; 5041 sout | "lnth" | l->lnth | endl;5054 sout | "lnth" | l->lnth; 5042 5055 5043 5056 } … … 5045 5058 // destructor 5046 5059 void ^?() { 5047 sout | "destroyed" | endl;5060 sout | "destroyed"; 5048 5061 l.lnth = 0.0; 5049 5062 } … … 5791 5804 In particular, output of ©char© variable now print a character rather than the decimal ASCII value of the character. 5792 5805 \begin{cfa} 5793 sout | 'x' | " " | (int)'x' | endl;5806 sout | 'x' | " " | (int)'x'; 5794 5807 x 120 5795 5808 \end{cfa} … … 7021 7034 #include <gmp>§\indexc{gmp}§ 7022 7035 int main( void ) { 7023 sout | "Factorial Numbers" | endl;7036 sout | "Factorial Numbers"; 7024 7037 Int fact = 1; 7025 7038 7026 sout | 0 | fact | endl;7039 sout | 0 | fact; 7027 7040 for ( unsigned int i = 1; i <= 40; i += 1 ) { 7028 7041 fact *= i; 7029 sout | i | fact | endl;7042 sout | i | fact; 7030 7043 } 7031 7044 } -
driver/Makefile.am
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 // 6 // 7 7 // as.c -- map assembler file, scan for debug information. If found, expand file by one character and insert Cforall 8 8 // language code on the N line from the start of the debug information. 9 // 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Wed Aug 1 10:49:42 2018 … … 13 13 // Last Modified On : Sat Sep 8 08:40:16 2018 14 14 // Update Count : 97 15 // 15 // 16 16 17 17 #include <cstdio> // perror … … 45 45 46 46 if ( size ) { // cannot map 0 sized file 47 char * start = (char *)mmap( NULL, size , PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );47 char * start = (char *)mmap( NULL, size + 2, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); 48 48 if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); }; 49 49 … … 65 65 } // if 66 66 67 if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk67 if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk 68 68 } // if 69 69 -
driver/cfa.cc
rff5caaf r95b8aa7 403 403 404 404 // include the cfa library in case it's needed 405 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src" : "")) ).c_str(); 405 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src/.libs" : "")) ).c_str(); 406 nargs += 1; 407 args[nargs] = ( *new string( string("-Wl,-rpath," ) + libdir + (intree ? "/src/.libs" : "")) ).c_str(); 406 408 nargs += 1; 407 409 args[nargs] = "-lcfa"; -
examples/ArrayN.c
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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@ … … 232 242 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 233 243 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 244 CPP = @CPP@ 234 245 CPPFLAGS = @CPPFLAGS@ 235 246 CXX = @CXX@ 247 CXXCPP = @CXXCPP@ 236 248 CXXDEPMODE = @CXXDEPMODE@ 237 249 CXXFLAGS = @CXXFLAGS@ … … 239 251 DEFS = @DEFS@ 240 252 DEPDIR = @DEPDIR@ 253 DLLTOOL = @DLLTOOL@ 241 254 DRIVER_DIR = @DRIVER_DIR@ 255 DSYMUTIL = @DSYMUTIL@ 256 DUMPBIN = @DUMPBIN@ 242 257 ECHO_C = @ECHO_C@ 243 258 ECHO_N = @ECHO_N@ 244 259 ECHO_T = @ECHO_T@ 260 EGREP = @EGREP@ 245 261 EXEEXT = @EXEEXT@ 262 FGREP = @FGREP@ 263 GREP = @GREP@ 246 264 INSTALL = @INSTALL@ 247 265 INSTALL_DATA = @INSTALL_DATA@ … … 249 267 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 250 268 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 269 LD = @LD@ 251 270 LDFLAGS = @LDFLAGS@ 252 271 LIBOBJS = @LIBOBJS@ 253 272 LIBS = @LIBS@ 273 LIBTOOL = @LIBTOOL@ 274 LIPO = @LIPO@ 275 LN_S = @LN_S@ 254 276 LTLIBOBJS = @LTLIBOBJS@ 277 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 255 278 MAKEINFO = @MAKEINFO@ 279 MANIFEST_TOOL = @MANIFEST_TOOL@ 256 280 MKDIR_P = @MKDIR_P@ 281 NM = @NM@ 282 NMEDIT = @NMEDIT@ 283 OBJDUMP = @OBJDUMP@ 257 284 OBJEXT = @OBJEXT@ 285 OTOOL = @OTOOL@ 286 OTOOL64 = @OTOOL64@ 258 287 PACKAGE = @PACKAGE@ 259 288 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 265 294 PATH_SEPARATOR = @PATH_SEPARATOR@ 266 295 RANLIB = @RANLIB@ 296 SED = @SED@ 267 297 SET_MAKE = @SET_MAKE@ 268 298 SHELL = @SHELL@ … … 273 303 abs_top_builddir = @abs_top_builddir@ 274 304 abs_top_srcdir = @abs_top_srcdir@ 305 ac_ct_AR = @ac_ct_AR@ 275 306 ac_ct_CC = @ac_ct_CC@ 276 307 ac_ct_CXX = @ac_ct_CXX@ 308 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 277 309 am__include = @am__include@ 278 310 am__leading_dot = @am__leading_dot@ … … 281 313 am__untar = @am__untar@ 282 314 bindir = @bindir@ 315 build = @build@ 283 316 build_alias = @build_alias@ 317 build_cpu = @build_cpu@ 318 build_os = @build_os@ 319 build_vendor = @build_vendor@ 284 320 builddir = @builddir@ 285 321 datadir = @datadir@ … … 288 324 dvidir = @dvidir@ 289 325 exec_prefix = @exec_prefix@ 326 host = @host@ 290 327 host_alias = @host_alias@ 328 host_cpu = @host_cpu@ 329 host_os = @host_os@ 330 host_vendor = @host_vendor@ 291 331 htmldir = @htmldir@ 292 332 includedir = @includedir@ … … 314 354 top_srcdir = @top_srcdir@ 315 355 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 356 ACLOCAL_AMFLAGS = -I automake 316 357 SUBDIRS = prelude src # order important 317 358 all: all-recursive … … 351 392 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 352 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 353 403 354 404 # This directory's subdirectories are mostly independent; you can cd … … 683 733 clean: clean-recursive 684 734 685 clean-am: clean-generic mostlyclean-am735 clean-am: clean-generic clean-libtool mostlyclean-am 686 736 687 737 distclean: distclean-recursive 688 738 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 689 739 -rm -f Makefile 690 distclean-am: clean-am distclean-generic distclean-tags 740 distclean-am: clean-am distclean-generic distclean-libtool \ 741 distclean-tags 691 742 692 743 dvi: dvi-recursive … … 738 789 mostlyclean: mostlyclean-recursive 739 790 740 mostlyclean-am: mostlyclean-generic 791 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 741 792 742 793 pdf: pdf-recursive … … 754 805 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 755 806 am--refresh check check-am clean clean-cscope clean-generic \ 756 cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ 757 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ 758 distcheck distclean distclean-generic distclean-tags \ 759 distcleancheck distdir distuninstallcheck dvi dvi-am html \ 760 html-am info info-am install install-am install-data \ 761 install-data-am install-dvi install-dvi-am install-exec \ 762 install-exec-am install-html install-html-am install-info \ 763 install-info-am install-man install-pdf install-pdf-am \ 764 install-ps install-ps-am install-strip installcheck \ 765 installcheck-am installdirs installdirs-am maintainer-clean \ 766 maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ 767 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 768 820 769 821 .PRECIOUS: Makefile -
libcfa/aclocal.m4
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 … … 631 709 CFACPP 632 710 CFACC 711 CFA_VERSION 633 712 DRIVER_DIR 634 713 CONFIGURATION … … 705 784 enable_silent_rules 706 785 with_cfa_name 786 enable_shared 787 enable_static 788 with_pic 789 enable_fast_install 790 with_aix_soname 707 791 enable_dependency_tracking 792 with_gnu_ld 793 with_sysroot 794 enable_libtool_lock 708 795 ' 709 796 ac_precious_vars='build_alias … … 713 800 CONFIGURATION 714 801 DRIVER_DIR 715 CXX 716 CXXFLAGS 802 CFA_VERSION 803 CC 804 CFLAGS 717 805 LDFLAGS 718 806 LIBS 719 807 CPPFLAGS 808 LT_SYS_LIBRARY_PATH 809 CPP 810 CXX 811 CXXFLAGS 720 812 CCC 721 CC 722 CFLAGS 813 CXXCPP 723 814 CCAS 724 815 CCASFLAGS' … … 1335 1426 --program-suffix=SUFFIX append SUFFIX to installed program names 1336 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] 1337 1432 _ACEOF 1338 1433 fi … … 1350 1445 --enable-silent-rules less verbose build output (undo: "make V=1") 1351 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] 1352 1451 --enable-dependency-tracking 1353 1452 do not reject slow dependency extractors 1354 1453 --disable-dependency-tracking 1355 1454 speeds up one-time build 1455 --disable-libtool-lock avoid locking (might break parallel builds) 1356 1456 1357 1457 Optional Packages: … … 1359 1459 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1360 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). 1361 1469 1362 1470 Some influential environment variables: … … 1367 1475 deubg, nodebug, nolib (prelude-only) 1368 1476 DRIVER_DIR The path to the cforall driver directory 1369 CXX C++ compiler command 1370 CXXFLAGS C++ compiler flags 1477 CFA_VERSION The long version of cfa 1478 CC C compiler command 1479 CFLAGS C compiler flags 1371 1480 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a 1372 1481 nonstandard directory <lib dir> … … 1374 1483 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if 1375 1484 you have headers in a nonstandard directory <include dir> 1376 CC C compiler command 1377 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 1378 1491 CCAS assembler compiler command (defaults to CC) 1379 1492 CCASFLAGS assembler compiler flags (defaults to CFLAGS) … … 1458 1571 ## Autoconf initialization. ## 1459 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 1460 1834 1461 1835 # ac_fn_cxx_try_compile LINENO … … 1497 1871 } # ac_fn_cxx_try_compile 1498 1872 1499 # ac_fn_c _try_compileLINENO1500 # ------------------------ --1501 # Try to compileconftest.$ac_ext, and return whether this succeeded.1502 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 () 1503 1877 { 1504 1878 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1505 rm -f conftest.$ac_objext 1506 if { { ac_try="$ac_compile" 1879 if { { ac_try="$ac_cpp conftest.$ac_ext" 1507 1880 case "(($ac_try" in 1508 1881 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; … … 1511 1884 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1512 1885 $as_echo "$ac_try_echo"; } >&5 1513 (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 1514 1925 ac_status=$? 1515 1926 if test -s conftest.err; then … … 1520 1931 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1521 1932 test $ac_status = 0; } && { 1522 test -z "$ac_c _werror_flag" ||1933 test -z "$ac_cxx_werror_flag" || 1523 1934 test ! -s conftest.err 1524 } && 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 : 1525 1939 ac_retval=0 1526 1940 else … … 1530 1944 ac_retval=1 1531 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 1532 1951 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1533 1952 as_fn_set_status $ac_retval 1534 1953 1535 } # ac_fn_c _try_compile1954 } # ac_fn_cxx_try_link 1536 1955 cat >config.log <<_ACEOF 1537 1956 This file contains any messages produced by compilers while … … 1887 2306 1888 2307 ac_aux_dir= 1889 for ac_dir in ./automake "$srcdir"/./automake; do2308 for ac_dir in automake "$srcdir"/automake; do 1890 2309 if test -f "$ac_dir/install-sh"; then 1891 2310 ac_aux_dir=$ac_dir … … 1903 2322 done 1904 2323 if test -z "$ac_aux_dir"; then 1905 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 1906 2325 fi 1907 2326 … … 1913 2332 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. 1914 2333 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. 2334 1915 2335 1916 2336 … … 2507 2927 : ${CFLAGS=""} 2508 2928 2929 # define this to override 2930 AR_FLAGS="cr" 2931 2509 2932 # Allow program name tansformation 2510 2933 # will fill program_transform_name with appropriate sed regex … … 2515 2938 2516 2939 2940 2517 2941 CFACC=${DRIVER_DIR}cfa 2518 2942 CFACPP=${DRIVER_DIR}cfa-cpp 2943 2519 2944 2520 2945 … … 2546 2971 CONFIG_BUILDLIB="no" 2547 2972 ;; 2973 *) 2974 as_fn_error $? "'Invalid value $CONFIGURATION for \$CONFIGURATION'" "$LINENO" 5 2975 ;; 2548 2976 esac 2549 2977 … … 2648 3076 2649 3077 # Checks for programs. 2650 ac_ext=cpp 2651 ac_cpp='$CXXCPP $CPPFLAGS' 2652 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 2653 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 2654 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 2655 if test -z "$CXX"; then 2656 if test -n "$CCC"; then 2657 CXX=$CCC 2658 else 2659 if test -n "$ac_tool_prefix"; then 2660 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 2661 do 2662 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. 2663 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 2664 3314 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2665 3315 $as_echo_n "checking for $ac_word... " >&6; } 2666 if ${ac_cv_prog_C XX+:} false; then :3316 if ${ac_cv_prog_CC+:} false; then : 2667 3317 $as_echo_n "(cached) " >&6 2668 3318 else 2669 if test -n "$C XX"; then2670 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. 2671 3321 else 2672 3322 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2677 3327 for ac_exec_ext in '' $ac_executable_extensions; do 2678 3328 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2679 ac_cv_prog_C XX="$ac_tool_prefix$ac_prog"3329 ac_cv_prog_CC="${ac_tool_prefix}gcc" 2680 3330 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2681 3331 break 2 … … 2687 3337 fi 2688 3338 fi 2689 C XX=$ac_cv_prog_CXX2690 if test -n "$C XX"; then2691 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $C XX" >&52692 $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; } 2693 3343 else 2694 3344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2697 3347 2698 3348 2699 test -n "$CXX" && break 2700 done 2701 fi 2702 if test -z "$CXX"; then 2703 ac_ct_CXX=$CXX 2704 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 2705 do 2706 # Extract the first word of "$ac_prog", so it can be a program name with args. 2707 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 2708 3354 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2709 3355 $as_echo_n "checking for $ac_word... " >&6; } 2710 if ${ac_cv_prog_ac_ct_C XX+:} false; then :3356 if ${ac_cv_prog_ac_ct_CC+:} false; then : 2711 3357 $as_echo_n "(cached) " >&6 2712 3358 else 2713 if test -n "$ac_ct_C XX"; then2714 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. 2715 3361 else 2716 3362 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2721 3367 for ac_exec_ext in '' $ac_executable_extensions; do 2722 3368 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2723 ac_cv_prog_ac_ct_C XX="$ac_prog"3369 ac_cv_prog_ac_ct_CC="gcc" 2724 3370 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2725 3371 break 2 … … 2731 3377 fi 2732 3378 fi 2733 ac_ct_C XX=$ac_cv_prog_ac_ct_CXX2734 if test -n "$ac_ct_C XX"; then2735 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_C XX" >&52736 $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; } 2737 3383 else 2738 3384 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2740 3386 fi 2741 3387 2742 2743 test -n "$ac_ct_CXX" && break 2744 done 2745 2746 if test "x$ac_ct_CXX" = x; then 2747 CXX="g++" 3388 if test "x$ac_ct_CC" = x; then 3389 CC="" 2748 3390 else 2749 3391 case $cross_compiling:$ac_tool_warned in … … 2753 3395 ac_tool_warned=yes ;; 2754 3396 esac 2755 C XX=$ac_ct_CXX3397 CC=$ac_ct_CC 2756 3398 fi 2757 fi 2758 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 2759 3425 fi 2760 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 2761 3609 # Provide some information about the compiler. 2762 $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 2763 3611 set X $ac_compile 2764 3612 ac_compiler=$2 … … 2800 3648 # It will help us diagnose broken compilers, and finding out an intuition 2801 3649 # of exeext. 2802 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C ++compiler works" >&52803 $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; } 2804 3652 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` 2805 3653 … … 2871 3719 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2872 3720 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2873 as_fn_error 77 "C ++compiler cannot create executables3721 as_fn_error 77 "C compiler cannot create executables 2874 3722 See \`config.log' for more details" "$LINENO" 5; } 2875 3723 else … … 2877 3725 $as_echo "yes" >&6; } 2878 3726 fi 2879 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C ++compiler default output file name" >&52880 $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; } 2881 3729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 2882 3730 $as_echo "$ac_file" >&6; } … … 2972 3820 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2973 3821 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2974 as_fn_error $? "cannot run C ++compiled programs.3822 as_fn_error $? "cannot run C compiled programs. 2975 3823 If you meant to cross compile, use \`--host'. 2976 3824 See \`config.log' for more details" "$LINENO" 5; } … … 3034 3882 OBJEXT=$ac_cv_objext 3035 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 3036 12339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 3037 12340 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } … … 3154 12457 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3155 12458 ac_compiler_gnu=$ac_cv_c_compiler_gnu 3156 DEPDIR="${am__leading_dot}deps"3157 3158 ac_config_commands="$ac_config_commands depfiles"3159 3160 3161 am_make=${MAKE-make}3162 cat > confinc << 'END'3163 am__doit:3164 @echo this is the am__doit target3165 .PHONY: am__doit3166 END3167 # If we don't find an include directive, just comment out the code.3168 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&53169 $as_echo_n "checking for style of include used by $am_make... " >&6; }3170 am__include="#"3171 am__quote=3172 _am_result=none3173 # First try GNU make style include.3174 echo "include confinc" > confmf3175 # Ignore all kinds of additional output from 'make'.3176 case `$am_make -s -f confmf 2> /dev/null` in #(3177 *the\ am__doit\ target*)3178 am__include=include3179 am__quote=3180 _am_result=GNU3181 ;;3182 esac3183 # Now try BSD make style include.3184 if test "$am__include" = "#"; then3185 echo '.include "confinc"' > confmf3186 case `$am_make -s -f confmf 2> /dev/null` in #(3187 *the\ am__doit\ target*)3188 am__include=.include3189 am__quote="\""3190 _am_result=BSD3191 ;;3192 esac3193 fi3194 3195 3196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&53197 $as_echo "$_am_result" >&6; }3198 rm -f confinc confmf3199 3200 # Check whether --enable-dependency-tracking was given.3201 if test "${enable_dependency_tracking+set}" = set; then :3202 enableval=$enable_dependency_tracking;3203 fi3204 3205 if test "x$enable_dependency_tracking" != xno; then3206 am_depcomp="$ac_aux_dir/depcomp"3207 AMDEPBACKSLASH='\'3208 am__nodep='_no'3209 fi3210 if test "x$enable_dependency_tracking" != xno; then3211 AMDEP_TRUE=3212 AMDEP_FALSE='#'3213 else3214 AMDEP_TRUE='#'3215 AMDEP_FALSE=3216 fi3217 3218 3219 12459 3220 12460 depcc="$CXX" am_compiler_list= … … 3346 12586 3347 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 3348 15918 ac_ext=c 3349 15919 ac_cpp='$CPP $CPPFLAGS' … … 4206 16776 4207 16777 16778 4208 16779 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 4209 16780 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } … … 4235 16806 $as_echo "no" >&6; } 4236 16807 SET_MAKE="MAKE=${MAKE-make}" 4237 fi4238 4239 if test -n "$ac_tool_prefix"; then4240 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.4241 set dummy ${ac_tool_prefix}ranlib; ac_word=$24242 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54243 $as_echo_n "checking for $ac_word... " >&6; }4244 if ${ac_cv_prog_RANLIB+:} false; then :4245 $as_echo_n "(cached) " >&64246 else4247 if test -n "$RANLIB"; then4248 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.4249 else4250 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4251 for as_dir in $PATH4252 do4253 IFS=$as_save_IFS4254 test -z "$as_dir" && as_dir=.4255 for ac_exec_ext in '' $ac_executable_extensions; do4256 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4257 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"4258 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54259 break 24260 fi4261 done4262 done4263 IFS=$as_save_IFS4264 4265 fi4266 fi4267 RANLIB=$ac_cv_prog_RANLIB4268 if test -n "$RANLIB"; then4269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&54270 $as_echo "$RANLIB" >&6; }4271 else4272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54273 $as_echo "no" >&6; }4274 fi4275 4276 4277 fi4278 if test -z "$ac_cv_prog_RANLIB"; then4279 ac_ct_RANLIB=$RANLIB4280 # Extract the first word of "ranlib", so it can be a program name with args.4281 set dummy ranlib; ac_word=$24282 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54283 $as_echo_n "checking for $ac_word... " >&6; }4284 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :4285 $as_echo_n "(cached) " >&64286 else4287 if test -n "$ac_ct_RANLIB"; then4288 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.4289 else4290 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4291 for as_dir in $PATH4292 do4293 IFS=$as_save_IFS4294 test -z "$as_dir" && as_dir=.4295 for ac_exec_ext in '' $ac_executable_extensions; do4296 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4297 ac_cv_prog_ac_ct_RANLIB="ranlib"4298 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54299 break 24300 fi4301 done4302 done4303 IFS=$as_save_IFS4304 4305 fi4306 fi4307 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB4308 if test -n "$ac_ct_RANLIB"; then4309 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&54310 $as_echo "$ac_ct_RANLIB" >&6; }4311 else4312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54313 $as_echo "no" >&6; }4314 fi4315 4316 if test "x$ac_ct_RANLIB" = x; then4317 RANLIB=":"4318 else4319 case $cross_compiling:$ac_tool_warned in4320 yes:)4321 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&54322 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}4323 ac_tool_warned=yes ;;4324 esac4325 RANLIB=$ac_ct_RANLIB4326 fi4327 else4328 RANLIB="$ac_cv_prog_RANLIB"4329 16808 fi 4330 16809 … … 4502 16981 Usually this means the macro was only invoked conditionally." "$LINENO" 5 4503 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. 16985 Usually this means the macro was only invoked conditionally." "$LINENO" 5 16986 fi 4504 16987 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then 4505 16988 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. … … 5078 17561 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 5079 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 5080 17944 _ACEOF 5081 17945 … … 5087 17951 case $ac_config_target in 5088 17952 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 17953 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 5089 17954 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 5090 17955 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; … … 5612 18477 } 5613 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 ;; 5614 19189 5615 19190 esac -
libcfa/configure.ac
rff5caaf r95b8aa7 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 #============================================================================== … … 53 59 CONFIG_BUILDLIB="no" 54 60 ;; 61 *) 62 AC_MSG_ERROR('Invalid value $CONFIGURATION for \$CONFIGURATION') 63 ;; 55 64 esac 56 65 … … 70 79 71 80 # Checks for programs. 81 LT_INIT 82 72 83 AC_PROG_CXX 73 84 AC_PROG_CC 74 85 AM_PROG_AS 86 AC_PROG_LIBTOOL 75 87 AC_PROG_INSTALL 76 88 AC_PROG_MAKE_SET 77 AC_PROG_RANLIB78 89 79 90 AC_CONFIG_FILES([ -
libcfa/prelude/Makefile.am
rff5caaf r95b8aa7 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 … … 23 24 24 25 CC = @CFACC@ 25 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@26 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 26 27 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 27 28 -
libcfa/prelude/Makefile.in
rff5caaf r95b8aa7 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) … … 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@ … … 177 185 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 178 186 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 187 CPP = @CPP@ 179 188 CPPFLAGS = @CPPFLAGS@ 180 189 CXX = @CXX@ 190 CXXCPP = @CXXCPP@ 181 191 CXXDEPMODE = @CXXDEPMODE@ 182 192 CXXFLAGS = @CXXFLAGS@ … … 184 194 DEFS = @DEFS@ 185 195 DEPDIR = @DEPDIR@ 196 DLLTOOL = @DLLTOOL@ 186 197 DRIVER_DIR = @DRIVER_DIR@ 198 DSYMUTIL = @DSYMUTIL@ 199 DUMPBIN = @DUMPBIN@ 187 200 ECHO_C = @ECHO_C@ 188 201 ECHO_N = @ECHO_N@ 189 202 ECHO_T = @ECHO_T@ 203 EGREP = @EGREP@ 190 204 EXEEXT = @EXEEXT@ 205 FGREP = @FGREP@ 206 GREP = @GREP@ 191 207 INSTALL = @INSTALL@ 192 208 INSTALL_DATA = @INSTALL_DATA@ … … 194 210 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 195 211 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 212 LD = @LD@ 196 213 LDFLAGS = @LDFLAGS@ 197 214 LIBOBJS = @LIBOBJS@ 198 215 LIBS = @LIBS@ 216 LIBTOOL = @LIBTOOL@ 217 LIPO = @LIPO@ 218 LN_S = @LN_S@ 199 219 LTLIBOBJS = @LTLIBOBJS@ 220 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 200 221 MAKEINFO = @MAKEINFO@ 222 MANIFEST_TOOL = @MANIFEST_TOOL@ 201 223 MKDIR_P = @MKDIR_P@ 224 NM = @NM@ 225 NMEDIT = @NMEDIT@ 226 OBJDUMP = @OBJDUMP@ 202 227 OBJEXT = @OBJEXT@ 228 OTOOL = @OTOOL@ 229 OTOOL64 = @OTOOL64@ 203 230 PACKAGE = @PACKAGE@ 204 231 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 210 237 PATH_SEPARATOR = @PATH_SEPARATOR@ 211 238 RANLIB = @RANLIB@ 239 SED = @SED@ 212 240 SET_MAKE = @SET_MAKE@ 213 241 SHELL = @SHELL@ … … 218 246 abs_top_builddir = @abs_top_builddir@ 219 247 abs_top_srcdir = @abs_top_srcdir@ 248 ac_ct_AR = @ac_ct_AR@ 220 249 ac_ct_CC = @ac_ct_CC@ 221 250 ac_ct_CXX = @ac_ct_CXX@ 251 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 222 252 am__include = @am__include@ 223 253 am__leading_dot = @am__leading_dot@ … … 226 256 am__untar = @am__untar@ 227 257 bindir = @bindir@ 258 build = @build@ 228 259 build_alias = @build_alias@ 260 build_cpu = @build_cpu@ 261 build_os = @build_os@ 262 build_vendor = @build_vendor@ 229 263 builddir = @builddir@ 230 264 datadir = @datadir@ … … 233 267 dvidir = @dvidir@ 234 268 exec_prefix = @exec_prefix@ 269 host = @host@ 235 270 host_alias = @host_alias@ 271 host_cpu = @host_cpu@ 272 host_os = @host_os@ 273 host_vendor = @host_vendor@ 236 274 htmldir = @htmldir@ 237 275 includedir = @includedir@ … … 261 299 # create object files in directory with source files 262 300 AUTOMAKE_OPTIONS = foreign subdir-objects 301 ACLOCAL_AMFLAGS = -I automake 263 302 264 303 # put into lib for now 265 304 cfalibdir = ${CFA_LIBDIR} 266 305 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 267 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@306 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 268 307 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 269 308 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa … … 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 -
libcfa/src/Makefile.am
rff5caaf r95b8aa7 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 A RFLAGS = cr19 ACLOCAL_AMFLAGS = -I automake 20 20 21 21 include $(srcdir)/../../src/cfa.make 22 22 23 23 libdir = ${CFA_LIBDIR} 24 lib_L IBRARIES = libcfa.a24 lib_LTLIBRARIES = libcfa.la 25 25 26 26 VPATH += :../prelude … … 31 31 # The built sources must not depend on the installed headers 32 32 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 33 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@33 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 34 34 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 35 35 CFACC = @CFACC@ … … 37 37 #---------------------------------------------------------------------------------------------------------------- 38 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 39 40 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 40 41 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 41 42 42 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa43 44 43 # not all platforms support concurrency, add option do disable it 44 headers_nosrc += concurrency/invoke.h 45 45 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 46 47 headers_nosrc += concurrency/invoke.h48 46 49 47 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} … … 63 61 64 62 # add dependency of cfa files 65 libobjs = $(addsuffix . o, $(basename $(filter %.cfa,$(libsrc))))63 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 66 64 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 67 65 … … 70 68 libdeps = $(join \ 71 69 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 72 $(notdir ${libobjs:. o=.Po}) \70 $(notdir ${libobjs:.lo=.Plo}) \ 73 71 ) 74 72 … … 76 74 77 75 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 78 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}76 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 79 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 ${@} 80 81 81 82 82 83 #---------------------------------------------------------------------------------------------------------------- 83 libcfa_a_SOURCES = prelude.cfa ${libsrc} 84 libcfa_la_SOURCES = prelude.cfa ${libsrc} 85 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 84 86 85 stdhdr = $ {shell find ${srcdir}/stdhdr -type f -printf "%p "}87 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 86 88 87 89 cfa_includedir = $(CFA_INCDIR) -
libcfa/src/Makefile.in
rff5caaf r95b8aa7 90 90 PRE_UNINSTALL = : 91 91 POST_UNINSTALL = : 92 build_triplet = @build@ 93 host_triplet = @host@ 92 94 subdir = src 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) … … 129 135 } 130 136 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)" 131 LIBRARIES = $(lib_LIBRARIES) 132 AR = ar 133 AM_V_AR = $(am__v_AR_@AM_V@) 134 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) 135 am__v_AR_0 = @echo " AR " $@; 136 am__v_AR_1 = 137 libcfa_a_AR = $(AR) $(ARFLAGS) 138 libcfa_a_LIBADD = 139 am__libcfa_a_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \ 137 LTLIBRARIES = $(lib_LTLIBRARIES) 138 libcfa_la_LIBADD = 139 am__libcfa_la_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \ 140 140 bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \ 141 141 fstream.cfa iostream.cfa iterator.cfa limits.cfa rational.cfa \ … … 148 148 concurrency/invoke.c concurrency/preemption.cfa 149 149 am__dirstamp = $(am__leading_dot)dirstamp 150 @BUILDLIB_TRUE@am__objects_1 = fstream.$(OBJEXT) iostream.$(OBJEXT) \ 151 @BUILDLIB_TRUE@ iterator.$(OBJEXT) limits.$(OBJEXT) \ 152 @BUILDLIB_TRUE@ rational.$(OBJEXT) time.$(OBJEXT) \ 153 @BUILDLIB_TRUE@ stdlib.$(OBJEXT) common.$(OBJEXT) \ 154 @BUILDLIB_TRUE@ containers/maybe.$(OBJEXT) \ 155 @BUILDLIB_TRUE@ containers/pair.$(OBJEXT) \ 156 @BUILDLIB_TRUE@ containers/result.$(OBJEXT) \ 157 @BUILDLIB_TRUE@ containers/vector.$(OBJEXT) \ 158 @BUILDLIB_TRUE@ concurrency/coroutine.$(OBJEXT) \ 159 @BUILDLIB_TRUE@ concurrency/thread.$(OBJEXT) \ 160 @BUILDLIB_TRUE@ concurrency/kernel.$(OBJEXT) \ 161 @BUILDLIB_TRUE@ concurrency/monitor.$(OBJEXT) \ 162 @BUILDLIB_TRUE@ concurrency/mutex.$(OBJEXT) 163 @BUILDLIB_TRUE@am__objects_2 = startup.$(OBJEXT) interpose.$(OBJEXT) \ 164 @BUILDLIB_TRUE@ bits/debug.$(OBJEXT) assert.$(OBJEXT) \ 165 @BUILDLIB_TRUE@ exception.$(OBJEXT) virtual.$(OBJEXT) \ 166 @BUILDLIB_TRUE@ heap.$(OBJEXT) $(am__objects_1) \ 167 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \ 168 @BUILDLIB_TRUE@ concurrency/alarm.$(OBJEXT) \ 169 @BUILDLIB_TRUE@ concurrency/invoke.$(OBJEXT) \ 170 @BUILDLIB_TRUE@ concurrency/preemption.$(OBJEXT) 171 am_libcfa_a_OBJECTS = prelude.$(OBJEXT) $(am__objects_2) 172 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 $@ 173 172 AM_V_P = $(am__v_P_@AM_V@) 174 173 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 184 183 am__v_at_1 = 185 184 DEFAULT_INCLUDES = -I.@am__isrc@ 186 depcomp = $(SHELL) $(top_srcdir)/ ./automake/depcomp185 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 187 186 am__depfiles_maybe = depfiles 188 187 am__mv = mv -f 189 188 CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 190 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) 191 194 AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) 192 195 am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) … … 195 198 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 196 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) 197 204 AM_V_CC = $(am__v_CC_@AM_V@) 198 205 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 200 207 am__v_CC_1 = 201 208 CCLD = $(CC) 202 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 $@ 203 212 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 204 213 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 205 214 am__v_CCLD_0 = @echo " CCLD " $@; 206 215 am__v_CCLD_1 = 207 SOURCES = $(libcfa_ a_SOURCES)208 DIST_SOURCES = $(am__libcfa_ a_SOURCES_DIST)216 SOURCES = $(libcfa_la_SOURCES) 217 DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST) 209 218 am__can_run_installinfo = \ 210 219 case $$AM_UPDATE_INFO_DIR in \ … … 212 221 *) (install-info --version) >/dev/null 2>&1;; \ 213 222 esac 214 am__nobase_cfa_include_HEADERS_DIST = $ {shell find ${srcdir}/stdhdr \215 -type f -printf "%p " }fstream.hfa iostream.hfa iterator.hfa \223 am__nobase_cfa_include_HEADERS_DIST = $(shell find $(srcdir)/stdhdr \ 224 -type f -printf "%p ") fstream.hfa iostream.hfa iterator.hfa \ 216 225 limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 217 226 containers/maybe.hfa containers/pair.hfa containers/result.hfa \ … … 242 251 CTAGS = ctags 243 252 am__DIST_COMMON = $(srcdir)/../../src/cfa.make $(srcdir)/Makefile.in \ 244 $(top_srcdir)/ ./automake/depcomp253 $(top_srcdir)/automake/depcomp 245 254 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 246 255 VPATH = @srcdir@ :../prelude … … 248 257 AMTAR = @AMTAR@ 249 258 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 259 AR = @AR@ 250 260 ARCHITECTURE = @ARCHITECTURE@ 251 261 ARCH_FLAGS = @ARCH_FLAGS@ … … 266 276 CFA_NAME = @CFA_NAME@ 267 277 CFA_PREFIX = @CFA_PREFIX@ 278 CFA_VERSION = @CFA_VERSION@ 268 279 CFLAGS = @CFLAGS@ 269 280 CONFIGURATION = @CONFIGURATION@ … … 271 282 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 272 283 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 284 CPP = @CPP@ 273 285 CPPFLAGS = @CPPFLAGS@ 274 286 CXX = @CXX@ 287 CXXCPP = @CXXCPP@ 275 288 CXXDEPMODE = @CXXDEPMODE@ 276 289 CXXFLAGS = @CXXFLAGS@ … … 278 291 DEFS = @DEFS@ 279 292 DEPDIR = @DEPDIR@ 293 DLLTOOL = @DLLTOOL@ 280 294 DRIVER_DIR = @DRIVER_DIR@ 295 DSYMUTIL = @DSYMUTIL@ 296 DUMPBIN = @DUMPBIN@ 281 297 ECHO_C = @ECHO_C@ 282 298 ECHO_N = @ECHO_N@ 283 299 ECHO_T = @ECHO_T@ 300 EGREP = @EGREP@ 284 301 EXEEXT = @EXEEXT@ 302 FGREP = @FGREP@ 303 GREP = @GREP@ 285 304 INSTALL = @INSTALL@ 286 305 INSTALL_DATA = @INSTALL_DATA@ … … 288 307 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 289 308 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 309 LD = @LD@ 290 310 LDFLAGS = @LDFLAGS@ 291 311 LIBOBJS = @LIBOBJS@ 292 312 LIBS = @LIBS@ 313 LIBTOOL = @LIBTOOL@ 314 LIPO = @LIPO@ 315 LN_S = @LN_S@ 293 316 LTLIBOBJS = @LTLIBOBJS@ 317 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 294 318 MAKEINFO = @MAKEINFO@ 319 MANIFEST_TOOL = @MANIFEST_TOOL@ 295 320 MKDIR_P = @MKDIR_P@ 321 NM = @NM@ 322 NMEDIT = @NMEDIT@ 323 OBJDUMP = @OBJDUMP@ 296 324 OBJEXT = @OBJEXT@ 325 OTOOL = @OTOOL@ 326 OTOOL64 = @OTOOL64@ 297 327 PACKAGE = @PACKAGE@ 298 328 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 304 334 PATH_SEPARATOR = @PATH_SEPARATOR@ 305 335 RANLIB = @RANLIB@ 336 SED = @SED@ 306 337 SET_MAKE = @SET_MAKE@ 307 338 SHELL = @SHELL@ … … 312 343 abs_top_builddir = @abs_top_builddir@ 313 344 abs_top_srcdir = @abs_top_srcdir@ 345 ac_ct_AR = @ac_ct_AR@ 314 346 ac_ct_CC = @ac_ct_CC@ 315 347 ac_ct_CXX = @ac_ct_CXX@ 348 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 316 349 am__include = @am__include@ 317 350 am__leading_dot = @am__leading_dot@ … … 320 353 am__untar = @am__untar@ 321 354 bindir = @bindir@ 355 build = @build@ 322 356 build_alias = @build_alias@ 357 build_cpu = @build_cpu@ 358 build_os = @build_os@ 359 build_vendor = @build_vendor@ 323 360 builddir = @builddir@ 324 361 datadir = @datadir@ … … 327 364 dvidir = @dvidir@ 328 365 exec_prefix = @exec_prefix@ 366 host = @host@ 329 367 host_alias = @host_alias@ 368 host_cpu = @host_cpu@ 369 host_os = @host_os@ 370 host_vendor = @host_vendor@ 330 371 htmldir = @htmldir@ 331 372 includedir = @includedir@ … … 355 396 # create object files in directory with source files 356 397 AUTOMAKE_OPTIONS = foreign subdir-objects 357 A RFLAGS = cr398 ACLOCAL_AMFLAGS = -I automake 358 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 359 405 AM_V_CFA = $(am__v_CFA_@AM_V@) 360 406 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 361 407 am__v_CFA_0 = @echo " CFA " $@; 362 408 am__v_CFA_1 = 363 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 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 418 AM_V_UPP = $(am__v_UPP_@AM_V@) 419 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 420 am__v_UPP_0 = @echo " UPP " $@; 421 am__v_UPP_1 = 422 lib_LTLIBRARIES = libcfa.la 364 423 365 424 # AM_CFLAGS for all cfa source … … 368 427 # The built sources must not depend on the installed headers 369 428 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 370 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@429 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 371 430 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 431 @BUILDLIB_FALSE@headers_nosrc = 432 433 #---------------------------------------------------------------------------------------------------------------- 434 435 # not all platforms support concurrency, add option do disable it 436 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \ 437 @BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \ 438 @BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \ 439 @BUILDLIB_TRUE@ concurrency/invoke.h 372 440 @BUILDLIB_FALSE@headers = 373 374 #----------------------------------------------------------------------------------------------------------------375 376 # not all platforms support concurrency, add option do disable it377 441 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \ 378 442 @BUILDLIB_TRUE@ limits.hfa rational.hfa time.hfa stdlib.hfa \ … … 382 446 @BUILDLIB_TRUE@ concurrency/thread.hfa concurrency/kernel.hfa \ 383 447 @BUILDLIB_TRUE@ concurrency/monitor.hfa concurrency/mutex.hfa 384 @BUILDLIB_FALSE@headers_nosrc =385 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \386 @BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \387 @BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \388 @BUILDLIB_TRUE@ concurrency/invoke.h389 448 @BUILDLIB_FALSE@libsrc = 390 449 … … 402 461 403 462 # add dependency of cfa files 404 libobjs = $(addsuffix . o, $(basename $(filter %.cfa,$(libsrc))))463 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 405 464 406 465 # .deps inclusion is not done automatically by automake for new languages 407 466 libdeps = $(join \ 408 467 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 409 $(notdir ${libobjs:. o=.Po}) \468 $(notdir ${libobjs:.lo=.Plo}) \ 410 469 ) 411 470 412 471 413 472 #---------------------------------------------------------------------------------------------------------------- 414 libcfa_a_SOURCES = prelude.cfa ${libsrc} 415 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "} 473 libcfa_la_SOURCES = prelude.cfa ${libsrc} 474 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 475 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 416 476 cfa_includedir = $(CFA_INCDIR) 417 477 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} … … 419 479 420 480 .SUFFIXES: 421 .SUFFIXES: .S .c .cfa . o .obj481 .SUFFIXES: .S .c .cfa .lo .o .obj 422 482 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../../src/cfa.make $(am__configure_deps) 423 483 @for dep in $?; do \ … … 450 510 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 451 511 $(am__aclocal_m4_deps): 452 install-libLIBRARIES: $(lib_LIBRARIES) 512 513 install-libLTLIBRARIES: $(lib_LTLIBRARIES) 453 514 @$(NORMAL_INSTALL) 454 @list='$(lib_L IBRARIES)'; test -n "$(libdir)" || list=; \515 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 455 516 list2=; for p in $$list; do \ 456 517 if test -f $$p; then \ … … 461 522 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ 462 523 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ 463 echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ 464 $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } 465 @$(POST_INSTALL) 466 @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ 524 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ 525 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ 526 } 527 528 uninstall-libLTLIBRARIES: 529 @$(NORMAL_UNINSTALL) 530 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 467 531 for p in $$list; do \ 468 if test -f $$p; then \ 469 $(am__strip_dir) \ 470 echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ 471 ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ 472 else :; fi; \ 532 $(am__strip_dir) \ 533 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ 534 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ 473 535 done 474 536 475 uninstall-libLIBRARIES: 476 @$(NORMAL_UNINSTALL) 477 @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ 478 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 479 dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) 480 481 clean-libLIBRARIES: 482 -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) 537 clean-libLTLIBRARIES: 538 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) 539 @list='$(lib_LTLIBRARIES)'; \ 540 locs=`for p in $$list; do echo $$p; done | \ 541 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ 542 sort -u`; \ 543 test -z "$$locs" || { \ 544 echo rm -f $${locs}; \ 545 rm -f $${locs}; \ 546 } 483 547 bits/$(am__dirstamp): 484 548 @$(MKDIR_P) bits … … 487 551 @$(MKDIR_P) bits/$(DEPDIR) 488 552 @: > bits/$(DEPDIR)/$(am__dirstamp) 489 bits/debug.$(OBJEXT): bits/$(am__dirstamp) \ 490 bits/$(DEPDIR)/$(am__dirstamp) 553 bits/debug.lo: bits/$(am__dirstamp) bits/$(DEPDIR)/$(am__dirstamp) 491 554 containers/$(am__dirstamp): 492 555 @$(MKDIR_P) containers … … 495 558 @$(MKDIR_P) containers/$(DEPDIR) 496 559 @: > containers/$(DEPDIR)/$(am__dirstamp) 497 containers/maybe. $(OBJEXT): containers/$(am__dirstamp) \560 containers/maybe.lo: containers/$(am__dirstamp) \ 498 561 containers/$(DEPDIR)/$(am__dirstamp) 499 containers/pair. $(OBJEXT): containers/$(am__dirstamp) \562 containers/pair.lo: containers/$(am__dirstamp) \ 500 563 containers/$(DEPDIR)/$(am__dirstamp) 501 containers/result. $(OBJEXT): containers/$(am__dirstamp) \564 containers/result.lo: containers/$(am__dirstamp) \ 502 565 containers/$(DEPDIR)/$(am__dirstamp) 503 containers/vector. $(OBJEXT): containers/$(am__dirstamp) \566 containers/vector.lo: containers/$(am__dirstamp) \ 504 567 containers/$(DEPDIR)/$(am__dirstamp) 505 568 concurrency/$(am__dirstamp): … … 509 572 @$(MKDIR_P) concurrency/$(DEPDIR) 510 573 @: > concurrency/$(DEPDIR)/$(am__dirstamp) 511 concurrency/coroutine. $(OBJEXT): concurrency/$(am__dirstamp) \574 concurrency/coroutine.lo: concurrency/$(am__dirstamp) \ 512 575 concurrency/$(DEPDIR)/$(am__dirstamp) 513 concurrency/thread. $(OBJEXT): concurrency/$(am__dirstamp) \576 concurrency/thread.lo: concurrency/$(am__dirstamp) \ 514 577 concurrency/$(DEPDIR)/$(am__dirstamp) 515 concurrency/kernel. $(OBJEXT): concurrency/$(am__dirstamp) \578 concurrency/kernel.lo: concurrency/$(am__dirstamp) \ 516 579 concurrency/$(DEPDIR)/$(am__dirstamp) 517 concurrency/monitor. $(OBJEXT): concurrency/$(am__dirstamp) \580 concurrency/monitor.lo: concurrency/$(am__dirstamp) \ 518 581 concurrency/$(DEPDIR)/$(am__dirstamp) 519 concurrency/mutex. $(OBJEXT): concurrency/$(am__dirstamp) \582 concurrency/mutex.lo: concurrency/$(am__dirstamp) \ 520 583 concurrency/$(DEPDIR)/$(am__dirstamp) 521 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT): \ 522 concurrency/$(am__dirstamp) \ 584 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \ 523 585 concurrency/$(DEPDIR)/$(am__dirstamp) 524 concurrency/alarm. $(OBJEXT): concurrency/$(am__dirstamp) \586 concurrency/alarm.lo: concurrency/$(am__dirstamp) \ 525 587 concurrency/$(DEPDIR)/$(am__dirstamp) 526 concurrency/invoke. $(OBJEXT): concurrency/$(am__dirstamp) \588 concurrency/invoke.lo: concurrency/$(am__dirstamp) \ 527 589 concurrency/$(DEPDIR)/$(am__dirstamp) 528 concurrency/preemption. $(OBJEXT): concurrency/$(am__dirstamp) \590 concurrency/preemption.lo: concurrency/$(am__dirstamp) \ 529 591 concurrency/$(DEPDIR)/$(am__dirstamp) 530 592 531 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 532 $(AM_V_at)-rm -f libcfa.a 533 $(AM_V_AR)$(libcfa_a_AR) libcfa.a $(libcfa_a_OBJECTS) $(libcfa_a_LIBADD) 534 $(AM_V_at)$(RANLIB) libcfa.a 593 libcfa.la: $(libcfa_la_OBJECTS) $(libcfa_la_DEPENDENCIES) $(EXTRA_libcfa_la_DEPENDENCIES) 594 $(AM_V_CCLD)$(libcfa_la_LINK) -rpath $(libdir) $(libcfa_la_OBJECTS) $(libcfa_la_LIBADD) $(LIBS) 535 595 536 596 mostlyclean-compile: 537 597 -rm -f *.$(OBJEXT) 538 598 -rm -f bits/*.$(OBJEXT) 599 -rm -f bits/*.lo 539 600 -rm -f concurrency/*.$(OBJEXT) 601 -rm -f concurrency/*.lo 540 602 -rm -f containers/*.$(OBJEXT) 603 -rm -f containers/*.lo 541 604 542 605 distclean-compile: 543 606 -rm -f *.tab.c 544 607 545 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.P o@am__quote@546 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.P o@am__quote@547 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.P o@am__quote@548 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.P o@am__quote@608 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ 609 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Plo@am__quote@ 610 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Plo@am__quote@ 611 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Plo@am__quote@ 549 612 550 613 .S.o: … … 564 627 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 565 628 629 .S.lo: 630 @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 631 @am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 632 @am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 633 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 634 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 635 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $< 636 566 637 .c.o: 567 638 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ … … 579 650 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 580 651 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 652 653 .c.lo: 654 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 655 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 656 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 657 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 658 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 659 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< 660 661 mostlyclean-libtool: 662 -rm -f *.lo 663 664 clean-libtool: 665 -rm -rf .libs _libs 666 -rm -rf bits/.libs bits/_libs 667 -rm -rf concurrency/.libs concurrency/_libs 668 -rm -rf containers/.libs containers/_libs 581 669 install-nobase_cfa_includeHEADERS: $(nobase_cfa_include_HEADERS) 582 670 @$(NORMAL_INSTALL) … … 688 776 check-am: all-am 689 777 check: check-am 690 all-am: Makefile $(L IBRARIES) $(HEADERS)778 all-am: Makefile $(LTLIBRARIES) $(HEADERS) 691 779 installdirs: 692 780 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"; do \ … … 731 819 clean: clean-am 732 820 733 clean-am: clean-generic clean-libLIBRARIES mostlyclean-am 821 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ 822 mostlyclean-am 734 823 735 824 distclean: distclean-am … … 757 846 install-dvi-am: 758 847 759 install-exec-am: install-libL IBRARIES848 install-exec-am: install-libLTLIBRARIES 760 849 761 850 install-html: install-html-am … … 787 876 mostlyclean: mostlyclean-am 788 877 789 mostlyclean-am: mostlyclean-compile mostlyclean-generic 878 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 879 mostlyclean-libtool 790 880 791 881 pdf: pdf-am … … 797 887 ps-am: 798 888 799 uninstall-am: uninstall-libL IBRARIES \889 uninstall-am: uninstall-libLTLIBRARIES \ 800 890 uninstall-nobase_cfa_includeHEADERS 801 891 … … 803 893 804 894 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 805 clean-libLIBRARIES cscopelist-am ctags ctags-am distclean \ 806 distclean-compile distclean-generic distclean-tags distdir dvi \ 807 dvi-am html html-am info info-am install install-am \ 808 install-data install-data-am install-dvi install-dvi-am \ 809 install-exec install-exec-am install-html install-html-am \ 810 install-info install-info-am install-libLIBRARIES install-man \ 895 clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ 896 ctags-am distclean distclean-compile distclean-generic \ 897 distclean-libtool distclean-tags distdir dvi dvi-am html \ 898 html-am info info-am install install-am install-data \ 899 install-data-am install-dvi install-dvi-am install-exec \ 900 install-exec-am install-html install-html-am install-info \ 901 install-info-am install-libLTLIBRARIES install-man \ 811 902 install-nobase_cfa_includeHEADERS install-pdf install-pdf-am \ 812 903 install-ps install-ps-am install-strip installcheck \ 813 904 installcheck-am installdirs maintainer-clean \ 814 905 maintainer-clean-generic maintainer-clean-local mostlyclean \ 815 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am\816 tags tags-am uninstall uninstall-am uninstall-libLIBRARIES\817 uninstall- nobase_cfa_includeHEADERS906 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ 907 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ 908 uninstall-libLTLIBRARIES uninstall-nobase_cfa_includeHEADERS 818 909 819 910 .PRECIOUS: Makefile … … 824 915 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 825 916 $(am__mv) $$depbase.Tpo $$depbase.Po 917 918 .cfa.lo: 919 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 920 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 921 $(am__mv) $$depbase.Tpo $$depbase.Plo 826 922 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 827 923 … … 829 925 830 926 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 831 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@} 927 ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 928 929 prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ 930 ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \ 931 @CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@} 832 932 833 933 #---------------------------------------------------------------------------------------------------------------- -
libcfa/src/bits/locks.hfa
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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) { 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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/iostream.cfa
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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: // -
src/CodeTools/ResolvProtoDump.cc
rff5caaf r95b8aa7 51 51 52 52 /// Child constructor 53 ProtoDump(const ProtoDump* p, Type* r) 53 ProtoDump(const ProtoDump* p, Type* r) 54 54 : decls(), exprs(), subs(), closed(p->closed), parent(p), rtnType(r) {} 55 55 56 56 // Fix copy issues 57 ProtoDump(const ProtoDump& o) 58 : decls(o.decls), exprs(o.exprs), subs(o.subs), closed(o.closed), parent(o.parent), 57 ProtoDump(const ProtoDump& o) 58 : decls(o.decls), exprs(o.exprs), subs(o.subs), closed(o.closed), parent(o.parent), 59 59 rtnType(maybeClone(o.rtnType.get())) {} 60 60 ProtoDump( ProtoDump&& ) = default; … … 69 69 parent = o.parent; 70 70 rtnType.reset( maybeClone(o.rtnType.get()) ); 71 71 72 72 return *this; 73 73 } 74 ProtoDump& operator= (ProtoDump&&) = de fault;74 ProtoDump& operator= (ProtoDump&&) = delete; 75 75 76 76 private: … … 96 96 subs.emplace_back( std::move(sub.pass) ); 97 97 } 98 98 99 99 /// Whether lists should be separated, terminated, or preceded by their separator 100 100 enum septype { separated, terminated, preceded }; … … 102 102 /// builds space-separated list of types 103 103 template<typename V> 104 static void build( V& visitor, const std::list< Type* >& tys, std::stringstream& ss, 104 static void build( V& visitor, const std::list< Type* >& tys, std::stringstream& ss, 105 105 septype mode = separated ) { 106 106 if ( tys.empty() ) return; … … 121 121 /// builds list of types wrapped as tuple type 122 122 template<typename V> 123 static void buildAsTuple( V& visitor, const std::list< Type* >& tys, 123 static void buildAsTuple( V& visitor, const std::list< Type* >& tys, 124 124 std::stringstream& ss ) { 125 125 switch ( tys.size() ) { … … 162 162 if ( name.compare( 0, 10, "_operator_" ) == 0 ) { 163 163 ss << name.substr(10); 164 } else if ( name.compare( "_constructor" ) == 0 164 } else if ( name.compare( "_constructor" ) == 0 165 165 || name.compare( "_destructor" ) == 0 ) { 166 166 ss << name.substr(1); … … 173 173 174 174 /// replaces operators with resolv-proto names 175 static void rp_name( const std::string& name, std::stringstream& ss, 175 static void rp_name( const std::string& name, std::stringstream& ss, 176 176 std::string&& pre = "" ) { 177 177 // safety check for anonymous names … … 187 187 op_name( info.outputName, ss ); 188 188 return; 189 } 190 189 } 190 191 191 // replace retval names 192 192 if ( name.compare( 0, 8, "_retval_" ) == 0 ) { … … 195 195 return; 196 196 } 197 197 198 198 // default to just name, with first character in lowercase 199 ss << pre 199 ss << pre 200 200 << (char)std::tolower( static_cast<unsigned char>(name[0]) ) 201 201 << (name.c_str() + 1); … … 221 221 // strip trailing "_generic_" from autogen names (avoids some user-generation issues) 222 222 char generic[] = "_generic_"; size_t n_generic = sizeof(generic) - 1; 223 if ( stripped.size() >= n_generic 223 if ( stripped.size() >= n_generic 224 224 && stripped.substr( stripped.size() - n_generic ) == generic ) { 225 225 stripped.resize( stripped.size() - n_generic ); … … 237 237 unsigned depth; ///< Depth of nesting from root type 238 238 239 TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 239 TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 240 240 : ss(ss), closed(closed), depth(0) {} 241 241 … … 337 337 } 338 338 }; 339 339 340 340 /// builds description of function 341 341 void build( const std::string& name, FunctionType* fnTy, std::stringstream& ss ) { … … 350 350 for ( TypeDecl* tyvar : fnTy->forall ) { 351 351 for ( DeclarationWithType* assn : tyvar->assertions ) { 352 ss << " | "; 352 ss << " | "; 353 353 build( assn->name, assn->get_type(), ss ); 354 354 } … … 360 360 // ignore top-level references 361 361 Type *norefs = ty->stripReferences(); 362 362 363 363 // fall back to function declaration if function type 364 364 if ( PointerType* pTy = dynamic_cast< PointerType* >(norefs) ) { … … 409 409 std::stringstream& ss; ///< Output to print to 410 410 411 ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 411 ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 412 412 : closed(closed), ss(ss) {} 413 413 … … 476 476 visit_children = false; 477 477 } 478 478 479 479 /// Member access handled as function from aggregate to member 480 480 void previsit( UntypedMemberExpr* expr ) { … … 662 662 } 663 663 } 664 664 665 665 // add named parameters and returns to local scope 666 666 body.pass.addAll( decl->type->returnVals ); … … 679 679 void previsit( StructDecl* sd ) { addAggregateFields(sd); } 680 680 void previsit( UnionDecl* ud ) { addAggregateFields(ud); } 681 681 682 682 void previsit( EnumDecl* ed ) { 683 std::unique_ptr<Type> eType = 683 std::unique_ptr<Type> eType = 684 684 std::make_unique<BasicType>( Type::Qualifiers{}, BasicType::SignedInt ); 685 685 686 686 // add field names directly to enclosing scope 687 687 for ( Declaration* member : ed->members ) { -
src/Makefile.am
rff5caaf r95b8aa7 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 \ -
src/Makefile.in
rff5caaf r95b8aa7 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 157 AM_V_AR = $(am__v_AR_@AM_V@) 155 158 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) … … 295 298 ___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS) 296 299 ___driver_cfa_cpp_DEPENDENCIES = 300 AM_V_lt = $(am__v_lt_@AM_V@) 301 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 302 am__v_lt_0 = --silent 303 am__v_lt_1 = 297 304 am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT) 298 305 demangler_OBJECTS = $(am_demangler_OBJECTS) … … 316 323 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 317 324 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 325 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 326 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ 327 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 328 $(AM_CXXFLAGS) $(CXXFLAGS) 318 329 AM_V_CXX = $(am__v_CXX_@AM_V@) 319 330 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 321 332 am__v_CXX_1 = 322 333 CXXLD = $(CXX) 323 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 324 -o $@ 334 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 335 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 336 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 325 337 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 326 338 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 328 340 am__v_CXXLD_1 = 329 341 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 342 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 343 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) 330 344 AM_V_LEX = $(am__v_LEX_@AM_V@) 331 345 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 336 350 -e s/c++$$/h++/ -e s/c$$/h/ 337 351 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 352 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 353 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) 338 354 AM_V_YACC = $(am__v_YACC_@AM_V@) 339 355 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 342 358 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 343 359 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 360 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 361 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ 362 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 363 $(AM_CFLAGS) $(CFLAGS) 344 364 AM_V_CC = $(am__v_CC_@AM_V@) 345 365 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 347 367 am__v_CC_1 = 348 368 CCLD = $(CC) 349 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 369 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 370 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 371 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 350 372 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 351 373 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 397 419 AMTAR = @AMTAR@ 398 420 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 421 AR = @AR@ 399 422 AUTOCONF = @AUTOCONF@ 400 423 AUTOHEADER = @AUTOHEADER@ 401 424 AUTOMAKE = @AUTOMAKE@ 402 425 AWK = @AWK@ 403 BACKEND_CC = @BACKEND_CC@404 426 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 405 427 CC = @CC@ … … 421 443 CPPFLAGS = @CPPFLAGS@ 422 444 CXX = @CXX@ 445 CXXCPP = @CXXCPP@ 423 446 CXXDEPMODE = @CXXDEPMODE@ 424 447 CXXFLAGS = @CXXFLAGS@ … … 426 449 DEFS = @DEFS@ 427 450 DEPDIR = @DEPDIR@ 451 DLLTOOL = @DLLTOOL@ 428 452 DRIVER_DIR = @DRIVER_DIR@ 453 DSYMUTIL = @DSYMUTIL@ 454 DUMPBIN = @DUMPBIN@ 429 455 ECHO_C = @ECHO_C@ 430 456 ECHO_N = @ECHO_N@ … … 432 458 EGREP = @EGREP@ 433 459 EXEEXT = @EXEEXT@ 460 FGREP = @FGREP@ 434 461 GREP = @GREP@ 435 462 HOST_FLAGS = @HOST_FLAGS@ … … 439 466 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 440 467 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 468 LD = @LD@ 441 469 LDFLAGS = @LDFLAGS@ 442 470 LEX = @LEX@ … … 447 475 LIBOBJS = @LIBOBJS@ 448 476 LIBS = @LIBS@ 477 LIBTOOL = @LIBTOOL@ 478 LIPO = @LIPO@ 479 LN_S = @LN_S@ 449 480 LTLIBOBJS = @LTLIBOBJS@ 481 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 450 482 MAKEINFO = @MAKEINFO@ 483 MANIFEST_TOOL = @MANIFEST_TOOL@ 451 484 MKDIR_P = @MKDIR_P@ 485 NM = @NM@ 486 NMEDIT = @NMEDIT@ 487 OBJDUMP = @OBJDUMP@ 452 488 OBJEXT = @OBJEXT@ 489 OTOOL = @OTOOL@ 490 OTOOL64 = @OTOOL64@ 453 491 PACKAGE = @PACKAGE@ 454 492 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 460 498 PATH_SEPARATOR = @PATH_SEPARATOR@ 461 499 RANLIB = @RANLIB@ 500 SED = @SED@ 462 501 SET_MAKE = @SET_MAKE@ 463 502 SHELL = @SHELL@ … … 471 510 abs_top_builddir = @abs_top_builddir@ 472 511 abs_top_srcdir = @abs_top_srcdir@ 512 ac_ct_AR = @ac_ct_AR@ 473 513 ac_ct_CC = @ac_ct_CC@ 474 514 ac_ct_CXX = @ac_ct_CXX@ 515 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 475 516 am__include = @am__include@ 476 517 am__leading_dot = @am__leading_dot@ … … 522 563 # create object files in directory with source files 523 564 AUTOMAKE_OPTIONS = foreign subdir-objects 565 ACLOCAL_AMFLAGS = -I automake 524 566 SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \ 525 567 CodeGen/CodeGenerator.cc CodeGen/GenType.cc \ … … 681 723 682 724 .SUFFIXES: 683 .SUFFIXES: .cc .ll . o .obj .yy725 .SUFFIXES: .cc .ll .lo .o .obj .yy 684 726 $(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) 685 727 @for dep in $?; do \ … … 970 1012 sed 's/$(EXEEXT)$$//' | \ 971 1013 while read p p1; do if test -f $$p \ 1014 || test -f $$p1 \ 972 1015 ; then echo "$$p"; echo "$$p"; else :; fi; \ 973 1016 done | \ … … 984 1027 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 985 1028 test -z "$$files" || { \ 986 echo " $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \987 $(INSTALL_PROGRAM_ENV)$(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \1029 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \ 1030 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \ 988 1031 } \ 989 1032 ; done … … 1001 1044 1002 1045 clean-cfa_cpplibPROGRAMS: 1003 -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS) 1046 @list='$(cfa_cpplib_PROGRAMS)'; test -n "$$list" || exit 0; \ 1047 echo " rm -f" $$list; \ 1048 rm -f $$list || exit $$?; \ 1049 test -n "$(EXEEXT)" || exit 0; \ 1050 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ 1051 echo " rm -f" $$list; \ 1052 rm -f $$list 1004 1053 CodeGen/Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \ 1005 1054 CodeGen/$(DEPDIR)/$(am__dirstamp) … … 1241 1290 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 1242 1291 1292 .cc.lo: 1293 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 1294 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 1295 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 1296 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 1297 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1298 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< 1299 1243 1300 .ll.cc: 1244 1301 $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) … … 1246 1303 .yy.cc: 1247 1304 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) 1305 1306 mostlyclean-libtool: 1307 -rm -f *.lo 1308 1309 clean-libtool: 1310 -rm -rf .libs _libs 1311 -rm -rf ../driver/.libs ../driver/_libs 1248 1312 1249 1313 ID: $(am__tagged_files) … … 1405 1469 clean: clean-am 1406 1470 1407 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean- noinstLIBRARIES\1408 mostlyclean-am1471 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \ 1472 clean-noinstLIBRARIES mostlyclean-am 1409 1473 1410 1474 distclean: distclean-am … … 1461 1525 mostlyclean: mostlyclean-am 1462 1526 1463 mostlyclean-am: mostlyclean-compile mostlyclean-generic 1527 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 1528 mostlyclean-libtool 1464 1529 1465 1530 pdf: pdf-am … … 1476 1541 1477 1542 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 1478 clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \ 1479 cscopelist-am ctags ctags-am distclean distclean-compile \ 1480 distclean-generic distclean-tags distdir dvi dvi-am html \ 1481 html-am info info-am install install-am \ 1482 install-cfa_cpplibPROGRAMS install-data install-data-am \ 1483 install-dvi install-dvi-am install-exec install-exec-am \ 1484 install-html install-html-am install-info install-info-am \ 1485 install-man install-pdf install-pdf-am install-ps \ 1486 install-ps-am install-strip installcheck installcheck-am \ 1487 installdirs maintainer-clean maintainer-clean-generic \ 1488 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ 1489 ps ps-am tags tags-am uninstall uninstall-am \ 1543 clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \ 1544 clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ 1545 distclean-compile distclean-generic distclean-libtool \ 1546 distclean-tags distdir dvi dvi-am html html-am info info-am \ 1547 install install-am install-cfa_cpplibPROGRAMS install-data \ 1548 install-data-am install-dvi install-dvi-am install-exec \ 1549 install-exec-am install-html install-html-am install-info \ 1550 install-info-am install-man install-pdf install-pdf-am \ 1551 install-ps install-ps-am install-strip installcheck \ 1552 installcheck-am installdirs maintainer-clean \ 1553 maintainer-clean-generic mostlyclean mostlyclean-compile \ 1554 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 1555 tags tags-am uninstall uninstall-am \ 1490 1556 uninstall-cfa_cpplibPROGRAMS 1491 1557 -
src/Parser/DeclarationNode.cc
rff5caaf r95b8aa7 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/ParseNode.h
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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; … … 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 29 15:02:41201813 * Update Count : 68 612 * 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); } -
src/Parser/parser.yy
rff5caaf r95b8aa7 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 30 17:02:25201813 // Update Count : 40 2912 // Last Modified On : Thu Nov 8 18:08:23 2018 13 // Update Count : 4052 14 14 // 15 15 … … 186 186 } // fieldDecl 187 187 188 ExpressionNode *forInc( const OperKinds op ) {189 return new ExpressionNode( build_constantInteger( *new string( op == OperKinds::LThan || op == OperKinds::LEThan ? "1" : "-1" ) ) );190 } // forInc191 192 188 ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 193 ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->get_expr());189 ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->get_expr()); 194 190 if ( constant && (constant->get_constant()->get_value() == "0" || constant->get_constant()->get_value() == "1") ) { 195 191 type = new ExpressionNode( new CastExpr( maybeMoveBuild< Expression >(type), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ) ); 196 192 } // if 197 193 return new ForCtrl( 198 distAttr( DeclarationNode::newTypeof( type ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),194 distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 199 195 new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ), 200 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 201 206 } // forCtrl 202 207 … … 261 266 %token ZERO_T ONE_T // CFA 262 267 %token VALIST // GCC 263 %token TYPEOF LABEL// GCC268 %token TYPEOF BASETYPEOF LABEL // GCC 264 269 %token ENUM STRUCT UNION 265 270 %token EXCEPTION // CFA … … 636 641 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); } 637 642 | postfix_expression ARROW no_attr_identifier 638 { 639 $$ = new ExpressionNode( build_pfieldSel( $1, *$3 == "0" || *$3 == "1" ? build_constantInteger( *$3 ) : build_varref( $3 ) ) ); 640 } 643 { $$ = new ExpressionNode( build_pfieldSel( $1, build_varref( $3 ) ) ); } 641 644 | postfix_expression ARROW INTEGERconstant // CFA, tuple index 642 645 { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); } … … 1137 1140 | FOR '(' push for_control_expression ')' statement pop 1138 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 ) ); } 1139 1144 ; 1140 1145 1141 1146 for_control_expression: 1142 comma_expression_opt // CFA 1143 { 1144 if ( ! $1 ) { // => for ( ;; ) 1145 $$ = new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ); 1146 } else { 1147 $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1148 OperKinds::LThan, $1->clone(), forInc( OperKinds::LThan ) ); 1149 } // if 1150 } 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" ) ) ) ); } 1151 1150 | constant_expression inclexcl constant_expression // CFA 1152 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, forInc( $2) ); }1151 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1153 1152 | constant_expression inclexcl constant_expression '~' constant_expression // CFA 1154 1153 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); } 1155 | comma_expression_opt ';' comma_expression // CFA 1156 { 1157 if ( ! $1 ) { 1158 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1159 } else if ( ! $3 ) { 1160 SemanticError( yylloc, "Missing loop range." ); $$ = nullptr; 1161 } else { 1162 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1163 $$ = forCtrl( $3, new string( identifier->name ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1164 OperKinds::LThan, $3->clone(), forInc( OperKinds::LThan ) ); 1165 } else { 1166 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1167 } // if 1168 } // if 1169 } 1170 | comma_expression_opt ';' constant_expression inclexcl constant_expression // CFA 1171 { 1172 if ( ! $1 ) { 1173 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1174 } else { 1175 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1176 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, forInc( $4 ) ); 1177 } else { 1178 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1179 } // if 1180 } // if 1181 } 1182 | comma_expression_opt ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA 1183 { 1184 if ( ! $1 ) { 1185 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1186 } else { 1187 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1188 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, $7 ); 1189 } else { 1190 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1191 } // if 1192 } // if 1193 } 1194 | 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 1195 1162 { $$ = new ForCtrl( $1, $3, $5 ); } 1163 | ';' comma_expression_opt ';' comma_expression_opt 1164 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); } 1196 1165 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1197 1166 { $$ = new ForCtrl( $1, $2, $4 ); } … … 1855 1824 1856 1825 indirect_type: 1857 TYPEOF '(' type ')' // GCC: typeof( x) y;1826 TYPEOF '(' type ')' // GCC: typeof( x ) y; 1858 1827 { $$ = $3; } 1859 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b) y;1828 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b ) y; 1860 1829 { $$ = DeclarationNode::newTypeof( $3 ); } 1861 | 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; 1862 1835 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1863 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type( a+b) y;1836 | ATTR_TYPEGENname '(' comma_expression ')' // CFA: e.g., @type( a+b ) y; 1864 1837 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1865 1838 | ZERO_T // CFA -
src/ResolvExpr/Alternative.cc
rff5caaf r95b8aa7 105 105 106 106 Alternative::~Alternative() { 107 for ( AssertionItem& n : need ) { delete n.decl; } 107 108 delete expr; 108 109 } … … 119 120 os << "Null expression!" << std::endl; 120 121 } // if 121 os << indent << "Environment: ";122 os << indent << "Environment:"; 122 123 env.print( os, indent+1 ); 123 124 os << std::endl; -
src/ResolvExpr/AlternativeFinder.cc
rff5caaf r95b8aa7 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:52:08 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Fri Oct -5 10:01:00201813 // Update Count : 3 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 21:00:56 2018 13 // Update Count : 35 14 14 // 15 15 … … 500 500 needAssertions[ *assert ].isUsed = true; 501 501 } 502 /// needAssertions.insert( needAssertions.end(), (*tyvar)->get_assertions().begin(), (*tyvar)->get_assertions().end() ); 503 } 504 } 505 506 // template< typename ForwardIterator, typename OutputIterator > 507 // 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 ) { 508 // if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end 509 // if ( begin == end ) { 510 // if ( newNeed.empty() ) { 511 // PRINT( 512 // std::cerr << "all assertions satisfied, output alternative: "; 513 // newAlt.print( std::cerr ); 514 // std::cerr << std::endl; 515 // ); 516 // *out++ = newAlt; 517 // return; 518 // } else if ( level >= recursionLimit ) { 519 // SemanticError( newAlt.expr->location, "Too many recursive assertions" ); 520 // } else { 521 // AssertionSet newerNeed; 522 // PRINT( 523 // std::cerr << "recursing with new set:" << std::endl; 524 // printAssertionSet( newNeed, std::cerr, 8 ); 525 // ) 526 // inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out ); 527 // return; 528 // } 529 // } 530 531 // ForwardIterator cur = begin++; 532 // if ( ! cur->second.isUsed ) { 533 // inferRecursive( begin, end, newAlt, openVars, decls, newNeed, level, indexer, out ); 534 // return; // xxx - should this continue? previously this wasn't here, and it looks like it should be 535 // } 536 // DeclarationWithType *curDecl = cur->first; 537 538 // PRINT( 539 // std::cerr << "inferRecursive: assertion is "; 540 // curDecl->print( std::cerr ); 541 // std::cerr << std::endl; 542 // ) 543 // std::list< SymTab::Indexer::IdData > candidates; 544 // decls.lookupId( curDecl->get_name(), candidates ); 545 // /// if ( candidates.empty() ) { std::cerr << "no candidates!" << std::endl; } 546 // for ( const auto & data : candidates ) { 547 // DeclarationWithType * candidate = data.id; 548 // PRINT( 549 // std::cerr << "inferRecursive: candidate is "; 550 // candidate->print( std::cerr ); 551 // std::cerr << std::endl; 552 // ) 553 554 // AssertionSet newHave, newerNeed( newNeed ); 555 // TypeEnvironment newEnv( newAlt.env ); 556 // OpenVarSet newOpenVars( openVars ); 557 // Type *adjType = candidate->get_type()->clone(); 558 // adjustExprType( adjType, newEnv, indexer ); 559 // renameTyVars( adjType ); 560 // PRINT( 561 // std::cerr << "unifying "; 562 // curDecl->get_type()->print( std::cerr ); 563 // std::cerr << " with "; 564 // adjType->print( std::cerr ); 565 // std::cerr << std::endl; 566 // ) 567 // if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) { 568 // PRINT( 569 // std::cerr << "success!" << std::endl; 570 // ) 571 // SymTab::Indexer newDecls( decls ); 572 // addToIndexer( newHave, newDecls ); 573 // Alternative newerAlt( newAlt ); 574 // newerAlt.env = newEnv; 575 // assertf( candidate->get_uniqueId(), "Assertion candidate does not have a unique ID: %s", toString( candidate ).c_str() ); 576 577 // // everything with an empty idChain was pulled in by the current assertion. 578 // // add current assertion's idChain + current assertion's ID so that the correct inferParameters can be found. 579 // for ( auto & a : newerNeed ) { 580 // if ( a.second.idChain.empty() ) { 581 // a.second.idChain = cur->second.idChain; 582 // a.second.idChain.push_back( curDecl->get_uniqueId() ); 583 // } 584 // } 585 586 // Expression *varExpr = data.combine( newerAlt.cvtCost ); 587 // delete varExpr->get_result(); 588 // varExpr->set_result( adjType->clone() ); 589 // PRINT( 590 // std::cerr << "satisfying assertion " << curDecl->get_uniqueId() << " "; 591 // curDecl->print( std::cerr ); 592 // std::cerr << " with declaration " << candidate->get_uniqueId() << " "; 593 // candidate->print( std::cerr ); 594 // std::cerr << std::endl; 595 // ) 596 // // 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). 597 // InferredParams * inferParameters = &newerAlt.expr->inferParams; 598 // for ( UniqueId id : cur->second.idChain ) { 599 // inferParameters = (*inferParameters)[ id ].inferParams.get(); 600 // } 601 // // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions 602 // (*inferParameters)[ curDecl->get_uniqueId() ] = ParamEntry( candidate->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr ); 603 // inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out ); 604 // } else { 605 // delete adjType; 606 // } 607 // } 608 // } 502 } 503 } 609 504 610 505 /// Unique identifier for matching expression resolutions to their requesting expression … … 613 508 template< typename OutputIterator > 614 509 void AlternativeFinder::Finder::inferParameters( Alternative &newAlt, OutputIterator out ) { 615 // SymTab::Indexer decls( indexer );616 // addToIndexer( have, decls );617 // AssertionSet newNeed;618 // PRINT(619 // std::cerr << "env is: " << std::endl;620 // newAlt.env.print( std::cerr, 0 );621 // std::cerr << std::endl;622 // )623 624 // inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, 0, indexer, out );625 626 510 // Set need bindings for any unbound assertions 627 511 UniqueId crntResnSlot = 0; // matching ID for this expression's assertions … … 1345 1229 Alternative newAlt{ 1346 1230 restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ), 1347 alt.env, openVars, needAssertions, alt.cost , thisCost };1231 alt.env, openVars, needAssertions, alt.cost + thisCost, thisCost }; 1348 1232 inferParameters( newAlt, back_inserter( candidates ) ); 1349 1233 } // if … … 1373 1257 /// Gets name from untyped member expression (member must be NameExpr) 1374 1258 const std::string& get_member_name( UntypedMemberExpr *memberExpr ) { 1259 if ( dynamic_cast< ConstantExpr * >( memberExpr->get_member() ) ) { 1260 SemanticError( memberExpr, "Indexed access to struct fields unsupported: " ); 1261 } // if 1375 1262 NameExpr * nameExpr = dynamic_cast< NameExpr * >( memberExpr->get_member() ); 1376 1263 assert( nameExpr ); -
src/ResolvExpr/ConversionCost.cc
rff5caaf r95b8aa7 29 29 namespace ResolvExpr { 30 30 const Cost Cost::zero = Cost{ 0, 0, 0, 0, 0, 0 }; 31 const Cost Cost::infinity = Cost{ -1, -1, -1, 1, -1, -1 };31 const Cost Cost::infinity = Cost{ -1, -1, -1, -1, 1, -1 }; 32 32 const Cost Cost::unsafe = Cost{ 1, 0, 0, 0, 0, 0 }; 33 33 const Cost Cost::poly = Cost{ 0, 1, 0, 0, 0, 0 }; 34 const Cost Cost:: var =Cost{ 0, 0, 1, 0, 0, 0 };35 const Cost Cost:: spec = Cost{ 0, 0, 0, -1, 0, 0 };36 const Cost Cost::s afe = Cost{ 0, 0, 0, 0,1, 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 37 const Cost Cost::reference = Cost{ 0, 0, 0, 0, 0, 1 }; 38 38 -
src/ResolvExpr/Cost.h
rff5caaf r95b8aa7 21 21 class Cost { 22 22 private: 23 Cost( int unsafeCost, int polyCost, int varCost, int specCost, int safeCost,24 int referenceCost );23 Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost, 24 int referenceCost ); 25 25 26 26 public: 27 27 Cost & incUnsafe( int inc = 1 ); 28 28 Cost & incPoly( int inc = 1 ); 29 Cost & incSafe( int inc = 1 ); 29 30 Cost & incVar( int inc = 1 ); 30 31 Cost & decSpec( int inc = 1 ); 31 Cost & incSafe( int inc = 1 );32 32 Cost & incReference( int inc = 1 ); 33 33 34 34 int get_unsafeCost() const { return unsafeCost; } 35 35 int get_polyCost() const { return polyCost; } 36 int get_safeCost() const { return safeCost; } 36 37 int get_varCost() const { return varCost; } 37 38 int get_specCost() const { return specCost; } 38 int get_safeCost() const { return safeCost; }39 39 int get_referenceCost() const { return referenceCost; } 40 40 … … 54 54 static const Cost unsafe; 55 55 static const Cost poly; 56 static const Cost safe; 56 57 static const Cost var; 57 58 static const Cost spec; 58 static const Cost safe;59 59 static const Cost reference; 60 60 … … 62 62 int unsafeCost; ///< Unsafe (narrowing) conversions 63 63 int polyCost; ///< Count of parameters and return values bound to some poly type 64 int safeCost; ///< Safe (widening) conversions 64 65 int varCost; ///< Count of polymorphic type variables 65 66 int specCost; ///< Polymorphic type specializations (type assertions), negative cost 66 int safeCost; ///< Safe (widening) conversions67 67 int referenceCost; ///< reference conversions 68 68 }; 69 69 70 inline Cost::Cost( int unsafeCost, int polyCost, int varCost, int specCost, int safeCost,70 inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost, 71 71 int referenceCost ) 72 : unsafeCost( unsafeCost ), polyCost( polyCost ), varCost( varCost ), specCost( specCost ),73 s afeCost( safeCost ), referenceCost( referenceCost ) {}72 : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), varCost( varCost ), 73 specCost( specCost ), referenceCost( referenceCost ) {} 74 74 75 75 inline Cost & Cost::incUnsafe( int inc ) { … … 85 85 } 86 86 87 inline Cost & Cost::incSafe( int inc ) { 88 if ( *this == infinity ) return *this; 89 safeCost += inc; 90 return *this; 91 } 92 87 93 inline Cost & Cost::incVar( int inc ) { 88 94 if ( *this == infinity ) return *this; … … 94 100 if ( *this == infinity ) return *this; 95 101 specCost -= dec; 96 return *this;97 }98 99 inline Cost & Cost::incSafe( int inc ) {100 if ( *this == infinity ) return *this;101 safeCost += inc;102 102 return *this; 103 103 } … … 112 112 if ( *this == infinity || other == infinity ) return infinity; 113 113 return Cost{ 114 unsafeCost + other.unsafeCost, polyCost + other.polyCost, 114 unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, 115 115 varCost + other.varCost, specCost + other.specCost, 116 safeCost + other.safeCost,referenceCost + other.referenceCost };116 referenceCost + other.referenceCost }; 117 117 } 118 118 … … 120 120 if ( *this == infinity || other == infinity ) return infinity; 121 121 return Cost{ 122 unsafeCost - other.unsafeCost, polyCost - other.polyCost, 122 unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, 123 123 varCost - other.varCost, specCost - other.specCost, 124 safeCost - other.safeCost,referenceCost - other.referenceCost };124 referenceCost - other.referenceCost }; 125 125 } 126 126 … … 133 133 unsafeCost += other.unsafeCost; 134 134 polyCost += other.polyCost; 135 safeCost += other.safeCost; 135 136 varCost += other.varCost; 136 137 specCost += other.specCost; 137 safeCost += other.safeCost;138 138 referenceCost += other.referenceCost; 139 139 return *this; … … 152 152 } else if ( polyCost < other.polyCost ) { 153 153 return true; 154 } else if ( safeCost > other.safeCost ) { 155 return false; 156 } else if ( safeCost < other.safeCost ) { 157 return true; 154 158 } else if ( varCost > other.varCost ) { 155 159 return false; … … 159 163 return false; 160 164 } else if ( specCost > other.specCost ) { 161 return true;162 } else if ( safeCost > other.safeCost ) {163 return false;164 } else if ( safeCost < other.safeCost ) {165 165 return true; 166 166 } else if ( referenceCost > other.referenceCost ) { … … 179 179 int c = unsafeCost - other.unsafeCost; if ( c ) return c; 180 180 c = polyCost - other.polyCost; if ( c ) return c; 181 c = safeCost - other.safeCost; if ( c ) return c; 181 182 c = varCost - other.varCost; if ( c ) return c; 182 183 c = specCost - other.specCost; if ( c ) return c; 183 c = safeCost - other.safeCost; if ( c ) return c;184 184 return referenceCost - other.referenceCost; 185 185 } … … 188 188 return unsafeCost == other.unsafeCost 189 189 && polyCost == other.polyCost 190 && safeCost == other.safeCost 190 191 && varCost == other.varCost 191 192 && specCost == other.specCost 192 && safeCost == other.safeCost193 193 && referenceCost == other.referenceCost; 194 194 } … … 200 200 inline std::ostream &operator<<( std::ostream &os, const Cost &cost ) { 201 201 return os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " 202 << cost. varCost << ", " << cost.specCost << ", "203 << cost. safeCost << ", " << cost.referenceCost << " )";202 << cost.safeCost << ", " << cost.varCost << ", " << cost.specCost << ", " 203 << cost.referenceCost << " )"; 204 204 } 205 205 } // namespace ResolvExpr -
src/ResolvExpr/ResolveAssertions.cc
rff5caaf r95b8aa7 275 275 std::move(newNeed), std::move(newOpenVars), crntResnSlot ); 276 276 } else { 277 //delete adjType;277 delete adjType; 278 278 } 279 279 } … … 396 396 Cost resCost = coster.get( compat ); 397 397 auto it = found.emplace( SymTab::Mangler::mangleType( resType ), resCost ); 398 delete resType; 398 399 if ( it.second == false && it.first->second < resCost ) continue; 399 400 -
src/ResolvExpr/ResolveTypeof.cc
rff5caaf r95b8aa7 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/SynTree/Expression.cc
rff5caaf r95b8aa7 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 ); -
src/SynTree/FunctionDecl.cc
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 } -
src/SynTree/Type.h
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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/cfa.make
rff5caaf r95b8aa7 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@) … … 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 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 487 487 resolvep = true; 488 488 break; 489 case 'R': // dump resolv-proto instance489 case 'R': // dump resolv-proto instance 490 490 resolvprotop = true; 491 491 break; -
tests/.expect/alloc-ERROR.txt
rff5caaf r95b8aa7 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 3 ...to: … … 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 23 ...to: … … 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 43 ...to: … … 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 54 ...to: -
tests/.expect/castError.txt
rff5caaf r95b8aa7 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 … … 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 18 Cost ( 1, 0, 0, 0, 0, 0 ): Cast of: … … 23 23 char 24 24 ) 25 Environment: 25 Environment: 26 26 27 27 Cost ( 1, 0, 0, 0, 0, 0 ): Cast of: … … 32 32 char 33 33 ) 34 Environment: 34 Environment: 35 35 36 36 -
tests/.expect/completeTypeError.txt
rff5caaf r95b8aa7 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 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 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 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 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 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 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 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 38 ...to: 39 39 Name: y 40 40 41 completeTypeError.c :72:1 error: No resolvable alternatives for expression Applying untyped:41 completeTypeError.cfa:72:1 error: No resolvable alternatives for expression Applying untyped: 42 42 Name: baz 43 43 ...to: … … 45 45 46 46 Alternatives with failing assertions are: 47 Cost ( 0, 1, 1, -5, 0, 0 ): Application of47 Cost ( 0, 1, 0, 1, -5, 0 ): Application of 48 48 Variable Expression: baz: forall 49 49 T: sized object type … … 53 53 reference to instance of type T (not function type) 54 54 instance of type T (not function type) 55 ... returning 55 ... returning 56 56 _retval__operator_assign: instance of type T (not function type) 57 ... with attributes: 57 ... with attributes: 58 58 Attribute with name: unused 59 59 … … 62 62 ... with parameters 63 63 reference to instance of type T (not function type) 64 ... returning nothing 64 ... returning nothing 65 65 66 66 ?{}: pointer to function … … 68 68 reference to instance of type T (not function type) 69 69 instance of type T (not function type) 70 ... returning nothing 70 ... returning nothing 71 71 72 72 ^?{}: pointer to function 73 73 ... with parameters 74 74 reference to instance of type T (not function type) 75 ... returning nothing 75 ... returning nothing 76 76 77 77 … … 79 79 ... with parameters 80 80 pointer to instance of type T (not function type) 81 ... returning nothing 81 ... returning nothing 82 82 83 83 ... to arguments … … 87 87 void 88 88 ) 89 Environment: ( _73_0_T ) -> instance of type T (not function type) (no widening)89 Environment:( _73_0_T ) -> instance of type T (not function type) (no widening) 90 90 91 91 -
tests/.expect/declarationErrors.txt
rff5caaf r95b8aa7 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 __anonymous07 declarationErrors.cfa:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0 8 8 with members 9 9 i: int … … 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 __anonymous113 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 14 with members 15 15 i: int … … 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 function21 declarationErrors.cfa:24:1 error: duplicate const in declaration of f01: static inline function 22 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 function26 declarationErrors.cfa:25:1 error: duplicate volatile in declaration of f02: static inline function 27 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 function31 declarationErrors.cfa:26:1 error: duplicate const in declaration of f03: static inline function 32 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 function36 declarationErrors.cfa:27:1 error: duplicate volatile in declaration of f04: static inline function 37 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 function41 declarationErrors.cfa:28:1 error: duplicate const in declaration of f05: static inline function 42 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 function46 declarationErrors.cfa:29:1 error: duplicate volatile in declaration of f06: static inline function 47 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 function51 declarationErrors.cfa:30:1 error: duplicate const in declaration of f07: static inline function 52 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 function56 declarationErrors.cfa:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function 57 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 function61 declarationErrors.cfa:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function 62 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 function66 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 67 with no parameters 68 68 returning const restrict volatile _Atomic int -
tests/.expect/loopctrl.txt
rff5caaf r95b8aa7 3 3 empty 4 4 5 zero 5 6 A 6 A A7 7 A A A A A A A A A A 8 8 B B B B B … … 10 10 D D D D D 11 11 E E E E E 12 0 1 2 3 4 5 6 7 8 9 12 13 13 0 1 2 3 4 5 6 7 8 9 14 14 1 3 5 7 9 … … 18 18 2 4 6 8 10 19 19 10 8 6 4 2 20 21 22 N N N N N N N N N N 23 0 1 2 3 4 5 6 7 8 9 24 10 9 8 7 6 5 4 3 2 1 25 26 20 27 3 6 9 28 29 21 30 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 22 31 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 32 23 33 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 24 34 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 35 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10) 36 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10) 37 38 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1) 39 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1) 40 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0) 41 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0) -
tests/.expect/nested-types-ERR1.txt
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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 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 5 instance of type Z (not function type) 6 6 -
tests/.expect/scopeErrors.txt
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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/KRfunctions.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // KRfunctions.c --7 // KRfunctions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 16 15:23:17 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 20 07:34:17 201713 // Update Count : 712 // Last Modified On : Tue Nov 6 17:50:34 2018 13 // Update Count : 9 14 14 // 15 15 … … 49 49 // Local Variables: // 50 50 // tab-width: 4 // 51 // compile-command: "cfa KRfunctions.c " //51 // compile-command: "cfa KRfunctions.cfa" // 52 52 // End: // -
tests/Makefile.am
rff5caaf r95b8aa7 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 … … 36 39 37 40 AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS} 38 39 41 CC = @CFACC@ 40 42 … … 42 44 43 45 .PHONY: list .validate 44 .INTERMEDIATE: .validate .validate.c 45 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 46 48 47 fstream_test_SOURCES = fstream_test.c 48 49 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 50 52 51 53 #---------------------------------------------------------------------------------------------------------------- … … 62 64 @+${TEST_PY} --list ${concurrent} 63 65 64 .validate: .validate.c 65 $(C OMPILE) .validate.c-fsyntax-only -Wall -Wextra -Werror66 .validate: .validate.cfa 67 $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror 66 68 67 .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: 68 74 @echo "int main() { return 0; }" > ${@} 69 75 … … 72 78 73 79 #---------------------------------------------------------------------------------------------------------------- 80 74 81 # implicit rule so not all test require a rule 75 % : %.c $(CC)76 $(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 ${@}) 77 84 78 declarationSpecifier: declarationSpecifier.c $(CC)79 $(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 ${@}) 80 87 81 gccExtensions : gccExtensions.c $(CC)82 $(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 ${@}) 83 90 84 extension : extension.c $(CC)85 $(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 ${@}) 86 93 87 attributes : attributes.c $(CC)88 $(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 ${@}) 89 96 90 functions: functions.c $(CC)91 $(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 ${@}) 92 99 93 KRfunctions : KRfunctions.c $(CC)94 $(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 ${@}) 95 102 96 sched-ext-parse : sched-ext-parse.c $(C C)97 $(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 ${@}) 98 105 99 gmp : gmp.c $(CC)100 $(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 ${@}) 101 108 102 109 #builtins 103 builtins/sync: builtins/sync.c $(CC)104 $(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 105 112 106 113 #------------------------------------------------------------------------------ 114 107 115 #To make errors path independent we need to cd into the correct directories 108 completeTypeError : completeTypeError.c $(CC)109 $(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 ${@}) 110 118 111 typedefRedef-ERR1: typedefRedef.c $(CC)112 $(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 ${@}) 113 121 114 alloc-ERROR: alloc.c $(CC)115 $(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 ${@}) 116 124 117 fallthrough-ERROR: fallthrough.c $(CC)118 $(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 ${@}) 119 127 120 nested-types-ERR1: nested-types.c $(CC)121 $(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 ${@}) 122 130 123 nested-types-ERR2: nested-types.c $(CC)124 $(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 ${@}) 125 133 126 134 # Constructor/destructor tests 127 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)128 $(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 ${@}) 129 137 130 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)131 $(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 ${@}) 132 140 133 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)134 $(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 ${@}) 135 143 136 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)137 $(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 ${@}) 138 146 139 147 # Warnings 140 warnings/self-assignment: warnings/self-assignment.c $(CC)141 $(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
rff5caaf r95b8aa7 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 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 353 AM_V_UPP = $(am__v_UPP_@AM_V@) 354 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 355 am__v_UPP_0 = @echo " UPP " $@; 356 am__v_UPP_1 = 299 357 debug = yes 300 358 installed = no … … 309 367 ${INSTALL_FLAGS} ${ARCH_FLAGS} 310 368 PRETTY_PATH = cd ${srcdir} && 311 fstream_test_SOURCES = fstream_test.c 312 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 369 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 370 # automake doesn't know we still need C rules so pretend like we have a C program 371 _dummy_hack_SOURCES = .dummy_hack.c 313 372 all: all-am 314 373 315 374 .SUFFIXES: 316 .SUFFIXES: .c . o .obj .validate317 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)375 .SUFFIXES: .c .cfa .dummy_hack .lo .o .obj .validate 376 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 318 377 @for dep in $?; do \ 319 378 case '$(am__configure_deps)' in \ … … 335 394 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 336 395 esac; 396 $(top_srcdir)/src/cfa.make $(am__empty): 337 397 338 398 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) … … 346 406 config.py: $(top_builddir)/config.status $(srcdir)/config.py.in 347 407 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 408 409 .dummy_hack$(EXEEXT): $(_dummy_hack_OBJECTS) $(_dummy_hack_DEPENDENCIES) $(EXTRA__dummy_hack_DEPENDENCIES) 410 @rm -f .dummy_hack$(EXEEXT) 411 $(AM_V_CCLD)$(LINK) $(_dummy_hack_OBJECTS) $(_dummy_hack_LDADD) $(LIBS) 348 412 avltree/$(am__dirstamp): 349 413 @$(MKDIR_P) avltree … … 371 435 $(AM_V_CCLD)$(LINK) $(avl_test_OBJECTS) $(avl_test_LDADD) $(LIBS) 372 436 373 fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES)374 @rm -f fstream_test$(EXEEXT)375 $(AM_V_CCLD)$(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS)376 377 437 mostlyclean-compile: 378 438 -rm -f *.$(OBJEXT) … … 382 442 -rm -f *.tab.c 383 443 384 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@ 385 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl-private.Po@am__quote@ 386 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl0.Po@am__quote@ 387 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl1.Po@am__quote@ 388 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl2.Po@am__quote@ 389 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl3.Po@am__quote@ 390 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl4.Po@am__quote@ 391 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl_test.Po@am__quote@ 444 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/.dummy_hack.Po@am__quote@ 392 445 393 446 .c.o: … … 406 459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 407 460 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 461 462 .c.lo: 463 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 464 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 465 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo 466 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 468 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< 469 470 mostlyclean-libtool: 471 -rm -f *.lo 472 473 clean-libtool: 474 -rm -rf .libs _libs 408 475 409 476 ID: $(am__tagged_files) … … 527 594 clean: clean-am 528 595 529 clean-am: clean-generic clean-l ocal mostlyclean-am596 clean-am: clean-generic clean-libtool clean-local mostlyclean-am 530 597 531 598 distclean: distclean-am 532 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)599 -rm -rf ./$(DEPDIR) 533 600 -rm -f Makefile 534 601 distclean-am: clean-am distclean-compile distclean-generic \ … … 576 643 577 644 maintainer-clean: maintainer-clean-am 578 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)645 -rm -rf ./$(DEPDIR) 579 646 -rm -f Makefile 580 647 maintainer-clean-am: distclean-am maintainer-clean-generic … … 582 649 mostlyclean: mostlyclean-am 583 650 584 mostlyclean-am: mostlyclean-compile mostlyclean-generic 651 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 652 mostlyclean-libtool 585 653 586 654 pdf: pdf-am … … 597 665 598 666 .PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \ 599 clean-generic clean-local cscopelist-am ctags ctags-am \ 600 distclean distclean-compile distclean-generic distclean-tags \ 601 distdir dvi dvi-am html html-am info info-am install \ 602 install-am install-data install-data-am install-dvi \ 603 install-dvi-am install-exec install-exec-am install-html \ 604 install-html-am install-info install-info-am install-man \ 605 install-pdf install-pdf-am install-ps install-ps-am \ 606 install-strip installcheck installcheck-am installdirs \ 607 maintainer-clean maintainer-clean-generic mostlyclean \ 608 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 667 clean-generic clean-libtool clean-local cscopelist-am ctags \ 668 ctags-am distclean distclean-compile distclean-generic \ 669 distclean-libtool distclean-tags distdir dvi dvi-am html \ 670 html-am info info-am install install-am install-data \ 671 install-data-am install-dvi install-dvi-am install-exec \ 672 install-exec-am install-html install-html-am install-info \ 673 install-info-am install-man install-pdf install-pdf-am \ 674 install-ps install-ps-am install-strip installcheck \ 675 installcheck-am installdirs maintainer-clean \ 676 maintainer-clean-generic mostlyclean mostlyclean-compile \ 677 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 609 678 tags tags-am uninstall uninstall-am 610 679 … … 612 681 613 682 683 .cfa.o: 684 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 685 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 686 $(am__mv) $$depbase.Tpo $$depbase.Po 687 688 .cfa.lo: 689 $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 690 $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 691 $(am__mv) $$depbase.Tpo $$depbase.Plo 692 614 693 .PHONY: list .validate 615 .INTERMEDIATE: .validate .validate.c 694 .INTERMEDIATE: .validate .validate.cfa 616 695 617 696 #---------------------------------------------------------------------------------------------------------------- … … 628 707 @+${TEST_PY} --list ${concurrent} 629 708 630 .validate: .validate.c 631 $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror 632 633 .validate.c: 709 .validate: .validate.cfa 710 $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror 711 712 .validate.cfa: 713 @echo "int main() { return 0; }" > ${@} 714 715 # automake doesn't know we still need C rules so pretend like we have a C program 716 .dummy_hack.c: 634 717 @echo "int main() { return 0; }" > ${@} 635 718 … … 638 721 639 722 #---------------------------------------------------------------------------------------------------------------- 723 640 724 # implicit rule so not all test require a rule 641 % : %.c $(CC)642 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})643 644 declarationSpecifier: declarationSpecifier.c $(CC)645 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})646 647 gccExtensions : gccExtensions.c $(CC)648 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})649 650 extension : extension.c $(CC)651 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})652 653 attributes : attributes.c $(CC)654 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})655 656 functions: functions.c $(CC)657 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})658 659 KRfunctions : KRfunctions.c $(CC)660 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})661 662 sched-ext-parse : sched-ext-parse.c $(C C)663 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})664 665 gmp : gmp.c $(CC)666 $(PRETTY_PATH) $(C OMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})725 % : %.cfa $(CFACC) 726 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 727 728 declarationSpecifier: declarationSpecifier.cfa $(CFACC) 729 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 730 731 gccExtensions : gccExtensions.cfa $(CFACC) 732 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 733 734 extension : extension.cfa $(CFACC) 735 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 736 737 attributes : attributes.cfa $(CFACC) 738 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 739 740 functions: functions.cfa $(CFACC) 741 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 742 743 KRfunctions : KRfunctions.cfa $(CFACC) 744 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 745 746 sched-ext-parse : sched-ext-parse.c $(CFACC) 747 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 748 749 gmp : gmp.cfa $(CFACC) 750 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 667 751 668 752 #builtins 669 builtins/sync: builtins/sync.c $(CC)670 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only753 builtins/sync: builtins/sync.cfa $(CFACC) 754 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 671 755 672 756 #------------------------------------------------------------------------------ 757 673 758 #To make errors path independent we need to cd into the correct directories 674 completeTypeError : completeTypeError.c $(CC)675 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})676 677 typedefRedef-ERR1: typedefRedef.c $(CC)678 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})679 680 alloc-ERROR: alloc.c $(CC)681 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})682 683 fallthrough-ERROR: fallthrough.c $(CC)684 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})685 686 nested-types-ERR1: nested-types.c $(CC)687 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})688 689 nested-types-ERR2: nested-types.c $(CC)690 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})759 completeTypeError : completeTypeError.cfa $(CFACC) 760 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 761 762 typedefRedef-ERR1: typedefRedef.cfa $(CFACC) 763 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 764 765 alloc-ERROR: alloc.cfa $(CFACC) 766 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 767 768 fallthrough-ERROR: fallthrough.cfa $(CFACC) 769 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 770 771 nested-types-ERR1: nested-types.cfa $(CFACC) 772 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 773 774 nested-types-ERR2: nested-types.cfa $(CFACC) 775 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 691 776 692 777 # Constructor/destructor tests 693 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)694 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})695 696 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)697 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})698 699 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)700 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})701 702 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)703 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})778 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC) 779 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 780 781 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC) 782 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 783 784 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC) 785 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 786 787 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC) 788 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 704 789 705 790 # Warnings 706 warnings/self-assignment: warnings/self-assignment.c $(CC)707 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only791 warnings/self-assignment: warnings/self-assignment.cfa $(CFACC) 792 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 708 793 709 794 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
tests/abs.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // abs.c --7 // abs.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Jan 28 18:26:16 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 22 22:31:03 201713 // Update Count : 5 212 // Last Modified On : Tue Dec 4 21:33:15 2018 13 // Update Count : 55 14 14 // 15 15 … … 19 19 int main( void ) { 20 20 signed char ch = -65; 21 sout | "char\t\t\t" | ch | "\tabs " | abs( ch ) | endl;22 sout | "signed int\t\t" | -65 | "\tabs" | abs( -65 ) | endl;23 sout | "signed long int\t\t" | -65l | "\tabs" | abs( -65l ) | endl;24 sout | "signed long long int\t" | -65ll | "\tabs" | abs( -65ll ) | endl;25 sout | "float\t\t\t" | -65.0f | "\tabs" | abs( -65.0f ) | endl;26 sout | "double\t\t\t" | -65.0 | "\tabs" | abs( -65.0 ) | endl;27 sout | "long double\t\t" | -65.0l | "\tabs" | abs( -65.0l ) | endl;28 sout | "float _Complex\t\t" | -65.0F-2.0iF | "\tabs" | abs( -65.0F-2.0iF ) | endl;29 sout | "double _Complex\t\t" | -65.0D-2.0iD | "\tabs" | abs( -65.0D-2.0iD ) | endl;30 sout | "long double _Complex\t" | -65.0L-2.0iL | "\tabs" | abs( -65.0L-2.0iL ) | endl;21 sout | "char\t\t\t" | ch | "\tabs " | abs( ch ); 22 sout | "signed int\t\t" | -65 | "\tabs" | abs( -65 ); 23 sout | "signed long int\t\t" | -65l | "\tabs" | abs( -65l ); 24 sout | "signed long long int\t" | -65ll | "\tabs" | abs( -65ll ); 25 sout | "float\t\t\t" | -65.0f | "\tabs" | abs( -65.0f ); 26 sout | "double\t\t\t" | -65.0 | "\tabs" | abs( -65.0 ); 27 sout | "long double\t\t" | -65.0l | "\tabs" | abs( -65.0l ); 28 sout | "float _Complex\t\t" | -65.0F-2.0iF | "\tabs" | abs( -65.0F-2.0iF ); 29 sout | "double _Complex\t\t" | -65.0D-2.0iD | "\tabs" | abs( -65.0D-2.0iD ); 30 sout | "long double _Complex\t" | -65.0L-2.0iL | "\tabs" | abs( -65.0L-2.0iL ); 31 31 } // main 32 32 33 33 // Local Variables: // 34 34 // tab-width: 4 // 35 // compile-command: "cfa abs.c " //35 // compile-command: "cfa abs.cfa" // 36 36 // End: // -
tests/alloc.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // alloc.c --7 // alloc.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Feb 3 07:56:22 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 9 06:21:35201813 // Update Count : 33 712 // Last Modified On : Tue Nov 6 17:50:52 2018 13 // Update Count : 339 14 14 // 15 15 … … 272 272 // Local Variables: // 273 273 // tab-width: 4 // 274 // compile-command: "cfa alloc.c " //274 // compile-command: "cfa alloc.cfa" // 275 275 // End: // -
tests/ato.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // ato.c --7 // ato.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 4 08:10:57 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Nov 16 18:31:56 201713 // Update Count : 8912 // Last Modified On : Tue Dec 4 21:33:53 2018 13 // Update Count : 92 14 14 // 15 15 … … 20 20 const char * sptr = "-123"; 21 21 int i = ato( sptr ); 22 sout | i | sptr | endl;22 sout | i | sptr; 23 23 sptr = "123"; 24 24 unsigned int ui = ato( sptr ); 25 sout | ui | sptr | endl;25 sout | ui | sptr; 26 26 27 27 sptr = "-123"; 28 28 long int li = ato( sptr ); 29 sout | li | sptr | endl;29 sout | li | sptr; 30 30 sptr = "123"; 31 31 unsigned long int uli = ato( sptr ); 32 sout | uli | sptr | endl;32 sout | uli | sptr; 33 33 34 34 sptr = "-123"; 35 35 long long int lli = ato( sptr ); 36 sout | lli | sptr | endl;36 sout | lli | sptr; 37 37 sptr = "123"; 38 38 unsigned long long int ulli = ato( sptr ); 39 sout | ulli | sptr | endl;39 sout | ulli | sptr; 40 40 41 41 sptr = "-123.456"; 42 42 float f = ato( sptr ); 43 sout | f | sptr | endl;43 sout | f | sptr; 44 44 sptr = "-123.4567890123456"; 45 45 double d = ato( sptr ); 46 sout | d | sptr | endl;46 sout | d | sptr; 47 47 sptr = "-123.45678901234567890123456789"; 48 48 long double ld = ato( sptr ); 49 sout | ld | sptr | endl;49 sout | ld | sptr; 50 50 51 51 sptr = "-123.456-123.456i"; 52 52 float _Complex fc = ato( sptr ); 53 sout | fc | sptr | endl;53 sout | fc | sptr; 54 54 sptr = "-123.4567890123456+123.4567890123456i"; 55 55 double _Complex dc = ato( sptr ); 56 sout | dc | sptr | endl;56 sout | dc | sptr; 57 57 sptr = "123.45678901234567890123456789-123.45678901234567890123456789i"; 58 58 long double _Complex ldc = ato( sptr ); 59 sout | ldc | sptr | endl;59 sout | ldc | sptr; 60 60 sptr = "123.45678901234-123.4567890i"; 61 61 long double _Complex ldc2 = ato( sptr ); 62 sout | ldc2 | sptr | endl;62 sout | ldc2 | sptr; 63 63 64 64 65 65 sptr = "-123"; 66 66 i = strto( sptr, 0, 10 ); 67 sout | i | sptr | endl;67 sout | i | sptr; 68 68 sptr = "123"; 69 69 ui = strto( sptr, 0, 10 ); 70 sout | ui | sptr | endl;70 sout | ui | sptr; 71 71 72 72 sptr = "-123"; 73 73 li = strto( sptr, 0, 10 ); 74 sout | li | sptr | endl;74 sout | li | sptr; 75 75 sptr = "123"; 76 76 uli = strto( sptr, 0, 10 ); 77 sout | uli | sptr | endl;77 sout | uli | sptr; 78 78 79 79 sptr = "-123"; 80 80 lli = strto( sptr, 0, 10 ); 81 sout | lli | sptr | endl;81 sout | lli | sptr; 82 82 sptr = "123"; 83 83 ulli = strto( sptr, 0, 10 ); 84 sout | ulli | sptr | endl;84 sout | ulli | sptr; 85 85 86 86 sptr = "-123.456"; 87 87 f = strto( sptr, 0 ); 88 sout | f | sptr | endl;88 sout | f | sptr; 89 89 sptr = "-123.4567890123456"; 90 90 d = strto( sptr, 0 ); 91 sout | d | sptr | endl;91 sout | d | sptr; 92 92 sptr = "-123.45678901234567890123456789"; 93 93 ld = strto( sptr, 0 ); 94 sout | ld | sptr | endl;94 sout | ld | sptr; 95 95 96 96 sptr = "-123.456-123.456i"; 97 97 fc = strto( sptr, 0 ); 98 sout | fc | sptr | endl;98 sout | fc | sptr; 99 99 100 100 char * eptr = 0; 101 101 // sptr = "2fred"; 102 102 // fc = strto( sptr, &eptr ); 103 // sout | fc | sptr | eptr | endl;103 // sout | fc | sptr | eptr; 104 104 105 105 sptr = "2 3"; 106 106 fc = strto( sptr, &eptr ); 107 sout | fc | sptr | eptr | endl;107 sout | fc | sptr | eptr; 108 108 109 109 sptr = "-123.4567890123456+123.4567890123456i"; 110 110 dc = strto( sptr, 0 ); 111 sout | dc | sptr | endl;111 sout | dc | sptr; 112 112 sptr = "123.45678901234567890123456789-123.45678901234567890123456789i"; 113 113 ldc = strto( sptr, 0 ); 114 sout | ldc | sptr | endl;114 sout | ldc | sptr; 115 115 sptr = "123.45678901234-123.4567890i"; 116 116 ldc2 = strto( sptr, 0 ); 117 sout | ldc2 | sptr | endl;117 sout | ldc2 | sptr; 118 118 } // main 119 119 120 120 // Local Variables: // 121 121 // tab-width: 4 // 122 // compile-command: "cfa ato.c " //122 // compile-command: "cfa ato.cfa" // 123 123 // End: // -
tests/attributes.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // attributes.c --7 // attributes.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon Feb 6 16:07:02 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 19 13:50:51201813 // Update Count : 1 512 // Last Modified On : Tue Nov 6 17:51:12 2018 13 // Update Count : 17 14 14 // 15 15 … … 154 154 // Local Variables: // 155 155 // tab-width: 4 // 156 // compile-command: "cfa attributes.c " //156 // compile-command: "cfa attributes.cfa" // 157 157 // End: // -
tests/complex.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // complex.c --7 // complex.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 24 22:07:31 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 24 22:08:01 201713 // Update Count : 112 // Last Modified On : Tue Dec 4 21:34:21 2018 13 // Update Count : 4 14 14 // 15 15 … … 25 25 printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) ); 26 26 #ifdef __CFA__ 27 sout | "x:" | x | "y:" | y | "z:" | z | endl;27 sout | "x:" | x | "y:" | y | "z:" | z; 28 28 #endif // __CFA 29 29 x = 2.1 + 1.3i; … … 32 32 printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) ); 33 33 #ifdef __CFA__ 34 sout | "x:" | x | "y:" | y | "z:" | z | endl;34 sout | "x:" | x | "y:" | y | "z:" | z; 35 35 #endif // __CFA 36 36 } … … 38 38 // Local Variables: // 39 39 // tab-width: 4 // 40 // compile-command: "cfa complex.c " //40 // compile-command: "cfa complex.cfa" // 41 41 // End: // -
tests/concurrent/coroutineYield.cfa
rff5caaf r95b8aa7 6 6 7 7 #define __kick_rate 150000ul 8 #include "long_tests.h "8 #include "long_tests.hfa" 9 9 10 10 #ifndef PREEMPTION_RATE … … 27 27 while(true) { 28 28 #if !defined(TEST_FOREVER) 29 sout | "Coroutine 1" | endl;29 sout | "Coroutine 1"; 30 30 #endif 31 31 yield(); 32 32 #if !defined(TEST_FOREVER) 33 sout | "Coroutine 2" | endl;33 sout | "Coroutine 2"; 34 34 #endif 35 35 suspend(); … … 42 42 for(int i = 0; TEST(i < N); i++) { 43 43 #if !defined(TEST_FOREVER) 44 sout | "Thread 1" | endl;44 sout | "Thread 1"; 45 45 #endif 46 46 resume(c); 47 47 #if !defined(TEST_FOREVER) 48 sout | "Thread 2" | endl;48 sout | "Thread 2"; 49 49 #endif 50 50 yield(); -
tests/concurrent/examples/boundedBufferEXT.cfa
rff5caaf r95b8aa7 8 8 // Created On : Wed Apr 18 22:52:12 2018 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : T hu Aug 16 08:17:03201811 // Update Count : 810 // Last Modified On : Tue Dec 11 21:55:02 2018 11 // Update Count : 9 12 12 // 13 13 … … 115 115 sum += sums[i]; 116 116 } // for 117 sout | "total:" | sum | endl;117 sout | "total:" | sum; 118 118 } 119 119 -
tests/concurrent/examples/boundedBufferINT.cfa
rff5caaf r95b8aa7 8 8 // Created On : Mon Oct 30 12:45:13 2017 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : T hu Aug 16 08:17:58201811 // Update Count : 8 310 // Last Modified On : Tue Dec 11 21:55:45 2018 11 // Update Count : 84 12 12 // 13 13 … … 116 116 sum += sums[i]; 117 117 } // for 118 sout | "total:" | sum | endl;118 sout | "total:" | sum; 119 119 } 120 120 -
tests/concurrent/examples/datingService.cfa
rff5caaf r95b8aa7 8 8 // Created On : Mon Oct 30 12:56:20 2017 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : Sun May 27 09:05:18201811 // Update Count : 2 610 // Last Modified On : Tue Dec 11 21:55:34 2018 11 // Update Count : 28 12 12 // 13 13 … … 58 58 yield( random( 100 ) ); // don't all start at the same time 59 59 unsigned int partner = girl( TheExchange, id, ccode ); 60 sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode | endl;60 sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode; 61 61 girlck[id] = partner; 62 62 } // Girl main … … 69 69 70 70 thread Boy { 71 DatingService & TheExchange;71 DatingService & TheExchange; 72 72 unsigned int id, ccode; 73 73 }; // Boy … … 76 76 yield( random( 100 ) ); // don't all start at the same time 77 77 unsigned int partner = boy( TheExchange, id, ccode ); 78 sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode | endl;78 sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode; 79 79 boyck[id] = partner; 80 80 } // Boy main -
tests/concurrent/examples/matrixSum.cfa
rff5caaf r95b8aa7 6 6 // file "LICENCE" distributed with Cforall. 7 7 // 8 // matrixSum.c --8 // matrixSum.cfa -- 9 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Mon Oct 9 08:29:28 2017 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : T hu Aug 9 09:17:30201814 // Update Count : 1 313 // Last Modified On : Tue Dec 11 21:54:55 2018 14 // Update Count : 15 15 15 // 16 16 … … 54 54 total += subtotals[r]; // total subtotals 55 55 } // for 56 sout | total | endl;56 sout | total; 57 57 } 58 58 59 59 // Local Variables: // 60 60 // tab-width: 4 // 61 // compile-command: "cfa matrixSum.c " //61 // compile-command: "cfa matrixSum.cfa" // 62 62 // End: // -
tests/concurrent/examples/quickSort.cfa
rff5caaf r95b8aa7 9 9 // Created On : Wed Dec 6 12:15:52 2017 10 10 // Last Modified By : Peter A. Buhr 11 // Last Modified On : Thu Aug 16 08:17:41201812 // Update Count : 16 311 // Last Modified On : Sat Dec 22 08:44:27 2018 12 // Update Count : 168 13 13 // 14 14 … … 88 88 89 89 void usage( char * argv[] ) { 90 sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )" | endl;90 sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )"; 91 91 exit( EXIT_FAILURE ); // TERMINATE! 92 92 } // usage … … 114 114 &sortedfile = new( (const char *)argv[2] ); // open the output file 115 115 if ( fail( sortedfile ) ) { 116 serr | "Error! Could not open sorted output file \"" | argv[2] | "\"" | endl;116 serr | "Error! Could not open sorted output file \"" | argv[2] | "\""; 117 117 usage( argv ); 118 118 } // if … … 121 121 &unsortedfile = new( (const char *)argv[1] ); // open the input file 122 122 if ( fail( unsortedfile ) ) { 123 serr | "Error! Could not open unsorted input file \"" | argv[1] | "\"" | endl;123 serr | "Error! Could not open unsorted input file \"" | argv[1] | "\""; 124 124 usage( argv ); 125 125 } // if … … 127 127 } // if 128 128 } // if 129 sortedfile | nlOff; // turn off auto newline 129 130 130 131 enum { ValuesPerLine = 22 }; // number of values printed per line … … 137 138 for ( int counter = 0; counter < size; counter += 1 ) { // read unsorted numbers 138 139 unsortedfile | values[counter]; 139 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | " ";140 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | " "; 140 141 sortedfile | values[counter]; 141 142 if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' '; 142 143 } // for 143 sortedfile | endl;144 sortedfile | nl; 144 145 if ( size > 0 ) { // values to sort ? 145 146 Quicksort QS = { values, size - 1, 0 }; // sort values 146 147 } // wait until sort tasks terminate 147 148 for ( int counter = 0; counter < size; counter += 1 ) { // print sorted list 148 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | " ";149 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | " "; 149 150 sortedfile | values[counter]; 150 151 if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' '; 151 152 } // for 152 sortedfile | endl | endl;153 sortedfile | nl | nl; 153 154 154 155 delete( values ); -
tests/concurrent/monitor.cfa
rff5caaf r95b8aa7 40 40 MyThread f[4]; 41 41 } 42 sout | global.value | endl;42 sout | global.value; 43 43 } -
tests/concurrent/multi-monitor.cfa
rff5caaf r95b8aa7 52 52 } 53 53 } 54 sout | global12 | global23 | global13 | endl;54 sout | global12 | global23 | global13; 55 55 } -
tests/concurrent/preempt.cfa
rff5caaf r95b8aa7 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/concurrent/signal/block.cfa
rff5caaf r95b8aa7 14 14 #include <time.hfa> 15 15 16 #include "long_tests.h "16 #include "long_tests.hfa" 17 17 18 18 #ifndef PREEMPTION_RATE … … 57 57 58 58 if(a.last_thread != a.last_signaller || b.last_thread != b.last_signaller ) { 59 sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread | endl;59 sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread; 60 60 abort(); 61 61 } … … 85 85 86 86 if( ! signal_block( cond ) ) { 87 sout | "ERROR expected to be able to signal" | endl;87 sout | "ERROR expected to be able to signal"; 88 88 abort(); 89 89 } … … 92 92 93 93 if(a.last_thread != next || b.last_thread != next) { 94 sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread | endl;94 sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread; 95 95 abort(); 96 96 } … … 130 130 Signaller s[4]; 131 131 Barger b[13]; 132 sout | "Starting waiters" | endl;132 sout | "Starting waiters"; 133 133 { 134 134 Waiter w[3]; 135 135 } 136 sout | "Waiters done" | endl;136 sout | "Waiters done"; 137 137 done = true; 138 138 } -
tests/concurrent/signal/disjoint.cfa
rff5caaf r95b8aa7 5 5 #include <time.hfa> 6 6 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE … … 66 66 wait( cond ); 67 67 if( d.state != SIGNAL ) { 68 sout | "ERROR barging!" | endl;68 sout | "ERROR barging!"; 69 69 } 70 70 71 71 #if !defined(TEST_FOREVER) 72 72 d.counter++; 73 if( (d.counter % 1000) == 0 ) sout | d.counter | endl;73 if( (d.counter % 1000) == 0 ) sout | d.counter; 74 74 #endif 75 75 … … 99 99 bool running = TEST(data.counter < N) && data.counter > 0; 100 100 if( data.state != SIGNAL && running ) { 101 sout | "ERROR Eager signal" | data.state | endl;101 sout | "ERROR Eager signal" | data.state; 102 102 } 103 103 } … … 124 124 Waiter w[4]; 125 125 } 126 sout | "All waiter done" | endl;126 sout | "All waiter done"; 127 127 all_done = true; 128 128 } -
tests/concurrent/signal/wait.cfa
rff5caaf r95b8aa7 13 13 14 14 #define __kick_rate 12000ul 15 #include "long_tests.h "15 #include "long_tests.hfa" 16 16 17 17 #ifndef PREEMPTION_RATE … … 83 83 break; 84 84 default: 85 sout | "Something went wrong" | endl;85 sout | "Something went wrong"; 86 86 abort(); 87 87 } … … 140 140 waiter_left = 4; 141 141 processor p[2]; 142 sout | "Starting" | endl;142 sout | "Starting"; 143 143 { 144 144 Signaler e; … … 150 150 } 151 151 } 152 sout | "Done" | endl;152 sout | "Done"; 153 153 } -
tests/concurrent/thread.cfa
rff5caaf r95b8aa7 12 12 void main(First& this) { 13 13 for(int i = 0; i < 10; i++) { 14 sout | "First : Suspend No." | i + 1 | endl;14 sout | "First : Suspend No." | i + 1; 15 15 yield(); 16 16 } … … 21 21 P(*this.lock); 22 22 for(int i = 0; i < 10; i++) { 23 sout | "Second : Suspend No." | i + 1 | endl;23 sout | "Second : Suspend No." | i + 1; 24 24 yield(); 25 25 } … … 29 29 int main(int argc, char* argv[]) { 30 30 semaphore lock = { 0 }; 31 sout | "User main begin" | endl;31 sout | "User main begin"; 32 32 { 33 33 processor p; … … 37 37 } 38 38 } 39 sout | "User main end" | endl;39 sout | "User main end"; 40 40 } -
tests/concurrent/waitfor/barge.cfa
rff5caaf r95b8aa7 48 48 yield(random( 10 )); 49 49 if( this.state != WAITFOR && !this.done && this.started ) { 50 serr | "Barging before caller detected" | endl;50 serr | "Barging before caller detected"; 51 51 } 52 52 … … 66 66 this.state = WAITFOR; 67 67 waitfor(do_call, this) { 68 sout | i | endl;68 sout | i; 69 69 } 70 70 71 71 if( this.state != CALL ) { 72 serr | "Barging after caller detected" | endl;72 serr | "Barging after caller detected"; 73 73 } 74 74 } … … 83 83 84 84 int main() { 85 sout | "Starting" | endl;85 sout | "Starting"; 86 86 { 87 87 barger_t bargers[17]; … … 89 89 waiter_t waiters; 90 90 } 91 sout | "Stopping" | endl;91 sout | "Stopping"; 92 92 } -
tests/concurrent/waitfor/dtor.cfa
rff5caaf r95b8aa7 29 29 switch(state) { 30 30 case CTOR : break; 31 case MAIN : if( this.state != CTOR ) { serr | "ERROR Expected state to be CTOR" | endl; abort(); } this.state = state; break;32 case AFTER : if( this.state != MAIN ) { serr | "ERROR Expected state to be MAIN" | endl; abort(); } this.state = state; break;33 case END : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER" | endl; abort(); } this.state = state; break;34 case DTOR : if( this.state != END ) { serr | "ERROR Expected state to be END" | endl; abort(); } this.state = state; break;31 case MAIN : if( this.state != CTOR ) { serr | "ERROR Expected state to be CTOR" ; abort(); } this.state = state; break; 32 case AFTER : if( this.state != MAIN ) { serr | "ERROR Expected state to be MAIN" ; abort(); } this.state = state; break; 33 case END : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER"; abort(); } this.state = state; break; 34 case DTOR : if( this.state != END ) { serr | "ERROR Expected state to be END" ; abort(); } this.state = state; break; 35 35 } 36 36 } … … 54 54 55 55 int main() { 56 sout | "Starting" | endl;56 sout | "Starting"; 57 57 processor p; 58 58 for( int i = 0; i < N; i++ ){ … … 60 60 yield( random( 100 ) ); 61 61 } 62 sout | "Stopping" | endl;62 sout | "Stopping"; 63 63 } -
tests/concurrent/waitfor/else.cfa
rff5caaf r95b8aa7 12 12 void test( M & mutex m ) { 13 13 int i = 0; 14 sout | "Starting" | endl;14 sout | "Starting"; 15 15 16 16 when( false ) waitfor( notcalled, m ); 17 17 18 sout | "Step" | i++ | endl;18 sout | "Step" | i++; 19 19 20 20 waitfor( notcalled, m ); or else { 21 sout | "else called" | endl;21 sout | "else called"; 22 22 } 23 23 24 sout | "Step" | i++ | endl;24 sout | "Step" | i++; 25 25 26 26 when( true ) waitfor( notcalled, m ); or when( true ) else { 27 sout | "else called" | endl;27 sout | "else called"; 28 28 } 29 29 30 sout | "Step" | i++ | endl;30 sout | "Step" | i++; 31 31 32 32 when( false ) waitfor( notcalled, m ); or when( true ) else { 33 sout | "else called" | endl;33 sout | "else called"; 34 34 } 35 35 36 sout | "Step" | i++ | endl;36 sout | "Step" | i++; 37 37 38 38 when( false ) waitfor( notcalled, m ); or when( false ) else { 39 sout | "else called" | endl;39 sout | "else called"; 40 40 } 41 41 42 sout | "Done" | endl;42 sout | "Done"; 43 43 } 44 44 -
tests/concurrent/waitfor/recurse.cfa
rff5caaf r95b8aa7 95 95 rand_yield(); 96 96 97 sout | "1st" | endl;97 sout | "1st" | nl; 98 98 99 99 return this.counter < N ? (state_t)this.actions[idx] : (state_t)STOP; … … 123 123 case THIRD : while( !global.ready ) { yield(); } this.state = call3( global, this.idx ); break; 124 124 case LAST : while( !global.ready ) { yield(); } this.state = call4( global, this.idx ); break; 125 case STOP : serr | "This should not happen" | endl;125 case STOP : serr | "This should not happen" | nl; 126 126 } 127 127 } … … 132 132 int main() { 133 133 srandom( time(NULL) ); 134 sout | "Starting" | endl; 134 sout | nlOff; // turn off auto newline 135 sout | "Starting" | nl; 135 136 { 136 137 waiter_t waiters[4] = { … … 142 143 the_threads = waiters; 143 144 } 144 sout | "Stopping" | endl;145 sout | "Stopping" | nl; 145 146 } -
tests/concurrent/waitfor/simple.cfa
rff5caaf r95b8aa7 31 31 32 32 void do_wait( global_t * mutex a ) { 33 sout | "Waiting to accept" | endl;33 sout | "Waiting to accept"; 34 34 yield( random( 10 ) ); 35 35 36 sout | "Accepting" | endl;36 sout | "Accepting"; 37 37 38 38 __acceptable_t acceptable; … … 43 43 __waitfor_internal( 1, &acceptable ); 44 44 45 sout | "Accepted" | endl;45 sout | "Accepted"; 46 46 yield( random( 10 ) ); 47 47 } … … 50 50 for( int i = 0; i < N; i++ ) { 51 51 do_wait( &globalA ); 52 sout | i | endl;52 sout | i; 53 53 } 54 54 … … 76 76 srandom( time( NULL ) ); 77 77 printf("%p\n", &globalA); 78 sout | "Starting" | endl;78 sout | "Starting"; 79 79 { 80 80 Acceptor r; … … 82 82 83 83 } 84 sout | "Done" | endl;84 sout | "Done"; 85 85 } -
tests/concurrent/waitfor/statment.cfa
rff5caaf r95b8aa7 84 84 case 7: return call7( m ); 85 85 default : 86 serr | "Incorrect index" | index | endl;86 serr | "Incorrect index" | index; 87 87 abort(); 88 88 } … … 102 102 while( !done ) { 103 103 waitfor( get_index, this ); 104 or waitfor( call1, this ) { sout | "Statement" | endl; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val | endl; } }105 or waitfor( call2, this ) { sout | "Statement" | endl; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val | endl; } }106 or waitfor( call3, this ) { sout | "Statement" | endl; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val | endl; } }107 or waitfor( call4, this ) { sout | "Statement" | endl; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val | endl; } }108 or waitfor( call5, this ) { sout | "Statement" | endl; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val | endl; } }109 or waitfor( call6, this ) { sout | "Statement" | endl; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val | endl; } }110 or waitfor( call7, this ) { sout | "Statement" | endl; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val | endl; } }104 or waitfor( call1, this ) { sout | "Statement"; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val; } } 105 or waitfor( call2, this ) { sout | "Statement"; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val; } } 106 or waitfor( call3, this ) { sout | "Statement"; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val; } } 107 or waitfor( call4, this ) { sout | "Statement"; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val; } } 108 or waitfor( call5, this ) { sout | "Statement"; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val; } } 109 or waitfor( call6, this ) { sout | "Statement"; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val; } } 110 or waitfor( call7, this ) { sout | "Statement"; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val; } } 111 111 112 112 done = true; … … 128 128 int main() { 129 129 processor p[2]; 130 sout | "Starting" | endl;130 sout | "Starting"; 131 131 { 132 132 caller c[7]; 133 133 waiter w; 134 134 } 135 sout | "Stopping" | endl;135 sout | "Stopping"; 136 136 } -
tests/concurrent/waitfor/when.cfa
rff5caaf r95b8aa7 58 58 void arbiter( global_t & mutex this ) { 59 59 for( int i = 0; i < N; i++ ) { 60 when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call | endl; } }61 or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call | endl; } }62 or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call | endl; } }63 or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call | endl; } }64 or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call | endl; } }65 or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call | endl; } }60 when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call; } } 61 or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call; } } 62 or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call; } } 63 or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call; } } 64 or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call; } } 65 or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call; } } 66 66 67 sout | this.last_call | endl;67 sout | this.last_call; 68 68 } 69 69 … … 78 78 int main() { 79 79 srandom( time(NULL) ); 80 sout | "Starting" | endl;80 sout | "Starting"; 81 81 { 82 82 arbiter_t arbiter; … … 84 84 85 85 } 86 sout | "Stopping" | endl;86 sout | "Stopping"; 87 87 } -
tests/coroutine/.expect/fmtLines.txt
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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/coroutine/fibonacci.cfa
rff5caaf r95b8aa7 10 10 // Created On : Thu Jun 8 07:29:37 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:21:58201813 // Update Count : 2 412 // Last Modified On : Tue Dec 11 21:57:33 2018 13 // Update Count : 25 14 14 // 15 15 … … 39 39 Fibonacci f1, f2; 40 40 for ( 10 ) { // print N Fibonacci values 41 sout | next( f1 ) | next( f2 ) | endl;41 sout | next( f1 ) | next( f2 ); 42 42 } // for 43 43 } -
tests/coroutine/fibonacci_1.cfa
rff5caaf r95b8aa7 10 10 // Created On : Thu Apr 26 23:20:08 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:21:02201813 // Update Count : 1 312 // Last Modified On : Tue Dec 11 21:57:54 2018 13 // Update Count : 14 14 14 // 15 15 … … 36 36 Fibonacci f1, f2; 37 37 for ( 10 ) { // print N Fibonacci values 38 sout | next( f1 ) | next( f2 ) | endl;38 sout | next( f1 ) | next( f2 ); 39 39 } // for 40 40 } -
tests/coroutine/fmtLines.cfa
rff5caaf r95b8aa7 10 10 // Created On : Sun Sep 17 21:56:15 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 16 08:20:54201813 // Update Count : 4512 // Last Modified On : Sat Dec 22 18:27:00 2018 13 // Update Count : 57 14 14 // 15 15 … … 24 24 void main( Format & fmt ) with( fmt ) { 25 25 for () { // for as many characters 26 for ( g ; 5 ) {// groups of 5 blocks27 for ( b ; 4 ) {// blocks of 4 characters26 for ( g = 0; g < 5; g += 1 ) { // groups of 5 blocks 27 for ( b = 0; b < 4; b += 1 ) { // blocks of 4 characters 28 28 for () { // for newline characters 29 29 suspend(); 30 if ( ch != '\n' ) break;// ignore newline30 if ( ch != '\n' ) break; // ignore newline 31 31 } // for 32 32 sout | ch; // print character … … 34 34 sout | " "; // print block separator 35 35 } // for 36 sout | endl;// print group separator36 sout | nl; // print group separator 37 37 } // for 38 38 } // main … … 43 43 44 44 void ^?{}( Format & fmt ) with( fmt ) { 45 if ( g != 0 || b != 0 ) sout | endl;45 if ( g != 0 || b != 0 ) sout | nl; 46 46 } 47 47 48 48 void format( Format & fmt ) { 49 49 resume( fmt ); 50 } // prt50 } // format 51 51 52 52 int main() { 53 53 Format fmt; 54 sout | nlOff; // turn off auto newline 54 55 55 56 eof: for () { // read until end of file -
tests/coroutine/pingpong.cfa
rff5caaf r95b8aa7 10 10 // Created On : Wed Sep 20 11:55:23 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:31:11201813 // Update Count : 2 812 // Last Modified On : Tue Dec 11 21:58:06 2018 13 // Update Count : 29 14 14 // 15 15 … … 24 24 25 25 void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) { 26 (this.__cor){name}; 26 27 this.name = name; 27 28 this.N = N; … … 40 41 void main( PingPong & pingpong ) { // ping's starter ::main, pong's starter ping 41 42 for ( pingpong.N ) { // N ping-pongs 42 sout | pingpong.name | endl;43 sout | pingpong.name; 43 44 cycle( *pingpong.part ); 44 45 } // for -
tests/coroutine/prodcons.cfa
rff5caaf r95b8aa7 10 10 // Created On : Mon Sep 18 12:23:39 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 12:55:10201813 // Update Count : 5 112 // Last Modified On : Wed Dec 12 23:04:49 2018 13 // Update Count : 53 14 14 // 15 15 … … 24 24 25 25 coroutine Prod { 26 Cons *c;26 Cons & c; 27 27 int N, money, receipt; 28 28 }; … … 30 30 // 1st resume starts here 31 31 for ( i; N ) { // N pairs of values 32 int p1 = random( 100 ); 33 int p2 = random( 100 ); 34 sout | p1 | " " | p2 | endl; 35 int status = delivery( *c, p1, p2 ); 36 sout | " $" | money | endl; 37 sout | status | endl; 32 int p1 = random( 100 ), p2 = random( 100 ); 33 sout | p1 | " " | p2; 34 int status = delivery( c, p1, p2 ); 35 sout | " $" | money | nl | status; 38 36 receipt += 1; 39 37 } 40 stop( *c );41 sout | "prod stops" | endl;38 stop( c ); 39 sout | "prod stops"; 42 40 } 43 41 int payment( Prod & prod, int money ) { … … 47 45 } 48 46 void start( Prod & prod, int N, Cons &c ) { 49 prod.N = N; 50 prod.c = &c; 51 prod.receipt = 0; 47 &prod.c = &c; 48 prod.[N, receipt] = [N, 0]; 52 49 resume( prod ); // activate main 53 50 } 54 51 55 52 coroutine Cons { 56 Prod *p;53 Prod & p; 57 54 int p1, p2, status; 58 55 bool done; 59 56 }; 60 57 void ?{}( Cons & cons, Prod & p ) { 61 cons.p = &p; 62 cons.status = 0; 63 cons.done = false; 58 &cons.p = &p; 59 cons.[status, done ] = [0, false]; 64 60 } 65 61 void ^?{}( Cons & cons ) {} … … 68 64 int money = 1, receipt; 69 65 for ( ; ! done; ) { 70 sout | p1 | " " | p2 | endl; 71 sout | " $" | money | endl; 66 sout | p1 | " " | p2 | nl | " $" | money; 72 67 status += 1; 73 receipt = payment( *p, money );74 sout | " #" | receipt | endl;68 receipt = payment( p, money ); 69 sout | " #" | receipt; 75 70 money += 1; 76 71 } 77 sout | "cons stops" | endl;72 sout | "cons stops"; 78 73 } 79 74 int delivery( Cons & cons, int p1, int p2 ) { 80 cons.p1 = p1; 81 cons.p2 = p2; 75 cons.[p1, p2] = [p1, p2]; 82 76 resume( cons ); // main 1st time, then 83 77 return cons.status; // cons in payment … … 92 86 srandom( /* getpid() */ 103 ); // fixed seed for testing 93 87 start( prod, 5, cons ); 94 sout | "main stops" | endl;88 sout | "main stops"; 95 89 } 96 90 -
tests/coroutine/runningTotal.cfa
rff5caaf r95b8aa7 10 10 // Created On : Wed Dec 6 08:05:27 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 16 08:22:29201813 // Update Count : 312 // Last Modified On : Tue Dec 11 21:59:00 2018 13 // Update Count : 4 14 14 // 15 15 … … 42 42 RunTotal rntl; 43 43 for ( i; 10 ) { 44 sout | i | add( rntl, i ) | endl;44 sout | i | add( rntl, i ); 45 45 } // for 46 46 } -
tests/counter.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // counter.c --7 // counter.cfa -- 8 8 // 9 9 // Author : Aaron B. Moss 10 10 // Created On : Thu Feb 22 15:27:00 2018 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : T hu Feb 22 15:27:00201813 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Nov 6 17:50:23 2018 13 // Update Count : 2 14 14 // 15 15 … … 37 37 // Local Variables: // 38 38 // tab-width: 4 // 39 // compile-command: "cfa counter.c " //39 // compile-command: "cfa counter.cfa" // 40 40 // End: // -
tests/declarationErrors.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // declarationErrors.c --7 // declarationErrors.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:23:43 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Sep 9 22:57:52 201613 // Update Count : 3 112 // Last Modified On : Tue Nov 6 17:52:47 2018 13 // Update Count : 32 14 14 // 15 15 … … 42 42 // Local Variables: // 43 43 // tab-width: 4 // 44 // compile-command: "cfa declarationErrors.c " //44 // compile-command: "cfa declarationErrors.cfa" // 45 45 // End: // -
tests/declarationSpecifier.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // declarationSpecifier.c --7 // declarationSpecifier.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:21:04 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 08:24:33 201613 // Update Count : 212 // Last Modified On : Tue Nov 6 17:52:59 2018 13 // Update Count : 3 14 14 // 15 15 … … 96 96 // Local Variables: // 97 97 // tab-width: 4 // 98 // compile-command: "cfa declarationSpecifier.c " //98 // compile-command: "cfa declarationSpecifier.cfa" // 99 99 // End: // -
tests/div.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // div.c --7 // div.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Aug 8 16:28:43 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Dec 7 09:06:52 201713 // Update Count : 1812 // Last Modified On : Tue Dec 4 21:35:01 2018 13 // Update Count : 20 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> // div17 #include <stdlib.hfa> // div 18 18 19 19 struct T { int i; }; … … 23 23 24 24 int main( void ) { 25 sout | "div" | div( 13, 5 ) | div( 13L, 5L ) | div( 13LL, 5LL ) | endl;25 sout | "div" | div( 13, 5 ) | div( 13L, 5L ) | div( 13LL, 5LL ); 26 26 short s1 = 13, s2 = 5; 27 sout | "div" | div( s1, s2 ) | endl;27 sout | "div" | div( s1, s2 ); 28 28 T t1 = { 13 }, t2 = { 5 }; 29 sout | "div" | div( t1, t2 ) | endl;// polymorphic div29 sout | "div" | div( t1, t2 ); // polymorphic div 30 30 } // main 31 31 32 32 // Local Variables: // 33 33 // tab-width: 4 // 34 // compile-command: "cfa div.c " //34 // compile-command: "cfa div.cfa" // 35 35 // End: // -
tests/except-0.cfa
rff5caaf r95b8aa7 8 8 #include <stdbool.h> 9 9 10 #include "except-mac.h "10 #include "except-mac.hfa" 11 11 TRIVIAL_EXCEPTION(yin) 12 12 TRIVIAL_EXCEPTION(yang) … … 25 25 void ^?{}(signal_exit * this) { 26 26 printf("Exiting: %s\n", this->area); 27 // sout | "Exiting:" | this->area | endl;27 // sout | "Exiting:" | this->area; 28 28 } 29 29 -
tests/except-1.cfa
rff5caaf r95b8aa7 5 5 #include <stdio.h> 6 6 7 #include "except-mac.h "7 #include "except-mac.hfa" 8 8 TRIVIAL_EXCEPTION(yin) 9 9 TRIVIAL_EXCEPTION(yang) -
tests/except-2.cfa
rff5caaf r95b8aa7 3 3 4 4 #include <stdlib.hfa> 5 #include "except-mac.h "5 #include "except-mac.hfa" 6 6 7 7 TRIVIAL_EXCEPTION(yin) -
tests/except-3.cfa
rff5caaf r95b8aa7 2 2 3 3 #include <stdio.h> 4 #include "except-mac.h "4 #include "except-mac.hfa" 5 5 TRIVIAL_EXCEPTION(myth) 6 6 -
tests/extension.cfa
rff5caaf r95b8aa7 2 2 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 3 3 // 4 // extension.c --4 // extension.cfa -- 5 5 // 6 6 // Author : Peter A. Buhr 7 7 // Created On : Mon Jul 4 20:42:43 2016 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : Mon Feb 6 15:44:39 201710 // Update Count : 4 69 // Last Modified On : Tue Nov 6 17:53:21 2018 10 // Update Count : 47 11 11 // 12 12 … … 56 56 // Local Variables: // 57 57 // tab-width: 4 // 58 // compile-command: "cfa extension.c " //58 // compile-command: "cfa extension.cfa" // 59 59 // End: // -
tests/forall.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // forall.c --7 // forall.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 9 08:48:15 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 12 16:19:08201813 // Update Count : 3 012 // Last Modified On : Tue Nov 6 17:53:43 2018 13 // Update Count : 31 14 14 // 15 15 … … 219 219 // Local Variables: // 220 220 // tab-width: 4 // 221 // compile-command: "cfa forall.c " //221 // compile-command: "cfa forall.cfa" // 222 222 // End: // -
tests/fstream_test.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // fstream_test.c --7 // fstream_test.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 24 11:30:26 201713 // Update Count : 6 512 // Last Modified On : Sat Dec 22 09:47:44 2018 13 // Update Count : 68 14 14 // 15 15 … … 18 18 int main( void ) { 19 19 int nombre; 20 sout | "Entrez un nombre, s'il vous plaît:" | endl;20 sout | "Entrez un nombre, s'il vous plaît:"; 21 21 sin | nombre; 22 sout | "Vous avez entré" | nombre | endl;22 sout | "Vous avez entré" | nombre; 23 23 sout | "le nombre" | nombre | "est" 24 | (nombre > 0 ? "positif" : nombre == 0 ? "zéro" : "négatif") | endl;24 | (nombre > 0 ? "positif" : nombre == 0 ? "zéro" : "négatif"); 25 25 26 sout | "Entrez trois nombres, s'il vous plaît: " | endl;26 sout | "Entrez trois nombres, s'il vous plaît:"; 27 27 int i, j, k; 28 28 sin | i | j | k; 29 sout | "Vous avez entré" | "i:" | "" | i | "j:" | "" | j | "k:" | "" | k | endl;29 sout | "Vous avez entré" | "i:" | "" | i | "j:" | "" | j | "k:" | "" | k; 30 30 } 31 31 32 32 // Local Variables: // 33 33 // tab-width: 4 // 34 // compile-command: "cfa fstream_test.c " //34 // compile-command: "cfa fstream_test.cfa" // 35 35 // End: // -
tests/function-operator.cfa
rff5caaf r95b8aa7 10 10 // Created On : Fri Aug 25 15:21:11 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 2 09:27:53201813 // Update Count : 812 // Last Modified On : Tue Dec 4 21:37:09 2018 13 // Update Count : 9 14 14 // 15 15 … … 83 83 // TODO: abstract over (os, T) 84 84 os_wrapper ?=?(os_wrapper & wrapper, int x) { 85 *wrapper.out | x | endl;85 *wrapper.out | x; 86 86 return wrapper; 87 87 } -
tests/functions.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // functions.c --7 // functions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:39:58 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:44:12201813 // Update Count : 1 212 // Last Modified On : Tue Nov 6 17:54:09 2018 13 // Update Count : 13 14 14 // 15 15 … … 188 188 // Local Variables: // 189 189 // tab-width: 4 // 190 // compile-command: "cfa functions.c " //190 // compile-command: "cfa functions.cfa" // 191 191 // End: // -
tests/gccExtensions.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gccExtensions.c --7 // gccExtensions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sun Aug 14 17:28:17 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 09:26:50 201613 // Update Count : 1 012 // Last Modified On : Tue Nov 6 17:54:20 2018 13 // Update Count : 11 14 14 // 15 15 … … 120 120 // Local Variables: // 121 121 // tab-width: 4 // 122 // compile-command: "cfa gccExtensions.c " //122 // compile-command: "cfa gccExtensions.cfa" // 123 123 // End: // -
tests/gmp.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gmp.c --7 // gmp.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Apr 19 08:55:51 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 12:43:13201813 // Update Count : 55 612 // Last Modified On : Thu Dec 20 22:41:47 2018 13 // Update Count : 559 14 14 // 15 15 … … 19 19 20 20 int main( void ) { 21 sout | "constructors" | endl;21 sout | "constructors"; 22 22 short int si = 3; 23 23 Int x = { "50000000000000000000" }, y = { si }, z = x + y; 24 sout | x | y | z | endl;25 sout | "x:" | x | "y:" | y | "z:" | z | endl;24 sout | x | y | z; 25 sout | "x:" | x | "y:" | y | "z:" | z; 26 26 27 sout | "conversions" | endl;27 sout | "conversions"; 28 28 y = 'a'; 29 sout | "y:" | y | endl;29 sout | "y:" | y; 30 30 y = "12345678901234567890123456789"; 31 sout | "y:" | y | endl;31 sout | "y:" | y; 32 32 y = 100`mp + 100`mp; 33 sout | "y:" | y | endl;33 sout | "y:" | y; 34 34 y = -200u`mp + -200u`mp; 35 sout | "y:" | y | endl;35 sout | "y:" | y; 36 36 y = "12345678901234567890123456789"`mp + "12345678901234567890123456789"`mp; 37 sout | "y:" | y | endl;37 sout | "y:" | y; 38 38 y = si; 39 sout | "y:" | y | endl;39 sout | "y:" | y; 40 40 y = -3; 41 sout | "y:" | y | endl;41 sout | "y:" | y; 42 42 y += 7; 43 sout | "y:" | y | endl;43 sout | "y:" | y; 44 44 y -= 1; 45 sout | "y:" | y | endl;45 sout | "y:" | y; 46 46 int b; 47 47 b = y; 48 48 si = y; 49 sout | "y:" | y | "b:" | b | "si:" | si | endl;49 sout | "y:" | y | "b:" | b | "si:" | si; 50 50 51 sout | "comparison" | endl;52 sout | x == x | endl;53 sout | x != x | endl;54 sout | x < x | endl;55 sout | x <= x | endl;56 sout | x > x | endl;57 sout | x >= x | endl;51 sout | "comparison"; 52 sout | x == x; 53 sout | x != x; 54 sout | x < x; 55 sout | x <= x; 56 sout | x > x; 57 sout | x >= x; 58 58 59 sout | "arithmetic" | endl;59 sout | "arithmetic"; 60 60 z = x + y + z; 61 sout | "z:" | z | endl;61 sout | "z:" | z; 62 62 z = z = x; 63 sout | "z:" | z | endl;63 sout | "z:" | z; 64 64 z = x - y - z; 65 sout | "z:" | z | endl;65 sout | "z:" | z; 66 66 z = x * y * z; 67 sout | "z:" | z | endl;67 sout | "z:" | z; 68 68 z = x * 3; 69 sout | "z:" | z | endl;69 sout | "z:" | z; 70 70 z = 3 * x; 71 sout | "z:" | z | endl;71 sout | "z:" | z; 72 72 z = x / 3; 73 sout | "z:" | z | endl;74 sout | div( x, 3 ) | x / 3 | "," | x % 3 | endl;73 sout | "z:" | z; 74 sout | div( x, 3 ) | x / 3 | "," | x % 3; 75 75 [ x, y ] = div( x, 3 ); 76 sout | "x:" | x | "y:" | y | endl;76 sout | "x:" | x | "y:" | y; 77 77 78 sout | endl;78 sout | nl; 79 79 80 80 sin | x | y | z; 81 sout | x | y | z | endl;81 sout | x | y | z; 82 82 83 sout | endl;83 sout | nl; 84 84 85 sout | "Fibonacci Numbers" | endl;85 sout | "Fibonacci Numbers"; 86 86 Int fn, fn1, fn2; 87 87 fn = (Int){0}; fn1 = fn; // 1st case 88 sout | (int)0 | fn | endl;88 sout | (int)0 | fn; 89 89 fn = 1; fn2 = fn1; fn1 = fn; // 2nd case 90 sout | 1 | fn | endl;90 sout | 1 | fn; 91 91 for ( i; 2u ~= 200 ) { 92 92 fn = fn1 + fn2; fn2 = fn1; fn1 = fn; // general case 93 sout | i | fn | endl;93 sout | i | fn; 94 94 } // for 95 95 96 sout | endl;96 sout | nl; 97 97 98 sout | "Factorial Numbers" | endl;98 sout | "Factorial Numbers"; 99 99 Int fact = 1; // 1st case 100 sout | (int)0 | fact | endl;100 sout | (int)0 | fact; 101 101 for ( i; 1u ~= 40u ) { 102 102 fact *= i; // general case 103 sout | i | fact | endl;103 sout | i | fact; 104 104 } // for 105 105 } // main … … 107 107 // Local Variables: // 108 108 // tab-width: 4 // 109 // compile-command: "cfa gmp.c -lgmp" //109 // compile-command: "cfa gmp.cfa -lgmp" // 110 110 // End: // -
tests/heap.cfa
rff5caaf r95b8aa7 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // heap.cfa -- 8 // 9 // Author : Peter A. Buhr 10 // Created On : Tue Nov 6 17:54:56 2018 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 11 21:52:40 2018 13 // Update Count : 18 14 // 15 1 16 #include <thread.hfa> 2 #include <kernel.hfa> // processor3 #include <stdlib.hfa> // *allocs17 #include <kernel.hfa> // processor 18 #include <stdlib.hfa> // *allocs 4 19 #include <malloc.h> // malloc_* 5 20 … … 22 37 void main( Worker & ) { 23 38 enum { NoOfAllocs = 5000, NoOfMmaps = 10 }; 24 char * locns[NoOfAllocs];39 char * locns[NoOfAllocs]; 25 40 int i; 26 41 27 42 // check alloc/free 28 43 29 for ( int j = 0; j < 40; j += 1) {30 for ( i = 0; i < NoOfAllocs; i += 1) {44 for ( j; 40 ) { 45 for ( i; NoOfAllocs ) { 31 46 locns[i] = alloc( i ); 32 //sout | (void *)locns[i] | endl;33 for ( int k = 0; k < i; k += 1) locns[i][k] = '\345';34 } // for 35 //sout | (char *)sbrk(0) - start | " bytes" | endl;36 37 for ( i = 0; i < NoOfAllocs; i += 1) {38 //sout | (void *)locns[i] | endl;39 for ( int k = 0; k < i; k += 1) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage1" );47 //sout | (void *)locns[i]; 48 for ( k; i ) locns[i][k] = '\345'; 49 } // for 50 //sout | (char *)sbrk(0) - start | " bytes"; 51 52 for ( i; NoOfAllocs ) { 53 //sout | (void *)locns[i]; 54 for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage1" ); 40 55 free( locns[i] ); 41 56 } // for 42 //sout | (char *)sbrk(0) - start | " bytes" | endl;43 44 for ( i = 0; i < NoOfAllocs; i += 1) {57 //sout | (char *)sbrk(0) - start | " bytes"; 58 59 for ( i; NoOfAllocs ) { 45 60 locns[i] = alloc( i ); 46 //sout | (void *)locns[i] | endl;47 for ( int k = 0; k < i; k += 1) locns[i][k] = '\345';48 } // for 49 for ( i = NoOfAllocs - 1; i >=0 ; i -= 1) {50 //sout | (void *)locns[i] | endl;51 for ( int k = 0; k < i; k += 1) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" );61 //sout | (void *)locns[i]; 62 for ( k; i ) locns[i][k] = '\345'; 63 } // for 64 for ( i; NoOfAllocs - 1 -~= 0 ) { 65 //sout | (void *)locns[i]; 66 for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" ); 52 67 free( locns[i] ); 53 68 } // for … … 56 71 // check malloc/free (sbrk) 57 72 58 for ( i = 0; i < NoOfAllocs; i += 1) {73 for ( i; NoOfAllocs ) { 59 74 size_t s = (i + 1) * 20; 60 char * area = (char *)malloc( s );75 char * area = (char *)malloc( s ); 61 76 if ( area == 0 ) abort( "malloc/free out of memory" ); 62 77 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 65 80 } // for 66 81 67 for ( i = 0; i < NoOfAllocs; i += 1) {68 size_t s = i + 1; // +1 to make initialization simpler82 for ( i; NoOfAllocs ) { 83 size_t s = i + 1; // +1 to make initialization simpler 69 84 locns[i] = (char *)malloc( s ); 70 85 if ( locns[i] == 0 ) abort( "malloc/free out of memory" ); … … 72 87 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 73 88 } // for 74 for ( i = 0; i < NoOfAllocs; i += 1) {89 for ( i; NoOfAllocs ) { 75 90 size_t s = i + 1; 76 91 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || … … 81 96 // check malloc/free (mmap) 82 97 83 for ( i = 0; i < NoOfMmaps; i += 1) {84 size_t s = i + default_mmap_start(); // cross over point85 char * area = (char *)malloc( s );98 for ( i; NoOfMmaps ) { 99 size_t s = i + default_mmap_start(); // cross over point 100 char * area = (char *)malloc( s ); 86 101 if ( area == 0 ) abort( "malloc/free out of memory" ); 87 102 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 90 105 } // for 91 106 92 for ( i = 0; i < NoOfMmaps; i += 1) {93 size_t s = i + default_mmap_start(); // cross over point107 for ( i; NoOfMmaps ) { 108 size_t s = i + default_mmap_start(); // cross over point 94 109 locns[i] = (char *)malloc( s ); 95 110 if ( locns[i] == 0 ) abort( "malloc/free out of memory" ); … … 97 112 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 98 113 } // for 99 for ( i = 0; i < NoOfMmaps; i += 1) {100 size_t s = i + default_mmap_start(); // cross over point114 for ( i; NoOfMmaps ) { 115 size_t s = i + default_mmap_start(); // cross over point 101 116 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 102 117 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "malloc/free corrupt storage" ); … … 106 121 // check calloc/free (sbrk) 107 122 108 for ( i = 0; i < NoOfAllocs; i += 1) {123 for ( i; NoOfAllocs ) { 109 124 size_t s = (i + 1) * 20; 110 char * area = (char *)calloc( 5, s );125 char * area = (char *)calloc( 5, s ); 111 126 if ( area == 0 ) abort( "calloc/free out of memory" ); 112 127 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 118 133 } // for 119 134 120 for ( i = 0; i < NoOfAllocs; i += 1) {135 for ( i; NoOfAllocs ) { 121 136 size_t s = i + 1; 122 137 locns[i] = (char *)calloc( 5, s ); … … 128 143 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 129 144 } // for 130 for ( i = 0; i < NoOfAllocs; i += 1) {145 for ( i; NoOfAllocs ) { 131 146 size_t s = i + 1; 132 147 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || … … 137 152 // check calloc/free (mmap) 138 153 139 for ( i = 0; i < NoOfMmaps; i += 1) {140 size_t s = i + default_mmap_start(); // cross over point141 char * area = (char *)calloc( 1, s );154 for ( i; NoOfMmaps ) { 155 size_t s = i + default_mmap_start(); // cross over point 156 char * area = (char *)calloc( 1, s ); 142 157 if ( area == 0 ) abort( "calloc/free out of memory" ); 143 158 if ( area[0] != '\0' || area[s - 1] != '\0' ) abort( "calloc/free corrupt storage4.1" ); … … 149 164 } // for 150 165 151 for ( i = 0; i < NoOfMmaps; i += 1) {152 size_t s = i + default_mmap_start(); // cross over point166 for ( i; NoOfMmaps ) { 167 size_t s = i + default_mmap_start(); // cross over point 153 168 locns[i] = (char *)calloc( 1, s ); 154 169 if ( locns[i] == 0 ) abort( "calloc/free out of memory" ); … … 159 174 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 160 175 } // for 161 for ( i = 0; i < NoOfMmaps; i += 1) {162 size_t s = i + default_mmap_start(); // cross over point176 for ( i; NoOfMmaps ) { 177 size_t s = i + default_mmap_start(); // cross over point 163 178 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 164 179 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "calloc/free corrupt storage6" ); … … 170 185 enum { limit = 64 * 1024 }; // check alignments up to here 171 186 172 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2173 //sout | alignments[a] | endl;174 for ( int s = 1; s < NoOfAllocs; s += 1 ) {// allocation of size 0 can return null175 char * area = (char *)memalign( a, s );187 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 188 //sout | alignments[a]; 189 for ( s; 1 ~ NoOfAllocs ) { // allocation of size 0 can return null 190 char * area = (char *)memalign( a, s ); 176 191 if ( area == 0 ) abort( "memalign/free out of memory" ); 177 //sout | i | " " | area | endl;192 //sout | i | " " | area; 178 193 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 179 194 abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, s, area ); … … 187 202 // check memalign/free (mmap) 188 203 189 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2190 //sout | alignments[a] | endl;191 for ( i = 1; i < NoOfMmaps; i += 1) {192 size_t s = i + default_mmap_start(); // cross over point193 char * area = (char *)memalign( a, s );204 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 205 //sout | alignments[a]; 206 for ( i; 1 ~ NoOfMmaps ) { 207 size_t s = i + default_mmap_start(); // cross over point 208 char * area = (char *)memalign( a, s ); 194 209 if ( area == 0 ) abort( "memalign/free out of memory" ); 195 //sout | i | " " | area | endl;210 //sout | i | " " | area; 196 211 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 197 212 abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)s, area ); … … 205 220 // check calloc/realloc/free (sbrk) 206 221 207 for ( i = 1; i < 10000; i +=12 ) {222 for ( i; 1 ~ 10_000 ~ 12 ) { 208 223 // initial N byte allocation 209 char * area = (char *)calloc( 5, i );224 char * area = (char *)calloc( 5, i ); 210 225 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 211 226 if ( area[0] != '\0' || area[i - 1] != '\0' || … … 214 229 215 230 // Do not start this loop index at 0 because realloc of 0 bytes frees the storage. 216 for ( int s = i; s < 256 * 1024; s += 26 ) {// start at initial memory request231 for ( s; i ~ 256 * 1024 ~ 26 ) { // start at initial memory request 217 232 area = (char *)realloc( area, s ); // attempt to reuse storage 218 233 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); … … 226 241 // check calloc/realloc/free (mmap) 227 242 228 for ( i = 1; i < 1000; i +=12 ) {243 for ( i; 1 ~ 10_000 ~ 12 ) { 229 244 // initial N byte allocation 230 size_t s = i + default_mmap_start(); // cross over point231 char * area = (char *)calloc( 1, s );245 size_t s = i + default_mmap_start(); // cross over point 246 char * area = (char *)calloc( 1, s ); 232 247 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 233 248 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 236 251 237 252 // Do not start this loop index at 0 because realloc of 0 bytes frees the storage. 238 for ( int r = i; r < 256 * 1024; r += 26 ) {// start at initial memory request239 area = (char *)realloc( area, r ); // attempt to reuse storage253 for ( r; i ~ 256 * 1024 ~ 26 ) { // start at initial memory request 254 area = (char *)realloc( area, r ); // attempt to reuse storage 240 255 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 241 256 if ( area[0] != '\0' || area[r - 1] != '\0' || … … 249 264 250 265 size_t amount = 2; 251 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2266 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 252 267 // initial N byte allocation 253 char * area = (char *)memalign( a, amount );// aligned N-byte allocation268 char * area = (char *)memalign( a, amount ); // aligned N-byte allocation 254 269 if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ? 255 //sout | alignments[a] | " " | area | endl;270 //sout | alignments[a] | " " | area; 256 271 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 257 272 abort( "memalign/realloc/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)amount, area ); … … 260 275 261 276 // Do not start this loop index at 0 because realloc of 0 bytes frees the storage. 262 for ( int s = amount; s < 256 * 1024; s += 1 ) {// start at initial memory request277 for ( s; amount ~ 256 * 1024 ) { // start at initial memory request 263 278 if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "memalign/realloc/free corrupt storage" ); 264 279 area = (char *)realloc( area, s ); // attempt to reuse storage 265 280 if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ? 266 //sout | i | " " | area | endl;281 //sout | i | " " | area; 267 282 if ( (size_t)area % a != 0 ) { // check for initial alignment 268 283 abort( "memalign/realloc/free bad alignment %p", area ); … … 275 290 // check cmemalign/free 276 291 277 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2278 //sout | alignments[a] | endl;279 for ( int s = 1; s < limit; s += 1 ) {// allocation of size 0 can return null280 char * area = (char *)cmemalign( a, 1, s );292 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 293 //sout | alignments[a]; 294 for ( s; 1 ~ limit ) { // allocation of size 0 can return null 295 char * area = (char *)cmemalign( a, 1, s ); 281 296 if ( area == 0 ) abort( "cmemalign/free out of memory" ); 282 //sout | i | " " | area | endl;297 //sout | i | " " | area; 283 298 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 284 299 abort( "cmemalign/free bad alignment : cmemalign(%d,%d) = %p", (int)a, s, area ); … … 295 310 296 311 amount = 2; 297 for ( size_t a = libAlign() + libAlign(); a <= limit; a += a ) {// generate powers of 2312 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 298 313 // initial N byte allocation 299 char * area = (char *)cmemalign( a, 1, amount );// aligned N-byte allocation314 char * area = (char *)cmemalign( a, 1, amount ); // aligned N-byte allocation 300 315 if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ? 301 //sout | alignments[a] | " " | area | endl;316 //sout | alignments[a] | " " | area; 302 317 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 303 318 abort( "cmemalign/realloc/free bad alignment : cmemalign(%d,%d) = %p", (int)a, (int)amount, area ); … … 309 324 310 325 // Do not start this loop index at 0 because realloc of 0 bytes frees the storage. 311 for ( int s = amount; s < 256 * 1024; s += 1 ) {// start at initial memory request326 for ( s; amount ~ 256 * 1024 ) { // start at initial memory request 312 327 if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "cmemalign/realloc/free corrupt storage2" ); 313 328 area = (char *)realloc( area, s ); // attempt to reuse storage 314 329 if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ? 315 //sout | i | " " | area | endl;330 //sout | i | " " | area; 316 331 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 317 332 abort( "cmemalign/realloc/free bad alignment %p", area ); … … 324 339 free( area ); 325 340 } // for 326 //sout | "worker" | thisTask() | "successful completion" | endl;341 //sout | "worker" | thisTask() | "successful completion"; 327 342 } // Worker main 328 343 … … 339 354 // Local Variables: // 340 355 // tab-width: 4 // 341 // compile-command: "cfa -nodebug -O2 heap.c " //356 // compile-command: "cfa -nodebug -O2 heap.cfa" // 342 357 // End: // -
tests/identFuncDeclarator.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // identFuncDeclarator.c --7 // identFuncDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:36:34 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:39:13 201813 // Update Count : 212 // Last Modified On : Tue Nov 6 17:56:33 2018 13 // Update Count : 3 14 14 // 15 15 … … 115 115 // Local Variables: // 116 116 // tab-width: 4 // 117 // compile-command: "cfa identFuncDeclarator.c " //117 // compile-command: "cfa identFuncDeclarator.cfa" // 118 118 // End: // -
tests/identParamDeclarator.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // identParamDeclarator.c --7 // identParamDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:37:56 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:36:11201813 // Update Count : 212 // Last Modified On : Tue Nov 6 17:56:44 2018 13 // Update Count : 3 14 14 // 15 15 … … 163 163 // Local Variables: // 164 164 // tab-width: 4 // 165 // compile-command: "cfa identParamDeclarator.c " //165 // compile-command: "cfa identParamDeclarator.cfa" // 166 166 // End: // -
tests/ifwhileCtl.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // ifwhileCtl.c --7 // ifwhileCtl.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sat Aug 26 10:13:11 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 6 17:15:09201813 // Update Count : 2 112 // Last Modified On : Tue Dec 4 21:39:18 2018 13 // Update Count : 23 14 14 // 15 15 … … 22 22 23 23 if ( int x = 1 ) { 24 sout | "x != 0 correct" | endl;24 sout | "x != 0 correct"; 25 25 } else { 26 sout | "x == 0 incorrect" | endl;26 sout | "x == 0 incorrect"; 27 27 } // if 28 28 29 29 if ( int x = 4, y = 0 ) { 30 sout | "x != 0 && y != 0 incorrect" | endl;30 sout | "x != 0 && y != 0 incorrect"; 31 31 } else if ( int x = 4, y = 1 ) { 32 sout | "x != 0 && y != 0 correct" | endl;32 sout | "x != 0 && y != 0 correct"; 33 33 } else { 34 sout | "x == 0 || y == 0 incorrect" | endl;34 sout | "x == 0 || y == 0 incorrect"; 35 35 } // if 36 36 37 37 if ( int x = 5, y = f( x ); x == y ) { 38 sout | "x == y correct" | endl;38 sout | "x == y correct"; 39 39 } else { 40 sout | "x != y incorrect" | endl;40 sout | "x != y incorrect"; 41 41 } // if 42 42 43 43 if ( struct S { int i; } s = { 3 }; s.i < 4 ) { 44 44 S s1; 45 sout | "s.i < 4 correct" | endl;45 sout | "s.i < 4 correct"; 46 46 } else { 47 47 S s1; 48 sout | "s.i >= 4 incorrect" | endl;48 sout | "s.i >= 4 incorrect"; 49 49 } // if 50 50 51 51 while ( int x = 1 ) { 52 sout | "x != 0 correct" | endl;52 sout | "x != 0 correct"; 53 53 break; 54 54 } // while 55 55 56 56 while ( int x = 4, y = 0 ) { 57 sout | "x != 0 && y != 0 incorrect" | endl;57 sout | "x != 0 && y != 0 incorrect"; 58 58 } // while 59 59 60 60 while ( int x = 5, y = f( x ); x == y ) { 61 sout | "x == y correct" | endl;61 sout | "x == y correct"; 62 62 break; 63 63 } // while … … 65 65 while ( struct S { int i; } s = { 3 }; s.i < 4 ) { 66 66 S s1; 67 sout | "s.i < 4 correct" | endl;67 sout | "s.i < 4 correct"; 68 68 break; 69 69 } // while … … 72 72 // Local Variables: // 73 73 // tab-width: 4 // 74 // compile-command: "cfa ifwhileCtl.c " //74 // compile-command: "cfa ifwhileCtl.cfa" // 75 75 // End: // -
tests/labelledExit.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // labelledExit.c --7 // labelledExit.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 10 07:29:39 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 16 08:55:39201813 // Update Count : 312 // Last Modified On : Tue Nov 6 17:57:42 2018 13 // Update Count : 4 14 14 // 15 15 … … 159 159 // Local Variables: // 160 160 // tab-width: 4 // 161 // compile-command: "cfa labelledExit.c " //161 // compile-command: "cfa labelledExit.cfa" // 162 162 // End: // -
tests/limits.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // limits.c --7 // limits.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue May 10 20:44:20 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Mar 1 16:21:55 201813 // Update Count : 712 // Last Modified On : Tue Nov 6 17:57:55 2018 13 // Update Count : 8 14 14 // 15 15 … … 153 153 // Local Variables: // 154 154 // tab-width: 4 // 155 // compile-command: "cfa limits.c " //155 // compile-command: "cfa limits.cfa" // 156 156 // End: // -
tests/literals.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // literals.c --7 // literals.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sat Sep 9 16:34:38 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jul 1 15:12:15201813 // Update Count : 13 712 // Last Modified On : Tue Dec 4 21:44:01 2018 13 // Update Count : 139 14 14 // 15 15 … … 18 18 #include <fstream.hfa> 19 19 20 void f( char v ) { sout | "char " | v | endl; }21 void f( signed char v ) { sout | "signed char " | v | endl; }22 void f( unsigned char v ) { sout | "unsigned char " | v | endl; }23 void f( signed short v ) { sout | "signed short int" | v | endl; }24 void f( unsigned short v ) { sout | "unsigned short int" | v | endl; }25 void f( size_t v ) { sout | "size_t" | v | endl; }20 void f( char v ) { sout | "char " | v; } 21 void f( signed char v ) { sout | "signed char " | v; } 22 void f( unsigned char v ) { sout | "unsigned char " | v; } 23 void f( signed short v ) { sout | "signed short int" | v; } 24 void f( unsigned short v ) { sout | "unsigned short int" | v; } 25 void f( size_t v ) { sout | "size_t" | v; } 26 26 #endif // __CFA__ 27 27 … … 324 324 // Local Variables: // 325 325 // tab-width: 4 // 326 // compile-command: "cfa literals.c " //326 // compile-command: "cfa literals.cfa" // 327 327 // End: // -
tests/math1.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math1.c --7 // math1.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Fri Apr 22 14:59:21 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 24 21:01:15201813 // Update Count : 8 512 // Last Modified On : Wed Dec 12 16:28:49 2018 13 // Update Count : 89 14 14 // 15 15 … … 22 22 long double l; 23 23 24 sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L ) | endl; 25 sout | "remainder:" | remainder( 2.0F, 3.0F ) | remainder( 2.0D, 3.0D ) | remainder( 2.0L, 3.0L ) | endl; 24 sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | nonl; 25 sout | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L ); 26 sout | "remainder:" | remainder( 2.0F, 3.0F ) | remainder( 2.0D, 3.0D ) | remainder( 2.0L, 3.0L ); 26 27 int quot; 27 28 f = remquo( 3.6F, 0.5F, " ); 28 sout | "remquo:" | quot | f ;29 sout | "remquo:" | quot | f | nonl; 29 30 d = remquo( 3.6D, 0.5F, " ); 30 sout | quot | d ;31 sout | quot | d | nonl; 31 32 l = remquo( 3.6L, 0.5L, " ); 32 sout | quot | l | endl;33 sout | "div:" | div( 3.6F, 0.5F ) | div( 3.6D, 0.5D ) | div( 3.6L, 0.5L ) | endl;34 sout | "fma:" | fma( 3.0F, -1.0F, 1.0F ) | fma( 3.0D, -1.0D, 1.0D ) | fma( 3.0L, -1.0L, , 1.0L ) | endl;35 sout | "fdim:" | fdim( 1.0F, -1.0F ) | fdim( 1.0D, -1.0D ) | fdim( 1.0L, -1.0L ) | endl;36 sout | "nan:" | (float)nan( "" ) | (double)nan( "" ) | (long double)nan( "" ) | endl;33 sout | quot | l; 34 sout | "div:" | div( 3.6F, 0.5F ) | div( 3.6D, 0.5D ) | div( 3.6L, 0.5L ); 35 sout | "fma:" | fma( 3.0F, -1.0F, 1.0F ) | fma( 3.0D, -1.0D, 1.0D ) | fma( 3.0L, -1.0L, , 1.0L ); 36 sout | "fdim:" | fdim( 1.0F, -1.0F ) | fdim( 1.0D, -1.0D ) | fdim( 1.0L, -1.0L ); 37 sout | "nan:" | (float)nan( "" ) | (double)nan( "" ) | (long double)nan( "" ); 37 38 38 39 //---------------------- Exponential ---------------------- 39 40 40 sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI ) | endl; 41 sout | "exp2:" | exp2( 1.0F ) | exp2( 1.0D ) | exp2( 1.0L ) | endl; 42 sout | "expm1:" | expm1( 1.0F ) | expm1( 1.0D ) | expm1( 1.0L ) | endl; 43 sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI ) | endl; 41 sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | nonl; 42 sout | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI ); 43 sout | "exp2:" | exp2( 1.0F ) | exp2( 1.0D ) | exp2( 1.0L ); 44 sout | "expm1:" | expm1( 1.0F ) | expm1( 1.0D ) | expm1( 1.0L ); 45 sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | nonl; 46 sout | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI ); 44 47 45 48 int b = 4; 46 49 unsigned int e = 2; 47 50 b \= e; 48 sout | "\\" | b | b \ e | endl; 49 sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi) | endl; 51 sout | "\\" | b | b \ e; 52 sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | nonl; 53 sout | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi); 50 54 } // main 51 55 52 56 // Local Variables: // 53 57 // tab-width: 4 // 54 // compile-command: "cfa math1.c " //58 // compile-command: "cfa math1.cfa" // 55 59 // End: // -
tests/math3.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math3.c --7 // math3.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Fri Apr 22 14:59:21 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 24 21:06:12201813 // Update Count : 8 212 // Last Modified On : Wed Dec 12 16:30:41 2018 13 // Update Count : 86 14 14 // 15 15 … … 24 24 //---------------------- Hyperbolic ---------------------- 25 25 26 sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI ) | endl; 27 sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI ) | endl; 28 sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI ) | endl; 29 sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI ) | endl; 30 sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI ) | endl; 31 sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI ) | endl; 26 sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | nonl; 27 sout | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI ); 28 sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | nonl; 29 sout | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI ); 30 sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | nonl; 31 sout | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI ); 32 sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | nonl; 33 sout | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI ); 34 sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | nonl; 35 sout | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI ); 36 sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | nonl; 37 sout | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI ); 32 38 33 39 //---------------------- Error / Gamma ---------------------- 34 40 35 sout | "erf:" | erf( 1.0F ) | erf( 1.0D ) | erf( 1.0L ) | endl;36 sout | "erfc:" | erfc( 1.0F ) | erfc( 1.0D ) | erfc( 1.0L ) | endl;37 sout | "lgamma:" | lgamma( 4.0F ) | lgamma( 4.0D ) | lgamma( 4.0L ) | endl;41 sout | "erf:" | erf( 1.0F ) | erf( 1.0D ) | erf( 1.0L ); 42 sout | "erfc:" | erfc( 1.0F ) | erfc( 1.0D ) | erfc( 1.0L ); 43 sout | "lgamma:" | lgamma( 4.0F ) | lgamma( 4.0D ) | lgamma( 4.0L ); 38 44 int sign; 39 45 f = lgamma( 4.0F, &sign ); 40 sout | "lgamma:" | f | sign ;46 sout | "lgamma:" | f | sign | nonl; 41 47 d = lgamma( 4.0D, &sign ); 42 sout | d | sign ;48 sout | d | sign | nonl; 43 49 l = lgamma( 4.0L, &sign ); 44 sout | l | sign | endl;45 sout | "tgamma:" | tgamma( 4.0F ) | tgamma( 4.0D ) | tgamma( 4.0L ) | endl;50 sout | l | sign; 51 sout | "tgamma:" | tgamma( 4.0F ) | tgamma( 4.0D ) | tgamma( 4.0L ); 46 52 } // main 47 53 48 54 // Local Variables: // 49 55 // tab-width: 4 // 50 // compile-command: "cfa math3.c " //56 // compile-command: "cfa math3.cfa" // 51 57 // End: // -
tests/math4.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math4.c --7 // math4.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu May 24 20:56:54 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu May 24 20:58:06201813 // Update Count : 212 // Last Modified On : Tue Dec 4 18:15:01 2018 13 // Update Count : 4 14 14 // 15 15 … … 24 24 //---------------------- Nearest Integer ---------------------- 25 25 26 sout | "floor:" | floor( 1.2F ) | floor( 1.2D ) | floor( 1.2L ) | endl;27 sout | "ceil:" | ceil( 1.6F ) | ceil( 1.6D ) | ceil( 1.6L ) | endl;28 sout | "trunc:" | trunc( 3.5F ) | trunc( 3.5D ) | trunc( 3.5L ) | endl;29 sout | "rint:" | (float)rint( 1.5F ) | (double)rint( 1.5D ) | (long double)rint( 1.5L ) | endl;30 sout | "rint:" | (long int)rint( 1.5F ) | (long int)rint( 1.5D ) | (long int)rint( 1.5L ) | endl;31 sout | "rint:" | (long long int)rint( 1.5F ) | (long long int)rint( 1.5D ) | (long long int)rint( 1.5L ) | endl;32 sout | "lrint:" | lrint( 1.5F ) | lrint( 1.5D ) | lrint( 1.5L ) | endl;33 sout | "llrint:" | llrint( 1.5F ) | llrint( 1.5D ) | llrint( 1.5L ) | endl;34 sout | "nearbyint:" | nearbyint( 3.5F ) | nearbyint( 3.5D ) | nearbyint( 3.5L ) | endl;35 sout | "round:" | (float)round( 1.5F ) | (double)round( 1.5D ) | (long double)round( 1.5L ) | endl;36 sout | "round:" | (long int)round( 1.5F ) | (long int)round( 1.5D ) | (long int)round( 1.5L ) | endl;37 sout | "round:" | (long long int)round( 1.5F ) | (long long int)round( 1.5D ) | (long long int)round( 1.5L ) | endl;38 sout | "lround:" | lround( 1.5F ) | lround( 1.5D ) | lround( 1.5L ) | endl;39 sout | "llround:" | llround( 1.5F ) | llround( 1.5D ) | llround( 1.5L ) | endl;26 sout | "floor:" | floor( 1.2F ) | floor( 1.2D ) | floor( 1.2L ); 27 sout | "ceil:" | ceil( 1.6F ) | ceil( 1.6D ) | ceil( 1.6L ); 28 sout | "trunc:" | trunc( 3.5F ) | trunc( 3.5D ) | trunc( 3.5L ); 29 sout | "rint:" | (float)rint( 1.5F ) | (double)rint( 1.5D ) | (long double)rint( 1.5L ); 30 sout | "rint:" | (long int)rint( 1.5F ) | (long int)rint( 1.5D ) | (long int)rint( 1.5L ); 31 sout | "rint:" | (long long int)rint( 1.5F ) | (long long int)rint( 1.5D ) | (long long int)rint( 1.5L ); 32 sout | "lrint:" | lrint( 1.5F ) | lrint( 1.5D ) | lrint( 1.5L ); 33 sout | "llrint:" | llrint( 1.5F ) | llrint( 1.5D ) | llrint( 1.5L ); 34 sout | "nearbyint:" | nearbyint( 3.5F ) | nearbyint( 3.5D ) | nearbyint( 3.5L ); 35 sout | "round:" | (float)round( 1.5F ) | (double)round( 1.5D ) | (long double)round( 1.5L ); 36 sout | "round:" | (long int)round( 1.5F ) | (long int)round( 1.5D ) | (long int)round( 1.5L ); 37 sout | "round:" | (long long int)round( 1.5F ) | (long long int)round( 1.5D ) | (long long int)round( 1.5L ); 38 sout | "lround:" | lround( 1.5F ) | lround( 1.5D ) | lround( 1.5L ); 39 sout | "llround:" | llround( 1.5F ) | llround( 1.5D ) | llround( 1.5L ); 40 40 41 41 //---------------------- Manipulation ---------------------- 42 42 43 sout | "copysign:" | copysign( 1.0F, -1.0F ) | copysign( 1.0D, -1.0D ) | copysign( 1.0L, -1.0L ) | endl;43 sout | "copysign:" | copysign( 1.0F, -1.0F ) | copysign( 1.0D, -1.0D ) | copysign( 1.0L, -1.0L ); 44 44 int exp; 45 45 f = frexp( 4.0F, &exp ); 46 sout | "frexp:" | f | exp ;46 sout | "frexp:" | f | exp | nonl; 47 47 d = frexp( 4.0D, &exp ); 48 sout | d | exp ;48 sout | d | exp | nonl; 49 49 l = frexp( 4.0L, &exp ); 50 sout | l | exp | endl;51 sout | "ldexp:" | ldexp( 2.0F, 2 ) | ldexp( 2.0D, 2 ) | ldexp( 2.0L, 2 ) | endl;50 sout | l | exp; 51 sout | "ldexp:" | ldexp( 2.0F, 2 ) | ldexp( 2.0D, 2 ) | ldexp( 2.0L, 2 ); 52 52 float fi; 53 53 double di; 54 54 long double ldi; 55 55 f = modf( 2.3F, &fi ); 56 sout | "modf:" | fi | f ;56 sout | "modf:" | fi | f | nonl; 57 57 d = modf( 2.3D, &di ); 58 sout | di | d ;58 sout | di | d | nonl; 59 59 l = modf( 2.3L, &ldi ); 60 sout | ldi | l | endl;61 sout | "modf:" | modf( 2.3F ) | modf( 2.3D ) | modf( 2.3L ) | endl;62 sout | "nextafter:" | nextafter( 2.0F, 3.0F ) | nextafter( 2.0D, 3.0D ) | nextafter( 2.0L, 3.0L ) | endl;63 sout | "nexttoward:" | nexttoward( 2.0F, 3.0F ) | nexttoward( 2.0D, 3.0D ) | nexttoward( 2.0L, 3.0L ) | endl;60 sout | ldi | l; 61 sout | "modf:" | modf( 2.3F ) | modf( 2.3D ) | modf( 2.3L ); 62 sout | "nextafter:" | nextafter( 2.0F, 3.0F ) | nextafter( 2.0D, 3.0D ) | nextafter( 2.0L, 3.0L ); 63 sout | "nexttoward:" | nexttoward( 2.0F, 3.0F ) | nexttoward( 2.0D, 3.0D ) | nexttoward( 2.0L, 3.0L ); 64 64 65 sout | "scalbn:" | scalbn( 2.0F, 3 ) | scalbn( 2.0D, 3 ) | scalbn( 2.0L, 3 ) | endl;66 sout | "scalbln:" | scalbln( 2.0F, 3L ) | scalbln( 2.0D, 3L ) | scalbln( 2.0L, 3L ) | endl;65 sout | "scalbn:" | scalbn( 2.0F, 3 ) | scalbn( 2.0D, 3 ) | scalbn( 2.0L, 3 ); 66 sout | "scalbln:" | scalbln( 2.0F, 3L ) | scalbln( 2.0D, 3L ) | scalbln( 2.0L, 3L ); 67 67 } // main 68 68 69 69 // Local Variables: // 70 70 // tab-width: 4 // 71 // compile-command: "cfa math3.c " //71 // compile-command: "cfa math3.cfa" // 72 72 // End: // -
tests/minmax.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // minmax.c --7 // minmax.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Apr 10 17:29:09201813 // Update Count : 5 012 // Last Modified On : Tue Dec 4 21:45:31 2018 13 // Update Count : 52 14 14 // 15 15 … … 22 22 int ?>?( char op1, char op2 ) { return (int)op1 > (int)op2; } 23 23 24 sout | "char\t\t\t" | 'z' | ' ' | 'a' | "\tmin " | min( 'z', 'a' ) | endl;25 sout | "signed int\t\t" | 4 | 3 | "\tmin" | min( 4, 3 ) | endl;26 sout | "unsigned int\t\t" | 4u | 3u | "\tmin" | min( 4u, 3u ) | endl;27 sout | "signed long int\t\t" | 4l | 3l | "\tmin" | min( 4l, 3l ) | endl;28 sout | "unsigned long int\t" | 4ul | 3ul | "\tmin" | min( 4ul, 3ul ) | endl;29 sout | "signed long long int\t" | 4ll | 3ll | "\tmin" | min( 4ll, 3ll ) | endl;30 sout | "unsigned long long int\t" | 4ull | 3ull | "\tmin" | min( 4ull, 3ull ) | endl;31 sout | "float\t\t\t" | 4.0f | 3.1f | "\tmin" | min( 4.0f, 3.1f ) | endl;32 sout | "double\t\t\t" | 4.0 | 3.1 | "\tmin" | min( 4.0, 3.1 ) | endl;33 sout | "long double\t\t" | 4.0l | 3.1l | "\tmin" | min( 4.0l, 3.1l ) | endl;24 sout | "char\t\t\t" | 'z' | ' ' | 'a' | "\tmin " | min( 'z', 'a' ); 25 sout | "signed int\t\t" | 4 | 3 | "\tmin" | min( 4, 3 ); 26 sout | "unsigned int\t\t" | 4u | 3u | "\tmin" | min( 4u, 3u ); 27 sout | "signed long int\t\t" | 4l | 3l | "\tmin" | min( 4l, 3l ); 28 sout | "unsigned long int\t" | 4ul | 3ul | "\tmin" | min( 4ul, 3ul ); 29 sout | "signed long long int\t" | 4ll | 3ll | "\tmin" | min( 4ll, 3ll ); 30 sout | "unsigned long long int\t" | 4ull | 3ull | "\tmin" | min( 4ull, 3ull ); 31 sout | "float\t\t\t" | 4.0f | 3.1f | "\tmin" | min( 4.0f, 3.1f ); 32 sout | "double\t\t\t" | 4.0 | 3.1 | "\tmin" | min( 4.0, 3.1 ); 33 sout | "long double\t\t" | 4.0l | 3.1l | "\tmin" | min( 4.0l, 3.1l ); 34 34 35 sout | endl;35 sout | nl; 36 36 37 sout | "char\t\t\t" | 'z' | ' ' | 'a' | "\tmax " | max( 'z', 'a' ) | endl;38 sout | "signed int\t\t" | 4 | 3 | "\tmax" | max( 4, 3 ) | endl;39 sout | "unsigned int\t\t" | 4u | 3u | "\tmax" | max( 4u, 3u ) | endl;40 sout | "signed long int\t\t" | 4l | 3l | "\tmax" | max( 4l, 3l ) | endl;41 sout | "unsigned long int\t" | 4ul | 3ul | "\tmax" | max( 4ul, 3ul ) | endl;42 sout | "signed long long int\t" | 4ll | 3ll | "\tmax" | max( 4ll, 3ll ) | endl;43 sout | "unsigned long long int\t" | 4ull | 3ull | "\tmax" | max( 4ull, 3ull ) | endl;44 sout | "float\t\t\t" | 4.0f | 3.1f | "\tmax" | max( 4.0f, 3.1f ) | endl;45 sout | "double\t\t\t" | 4.0 | 3.1 | "\tmax" | max( 4.0, 3.1 ) | endl;46 sout | "long double\t\t" | 4.0l | 3.1l | "\tmax" | max( 4.0l, 3.1l ) | endl;37 sout | "char\t\t\t" | 'z' | ' ' | 'a' | "\tmax " | max( 'z', 'a' ); 38 sout | "signed int\t\t" | 4 | 3 | "\tmax" | max( 4, 3 ); 39 sout | "unsigned int\t\t" | 4u | 3u | "\tmax" | max( 4u, 3u ); 40 sout | "signed long int\t\t" | 4l | 3l | "\tmax" | max( 4l, 3l ); 41 sout | "unsigned long int\t" | 4ul | 3ul | "\tmax" | max( 4ul, 3ul ); 42 sout | "signed long long int\t" | 4ll | 3ll | "\tmax" | max( 4ll, 3ll ); 43 sout | "unsigned long long int\t" | 4ull | 3ull | "\tmax" | max( 4ull, 3ull ); 44 sout | "float\t\t\t" | 4.0f | 3.1f | "\tmax" | max( 4.0f, 3.1f ); 45 sout | "double\t\t\t" | 4.0 | 3.1 | "\tmax" | max( 4.0, 3.1 ); 46 sout | "long double\t\t" | 4.0l | 3.1l | "\tmax" | max( 4.0l, 3.1l ); 47 47 } // main 48 48 49 49 // Local Variables: // 50 50 // tab-width: 4 // 51 // compile-command: "cfa minmax.c " //51 // compile-command: "cfa minmax.cfa" // 52 52 // End: // -
tests/nested-types.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // nested-types.c --7 // nested-types.cfa -- 8 8 // 9 9 // Author : Rob Schluntz 10 10 // Created On : Mon Jul 9 10:20:03 2018 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Mon Jul 9 10:20:03 201713 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Nov 6 17:59:40 2018 13 // Update Count : 2 14 14 // 15 15 … … 88 88 // Local Variables: // 89 89 // tab-width: 4 // 90 // compile-command: "cfa nested-types.c " //90 // compile-command: "cfa nested-types.cfa" // 91 91 // End: // -
tests/numericConstants.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // numericConstants.c --7 // numericConstants.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 24 22:10:36 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 24 22:11:36 201713 // Update Count : 212 // Last Modified On : Tue Nov 6 17:59:53 2018 13 // Update Count : 3 14 14 // 15 15 … … 67 67 // Local Variables: // 68 68 // tab-width: 4 // 69 // compile-command: "cfa minmax.c " //69 // compile-command: "cfa minmax.cfa" // 70 70 // End: // -
tests/polymorphism.cfa
rff5caaf r95b8aa7 9 9 // Author : Rob Schluntz 10 10 // Created On : Tue Oct 17 12:19:48 2017 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Oct 17 12:21:07 201713 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 25 14:40:24 2018 13 // Update Count : 3 14 14 // 15 15 16 16 #include <assert.h> 17 17 #include <inttypes.h> 18 #include <fstream.hfa> 18 19 19 20 forall(otype T) … … 61 62 int y = 456; 62 63 int z = f(x, y); 63 printf("%d %d %d\n", x, y, z);64 sout | x | y | z; 64 65 } 65 66 66 { 67 67 // explicitly specialize function 68 68 int (*f)(int) = ident; 69 69 ((int(*)(int))ident); 70 printf("%d %d\n", f(5), ((int(*)(int))ident)(5));70 sout | f(5) | ((int(*)(int))ident)(5); 71 71 } 72 73 72 { 74 73 // test aggregates with polymorphic members … … 100 99 101 100 void print(x_type x) { 102 printf("%"PRIu32"\n", x);101 sout | x; 103 102 } 104 103 105 104 void print(y_type y) { 106 printf("%"PRIu64"\n", y);105 sout | y; 107 106 } 108 107 -
tests/preempt_longrun/Makefile.am
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 79 79 def diff( lhs, rhs ): 80 80 # diff the output of the files 81 diff_cmd = ("diff --ignore-all-space --text " 82 "--ignore-blank-lines " 81 diff_cmd = ("diff --text " 82 # "--ignore-all-space " 83 # "--ignore-blank-lines " 83 84 "--old-group-format='\t\tmissing lines :\n" 84 85 "%%<' \\\n" … … 246 247 if column: 247 248 cmd = "%s 2> /dev/null" % column 248 print(cmd)249 249 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 250 proc.communicate(input=text )250 proc.communicate(input=text + "\n") 251 251 else: 252 252 print(text) -
tests/quotedKeyword.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // quoted _keyword.c-- test quoted keyword usage7 // quotedKeyword.cfa -- test quoted keyword usage 8 8 // 9 9 // Author : Peter A. Buhr 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 Jun 30 14:03:59 201613 // Update Count : 1912 // Last Modified On : Tue Dec 4 21:45:53 2018 13 // Update Count : 23 14 14 // 15 15 … … 41 41 st.`struct` = 3; 42 42 `throw` = 4; 43 sout | `catch` + st.`otype` + st.`struct` + `throw` | endl;43 sout | `catch` + st.`otype` + st.`struct` + `throw`; 44 44 } 45 45 46 46 // Local Variables: // 47 47 // tab-width: 4 // 48 // compile-command: "cfa quoted _keyword.c" //48 // compile-command: "cfa quotedKeyword.cfa" // 49 49 // End: // -
tests/raii/.expect/ctor-autogen-ERR1.txt
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 1 raii/memberCtors.c :71:1 error: in void ?{}(B &b), field a2 used before being constructed1 raii/memberCtors.cfa:71:1 error: in void ?{}(B &b), field a2 used before being constructed -
tests/raii/dtor-early-exit.cfa
rff5caaf r95b8aa7 10 10 // Created On : Wed Aug 17 08:26:25 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 07:58:39 201813 // Update Count : 812 // Last Modified On : Fri Dec 21 08:45:19 2018 13 // Update Count : 10 14 14 // 15 15 … … 25 25 // don't want these called 26 26 void ?{}(A & a) { assert( false ); } 27 void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name | endl; a.x = (int*)malloc(); }27 void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name; a.x = (int*)malloc(); } 28 28 void ?{}(A & a, const char * name, int * ptr) { assert( false ); } 29 29 30 30 A ?=?(A & a, A b) { sout | "assign " | a.name | " " | b.name; return a; } 31 void ?{}(A & a, A b) { sout | "copy construct " | b.name | endl; a.x = (int*)malloc(); }32 void ^?{}(A & a) { sout | "destruct " | a.name | endl; free(a.x); }31 void ?{}(A & a, A b) { sout | "copy construct " | b.name; a.x = (int*)malloc(); } 32 void ^?{}(A & a) { sout | "destruct " | a.name; free(a.x); } 33 33 34 34 // test returns 35 35 void f(int i) { 36 sout | "f i=" | i | endl;36 sout | "f i=" | i; 37 37 A x = { "x" }; // construct x 38 38 { … … 55 55 void g() { 56 56 for (int i = 0; i < 10; i++) { 57 sout | "g for i=" | i | endl;57 sout | "g for i=" | i; 58 58 A x = { "x" }; 59 59 // construct x 60 60 // destruct x 61 61 } 62 sout | endl;62 sout | nl; 63 63 { 64 64 int i = 0; 65 65 while (i < 10) { 66 sout | "g while i=" | i | endl;66 sout | "g while i=" | i; 67 67 A x = { "x" }; 68 68 // construct x … … 71 71 } 72 72 } 73 sout | endl;73 sout | nl; 74 74 for (int i = 0; i < 10; i++) { 75 75 switch(10) { … … 78 78 case 10: { 79 79 A y = { "y" }; 80 sout | "g switch i=" | i | endl;80 sout | "g switch i=" | i; 81 81 // construct y 82 82 break; // destruct y 83 83 } 84 84 default: { 85 sout | "g switch i=" | i | endl;85 sout | "g switch i=" | i; 86 86 A x = { "x" }; 87 87 // construct x … … 90 90 } 91 91 } 92 sout | endl;92 sout | nl; 93 93 for (int k = 0; k < 2; k++) { 94 sout | "g for k=" | k | endl;94 sout | "g for k=" | k; 95 95 L1: for (int i = 0; i < 10; i++) { 96 sout | "g for i=" | i | endl;96 sout | "g for i=" | i; 97 97 98 98 A x = { "x" }; 99 99 if (i == 2) { 100 sout | "continue L1" | endl;100 sout | "continue L1"; 101 101 continue; // destruct x 102 102 } else if (i == 3) { 103 sout | "break L1" | endl;103 sout | "break L1"; 104 104 break; // destruct x 105 105 } 106 106 107 107 L2: for (int j = 0; j < 10; j++) { 108 sout | "g for j=" | j | endl;108 sout | "g for j=" | j; 109 109 A y = { "y" }; 110 110 if (j == 0) { 111 sout | "continue L2" | endl;111 sout | "continue L2"; 112 112 continue; // destruct y - missing because object that needs to be destructed is not a part of this block, it's a part of the for's block 113 113 } else if (j == 1) { 114 sout | "break L2" | endl;114 sout | "break L2"; 115 115 break; // destruct y 116 116 } else if (i == 1) { 117 sout | "continue L1" | endl;117 sout | "continue L1"; 118 118 continue L1; // destruct x,y - note: continue takes you to destructors for block, so only generate destructor for y 119 119 } else if (k == 1) { 120 sout | "break L1" | endl;120 sout | "break L1"; 121 121 break L1; // destruct x,y 122 122 } … … 125 125 } 126 126 127 sout | endl;127 sout | nl; 128 128 L3: if( 3 ) { 129 129 A w = { "w" }; 130 130 if( 4 ) { 131 131 A v = { "v" }; 132 sout | "break L3" | endl;132 sout | "break L3"; 133 133 break L3; 134 134 } … … 144 144 // * if S_L-S_G is non-empty, error 145 145 // * emit destructors for all variables in S_G-S_L 146 sout | "h" | endl;146 sout | "h"; 147 147 { 148 148 L0: ; … … 152 152 A y = { "y" }; 153 153 // S_L1 = { y } 154 L1: sout | "L1" | endl;154 L1: sout | "L1"; 155 155 A x = { "x" }; 156 156 // S_L2 = { y, x } 157 L2: sout | "L2" | endl;157 L2: sout | "L2"; 158 158 if (i == 0) { 159 159 ++i; 160 sout | "goto L1" | endl;160 sout | "goto L1"; 161 161 // S_G = { y, x } 162 162 goto L1; // jump back, destruct b/c before x definition … … 165 165 } else if (i == 1) { 166 166 ++i; 167 sout | "goto L2" | endl;167 sout | "goto L2"; 168 168 // S_G = { y, x } 169 169 goto L2; // jump back, do not destruct … … 172 172 } else if (i == 2) { 173 173 ++i; 174 sout | "goto L3" | endl;174 sout | "goto L3"; 175 175 // S_G = { y, x } 176 176 goto L3; // jump ahead, do not destruct … … 180 180 ++i; 181 181 A z = { "z" }; 182 sout | "goto L3-2" | endl;182 sout | "goto L3-2"; 183 183 // S_G = { z, y, x } 184 184 goto L3; … … 187 187 } else { 188 188 ++i; 189 sout | "goto L4" | endl;189 sout | "goto L4"; 190 190 // S_G = { y, x } 191 191 goto L4; // jump ahead, destruct b/c left block x was defined in … … 194 194 } 195 195 // S_L3 = { y, x } 196 L3: sout | "L3" | endl;197 sout | "goto L2-2" | endl;196 L3: sout | "L3"; 197 sout | "goto L2-2"; 198 198 // S_G = { y, x } 199 199 goto L2; // jump back, do not destruct … … 202 202 } 203 203 // S_L4 = {} 204 L4: sout | "L4" | endl;204 L4: sout | "L4"; 205 205 if (i == 4) { 206 sout | "goto L0" | endl;206 sout | "goto L0"; 207 207 // S_G = {} 208 208 goto L0; … … 240 240 f(i); 241 241 } 242 sout | endl;242 sout | nl; 243 243 g(); 244 sout | endl;244 sout | nl; 245 245 h(); 246 246 -
tests/raii/globals.cfa
rff5caaf r95b8aa7 70 70 71 71 int main() { 72 sout | "static\t\tinline\t\tautogen\t\tvalue" | endl;72 sout | "static\t\tinline\t\tautogen\t\tvalue"; 73 73 74 sout | "no \t\tno \t\tno \t\t" | g.val.value | endl;75 sout | "no \t\tno \t\tyes\t\t" | ga.val.value | endl;76 sout | "no \t\tyes\t\tno \t\t" | gi.val.value | endl;77 sout | "no \t\tyes\t\tyes\t\t" | gia.val.value | endl;78 sout | "yes\t\tno \t\tno \t\t" | gs.val.value | endl;79 sout | "yes\t\tno \t\tyes\t\t" | gsa.val.value | endl;80 sout | "yes\t\tyes\t\tno \t\t" | gsi.val.value | endl;81 sout | "yes\t\tyes\t\tyes\t\t" | gsia.val.value | endl;74 sout | "no \t\tno \t\tno \t\t" | g.val.value; 75 sout | "no \t\tno \t\tyes\t\t" | ga.val.value; 76 sout | "no \t\tyes\t\tno \t\t" | gi.val.value; 77 sout | "no \t\tyes\t\tyes\t\t" | gia.val.value; 78 sout | "yes\t\tno \t\tno \t\t" | gs.val.value; 79 sout | "yes\t\tno \t\tyes\t\t" | gsa.val.value; 80 sout | "yes\t\tyes\t\tno \t\t" | gsi.val.value; 81 sout | "yes\t\tyes\t\tyes\t\t" | gsia.val.value; 82 82 83 83 } -
tests/random.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // random.c --7 // random.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Jul 5 21:29:30 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jan 2 12:19:34201813 // Update Count : 1912 // Last Modified On : Tue Dec 4 21:46:25 2018 13 // Update Count : 22 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> // random17 #include <stdlib.hfa> // random 18 18 #include <unistd.h> // getpid 19 19 … … 24 24 // test polymorphic calls to random and stream 25 25 char c = random(); 26 sout | c | endl;26 sout | c; 27 27 c = random( 'A' ); 28 sout | c | endl;28 sout | c; 29 29 c = random( 'A', 'Z' ); 30 sout | c | endl;30 sout | c; 31 31 32 32 int i = random(); 33 sout | i | endl;33 sout | i; 34 34 i = random( 10 ); 35 sout | i | endl;35 sout | i; 36 36 i = random( -10, 20 ); 37 sout | i | endl;37 sout | i; 38 38 39 39 unsigned int ui = random(); 40 sout | ui | endl;40 sout | ui; 41 41 ui = random( 10u ); 42 sout | ui | endl;42 sout | ui; 43 43 ui = random( 10u, 20u ); 44 sout | ui | endl;44 sout | ui; 45 45 46 46 long int li = random(); 47 sout | li | endl;47 sout | li; 48 48 li = random( 10l ); 49 sout | li | endl;49 sout | li; 50 50 li = random( -10l, 20l ); 51 sout | li | endl;51 sout | li; 52 52 53 53 unsigned long int uli = random(); 54 sout | uli | endl;54 sout | uli; 55 55 uli = random( 10ul ); 56 sout | uli | endl;56 sout | uli; 57 57 uli = random( 10ul, 20ul ); 58 sout | uli | endl;58 sout | uli; 59 59 60 60 float f = random(); 61 sout | f | endl;61 sout | f; 62 62 63 63 double d = random(); 64 sout | d | endl;64 sout | d; 65 65 66 66 float _Complex fc = random(); 67 sout | fc | endl;67 sout | fc; 68 68 69 69 double _Complex dc = random(); 70 sout | dc | endl;70 sout | dc; 71 71 72 72 long double _Complex ldc = random(); 73 sout | ldc | endl;73 sout | ldc; 74 74 } // main 75 75 76 76 // Local Variables: // 77 77 // tab-width: 4 // 78 // compile-command: "cfa random.c " //78 // compile-command: "cfa random.cfa" // 79 79 // End: // -
tests/rational.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // rational.c -- test rational number package7 // rational.cfa -- test rational number package 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon Mar 28 08:43:12 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 10 23:25:04 201713 // Update Count : 6 712 // Last Modified On : Tue Dec 4 21:46:42 2018 13 // Update Count : 69 14 14 // 15 15 … … 27 27 28 28 int main() { 29 sout | "constructor" | endl;29 sout | "constructor"; 30 30 Rational(int) a = { 3 }, b = { 4 }, c; 31 sout | a | b | c | endl;31 sout | a | b | c; 32 32 33 33 a = (Rational(int)){ 4, 8 }; 34 34 b = (Rational(int)){ 5, 7 }; 35 sout | a | b | endl;35 sout | a | b; 36 36 a = (Rational(int)){ -2, -3 }; 37 37 b = (Rational(int)){ 3, -2 }; 38 sout | a | b | endl;38 sout | a | b; 39 39 a = (Rational(int)){ -2, 3 }; 40 40 b = (Rational(int)){ 3, 2 }; 41 sout | a | b | endl;41 sout | a | b; 42 42 43 sout | "logical" | endl;43 sout | "logical"; 44 44 a = (Rational(int)){ -2 }; 45 45 b = (Rational(int)){ -3, 2 }; 46 sout | a | b | endl;47 // sout | a == 1 | endl; // FIX ME48 sout | a != b | endl;49 sout | a < b | endl;50 sout | a <= b | endl;51 sout | a > b | endl;52 sout | a >= b | endl;46 sout | a | b; 47 // sout | a == 1; // FIX ME 48 sout | a != b; 49 sout | a < b; 50 sout | a <= b; 51 sout | a > b; 52 sout | a >= b; 53 53 54 sout | "arithmetic" | endl;55 sout | a | b | endl;56 sout | a + b | endl;57 sout | a - b | endl;58 sout | a * b | endl;59 sout | a / b | endl;54 sout | "arithmetic"; 55 sout | a | b; 56 sout | a + b; 57 sout | a - b; 58 sout | a * b; 59 sout | a / b; 60 60 61 sout | "conversion" | endl;61 sout | "conversion"; 62 62 a = (Rational(int)){ 3, 4 }; 63 sout | widen( a ) | endl;63 sout | widen( a ); 64 64 a = (Rational(int)){ 1, 7 }; 65 sout | widen( a ) | endl;65 sout | widen( a ); 66 66 a = (Rational(int)){ 355, 113 }; 67 sout | widen( a ) | endl;68 sout | narrow( 0.75, 4 ) | endl;69 sout | narrow( 0.14285714285714, 16 ) | endl;70 sout | narrow( 3.14159265358979, 256 ) | endl;67 sout | widen( a ); 68 sout | narrow( 0.75, 4 ); 69 sout | narrow( 0.14285714285714, 16 ); 70 sout | narrow( 3.14159265358979, 256 ); 71 71 72 sout | "decompose" | endl;72 sout | "decompose"; 73 73 int n, d; 74 74 // [n, d] = a; 75 // sout | a | n | d | endl;75 // sout | a | n | d; 76 76 77 sout | "more tests" | endl;77 sout | "more tests"; 78 78 Rational(int) x = { 1, 2 }, y = { 2 }; 79 sout | x - y | endl;80 sout | x > y | endl;81 sout | x | numerator( x, 2 ) | x | endl;82 sout | y | denominator( y, -2 ) | y | endl;79 sout | x - y; 80 sout | x > y; 81 sout | x | numerator( x, 2 ) | x; 82 sout | y | denominator( y, -2 ) | y; 83 83 84 84 Rational(int) z = { 0, 5 }; 85 sout | z | endl;85 sout | z; 86 86 87 sout | x | numerator( x, 0 ) | x | endl;87 sout | x | numerator( x, 0 ) | x; 88 88 89 89 x = (Rational(int)){ 1, MAX } + (Rational(int)){ 1, MAX }; 90 sout | x | endl;90 sout | x; 91 91 x = (Rational(int)){ 3, MAX } + (Rational(int)){ 2, MAX }; 92 sout | x | endl;92 sout | x; 93 93 94 94 sin | a | b; 95 sout | a | b | endl;95 sout | a | b; 96 96 } // main 97 97 98 98 // Local Variables: // 99 99 // tab-width: 4 // 100 // compile-command: "cfa rational.c " //100 // compile-command: "cfa rational.cfa" // 101 101 // End: // -
tests/searchsort.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // searchsort.c --7 // searchsort.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 4 18:17:50 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 9 07:54:57201813 // Update Count : 10 112 // Last Modified On : Thu Dec 20 22:49:46 2018 13 // Update Count : 108 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> // bsearch, qsort17 #include <stdlib.hfa> // bsearch, qsort 18 18 #include <stdlib.h> // C version of bsearch 19 19 … … 24 24 int iarr[size]; 25 25 26 sout | nlOff; // turn off auto newline 27 26 28 for ( i; 0 ~ size ) { 27 29 iarr[i] = size - i; 28 30 sout | iarr[i] | ", "; 29 31 } // for 30 sout | endl | endl;32 sout | nl | nl; 31 33 32 34 // ascending sort/search by changing < to > … … 35 37 sout | iarr[i] | ", "; 36 38 } // for 37 sout | endl;39 sout | nl; 38 40 for ( i; 0 ~ size ) { // C version 39 41 int key = size - i; … … 41 43 sout | key | ':' | *v | ", "; 42 44 } // for 43 sout | endl;45 sout | nl; 44 46 45 47 for ( i; 0 ~ size ) { … … 47 49 sout | size - i | ':' | *v | ", "; 48 50 } // for 49 sout | endl;51 sout | nl; 50 52 for ( i; 0 ~ size ) { 51 53 unsigned int posn = bsearch( size - i, iarr, size ); 52 54 sout | size - i | ':' | iarr[posn] | ", "; 53 55 } // for 54 sout | endl | endl;56 sout | nl | nl; 55 57 56 58 // descending sort/search by changing < to > … … 59 61 sout | iarr[i] | ", "; 60 62 } // for 61 sout | endl;63 sout | nl; 62 64 { 63 65 // redefinition of ?<? can't overlap the loop controls: 64 //int ?<?( int x, int y ) { return x > y; }65 66 { 66 67 int (*?<?)(int, int) = ?>?; … … 70 71 sout | iarr[i] | ", "; 71 72 } // for 72 sout | endl;73 sout | nl; 73 74 for ( i; 0 ~ size ) { 74 75 int (*?<?)(int, int) = ?>?; … … 76 77 sout | size - i | ':' | *v | ", "; 77 78 } // for 78 sout | endl;79 sout | nl; 79 80 for ( i; 0 ~ size ) { 80 81 int (*?<?)(int, int) = ?>?; … … 83 84 } // for 84 85 } 85 sout | endl | endl;86 sout | nl | nl; 86 87 87 88 double darr[size]; … … 90 91 sout | darr[i] | ", "; 91 92 } // for 92 sout | endl;93 sout | nl; 93 94 qsort( darr, size ); 94 95 for ( i; 0 ~ size ) { 95 96 sout | darr[i] | ", "; 96 97 } // for 97 sout | endl;98 sout | nl; 98 99 for ( i; 0 ~ size ) { 99 100 double * v = bsearch( size - i + 0.5, darr, size ); 100 101 sout | size - i + 0.5 | ':' | *v | ", "; 101 102 } // for 102 sout | endl;103 sout | nl; 103 104 for ( i; 0 ~ size ) { 104 105 unsigned int posn = bsearch( size - i + 0.5, darr, size ); 105 106 sout | size - i + 0.5 | ':' | darr[posn] | ", "; 106 107 } // for 107 sout | endl | endl;108 sout | nl | nl; 108 109 109 110 struct S { int i, j; } sarr[size]; … … 115 116 sout | sarr[i] | ", "; 116 117 } // for 117 sout | endl;118 sout | nl; 118 119 qsort( sarr, size ); 119 120 for ( i; 0 ~ size ) { 120 121 sout | sarr[i] | ", "; 121 122 } // for 122 sout | endl;123 sout | nl; 123 124 for ( i; 0 ~ size ) { 124 125 S temp = { size - i, size - i + 1 }; … … 126 127 sout | temp | ':' | *v | ", "; 127 128 } // for 128 sout | endl;129 sout | nl; 129 130 for ( i; 0 ~ size ) { 130 131 S temp = { size - i, size - i + 1 }; … … 132 133 sout | temp | ':' | sarr[posn] | ", "; 133 134 } // for 134 sout | endl | endl;135 sout | nl | nl; 135 136 { 136 137 int getKey( const S & s ) { return s.j; } … … 138 139 sout | sarr[i] | ", "; 139 140 } // for 140 sout | endl;141 sout | nl; 141 142 for ( i; 0 ~ size ) { 142 143 S * v = bsearch( size - i + 1, sarr, size ); 143 144 sout | size - i + 1 | ':' | *v | ", "; 144 145 } // for 145 sout | endl;146 sout | nl; 146 147 for ( i; 0 ~ size ) { 147 148 unsigned int posn = bsearch( size - i + 1, sarr, size ); 148 149 sout | size - i + 1 | ':' | sarr[posn] | ", "; 149 150 } // for 150 sout | endl | endl;151 sout | nl | nl; 151 152 } 152 153 } // main … … 154 155 // Local Variables: // 155 156 // tab-width: 4 // 156 // compile-command: "cfa searchsort.c " //157 // compile-command: "cfa searchsort.cfa" // 157 158 // End: // -
tests/stdincludes.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // stdincludes.c --7 // stdincludes.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Aug 29 08:26:14 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 30 07:56:39 201713 // Update Count : 512 // Last Modified On : Tue Nov 6 18:00:53 2018 13 // Update Count : 6 14 14 // 15 15 … … 51 51 // Local Variables: // 52 52 // tab-width: 4 // 53 // compile-command: "cfa stdincludes.c " //53 // compile-command: "cfa stdincludes.cfa" // 54 54 // End: // -
tests/sum.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // sum.c -- test resolvers ability to deal with many variables with the same name and to use the minimum number of casts8 // necessary to disambiguate overloaded variable names.7 // sum.cfa -- test resolvers ability to deal with many variables with the same name and to use the minimum number of 8 // casts necessary to disambiguate overloaded variable names. 9 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Wed May 27 17:56:53 2015 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Thu Aug 2 08:03:09201814 // Update Count : 2 7913 // Last Modified On : Sun Dec 23 23:00:38 2018 14 // Update Count : 287 15 15 // 16 16 … … 56 56 } // for 57 57 sout | "sum from" | low | "to" | High | "is" 58 | sum( size, (unsigned char *)a ) | ", check" | (int)s | endl;58 | sum( size, (unsigned char *)a ) | ", check" | (int)s; 59 59 60 60 int s = 0, a[size], v = low; … … 64 64 } // for 65 65 sout | "sum from" | low | "to" | High | "is" 66 | sum( size, (int *)a ) | ", check" | (int)s | endl;66 | sum( size, (int *)a ) | ", check" | (int)s; 67 67 68 68 float s = 0.0f, a[size], v = low / 10.0f; … … 72 72 } // for 73 73 sout | "sum from" | low / 10.0f | "to" | High / 10.0f | "is" 74 | sum( size, (float *)a ) | ", check" | (float)s | endl;74 | sum( size, (float *)a ) | ", check" | (float)s; 75 75 76 76 double s = 0.0, a[size], v = low / 10.0; … … 80 80 } // for 81 81 sout | "sum from" | low / 10.0 | "to" | High / 10.0 | "is" 82 | sum( size, (double *)a ) | ", check" | (double)s | endl;82 | sum( size, (double *)a ) | ", check" | (double)s; 83 83 84 84 struct S { int i, j; }; … … 93 93 S ?++( S & t ) { S temp = t; t += (S){1}; return temp; } 94 94 ofstream & ?|?( ofstream & os, S v ) { return os | v.i | v.j; } 95 void ?|?( ofstream & os, S v ) { (ofstream &)(os | v); nl( os ); } 95 96 96 97 S s = (S){0}, a[size], v = { low, low }; … … 100 101 } // for 101 102 sout | "sum from" | low | "to" | High | "is" 102 | sum( size, (S *)a ) | ", check" | (S)s | endl;103 | sum( size, (S *)a ) | ", check" | (S)s; 103 104 104 105 forall( otype Impl | sumable( Impl ) ) … … 114 115 } // for 115 116 sout | "sum from" | low | "to" | High | "is" 116 | sum( size, gs.x ) | ", check" | (int)s | endl;// add field array in generic type117 | sum( size, gs.x ) | ", check" | (int)s; // add field array in generic type 117 118 delete( gs.x ); 118 119 } // main … … 120 121 // Local Variables: // 121 122 // tab-width: 4 // 122 // compile-command: "cfa sum.c " //123 // compile-command: "cfa sum.cfa" // 123 124 // End: // -
tests/swap.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // swap.c --7 // swap.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Dec 7 09:13:13 201713 // Update Count : 7 112 // Last Modified On : Sun Dec 23 23:00:49 2018 13 // Update Count : 77 14 14 // 15 15 … … 19 19 int main( void ) { 20 20 char c1 = 'a', c2 = 'b'; 21 sout | "char\t\t\t" | c1 | ' ' | c2 | "\t\t\tswap " ;21 sout | "char\t\t\t" | c1 | ' ' | c2 | "\t\t\tswap " | nonl; 22 22 swap( c1, c2 ); 23 sout | '\t' | c1 | ' ' | c2 | endl;23 sout | '\t' | c1 | ' ' | c2; 24 24 25 25 signed int i1 = -1, i2 = -2; 26 sout | "signed int\t\t" | i1 | i2 | "\t\t\tswap " ;26 sout | "signed int\t\t" | i1 | i2 | "\t\t\tswap " | nonl; 27 27 swap( i1, i2 ); 28 sout | '\t' | i1 | i2 | endl;28 sout | '\t' | i1 | i2; 29 29 30 30 unsigned int ui1 = 1, ui2 = 2; 31 sout | "unsigned int\t\t" | ui1 | ui2 | "\t\t\tswap " ;31 sout | "unsigned int\t\t" | ui1 | ui2 | "\t\t\tswap " | nonl; 32 32 swap( ui1, ui2 ); 33 sout | '\t' | ui1 | ui2 | endl;33 sout | '\t' | ui1 | ui2; 34 34 35 35 signed long int li1 = -1, li2 = -2; 36 sout | "signed long int\t\t" | li1 | li2 | "\t\t\tswap " ;36 sout | "signed long int\t\t" | li1 | li2 | "\t\t\tswap " | nonl; 37 37 swap( li1, li2 ); 38 sout | '\t' | li1 | li2 | endl;38 sout | '\t' | li1 | li2; 39 39 40 40 unsigned long int uli1 = 1, uli2 = 2; 41 sout | "unsigned long int\t" | uli1 | uli2 | "\t\t\tswap " ;41 sout | "unsigned long int\t" | uli1 | uli2 | "\t\t\tswap " | nonl; 42 42 swap( uli1, uli2 ); 43 sout | '\t' | uli1 | uli2 | endl;43 sout | '\t' | uli1 | uli2; 44 44 45 45 signed long long int lli1 = -1, lli2 = -2; 46 sout | "signed long long int\t" | lli1 | lli2 | "\t\t\tswap " ;46 sout | "signed long long int\t" | lli1 | lli2 | "\t\t\tswap " | nonl; 47 47 swap( lli1, lli2 ); 48 sout | '\t' | lli1 | lli2 | endl;48 sout | '\t' | lli1 | lli2; 49 49 50 50 unsigned long long int ulli1 = 1, ulli2 = 2; 51 sout | "unsigned long long int\t" | ulli1 | ulli2 | "\t\t\tswap " ;51 sout | "unsigned long long int\t" | ulli1 | ulli2 | "\t\t\tswap " | nonl; 52 52 swap( ulli1, ulli2 ); 53 sout | '\t' | ulli1 | ulli2 | endl;53 sout | '\t' | ulli1 | ulli2; 54 54 55 55 float f1 = 1.5, f2 = 2.5; 56 sout | "float\t\t\t" | f1 | f2 | "\t\t\tswap " ;56 sout | "float\t\t\t" | f1 | f2 | "\t\t\tswap " | nonl; 57 57 swap( f1, f2 ); 58 sout | '\t' | f1 | f2 | endl;58 sout | '\t' | f1 | f2; 59 59 60 60 double d1 = 1.5, d2 = 2.5; 61 sout | "double\t\t\t" | d1 | d2 | "\t\t\tswap " ;61 sout | "double\t\t\t" | d1 | d2 | "\t\t\tswap " | nonl; 62 62 swap( d1, d2 ); 63 sout | '\t' | d1 | d2 | endl;63 sout | '\t' | d1 | d2; 64 64 65 65 long double ld1 = 1.5, ld2 = 2.5; 66 sout | "long double\t\t" | ld1 | ld2 | "\t\t\tswap " ;66 sout | "long double\t\t" | ld1 | ld2 | "\t\t\tswap " | nonl; 67 67 swap( ld1, ld2 ); 68 sout | '\t' | ld1 | ld2 | endl;68 sout | '\t' | ld1 | ld2; 69 69 70 70 float _Complex fc1 = 1.5f+1.5if, fc2 = 2.5f+2.5if; 71 sout | "float _Complex\t\t" | fc1 | fc2 | "\tswap " ;71 sout | "float _Complex\t\t" | fc1 | fc2 | "\tswap " | nonl; 72 72 swap( fc1, fc2 ); 73 sout | '\t' | fc1 | fc2 | endl;73 sout | '\t' | fc1 | fc2; 74 74 75 75 double _Complex dc1 = 1.5d+1.5id, dc2 = 2.5d+2.5id; 76 sout | "double _Complex\t\t" | dc1 | dc2 | "\tswap " ;76 sout | "double _Complex\t\t" | dc1 | dc2 | "\tswap " | nonl; 77 77 swap( dc1, dc2 ); 78 sout | '\t' | dc1 | dc2 | endl;78 sout | '\t' | dc1 | dc2; 79 79 80 80 long double _Complex ldc1 = 1.5d+1.5il, ldc2 = 2.5d+2.5il; 81 sout | "long double _Complex\t" | ldc1 | ldc2 | "\tswap " ;81 sout | "long double _Complex\t" | ldc1 | ldc2 | "\tswap " | nonl; 82 82 swap( ldc1, ldc2 ); 83 sout | '\t' | ldc1 | ldc2 | endl;83 sout | '\t' | ldc1 | ldc2; 84 84 85 85 struct S { int i, j; } s1 = { 1, 2 }, s2 = { 2, 1 }; 86 86 ofstream & ?|?( ofstream & os, S s ) { return os | s.i | s.j; } 87 sout | "struct S\t\t" | s1 | "," | s2 | "\t\tswap "; 87 void ?|?( ofstream & os, S s ) { (ofstream &)(os | s.i | s.j); nl( os ); } 88 sout | "struct S\t\t" | s1 | "," | s2 | "\t\tswap " | nonl; 88 89 swap( s1, s2 ); 89 sout | '\t' | s1 | "," | s2 | endl;90 sout | '\t' | s1 | "," | s2; 90 91 } // main 91 92 92 93 // Local Variables: // 93 94 // tab-width: 4 // 94 // compile-command: "cfa swap.c " //95 // compile-command: "cfa swap.cfa" // 95 96 // End: // -
tests/switch.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // switch.c --7 // switch.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Jul 12 06:50:22 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Mar 8 07:33:05201813 // Update Count : 3 612 // Last Modified On : Tue Nov 6 18:01:34 2018 13 // Update Count : 37 14 14 // 15 15 … … 104 104 // Local Variables: // 105 105 // tab-width: 4 // 106 // compile-command: "cfa switch.c " //106 // compile-command: "cfa switch.cfa" // 107 107 // End: // -
tests/test.py
rff5caaf r95b8aa7 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() -
tests/tuple/tupleAssign.cfa
rff5caaf r95b8aa7 10 10 // Created On : Tue Nov 15 17:24:32 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Mar 6 21:23:58 201713 // Update Count : 3 412 // Last Modified On : Tue Dec 4 22:03:48 2018 13 // Update Count : 35 14 14 // 15 15 … … 24 24 // swap x, y and store the new [x, y] in [u, v] and in z; 25 25 printf( "u=%d v=%d x=%d y=%d z=[%d, %d]\n", u, v, x, y, z ); 26 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]" | endl;26 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]"; 27 27 z = [u, v] = [x, y] = [y, x]; 28 28 printf( "u=%d v=%d x=%d y=%d z=[%d, %d]\n", u, v, x, y, z ); 29 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]" | endl;29 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]"; 30 30 31 31 // shuffle elements -- v = z.0, z.0 = z.1, z.1 = u, u = v 32 32 [v, z, u] = [z, u, v]; 33 33 printf( "u=%d v=%d z=[%d, %d]\n", u, v, z ); 34 sout | "u=" | u | "v=" | v | "z=[" | z | "]" | endl;34 sout | "u=" | u | "v=" | v | "z=[" | z | "]"; 35 35 36 36 // multiple assignment with tuple expression on right … … 38 38 [u, v] = [123, 456]; 39 39 printf( "u=%d v=%d z=[%d, %d]\n", u, v, z ); 40 sout | "u=" | u | "v=" | v | "z=[" | z | "]" | endl;40 sout | "u=" | u | "v=" | v | "z=[" | z | "]"; 41 41 } 42 42 { … … 55 55 [t, x, d, i, c, x] = (double)94.12; 56 56 printf( "d=%lg i=%d c=%c t=[%d, %lg, %d]\n", d, i, (int)c, t ); 57 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]" | endl;57 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]"; 58 58 [x, c, i, d, x, t] = (double)-94.12; 59 59 printf( "d=%lg i=%d c=%c t=[%d, %lg, %d]\n", d, i, c, t ); 60 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]" | endl;60 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]"; 61 61 } 62 62 } -
tests/userLiterals.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // user_literals.c --7 // user_literals.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Sep 6 21:40:50 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Apr 29 16:51:42201813 // Update Count : 5 412 // Last Modified On : Tue Dec 4 22:03:10 2018 13 // Update Count : 56 14 14 // 15 15 … … 18 18 #include <uchar.h> 19 19 20 int ?`s( int s ) { sout | "secs" | s | endl; return s; }21 int ?`m( int m ) { sout | "mins" | m | endl; return m * 60; }22 int ?`h( int h ) { sout | "hours" | h | endl; return h * 3600; }23 int ?`_A_( int x ) { sout | "_A_" | x | endl; return x; }24 int ?`__thingy_( int x ) { sout | "_thingy_" | x | endl; return x; }20 int ?`s( int s ) { sout | "secs" | s; return s; } 21 int ?`m( int m ) { sout | "mins" | m; return m * 60; } 22 int ?`h( int h ) { sout | "hours" | h; return h * 3600; } 23 int ?`_A_( int x ) { sout | "_A_" | x; return x; } 24 int ?`__thingy_( int x ) { sout | "_thingy_" | x; return x; } 25 25 26 int ?`s( const char * s ) { sout | "secs" | s | endl; return 0; }27 int ?`m( const char16_t * m ) { sout | "mins" | m | endl; return 0;}28 int ?`h( const char32_t * h ) { sout | "hours" | h | endl; return 0; }29 int ?`_A_( const wchar_t * str ) { sout | "_A_" | str | endl; return 0; }30 int ?`__thingy_( const char * str ) { sout | "_thingy_" | str | endl; return 0; }26 int ?`s( const char * s ) { sout | "secs" | s; return 0; } 27 int ?`m( const char16_t * m ) { sout | "mins" | m; return 0;} 28 int ?`h( const char32_t * h ) { sout | "hours" | h; return 0; } 29 int ?`_A_( const wchar_t * str ) { sout | "_A_" | str; return 0; } 30 int ?`__thingy_( const char * str ) { sout | "_thingy_" | str; return 0; } 31 31 32 32 … … 46 46 Weight w, heavy = { 20 }; // 20 stone 47 47 w = 155`lb; 48 sout | w | endl;48 sout | w; 49 49 w = 0b_1111`st; 50 sout | w | endl;50 sout | w; 51 51 w = 0_233`lb; // octal weight (155) 52 sout | w | endl;52 sout | w; 53 53 w = 0x_9b_u`kg; 54 sout | w | endl;54 sout | w; 55 55 w = 70.3`kg; 56 sout | w | endl;56 sout | w; 57 57 w = 11`st + 1`lb; 58 sout | w | endl;58 sout | w; 59 59 w = 5`st + 8`kg + 25`lb + heavy; 60 sout | w | endl;60 sout | w; 61 61 62 62 // 0`secs; … … 90 90 // Local Variables: // 91 91 // tab-width: 4 // 92 // compile-command: "cfa user_literals.c " //92 // compile-command: "cfa user_literals.cfa" // 93 93 // End: // -
tests/variableDeclarator.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // variableDeclarator.c --7 // variableDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:41:42 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 08:42:21 201613 // Update Count : 112 // Last Modified On : Tue Nov 6 18:02:16 2018 13 // Update Count : 2 14 14 // 15 15 … … 182 182 // Local Variables: // 183 183 // tab-width: 4 // 184 // compile-command: "cfa variableDeclarator.c " //184 // compile-command: "cfa variableDeclarator.cfa" // 185 185 // End: // -
tests/vector.cfa
rff5caaf r95b8aa7 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // vector.c --7 // vector.cfa -- 8 8 // 9 9 // Author : Thierry Delisle 10 10 // Created On : Mon Jul 4 23:36:19 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jan 18 17:08:08201813 // Update Count : 2 712 // Last Modified On : Tue Dec 4 22:02:39 2018 13 // Update Count : 29 14 14 // 15 15 … … 21 21 do { \ 22 22 if ( !(x) ) { \ 23 sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__ | endl; \23 sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__; \ 24 24 abort(); \ 25 25 } \ … … 31 31 assert( empty( &iv ) ); 32 32 assert( size( &iv ) == 0 ); 33 sout | size( &iv ) | endl;33 sout | size( &iv ); 34 34 35 35 push_back( &iv, 1 ); 36 36 assert( size( &iv ) == 1 ); 37 sout | size( &iv ) | endl;37 sout | size( &iv ); 38 38 39 39 push_back( &iv, 2 ); 40 40 assert( size( &iv ) == 2 ); 41 sout | size( &iv ) | endl;41 sout | size( &iv ); 42 42 43 43 push_back( &iv, 3 ); 44 44 assert( size( &iv ) == 3 ); 45 sout | size( &iv ) | endl;45 sout | size( &iv ); 46 46 47 47 assert( !empty( &iv ) ); … … 58 58 assert( empty( &iv ) ); 59 59 assert( size( &iv ) == 0 ); 60 sout | size( &iv ) | endl;60 sout | size( &iv ); 61 61 } 62 62 63 63 // Local Variables: // 64 64 // tab-width: 4 // 65 // compile-command: "cfa vector.c " //65 // compile-command: "cfa vector.cfa" // 66 66 // End: // -
tests/warnings/.expect/self-assignment.txt
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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/prettyprinter/Makefile.am
rff5caaf r95b8aa7 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
rff5caaf r95b8aa7 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.