2 # AC_FUNC_FSEEKO is horribly broken in autoconf 2.61 and can
3 # cause silent corruption with largefiles. It is fixed in 2.62, but to
4 # prevent stupid mistakes we use our own version taken from the 2.63 tree.
7 # ACX_FUNC_FSEEKO_FIXED
9 AN_FUNCTION([ftello], [ACX_FUNC_FSEEKO_FIXED])
10 AN_FUNCTION([fseeko], [ACX_FUNC_FSEEKO_FIXED])
11 AC_DEFUN([ACX_FUNC_FSEEKO_FIXED],
12 [_AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1,
13 [ac_cv_sys_largefile_source],
14 [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).],
15 [[#include <sys/types.h> /* for off_t */
17 [[int (*fp) (FILE *, off_t, int) = fseeko;
18 return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])
20 # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
21 # in glibc 2.1.3, but that breaks too many other things.
22 # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
24 if test $ac_cv_sys_largefile_source != unknown; then
25 AC_DEFINE(HAVE_FSEEKO, 1,
26 [Define to 1 if fseeko (and presumably ftello) exists and is declared.])
28 ])# ACX_FUNC_FSEEKO_FIXED
33 # This macro checks for fftw-2.x header files and libraries,
34 # including the possible prefixing with s or d to determine precision.
35 # Arg 1 is the fftw header/library name to check for, without
36 # prefix or anything else (e.g. rfftw_mpi for real MPI transforms)
37 # Arg 2 is the size of the real variable used.
38 AC_DEFUN([ACX_CHECK_FFTW2],
40 if test -z "$ac_fftw_firstname"; then
43 if test $sizeof_real = 8; then
51 xfftwname=${fftwcheckprefix}$1
54 # check header doesn't work, since we must use mpicc to get includes,
56 AC_MSG_CHECKING([for $xfftwname.h])
57 AC_TRY_COMPILE([#include <$xfftwname.h>],,
64 # fftwname was set if we found a header
66 if test -n "$fftwname"; then
67 # we cannot run the code since an MPI program might not be allowed
68 # on a login node of a supercomputer
69 AC_TRY_COMPILE([#include <$fftwname.h>],
70 [int _array_ [1 - 2 * !((sizeof(fftw_real)) == $sizeof_real)]; ],
73 usedprefix=$fftwcheckprefix
77 if test "$ok" != "yes"; then
78 AC_MSG_CHECKING([for $1.h])
79 AC_TRY_COMPILE([#include <$1.h>],,AC_MSG_RESULT(yes),
82 AC_MSG_ERROR([Cannot find any $prec precision $xfftwname.h or $1.h]
83 [Do you have $prec precision FFTW-2.x installed? If you are using packages,]
84 [note that you also need fftw-devel to compile GROMACS. You can find the ]
85 [software at www.fftw.org, and detailed instructions at www.gromacs.org.]
86 [If you compiled FFTW-2.x yourself: ]
87 [Note that the default FFTW-2.x setup is double precision. Change the FFTW]
88 [configuration to single with --enable-float. If you want MPI support,]
89 [use --enable-mpi. It is a good idea to install both single & double.]
90 [If your sysadm doesn't want to install it you can do it to a location]
91 [in your home directory and provide the correct paths in the CPPFLAGS]
92 [and LDFLAGS environment variables before running configure.]
93 [That is also necessary to do if your compiler doesn't search]
94 [/usr/local/include and /usr/local/lib by default.]
95 [You can find information at www.gromacs.org, or in the INSTALL file.])
97 AC_TRY_COMPILE([#include <$1.h>],
98 [int _array_ [1 - 2 * !((sizeof(fftw_real)) == $sizeof_real)];],
104 AC_MSG_ERROR([Cannot find any $prec precision $xfftwname.h or $1.h]
105 [Do you have $prec precision FFTW-2.x installed? If you are using packages,]
106 [note that you also need fftw-devel to compile GROMACS. You can find the ]
107 [software at www.fftw.org, and detailed instructions at www.gromacs.org.]
108 [If you compiled FFTW-2.x yourself: ]
109 [Note that the default FFTW-2.x setup is double precision. Change the FFTW]
110 [configuration to single with --enable-float. If you want MPI support,]
111 [use --enable-mpi. It is a good idea to install both single & double.]
112 [If your sysadm doesn't want to install it you can do it to a location]
113 [in your home directory and provide the correct paths in the CPPFLAGS]
114 [and LDFLAGS environment variables before running configure.]
115 [That is also necessary to do if your compiler doesn't search]
116 [/usr/local/include and /usr/local/lib by default.]
117 [You can find information at www.gromacs.org, or in the INSTALL file.])])
120 AC_CHECK_LIB($fftwname,main,,
121 AC_MSG_ERROR([Can't find a library to match the $fftwname header]))
122 ac_fftw_savedprefix=$usedprefix
123 ac_fftw_firstname=$fftwname
127 fftwname=${ac_fftw_savedprefix}$1
128 AC_MSG_CHECKING([for $fftwname.h])
130 [#include <$fftwname.h>],,
132 LIBS="-l$fftwname $LIBS"
133 AC_TRY_LINK_FUNC([main],,,
134 AC_MSG_ERROR([Can't find a library to match the $fftwname header]))],
137 AC_MSG_ERROR([Cant find $fftwname.h header. Make sure all your
138 fftw prefixes match - we already use $ac_fftw_firstname.h])
150 dnl Check for floating-point format and double precision word order.
151 dnl We dont require IEEE, but there are optimizations we can only do with it.
152 dnl Just as for integers, the bytes in a word can be small of big endian.
153 dnl There is already a standard autoconf macro (AC_C_BIGENDIAN) that you
154 dnl should use to check this for integers - I have never heard of a machine
155 dnl where it is not the same for integer and fp variables, but we still check
156 dnl it separately for fp variables here to be sure.
158 dnl However, in double precision there are also two ways to arrange the words
159 dnl forming a double (8-byte=2-word) variable.
160 dnl Normally this order is the same as the endian, but there are
161 dnl exceptions (e.g. ARM)
162 dnl We detect it by compiling a small test program and grepping into it.
164 AC_DEFUN([ACX_FLOAT_FORMAT],
165 [AC_CACHE_CHECK(floating-point format, acx_float_format,
166 [cat >conftest.$ac_ext <<EOF
167 [/* Check that a double is 8 bytes - die if it isnt */
168 extern char xyz [sizeof(double) == 8 ? 1 : -1];
170 /* "GROMACSX" in ascii */
171 (double) 3.80279098314984902657e+35 ,
172 /* "GROMACSX" in ebcdic */
173 (double) -1.37384666579378297437e+38 ,
174 /* "D__float" (vax) */
175 (double) 3.53802595280598432000e+18 ,
176 /* "IBMHEXFP" s390/ascii */
177 (double) 1.77977764695171661377e+10 ,
178 /* "IBMHEXFP" s390/ebcdic */
179 (double) -5.22995989424860458374e+10 };
182 if AC_TRY_EVAL(ac_compile); then
183 # dont match first and last letter because of rounding errors.
184 # next: big-endian - string is GROMACSX
185 if grep 'ROMACS' conftest.o >/dev/null 2>&1; then
186 acx_float_format='IEEE754 (big-endian byte and word order)'
187 # next: big-endian byte order, but little-endian word order - ACSXGROM
188 elif grep 'CSXGRO' conftest.o >/dev/null 2>&1; then
189 acx_float_format='IEEE754 (big-endian byte, little-endian word order)'
190 # next: little-endian - XSCAMORG
191 elif grep 'SCAMOR' conftest.o >/dev/null 2>&1; then
192 acx_float_format='IEEE754 (little-endian byte and word order)'
193 # next: little-endian byte order, but big-endian word order - MORGXSCA
194 elif grep 'ORGXSC' conftest.o >/dev/null 2>&1; then
195 acx_float_format='IEEE754 (litte-endian byte, little-endian word order)'
196 elif grep '__floa' conftest.o >/dev/null 2>&1; then
197 acx_float_format='VAX D-float'
198 elif grep 'BMHEXF' conftest.o >/dev/null 2>&1; then
199 acx_float_format='IBM 370 hex'
201 AC_MSG_WARN([Unknown floating-point format])
204 AC_MSG_ERROR(compile failed)
207 case $acx_float_format in
208 'IEEE754 (big-endian byte and word order)' )
213 'IEEE754 (little-endian byte and word order)' )
218 'IEEE754 (big-endian byte, little-endian word order)' )
223 'IEEE754 (litte-endian byte, big-endian word order)' )
229 AC_DEFINE(FLOAT_FORMAT_VAX,,[VAX floating-point format if set])
232 AC_DEFINE(FLOAT_FORMAT_IBM_HEX,,[IBM HEX floating-point format if set (s390?)])
238 if test "$format" = "IEEE754"; then
239 AC_DEFINE(FLOAT_FORMAT_IEEE754,,[IEEE754 floating-point format. Memory layout is defined by
240 macros IEEE754_BIG_ENDIAN_BYTE_ORDER and IEEE754_BIG_ENDIAN_WORD_ORDER.])
242 if test "$byteorder" = "big"; then
243 AC_DEFINE(IEEE754_BIG_ENDIAN_BYTE_ORDER,,[Bytes in IEEE fp word are in big-endian order if set,
244 little-endian if not. Only relevant when FLOAT_FORMAT_IEEE754 is defined.])
246 if test "$wordorder" = "big"; then
247 AC_DEFINE(IEEE754_BIG_ENDIAN_WORD_ORDER,,[The two words in a double precision variable are in b
248 ig-endian order if set, little-endian if not. Do NOT assume this is the same as the byte order!
249 Only relevant when FLOAT_FORMAT_IEEE754 is defined.])
254 dnl macro modified from the fftw distribution (www.fftw.org)
255 AC_DEFUN([ACX_CHECK_CC_FLAGS],
257 AC_REQUIRE([AC_PROG_CC])
258 AC_CACHE_CHECK(whether $CC accepts $1, ac_$2,
259 [echo 'void f(){}' > conftest.c
260 res=`$CC $1 -c conftest.c 2>&1`
262 # The stupid intel compiler echos the filename on stderr...
264 if test -z "$res" -o "$res" = "conftest.c:"; then
271 if test "$ac_$2" = yes; then
280 dnl macro modified from the fftw distribution (www.fftw.org)
281 AC_DEFUN([ACX_CHECK_F77_FLAGS],
283 AC_REQUIRE([AC_PROG_F77])
284 AC_CACHE_CHECK(whether $F77 accepts $1, ac_$2,
285 [cat > conftest.f << EOF
290 if test -z "`$F77 $1 -c conftest.f `"; then
297 if test "$ac_$2" = yes; then
308 # ---------------------------
309 # Macro to extend the exact CPU for some hosts
310 AC_DEFUN([ACX_DETECT_GMXCPU],
312 AC_REQUIRE([AC_CANONICAL_HOST])
315 # Determine the exact cpu type on some common systems where it is
316 # not visible from the host triplet.
317 # (on e.g. intel and dec/tru64 the host type is enough)
321 case "${host_cpu}-${host_os}" in
324 # some versions of config.status says these systems are PowerPC even
325 # when they have Power3 CPUs (they used to be recognized as rs6000),
326 # so we need to work around that.
328 # we need to fool the combination of m4, sh and awk - thus the seemingly unnecessary n
329 if test -f /usr/sbin/lsdev && test -f /usr/sbin/lsattr; then
330 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ n=1; print $n }'`
331 if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER5 >/dev/null 2>&1; then
333 elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER4 >/dev/null 2>&1; then
335 elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER3 >/dev/null 2>&1; then
337 elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER2 >/dev/null 2>&1; then
341 if test -z "${gmxcpu}" && test -f /usr/sbin/lscfg; then
342 if /usr/sbin/lscfg -vp | grep PowerPC | grep 604 >/dev/null 2>&1; then
344 elif /usr/sbin/lscfg -vp | grep PowerPC | grep 603 >/dev/null 2>&1; then
346 elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64a >/dev/null 2>&1; then
348 elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64b >/dev/null 2>&1; then
350 elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64c >/dev/null 2>&1; then
352 elif /usr/sbin/lscfg -vp | grep POWER2 >/dev/null 2>&1; then
354 elif /usr/sbin/lscfg -vp | grep POWER3 >/dev/null 2>&1; then
356 elif /usr/sbin/lscfg -vp | grep POWER4 >/dev/null 2>&1; then
363 if /sbin/hinv | grep CPU | grep R12000 >/dev/null 2>&1; then
365 elif /sbin/hinv | grep CPU | grep R10000 >/dev/null 2>&1; then
367 elif /sbin/hinv | grep CPU | grep R8000 >/dev/null 2>&1; then
369 elif /sbin/hinv | grep CPU | grep R5000 >/dev/null 2>&1; then
377 if /usr/sbin/prtconf | grep UltraSPARC-III >/dev/null 2>&1; then
379 elif /usr/sbin/prtconf | grep UltraSPARC-IIi >/dev/null 2>&1; then
381 elif /usr/sbin/prtconf | grep UltraSPARC-II >/dev/null 2>&1; then
383 elif /usr/sbin/prtconf | grep UltraSPARC >/dev/null 2>&1; then
398 ###############################################################
399 # Macro modified from the fftw distribution (www.fftw.org)
400 # to determine optimization flags.
401 # Note that we have modified config.guess and config.sub
402 # to provide extended information on the detailed type of CPU.
403 # In general we assume you have recent versions of the compilers
404 # that support the highest optimization we know of. If not, you
405 # can always override these flags, but it's better to upgrade :-)
406 ###############################################################
407 AC_DEFUN([ACX_COMPILER_MAXOPT],
409 AC_REQUIRE([AC_PROG_CC])
410 AC_REQUIRE([AC_PROG_F77])
411 AC_REQUIRE([AC_CANONICAL_HOST])
413 # Try to determine "good" native compiler flags if none specified on command
414 # line. To avoid repeating the entire procedure for fortran flags, we first
415 # determine our suggested choices for both C and fortran, and then possibly
416 # override them with user choices.
420 case "${host_cpu}-${host_os}" in
425 xCFLAGS="-fast -xO5 -xtarget=ultra3 -fsimple=2 -fnonstd -dalign"
429 xCFLAGS="-fast -xO5 -xtarget=ultra2i -fsimple=2 -fnonstd -dalign"
433 xCFLAGS="-fast -xO5 -xtarget=ultra2 -fsimple=2 -fnonstd -dalign"
437 xCFLAGS="-fast -xO5 -xtarget=ultra -fsimple=2 -fnonstd -dalign"
441 xCFLAGS="-native -fast -xO5 -fsimple=2 -fnonstd -dalign"
448 xCFLAGS="-Ae +O3 +Oall"
450 # If you haven't noticed, we don't like hp very much...
451 # but perhaps that will change if they make something nice out of ia64.
455 # The GNU compilers are checked outside this case statement.
456 # Check for Intel Compilers. The SGI one was killed before
457 # it went final, so I cant imagine anyone is using it...
459 # Apparently, -O2 is better than -O3 for villin at least,
460 # but I have not yet had time to test all the other benchmarks
461 # on both optimization levels. Might need further tweaking.
463 # The Intel compilers are _really_ chatty when it comes to
464 # warnings, and also echo a lot of incomprehensible internal
465 # stuff (not gromacs-related) when we are using ia64 assembly.
466 # For this reason we disable warnings...
468 if $CC -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
473 if $F77 -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
474 xFFLAGS="-O3 -w90 -w95 -w"
477 # PORTME 2. Check for intel compilers when we get our hands on one!
480 # dont use inter-procedure analysis for the innerloops - they take
481 # forever to compile with it, and it doesnt help at all.
483 # use 8 segments (max 2Gb) instead of 1 (max 256Meg) by default.
484 xLDFLAGS="$xLDFLAGS -bmaxdata:0x80000000"
487 xCFLAGS="-O3 -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qstrict -qaltivec -qenablevmx -qvecnvol"
488 xFFLAGS="-O3 -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qhot -qstrict -qaltivec -qenablevmx -qvecnvol"
491 xCFLAGS="-O3 -qarch=pwr5 -qtune=pwr5 -qmaxmem=16384"
492 xFFLAGS="-O3 -Q -qarch=pwr5 -qtune=pwr5 -qmaxmem=16384 -qhot -qnoipa"
495 xCFLAGS="-O3 -qarch=pwr4 -qtune=pwr4 -qmaxmem=16384"
496 xFFLAGS="-O3 -Q -qarch=pwr4 -qtune=pwr4 -qmaxmem=16384 -qhot -qnoipa"
499 xCFLAGS="-O3 -qarch=pwr3 -qtune=pwr3 -qmaxmem=16384"
500 xFFLAGS="-O3 -Q -qarch=pwr3 -qtune=pwr3 -qmaxmem=16384 -qhot -qnoipa"
503 xCFLAGS="-O3 -qarch=pwr2 -qtune=pwr2 -qmaxmem=16384"
504 xFFLAGS="-O3 -Q -qarch=pwr2 -qtune=pwr2 -qmaxmem=16384 -qhot -qnoipa"
507 xCFLAGS="-O3 -qarch=pwr -qtune=pwr -qmaxmem=16384"
508 xFFLAGS="-O3 -Q -qarch=pwr -qtune=pwr -qmaxmem=16384 -qhot -qnoipa"
511 xCFLAGS="-O3 -qarch=604 -qtune=604 -qmaxmem=16384"
512 xFFLAGS="-O3 -Q -qarch=604 -qtune=604 -qmaxmem=16384 -qhot"
515 xCFLAGS="-O3 -qarch=603 -qtune=603 -qmaxmem=16384"
516 xFFLAGS="-O3 -Q -qarch=603 -qtune=603 -qmaxmem=16384 -qhot"
519 xCFLAGS="-O3 -qarch=rs64a -qtune=rs64a -qmaxmem=16384"
520 xFFLAGS="-O3 -Q -qarch=rs64a -qtune=rs64a -qmaxmem=16384 -qhot"
523 xCFLAGS="-O3 -qarch=rs64b -qtune=rs64b -qmaxmem=16384"
524 xFFLAGS="-O3 -Q -qarch=rs64b -qtune=rs64b -qmaxmem=16384 -qhot"
527 xCFLAGS="-O3 -qarch=rs64c -qtune=rs64c -qmaxmem=16384"
528 xFFLAGS="-O3 -Q -qarch=rs64c -qtune=rs64c -qmaxmem=16384 -qhot"
531 xCFLAGS="-O3 -qmaxmem=16384"
532 xFFLAGS="-O3 -Q -qmaxmem=16384 -qhot"
537 powerpc*-darwin* | powerpc*-linux* )
538 # Check for IBM compilers on OS X
539 if $CC 2>&1 | grep 'IBM' > /dev/null 2>&1; then
540 xCFLAGS="-O4 -Q=500 -qaltivec -qnoipa"
542 if $F77 -V 2>&1 | grep 'IBM' > /dev/null 2>&1; then
543 xFFLAGS="-O4 -Q=500 -qnoipa"
548 xCFLAGS="-O3 -OPT:IEEE_arithmetic=3 -OPT:rsqrt=ON -SWP:loop_overhead -INLINE:=ON -LNO:opt=1 -LNO:ou_further=3 -OPT:Olimit=0:roundoff=3:alias=typed -woff 1174 -D__INLINE_INTRINSICS"
549 xFFLAGS="-O3 -OPT:IEEE_arithmetic=3 -OPT:rsqrt=ON -SWP:loop_overhead -INLINE:=ON -LNO:opt=1 -LNO:ou_further=3 -OPT:Olimit=0:roundoff=3:alias=typed -OPT:cray_ivdep=TRUE"
551 if $CC -version | grep "Version 7.1" > /dev/null 2>&1; then
552 xCFLAGS="$xCFLAGS -GCM:aggressive_speculation -GCM:array_speculation"
553 xFFLAGS="$xFFLAGS -GCM:aggressive_speculation -GCM:array_speculation"
556 if $CC -version | grep "Version 7.3" > /dev/null 2>&1; then
557 xCFLAGS="$xCFLAGS -SWP:heur=fdms,nhms,fdnms"
558 xFFLAGS="$xFFLAGS -SWP:heur=fdms,nhms,fdnms"
562 # I have removed -n32 from the flags since it causes too many problems.
563 # New SGIs should use the right objects automatically, and it's not
564 # worth the hassle for 5-10 year old machines...
568 xCFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xCFLAGS"
569 xFFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xFFLAGS"
570 xLDFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xLDFLAGS"
573 xCFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xCFLAGS"
574 xFFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xFFLAGS"
575 xLDFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xLDFLAGS"
578 xCFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xCFLAGS"
579 xFFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xFFLAGS"
580 xLDFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xLDFLAGS"
583 xCFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xCFLAGS"
584 xFFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xFFLAGS"
585 xLDFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xLDFLAGS"
588 xCFLAGS="$IRIXOBJFLAG $xCFLAGS"
589 xFFLAGS="$IRIXOBJFLAG $xFFLAGS"
590 xLDFLAGS="$IRIXOBJFLAG $xLDFLAGS"
596 # NB: -arch implies -tune according to the cc manual.
597 # We dont use -ifo since it conflicts with dependency
598 # generation on old versions of the compiler.
599 case "${host_cpu}" in
601 # extract the processor from cpu type (e.g. alphaev56 -> ev56)
602 evtype=`echo ${host_cpu} | sed 's/alpha//'`
603 xCFLAGS="-std1 -fast -O4 -no_ifo -arch $evtype -unroll 2 -fp_reorder"
604 xFFLAGS="$xCFLAGS -assume noaccuracy_sensitive"
605 xASFLAGS="-O4 -no_ifo -arch $evtype"
609 xCFLAGS="-std1 -fast -O4 -no_ifo -arch host -unroll 2 -fp_reorder"
610 xFFLAGS="$xCFLAGS -assume noaccuracy_sensitive"
611 xASFLAGS="-O4 -no_ifo -arch host"
618 case "${host_cpu}" in
620 # extract the processor from cpu type (e.g. alphaev56 -> ev56)
621 evtype=`echo ${host_cpu} | sed 's/alpha//'`
622 tmpCFLAGS="-std1 -fast -O4 -no_ifo -arch $evtype -unroll 2 -fp_reorder"
623 tmpFFLAGS="$tmpCFLAGS -assume noaccuracy_sensitive"
624 tmpASFLAGS="-O4 -no_ifo -arch $evtype"
628 tmpCFLAGS="-std1 -fast -O4 -no_ifo -arch host -unroll 2 -fp_reorder"
629 tmpFFLAGS="$tmpCFLAGS -assume noaccuracy_sensitive"
630 tmpASFLAGS="-O4 -no_ifo -arch host"
634 # Compaq sometimes uses -version and sometimes -V
635 # Not 100% sure if ccc always has -V and F77 -version, so
636 # we check both alternatives to be sure.
637 if (($CC -V 2>&1 | grep ompaq > /dev/null) ||
638 ($CC -version 2>&1 | grep ompaq > /dev/null)); then
640 xASFLAGS="$tmpASFLAGS"
643 if test "$enable_fortran" = "yes"; then
644 if (($F77 -V 2>&1 | grep ompaq > /dev/null) ||
645 ($F77 -version 2>&1 | grep ompaq > /dev/null)); then
652 # most of these systems (e.g. linux, FreeBSD) use gcc which is treated
653 # further down, but check for some specific compilers.
654 # Portland group compilers:
655 if $CC -V 2> /dev/null | grep ortland > /dev/null 2>&1; then
656 case "${host_cpu}" in
664 xCFLAGS="$pgiopt -fast -pc 32"
667 if test "$enable_fortran" = "yes"; then
668 if $F77 -version 2> /dev/null | grep Portland > /dev/null 2>&1; then
674 # The Intel compilers are _really_ chatty when it comes to
675 # warnings, and also echo a lot of incomprehensible internal
676 # stuff (not gromacs-related) when we are using assembly.
677 # For this reason we disable warnings...
679 if $CC -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
681 case "${host_cpu}" in
683 xCFLAGS="-O3 -tpp7 -axW -ip -w"
686 xCFLAGS="-O3 -tpp6 -axK -ip -w"
693 # search in /usr/local/include too, just as gcc does. (handy for fftw)
694 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
696 if test "$enable_fortran" = "yes"; then
697 if $F77 -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
699 xFFLAGS="$xCFLAGS -w90 -w95"
705 # Phew, end of all those operating systems and processors!
707 # use default flags for gcc/g77 on all systems
708 if test $ac_cv_prog_gcc = yes; then
709 ACX_CHECK_CC_FLAGS(-O3,o3,xCFLAGS="$xCFLAGS -O3")
710 xCFLAGS="$xCFLAGS -fomit-frame-pointer -finline-functions -Wall -Wno-unused"
711 # For alpha axp assembly we need the preprocessor to tell elf from ecoff.
712 # The compaq ccc compiler only knows .s files, and always runs them
713 # through cpp. We support this by telling gcc to preprocess .s files.
714 case "${host_cpu}" in
716 xASFLAGS="$xCFLAGS -x assembler-with-cpp"
723 if test $enable_fortran = yes; then
724 if test $ac_cv_prog_g77 = yes; then
725 xFFLAGS="-O3 -ffast-math -fomit-frame-pointer -finline-functions -funroll-all-loops -Wall -Wno-unused"
726 # -malign-double for f77 on x86 systems - haven't checked that this works yet.
727 #ACX_CHECK_F77_FLAGS(-malign-double,align_double,xFFLAGS="$xFFLAGS -malign-double")
733 if test "$GCC" = "yes"; then
734 # try to guess correct CPU flags, at least for powerpc linux
735 case "${host_cpu}" in
736 # i586/i686 cpu flags don't improve speed, thus no need to use them.
737 # don't check f77 separately - we assume f77 and gcc are similar
739 # don't use the separate apple cpp on OS X
740 # ACX_CHECK_CC_FLAGS(-no-cpp-precomp,no_cpp_precomp,xCFLAGS="$xCFLAGS -no-cpp-precomp")
741 if test "$enable_ppc_altivec" = "yes"; then
742 # Apple (darwin) uses a hacked version of gcc with special flags
745 ACX_CHECK_CC_FLAGS(-faltivec,faltivec,xCFLAGS="$xCFLAGS -faltivec")
748 # Need to update CPPFLAGS too, since we later call
749 # AC_CHECK_HEADER for altivec.h, and then autoconf complains
750 # if it cannot process it with the preprocessor.
751 ACX_CHECK_CC_FLAGS(-maltivec,maltivec,xCFLAGS="$xCFLAGS -maltivec" CPPFLAGS="$CPPFLAGS -maltivec")
752 ACX_CHECK_CC_FLAGS(-mabi=altivec,mabialtivec,xCFLAGS="$xCFLAGS -mabi=altivec" CPPFLAGS="$CPPFLAGS -mabi=altivec")
756 # -funroll-all-loops exposes a bug in altivec-enabled gcc-2.95.3
757 # on powerpc, so we only enable it on other platforms or gcc3.
758 # The gcc 2.95 instruction scheduler also destroys our handcoded altivec,
759 # so disable instruction scheduling on 2.95
760 if $CC --version 2>&1 | grep '2.95' > /dev/null 2>&1; then
761 echo "*****************************************************************************"
762 echo "* IMPORTANT INFO: You are using gcc-2.95.x on PowerPC. This compiler works, *"
763 echo "* but you will get better performance with gcc-3.3 or later. If you are *"
764 echo "* running OS X, download the latest devtools from http://developer.apple.com*"
765 echo "*****************************************************************************"
766 ACX_CHECK_CC_FLAGS(-fno-schedule-insns,fno_schedule_insns,xCFLAGS="$xCFLAGS -fno-schedule-insns")
768 ACX_CHECK_CC_FLAGS(-mcpu=7450,m_cpu_7450,CPU_FLAGS="-mcpu=7450")
769 ACX_CHECK_CC_FLAGS(-mtune=970,m_tune_970,CPU_FLAGS="$CPU_FLAGS -mtune=970")
770 if test -z "$CPU_FLAGS"; then
771 ACX_CHECK_CC_FLAGS(-mcpu=powerpc,m_cpu_powerpc,CPU_FLAGS="-mcpu=powerpc")
775 ACX_CHECK_CC_FLAGS(-msse2,msse2,xCFLAGS="$xCFLAGS -msse2")
778 ACX_CHECK_CC_FLAGS(-funroll-all-loops,funroll_all_loops,xCFLAGS="$xCFLAGS -funroll-all-loops")
779 ACX_CHECK_CC_FLAGS(-std=gnu99,stdgnu99,xCFLAGS="$xCFLAGS -std=gnu99")
780 # C99 requires strict IEEE 754 floating point compliance. Since gcc>=4.5.0
781 # this is on when asking for c99, potentially impacting floating point
782 # performance, so we turn it off here.
783 ACX_CHECK_CC_FLAGS(-fexcess-precision=fast, fexcess_precision_fast,
784 xCFLAGS="$xCFLAGS -fexcess-precision=fast")
787 if test "$enable_debug" = "yes"; then
788 xCFLAGS="$xCFLAGS -g"
791 if test -n "$CPU_FLAGS"; then
792 xCFLAGS="$xCFLAGS $CPU_FLAGS"
793 xFFLAGS="$xFFLAGS $CPU_FLAGS"
794 xASFLAGS="$xASFLAGS $CPU_FLAGS"
797 # Now check if the user provided anything special for C or fortran...
798 # Not nice to have checked everything then, but otherwise we would have
799 # to use entirely separate checks for C and fortran flags, doubling the code.
800 if test "$ac_test_CFLAGS" != "set"; then
802 # Use the extra link optimization flags on e.g. irix only when
803 # we are using our own C compiler flags
804 LDFLAGS="$LDFLAGS $xLDFLAGS"
806 if test -z "$CFLAGS"; then
807 echo "********************************************************************"
808 echo "* Note: We have not optimized the C compiler flags on your target *"
809 echo "* yet, but the default CFLAGS=-O3 should be OK in most cases. *"
810 echo "* You can override this by setting the CFLAGS environment variable.*"
811 echo "*******************************************************************"
814 ACX_CHECK_CC_FLAGS(${CFLAGS}, guessed_cflags, , [
815 echo "*******************************************************************"
816 echo "* Sorry, these optimization settings don't seem to work for *"
817 echo "* your C compiler. Use make CFLAGS=..., or edit the top Makefile. *"
818 echo "*******************************************************************"
822 echo "******************************************"
823 echo "* Using CFLAGS from environment variable *"
824 echo "******************************************"
827 if test "$enable_fortran" = "yes"; then
828 if test "$ac_test_FFLAGS" != "set"; then
830 if test -z "$FFLAGS"; then
831 echo "********************************************************************"
832 echo "* Note: We have not optimized the Fortran compiler flags on your *"
833 echo "* target, but the default FFLAGS=-O3 should be OK in most cases. *"
834 echo "* You can override this by setting the CFLAGS environment variable.*"
835 echo "********************************************************************"
838 ACX_CHECK_F77_FLAGS(${FFLAGS}, guessed_fflags, , [
839 echo "*******************************************************************"
840 echo "* Sorry, these optimization settings don't seem to work for *"
841 echo "* your f77 compiler. Use make FFLAGS=.., or edit the top Makefile.*"
842 echo "*******************************************************************"
846 echo "******************************************"
847 echo "* Using FFLAGS from environment variable *"
848 echo "******************************************"
851 # Be silent for assembly flags, they are usually not important anyway
852 if test "${ASFLAGS+set}" != set; then
853 if test "${xASFLAGS+set}" != set; then
862 dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
864 dnl This macro figures out how to build C programs using POSIX
865 dnl threads. It sets the PTHREAD_LIBS output variable to the threads
866 dnl library and linker flags, and the PTHREAD_CFLAGS output variable
867 dnl to any special C compiler flags that are needed. (The user can also
868 dnl force certain compiler flags/libs to be tested by setting these
869 dnl environment variables.)
871 dnl Also sets PTHREAD_CC to any special C compiler that is needed for
872 dnl multi-threaded programs (defaults to the value of CC otherwise).
873 dnl (This is necessary on AIX to use the special cc_r compiler alias.)
875 dnl If you are only building threads programs, you may wish to
876 dnl use these variables in your default LIBS, CFLAGS, and CC:
878 dnl LIBS="$PTHREAD_LIBS $LIBS"
879 dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
882 dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
883 dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE
884 dnl to that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
886 dnl ACTION-IF-FOUND is a list of shell commands to run if a threads
887 dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands
888 dnl to run it if it is not found. If ACTION-IF-FOUND is not specified,
889 dnl the default action will define HAVE_PTHREAD.
891 dnl Please let the authors know if this macro fails on any platform,
892 dnl or if you have any other suggestions or comments. This macro was
893 dnl based on work by SGJ on autoconf scripts for FFTW (www.fftw.org)
894 dnl (with help from M. Frigo), as well as ac_pthread and hb_pthread
895 dnl macros posted by AFC to the autoconf macro repository. We are also
896 dnl grateful for the helpful feedback of numerous users.
898 dnl @author Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro Forero Cuervo <bachue@bachue.com>
900 AC_DEFUN([ACX_PTHREAD], [
901 AC_REQUIRE([AC_CANONICAL_HOST])
906 # We used to check for pthread.h first, but this fails if pthread.h
907 # requires special compiler flags (e.g. on True64 or Sequent).
908 # It gets checked for in the link test anyway.
910 # First of all, check if the user has set any of the PTHREAD_LIBS,
911 # etcetera environment variables, and if threads linking works using
913 if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
914 save_CFLAGS="$CFLAGS"
915 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
917 LIBS="$PTHREAD_LIBS $LIBS"
918 AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
919 AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
920 AC_MSG_RESULT($acx_pthread_ok)
921 if test x"$acx_pthread_ok" = xno; then
926 CFLAGS="$save_CFLAGS"
929 # We must check for the threads library under a number of different
930 # names; the ordering is very important because some systems
931 # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
932 # libraries is broken (non-POSIX).
934 # Create a list of thread flags to try. Items starting with a "-" are
935 # C compiler flags, and other items are library names, except for "none"
936 # which indicates that we try without any flags at all.
938 acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt"
940 # The ordering *is* (sometimes) important. Some notes on the
941 # individual items follow:
943 # pthreads: AIX (must check this before -lpthread)
944 # none: in case threads are in libc; should be tried before -Kthread and
945 # other compiler flags to prevent continual compiler warnings
946 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
947 # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
948 # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
949 # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
950 # -pthreads: Solaris/gcc
951 # -mthreads: Mingw32/gcc, Lynx/gcc
952 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
953 # doesn't hurt to check since this sometimes defines pthreads too;
954 # also defines -D_REENTRANT)
955 # pthread: Linux, etcetera
956 # --thread-safe: KAI C++
958 case "${host_cpu}-${host_os}" in
961 # On Solaris (at least, for some versions), libc contains stubbed
962 # (non-functional) versions of the pthreads routines, so link-based
963 # tests will erroneously succeed. (We need to link with -pthread or
964 # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
965 # a function called by this macro, so we could check for that, but
966 # who knows whether they'll stub that too in a future libc.) So,
967 # we'll just look for -pthreads and -lpthread first:
969 acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
973 if test x"$acx_pthread_ok" = xno; then
974 for flag in $acx_pthread_flags; do
978 AC_MSG_CHECKING([whether pthreads work without any flags])
982 AC_MSG_CHECKING([whether pthreads work with $flag])
983 PTHREAD_CFLAGS="$flag"
987 AC_MSG_CHECKING([for the pthreads library -l$flag])
988 PTHREAD_LIBS="-l$flag"
993 save_CFLAGS="$CFLAGS"
994 LIBS="$PTHREAD_LIBS $LIBS"
995 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
997 # Check for various functions. We must include pthread.h,
998 # since some functions may be macros. (On the Sequent, we
999 # need a special flag -Kthread to make this header compile.)
1000 # We check for pthread_join because it is in -lpthread on IRIX
1001 # while pthread_create is in libc. We check for pthread_attr_init
1002 # due to DEC craziness with -lpthreads. We check for
1003 # pthread_cleanup_push because it is one of the few pthread
1004 # functions on Solaris that doesn't have a non-functional libc stub.
1005 # We try pthread_create on general principles.
1006 AC_TRY_LINK([#include <pthread.h>],
1007 [pthread_t th; pthread_join(th, 0);
1008 pthread_attr_init(0); pthread_cleanup_push(0, 0);
1009 pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
1010 [acx_pthread_ok=yes])
1013 CFLAGS="$save_CFLAGS"
1015 AC_MSG_RESULT($acx_pthread_ok)
1016 if test "x$acx_pthread_ok" = xyes; then
1025 # Various other checks:
1026 if test "x$acx_pthread_ok" = xyes; then
1028 LIBS="$PTHREAD_LIBS $LIBS"
1029 save_CFLAGS="$CFLAGS"
1030 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
1032 # Detect AIX lossage: threads are created detached by default
1033 # and the JOINABLE attribute has a nonstandard name (UNDETACHED).
1034 AC_MSG_CHECKING([for joinable pthread attribute])
1035 AC_TRY_LINK([#include <pthread.h>],
1036 [int attr=PTHREAD_CREATE_JOINABLE;],
1037 ok=PTHREAD_CREATE_JOINABLE, ok=unknown)
1038 if test x"$ok" = xunknown; then
1039 AC_TRY_LINK([#include <pthread.h>],
1040 [int attr=PTHREAD_CREATE_UNDETACHED;],
1041 ok=PTHREAD_CREATE_UNDETACHED, ok=unknown)
1043 if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then
1044 AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok,
1045 [Define to the necessary symbol if this constant
1046 uses a non-standard name on your system.])
1048 AC_MSG_RESULT(${ok})
1049 if test x"$ok" = xunknown; then
1050 AC_MSG_WARN([we do not know how to create joinable pthreads])
1053 AC_MSG_CHECKING([if more special flags are required for pthreads])
1055 case "${host_cpu}-${host_os}" in
1056 *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";;
1057 *solaris* | alpha*-osf*) flag="-D_REENTRANT";;
1059 AC_MSG_RESULT(${flag})
1060 if test "x$flag" != xno; then
1061 PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
1065 CFLAGS="$save_CFLAGS"
1067 # More AIX lossage: must compile with cc_r
1068 AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
1073 AC_SUBST(PTHREAD_LIBS)
1074 AC_SUBST(PTHREAD_CFLAGS)
1075 AC_SUBST(PTHREAD_CC)
1077 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
1078 if test x"$acx_pthread_ok" = xyes; then
1079 ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
1092 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
1093 # -----------------------------------------------------------
1094 # If this macro is not defined by Autoconf, define it here.
1095 m4_ifdef([AC_PROVIDE_IFELSE],
1097 [m4_define([AC_PROVIDE_IFELSE],
1098 [m4_ifdef([AC_PROVIDE_$1],
1104 AC_DEFUN([AC_PROG_LIBTOOL],
1105 [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
1106 dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
1107 dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
1108 AC_PROVIDE_IFELSE([AC_PROG_CXX],
1110 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
1112 dnl And a similar setup for Fortran 77 support
1113 AC_PROVIDE_IFELSE([AC_PROG_F77],
1115 [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
1118 dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
1119 dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
1120 dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
1121 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
1123 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
1125 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
1127 [ifdef([AC_PROG_GCJ],
1128 [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1129 ifdef([A][M_PROG_GCJ],
1130 [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1131 ifdef([LT_AC_PROG_GCJ],
1132 [define([LT_AC_PROG_GCJ],
1133 defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
1134 ])])# AC_PROG_LIBTOOL
1139 AC_DEFUN([_AC_PROG_LIBTOOL],
1140 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
1141 AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
1142 AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
1143 AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
1145 # This can be used to rebuild libtool when needed
1146 LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
1148 # Always use our own libtool.
1149 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
1150 AC_SUBST(LIBTOOL)dnl
1152 # Prevent multiple expansion
1153 define([AC_PROG_LIBTOOL], [])
1154 ])# _AC_PROG_LIBTOOL
1159 AC_DEFUN([AC_LIBTOOL_SETUP],
1161 AC_REQUIRE([AC_ENABLE_SHARED])dnl
1162 AC_REQUIRE([AC_ENABLE_STATIC])dnl
1163 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
1164 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1165 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1166 AC_REQUIRE([AC_PROG_CC])dnl
1167 AC_REQUIRE([AC_PROG_LD])dnl
1168 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
1169 AC_REQUIRE([AC_PROG_NM])dnl
1171 AC_REQUIRE([AC_PROG_LN_S])dnl
1172 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
1173 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
1174 AC_REQUIRE([AC_OBJEXT])dnl
1175 AC_REQUIRE([AC_EXEEXT])dnl
1178 AC_LIBTOOL_SYS_MAX_CMD_LEN
1179 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
1182 AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
1183 _LT_AC_PROG_ECHO_BACKSLASH
1187 # AIX sometimes has problems with the GCC collect2 program. For some
1188 # reason, if we set the COLLECT_NAMES environment variable, the problems
1189 # vanish in a puff of smoke.
1190 if test "X${COLLECT_NAMES+set}" != Xset; then
1192 export COLLECT_NAMES
1197 # Sed substitution that helps us do robust quoting. It backslashifies
1198 # metacharacters that are still active within double-quoted strings.
1199 Xsed='sed -e 1s/^X//'
1200 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
1202 # Same as above, but do not quote variable references.
1203 [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
1205 # Sed substitution to delay expansion of an escaped shell variable in a
1206 # double_quote_subst'ed string.
1207 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
1209 # Sed substitution to avoid accidental globbing in evaled expressions
1210 no_glob_subst='s/\*/\\\*/g'
1216 default_ofile=libtool
1217 can_build_shared=yes
1219 # All known linkers require a `.a' archive for static linking (except MSVC,
1220 # which needs '.lib').
1222 ltmain="$ac_aux_dir/ltmain.sh"
1223 ofile="$default_ofile"
1224 with_gnu_ld="$lt_cv_prog_gnu_ld"
1226 AC_CHECK_TOOL(AR, ar, false)
1227 AC_CHECK_TOOL(RANLIB, ranlib, :)
1228 AC_CHECK_TOOL(STRIP, strip, :)
1231 old_CFLAGS="$CFLAGS"
1233 # Set sane defaults for various variables
1234 test -z "$AR" && AR=ar
1235 test -z "$AR_FLAGS" && AR_FLAGS=cru
1236 test -z "$AS" && AS=as
1237 test -z "$CC" && CC=cc
1238 test -z "$LTCC" && LTCC=$CC
1239 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
1240 test -z "$DLLTOOL" && DLLTOOL=dlltool
1241 test -z "$LD" && LD=ld
1242 test -z "$LN_S" && LN_S="ln -s"
1243 test -z "$MAGIC_CMD" && MAGIC_CMD=file
1244 test -z "$NM" && NM=nm
1245 test -z "$SED" && SED=sed
1246 test -z "$OBJDUMP" && OBJDUMP=objdump
1247 test -z "$RANLIB" && RANLIB=:
1248 test -z "$STRIP" && STRIP=:
1249 test -z "$ac_objext" && ac_objext=o
1251 # Determine commands to create old-style static archives.
1252 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
1253 old_postinstall_cmds='chmod 644 $oldlib'
1254 old_postuninstall_cmds=
1256 if test -n "$RANLIB"; then
1259 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1262 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1265 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1268 _LT_CC_BASENAME([$compiler])
1270 # Only perform the check for file, if the check method requires it
1271 case $deplibs_check_method in
1273 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
1279 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
1280 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1281 enable_win32_dll=yes, enable_win32_dll=no)
1283 AC_ARG_ENABLE([libtool-lock],
1284 [AC_HELP_STRING([--disable-libtool-lock],
1285 [avoid locking (might break parallel builds)])])
1286 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1289 [AC_HELP_STRING([--with-pic],
1290 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
1291 [pic_mode="$withval"],
1293 test -z "$pic_mode" && pic_mode=default
1295 # Use C for the default configuration in the libtool script
1297 AC_LIBTOOL_LANG_C_CONFIG
1299 ])# AC_LIBTOOL_SETUP
1302 # _LT_AC_SYS_COMPILER
1303 # -------------------
1304 AC_DEFUN([_LT_AC_SYS_COMPILER],
1305 [AC_REQUIRE([AC_PROG_CC])dnl
1307 # If no C compiler was specified, use CC.
1310 # If no C compiler flags were specified, use CFLAGS.
1311 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
1313 # Allow CC to be a program name with arguments.
1315 ])# _LT_AC_SYS_COMPILER
1318 # _LT_CC_BASENAME(CC)
1319 # -------------------
1320 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
1321 AC_DEFUN([_LT_CC_BASENAME],
1322 [for cc_temp in $1""; do
1324 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
1325 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
1330 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
1334 # _LT_COMPILER_BOILERPLATE
1335 # ------------------------
1336 # Check for compiler boilerplate output or warnings with
1337 # the simple compiler test code.
1338 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
1339 [ac_outfile=conftest.$ac_objext
1340 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
1341 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1342 _lt_compiler_boilerplate=`cat conftest.err`
1344 ])# _LT_COMPILER_BOILERPLATE
1347 # _LT_LINKER_BOILERPLATE
1348 # ----------------------
1349 # Check for linker boilerplate output or warnings with
1350 # the simple link test code.
1351 AC_DEFUN([_LT_LINKER_BOILERPLATE],
1352 [ac_outfile=conftest.$ac_objext
1353 printf "$lt_simple_link_test_code" >conftest.$ac_ext
1354 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1355 _lt_linker_boilerplate=`cat conftest.err`
1357 ])# _LT_LINKER_BOILERPLATE
1360 # _LT_AC_SYS_LIBPATH_AIX
1361 # ----------------------
1362 # Links a minimal program and checks the executable
1363 # for the system default hardcoded library path. In most cases,
1364 # this is /usr/lib:/lib, but when the MPI compilers are used
1365 # the location of the communication and MPI libs are included too.
1366 # If we don't find anything, use the default library path according
1367 # to the aix ld manual.
1368 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
1369 [AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1370 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
1372 # Check for a 64-bit object if we didn't find anything.
1373 if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
1375 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1376 ])# _LT_AC_SYS_LIBPATH_AIX
1379 # _LT_AC_SHELL_INIT(ARG)
1380 # ----------------------
1381 AC_DEFUN([_LT_AC_SHELL_INIT],
1382 [ifdef([AC_DIVERSION_NOTICE],
1383 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1384 [AC_DIVERT_PUSH(NOTICE)])
1387 ])# _LT_AC_SHELL_INIT
1390 # _LT_AC_PROG_ECHO_BACKSLASH
1391 # --------------------------
1392 # Add some code to the start of the generated configure script which
1393 # will find an echo command which doesn't interpret backslashes.
1394 AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
1395 [_LT_AC_SHELL_INIT([
1396 # Check that we are running under the correct shell.
1397 SHELL=${CONFIG_SHELL-/bin/sh}
1401 # Remove one level of quotation (which was required for Make).
1402 ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1407 if test "X[$]1" = X--no-reexec; then
1408 # Discard the --no-reexec flag, and continue.
1410 elif test "X[$]1" = X--fallback-echo; then
1411 # Avoid inline document here, it may be left over
1413 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
1414 # Yippee, $echo works!
1417 # Restart under the correct shell.
1418 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1421 if test "X[$]1" = X--fallback-echo; then
1422 # used as fallback echo
1430 # The HP-UX ksh and POSIX shell print the target directory to stdout
1432 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1434 if test -z "$ECHO"; then
1435 if test "X${echo_test_string+set}" != Xset; then
1436 # find a string as large as possible, as long as the shell can cope with it
1437 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1438 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1439 if (echo_test_string=`eval $cmd`) 2>/dev/null &&
1440 echo_test_string=`eval $cmd` &&
1441 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
1448 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1449 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1450 test "X$echo_testing_string" = "X$echo_test_string"; then
1453 # The Solaris, AIX, and Digital Unix default echo programs unquote
1454 # backslashes. This makes it impossible to quote backslashes using
1455 # echo "$something" | sed 's/\\/\\\\/g'
1457 # So, first we look for a working echo in the user's PATH.
1459 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1460 for dir in $PATH /usr/ucb; do
1462 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1463 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1464 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1465 test "X$echo_testing_string" = "X$echo_test_string"; then
1472 if test "X$echo" = Xecho; then
1473 # We didn't find a better echo, so look for alternatives.
1474 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
1475 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
1476 test "X$echo_testing_string" = "X$echo_test_string"; then
1477 # This shell has a builtin print -r that does the trick.
1479 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
1480 test "X$CONFIG_SHELL" != X/bin/ksh; then
1481 # If we have ksh, try running configure again with it.
1482 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1483 export ORIGINAL_CONFIG_SHELL
1484 CONFIG_SHELL=/bin/ksh
1486 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1490 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1491 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1492 test "X$echo_testing_string" = "X$echo_test_string"; then
1493 # Cool, printf works
1495 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1496 test "X$echo_testing_string" = 'X\t' &&
1497 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1498 test "X$echo_testing_string" = "X$echo_test_string"; then
1499 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1501 SHELL="$CONFIG_SHELL"
1503 echo="$CONFIG_SHELL [$]0 --fallback-echo"
1504 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1505 test "X$echo_testing_string" = 'X\t' &&
1506 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1507 test "X$echo_testing_string" = "X$echo_test_string"; then
1508 echo="$CONFIG_SHELL [$]0 --fallback-echo"
1510 # maybe with a smaller string...
1513 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1514 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
1521 if test "$prev" != 'sed 50q "[$]0"'; then
1522 echo_test_string=`eval $prev`
1523 export echo_test_string
1524 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1526 # Oops. We lost completely, so just stick with echo.
1535 # Copy echo and quote the copy suitably for passing to libtool from
1536 # the Makefile, instead of quoting the original, which is used later.
1538 if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1539 ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1543 ])])# _LT_AC_PROG_ECHO_BACKSLASH
1548 AC_DEFUN([_LT_AC_LOCK],
1549 [AC_ARG_ENABLE([libtool-lock],
1550 [AC_HELP_STRING([--disable-libtool-lock],
1551 [avoid locking (might break parallel builds)])])
1552 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1554 # Some flags need to be propagated to the compiler or linker for good
1558 # Find out which ABI we are using.
1559 echo 'int i;' > conftest.$ac_ext
1560 if AC_TRY_EVAL(ac_compile); then
1561 case `/usr/bin/file conftest.$ac_objext` in
1573 # Find out which ABI we are using.
1574 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1575 if AC_TRY_EVAL(ac_compile); then
1576 if test "$lt_cv_prog_gnu_ld" = yes; then
1577 case `/usr/bin/file conftest.$ac_objext` in
1579 LD="${LD-ld} -melf32bsmip"
1582 LD="${LD-ld} -melf32bmipn32"
1585 LD="${LD-ld} -melf64bmip"
1589 case `/usr/bin/file conftest.$ac_objext` in
1605 x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
1606 # Find out which ABI we are using.
1607 echo 'int i;' > conftest.$ac_ext
1608 if AC_TRY_EVAL(ac_compile); then
1609 case `/usr/bin/file conftest.o` in
1613 LD="${LD-ld} -m elf_i386"
1615 ppc64-*linux*|powerpc64-*linux*)
1616 LD="${LD-ld} -m elf32ppclinux"
1619 LD="${LD-ld} -m elf_s390"
1622 LD="${LD-ld} -m elf32_sparc"
1629 LD="${LD-ld} -m elf_x86_64"
1631 ppc*-*linux*|powerpc*-*linux*)
1632 LD="${LD-ld} -m elf64ppc"
1635 LD="${LD-ld} -m elf64_s390"
1638 LD="${LD-ld} -m elf64_sparc"
1648 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1649 SAVE_CFLAGS="$CFLAGS"
1650 CFLAGS="$CFLAGS -belf"
1651 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1653 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1655 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1656 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1657 CFLAGS="$SAVE_CFLAGS"
1661 # Find out which ABI we are using.
1662 echo 'int i;' > conftest.$ac_ext
1663 if AC_TRY_EVAL(ac_compile); then
1664 case `/usr/bin/file conftest.o` in
1666 case $lt_cv_prog_gnu_ld in
1667 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1668 *) LD="${LD-ld} -64" ;;
1676 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1677 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
1678 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1679 AC_CHECK_TOOL(AS, as, false)
1680 AC_CHECK_TOOL(OBJDUMP, objdump, false)
1685 need_locks="$enable_libtool_lock"
1690 # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1691 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1692 # ----------------------------------------------------------------
1693 # Check whether the given compiler option works
1694 AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
1695 [AC_REQUIRE([LT_AC_PROG_SED])
1696 AC_CACHE_CHECK([$1], [$2],
1698 ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1699 printf "$lt_simple_compile_test_code" > conftest.$ac_ext
1700 lt_compiler_flag="$3"
1701 # Insert the option either (1) after the last *FLAGS variable, or
1702 # (2) before a word containing "conftest.", or (3) at the end.
1703 # Note that $ac_compile itself does not contain backslashes and begins
1704 # with a dollar sign (not a hyphen), so the echo should work correctly.
1705 # The option is referenced via a variable to avoid confusing sed.
1706 lt_compile=`echo "$ac_compile" | $SED \
1707 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1708 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1709 -e 's:$: $lt_compiler_flag:'`
1710 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1711 (eval "$lt_compile" 2>conftest.err)
1713 cat conftest.err >&AS_MESSAGE_LOG_FD
1714 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1715 if (exit $ac_status) && test -s "$ac_outfile"; then
1716 # The compiler can only warn and ignore the option if not recognized
1717 # So say no if there are warnings other than the usual output.
1718 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1719 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1720 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1727 if test x"[$]$2" = xyes; then
1728 ifelse([$5], , :, [$5])
1730 ifelse([$6], , :, [$6])
1732 ])# AC_LIBTOOL_COMPILER_OPTION
1735 # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1736 # [ACTION-SUCCESS], [ACTION-FAILURE])
1737 # ------------------------------------------------------------
1738 # Check whether the given compiler option works
1739 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
1740 [AC_CACHE_CHECK([$1], [$2],
1742 save_LDFLAGS="$LDFLAGS"
1743 LDFLAGS="$LDFLAGS $3"
1744 printf "$lt_simple_link_test_code" > conftest.$ac_ext
1745 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1746 # The linker can only warn and ignore the option if not recognized
1747 # So say no if there are warnings
1748 if test -s conftest.err; then
1749 # Append any errors to the config.log.
1750 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1751 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1752 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1753 if diff conftest.exp conftest.er2 >/dev/null; then
1761 LDFLAGS="$save_LDFLAGS"
1764 if test x"[$]$2" = xyes; then
1765 ifelse([$4], , :, [$4])
1767 ifelse([$5], , :, [$5])
1769 ])# AC_LIBTOOL_LINKER_OPTION
1772 # AC_LIBTOOL_SYS_MAX_CMD_LEN
1773 # --------------------------
1774 AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
1775 [# find the maximum length of command line arguments
1776 AC_MSG_CHECKING([the maximum length of command line arguments])
1777 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1783 # On DJGPP, this test can blow up pretty badly due to problems in libc
1784 # (any single argument exceeding 2000 bytes causes a buffer overrun
1785 # during glob expansion). Even if it were fixed, the result of this
1786 # check would be larger than it should be.
1787 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1791 # Under GNU Hurd, this test is not required because there is
1792 # no limit to the length of command line arguments.
1793 # Libtool will interpret -1 as no limit whatsoever
1794 lt_cv_sys_max_cmd_len=-1;
1798 # On Win9x/ME, this test blows up -- it succeeds, but takes
1799 # about 5 minutes as the teststring grows exponentially.
1800 # Worse, since 9x/ME are not pre-emptively multitasking,
1801 # you end up with a "frozen" computer, even though with patience
1802 # the test eventually succeeds (with a max line length of 256k).
1803 # Instead, let's just punt: use the minimum linelength reported by
1804 # all of the supported platforms: 8192 (on NT/2K/XP).
1805 lt_cv_sys_max_cmd_len=8192;
1809 # On AmigaOS with pdksh, this test takes hours, literally.
1810 # So we just punt and use a minimum line length of 8192.
1811 lt_cv_sys_max_cmd_len=8192;
1814 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1815 # This has been around since 386BSD, at least. Likely further.
1816 if test -x /sbin/sysctl; then
1817 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1818 elif test -x /usr/sbin/sysctl; then
1819 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1821 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1823 # And add a safety zone
1824 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1825 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1829 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1830 lt_cv_sys_max_cmd_len=196608
1834 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1835 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1836 # nice to cause kernel panics so lets avoid the loop below.
1837 # First set a reasonable default.
1838 lt_cv_sys_max_cmd_len=16384
1840 if test -x /sbin/sysconfig; then
1841 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1842 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1847 lt_cv_sys_max_cmd_len=102400
1849 sysv5* | sco5v6* | sysv4.2uw2*)
1850 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1851 if test -n "$kargmax"; then
1852 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1854 lt_cv_sys_max_cmd_len=32768
1858 # If test is not a shell built-in, we'll probably end up computing a
1859 # maximum length that is only half of the actual maximum length, but
1861 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1862 while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
1863 = "XX$teststring") >/dev/null 2>&1 &&
1864 new_result=`expr "X$teststring" : ".*" 2>&1` &&
1865 lt_cv_sys_max_cmd_len=$new_result &&
1866 test $i != 17 # 1/2 MB should be enough
1869 teststring=$teststring$teststring
1872 # Add a significant safety factor because C++ compilers can tack on massive
1873 # amounts of additional arguments before passing them to the linker.
1874 # It appears as though 1/2 is a usable value.
1875 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1879 if test -n $lt_cv_sys_max_cmd_len ; then
1880 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1884 ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
1887 # _LT_AC_CHECK_DLFCN
1888 # ------------------
1889 AC_DEFUN([_LT_AC_CHECK_DLFCN],
1890 [AC_CHECK_HEADERS(dlfcn.h)dnl
1891 ])# _LT_AC_CHECK_DLFCN
1894 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1895 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1896 # ---------------------------------------------------------------------
1897 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
1898 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1899 if test "$cross_compiling" = yes; then :
1902 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1903 lt_status=$lt_dlunknown
1904 cat > conftest.$ac_ext <<EOF
1905 [#line __oline__ "configure"
1906 #include "confdefs.h"
1915 # define LT_DLGLOBAL RTLD_GLOBAL
1918 # define LT_DLGLOBAL DL_GLOBAL
1920 # define LT_DLGLOBAL 0
1924 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1925 find out it does not work in some platform. */
1926 #ifndef LT_DLLAZY_OR_NOW
1928 # define LT_DLLAZY_OR_NOW RTLD_LAZY
1931 # define LT_DLLAZY_OR_NOW DL_LAZY
1934 # define LT_DLLAZY_OR_NOW RTLD_NOW
1937 # define LT_DLLAZY_OR_NOW DL_NOW
1939 # define LT_DLLAZY_OR_NOW 0
1947 extern "C" void exit (int);
1950 void fnord() { int i=42;}
1953 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1954 int status = $lt_dlunknown;
1958 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1959 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1960 /* dlclose (self); */
1968 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1969 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1972 x$lt_dlno_uscore) $1 ;;
1973 x$lt_dlneed_uscore) $2 ;;
1974 x$lt_dlunknown|x*) $3 ;;
1977 # compilation failed
1982 ])# _LT_AC_TRY_DLOPEN_SELF
1985 # AC_LIBTOOL_DLOPEN_SELF
1986 # ----------------------
1987 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
1988 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1989 if test "x$enable_dlopen" != xyes; then
1990 enable_dlopen=unknown
1991 enable_dlopen_self=unknown
1992 enable_dlopen_self_static=unknown
1999 lt_cv_dlopen="load_add_on"
2001 lt_cv_dlopen_self=yes
2005 lt_cv_dlopen="LoadLibrary"
2010 lt_cv_dlopen="dlopen"
2015 # if libdl is installed we need to link against it
2016 AC_CHECK_LIB([dl], [dlopen],
2017 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
2020 lt_cv_dlopen_self=yes
2025 AC_CHECK_FUNC([shl_load],
2026 [lt_cv_dlopen="shl_load"],
2027 [AC_CHECK_LIB([dld], [shl_load],
2028 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
2029 [AC_CHECK_FUNC([dlopen],
2030 [lt_cv_dlopen="dlopen"],
2031 [AC_CHECK_LIB([dl], [dlopen],
2032 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
2033 [AC_CHECK_LIB([svld], [dlopen],
2034 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
2035 [AC_CHECK_LIB([dld], [dld_link],
2036 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
2045 if test "x$lt_cv_dlopen" != xno; then
2051 case $lt_cv_dlopen in
2053 save_CPPFLAGS="$CPPFLAGS"
2054 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2056 save_LDFLAGS="$LDFLAGS"
2057 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2060 LIBS="$lt_cv_dlopen_libs $LIBS"
2062 AC_CACHE_CHECK([whether a program can dlopen itself],
2063 lt_cv_dlopen_self, [dnl
2064 _LT_AC_TRY_DLOPEN_SELF(
2065 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2066 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2069 if test "x$lt_cv_dlopen_self" = xyes; then
2070 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2071 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2072 lt_cv_dlopen_self_static, [dnl
2073 _LT_AC_TRY_DLOPEN_SELF(
2074 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2075 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2079 CPPFLAGS="$save_CPPFLAGS"
2080 LDFLAGS="$save_LDFLAGS"
2082 DLOPEN_LIBS="$lt_cv_dlopen_libs"
2086 case $lt_cv_dlopen_self in
2087 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2088 *) enable_dlopen_self=unknown ;;
2091 case $lt_cv_dlopen_self_static in
2092 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2093 *) enable_dlopen_self_static=unknown ;;
2096 ])# AC_LIBTOOL_DLOPEN_SELF
2099 # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
2100 # ---------------------------------
2101 # Check to see if options -c and -o are simultaneously supported by compiler
2102 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
2103 [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
2104 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2105 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2106 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2107 $rm -r conftest 2>/dev/null
2111 printf "$lt_simple_compile_test_code" > conftest.$ac_ext
2113 lt_compiler_flag="-o out/conftest2.$ac_objext"
2114 # Insert the option either (1) after the last *FLAGS variable, or
2115 # (2) before a word containing "conftest.", or (3) at the end.
2116 # Note that $ac_compile itself does not contain backslashes and begins
2117 # with a dollar sign (not a hyphen), so the echo should work correctly.
2118 lt_compile=`echo "$ac_compile" | $SED \
2119 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2120 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2121 -e 's:$: $lt_compiler_flag:'`
2122 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2123 (eval "$lt_compile" 2>out/conftest.err)
2125 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2126 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2127 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2129 # The compiler can only warn and ignore the option if not recognized
2130 # So say no if there are warnings
2131 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
2132 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2133 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2134 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2137 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2139 # SGI C++ compiler will create directory out/ii_files/ for
2140 # template instantiation
2141 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
2142 $rm out/* && rmdir out
2147 ])# AC_LIBTOOL_PROG_CC_C_O
2150 # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
2151 # -----------------------------------------
2152 # Check to see if we can do hard links to lock some files if needed
2153 AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
2154 [AC_REQUIRE([_LT_AC_LOCK])dnl
2156 hard_links="nottested"
2157 if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2158 # do not overwrite the value of need_locks provided by the user
2159 AC_MSG_CHECKING([if we can lock with hard links])
2162 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2164 ln conftest.a conftest.b 2>&5 || hard_links=no
2165 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2166 AC_MSG_RESULT([$hard_links])
2167 if test "$hard_links" = no; then
2168 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2174 ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
2179 AC_DEFUN([AC_LIBTOOL_OBJDIR],
2180 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2181 [rm -f .libs 2>/dev/null
2182 mkdir .libs 2>/dev/null
2183 if test -d .libs; then
2186 # MS-DOS does not allow filenames that begin with a dot.
2189 rmdir .libs 2>/dev/null])
2190 objdir=$lt_cv_objdir
2191 ])# AC_LIBTOOL_OBJDIR
2194 # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
2195 # ----------------------------------------------
2196 # Check hardcoding attributes.
2197 AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
2198 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2199 _LT_AC_TAGVAR(hardcode_action, $1)=
2200 if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
2201 test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
2202 test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2204 # We can hardcode non-existant directories.
2205 if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
2206 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2207 # have to relink, otherwise we might link with an installed library
2208 # when we should be linking with a yet-to-be-installed one
2209 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2210 test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
2211 # Linking always hardcodes the temporary library directory.
2212 _LT_AC_TAGVAR(hardcode_action, $1)=relink
2214 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2215 _LT_AC_TAGVAR(hardcode_action, $1)=immediate
2218 # We cannot hardcode anything, or else we can only hardcode existing
2220 _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
2222 AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
2224 if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
2225 # Fast installation is not supported
2226 enable_fast_install=no
2227 elif test "$shlibpath_overrides_runpath" = yes ||
2228 test "$enable_shared" = no; then
2229 # Fast installation is not necessary
2230 enable_fast_install=needless
2232 ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
2235 # AC_LIBTOOL_SYS_LIB_STRIP
2236 # ------------------------
2237 AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
2240 AC_MSG_CHECKING([whether stripping libraries is possible])
2241 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
2242 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2243 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2244 AC_MSG_RESULT([yes])
2246 # FIXME - insert some real tests, host_os isn't really good enough
2249 if test -n "$STRIP" ; then
2250 striplib="$STRIP -x"
2251 AC_MSG_RESULT([yes])
2261 ])# AC_LIBTOOL_SYS_LIB_STRIP
2264 # AC_LIBTOOL_SYS_DYNAMIC_LINKER
2265 # -----------------------------
2266 # PORTME Fill in your ld.so characteristics
2267 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
2268 [AC_MSG_CHECKING([dynamic linker characteristics])
2270 libname_spec='lib$name'
2278 shlibpath_overrides_runpath=unknown
2280 dynamic_linker="$host_os ld.so"
2281 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2282 if test "$GCC" = yes; then
2283 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2284 if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
2285 # if the path contains ";" then we assume it to be the separator
2286 # otherwise default to the standard path separator (i.e. ":") - it is
2287 # assumed that no part of a normal pathname contains ";" but that should
2288 # okay in the real world where ";" in dirpaths is itself problematic.
2289 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2291 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2294 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2296 need_lib_prefix=unknown
2297 hardcode_into_libs=no
2299 # when you set need_version to no, make sure it does not cause -set_version
2300 # flags to be left without arguments
2301 need_version=unknown
2306 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2307 shlibpath_var=LIBPATH
2309 # AIX 3 has no versioning support, so we append a major version to the name.
2310 soname_spec='${libname}${release}${shared_ext}$major'
2317 hardcode_into_libs=yes
2318 if test "$host_cpu" = ia64; then
2319 # AIX 5 supports IA64
2320 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2321 shlibpath_var=LD_LIBRARY_PATH
2323 # With GCC up to 2.95.x, collect2 would create an import file
2324 # for dependence libraries. The import file would start with
2325 # the line `#! .'. This would cause the generated library to
2326 # depend on `.', always an invalid library. This was fixed in
2327 # development snapshots of GCC prior to 3.0.
2329 aix4 | aix4.[[01]] | aix4.[[01]].*)
2330 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2332 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
2339 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2340 # soname into executable. Probably we can add versioning support to
2341 # collect2, so additional links can be useful in future.
2342 if test "$aix_use_runtimelinking" = yes; then
2343 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2344 # instead of lib<name>.a to let people know that these are not
2345 # typical AIX shared libraries.
2346 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2348 # We preserve .a as extension for shared libraries through AIX4.2
2349 # and later when we are not doing run time linking.
2350 library_names_spec='${libname}${release}.a $libname.a'
2351 soname_spec='${libname}${release}${shared_ext}$major'
2353 shlibpath_var=LIBPATH
2358 library_names_spec='$libname.ixlibrary $libname.a'
2359 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2360 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $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'
2364 library_names_spec='${libname}${shared_ext}'
2365 dynamic_linker="$host_os ld.so"
2366 shlibpath_var=LIBRARY_PATH
2372 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2373 soname_spec='${libname}${release}${shared_ext}$major'
2374 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2375 shlibpath_var=LD_LIBRARY_PATH
2376 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2377 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2378 # the default ld.so.conf also contains /usr/contrib/lib and
2379 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2380 # libtool to hard-code these into programs
2383 cygwin* | mingw* | pw32*)
2384 version_type=windows
2389 case $GCC,$host_os in
2390 yes,cygwin* | yes,mingw* | yes,pw32*)
2391 library_names_spec='$libname.dll.a'
2392 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2393 postinstall_cmds='base_file=`basename \${file}`~
2394 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
2395 dldir=$destdir/`dirname \$dlpath`~
2396 test -d \$dldir || mkdir -p \$dldir~
2397 $install_prog $dir/$dlname \$dldir/$dlname~
2398 chmod a+x \$dldir/$dlname'
2399 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2400 dlpath=$dir/\$dldll~
2402 shlibpath_overrides_runpath=yes
2406 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2407 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2408 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2411 # MinGW DLLs use traditional 'lib' prefix
2412 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2413 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2414 if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
2415 # It is most probably a Windows format PATH printed by
2416 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2417 # path with ; separators, and with drive letters. We can handle the
2418 # drive letters (cygwin fileutils understands them), so leave them,
2419 # especially as we might pass files found there to a mingw objdump,
2420 # which wouldn't understand a cygwinified path. Ahh.
2421 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2423 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2427 # pw32 DLLs use 'pw' prefix rather than 'lib'
2428 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2434 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2437 dynamic_linker='Win32 ld.exe'
2438 # FIXME: first we should search . and the directory the executable is in
2442 darwin* | rhapsody*)
2443 dynamic_linker="$host_os dyld"
2447 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext ${libname}${release}${versuffix}$shared_ext'
2448 soname_spec='${libname}${release}${major}$shared_ext'
2449 shlibpath_overrides_runpath=yes
2450 shlibpath_var=DYLD_LIBRARY_PATH
2451 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2452 # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
2453 if test "$GCC" = yes; then
2454 sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
2456 sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
2458 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2465 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2466 soname_spec='${libname}${release}${shared_ext}$major'
2467 shlibpath_var=LD_LIBRARY_PATH
2478 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2479 soname_spec='${libname}${release}${shared_ext}$major'
2480 shlibpath_var=LD_LIBRARY_PATH
2481 shlibpath_overrides_runpath=no
2482 hardcode_into_libs=yes
2483 dynamic_linker='GNU ld.so'
2486 freebsd* | dragonfly*)
2487 # DragonFly does not have aout. When/if they implement a new
2488 # versioning mechanism, adjust this.
2489 if test -x /usr/bin/objformat; then
2490 objformat=`/usr/bin/objformat`
2493 freebsd[[123]]*) objformat=aout ;;
2497 version_type=freebsd-$objformat
2498 case $version_type in
2500 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2505 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2509 shlibpath_var=LD_LIBRARY_PATH
2512 shlibpath_overrides_runpath=yes
2514 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2515 shlibpath_overrides_runpath=yes
2516 hardcode_into_libs=yes
2518 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2519 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2520 shlibpath_overrides_runpath=no
2521 hardcode_into_libs=yes
2523 freebsd*) # from 4.6 on
2524 shlibpath_overrides_runpath=yes
2525 hardcode_into_libs=yes
2534 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2535 soname_spec='${libname}${release}${shared_ext}$major'
2536 shlibpath_var=LD_LIBRARY_PATH
2537 hardcode_into_libs=yes
2540 hpux9* | hpux10* | hpux11*)
2541 # Give a soname corresponding to the major version so that dld.sl refuses to
2542 # link against other versions.
2549 hardcode_into_libs=yes
2550 dynamic_linker="$host_os dld.so"
2551 shlibpath_var=LD_LIBRARY_PATH
2552 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2553 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2554 soname_spec='${libname}${release}${shared_ext}$major'
2555 if test "X$HPUX_IA64_MODE" = X32; then
2556 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2558 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2560 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2564 hardcode_into_libs=yes
2565 dynamic_linker="$host_os dld.sl"
2566 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2567 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2568 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2569 soname_spec='${libname}${release}${shared_ext}$major'
2570 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2571 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2575 dynamic_linker="$host_os dld.sl"
2576 shlibpath_var=SHLIB_PATH
2577 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2578 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2579 soname_spec='${libname}${release}${shared_ext}$major'
2582 # HP-UX runs *really* slowly unless shared libraries are mode 555.
2583 postinstall_cmds='chmod 555 $lib'
2590 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2591 soname_spec='${libname}${release}${shared_ext}$major'
2592 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2593 shlibpath_var=LD_LIBRARY_PATH
2594 shlibpath_overrides_runpath=no
2595 hardcode_into_libs=yes
2598 irix5* | irix6* | nonstopux*)
2600 nonstopux*) version_type=nonstopux ;;
2602 if test "$lt_cv_prog_gnu_ld" = yes; then
2610 soname_spec='${libname}${release}${shared_ext}$major'
2611 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2613 irix5* | nonstopux*)
2617 case $LD in # libtool.m4 will add one of these switches to LD
2618 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2619 libsuff= shlibsuff= libmagic=32-bit;;
2620 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2621 libsuff=32 shlibsuff=N32 libmagic=N32;;
2622 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2623 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2624 *) libsuff= shlibsuff= libmagic=never-match;;
2628 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2629 shlibpath_overrides_runpath=no
2630 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2631 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2632 hardcode_into_libs=yes
2635 # No shared lib support for Linux oldld, aout, or coff.
2636 linux*oldld* | linux*aout* | linux*coff*)
2640 # This must be Linux ELF.
2645 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2646 soname_spec='${libname}${release}${shared_ext}$major'
2647 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2648 shlibpath_var=LD_LIBRARY_PATH
2649 shlibpath_overrides_runpath=no
2650 # This implies no fast_install, which is unacceptable.
2651 # Some rework will be needed to allow for fast_install
2652 # before this can be enabled.
2653 hardcode_into_libs=yes
2655 # Append ld.so.conf contents to the search path
2656 if test -f /etc/ld.so.conf; then
2657 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
2658 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2661 # We used to test for /lib/ld.so.1 and disable shared libraries on
2662 # powerpc, because MkLinux only supported shared libraries with the
2663 # GNU dynamic linker. Since this was broken with cross compilers,
2664 # most powerpc-linux boxes support dynamic linking these days and
2665 # people can always --disable-shared, the test was removed, and we
2666 # assume the GNU/Linux dynamic linker is in use.
2667 dynamic_linker='GNU/Linux ld.so'
2674 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2675 soname_spec='${libname}${release}${shared_ext}$major'
2676 shlibpath_var=LD_LIBRARY_PATH
2677 shlibpath_overrides_runpath=no
2678 hardcode_into_libs=yes
2679 dynamic_linker='GNU ld.so'
2686 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
2687 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2688 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2689 dynamic_linker='NetBSD (a.out) ld.so'
2691 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2692 soname_spec='${libname}${release}${shared_ext}$major'
2693 dynamic_linker='NetBSD ld.elf_so'
2695 shlibpath_var=LD_LIBRARY_PATH
2696 shlibpath_overrides_runpath=yes
2697 hardcode_into_libs=yes
2702 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2703 shlibpath_var=LD_LIBRARY_PATH
2704 shlibpath_overrides_runpath=yes
2711 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2712 soname_spec='${libname}${release}${shared_ext}$major'
2713 shlibpath_var=LD_LIBRARY_PATH
2714 shlibpath_overrides_runpath=yes
2719 sys_lib_dlsearch_path_spec="/usr/lib"
2721 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2723 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2724 *) need_version=no ;;
2726 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2727 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2728 shlibpath_var=LD_LIBRARY_PATH
2729 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2731 openbsd2.[[89]] | openbsd2.[[89]].*)
2732 shlibpath_overrides_runpath=no
2735 shlibpath_overrides_runpath=yes
2739 shlibpath_overrides_runpath=yes
2744 libname_spec='$name'
2747 library_names_spec='$libname${shared_ext} $libname.a'
2748 dynamic_linker='OS/2 ld.exe'
2749 shlibpath_var=LIBPATH
2752 osf3* | osf4* | osf5*)
2756 soname_spec='${libname}${release}${shared_ext}$major'
2757 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2758 shlibpath_var=LD_LIBRARY_PATH
2759 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2760 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2767 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2768 soname_spec='${libname}${release}${shared_ext}$major'
2769 shlibpath_var=LD_LIBRARY_PATH
2770 shlibpath_overrides_runpath=yes
2771 hardcode_into_libs=yes
2772 # ldd complains unless libraries are executable
2773 postinstall_cmds='chmod +x $lib'
2778 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2779 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2780 shlibpath_var=LD_LIBRARY_PATH
2781 shlibpath_overrides_runpath=yes
2782 if test "$with_gnu_ld" = yes; then
2790 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2791 soname_spec='${libname}${release}${shared_ext}$major'
2792 shlibpath_var=LD_LIBRARY_PATH
2793 case $host_vendor in
2795 shlibpath_overrides_runpath=no
2797 export_dynamic_flag_spec='${wl}-Blargedynsym'
2798 runpath_var=LD_RUN_PATH
2806 shlibpath_overrides_runpath=no
2807 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2813 if test -d /usr/nec ;then
2815 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2816 soname_spec='$libname${shared_ext}.$major'
2817 shlibpath_var=LD_LIBRARY_PATH
2821 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2822 version_type=freebsd-elf
2825 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2826 soname_spec='${libname}${release}${shared_ext}$major'
2827 shlibpath_var=LD_LIBRARY_PATH
2828 hardcode_into_libs=yes
2829 if test "$with_gnu_ld" = yes; then
2830 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2831 shlibpath_overrides_runpath=no
2833 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2834 shlibpath_overrides_runpath=yes
2837 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2841 sys_lib_dlsearch_path_spec='/usr/lib'
2846 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2847 soname_spec='${libname}${release}${shared_ext}$major'
2848 shlibpath_var=LD_LIBRARY_PATH
2855 AC_MSG_RESULT([$dynamic_linker])
2856 test "$dynamic_linker" = no && can_build_shared=no
2858 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2859 if test "$GCC" = yes; then
2860 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2862 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
2867 AC_DEFUN([_LT_AC_TAGCONFIG],
2868 [AC_ARG_WITH([tags],
2869 [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
2870 [include additional configurations @<:@automatic@:>@])],
2871 [tagnames="$withval"])
2873 if test -f "$ltmain" && test -n "$tagnames"; then
2874 if test ! -f "${ofile}"; then
2875 AC_MSG_WARN([output file `$ofile' does not exist])
2878 if test -z "$LTCC"; then
2879 eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
2880 if test -z "$LTCC"; then
2881 AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
2883 AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
2886 if test -z "$LTCFLAGS"; then
2887 eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
2890 # Extract list of available tagged configurations in $ofile.
2891 # Note that this assumes the entire list is on one line.
2892 available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
2894 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2895 for tagname in $tagnames; do
2897 # Check whether tagname contains only valid characters
2898 case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
2900 *) AC_MSG_ERROR([invalid tag name: $tagname])
2904 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
2906 AC_MSG_ERROR([tag name \"$tagname\" already exists])
2909 # Update the list of available tags.
2910 if test -n "$tagname"; then
2911 echo appending configuration tag \"$tagname\" to $ofile
2915 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2916 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2917 (test "X$CXX" != "Xg++"))) ; then
2918 AC_LIBTOOL_LANG_CXX_CONFIG
2925 if test -n "$F77" && test "X$F77" != "Xno"; then
2926 AC_LIBTOOL_LANG_F77_CONFIG
2933 if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
2934 AC_LIBTOOL_LANG_GCJ_CONFIG
2941 AC_LIBTOOL_LANG_RC_CONFIG
2945 AC_MSG_ERROR([Unsupported tag name: $tagname])
2949 # Append the new tag name to the list of available tags.
2950 if test -n "$tagname" ; then
2951 available_tags="$available_tags $tagname"
2957 # Now substitute the updated list of available tags.
2958 if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
2959 mv "${ofile}T" "$ofile"
2963 AC_MSG_ERROR([unable to update list of available tagged configurations.])
2966 ])# _LT_AC_TAGCONFIG
2971 # enable checks for dlopen support
2972 AC_DEFUN([AC_LIBTOOL_DLOPEN],
2973 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
2974 ])# AC_LIBTOOL_DLOPEN
2977 # AC_LIBTOOL_WIN32_DLL
2978 # --------------------
2979 # declare package support for building win32 DLLs
2980 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
2981 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
2982 ])# AC_LIBTOOL_WIN32_DLL
2985 # AC_ENABLE_SHARED([DEFAULT])
2986 # ---------------------------
2987 # implement the --enable-shared flag
2988 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
2989 AC_DEFUN([AC_ENABLE_SHARED],
2990 [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
2991 AC_ARG_ENABLE([shared],
2992 [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
2993 [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
2994 [p=${PACKAGE-default}
2996 yes) enable_shared=yes ;;
2997 no) enable_shared=no ;;
3000 # Look at the argument we got. We use all the common list separators.
3001 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3002 for pkg in $enableval; do
3004 if test "X$pkg" = "X$p"; then
3011 [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
3012 ])# AC_ENABLE_SHARED
3017 # set the default shared flag to --disable-shared
3018 AC_DEFUN([AC_DISABLE_SHARED],
3019 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3020 AC_ENABLE_SHARED(no)
3021 ])# AC_DISABLE_SHARED
3024 # AC_ENABLE_STATIC([DEFAULT])
3025 # ---------------------------
3026 # implement the --enable-static flag
3027 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
3028 AC_DEFUN([AC_ENABLE_STATIC],
3029 [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
3030 AC_ARG_ENABLE([static],
3031 [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
3032 [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
3033 [p=${PACKAGE-default}
3035 yes) enable_static=yes ;;
3036 no) enable_static=no ;;
3039 # Look at the argument we got. We use all the common list separators.
3040 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3041 for pkg in $enableval; do
3043 if test "X$pkg" = "X$p"; then
3050 [enable_static=]AC_ENABLE_STATIC_DEFAULT)
3051 ])# AC_ENABLE_STATIC
3056 # set the default static flag to --disable-static
3057 AC_DEFUN([AC_DISABLE_STATIC],
3058 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3059 AC_ENABLE_STATIC(no)
3060 ])# AC_DISABLE_STATIC
3063 # AC_ENABLE_FAST_INSTALL([DEFAULT])
3064 # ---------------------------------
3065 # implement the --enable-fast-install flag
3066 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
3067 AC_DEFUN([AC_ENABLE_FAST_INSTALL],
3068 [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
3069 AC_ARG_ENABLE([fast-install],
3070 [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
3071 [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
3072 [p=${PACKAGE-default}
3074 yes) enable_fast_install=yes ;;
3075 no) enable_fast_install=no ;;
3077 enable_fast_install=no
3078 # Look at the argument we got. We use all the common list separators.
3079 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3080 for pkg in $enableval; do
3082 if test "X$pkg" = "X$p"; then
3083 enable_fast_install=yes
3089 [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
3090 ])# AC_ENABLE_FAST_INSTALL
3093 # AC_DISABLE_FAST_INSTALL
3094 # -----------------------
3095 # set the default to --disable-fast-install
3096 AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3097 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3098 AC_ENABLE_FAST_INSTALL(no)
3099 ])# AC_DISABLE_FAST_INSTALL
3102 # AC_LIBTOOL_PICMODE([MODE])
3103 # --------------------------
3104 # implement the --with-pic flag
3105 # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
3106 AC_DEFUN([AC_LIBTOOL_PICMODE],
3107 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3108 pic_mode=ifelse($#,1,$1,default)
3109 ])# AC_LIBTOOL_PICMODE
3114 # This is predefined starting with Autoconf 2.54, so this conditional
3115 # definition can be removed once we require Autoconf 2.54 or later.
3116 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
3117 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
3118 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
3119 then ac_cv_prog_egrep='grep -E'
3120 else ac_cv_prog_egrep='egrep'
3122 EGREP=$ac_cv_prog_egrep
3127 # AC_PATH_TOOL_PREFIX
3128 # -------------------
3129 # find a file program which can recognise shared library
3130 AC_DEFUN([AC_PATH_TOOL_PREFIX],
3131 [AC_REQUIRE([AC_PROG_EGREP])dnl
3132 AC_MSG_CHECKING([for $1])
3133 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3135 [[\\/*] | ?:[\\/]*])
3136 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3139 lt_save_MAGIC_CMD="$MAGIC_CMD"
3140 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3141 dnl $ac_dummy forces splitting on constant user-supplied paths.
3142 dnl POSIX.2 word splitting is done only on the output of word expansions,
3143 dnl not every word. This closes a longstanding sh security hole.
3144 ac_dummy="ifelse([$2], , $PATH, [$2])"
3145 for ac_dir in $ac_dummy; do
3147 test -z "$ac_dir" && ac_dir=.
3148 if test -f $ac_dir/$1; then
3149 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3150 if test -n "$file_magic_test_file"; then
3151 case $deplibs_check_method in
3153 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3154 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3155 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3156 $EGREP "$file_magic_regex" > /dev/null; then
3161 *** Warning: the command libtool uses to detect shared libraries,
3162 *** $file_magic_cmd, produces output that libtool cannot recognize.
3163 *** The result is that libtool may fail to recognize shared libraries
3164 *** as such. This will affect the creation of libtool libraries that
3165 *** depend on shared libraries, but programs linked with such libtool
3166 *** libraries will work regardless of this problem. Nevertheless, you
3167 *** may want to report the problem to your system manager and/or to
3168 *** bug-libtool@gnu.org
3178 MAGIC_CMD="$lt_save_MAGIC_CMD"
3181 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3182 if test -n "$MAGIC_CMD"; then
3183 AC_MSG_RESULT($MAGIC_CMD)
3187 ])# AC_PATH_TOOL_PREFIX
3192 # find a file program which can recognise a shared library
3193 AC_DEFUN([AC_PATH_MAGIC],
3194 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3195 if test -z "$lt_cv_path_MAGIC_CMD"; then
3196 if test -n "$ac_tool_prefix"; then
3197 AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3207 # find the pathname to the GNU or non-GNU linker
3208 AC_DEFUN([AC_PROG_LD],
3209 [AC_ARG_WITH([gnu-ld],
3210 [AC_HELP_STRING([--with-gnu-ld],
3211 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3212 [test "$withval" = no || with_gnu_ld=yes],
3214 AC_REQUIRE([LT_AC_PROG_SED])dnl
3215 AC_REQUIRE([AC_PROG_CC])dnl
3216 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3217 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3219 if test "$GCC" = yes; then
3220 # Check if gcc -print-prog-name=ld gives a path.
3221 AC_MSG_CHECKING([for ld used by $CC])
3224 # gcc leaves a trailing carriage return which upsets mingw
3225 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3227 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3230 # Accept absolute paths.
3231 [[\\/]]* | ?:[[\\/]]*)
3232 re_direlt='/[[^/]][[^/]]*/\.\./'
3233 # Canonicalize the pathname of ld
3234 ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
3235 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3236 ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
3238 test -z "$LD" && LD="$ac_prog"
3241 # If it fails, then pretend we aren't using GCC.
3245 # If it is relative, then search for the first ld in PATH.
3249 elif test "$with_gnu_ld" = yes; then
3250 AC_MSG_CHECKING([for GNU ld])
3252 AC_MSG_CHECKING([for non-GNU ld])
3254 AC_CACHE_VAL(lt_cv_path_LD,
3255 [if test -z "$LD"; then
3256 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3257 for ac_dir in $PATH; do
3259 test -z "$ac_dir" && ac_dir=.
3260 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3261 lt_cv_path_LD="$ac_dir/$ac_prog"
3262 # Check to see if the program is GNU ld. I'd rather use --version,
3263 # but apparently some variants of GNU ld only accept -v.
3264 # Break only if it was the GNU/non-GNU ld that we prefer.
3265 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3266 *GNU* | *'with BFD'*)
3267 test "$with_gnu_ld" != no && break
3270 test "$with_gnu_ld" != yes && break
3277 lt_cv_path_LD="$LD" # Let the user override the test with a path.
3280 if test -n "$LD"; then
3285 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3292 AC_DEFUN([AC_PROG_LD_GNU],
3293 [AC_REQUIRE([AC_PROG_EGREP])dnl
3294 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3295 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3296 case `$LD -v 2>&1 </dev/null` in
3297 *GNU* | *'with BFD'*)
3298 lt_cv_prog_gnu_ld=yes
3301 lt_cv_prog_gnu_ld=no
3304 with_gnu_ld=$lt_cv_prog_gnu_ld
3308 # AC_PROG_LD_RELOAD_FLAG
3309 # ----------------------
3310 # find reload flag for linker
3311 # -- PORTME Some linkers may need a different reload flag.
3312 AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3313 [AC_CACHE_CHECK([for $LD option to reload object files],
3314 lt_cv_ld_reload_flag,
3315 [lt_cv_ld_reload_flag='-r'])
3316 reload_flag=$lt_cv_ld_reload_flag
3317 case $reload_flag in
3319 *) reload_flag=" $reload_flag" ;;
3321 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3324 if test "$GCC" = yes; then
3325 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3327 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3331 ])# AC_PROG_LD_RELOAD_FLAG
3334 # AC_DEPLIBS_CHECK_METHOD
3335 # -----------------------
3336 # how to check for library dependencies
3337 # -- PORTME fill in with the dynamic library characteristics
3338 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3339 [AC_CACHE_CHECK([how to recognise dependent libraries],
3340 lt_cv_deplibs_check_method,
3341 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3342 lt_cv_file_magic_test_file=
3343 lt_cv_deplibs_check_method='unknown'
3344 # Need to set the preceding variable on all platforms that support
3345 # interlibrary dependencies.
3346 # 'none' -- dependencies not supported.
3347 # `unknown' -- same as none, but documents that we really don't know.
3348 # 'pass_all' -- all dependencies passed with no checks.
3349 # 'test_compile' -- check by making test program.
3350 # 'file_magic [[regex]]' -- check by looking for files in library path
3351 # which responds to the $file_magic_cmd with a given extended regex.
3352 # If you have `file' or equivalent on your system and you're not sure
3353 # whether `pass_all' will *always* work, you probably want this one.
3357 lt_cv_deplibs_check_method=pass_all
3361 lt_cv_deplibs_check_method=pass_all
3365 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3366 lt_cv_file_magic_cmd='/usr/bin/file -L'
3367 lt_cv_file_magic_test_file=/shlib/libc.so
3371 # func_win32_libid is a shell function defined in ltmain.sh
3372 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3373 lt_cv_file_magic_cmd='func_win32_libid'
3377 # Base MSYS/MinGW do not provide the 'file' command needed by
3378 # func_win32_libid shell function, so use a weaker test based on 'objdump'.
3379 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3380 lt_cv_file_magic_cmd='$OBJDUMP -f'
3383 darwin* | rhapsody*)
3384 lt_cv_deplibs_check_method=pass_all
3387 freebsd* | kfreebsd*-gnu | dragonfly*)
3388 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3391 # Not sure whether the presence of OpenBSD here was a mistake.
3392 # Let's accept both of them until this is cleared up.
3393 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3394 lt_cv_file_magic_cmd=/usr/bin/file
3395 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3399 lt_cv_deplibs_check_method=pass_all
3404 lt_cv_deplibs_check_method=pass_all
3407 hpux10.20* | hpux11*)
3408 lt_cv_file_magic_cmd=/usr/bin/file
3411 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3412 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3415 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
3416 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3419 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3420 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3426 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3427 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3430 irix5* | irix6* | nonstopux*)
3432 *-32|*"-32 ") libmagic=32-bit;;
3433 *-n32|*"-n32 ") libmagic=N32;;
3434 *-64|*"-64 ") libmagic=64-bit;;
3435 *) libmagic=never-match;;
3437 lt_cv_deplibs_check_method=pass_all
3440 # This must be Linux ELF.
3442 lt_cv_deplibs_check_method=pass_all
3446 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3447 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3449 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3454 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3455 lt_cv_file_magic_cmd=/usr/bin/file
3456 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3460 lt_cv_deplibs_check_method=unknown
3464 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3465 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3467 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3471 osf3* | osf4* | osf5*)
3472 lt_cv_deplibs_check_method=pass_all
3476 lt_cv_deplibs_check_method=pass_all
3480 case $host_vendor in
3482 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]]'
3483 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3486 lt_cv_deplibs_check_method=pass_all
3489 lt_cv_file_magic_cmd='/bin/file'
3490 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3493 lt_cv_file_magic_cmd='/bin/file'
3494 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3495 lt_cv_file_magic_test_file=/lib/libc.so
3498 lt_cv_deplibs_check_method=pass_all
3501 lt_cv_deplibs_check_method=pass_all
3506 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3507 lt_cv_deplibs_check_method=pass_all
3511 file_magic_cmd=$lt_cv_file_magic_cmd
3512 deplibs_check_method=$lt_cv_deplibs_check_method
3513 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3514 ])# AC_DEPLIBS_CHECK_METHOD
3519 # find the pathname to a BSD-compatible name lister
3520 AC_DEFUN([AC_PROG_NM],
3521 [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
3522 [if test -n "$NM"; then
3523 # Let the user override the test.
3526 lt_nm_to_check="${ac_tool_prefix}nm"
3527 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3528 lt_nm_to_check="$lt_nm_to_check nm"
3530 for lt_tmp_nm in $lt_nm_to_check; do
3531 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3532 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3534 test -z "$ac_dir" && ac_dir=.
3535 tmp_nm="$ac_dir/$lt_tmp_nm"
3536 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3537 # Check to see if the nm accepts a BSD-compat flag.
3538 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3539 # nm: unknown option "B" ignored
3540 # Tru64's nm complains that /dev/null is an invalid object file
3541 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3542 */dev/null* | *'Invalid file or object type'*)
3543 lt_cv_path_NM="$tmp_nm -B"
3547 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3549 lt_cv_path_NM="$tmp_nm -p"
3553 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3554 continue # so that we can try to find one that supports BSD flags
3563 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3571 # check for math library
3572 AC_DEFUN([AC_CHECK_LIBM],
3573 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3576 *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3577 # These system don't have libm, or don't need it
3580 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3581 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3584 AC_CHECK_LIB(m, cos, LIBM="-lm")
3590 # AC_LIBLTDL_CONVENIENCE([DIRECTORY])
3591 # -----------------------------------
3592 # sets LIBLTDL to the link flags for the libltdl convenience library and
3593 # LTDLINCL to the include flags for the libltdl header and adds
3594 # --enable-ltdl-convenience to the configure arguments. Note that
3595 # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
3596 # it is assumed to be `libltdl'. LIBLTDL will be prefixed with
3597 # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
3598 # (note the single quotes!). If your package is not flat and you're not
3599 # using automake, define top_builddir and top_srcdir appropriately in
3601 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3602 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3603 case $enable_ltdl_convenience in
3604 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3605 "") enable_ltdl_convenience=yes
3606 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3608 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
3609 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3610 # For backwards non-gettext consistent compatibility...
3612 ])# AC_LIBLTDL_CONVENIENCE
3615 # AC_LIBLTDL_INSTALLABLE([DIRECTORY])
3616 # -----------------------------------
3617 # sets LIBLTDL to the link flags for the libltdl installable library and
3618 # LTDLINCL to the include flags for the libltdl header and adds
3619 # --enable-ltdl-install to the configure arguments. Note that
3620 # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
3621 # and an installed libltdl is not found, it is assumed to be `libltdl'.
3622 # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
3623 # '${top_srcdir}/' (note the single quotes!). If your package is not
3624 # flat and you're not using automake, define top_builddir and top_srcdir
3625 # appropriately in the Makefiles.
3626 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
3627 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
3628 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3629 AC_CHECK_LIB(ltdl, lt_dlinit,
3630 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
3631 [if test x"$enable_ltdl_install" = xno; then
3632 AC_MSG_WARN([libltdl not installed, but installation disabled])
3634 enable_ltdl_install=yes
3637 if test x"$enable_ltdl_install" = x"yes"; then
3638 ac_configure_args="$ac_configure_args --enable-ltdl-install"
3639 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
3640 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3642 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
3646 # For backwards non-gettext consistent compatibility...
3648 ])# AC_LIBLTDL_INSTALLABLE
3653 # enable support for C++ libraries
3654 AC_DEFUN([AC_LIBTOOL_CXX],
3655 [AC_REQUIRE([_LT_AC_LANG_CXX])
3661 AC_DEFUN([_LT_AC_LANG_CXX],
3662 [AC_REQUIRE([AC_PROG_CXX])
3663 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3664 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
3667 # _LT_AC_PROG_CXXCPP
3668 # ------------------
3669 AC_DEFUN([_LT_AC_PROG_CXXCPP],
3671 AC_REQUIRE([AC_PROG_CXX])
3672 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
3673 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
3674 (test "X$CXX" != "Xg++"))) ; then
3677 ])# _LT_AC_PROG_CXXCPP
3681 # enable support for Fortran 77 libraries
3682 AC_DEFUN([AC_LIBTOOL_F77],
3683 [AC_REQUIRE([_LT_AC_LANG_F77])
3689 AC_DEFUN([_LT_AC_LANG_F77],
3690 [AC_REQUIRE([AC_PROG_F77])
3691 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
3697 # enable support for GCJ libraries
3698 AC_DEFUN([AC_LIBTOOL_GCJ],
3699 [AC_REQUIRE([_LT_AC_LANG_GCJ])
3705 AC_DEFUN([_LT_AC_LANG_GCJ],
3706 [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
3707 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
3708 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
3709 [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
3710 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
3711 [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
3712 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
3718 # enable support for Windows resource files
3719 AC_DEFUN([AC_LIBTOOL_RC],
3720 [AC_REQUIRE([LT_AC_PROG_RC])
3721 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
3725 # AC_LIBTOOL_LANG_C_CONFIG
3726 # ------------------------
3727 # Ensure that the configuration vars for the C compiler are
3728 # suitably defined. Those variables are subsequently used by
3729 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3730 AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
3731 AC_DEFUN([_LT_AC_LANG_C_CONFIG],
3735 # Source file extension for C test sources.
3738 # Object file extension for compiled C test sources.
3740 _LT_AC_TAGVAR(objext, $1)=$objext
3742 # Code to be used in simple compile tests
3743 lt_simple_compile_test_code="int some_variable = 0;\n"
3745 # Code to be used in simple link tests
3746 lt_simple_link_test_code='int main(){return(0);}\n'
3750 # save warnings/boilerplate of simple test code
3751 _LT_COMPILER_BOILERPLATE
3752 _LT_LINKER_BOILERPLATE
3755 ## There is no encapsulation within the following macros, do not change
3756 ## the running order or otherwise move them around unless you know exactly
3757 ## what you are doing...
3758 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
3759 AC_LIBTOOL_PROG_COMPILER_PIC($1)
3760 AC_LIBTOOL_PROG_CC_C_O($1)
3761 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3762 AC_LIBTOOL_PROG_LD_SHLIBS($1)
3763 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3764 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3765 AC_LIBTOOL_SYS_LIB_STRIP
3766 AC_LIBTOOL_DLOPEN_SELF
3768 # Report which library types will actually be built
3769 AC_MSG_CHECKING([if libtool supports shared libraries])
3770 AC_MSG_RESULT([$can_build_shared])
3772 AC_MSG_CHECKING([whether to build shared libraries])
3773 test "$can_build_shared" = "no" && enable_shared=no
3775 # On AIX, shared libraries and static libraries use the same namespace, and
3776 # are all built from PIC.
3779 test "$enable_shared" = yes && enable_static=no
3780 if test -n "$RANLIB"; then
3781 archive_cmds="$archive_cmds~\$RANLIB \$lib"
3782 postinstall_cmds='$RANLIB $lib'
3787 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3788 test "$enable_shared" = yes && enable_static=no
3792 AC_MSG_RESULT([$enable_shared])
3794 AC_MSG_CHECKING([whether to build static libraries])
3795 # Make sure either enable_shared or enable_static is yes.
3796 test "$enable_shared" = yes || enable_static=yes
3797 AC_MSG_RESULT([$enable_static])
3799 AC_LIBTOOL_CONFIG($1)
3803 ])# AC_LIBTOOL_LANG_C_CONFIG
3806 # AC_LIBTOOL_LANG_CXX_CONFIG
3807 # --------------------------
3808 # Ensure that the configuration vars for the C compiler are
3809 # suitably defined. Those variables are subsequently used by
3810 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3811 AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
3812 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
3814 AC_REQUIRE([AC_PROG_CXX])
3815 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3817 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3818 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
3819 _LT_AC_TAGVAR(always_export_symbols, $1)=no
3820 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
3821 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
3822 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3823 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
3824 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
3825 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3826 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
3827 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3828 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
3829 _LT_AC_TAGVAR(module_cmds, $1)=
3830 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
3831 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
3832 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
3833 _LT_AC_TAGVAR(no_undefined_flag, $1)=
3834 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3835 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
3837 # Dependencies to place before and after the object being linked:
3838 _LT_AC_TAGVAR(predep_objects, $1)=
3839 _LT_AC_TAGVAR(postdep_objects, $1)=
3840 _LT_AC_TAGVAR(predeps, $1)=
3841 _LT_AC_TAGVAR(postdeps, $1)=
3842 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
3844 # Source file extension for C++ test sources.
3847 # Object file extension for compiled C++ test sources.
3849 _LT_AC_TAGVAR(objext, $1)=$objext
3851 # Code to be used in simple compile tests
3852 lt_simple_compile_test_code="int some_variable = 0;\n"
3854 # Code to be used in simple link tests
3855 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
3857 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
3860 # save warnings/boilerplate of simple test code
3861 _LT_COMPILER_BOILERPLATE
3862 _LT_LINKER_BOILERPLATE
3864 # Allow CC to be a program name with arguments.
3869 lt_save_with_gnu_ld=$with_gnu_ld
3870 lt_save_path_LD=$lt_cv_path_LD
3871 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
3872 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
3874 $as_unset lt_cv_prog_gnu_ld
3876 if test -n "${lt_cv_path_LDCXX+set}"; then
3877 lt_cv_path_LD=$lt_cv_path_LDCXX
3879 $as_unset lt_cv_path_LD
3881 test -z "${LDCXX+set}" || LD=$LDCXX
3884 _LT_AC_TAGVAR(compiler, $1)=$CC
3885 _LT_CC_BASENAME([$compiler])
3887 # We don't want -fno-exception wen compiling C++ code, so set the
3888 # no_builtin_flag separately
3889 if test "$GXX" = yes; then
3890 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3892 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3895 if test "$GXX" = yes; then
3896 # Set up default GNU C++ configuration
3900 # Check if GNU C++ uses GNU ld as the underlying linker, since the
3901 # archiving commands below assume that GNU ld is being used.
3902 if test "$with_gnu_ld" = yes; then
3903 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3904 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3906 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3907 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3909 # If archive_cmds runs LD, not CC, wlarc should be empty
3910 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
3911 # investigate it a little bit more. (MM)
3914 # ancient GNU ld didn't support --whole-archive et. al.
3915 if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
3916 grep 'no-whole-archive' > /dev/null; then
3917 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3919 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3925 # A generic and very simple default shared library creation
3926 # command for GNU C++ for the case where it uses the native
3927 # linker, instead of GNU ld. If possible, this setting should
3928 # overridden to take advantage of the native linker features on
3929 # the platform it is being used on.
3930 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3933 # Commands to make compiler produce verbose output that lists
3934 # what "hidden" libraries, object files and flags are used when
3935 # linking a shared library.
3936 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3944 # PORTME: fill in a description of your system's C++ link characteristics
3945 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
3946 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
3949 # FIXME: insert proper C++ library support
3950 _LT_AC_TAGVAR(ld_shlibs, $1)=no
3953 if test "$host_cpu" = ia64; then
3954 # On IA64, the linker does run time linking by default, so we don't
3955 # have to do anything special.
3956 aix_use_runtimelinking=no
3957 exp_sym_flag='-Bexport'
3960 aix_use_runtimelinking=no
3962 # Test if we are trying to use run time linking or normal
3963 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
3964 # need to do runtime linking.
3965 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
3966 for ld_flag in $LDFLAGS; do
3969 aix_use_runtimelinking=yes
3977 exp_sym_flag='-bexport'
3978 no_entry_flag='-bnoentry'
3981 # When large executables or shared objects are built, AIX ld can
3982 # have problems creating the table of contents. If linking a library
3983 # or program results in "error TOC overflow" add -mminimal-toc to
3984 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
3985 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
3987 _LT_AC_TAGVAR(archive_cmds, $1)=''
3988 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3989 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3990 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3992 if test "$GXX" = yes; then
3993 case $host_os in aix4.[[012]]|aix4.[[012]].*)
3994 # We only want to do this on AIX 4.2 and lower, the check
3995 # below for broken collect2 doesn't work under 4.3+
3996 collect2name=`${CC} -print-prog-name=collect2`
3997 if test -f "$collect2name" && \
3998 strings "$collect2name" | grep resolve_lib_name >/dev/null
4000 # We have reworked collect2
4001 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4003 # We have old collect2
4004 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4005 # It fails to find uninstalled libraries when the uninstalled
4006 # path is not listed in the libpath. Setting hardcode_minus_L
4007 # to unsupported forces relinking
4008 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4009 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4010 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4014 shared_flag='-shared'
4015 if test "$aix_use_runtimelinking" = yes; then
4016 shared_flag="$shared_flag "'${wl}-G'
4020 if test "$host_cpu" = ia64; then
4021 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4022 # chokes on -Wl,-G. The following line is correct:
4025 if test "$aix_use_runtimelinking" = yes; then
4026 shared_flag='${wl}-G'
4028 shared_flag='${wl}-bM:SRE'
4033 # It seems that -bexpall does not export symbols beginning with
4034 # underscore (_), so it is better to generate a list of symbols to export.
4035 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4036 if test "$aix_use_runtimelinking" = yes; then
4037 # Warning - without using the other runtime loading flags (-brtl),
4038 # -berok will link without error, but may produce a broken library.
4039 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
4040 # Determine the default libpath from the value encoded in an empty executable.
4041 _LT_AC_SYS_LIBPATH_AIX
4042 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4044 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4046 if test "$host_cpu" = ia64; then
4047 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4048 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4049 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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"
4051 # Determine the default libpath from the value encoded in an empty executable.
4052 _LT_AC_SYS_LIBPATH_AIX
4053 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4054 # Warning - without using the other run time loading flags,
4055 # -berok will link without error, but may produce a broken library.
4056 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4057 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4058 # Exported symbols can be pulled into shared objects from archives
4059 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4060 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
4061 # This is similar to how AIX traditionally builds its shared libraries.
4062 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4068 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
4069 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4070 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4071 # support --undefined. This deserves some investigation. FIXME
4072 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4074 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4079 case $cc_basename in
4081 # FIXME: insert proper C++ library support
4082 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4087 cygwin* | mingw* | pw32*)
4088 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4089 # as there is no search path for DLLs.
4090 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4091 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4092 _LT_AC_TAGVAR(always_export_symbols, $1)=no
4093 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4095 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
4096 _LT_AC_TAGVAR(archive_cmds, $1)='$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'
4097 # If the export-symbols file already is a .def file (1st line
4098 # is EXPORTS), use it as is; otherwise, prepend...
4099 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4100 cp $export_symbols $output_objdir/$soname.def;
4102 echo EXPORTS > $output_objdir/$soname.def;
4103 cat $export_symbols >> $output_objdir/$soname.def;
4105 $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'
4107 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4110 darwin* | rhapsody*)
4112 rhapsody* | darwin1.[[012]])
4113 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
4116 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
4117 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
4119 case ${MACOSX_DEPLOYMENT_TARGET} in
4121 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
4124 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
4130 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4131 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4132 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
4133 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4134 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
4135 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4137 if test "$GXX" = yes ; then
4138 lt_int_apple_cc_single_mod=no
4139 output_verbose_link_cmd='echo'
4140 if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
4141 lt_int_apple_cc_single_mod=yes
4143 if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
4144 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
4146 _LT_AC_TAGVAR(archive_cmds, $1)='$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'
4148 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
4149 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
4150 if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
4151 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4153 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4155 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4157 case $cc_basename in
4159 output_verbose_link_cmd='echo'
4160 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
4161 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
4162 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
4163 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4164 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4167 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4174 case $cc_basename in
4176 # FIXME: insert proper C++ library support
4177 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4180 # Green Hills C++ Compiler
4181 # FIXME: insert proper C++ library support
4182 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4185 # FIXME: insert proper C++ library support
4186 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4191 # C++ shared libraries reported to be fairly broken before switch to ELF
4192 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4195 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4197 freebsd* | kfreebsd*-gnu | dragonfly*)
4198 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
4200 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
4205 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4206 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4207 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4208 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4209 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4210 # but as the default
4211 # location of the library.
4213 case $cc_basename in
4215 # FIXME: insert proper C++ library support
4216 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4219 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4220 # Commands to make compiler produce verbose output that lists
4221 # what "hidden" libraries, object files and flags are used when
4222 # linking a shared library.
4224 # There doesn't appear to be a way to prevent this compiler from
4225 # explicitly linking system object files so we need to strip them
4226 # from the output so that they don't get included in the library
4228 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; echo $list'
4231 if test "$GXX" = yes; then
4232 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4234 # FIXME: insert proper C++ library support
4235 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4241 if test $with_gnu_ld = no; then
4242 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4243 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4247 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4250 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4256 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4257 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4260 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4261 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4262 # but as the default
4263 # location of the library.
4267 case $cc_basename in
4269 # FIXME: insert proper C++ library support
4270 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4275 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4278 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4281 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4284 # Commands to make compiler produce verbose output that lists
4285 # what "hidden" libraries, object files and flags are used when
4286 # linking a shared library.
4288 # There doesn't appear to be a way to prevent this compiler from
4289 # explicitly linking system object files so we need to strip them
4290 # from the output so that they don't get included in the library
4292 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; echo $list'
4295 if test "$GXX" = yes; then
4296 if test $with_gnu_ld = no; then
4299 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4302 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4305 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4310 # FIXME: insert proper C++ library support
4311 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4317 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4318 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4319 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4320 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4321 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4322 # Instead, shared libraries are loaded at an image base (0x10000000 by
4323 # default) and relocated if they conflict, which is a slow very memory
4324 # consuming and fragmenting process. To avoid this, we pick a random,
4325 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4326 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4327 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4328 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='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'
4331 case $cc_basename in
4334 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4336 # Archives containing C++ object files must be created using
4337 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
4338 # necessary to make sure instantiated templates are included
4340 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
4343 if test "$GXX" = yes; then
4344 if test "$with_gnu_ld" = no; then
4345 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4347 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
4350 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4353 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4354 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4357 case $cc_basename in
4359 # Kuck and Associates, Inc. (KAI) C++ Compiler
4361 # KCC will only create a shared library if the output file
4362 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4363 # to its proper name (with version) after linking.
4364 _LT_AC_TAGVAR(archive_cmds, $1)='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'
4365 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='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'
4366 # Commands to make compiler produce verbose output that lists
4367 # what "hidden" libraries, object files and flags are used when
4368 # linking a shared library.
4370 # There doesn't appear to be a way to prevent this compiler from
4371 # explicitly linking system object files so we need to strip them
4372 # from the output so that they don't get included in the library
4374 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; echo $list'
4376 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
4377 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4379 # Archives containing C++ object files must be created using
4380 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4381 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4386 # version 8.0 and above of icpc choke on multiply defined symbols
4387 # if we add $predep_objects and $postdep_objects, however 7.1 and
4388 # earlier do not add the objects themselves.
4389 case `$CC -V 2>&1` in
4391 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4392 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4394 *) # Version 8.0 or newer
4397 ia64*) tmp_idyn=' -i_dynamic';;
4399 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4400 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4403 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4404 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4405 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4406 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
4409 # Portland Group C++ compiler
4410 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
4411 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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'
4413 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
4414 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4415 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
4419 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4420 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
4422 runpath_var=LD_RUN_PATH
4423 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4424 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4426 # Commands to make compiler produce verbose output that lists
4427 # what "hidden" libraries, object files and flags are used when
4428 # linking a shared library.
4430 # There doesn't appear to be a way to prevent this compiler from
4431 # explicitly linking system object files so we need to strip them
4432 # from the output so that they don't get included in the library
4434 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $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; echo $list'
4439 # FIXME: insert proper C++ library support
4440 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4443 # FIXME: insert proper C++ library support
4444 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4447 case $cc_basename in
4449 # FIXME: insert proper C++ library support
4450 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4453 # FIXME: insert proper C++ library support
4454 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4459 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4460 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
4462 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4463 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4464 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4466 # Workaround some broken pre-1.5 toolchains
4467 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
4470 # C++ shared libraries are fairly broken
4471 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4474 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4475 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4476 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
4477 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4478 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4479 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
4480 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4481 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4483 output_verbose_link_cmd='echo'
4486 case $cc_basename in
4488 # Kuck and Associates, Inc. (KAI) C++ Compiler
4490 # KCC will only create a shared library if the output file
4491 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4492 # to its proper name (with version) after linking.
4493 _LT_AC_TAGVAR(archive_cmds, $1)='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'
4495 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4496 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4498 # Archives containing C++ object files must be created using
4499 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4500 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4504 # Rational C++ 2.4.1
4505 # FIXME: insert proper C++ library support
4506 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4509 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4510 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4512 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4513 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4515 # Commands to make compiler produce verbose output that lists
4516 # what "hidden" libraries, object files and flags are used when
4517 # linking a shared library.
4519 # There doesn't appear to be a way to prevent this compiler from
4520 # explicitly linking system object files so we need to strip them
4521 # from the output so that they don't get included in the library
4523 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $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; echo $list'
4526 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4527 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4528 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4530 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4531 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4533 # Commands to make compiler produce verbose output that lists
4534 # what "hidden" libraries, object files and flags are used when
4535 # linking a shared library.
4536 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4539 # FIXME: insert proper C++ library support
4540 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4546 case $cc_basename in
4548 # Kuck and Associates, Inc. (KAI) C++ Compiler
4550 # KCC will only create a shared library if the output file
4551 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4552 # to its proper name (with version) after linking.
4553 _LT_AC_TAGVAR(archive_cmds, $1)='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'
4555 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4556 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4558 # Archives containing C++ object files must be created using
4559 # the KAI C++ compiler.
4560 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
4563 # Rational C++ 2.4.1
4564 # FIXME: insert proper C++ library support
4565 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4568 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4569 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4570 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
4571 echo "-hidden">> $lib.exp~
4572 $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~
4575 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4576 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4578 # Commands to make compiler produce verbose output that lists
4579 # what "hidden" libraries, object files and flags are used when
4580 # linking a shared library.
4582 # There doesn't appear to be a way to prevent this compiler from
4583 # explicitly linking system object files so we need to strip them
4584 # from the output so that they don't get included in the library
4586 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $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; echo $list'
4589 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4590 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4591 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4593 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4594 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4596 # Commands to make compiler produce verbose output that lists
4597 # what "hidden" libraries, object files and flags are used when
4598 # linking a shared library.
4599 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4602 # FIXME: insert proper C++ library support
4603 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4609 # FIXME: insert proper C++ library support
4610 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4613 case $cc_basename in
4616 # FIXME: insert proper C++ library support
4617 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4621 # FIXME: insert proper C++ library support
4622 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4625 # FIXME: insert proper C++ library support
4626 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4631 case $cc_basename in
4633 # Sun C++ 4.2, 5.x and Centerline C++
4634 _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
4635 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
4636 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4637 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4638 $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'
4640 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4641 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4643 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4645 # The C++ compiler is used as linker so we must use $wl
4646 # flag to pass the commands to the underlying system
4647 # linker. We must also pass each convience library through
4648 # to the system linker between allextract/defaultextract.
4649 # The C++ compiler will combine linker options so we
4650 # cannot just pass the convience library names through
4652 # Supported since Solaris 2.6 (maybe 2.5.1?)
4653 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
4656 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4658 output_verbose_link_cmd='echo'
4660 # Archives containing C++ object files must be created using
4661 # "CC -xar", where "CC" is the Sun C++ compiler. This is
4662 # necessary to make sure instantiated templates are included
4664 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
4667 # Green Hills C++ Compiler
4668 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4670 # The C++ compiler must be used to create the archive.
4671 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
4674 # GNU C++ compiler with Solaris linker
4675 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4676 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
4677 if $CC --version | grep -v '^2\.7' > /dev/null; then
4678 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4679 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4680 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4682 # Commands to make compiler produce verbose output that lists
4683 # what "hidden" libraries, object files and flags are used when
4684 # linking a shared library.
4685 output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4687 # g++ 2.7 appears to require `-G' NOT `-shared' on this
4689 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4690 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4691 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4693 # Commands to make compiler produce verbose output that lists
4694 # what "hidden" libraries, object files and flags are used when
4695 # linking a shared library.
4696 output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4699 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
4704 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
4705 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4706 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4707 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4708 runpath_var='LD_RUN_PATH'
4710 case $cc_basename in
4712 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4713 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4716 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4717 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4721 sysv5* | sco3.2v5* | sco5v6*)
4722 # Note: We can NOT use -z defs as we might desire, because we do not
4723 # link with -lc, and that would cause any symbols used from libc to
4724 # always be unresolved, which means just about no library would
4725 # ever link correctly. If we're not using GNU ld we use -z text
4726 # though, which does catch some bad symbols but isn't as heavy-handed
4728 # For security reasons, it is highly recommended that you always
4729 # use absolute paths for naming shared libraries, and exclude the
4730 # DT_RUNPATH tag from executables and libraries. But doing so
4731 # requires that you compile everything twice, which is a pain.
4732 # So that behaviour is only enabled if SCOABSPATH is set to a
4733 # non-empty value in the environment. Most likely only useful for
4734 # creating official distributions of packages.
4735 # This is a hack until libtool officially supports absolute path
4736 # names for shared libraries.
4737 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4738 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
4739 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4740 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4741 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
4742 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
4743 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4744 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
4745 runpath_var='LD_RUN_PATH'
4747 case $cc_basename in
4749 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4750 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4753 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4754 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4759 case $cc_basename in
4761 # NonStop-UX NCC 3.20
4762 # FIXME: insert proper C++ library support
4763 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4766 # FIXME: insert proper C++ library support
4767 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4772 # FIXME: insert proper C++ library support
4773 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4776 # FIXME: insert proper C++ library support
4777 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4780 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
4781 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
4783 _LT_AC_TAGVAR(GCC, $1)="$GXX"
4784 _LT_AC_TAGVAR(LD, $1)="$LD"
4787 ## There is no encapsulation within the following macros, do not change
4788 ## the running order or otherwise move them around unless you know exactly
4789 ## what you are doing...
4790 AC_LIBTOOL_POSTDEP_PREDEP($1)
4791 AC_LIBTOOL_PROG_COMPILER_PIC($1)
4792 AC_LIBTOOL_PROG_CC_C_O($1)
4793 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
4794 AC_LIBTOOL_PROG_LD_SHLIBS($1)
4795 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
4796 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
4798 AC_LIBTOOL_CONFIG($1)
4805 with_gnu_ldcxx=$with_gnu_ld
4806 with_gnu_ld=$lt_save_with_gnu_ld
4807 lt_cv_path_LDCXX=$lt_cv_path_LD
4808 lt_cv_path_LD=$lt_save_path_LD
4809 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
4810 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
4811 ])# AC_LIBTOOL_LANG_CXX_CONFIG
4813 # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
4814 # ------------------------------------
4815 # Figure out "hidden" library dependencies from verbose
4816 # compiler output when linking a shared library.
4817 # Parse the compiler output and extract the necessary
4818 # objects, libraries and library flags.
4819 AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
4820 dnl we can't use the lt_simple_compile_test_code here,
4821 dnl because it contains code intended for an executable,
4822 dnl not a library. It's possible we should let each
4823 dnl tag define a new lt_????_link_test_code variable,
4824 dnl but it's only used here...
4825 ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
4827 void foo (void) { a = 0; }
4829 ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
4833 Foo (void) { a = 0; }
4838 ],[$1],[F77],[cat > conftest.$ac_ext <<EOF
4846 ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
4849 public void bar (void) {
4855 dnl Parse the compiler output and extract the necessary
4856 dnl objects, libraries and library flags.
4857 if AC_TRY_EVAL(ac_compile); then
4858 # Parse the compiler output and extract the necessary
4859 # objects, libraries and library flags.
4861 # Sentinel used to keep track of whether or not we are before
4862 # the conftest object file.
4863 pre_test_object_deps_done=no
4865 # The `*' in the case matches for architectures that use `case' in
4866 # $output_verbose_cmd can trigger glob expansion during the loop
4867 # eval without this substitution.
4868 output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
4870 for p in `eval $output_verbose_link_cmd`; do
4874 # Some compilers place space between "-{L,R}" and the path.
4877 || test $p = "-R"; then
4884 if test "$pre_test_object_deps_done" = no; then
4887 # Internal compiler library paths should come after those
4888 # provided the user. The postdeps already come after the
4889 # user supplied libs so there is no need to process them.
4890 if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
4891 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
4893 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
4896 # The "-l" case would never come before the object being
4897 # linked, so don't bother handling this case.
4900 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
4901 _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
4903 _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
4909 # This assumes that the test object file only shows up
4910 # once in the compiler output.
4911 if test "$p" = "conftest.$objext"; then
4912 pre_test_object_deps_done=yes
4916 if test "$pre_test_object_deps_done" = no; then
4917 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
4918 _LT_AC_TAGVAR(predep_objects, $1)="$p"
4920 _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
4923 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
4924 _LT_AC_TAGVAR(postdep_objects, $1)="$p"
4926 _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
4931 *) ;; # Ignore the rest.
4939 echo "libtool.m4: error: problem compiling $1 test program"
4942 $rm -f confest.$objext
4944 # PORTME: override above test on systems where it is broken
4948 # Interix 3.5 installs completely hosed .la files for C++, so rather than
4949 # hack all around it, let's just trust "g++" to DTRT.
4950 _LT_AC_TAGVAR(predep_objects,$1)=
4951 _LT_AC_TAGVAR(postdep_objects,$1)=
4952 _LT_AC_TAGVAR(postdeps,$1)=
4956 case $cc_basename in
4958 # Adding this requires a known-good setup of shared libraries for
4959 # Sun compiler versions before 5.6, else PIC objects from an old
4960 # archive will be linked into the output, leading to subtle bugs.
4961 _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
4968 case " $_LT_AC_TAGVAR(postdeps, $1) " in
4969 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
4971 ])# AC_LIBTOOL_POSTDEP_PREDEP
4973 # AC_LIBTOOL_LANG_F77_CONFIG
4974 # --------------------------
4975 # Ensure that the configuration vars for the C compiler are
4976 # suitably defined. Those variables are subsequently used by
4977 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
4978 AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
4979 AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
4980 [AC_REQUIRE([AC_PROG_F77])
4981 AC_LANG_PUSH(Fortran 77)
4983 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4984 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
4985 _LT_AC_TAGVAR(always_export_symbols, $1)=no
4986 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
4987 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
4988 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4989 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
4990 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4991 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4992 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
4993 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
4994 _LT_AC_TAGVAR(module_cmds, $1)=
4995 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
4996 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
4997 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
4998 _LT_AC_TAGVAR(no_undefined_flag, $1)=
4999 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5000 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5002 # Source file extension for f77 test sources.
5005 # Object file extension for compiled f77 test sources.
5007 _LT_AC_TAGVAR(objext, $1)=$objext
5009 # Code to be used in simple compile tests
5010 lt_simple_compile_test_code=" subroutine t\n return\n end\n"
5012 # Code to be used in simple link tests
5013 lt_simple_link_test_code=" program t\n end\n"
5015 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5018 # save warnings/boilerplate of simple test code
5019 _LT_COMPILER_BOILERPLATE
5020 _LT_LINKER_BOILERPLATE
5022 # Allow CC to be a program name with arguments.
5026 _LT_AC_TAGVAR(compiler, $1)=$CC
5027 _LT_CC_BASENAME([$compiler])
5029 AC_MSG_CHECKING([if libtool supports shared libraries])
5030 AC_MSG_RESULT([$can_build_shared])
5032 AC_MSG_CHECKING([whether to build shared libraries])
5033 test "$can_build_shared" = "no" && enable_shared=no
5035 # On AIX, shared libraries and static libraries use the same namespace, and
5036 # are all built from PIC.
5039 test "$enable_shared" = yes && enable_static=no
5040 if test -n "$RANLIB"; then
5041 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5042 postinstall_cmds='$RANLIB $lib'
5046 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5047 test "$enable_shared" = yes && enable_static=no
5051 AC_MSG_RESULT([$enable_shared])
5053 AC_MSG_CHECKING([whether to build static libraries])
5054 # Make sure either enable_shared or enable_static is yes.
5055 test "$enable_shared" = yes || enable_static=yes
5056 AC_MSG_RESULT([$enable_static])
5058 _LT_AC_TAGVAR(GCC, $1)="$G77"
5059 _LT_AC_TAGVAR(LD, $1)="$LD"
5061 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5062 AC_LIBTOOL_PROG_CC_C_O($1)
5063 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5064 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5065 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5066 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5068 AC_LIBTOOL_CONFIG($1)
5072 ])# AC_LIBTOOL_LANG_F77_CONFIG
5075 # AC_LIBTOOL_LANG_GCJ_CONFIG
5076 # --------------------------
5077 # Ensure that the configuration vars for the C compiler are
5078 # suitably defined. Those variables are subsequently used by
5079 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5080 AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
5081 AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
5084 # Source file extension for Java test sources.
5087 # Object file extension for compiled Java test sources.
5089 _LT_AC_TAGVAR(objext, $1)=$objext
5091 # Code to be used in simple compile tests
5092 lt_simple_compile_test_code="class foo {}\n"
5094 # Code to be used in simple link tests
5095 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
5097 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5100 # save warnings/boilerplate of simple test code
5101 _LT_COMPILER_BOILERPLATE
5102 _LT_LINKER_BOILERPLATE
5104 # Allow CC to be a program name with arguments.
5108 _LT_AC_TAGVAR(compiler, $1)=$CC
5109 _LT_CC_BASENAME([$compiler])
5111 # GCJ did not exist at the time GCC didn't implicitly link libc in.
5112 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5114 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5117 ## There is no encapsulation within the following macros, do not change
5118 ## the running order or otherwise move them around unless you know exactly
5119 ## what you are doing...
5120 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
5121 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5122 AC_LIBTOOL_PROG_CC_C_O($1)
5123 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5124 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5125 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5126 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5128 AC_LIBTOOL_CONFIG($1)
5132 ])# AC_LIBTOOL_LANG_GCJ_CONFIG
5135 # AC_LIBTOOL_LANG_RC_CONFIG
5136 # -------------------------
5137 # Ensure that the configuration vars for the Windows resource compiler are
5138 # suitably defined. Those variables are subsequently used by
5139 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5140 AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
5141 AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
5144 # Source file extension for RC test sources.
5147 # Object file extension for compiled RC test sources.
5149 _LT_AC_TAGVAR(objext, $1)=$objext
5151 # Code to be used in simple compile tests
5152 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
5154 # Code to be used in simple link tests
5155 lt_simple_link_test_code="$lt_simple_compile_test_code"
5157 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5160 # save warnings/boilerplate of simple test code
5161 _LT_COMPILER_BOILERPLATE
5162 _LT_LINKER_BOILERPLATE
5164 # Allow CC to be a program name with arguments.
5168 _LT_AC_TAGVAR(compiler, $1)=$CC
5169 _LT_CC_BASENAME([$compiler])
5170 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
5172 AC_LIBTOOL_CONFIG($1)
5176 ])# AC_LIBTOOL_LANG_RC_CONFIG
5179 # AC_LIBTOOL_CONFIG([TAGNAME])
5180 # ----------------------------
5181 # If TAGNAME is not passed, then create an initial libtool script
5182 # with a default configuration from the untagged config vars. Otherwise
5183 # add code to config.status for appending the configuration named by
5184 # TAGNAME from the matching tagged config vars.
5185 AC_DEFUN([AC_LIBTOOL_CONFIG],
5186 [# The else clause should only fire when bootstrapping the
5187 # libtool distribution, otherwise you forgot to ship ltmain.sh
5188 # with your package, and you will get complaints that there are
5189 # no rules to generate ltmain.sh.
5190 if test -f "$ltmain"; then
5191 # See if we are running on zsh, and set the options which allow our commands through
5192 # without removal of \ escapes.
5193 if test -n "${ZSH_VERSION+set}" ; then
5194 setopt NO_GLOB_SUBST
5196 # Now quote all the things that may contain metacharacters while being
5197 # careful not to overquote the AC_SUBSTed values. We take copies of the
5198 # variables and quote the copies for generation of the libtool script.
5199 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
5201 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
5202 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
5203 deplibs_check_method reload_flag reload_cmds need_locks \
5204 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
5205 lt_cv_sys_global_symbol_to_c_name_address \
5206 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
5207 old_postinstall_cmds old_postuninstall_cmds \
5208 _LT_AC_TAGVAR(compiler, $1) \
5209 _LT_AC_TAGVAR(CC, $1) \
5210 _LT_AC_TAGVAR(LD, $1) \
5211 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
5212 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
5213 _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
5214 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
5215 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
5216 _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
5217 _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
5218 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
5219 _LT_AC_TAGVAR(old_archive_cmds, $1) \
5220 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
5221 _LT_AC_TAGVAR(predep_objects, $1) \
5222 _LT_AC_TAGVAR(postdep_objects, $1) \
5223 _LT_AC_TAGVAR(predeps, $1) \
5224 _LT_AC_TAGVAR(postdeps, $1) \
5225 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
5226 _LT_AC_TAGVAR(archive_cmds, $1) \
5227 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
5228 _LT_AC_TAGVAR(postinstall_cmds, $1) \
5229 _LT_AC_TAGVAR(postuninstall_cmds, $1) \
5230 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
5231 _LT_AC_TAGVAR(allow_undefined_flag, $1) \
5232 _LT_AC_TAGVAR(no_undefined_flag, $1) \
5233 _LT_AC_TAGVAR(export_symbols_cmds, $1) \
5234 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
5235 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
5236 _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
5237 _LT_AC_TAGVAR(hardcode_automatic, $1) \
5238 _LT_AC_TAGVAR(module_cmds, $1) \
5239 _LT_AC_TAGVAR(module_expsym_cmds, $1) \
5240 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
5241 _LT_AC_TAGVAR(exclude_expsyms, $1) \
5242 _LT_AC_TAGVAR(include_expsyms, $1); do
5245 _LT_AC_TAGVAR(old_archive_cmds, $1) | \
5246 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
5247 _LT_AC_TAGVAR(archive_cmds, $1) | \
5248 _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
5249 _LT_AC_TAGVAR(module_cmds, $1) | \
5250 _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
5251 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
5252 _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
5253 extract_expsyms_cmds | reload_cmds | finish_cmds | \
5254 postinstall_cmds | postuninstall_cmds | \
5255 old_postinstall_cmds | old_postuninstall_cmds | \
5256 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
5257 # Double-quote double-evaled strings.
5258 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
5261 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
5267 *'\[$]0 --fallback-echo"')
5268 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
5273 [cfgfile="${ofile}T"
5274 trap "$rm \"$cfgfile\"; exit 1" 1 2 15
5276 AC_MSG_NOTICE([creating $ofile])],
5279 cat <<__EOF__ >> "$cfgfile"
5283 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
5284 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
5285 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
5287 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
5288 # Free Software Foundation, Inc.
5290 # This file is part of GNU Libtool:
5291 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5293 # This program is free software; you can redistribute it and/or modify
5294 # it under the terms of the GNU General Public License as published by
5295 # the Free Software Foundation; either version 2 of the License, or
5296 # (at your option) any later version.
5298 # This program is distributed in the hope that it will be useful, but
5299 # WITHOUT ANY WARRANTY; without even the implied warranty of
5300 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5301 # General Public License for more details.
5303 # You should have received a copy of the GNU General Public License
5304 # along with this program; if not, write to the Free Software
5305 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
5307 # As a special exception to the GNU General Public License, if you
5308 # distribute this file as part of a program that contains a
5309 # configuration script generated by Autoconf, you may include it under
5310 # the same distribution terms that you use for the rest of that program.
5312 # A sed program that does not truncate output.
5315 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
5316 Xsed="$SED -e 1s/^X//"
5318 # The HP-UX ksh and POSIX shell print the target directory to stdout
5320 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5322 # The names of the tagged configurations supported by this script.
5325 # ### BEGIN LIBTOOL CONFIG],
5326 [# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
5328 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
5330 # Shell to use when invoking shell scripts.
5333 # Whether or not to build shared libraries.
5334 build_libtool_libs=$enable_shared
5336 # Whether or not to build static libraries.
5337 build_old_libs=$enable_static
5339 # Whether or not to add -lc for building shared libraries.
5340 build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
5342 # Whether or not to disallow shared libs when runtime libs are static
5343 allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
5345 # Whether or not to optimize for fast installation.
5346 fast_install=$enable_fast_install
5349 host_alias=$host_alias
5354 build_alias=$build_alias
5358 # An echo program that does not interpret backslashes.
5363 AR_FLAGS=$lt_AR_FLAGS
5368 # LTCC compiler flags.
5369 LTCFLAGS=$lt_LTCFLAGS
5371 # A language-specific compiler.
5372 CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
5374 # Is the compiler the GNU C compiler?
5375 with_gcc=$_LT_AC_TAGVAR(GCC, $1)
5380 # The linker used to build libraries.
5381 LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
5383 # Whether we need hard or soft links.
5386 # A BSD-compatible nm program.
5389 # A symbol stripping program
5392 # Used to examine libraries when file_magic_cmd begins "file"
5393 MAGIC_CMD=$MAGIC_CMD
5395 # Used on cygwin: DLL creation program.
5398 # Used on cygwin: object dumper.
5401 # Used on cygwin: assembler.
5404 # The name of the directory that contains temporary libtool files.
5407 # How to create reloadable object files.
5408 reload_flag=$lt_reload_flag
5409 reload_cmds=$lt_reload_cmds
5411 # How to pass a linker flag through the compiler.
5412 wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
5414 # Object file suffix (normally "o").
5417 # Old archive suffix (normally "a").
5420 # Shared library suffix (normally ".so").
5421 shrext_cmds='$shrext_cmds'
5423 # Executable file suffix (normally "").
5426 # Additional compiler flags for building library objects.
5427 pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
5430 # What is the maximum length of a command?
5431 max_cmd_len=$lt_cv_sys_max_cmd_len
5433 # Does compiler simultaneously support -c and -o options?
5434 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
5436 # Must we lock files when doing compilation?
5437 need_locks=$lt_need_locks
5439 # Do we need the lib prefix for modules?
5440 need_lib_prefix=$need_lib_prefix
5442 # Do we need a version for libraries?
5443 need_version=$need_version
5445 # Whether dlopen is supported.
5446 dlopen_support=$enable_dlopen
5448 # Whether dlopen of programs is supported.
5449 dlopen_self=$enable_dlopen_self
5451 # Whether dlopen of statically linked programs is supported.
5452 dlopen_self_static=$enable_dlopen_self_static
5454 # Compiler flag to prevent dynamic linking.
5455 link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
5457 # Compiler flag to turn off builtin functions.
5458 no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
5460 # Compiler flag to allow reflexive dlopens.
5461 export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
5463 # Compiler flag to generate shared objects directly from archives.
5464 whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
5466 # Compiler flag to generate thread-safe objects.
5467 thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
5469 # Library versioning type.
5470 version_type=$version_type
5472 # Format of library name prefix.
5473 libname_spec=$lt_libname_spec
5475 # List of archive names. First name is the real one, the rest are links.
5476 # The last name is the one that the linker finds with -lNAME.
5477 library_names_spec=$lt_library_names_spec
5479 # The coded name of the library, if different from the real name.
5480 soname_spec=$lt_soname_spec
5482 # Commands used to build and install an old-style archive.
5484 old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
5485 old_postinstall_cmds=$lt_old_postinstall_cmds
5486 old_postuninstall_cmds=$lt_old_postuninstall_cmds
5488 # Create an old-style archive from a shared archive.
5489 old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
5491 # Create a temporary old-style archive to link instead of a shared archive.
5492 old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
5494 # Commands used to build and install a shared archive.
5495 archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
5496 archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
5497 postinstall_cmds=$lt_postinstall_cmds
5498 postuninstall_cmds=$lt_postuninstall_cmds
5500 # Commands used to build a loadable module (assumed same as above if empty)
5501 module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
5502 module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
5504 # Commands to strip libraries.
5505 old_striplib=$lt_old_striplib
5506 striplib=$lt_striplib
5508 # Dependencies to place before the objects being linked to create a
5510 predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
5512 # Dependencies to place after the objects being linked to create a
5514 postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
5516 # Dependencies to place before the objects being linked to create a
5518 predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
5520 # Dependencies to place after the objects being linked to create a
5522 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
5524 # The library search path used internally by the compiler when linking
5526 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
5528 # Method to check whether dependent libraries are shared objects.
5529 deplibs_check_method=$lt_deplibs_check_method
5531 # Command to use when deplibs_check_method == file_magic.
5532 file_magic_cmd=$lt_file_magic_cmd
5534 # Flag that allows shared libraries with undefined symbols to be built.
5535 allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
5537 # Flag that forces no undefined symbols.
5538 no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
5540 # Commands used to finish a libtool library installation in a directory.
5541 finish_cmds=$lt_finish_cmds
5543 # Same as above, but a single script fragment to be evaled but not shown.
5544 finish_eval=$lt_finish_eval
5546 # Take the output of nm and produce a listing of raw symbols and C names.
5547 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
5549 # Transform the output of nm in a proper C declaration
5550 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
5552 # Transform the output of nm in a C name address pair
5553 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
5555 # This is the shared library runtime path variable.
5556 runpath_var=$runpath_var
5558 # This is the shared library path variable.
5559 shlibpath_var=$shlibpath_var
5561 # Is shlibpath searched before the hard-coded library search path?
5562 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
5564 # How to hardcode a shared library path into an executable.
5565 hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
5567 # Whether we should hardcode library paths into libraries.
5568 hardcode_into_libs=$hardcode_into_libs
5570 # Flag to hardcode \$libdir into a binary during linking.
5571 # This must work even if \$libdir does not exist.
5572 hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
5574 # If ld is used when linking, flag to hardcode \$libdir into
5575 # a binary during linking. This must work even if \$libdir does
5577 hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
5579 # Whether we need a single -rpath flag with a separated argument.
5580 hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
5582 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
5584 hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
5586 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
5588 hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
5590 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
5591 # the resulting binary.
5592 hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
5594 # Set to yes if building a shared library automatically hardcodes DIR into the library
5595 # and all subsequent libraries and executables linked against it.
5596 hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
5598 # Variables whose values should be saved in libtool wrapper scripts and
5599 # restored at relink time.
5600 variables_saved_for_relink="$variables_saved_for_relink"
5602 # Whether libtool must link a program against all its dependency libraries.
5603 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
5605 # Compile-time system search path for libraries
5606 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
5608 # Run-time system search path for libraries
5609 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
5611 # Fix the shell variable \$srcfile for the compiler.
5612 fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
5614 # Set to yes if exported symbols are required.
5615 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
5617 # The commands to list exported symbols.
5618 export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
5620 # The commands to extract the exported symbol list from a shared archive.
5621 extract_expsyms_cmds=$lt_extract_expsyms_cmds
5623 # Symbols that should not be listed in the preloaded symbols.
5624 exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
5626 # Symbols that must always be exported.
5627 include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
5630 [# ### END LIBTOOL CONFIG],
5631 [# ### END LIBTOOL TAG CONFIG: $tagname])
5638 cat <<\EOF >> "$cfgfile"
5640 # AIX sometimes has problems with the GCC collect2 program. For some
5641 # reason, if we set the COLLECT_NAMES environment variable, the problems
5642 # vanish in a puff of smoke.
5643 if test "X${COLLECT_NAMES+set}" != Xset; then
5645 export COLLECT_NAMES
5651 # We use sed instead of cat because bash on DJGPP gets confused if
5652 # if finds mixed CR/LF and LF-only lines. Since sed operates in
5653 # text mode, it properly converts lines to CR/LF. This bash problem
5654 # is reportedly fixed, but why not run on old versions too?
5655 sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
5657 mv -f "$cfgfile" "$ofile" || \
5658 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
5662 # If there is no Makefile yet, we rely on a make rule to execute
5663 # `config.status --recheck' to rerun these tests and create the
5664 # libtool script then.
5665 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
5666 if test -f "$ltmain_in"; then
5667 test -f Makefile && make "$ltmain"
5670 ])# AC_LIBTOOL_CONFIG
5673 # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
5674 # -------------------------------------------
5675 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
5676 [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
5678 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5680 if test "$GCC" = yes; then
5681 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5683 AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
5684 lt_cv_prog_compiler_rtti_exceptions,
5685 [-fno-rtti -fno-exceptions], [],
5686 [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
5688 ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
5691 # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5692 # ---------------------------------
5693 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
5694 [AC_REQUIRE([AC_CANONICAL_HOST])
5695 AC_REQUIRE([AC_PROG_NM])
5696 AC_REQUIRE([AC_OBJEXT])
5697 # Check for command to grab the raw symbol name followed by C symbol from nm.
5698 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
5699 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
5701 # These are sane defaults that work on at least a few old systems.
5702 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
5704 # Character class describing NM global symbol codes.
5705 symcode='[[BCDEGRST]]'
5707 # Regexp to match symbols that can be accessed directly from C.
5708 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
5710 # Transform an extracted symbol line into a proper C declaration
5711 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
5713 # Transform an extracted symbol line into symbol name and symbol address
5714 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
5716 # Define system-specific variables.
5721 cygwin* | mingw* | pw32*)
5722 symcode='[[ABCDGISTW]]'
5724 hpux*) # Its linker distinguishes data from code symbols
5725 if test "$host_cpu" = ia64; then
5726 symcode='[[ABCDEGRST]]'
5728 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5729 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
5732 if test "$host_cpu" = ia64; then
5733 symcode='[[ABCDGIRSTW]]'
5734 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5735 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
5739 symcode='[[BCDEGRST]]'
5742 symcode='[[BCDEGQRST]]'
5753 sysv5* | sco5v6* | unixware* | OpenUNIX*)
5757 symcode='[[DFNSTU]]'
5761 # Handle CRLF in mingw tool chain
5765 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
5769 # If we're using GNU nm, then use its standard symbol codes.
5770 case `$NM -V 2>&1` in
5771 *GNU* | *'with BFD'*)
5772 symcode='[[ABCDGIRSTW]]' ;;
5775 # Try without a prefix undercore, then with it.
5776 for ac_symprfx in "" "_"; do
5778 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
5779 symxfrm="\\1 $ac_symprfx\\2 \\2"
5781 # Write the raw and C identifiers.
5782 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
5784 # Check to see that the pipe works correctly.
5788 cat > conftest.$ac_ext <<EOF
5793 void nm_test_func(){}
5797 int main(){nm_test_var='a';nm_test_func();return(0);}
5800 if AC_TRY_EVAL(ac_compile); then
5801 # Now try to grab the symbols.
5803 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
5804 # Try sorting and uniquifying the output.
5805 if sort "$nlist" | uniq > "$nlist"T; then
5806 mv -f "$nlist"T "$nlist"
5811 # Make sure that we snagged all the symbols we need.
5812 if grep ' nm_test_var$' "$nlist" >/dev/null; then
5813 if grep ' nm_test_func$' "$nlist" >/dev/null; then
5814 cat <<EOF > conftest.$ac_ext
5820 # Now generate the symbol file.
5821 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
5823 cat <<EOF >> conftest.$ac_ext
5824 #if defined (__STDC__) && __STDC__
5825 # define lt_ptr_t void *
5827 # define lt_ptr_t char *
5831 /* The mapping between symbol names and symbols. */
5836 lt_preloaded_symbols[[]] =
5839 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
5840 cat <<\EOF >> conftest.$ac_ext
5848 # Now try linking the two files.
5849 mv conftest.$ac_objext conftstm.$ac_objext
5850 lt_save_LIBS="$LIBS"
5851 lt_save_CFLAGS="$CFLAGS"
5852 LIBS="conftstm.$ac_objext"
5853 CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
5854 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
5857 LIBS="$lt_save_LIBS"
5858 CFLAGS="$lt_save_CFLAGS"
5860 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
5863 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
5866 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
5869 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
5870 cat conftest.$ac_ext >&5
5872 rm -f conftest* conftst*
5874 # Do not use the global_symbol_pipe unless it works.
5875 if test "$pipe_works" = yes; then
5878 lt_cv_sys_global_symbol_pipe=
5882 if test -z "$lt_cv_sys_global_symbol_pipe"; then
5883 lt_cv_sys_global_symbol_to_cdecl=
5885 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
5886 AC_MSG_RESULT(failed)
5890 ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5893 # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
5894 # ---------------------------------------
5895 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
5896 [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
5897 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5898 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
5900 AC_MSG_CHECKING([for $compiler option to produce PIC])
5902 # C++ specific cases for pic, static, wl, etc.
5903 if test "$GXX" = yes; then
5904 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5905 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5909 # All AIX code is PIC.
5910 if test "$host_cpu" = ia64; then
5911 # AIX 5 now supports IA64 processor
5912 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5916 # FIXME: we need at least 68020 code to build shared libraries, but
5917 # adding the `-m68020' flag to GCC prevents building anything better,
5919 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5921 beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
5922 # PIC is the default for these OSes.
5924 mingw* | os2* | pw32*)
5925 # This hack is so that the source file can tell whether it is being
5926 # built for inclusion in a dll (and should export symbols for example).
5927 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5929 darwin* | rhapsody*)
5930 # PIC is the default on this platform
5931 # Common symbols not allowed in MH_DYLIB files
5932 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
5935 # DJGPP does not support shared libraries at all
5936 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5939 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
5940 # Instead, we relocate shared libraries at runtime.
5943 if test -d /usr/nec; then
5944 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
5948 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5954 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5959 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5965 # All AIX code is PIC.
5966 if test "$host_cpu" = ia64; then
5967 # AIX 5 now supports IA64 processor
5968 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5970 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
5974 case $cc_basename in
5976 # Green Hills C++ Compiler
5977 # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--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"
5982 # PIC is the default on this platform
5983 # Common symbols not allowed in MH_DYLIB files
5984 case $cc_basename in
5986 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
5987 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5992 case $cc_basename in
5994 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5997 # Green Hills C++ Compiler
5998 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6004 freebsd* | kfreebsd*-gnu | dragonfly*)
6005 # FreeBSD uses GNU C++
6007 hpux9* | hpux10* | hpux11*)
6008 case $cc_basename in
6010 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6011 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6012 if test "$host_cpu" != ia64; then
6013 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6017 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6018 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6024 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6033 # This is c89, which is MS Visual C++ (no shared libs)
6034 # Anyone wants to do a port?
6036 irix5* | irix6* | nonstopux*)
6037 case $cc_basename in
6039 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6040 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6041 # CC pic flag -KPIC is the default.
6048 case $cc_basename in
6051 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6052 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6056 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6057 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6058 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6061 # Portland Group C++ compiler.
6062 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6063 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6064 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6068 # Make sure the PIC flag is empty. It appears that all Alpha
6069 # Linux and Compaq Tru64 Unix objects are PIC.
6070 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6071 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6082 case $cc_basename in
6084 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
6092 osf3* | osf4* | osf5*)
6093 case $cc_basename in
6095 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6098 # Rational C++ 2.4.1
6099 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6102 # Digital/Compaq C++
6103 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6104 # Make sure the PIC flag is empty. It appears that all Alpha
6105 # Linux and Compaq Tru64 Unix objects are PIC.
6106 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6107 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6116 case $cc_basename in
6118 # Sun C++ 4.2, 5.x and Centerline C++
6119 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6120 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6121 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6124 # Green Hills C++ Compiler
6125 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6132 case $cc_basename in
6135 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6136 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6140 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6147 case $cc_basename in
6149 # NonStop-UX NCC 3.20
6150 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6156 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6157 case $cc_basename in
6159 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6160 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6161 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6168 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6174 if test "$GCC" = yes; then
6175 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6176 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6180 # All AIX code is PIC.
6181 if test "$host_cpu" = ia64; then
6182 # AIX 5 now supports IA64 processor
6183 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6188 # FIXME: we need at least 68020 code to build shared libraries, but
6189 # adding the `-m68020' flag to GCC prevents building anything better,
6191 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
6194 beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
6195 # PIC is the default for these OSes.
6198 mingw* | pw32* | os2*)
6199 # This hack is so that the source file can tell whether it is being
6200 # built for inclusion in a dll (and should export symbols for example).
6201 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
6204 darwin* | rhapsody*)
6205 # PIC is the default on this platform
6206 # Common symbols not allowed in MH_DYLIB files
6207 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
6211 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
6212 # Instead, we relocate shared libraries at runtime.
6216 # Just because we use GCC doesn't mean we suddenly get shared libraries
6217 # on systems that don't support them.
6218 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6223 if test -d /usr/nec; then
6224 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
6229 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6236 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6242 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6246 # PORTME Check for flag to pass linker flags through the system compiler.
6249 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6250 if test "$host_cpu" = ia64; then
6251 # AIX 5 now supports IA64 processor
6252 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6254 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
6258 # PIC is the default on this platform
6259 # Common symbols not allowed in MH_DYLIB files
6260 case $cc_basename in
6262 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
6263 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6268 mingw* | pw32* | os2*)
6269 # This hack is so that the source file can tell whether it is being
6270 # built for inclusion in a dll (and should export symbols for example).
6271 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
6274 hpux9* | hpux10* | hpux11*)
6275 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6276 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6283 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6286 # Is there a better lt_prog_compiler_static that works with the bundled CC?
6287 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6290 irix5* | irix6* | nonstopux*)
6291 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6292 # PIC (with -KPIC) is the default.
6293 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6297 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6298 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6302 case $cc_basename in
6304 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6305 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6306 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6308 pgcc* | pgf77* | pgf90* | pgf95*)
6309 # Portland Group compilers (*not* the Pentium gcc compiler,
6310 # which looks to be a dead project)
6311 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6312 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6313 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6316 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6317 # All Alpha code is PIC.
6318 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6323 osf3* | osf4* | osf5*)
6324 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6325 # All OSF/1 code is PIC.
6326 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6330 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6331 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6332 case $cc_basename in
6334 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
6336 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
6341 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6342 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6343 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6346 sysv4 | sysv4.2uw2* | sysv4.3*)
6347 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6348 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6349 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6353 if test -d /usr/nec ;then
6354 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
6355 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6359 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6360 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6361 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6362 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6366 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6367 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6371 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6372 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6376 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6381 AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
6384 # Check to make sure the PIC flag actually works.
6386 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
6387 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
6388 _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
6389 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
6390 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
6392 *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
6394 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6395 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
6398 # For platforms which do not support PIC, -DPIC is meaningless:
6400 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6403 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
6408 # Check to make sure the static flag actually works.
6410 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
6411 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
6412 _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
6413 $lt_tmp_static_flag,
6415 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
6419 # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
6420 # ------------------------------------
6421 # See if the linker supports building shared libraries.
6422 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
6423 [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6425 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6428 # If we're using GNU nm, then we don't want the "-C" option.
6429 # -C means demangle to AIX nm, but means don't demangle with GNU nm
6430 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6431 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
6433 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
6437 _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
6440 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
6443 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6448 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
6449 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6450 _LT_AC_TAGVAR(archive_cmds, $1)=
6451 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
6452 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
6453 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
6454 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6455 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6456 _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
6457 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6458 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6459 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
6460 _LT_AC_TAGVAR(hardcode_direct, $1)=no
6461 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
6462 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6463 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
6464 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
6465 _LT_AC_TAGVAR(module_cmds, $1)=
6466 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
6467 _LT_AC_TAGVAR(always_export_symbols, $1)=no
6468 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6469 # include_expsyms should be a list of space-separated symbols to be *always*
6470 # included in the symbol list
6471 _LT_AC_TAGVAR(include_expsyms, $1)=
6472 # exclude_expsyms can be an extended regexp of symbols to exclude
6473 # it will be wrapped by ` (' and `)$', so one must not match beginning or
6474 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
6475 # as well as any symbol that contains `d'.
6476 _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
6477 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
6478 # platforms (ab)use it in PIC code, but their linkers get confused if
6479 # the symbol is explicitly referenced. Since portable code cannot
6480 # rely on this symbol name, it's probably fine to never include it in
6481 # preloaded symbol tables.
6482 extract_expsyms_cmds=
6483 # Just being paranoid about ensuring that cc_basename is set.
6484 _LT_CC_BASENAME([$compiler])
6486 cygwin* | mingw* | pw32*)
6487 # FIXME: the MSVC++ port hasn't been tested in a loooong time
6488 # When not using gcc, we currently assume that we are using
6489 # Microsoft Visual C++.
6490 if test "$GCC" != yes; then
6495 # we just hope/assume this is gcc and not c89 (= MSVC++)
6503 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
6504 if test "$with_gnu_ld" = yes; then
6505 # If archive_cmds runs LD, not CC, wlarc should be empty
6508 # Set some defaults for GNU ld with shared library support. These
6509 # are reset later if shared libraries are not supported. Putting them
6510 # here allows them to be overridden if necessary.
6511 runpath_var=LD_RUN_PATH
6512 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6513 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6514 # ancient GNU ld didn't support --whole-archive et. al.
6515 if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
6516 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6518 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6520 supports_anon_versioning=no
6521 case `$LD -v 2>/dev/null` in
6522 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
6523 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
6524 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
6525 *\ 2.11.*) ;; # other 2.11 versions
6526 *) supports_anon_versioning=yes ;;
6529 # See if GNU ld supports shared libraries.
6531 aix3* | aix4* | aix5*)
6532 # On AIX/PPC, the GNU linker is very broken
6533 if test "$host_cpu" != ia64; then
6534 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6537 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
6538 *** to be unable to reliably create shared libraries on AIX.
6539 *** Therefore, libtool is disabling shared libraries support. If you
6540 *** really care for shared libraries, you may want to modify your PATH
6541 *** so that a non-GNU linker is found, and then restart.
6548 _LT_AC_TAGVAR(archive_cmds, $1)='$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)'
6549 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6550 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6552 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
6553 # that the semantics of dynamic libraries on AmigaOS, at least up
6554 # to version 4, is to share data among multiple programs linked
6555 # with the same dynamic library. Since this doesn't match the
6556 # behavior of shared libraries on other platforms, we can't use
6558 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6562 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6563 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6564 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6565 # support --undefined. This deserves some investigation. FIXME
6566 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6568 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6572 cygwin* | mingw* | pw32*)
6573 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6574 # as there is no search path for DLLs.
6575 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6576 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6577 _LT_AC_TAGVAR(always_export_symbols, $1)=no
6578 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6579 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
6581 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
6582 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6583 # If the export-symbols file already is a .def file (1st line
6584 # is EXPORTS), use it as is; otherwise, prepend...
6585 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6586 cp $export_symbols $output_objdir/$soname.def;
6588 echo EXPORTS > $output_objdir/$soname.def;
6589 cat $export_symbols >> $output_objdir/$soname.def;
6591 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6593 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6598 _LT_AC_TAGVAR(hardcode_direct, $1)=no
6599 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6600 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6601 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6602 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6603 # Instead, shared libraries are loaded at an image base (0x10000000 by
6604 # default) and relocated if they conflict, which is a slow very memory
6605 # consuming and fragmenting process. To avoid this, we pick a random,
6606 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6607 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6608 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6609 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='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'
6613 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6615 case $cc_basename,$host_cpu in
6616 pgcc*) # Portland Group C compiler
6617 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
6618 tmp_addflag=' $pic_flag'
6620 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
6621 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
6622 tmp_addflag=' $pic_flag -Mnomain' ;;
6623 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
6624 tmp_addflag=' -i_dynamic' ;;
6625 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
6626 tmp_addflag=' -i_dynamic -nofor_main' ;;
6627 ifc* | ifort*) # Intel Fortran compiler
6628 tmp_addflag=' -nofor_main' ;;
6630 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6632 if test $supports_anon_versioning = yes; then
6633 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
6634 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6635 $echo "local: *; };" >> $output_objdir/$libname.ver~
6636 $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6639 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6644 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
6645 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
6648 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6649 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6654 if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
6655 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6658 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
6659 *** create shared libraries on Solaris systems. Therefore, libtool
6660 *** is disabling shared libraries support. We urge you to upgrade GNU
6661 *** binutils to release 2.9.1 or newer. Another option is to modify
6662 *** your PATH or compiler configuration so that the native linker is
6663 *** used, and then restart.
6666 elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6667 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6668 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6670 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6674 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
6675 case `$LD -v 2>&1` in
6676 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
6677 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6680 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
6681 *** reliably create shared libraries on SCO systems. Therefore, libtool
6682 *** is disabling shared libraries support. We urge you to upgrade GNU
6683 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
6684 *** your PATH or compiler configuration so that the native linker is
6685 *** used, and then restart.
6690 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6691 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
6692 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
6693 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
6695 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6702 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6704 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6705 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6709 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6710 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6711 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6713 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6718 if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
6720 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6721 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6722 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6725 # PORTME fill in a description of your system's linker (not GNU ld)
6728 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6729 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
6730 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
6731 # Note: this linker hardcodes the directories in LIBPATH if there
6732 # are no directories specified by -L.
6733 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6734 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
6735 # Neither direct hardcoding nor static linking is supported with a
6737 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
6742 if test "$host_cpu" = ia64; then
6743 # On IA64, the linker does run time linking by default, so we don't
6744 # have to do anything special.
6745 aix_use_runtimelinking=no
6746 exp_sym_flag='-Bexport'
6749 # If we're using GNU nm, then we don't want the "-C" option.
6750 # -C means demangle to AIX nm, but means don't demangle with GNU nm
6751 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6752 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
6754 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
6756 aix_use_runtimelinking=no
6758 # Test if we are trying to use run time linking or normal
6759 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6760 # need to do runtime linking.
6761 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
6762 for ld_flag in $LDFLAGS; do
6763 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
6764 aix_use_runtimelinking=yes
6771 exp_sym_flag='-bexport'
6772 no_entry_flag='-bnoentry'
6775 # When large executables or shared objects are built, AIX ld can
6776 # have problems creating the table of contents. If linking a library
6777 # or program results in "error TOC overflow" add -mminimal-toc to
6778 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6779 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6781 _LT_AC_TAGVAR(archive_cmds, $1)=''
6782 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6783 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6784 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6786 if test "$GCC" = yes; then
6787 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6788 # We only want to do this on AIX 4.2 and lower, the check
6789 # below for broken collect2 doesn't work under 4.3+
6790 collect2name=`${CC} -print-prog-name=collect2`
6791 if test -f "$collect2name" && \
6792 strings "$collect2name" | grep resolve_lib_name >/dev/null
6794 # We have reworked collect2
6795 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6797 # We have old collect2
6798 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
6799 # It fails to find uninstalled libraries when the uninstalled
6800 # path is not listed in the libpath. Setting hardcode_minus_L
6801 # to unsupported forces relinking
6802 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6803 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6804 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
6808 shared_flag='-shared'
6809 if test "$aix_use_runtimelinking" = yes; then
6810 shared_flag="$shared_flag "'${wl}-G'
6814 if test "$host_cpu" = ia64; then
6815 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6816 # chokes on -Wl,-G. The following line is correct:
6819 if test "$aix_use_runtimelinking" = yes; then
6820 shared_flag='${wl}-G'
6822 shared_flag='${wl}-bM:SRE'
6827 # It seems that -bexpall does not export symbols beginning with
6828 # underscore (_), so it is better to generate a list of symbols to export.
6829 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
6830 if test "$aix_use_runtimelinking" = yes; then
6831 # Warning - without using the other runtime loading flags (-brtl),
6832 # -berok will link without error, but may produce a broken library.
6833 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
6834 # Determine the default libpath from the value encoded in an empty executable.
6835 _LT_AC_SYS_LIBPATH_AIX
6836 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6837 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6839 if test "$host_cpu" = ia64; then
6840 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6841 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6842 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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"
6844 # Determine the default libpath from the value encoded in an empty executable.
6845 _LT_AC_SYS_LIBPATH_AIX
6846 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6847 # Warning - without using the other run time loading flags,
6848 # -berok will link without error, but may produce a broken library.
6849 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6850 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6851 # Exported symbols can be pulled into shared objects from archives
6852 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6853 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6854 # This is similar to how AIX traditionally builds its shared libraries.
6855 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
6861 _LT_AC_TAGVAR(archive_cmds, $1)='$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)'
6862 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6863 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6864 # see comment about different semantics on the GNU ld section
6865 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6869 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
6872 cygwin* | mingw* | pw32*)
6873 # When not using gcc, we currently assume that we are using
6874 # Microsoft Visual C++.
6875 # hardcode_libdir_flag_spec is actually meaningless, as there is
6876 # no search path for DLLs.
6877 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6878 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6879 # Tell ltmain to make .lib files, not .a files.
6881 # Tell ltmain to make .dll files, not .so files.
6883 # FIXME: Setting linknames here is a bad hack.
6884 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
6885 # The linker will automatically build a .lib file if we build a DLL.
6886 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
6887 # FIXME: Should let the user specify the lib program.
6888 _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
6889 _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
6890 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6893 darwin* | rhapsody*)
6895 rhapsody* | darwin1.[[012]])
6896 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
6899 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
6900 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6902 case ${MACOSX_DEPLOYMENT_TARGET} in
6904 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6907 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
6913 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6914 _LT_AC_TAGVAR(hardcode_direct, $1)=no
6915 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
6916 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6917 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
6918 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6919 if test "$GCC" = yes ; then
6920 output_verbose_link_cmd='echo'
6921 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
6922 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
6923 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
6924 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
6925 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
6927 case $cc_basename in
6929 output_verbose_link_cmd='echo'
6930 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
6931 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
6932 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
6933 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
6934 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
6937 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6944 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6945 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6946 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6950 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6953 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
6954 # support. Future versions do this automatically, but an explicit c++rt0.o
6955 # does not break anything, and helps significantly (at the cost of a little
6958 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
6959 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6960 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6961 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6964 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
6966 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6967 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6968 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6969 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6972 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
6973 freebsd* | kfreebsd*-gnu | dragonfly*)
6974 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
6975 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6976 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6977 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6981 if test "$GCC" = yes; then
6982 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6984 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6986 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6987 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6988 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6990 # hardcode_minus_L: Not really in the search PATH,
6991 # but as the default location of the library.
6992 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6993 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6997 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
6998 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7000 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
7002 if test "$with_gnu_ld" = no; then
7003 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7004 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7006 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7007 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7009 # hardcode_minus_L: Not really in the search PATH,
7010 # but as the default location of the library.
7011 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7016 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
7019 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7022 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7025 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7031 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7034 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7037 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7041 if test "$with_gnu_ld" = no; then
7042 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7043 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7047 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
7048 _LT_AC_TAGVAR(hardcode_direct, $1)=no
7049 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7052 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7053 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7055 # hardcode_minus_L: Not really in the search PATH,
7056 # but as the default location of the library.
7057 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7063 irix5* | irix6* | nonstopux*)
7064 if test "$GCC" = yes; then
7065 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
7067 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
7068 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
7070 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7071 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7072 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7076 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
7077 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
7079 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
7081 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7082 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7083 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7087 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7088 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7089 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7090 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7091 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7095 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7096 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7097 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
7098 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7099 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
7100 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7101 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7104 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
7105 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7106 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7109 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7110 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7117 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7118 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7119 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
7120 _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
7121 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
7125 if test "$GCC" = yes; then
7126 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7127 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
7129 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7130 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
7132 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7133 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7136 osf4* | osf5*) # as osf3* with the addition of -msym flag
7137 if test "$GCC" = yes; then
7138 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7139 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
7140 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7142 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7143 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
7144 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
7145 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
7147 # Both c and cxx compiler support -rpath directly
7148 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7150 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7154 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
7155 if test "$GCC" = yes; then
7157 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7158 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
7159 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
7162 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
7163 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
7164 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
7166 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7167 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7169 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7171 # The compiler driver will combine linker options so we
7172 # cannot just pass the convience library names through
7173 # without $wl, iff we do not link with $LD.
7174 # Luckily, gcc supports the same syntax we need for Sun Studio.
7175 # Supported since Solaris 2.6 (maybe 2.5.1?)
7178 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
7180 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
7183 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7187 if test "x$host_vendor" = xsequent; then
7188 # Use $CC to link under sequent, because it throws in some extra .o
7189 # files that make .init and .fini sections work.
7190 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
7192 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
7194 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7195 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7196 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7197 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7201 case $host_vendor in
7203 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7204 _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
7207 ## LD is ld it makes a PLAMLIB
7208 ## CC just makes a GrossModule.
7209 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
7210 _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
7211 _LT_AC_TAGVAR(hardcode_direct, $1)=no
7214 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7215 _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
7218 runpath_var='LD_RUN_PATH'
7219 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7223 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7224 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7225 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
7229 if test -d /usr/nec; then
7230 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7231 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7232 runpath_var=LD_RUN_PATH
7233 hardcode_runpath_var=yes
7234 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
7238 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
7239 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7240 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7241 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7242 runpath_var='LD_RUN_PATH'
7244 if test "$GCC" = yes; then
7245 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7246 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7248 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7249 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7253 sysv5* | sco3.2v5* | sco5v6*)
7254 # Note: We can NOT use -z defs as we might desire, because we do not
7255 # link with -lc, and that would cause any symbols used from libc to
7256 # always be unresolved, which means just about no library would
7257 # ever link correctly. If we're not using GNU ld we use -z text
7258 # though, which does catch some bad symbols but isn't as heavy-handed
7260 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7261 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
7262 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7263 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7264 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
7265 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
7266 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7267 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
7268 runpath_var='LD_RUN_PATH'
7270 if test "$GCC" = yes; then
7271 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7272 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7274 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7275 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7280 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7281 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7282 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7286 _LT_AC_TAGVAR(ld_shlibs, $1)=no
7291 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
7292 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
7295 # Do we need to explicitly link libc?
7297 case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
7299 # Assume -lc should be added
7300 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
7302 if test "$enable_shared" = yes && test "$GCC" = yes; then
7303 case $_LT_AC_TAGVAR(archive_cmds, $1) in
7305 # FIXME: we may have to deal with multi-command sequences.
7308 # Test whether the compiler implicitly links with -lc since on some
7309 # systems, -lgcc has to come before -lc. If gcc already passes -lc
7310 # to ld, don't add -lc before -lgcc.
7311 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
7313 printf "$lt_simple_compile_test_code" > conftest.$ac_ext
7315 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
7318 libobjs=conftest.$ac_objext
7320 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
7321 pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
7327 lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
7328 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
7329 if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
7331 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7333 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
7335 _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
7337 cat conftest.err 1>&5
7340 AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
7346 ])# AC_LIBTOOL_PROG_LD_SHLIBS
7349 # _LT_AC_FILE_LTDLL_C
7350 # -------------------
7351 # Be careful that the start marker always follows a newline.
7352 AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
7353 # /* ltdll.c starts here */
7354 # #define WIN32_LEAN_AND_MEAN
7355 # #include <windows.h>
7356 # #undef WIN32_LEAN_AND_MEAN
7357 # #include <stdio.h>
7359 # #ifndef __CYGWIN__
7360 # # ifdef __CYGWIN32__
7361 # # define __CYGWIN__ __CYGWIN32__
7365 # #ifdef __cplusplus
7368 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
7369 # #ifdef __cplusplus
7374 # #include <cygwin/cygwin_dll.h>
7375 # DECLARE_CYGWIN_DLL( DllMain );
7377 # HINSTANCE __hDllInstance_base;
7380 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
7382 # __hDllInstance_base = hInst;
7385 # /* ltdll.c ends here */
7386 ])# _LT_AC_FILE_LTDLL_C
7389 # _LT_AC_TAGVAR(VARNAME, [TAGNAME])
7390 # ---------------------------------
7391 AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
7395 AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
7396 AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7397 AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7398 AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7399 AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7400 AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
7401 AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
7403 # This is just to silence aclocal about the macro not being used
7404 ifelse([AC_DISABLE_FAST_INSTALL])
7406 AC_DEFUN([LT_AC_PROG_GCJ],
7407 [AC_CHECK_TOOL(GCJ, gcj, no)
7408 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7412 AC_DEFUN([LT_AC_PROG_RC],
7413 [AC_CHECK_TOOL(RC, windres, no)
7416 ############################################################
7417 # NOTE: This macro has been submitted for inclusion into #
7418 # GNU Autoconf as AC_PROG_SED. When it is available in #
7419 # a released version of Autoconf we should remove this #
7420 # macro and use it instead. #
7421 ############################################################
7424 # Check for a fully-functional sed program, that truncates
7425 # as few characters as possible. Prefer GNU sed if found.
7426 AC_DEFUN([LT_AC_PROG_SED],
7427 [AC_MSG_CHECKING([for a sed that does not truncate output])
7428 AC_CACHE_VAL(lt_cv_path_SED,
7429 [# Loop through the user's path and test for sed and gsed.
7430 # Then use that list of sed's as ones to test for truncation.
7431 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7435 test -z "$as_dir" && as_dir=.
7436 for lt_ac_prog in sed gsed; do
7437 for ac_exec_ext in '' $ac_executable_extensions; do
7438 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7439 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7446 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
7447 # along with /bin/sed that truncates output.
7448 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7449 test ! -f $lt_ac_sed && continue
7450 cat /dev/null > conftest.in
7452 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7453 # Check for GNU sed and select it if it is found.
7454 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7455 lt_cv_path_SED=$lt_ac_sed
7459 cat conftest.in conftest.in >conftest.tmp
7460 mv conftest.tmp conftest.in
7461 cp conftest.in conftest.nl
7463 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7464 cmp -s conftest.out conftest.nl || break
7465 # 10000 chars as input seems more than enough
7466 test $lt_ac_count -gt 10 && break
7467 lt_ac_count=`expr $lt_ac_count + 1`
7468 if test $lt_ac_count -gt $lt_ac_max; then
7469 lt_ac_max=$lt_ac_count
7470 lt_cv_path_SED=$lt_ac_sed
7476 AC_MSG_RESULT([$SED])