Merge branch 'release-4-5-patches'
[alexxy/gromacs.git] / acinclude.m4
1 #
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.
5 #
6
7 # ACX_FUNC_FSEEKO_FIXED
8 # --------------
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 */
16      #include <stdio.h>]],
17    [[int (*fp) (FILE *, off_t, int) = fseeko;
18      return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])
19
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.
23
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.])
27 fi
28 ])# ACX_FUNC_FSEEKO_FIXED
29
30
31 # ACX_CHECK_FFTW2()
32 # ----------------
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],
39 [
40 if test -z "$ac_fftw_firstname"; then
41
42 sizeof_real=$2
43 if test $sizeof_real = 8; then
44   prec="double"
45   fftwcheckprefix=d
46 else
47   prec="single"
48   fftwcheckprefix=s
49 fi
50
51 xfftwname=${fftwcheckprefix}$1
52
53 ok="no"
54 # check header doesn't work, since we must use mpicc to get includes,
55 # we cant trust cpp.
56 AC_MSG_CHECKING([for $xfftwname.h])
57 AC_TRY_COMPILE([#include <$xfftwname.h>],,
58 [
59 fftwname=$xfftwname
60 AC_MSG_RESULT(yes)
61 ],
62 AC_MSG_RESULT(no))
63
64 # fftwname was set if we found a header
65
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)]; ],
71 [
72 ok=yes
73 usedprefix=$fftwcheckprefix
74 ],[ok=no])
75 fi
76
77 if test "$ok" != "yes"; then
78   AC_MSG_CHECKING([for $1.h])
79   AC_TRY_COMPILE([#include <$1.h>],,AC_MSG_RESULT(yes),
80 [
81 AC_MSG_RESULT(no)
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.])
96 ])
97 AC_TRY_COMPILE([#include <$1.h>],
98 [int _array_ [1 - 2 * !((sizeof(fftw_real)) == $sizeof_real)];],
99 [
100 usedprefix=""
101 fftwname=$1
102 ],
103 [
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.])])
118 fi
119
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
124
125 else
126
127 fftwname=${ac_fftw_savedprefix}$1
128 AC_MSG_CHECKING([for $fftwname.h])
129 AC_TRY_COMPILE(
130 [#include <$fftwname.h>],,
131 [AC_MSG_RESULT(yes)
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]))],
135 [
136 AC_MSG_RESULT(no)
137 AC_MSG_ERROR([Cant find $fftwname.h header. Make sure all your
138 fftw prefixes match - we already use $ac_fftw_firstname.h])
139 ])
140
141 fi
142
143 ])
144
145
146
147
148
149
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.
157 dnl
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.
163 dnl
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];
169 double abc [] = {
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 };
180 ]
181 EOF
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'
200   else
201     AC_MSG_WARN([Unknown floating-point format])
202   fi
203 else
204   AC_MSG_ERROR(compile failed)
205 fi
206 rm -rf conftest*])
207 case $acx_float_format in
208     'IEEE754 (big-endian byte and word order)' )
209        format=IEEE754
210        byteorder=big
211        wordorder=big            
212        ;;
213     'IEEE754 (little-endian byte and word order)' )
214        format=IEEE754
215        byteorder=little
216        wordorder=little
217        ;;
218     'IEEE754 (big-endian byte, little-endian word order)' )
219        format=IEEE754
220        byteorder=big
221        wordorder=little
222        ;;
223     'IEEE754 (litte-endian byte, big-endian word order)' )
224        format=IEEE754
225        byteorder=little
226        wordorder=big            
227        ;;
228     'VAX D-float' )
229        AC_DEFINE(FLOAT_FORMAT_VAX,,[VAX floating-point format if set])
230        ;;
231     'IBM 370 hex' )
232        AC_DEFINE(FLOAT_FORMAT_IBM_HEX,,[IBM HEX floating-point format if set (s390?)])
233        ;;   
234      * )
235        format=Unknown   
236        ;;
237 esac
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.])
241 fi
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.])
245 fi
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.])
250 fi
251 ])
252
253
254 dnl macro modified from the fftw distribution (www.fftw.org)
255 AC_DEFUN([ACX_CHECK_CC_FLAGS],
256 [
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`
261 #
262 # The stupid intel compiler echos the filename on stderr...
263
264 if test -z "$res" -o "$res" = "conftest.c:"; then
265         ac_$2=yes
266 else
267         ac_$2=no
268 fi
269 rm -rf conftest*
270 ])
271 if test "$ac_$2" = yes; then
272         :
273         $3
274 else
275         :
276         $4
277 fi
278 ])
279
280 dnl macro modified from the fftw distribution (www.fftw.org)
281 AC_DEFUN([ACX_CHECK_F77_FLAGS],
282 [
283 AC_REQUIRE([AC_PROG_F77])
284 AC_CACHE_CHECK(whether $F77 accepts $1, ac_$2,
285 [cat > conftest.f << EOF
286       subroutine f
287       return 
288       end
289 EOF
290 if test -z "`$F77 $1 -c conftest.f `"; then
291         ac_$2=yes
292 else
293         ac_$2=no
294 fi
295 rm -rf conftest*
296 ])
297 if test "$ac_$2" = yes; then
298         :
299         $3
300 else
301         :
302         $4
303 fi
304 ])
305
306
307 # ACX_DETECT_GMXCPU
308 # ---------------------------
309 # Macro to extend the exact CPU for some hosts
310 AC_DEFUN([ACX_DETECT_GMXCPU],
311 [
312 AC_REQUIRE([AC_CANONICAL_HOST])
313
314 #
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)
318
319 gmxcpu="";
320
321 case "${host_cpu}-${host_os}" in
322
323 *-aix*)
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.
327   # 
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
332       gmxcpu=power5
333     elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER4 >/dev/null 2>&1; then
334       gmxcpu=power4
335     elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER3 >/dev/null 2>&1; then
336       gmxcpu=power3
337     elif /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER2 >/dev/null 2>&1; then
338       gmxcpu=power2
339     fi
340   fi
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
343       gmxcpu=ppc604
344     elif /usr/sbin/lscfg -vp | grep PowerPC | grep 603 >/dev/null 2>&1; then
345       gmxcpu=ppc603
346     elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64a >/dev/null 2>&1; then
347       gmxcpu=rs64a
348     elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64b >/dev/null 2>&1; then
349       gmxcpu=rs64b
350     elif /usr/sbin/lscfg -vp | grep PowerPC | grep rs64c >/dev/null 2>&1; then
351       gmxcpu=rs64c
352     elif /usr/sbin/lscfg -vp | grep POWER2 >/dev/null 2>&1; then
353       gmxcpu=power2
354     elif /usr/sbin/lscfg -vp | grep POWER3 >/dev/null 2>&1; then
355       gmxcpu=power3
356     elif /usr/sbin/lscfg -vp | grep POWER4 >/dev/null 2>&1; then
357       gmxcpu=power4
358     fi
359   fi
360   ;;
361
362 mips*-irix*)
363   if /sbin/hinv | grep CPU | grep R12000 >/dev/null 2>&1; then
364     gmxcpu=r12000
365   elif /sbin/hinv | grep CPU | grep R10000 >/dev/null 2>&1; then
366     gmxcpu=r10000
367   elif /sbin/hinv | grep CPU | grep R8000 >/dev/null 2>&1; then
368     gmxcpu=r8000
369   elif /sbin/hinv | grep CPU | grep R5000 >/dev/null 2>&1; then
370     gmxcpu=r5000
371   else
372     gmxcpu=""
373   fi
374   ;;
375
376 sparc*-solaris*)
377   if /usr/sbin/prtconf | grep UltraSPARC-III >/dev/null 2>&1; then
378     gmxcpu=ultrasparc3
379   elif /usr/sbin/prtconf | grep UltraSPARC-IIi >/dev/null 2>&1; then
380     gmxcpu=ultrasparc2i
381   elif /usr/sbin/prtconf | grep UltraSPARC-II >/dev/null 2>&1; then
382     gmxcpu=ultrasparc2
383   elif /usr/sbin/prtconf | grep UltraSPARC >/dev/null 2>&1; then
384     gmxcpu=ultrasparc
385   else
386     gmxcpu=""
387   fi
388   ;;
389 *)
390   gmxcpu=""
391   ;;
392
393 esac
394 ])
395
396
397
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],
408 [
409 AC_REQUIRE([AC_PROG_CC])
410 AC_REQUIRE([AC_PROG_F77])
411 AC_REQUIRE([AC_CANONICAL_HOST])
412
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.
417
418 cc_vendor="unknown"
419
420 case "${host_cpu}-${host_os}" in
421
422   *-solaris2*) 
423     case "${gmxcpu}" in
424       ultrasparc3*)
425         xCFLAGS="-fast -xO5 -xtarget=ultra3 -fsimple=2 -fnonstd -dalign"
426         xFFLAGS=$xCFLAGS
427         ;;
428       ultrasparc2i*)
429         xCFLAGS="-fast -xO5 -xtarget=ultra2i -fsimple=2 -fnonstd -dalign"
430         xFFLAGS=$xCFLAGS
431         ;;
432       ultrasparc2*)
433         xCFLAGS="-fast -xO5 -xtarget=ultra2 -fsimple=2 -fnonstd -dalign"
434         xFFLAGS=$xCFLAGS
435         ;;
436       ultrasparc*)
437         xCFLAGS="-fast -xO5 -xtarget=ultra -fsimple=2 -fnonstd -dalign"
438         xFFLAGS=$xCFLAGS
439         ;;
440       *)
441         xCFLAGS="-native -fast -xO5 -fsimple=2 -fnonstd -dalign"
442         xFFLAGS=$xCFLAGS
443         ;;
444     esac
445     ;;
446
447   *-hpux*)  
448     xCFLAGS="-Ae +O3 +Oall"
449     xFFLAGS=$xCFLAGS
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.
452     ;;
453
454   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...
458
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.
462
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...
467
468    if $CC -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
469      xCFLAGS="-O3 -w"
470      xASFLAGS=$xCFLAGS
471      ac_cv_prog_gcc="no"        
472    fi  
473    if $F77 -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
474      xFFLAGS="-O3 -w90 -w95 -w"
475      ac_cv_prog_g77="no"
476    fi  
477    # PORTME 2. Check for intel compilers when we get our hands on one!
478    ;;   
479   *-aix*)
480     # dont use inter-procedure analysis for the innerloops - they take
481     # forever to compile with it, and it doesnt help at all.
482
483     # use 8 segments (max 2Gb) instead of 1 (max 256Meg) by default.
484     xLDFLAGS="$xLDFLAGS -bmaxdata:0x80000000"
485     case "${gmxcpu}" in
486       power5*)
487         xCFLAGS="-O3 -qarch=pwr5 -qtune=pwr5 -qmaxmem=16384"
488         xFFLAGS="-O3 -Q -qarch=pwr5 -qtune=pwr5 -qmaxmem=16384 -qhot -qnoipa"
489         ;;
490       power4*)
491         xCFLAGS="-O3 -qarch=pwr4 -qtune=pwr4 -qmaxmem=16384"
492         xFFLAGS="-O3 -Q -qarch=pwr4 -qtune=pwr4 -qmaxmem=16384 -qhot -qnoipa"
493         ;;
494       power3*)
495         xCFLAGS="-O3 -qarch=pwr3 -qtune=pwr3 -qmaxmem=16384"
496         xFFLAGS="-O3 -Q -qarch=pwr3 -qtune=pwr3 -qmaxmem=16384 -qhot -qnoipa"
497         ;;
498       power2*)
499         xCFLAGS="-O3 -qarch=pwr2 -qtune=pwr2 -qmaxmem=16384"
500         xFFLAGS="-O3 -Q -qarch=pwr2 -qtune=pwr2 -qmaxmem=16384 -qhot -qnoipa"
501         ;;
502       power)
503         xCFLAGS="-O3 -qarch=pwr -qtune=pwr -qmaxmem=16384"
504         xFFLAGS="-O3 -Q -qarch=pwr -qtune=pwr -qmaxmem=16384 -qhot -qnoipa"
505         ;;
506       ppc604)
507         xCFLAGS="-O3 -qarch=604 -qtune=604 -qmaxmem=16384"
508         xFFLAGS="-O3 -Q -qarch=604 -qtune=604 -qmaxmem=16384 -qhot"
509         ;;
510       ppc603)
511         xCFLAGS="-O3 -qarch=603 -qtune=603 -qmaxmem=16384"
512         xFFLAGS="-O3 -Q -qarch=603 -qtune=603 -qmaxmem=16384 -qhot"
513         ;;
514       rs64a)
515         xCFLAGS="-O3 -qarch=rs64a -qtune=rs64a -qmaxmem=16384"
516         xFFLAGS="-O3 -Q -qarch=rs64a -qtune=rs64a -qmaxmem=16384 -qhot"
517         ;;
518       rs64b)
519         xCFLAGS="-O3 -qarch=rs64b -qtune=rs64b -qmaxmem=16384"
520         xFFLAGS="-O3 -Q -qarch=rs64b -qtune=rs64b -qmaxmem=16384 -qhot"
521         ;;
522       rs64c)
523         xCFLAGS="-O3 -qarch=rs64c -qtune=rs64c -qmaxmem=16384"
524         xFFLAGS="-O3 -Q -qarch=rs64c -qtune=rs64c -qmaxmem=16384 -qhot"
525         ;;
526       *)
527         xCFLAGS="-O3 -qmaxmem=16384"
528         xFFLAGS="-O3 -Q -qmaxmem=16384 -qhot"
529         ;;
530     esac
531     ;;
532
533   powerpc*-darwin* | powerpc*-linux* )
534     # Check for IBM compilers on OS X     
535     if $CC 2>&1 | grep 'IBM' > /dev/null 2>&1; then
536        xCFLAGS="-O4 -Q=500 -qaltivec -qnoipa"
537     fi
538     if $F77 -V 2>&1 | grep 'IBM' > /dev/null 2>&1; then
539       xFFLAGS="-O4 -Q=500 -qnoipa"
540     fi
541     ;;
542
543   mips*-irix*)
544     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"
545     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"
546     
547     if $CC -version | grep "Version 7.1" > /dev/null 2>&1; then
548       xCFLAGS="$xCFLAGS -GCM:aggressive_speculation -GCM:array_speculation" 
549       xFFLAGS="$xFFLAGS -GCM:aggressive_speculation -GCM:array_speculation" 
550     fi
551
552     if $CC -version | grep "Version 7.3" > /dev/null 2>&1; then
553       xCFLAGS="$xCFLAGS -SWP:heur=fdms,nhms,fdnms" 
554       xFFLAGS="$xFFLAGS -SWP:heur=fdms,nhms,fdnms" 
555     fi
556     xLDFLAGS="-woff 84"
557
558     # I have removed -n32 from the flags since it causes too many problems.
559     # New SGIs should use the right objects automatically, and it's not
560     # worth the hassle for 5-10 year old machines...  
561
562     case "${gmxcpu}" in
563       r12000*)
564         xCFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xCFLAGS"
565         xFFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xFFLAGS"
566         xLDFLAGS="$IRIXOBJFLAG -r12000 -mips4 $xLDFLAGS"
567         ;;
568       r10000*)
569         xCFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xCFLAGS"
570         xFFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xFFLAGS"
571         xLDFLAGS="$IRIXOBJFLAG -r10000 -mips4 $xLDFLAGS"
572         ;;
573       r8000*)
574         xCFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xCFLAGS"
575         xFFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xFFLAGS"
576         xLDFLAGS="$IRIXOBJFLAG -r8000 -mips4 $xLDFLAGS"
577         ;;
578       r5000*)
579         xCFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xCFLAGS"
580         xFFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xFFLAGS"
581         xLDFLAGS="$IRIXOBJFLAG -r5000 -mips4 $xLDFLAGS"
582         ;;
583       *)                
584         xCFLAGS="$IRIXOBJFLAG $xCFLAGS"
585         xFFLAGS="$IRIXOBJFLAG $xFFLAGS"
586         xLDFLAGS="$IRIXOBJFLAG $xLDFLAGS"
587         ;;
588     esac
589     ;;
590
591   alpha*-osf*) 
592      # NB: -arch implies -tune according to the cc manual.
593      # We dont use -ifo since it conflicts with dependency
594      # generation on old versions of the compiler.
595     case "${host_cpu}" in
596       alphaev*)
597         # extract the processor from cpu type (e.g. alphaev56 -> ev56)
598         evtype=`echo ${host_cpu} | sed 's/alpha//'`
599         xCFLAGS="-std1 -fast -O4 -no_ifo -arch $evtype -unroll 2 -fp_reorder"
600         xFFLAGS="$xCFLAGS -assume noaccuracy_sensitive"
601         xASFLAGS="-O4 -no_ifo -arch $evtype"
602         xLDFLAGS="-O4"
603         ;;
604       *)
605         xCFLAGS="-std1 -fast -O4 -no_ifo -arch host -unroll 2 -fp_reorder"
606         xFFLAGS="$xCFLAGS -assume noaccuracy_sensitive"
607         xASFLAGS="-O4 -no_ifo -arch host"
608         xLDFLAGS="-O4"
609         ;;
610     esac
611     ;;
612
613   alpha*-linux*)
614     case "${host_cpu}" in
615       alphaev*)
616         # extract the processor from cpu type (e.g. alphaev56 -> ev56)
617         evtype=`echo ${host_cpu} | sed 's/alpha//'`
618         tmpCFLAGS="-std1 -fast -O4 -no_ifo -arch $evtype -unroll 2 -fp_reorder"
619         tmpFFLAGS="$tmpCFLAGS -assume noaccuracy_sensitive"
620         tmpASFLAGS="-O4 -no_ifo -arch $evtype"
621         tmpLDFLAGS="-O4"
622         ;;
623       *)
624         tmpCFLAGS="-std1 -fast -O4 -no_ifo -arch host -unroll 2 -fp_reorder"
625         tmpFFLAGS="$tmpCFLAGS -assume noaccuracy_sensitive"
626         tmpASFLAGS="-O4 -no_ifo -arch host"
627         tmpLDFLAGS="-O4"
628         ;;
629     esac
630         # Compaq sometimes uses -version and sometimes -V
631         # Not 100% sure if ccc always has -V and F77 -version, so 
632         # we check both alternatives to be sure.
633     if (($CC -V 2>&1 | grep ompaq > /dev/null) || 
634         ($CC -version 2>&1 | grep ompaq > /dev/null)); then
635       xCFLAGS="$tmpCFLAGS"
636       xASFLAGS="$tmpASFLAGS"
637       cc_vendor="Compaq"
638     fi
639     if test "$enable_fortran" = "yes"; then
640       if (($F77 -V 2>&1 | grep ompaq > /dev/null) || 
641           ($F77 -version 2>&1 | grep ompaq > /dev/null)); then
642         xFFLAGS="$tmpFFLAGS"
643       fi
644     fi
645     ;;
646
647   *-*)
648     # most of these systems (e.g. linux, FreeBSD) use gcc which is treated
649     # further down, but check for some specific compilers.
650     # Portland group compilers:
651     if $CC -V 2>  /dev/null | grep ortland > /dev/null 2>&1; then
652       case "${host_cpu}" in
653         i586)
654           pgiopt="-tp p5" 
655           ;;
656         i686)
657           pgiopt="-tp p6" 
658           ;;
659       esac
660       xCFLAGS="$pgiopt -fast -pc 32"
661       xASFLAGS="$xCFLAGS"
662     fi
663     if test "$enable_fortran" = "yes"; then
664       if $F77 -version 2>  /dev/null | grep Portland > /dev/null 2>&1; then
665         xFFLAGS="$xCFLAGS"
666       fi        
667     fi
668
669     # Intel compilers
670     # The Intel compilers are _really_ chatty when it comes to
671     # warnings, and also echo a lot of incomprehensible internal
672     # stuff (not gromacs-related) when we are using assembly.
673     # For this reason we disable warnings...
674
675     if $CC -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
676       ac_cv_prog_gcc="no"       
677       case "${host_cpu}" in
678         x86_64)
679           xCFLAGS="-O3 -tpp7 -axW -ip -w"
680           ;;
681         i686)
682           xCFLAGS="-O3 -tpp6 -axK -ip -w" 
683           ;;
684         ia64)
685           xCFLAGS="-O3 -ip -w" 
686           ;;
687       esac
688       xASFLAGS="$xCFLAGS"
689       # search in /usr/local/include too, just as gcc does. (handy for fftw)
690       CPPFLAGS="$CPPFLAGS -I/usr/local/include"
691     fi
692     if test "$enable_fortran" = "yes"; then
693       if $F77 -V 2>&1 | grep 'Intel' > /dev/null 2>&1; then
694         ac_cv_prog_g77="no"
695         xFFLAGS="$xCFLAGS -w90 -w95"
696       fi        
697     fi
698         
699     ;;
700 esac    
701 # Phew, end of all those operating systems and processors!                      
702
703 # use default flags for gcc/g77 on all systems
704 if test $ac_cv_prog_gcc = yes; then
705   ACX_CHECK_CC_FLAGS(-O3,o3,xCFLAGS="$xCFLAGS -O3")
706   xCFLAGS="$xCFLAGS -fomit-frame-pointer -finline-functions -Wall -Wno-unused"
707   # For alpha axp assembly we need the preprocessor to tell elf from ecoff.
708   # The compaq ccc compiler only knows .s files, and always runs them
709   # through cpp. We support this by telling gcc to preprocess .s files.
710   case "${host_cpu}" in
711     alphaev*)
712       xASFLAGS="$xCFLAGS -x assembler-with-cpp"
713       ;;
714     *)
715       ;;
716   esac
717 fi
718   
719 if test $enable_fortran = yes; then
720   if test $ac_cv_prog_g77 = yes; then
721     xFFLAGS="-O3 -ffast-math -fomit-frame-pointer -finline-functions -funroll-all-loops -Wall -Wno-unused"
722     # -malign-double for f77 on x86 systems - haven't checked that this works yet.
723     #ACX_CHECK_F77_FLAGS(-malign-double,align_double,xFFLAGS="$xFFLAGS -malign-double")
724   fi
725 fi
726
727 CPU_FLAGS=""
728
729 if test "$GCC" = "yes"; then
730   # try to guess correct CPU flags, at least for powerpc linux
731   case "${host_cpu}" in
732     # i586/i686 cpu flags don't improve speed, thus no need to use them.
733     # don't check f77 separately - we assume f77 and gcc are similar      
734     powerpc*)
735         # don't use the separate apple cpp on OS X
736 #        ACX_CHECK_CC_FLAGS(-no-cpp-precomp,no_cpp_precomp,xCFLAGS="$xCFLAGS -no-cpp-precomp")
737         if test "$enable_ppc_altivec" = "yes"; then
738             # Apple (darwin) uses a hacked version of gcc with special flags 
739             case "${host_os}" in
740             darwin*)                            
741                 ACX_CHECK_CC_FLAGS(-faltivec,faltivec,xCFLAGS="$xCFLAGS -faltivec")
742                 ;;
743             *)
744                 # Need to update CPPFLAGS too, since we later call 
745                 # AC_CHECK_HEADER for altivec.h, and then autoconf complains
746                 # if it cannot process it with the preprocessor.
747                 ACX_CHECK_CC_FLAGS(-maltivec,maltivec,xCFLAGS="$xCFLAGS -maltivec" CPPFLAGS="$CPPFLAGS -maltivec")
748                 ACX_CHECK_CC_FLAGS(-mabi=altivec,mabialtivec,xCFLAGS="$xCFLAGS -mabi=altivec" CPPFLAGS="$CPPFLAGS -mabi=altivec")
749                 ;;
750             esac 
751         fi
752         # -funroll-all-loops exposes a bug in altivec-enabled gcc-2.95.3
753         # on powerpc, so we only enable it on other platforms or gcc3.    
754         # The gcc 2.95 instruction scheduler also destroys our handcoded altivec,
755         # so disable instruction scheduling on 2.95
756         if $CC --version 2>&1 | grep '2.95' > /dev/null 2>&1; then
757           echo "*****************************************************************************"
758           echo "* IMPORTANT INFO: You are using gcc-2.95.x on PowerPC. This compiler works, *"
759           echo "* but you will get better performance with gcc-3.3 or later. If you are     *"
760           echo "* running OS X, download the latest devtools from http://developer.apple.com*"
761           echo "*****************************************************************************"
762           ACX_CHECK_CC_FLAGS(-fno-schedule-insns,fno_schedule_insns,xCFLAGS="$xCFLAGS -fno-schedule-insns")
763         fi
764         ACX_CHECK_CC_FLAGS(-mcpu=7450,m_cpu_7450,CPU_FLAGS="-mcpu=7450")
765         ACX_CHECK_CC_FLAGS(-mtune=970,m_tune_970,CPU_FLAGS="$CPU_FLAGS -mtune=970")
766         if test -z "$CPU_FLAGS"; then
767           ACX_CHECK_CC_FLAGS(-mcpu=powerpc,m_cpu_powerpc,CPU_FLAGS="-mcpu=powerpc")
768         fi      
769       ;;
770    x86_64 | i?86)
771         ACX_CHECK_CC_FLAGS(-msse2,msse2,xCFLAGS="$xCFLAGS -msse2")
772       ;;
773    esac
774    ACX_CHECK_CC_FLAGS(-funroll-all-loops,funroll_all_loops,xCFLAGS="$xCFLAGS -funroll-all-loops")
775    ACX_CHECK_CC_FLAGS(-std=gnu99,stdgnu99,xCFLAGS="$xCFLAGS -std=gnu99")
776    # C99 requires strict IEEE 754 floating point compliance. Since gcc>=4.5.0 
777    # this is on when asking for c99, potentially impacting floating point 
778    # performance, so we turn it off here.
779    ACX_CHECK_CC_FLAGS(-fexcess-precision=fast, fexcess_precision_fast, 
780                       xCFLAGS="$xCFLAGS -fexcess-precision=fast")
781 fi
782
783 if test "$enable_debug" = "yes"; then
784   xCFLAGS="$xCFLAGS -g"
785 fi
786
787 if test -n "$CPU_FLAGS"; then
788   xCFLAGS="$xCFLAGS $CPU_FLAGS"
789   xFFLAGS="$xFFLAGS $CPU_FLAGS"
790   xASFLAGS="$xASFLAGS $CPU_FLAGS"
791 fi
792
793 # Now check if the user provided anything special for C or fortran...
794 # Not nice to have checked everything then, but otherwise we would have
795 # to use entirely separate checks for C and fortran flags, doubling the code.
796 if test "$ac_test_CFLAGS" != "set"; then
797   CFLAGS="$xCFLAGS"
798   # Use the extra link optimization flags on e.g. irix only when
799   # we are using our own C compiler flags
800   LDFLAGS="$LDFLAGS $xLDFLAGS"
801   
802   if test -z "$CFLAGS"; then
803     echo "********************************************************************"
804     echo "* Note: We have not optimized the C compiler flags on your target  *"
805     echo "* yet, but the default CFLAGS=-O3 should be OK in most cases.      *"
806     echo "* You can override this by setting the CFLAGS environment variable.*"
807     echo "*******************************************************************"
808     CFLAGS="-O3"
809   fi
810   ACX_CHECK_CC_FLAGS(${CFLAGS}, guessed_cflags, , [
811     echo "*******************************************************************"
812     echo "* Sorry, these optimization settings don't seem to work for       *"
813     echo "* your C compiler. Use make CFLAGS=..., or edit the top Makefile. *"
814     echo "*******************************************************************"
815     CFLAGS=""
816   ])
817 else
818   echo "******************************************"
819   echo "* Using CFLAGS from environment variable *"
820   echo "******************************************"
821 fi
822
823 if test "$enable_fortran" = "yes"; then 
824   if test "$ac_test_FFLAGS" != "set"; then
825     FFLAGS="$xFFLAGS"
826     if test -z "$FFLAGS"; then
827     echo "********************************************************************"
828     echo "* Note: We have not optimized the Fortran compiler flags on your   *"
829     echo "* target, but the default FFLAGS=-O3 should be OK in most cases.   *"
830     echo "* You can override this by setting the CFLAGS environment variable.*"
831     echo "********************************************************************"
832       FFLAGS="-O3"
833     fi
834     ACX_CHECK_F77_FLAGS(${FFLAGS}, guessed_fflags, , [
835       echo "*******************************************************************"
836       echo "* Sorry, these optimization settings don't seem to work for       *"
837       echo "* your f77 compiler. Use make FFLAGS=.., or edit the top Makefile.*"
838       echo "*******************************************************************"
839       FFLAGS=""
840     ])
841   else
842     echo "******************************************"
843     echo "* Using FFLAGS from environment variable *"
844     echo "******************************************"
845   fi
846 fi
847 # Be silent for assembly flags, they are usually not important anyway
848 if test "${ASFLAGS+set}" != set; then
849   if test "${xASFLAGS+set}" != set; then
850     xASFLAGS="$CFLAGS"
851   fi
852   ASFLAGS="$xASFLAGS"
853 fi
854
855 ])
856
857
858 dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
859 dnl
860 dnl This macro figures out how to build C programs using POSIX
861 dnl threads. It sets the PTHREAD_LIBS output variable to the threads
862 dnl library and linker flags, and the PTHREAD_CFLAGS output variable
863 dnl to any special C compiler flags that are needed. (The user can also
864 dnl force certain compiler flags/libs to be tested by setting these
865 dnl environment variables.)
866 dnl
867 dnl Also sets PTHREAD_CC to any special C compiler that is needed for
868 dnl multi-threaded programs (defaults to the value of CC otherwise).
869 dnl (This is necessary on AIX to use the special cc_r compiler alias.)
870 dnl
871 dnl If you are only building threads programs, you may wish to
872 dnl use these variables in your default LIBS, CFLAGS, and CC:
873 dnl
874 dnl LIBS="$PTHREAD_LIBS $LIBS"
875 dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
876 dnl CC="$PTHREAD_CC"
877 dnl
878 dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
879 dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE
880 dnl to that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
881 dnl
882 dnl ACTION-IF-FOUND is a list of shell commands to run if a threads
883 dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands
884 dnl to run it if it is not found. If ACTION-IF-FOUND is not specified,
885 dnl the default action will define HAVE_PTHREAD.
886 dnl
887 dnl Please let the authors know if this macro fails on any platform,
888 dnl or if you have any other suggestions or comments. This macro was
889 dnl based on work by SGJ on autoconf scripts for FFTW (www.fftw.org)
890 dnl (with help from M. Frigo), as well as ac_pthread and hb_pthread
891 dnl macros posted by AFC to the autoconf macro repository. We are also
892 dnl grateful for the helpful feedback of numerous users.
893 dnl
894 dnl @author Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro Forero Cuervo <bachue@bachue.com>
895
896 AC_DEFUN([ACX_PTHREAD], [
897 AC_REQUIRE([AC_CANONICAL_HOST])
898 AC_LANG_SAVE
899 AC_LANG_C
900 acx_pthread_ok=no
901
902 # We used to check for pthread.h first, but this fails if pthread.h
903 # requires special compiler flags (e.g. on True64 or Sequent).
904 # It gets checked for in the link test anyway.
905
906 # First of all, check if the user has set any of the PTHREAD_LIBS,
907 # etcetera environment variables, and if threads linking works using
908 # them:
909 if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
910         save_CFLAGS="$CFLAGS"
911         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
912         save_LIBS="$LIBS"
913         LIBS="$PTHREAD_LIBS $LIBS"
914         AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
915         AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
916         AC_MSG_RESULT($acx_pthread_ok)
917         if test x"$acx_pthread_ok" = xno; then
918                 PTHREAD_LIBS=""
919                 PTHREAD_CFLAGS=""
920         fi
921         LIBS="$save_LIBS"
922         CFLAGS="$save_CFLAGS"
923 fi
924
925 # We must check for the threads library under a number of different
926 # names; the ordering is very important because some systems
927 # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
928 # libraries is broken (non-POSIX).
929
930 # Create a list of thread flags to try. Items starting with a "-" are
931 # C compiler flags, and other items are library names, except for "none"
932 # which indicates that we try without any flags at all.
933
934 acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt"
935
936 # The ordering *is* (sometimes) important. Some notes on the
937 # individual items follow:
938
939 # pthreads: AIX (must check this before -lpthread)
940 # none: in case threads are in libc; should be tried before -Kthread and
941 # other compiler flags to prevent continual compiler warnings
942 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
943 # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
944 # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
945 # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
946 # -pthreads: Solaris/gcc
947 # -mthreads: Mingw32/gcc, Lynx/gcc
948 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
949 # doesn't hurt to check since this sometimes defines pthreads too;
950 # also defines -D_REENTRANT)
951 # pthread: Linux, etcetera
952 # --thread-safe: KAI C++
953
954 case "${host_cpu}-${host_os}" in
955         *solaris*)
956
957         # On Solaris (at least, for some versions), libc contains stubbed
958         # (non-functional) versions of the pthreads routines, so link-based
959         # tests will erroneously succeed. (We need to link with -pthread or
960         # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
961         # a function called by this macro, so we could check for that, but
962         # who knows whether they'll stub that too in a future libc.) So,
963         # we'll just look for -pthreads and -lpthread first:
964
965         acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
966         ;;
967 esac
968
969 if test x"$acx_pthread_ok" = xno; then
970 for flag in $acx_pthread_flags; do
971
972         case $flag in
973                 none)
974                 AC_MSG_CHECKING([whether pthreads work without any flags])
975                 ;;
976
977                 -*)
978                 AC_MSG_CHECKING([whether pthreads work with $flag])
979                 PTHREAD_CFLAGS="$flag"
980                 ;;
981
982                 *)
983                 AC_MSG_CHECKING([for the pthreads library -l$flag])
984                 PTHREAD_LIBS="-l$flag"
985                 ;;
986         esac
987
988         save_LIBS="$LIBS"
989         save_CFLAGS="$CFLAGS"
990         LIBS="$PTHREAD_LIBS $LIBS"
991         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
992
993         # Check for various functions. We must include pthread.h,
994         # since some functions may be macros. (On the Sequent, we
995         # need a special flag -Kthread to make this header compile.)
996         # We check for pthread_join because it is in -lpthread on IRIX
997         # while pthread_create is in libc. We check for pthread_attr_init
998         # due to DEC craziness with -lpthreads. We check for
999         # pthread_cleanup_push because it is one of the few pthread
1000         # functions on Solaris that doesn't have a non-functional libc stub.
1001         # We try pthread_create on general principles.
1002         AC_TRY_LINK([#include <pthread.h>],
1003                     [pthread_t th; pthread_join(th, 0);
1004                      pthread_attr_init(0); pthread_cleanup_push(0, 0);
1005                      pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
1006                     [acx_pthread_ok=yes])
1007
1008         LIBS="$save_LIBS"
1009         CFLAGS="$save_CFLAGS"
1010
1011         AC_MSG_RESULT($acx_pthread_ok)
1012         if test "x$acx_pthread_ok" = xyes; then
1013                 break;
1014         fi
1015
1016         PTHREAD_LIBS=""
1017         PTHREAD_CFLAGS=""
1018 done
1019 fi
1020
1021 # Various other checks:
1022 if test "x$acx_pthread_ok" = xyes; then
1023         save_LIBS="$LIBS"
1024         LIBS="$PTHREAD_LIBS $LIBS"
1025         save_CFLAGS="$CFLAGS"
1026         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
1027
1028         # Detect AIX lossage: threads are created detached by default
1029         # and the JOINABLE attribute has a nonstandard name (UNDETACHED).
1030         AC_MSG_CHECKING([for joinable pthread attribute])
1031         AC_TRY_LINK([#include <pthread.h>],
1032                     [int attr=PTHREAD_CREATE_JOINABLE;],
1033                     ok=PTHREAD_CREATE_JOINABLE, ok=unknown)
1034         if test x"$ok" = xunknown; then
1035                 AC_TRY_LINK([#include <pthread.h>],
1036                             [int attr=PTHREAD_CREATE_UNDETACHED;],
1037                             ok=PTHREAD_CREATE_UNDETACHED, ok=unknown)
1038         fi
1039         if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then
1040                 AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok,
1041                           [Define to the necessary symbol if this constant
1042                            uses a non-standard name on your system.])
1043         fi
1044         AC_MSG_RESULT(${ok})
1045         if test x"$ok" = xunknown; then
1046                 AC_MSG_WARN([we do not know how to create joinable pthreads])
1047         fi
1048
1049         AC_MSG_CHECKING([if more special flags are required for pthreads])
1050         flag=no
1051         case "${host_cpu}-${host_os}" in
1052                 *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";;
1053                 *solaris* | alpha*-osf*) flag="-D_REENTRANT";;
1054         esac
1055         AC_MSG_RESULT(${flag})
1056         if test "x$flag" != xno; then
1057                 PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
1058         fi
1059
1060         LIBS="$save_LIBS"
1061         CFLAGS="$save_CFLAGS"
1062
1063         # More AIX lossage: must compile with cc_r
1064         AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
1065 else
1066         PTHREAD_CC="$CC"
1067 fi
1068
1069 AC_SUBST(PTHREAD_LIBS)
1070 AC_SUBST(PTHREAD_CFLAGS)
1071 AC_SUBST(PTHREAD_CC)
1072
1073 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
1074 if test x"$acx_pthread_ok" = xyes; then
1075         ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
1076         :
1077 else
1078         acx_pthread_ok=no
1079         $2
1080 fi
1081 AC_LANG_RESTORE
1082 ])dnl ACX_PTHREAD 
1083
1084
1085
1086
1087
1088 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
1089 # -----------------------------------------------------------
1090 # If this macro is not defined by Autoconf, define it here.
1091 m4_ifdef([AC_PROVIDE_IFELSE],
1092          [],
1093          [m4_define([AC_PROVIDE_IFELSE],
1094                  [m4_ifdef([AC_PROVIDE_$1],
1095                            [$2], [$3])])])
1096
1097
1098 # AC_PROG_LIBTOOL
1099 # ---------------
1100 AC_DEFUN([AC_PROG_LIBTOOL],
1101 [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
1102 dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
1103 dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
1104   AC_PROVIDE_IFELSE([AC_PROG_CXX],
1105     [AC_LIBTOOL_CXX],
1106     [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
1107   ])])
1108 dnl And a similar setup for Fortran 77 support
1109   AC_PROVIDE_IFELSE([AC_PROG_F77],
1110     [AC_LIBTOOL_F77],
1111     [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
1112 ])])
1113
1114 dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
1115 dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
1116 dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
1117   AC_PROVIDE_IFELSE([AC_PROG_GCJ],
1118     [AC_LIBTOOL_GCJ],
1119     [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
1120       [AC_LIBTOOL_GCJ],
1121       [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
1122         [AC_LIBTOOL_GCJ],
1123       [ifdef([AC_PROG_GCJ],
1124              [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1125        ifdef([A][M_PROG_GCJ],
1126              [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1127        ifdef([LT_AC_PROG_GCJ],
1128              [define([LT_AC_PROG_GCJ],
1129                 defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
1130 ])])# AC_PROG_LIBTOOL
1131
1132
1133 # _AC_PROG_LIBTOOL
1134 # ----------------
1135 AC_DEFUN([_AC_PROG_LIBTOOL],
1136 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
1137 AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
1138 AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
1139 AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
1140
1141 # This can be used to rebuild libtool when needed
1142 LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
1143
1144 # Always use our own libtool.
1145 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
1146 AC_SUBST(LIBTOOL)dnl
1147
1148 # Prevent multiple expansion
1149 define([AC_PROG_LIBTOOL], [])
1150 ])# _AC_PROG_LIBTOOL
1151
1152
1153 # AC_LIBTOOL_SETUP
1154 # ----------------
1155 AC_DEFUN([AC_LIBTOOL_SETUP],
1156 [AC_PREREQ(2.50)dnl
1157 AC_REQUIRE([AC_ENABLE_SHARED])dnl
1158 AC_REQUIRE([AC_ENABLE_STATIC])dnl
1159 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
1160 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1161 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1162 AC_REQUIRE([AC_PROG_CC])dnl
1163 AC_REQUIRE([AC_PROG_LD])dnl
1164 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
1165 AC_REQUIRE([AC_PROG_NM])dnl
1166
1167 AC_REQUIRE([AC_PROG_LN_S])dnl
1168 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
1169 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
1170 AC_REQUIRE([AC_OBJEXT])dnl
1171 AC_REQUIRE([AC_EXEEXT])dnl
1172 dnl
1173
1174 AC_LIBTOOL_SYS_MAX_CMD_LEN
1175 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
1176 AC_LIBTOOL_OBJDIR
1177
1178 AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
1179 _LT_AC_PROG_ECHO_BACKSLASH
1180
1181 case $host_os in
1182 aix3*)
1183   # AIX sometimes has problems with the GCC collect2 program.  For some
1184   # reason, if we set the COLLECT_NAMES environment variable, the problems
1185   # vanish in a puff of smoke.
1186   if test "X${COLLECT_NAMES+set}" != Xset; then
1187     COLLECT_NAMES=
1188     export COLLECT_NAMES
1189   fi
1190   ;;
1191 esac
1192
1193 # Sed substitution that helps us do robust quoting.  It backslashifies
1194 # metacharacters that are still active within double-quoted strings.
1195 Xsed='sed -e 1s/^X//'
1196 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
1197
1198 # Same as above, but do not quote variable references.
1199 [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
1200
1201 # Sed substitution to delay expansion of an escaped shell variable in a
1202 # double_quote_subst'ed string.
1203 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
1204
1205 # Sed substitution to avoid accidental globbing in evaled expressions
1206 no_glob_subst='s/\*/\\\*/g'
1207
1208 # Constants:
1209 rm="rm -f"
1210
1211 # Global variables:
1212 default_ofile=libtool
1213 can_build_shared=yes
1214
1215 # All known linkers require a `.a' archive for static linking (except MSVC,
1216 # which needs '.lib').
1217 libext=a
1218 ltmain="$ac_aux_dir/ltmain.sh"
1219 ofile="$default_ofile"
1220 with_gnu_ld="$lt_cv_prog_gnu_ld"
1221
1222 AC_CHECK_TOOL(AR, ar, false)
1223 AC_CHECK_TOOL(RANLIB, ranlib, :)
1224 AC_CHECK_TOOL(STRIP, strip, :)
1225
1226 old_CC="$CC"
1227 old_CFLAGS="$CFLAGS"
1228
1229 # Set sane defaults for various variables
1230 test -z "$AR" && AR=ar
1231 test -z "$AR_FLAGS" && AR_FLAGS=cru
1232 test -z "$AS" && AS=as
1233 test -z "$CC" && CC=cc
1234 test -z "$LTCC" && LTCC=$CC
1235 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
1236 test -z "$DLLTOOL" && DLLTOOL=dlltool
1237 test -z "$LD" && LD=ld
1238 test -z "$LN_S" && LN_S="ln -s"
1239 test -z "$MAGIC_CMD" && MAGIC_CMD=file
1240 test -z "$NM" && NM=nm
1241 test -z "$SED" && SED=sed
1242 test -z "$OBJDUMP" && OBJDUMP=objdump
1243 test -z "$RANLIB" && RANLIB=:
1244 test -z "$STRIP" && STRIP=:
1245 test -z "$ac_objext" && ac_objext=o
1246
1247 # Determine commands to create old-style static archives.
1248 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
1249 old_postinstall_cmds='chmod 644 $oldlib'
1250 old_postuninstall_cmds=
1251
1252 if test -n "$RANLIB"; then
1253   case $host_os in
1254   openbsd*)
1255     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1256     ;;
1257   *)
1258     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1259     ;;
1260   esac
1261   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1262 fi
1263
1264 _LT_CC_BASENAME([$compiler])
1265
1266 # Only perform the check for file, if the check method requires it
1267 case $deplibs_check_method in
1268 file_magic*)
1269   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
1270     AC_PATH_MAGIC
1271   fi
1272   ;;
1273 esac
1274
1275 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
1276 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1277 enable_win32_dll=yes, enable_win32_dll=no)
1278
1279 AC_ARG_ENABLE([libtool-lock],
1280     [AC_HELP_STRING([--disable-libtool-lock],
1281         [avoid locking (might break parallel builds)])])
1282 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1283
1284 AC_ARG_WITH([pic],
1285     [AC_HELP_STRING([--with-pic],
1286         [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
1287     [pic_mode="$withval"],
1288     [pic_mode=default])
1289 test -z "$pic_mode" && pic_mode=default
1290
1291 # Use C for the default configuration in the libtool script
1292 tagname=
1293 AC_LIBTOOL_LANG_C_CONFIG
1294 _LT_AC_TAGCONFIG
1295 ])# AC_LIBTOOL_SETUP
1296
1297
1298 # _LT_AC_SYS_COMPILER
1299 # -------------------
1300 AC_DEFUN([_LT_AC_SYS_COMPILER],
1301 [AC_REQUIRE([AC_PROG_CC])dnl
1302
1303 # If no C compiler was specified, use CC.
1304 LTCC=${LTCC-"$CC"}
1305
1306 # If no C compiler flags were specified, use CFLAGS.
1307 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
1308
1309 # Allow CC to be a program name with arguments.
1310 compiler=$CC
1311 ])# _LT_AC_SYS_COMPILER
1312
1313
1314 # _LT_CC_BASENAME(CC)
1315 # -------------------
1316 # Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
1317 AC_DEFUN([_LT_CC_BASENAME],
1318 [for cc_temp in $1""; do
1319   case $cc_temp in
1320     compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
1321     distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
1322     \-*) ;;
1323     *) break;;
1324   esac
1325 done
1326 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
1327 ])
1328
1329
1330 # _LT_COMPILER_BOILERPLATE
1331 # ------------------------
1332 # Check for compiler boilerplate output or warnings with
1333 # the simple compiler test code.
1334 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
1335 [ac_outfile=conftest.$ac_objext
1336 printf "$lt_simple_compile_test_code" >conftest.$ac_ext
1337 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1338 _lt_compiler_boilerplate=`cat conftest.err`
1339 $rm conftest*
1340 ])# _LT_COMPILER_BOILERPLATE
1341
1342
1343 # _LT_LINKER_BOILERPLATE
1344 # ----------------------
1345 # Check for linker boilerplate output or warnings with
1346 # the simple link test code.
1347 AC_DEFUN([_LT_LINKER_BOILERPLATE],
1348 [ac_outfile=conftest.$ac_objext
1349 printf "$lt_simple_link_test_code" >conftest.$ac_ext
1350 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1351 _lt_linker_boilerplate=`cat conftest.err`
1352 $rm conftest*
1353 ])# _LT_LINKER_BOILERPLATE
1354
1355
1356 # _LT_AC_SYS_LIBPATH_AIX
1357 # ----------------------
1358 # Links a minimal program and checks the executable
1359 # for the system default hardcoded library path. In most cases,
1360 # this is /usr/lib:/lib, but when the MPI compilers are used
1361 # the location of the communication and MPI libs are included too.
1362 # If we don't find anything, use the default library path according
1363 # to the aix ld manual.
1364 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
1365 [AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1366 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
1367 }'`
1368 # Check for a 64-bit object if we didn't find anything.
1369 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; }
1370 }'`; fi],[])
1371 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1372 ])# _LT_AC_SYS_LIBPATH_AIX
1373
1374
1375 # _LT_AC_SHELL_INIT(ARG)
1376 # ----------------------
1377 AC_DEFUN([_LT_AC_SHELL_INIT],
1378 [ifdef([AC_DIVERSION_NOTICE],
1379              [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1380          [AC_DIVERT_PUSH(NOTICE)])
1381 $1
1382 AC_DIVERT_POP
1383 ])# _LT_AC_SHELL_INIT
1384
1385
1386 # _LT_AC_PROG_ECHO_BACKSLASH
1387 # --------------------------
1388 # Add some code to the start of the generated configure script which
1389 # will find an echo command which doesn't interpret backslashes.
1390 AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
1391 [_LT_AC_SHELL_INIT([
1392 # Check that we are running under the correct shell.
1393 SHELL=${CONFIG_SHELL-/bin/sh}
1394
1395 case X$ECHO in
1396 X*--fallback-echo)
1397   # Remove one level of quotation (which was required for Make).
1398   ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1399   ;;
1400 esac
1401
1402 echo=${ECHO-echo}
1403 if test "X[$]1" = X--no-reexec; then
1404   # Discard the --no-reexec flag, and continue.
1405   shift
1406 elif test "X[$]1" = X--fallback-echo; then
1407   # Avoid inline document here, it may be left over
1408   :
1409 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
1410   # Yippee, $echo works!
1411   :
1412 else
1413   # Restart under the correct shell.
1414   exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1415 fi
1416
1417 if test "X[$]1" = X--fallback-echo; then
1418   # used as fallback echo
1419   shift
1420   cat <<EOF
1421 [$]*
1422 EOF
1423   exit 0
1424 fi
1425
1426 # The HP-UX ksh and POSIX shell print the target directory to stdout
1427 # if CDPATH is set.
1428 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1429
1430 if test -z "$ECHO"; then
1431 if test "X${echo_test_string+set}" != Xset; then
1432 # find a string as large as possible, as long as the shell can cope with it
1433   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1434     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1435     if (echo_test_string=`eval $cmd`) 2>/dev/null &&
1436        echo_test_string=`eval $cmd` &&
1437        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
1438     then
1439       break
1440     fi
1441   done
1442 fi
1443
1444 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1445    echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1446    test "X$echo_testing_string" = "X$echo_test_string"; then
1447   :
1448 else
1449   # The Solaris, AIX, and Digital Unix default echo programs unquote
1450   # backslashes.  This makes it impossible to quote backslashes using
1451   #   echo "$something" | sed 's/\\/\\\\/g'
1452   #
1453   # So, first we look for a working echo in the user's PATH.
1454
1455   lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1456   for dir in $PATH /usr/ucb; do
1457     IFS="$lt_save_ifs"
1458     if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1459        test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1460        echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1461        test "X$echo_testing_string" = "X$echo_test_string"; then
1462       echo="$dir/echo"
1463       break
1464     fi
1465   done
1466   IFS="$lt_save_ifs"
1467
1468   if test "X$echo" = Xecho; then
1469     # We didn't find a better echo, so look for alternatives.
1470     if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
1471        echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
1472        test "X$echo_testing_string" = "X$echo_test_string"; then
1473       # This shell has a builtin print -r that does the trick.
1474       echo='print -r'
1475     elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
1476          test "X$CONFIG_SHELL" != X/bin/ksh; then
1477       # If we have ksh, try running configure again with it.
1478       ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1479       export ORIGINAL_CONFIG_SHELL
1480       CONFIG_SHELL=/bin/ksh
1481       export CONFIG_SHELL
1482       exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1483     else
1484       # Try using printf.
1485       echo='printf %s\n'
1486       if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1487          echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1488          test "X$echo_testing_string" = "X$echo_test_string"; then
1489         # Cool, printf works
1490         :
1491       elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1492            test "X$echo_testing_string" = 'X\t' &&
1493            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1494            test "X$echo_testing_string" = "X$echo_test_string"; then
1495         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1496         export CONFIG_SHELL
1497         SHELL="$CONFIG_SHELL"
1498         export SHELL
1499         echo="$CONFIG_SHELL [$]0 --fallback-echo"
1500       elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1501            test "X$echo_testing_string" = 'X\t' &&
1502            echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1503            test "X$echo_testing_string" = "X$echo_test_string"; then
1504         echo="$CONFIG_SHELL [$]0 --fallback-echo"
1505       else
1506         # maybe with a smaller string...
1507         prev=:
1508
1509         for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1510           if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
1511           then
1512             break
1513           fi
1514           prev="$cmd"
1515         done
1516
1517         if test "$prev" != 'sed 50q "[$]0"'; then
1518           echo_test_string=`eval $prev`
1519           export echo_test_string
1520           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1521         else
1522           # Oops.  We lost completely, so just stick with echo.
1523           echo=echo
1524         fi
1525       fi
1526     fi
1527   fi
1528 fi
1529 fi
1530
1531 # Copy echo and quote the copy suitably for passing to libtool from
1532 # the Makefile, instead of quoting the original, which is used later.
1533 ECHO=$echo
1534 if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1535    ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1536 fi
1537
1538 AC_SUBST(ECHO)
1539 ])])# _LT_AC_PROG_ECHO_BACKSLASH
1540
1541
1542 # _LT_AC_LOCK
1543 # -----------
1544 AC_DEFUN([_LT_AC_LOCK],
1545 [AC_ARG_ENABLE([libtool-lock],
1546     [AC_HELP_STRING([--disable-libtool-lock],
1547         [avoid locking (might break parallel builds)])])
1548 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1549
1550 # Some flags need to be propagated to the compiler or linker for good
1551 # libtool support.
1552 case $host in
1553 ia64-*-hpux*)
1554   # Find out which ABI we are using.
1555   echo 'int i;' > conftest.$ac_ext
1556   if AC_TRY_EVAL(ac_compile); then
1557     case `/usr/bin/file conftest.$ac_objext` in
1558     *ELF-32*)
1559       HPUX_IA64_MODE="32"
1560       ;;
1561     *ELF-64*)
1562       HPUX_IA64_MODE="64"
1563       ;;
1564     esac
1565   fi
1566   rm -rf conftest*
1567   ;;
1568 *-*-irix6*)
1569   # Find out which ABI we are using.
1570   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1571   if AC_TRY_EVAL(ac_compile); then
1572    if test "$lt_cv_prog_gnu_ld" = yes; then
1573     case `/usr/bin/file conftest.$ac_objext` in
1574     *32-bit*)
1575       LD="${LD-ld} -melf32bsmip"
1576       ;;
1577     *N32*)
1578       LD="${LD-ld} -melf32bmipn32"
1579       ;;
1580     *64-bit*)
1581       LD="${LD-ld} -melf64bmip"
1582       ;;
1583     esac
1584    else
1585     case `/usr/bin/file conftest.$ac_objext` in
1586     *32-bit*)
1587       LD="${LD-ld} -32"
1588       ;;
1589     *N32*)
1590       LD="${LD-ld} -n32"
1591       ;;
1592     *64-bit*)
1593       LD="${LD-ld} -64"
1594       ;;
1595     esac
1596    fi
1597   fi
1598   rm -rf conftest*
1599   ;;
1600
1601 x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
1602   # Find out which ABI we are using.
1603   echo 'int i;' > conftest.$ac_ext
1604   if AC_TRY_EVAL(ac_compile); then
1605     case `/usr/bin/file conftest.o` in
1606     *32-bit*)
1607       case $host in
1608         x86_64-*linux*)
1609           LD="${LD-ld} -m elf_i386"
1610           ;;
1611         ppc64-*linux*|powerpc64-*linux*)
1612           LD="${LD-ld} -m elf32ppclinux"
1613           ;;
1614         s390x-*linux*)
1615           LD="${LD-ld} -m elf_s390"
1616           ;;
1617         sparc64-*linux*)
1618           LD="${LD-ld} -m elf32_sparc"
1619           ;;
1620       esac
1621       ;;
1622     *64-bit*)
1623       case $host in
1624         x86_64-*linux*)
1625           LD="${LD-ld} -m elf_x86_64"
1626           ;;
1627         ppc*-*linux*|powerpc*-*linux*)
1628           LD="${LD-ld} -m elf64ppc"
1629           ;;
1630         s390*-*linux*)
1631           LD="${LD-ld} -m elf64_s390"
1632           ;;
1633         sparc*-*linux*)
1634           LD="${LD-ld} -m elf64_sparc"
1635           ;;
1636       esac
1637       ;;
1638     esac
1639   fi
1640   rm -rf conftest*
1641   ;;
1642
1643 *-*-sco3.2v5*)
1644   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1645   SAVE_CFLAGS="$CFLAGS"
1646   CFLAGS="$CFLAGS -belf"
1647   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1648     [AC_LANG_PUSH(C)
1649      AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1650      AC_LANG_POP])
1651   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1652     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1653     CFLAGS="$SAVE_CFLAGS"
1654   fi
1655   ;;
1656 sparc*-*solaris*)
1657   # Find out which ABI we are using.
1658   echo 'int i;' > conftest.$ac_ext
1659   if AC_TRY_EVAL(ac_compile); then
1660     case `/usr/bin/file conftest.o` in
1661     *64-bit*)
1662       case $lt_cv_prog_gnu_ld in
1663       yes*) LD="${LD-ld} -m elf64_sparc" ;;
1664       *)    LD="${LD-ld} -64" ;;
1665       esac
1666       ;;
1667     esac
1668   fi
1669   rm -rf conftest*
1670   ;;
1671
1672 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1673 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
1674   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1675   AC_CHECK_TOOL(AS, as, false)
1676   AC_CHECK_TOOL(OBJDUMP, objdump, false)
1677   ;;
1678   ])
1679 esac
1680
1681 need_locks="$enable_libtool_lock"
1682
1683 ])# _LT_AC_LOCK
1684
1685
1686 # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1687 #               [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1688 # ----------------------------------------------------------------
1689 # Check whether the given compiler option works
1690 AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
1691 [AC_REQUIRE([LT_AC_PROG_SED])
1692 AC_CACHE_CHECK([$1], [$2],
1693   [$2=no
1694   ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1695    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
1696    lt_compiler_flag="$3"
1697    # Insert the option either (1) after the last *FLAGS variable, or
1698    # (2) before a word containing "conftest.", or (3) at the end.
1699    # Note that $ac_compile itself does not contain backslashes and begins
1700    # with a dollar sign (not a hyphen), so the echo should work correctly.
1701    # The option is referenced via a variable to avoid confusing sed.
1702    lt_compile=`echo "$ac_compile" | $SED \
1703    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1704    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1705    -e 's:$: $lt_compiler_flag:'`
1706    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1707    (eval "$lt_compile" 2>conftest.err)
1708    ac_status=$?
1709    cat conftest.err >&AS_MESSAGE_LOG_FD
1710    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1711    if (exit $ac_status) && test -s "$ac_outfile"; then
1712      # The compiler can only warn and ignore the option if not recognized
1713      # So say no if there are warnings other than the usual output.
1714      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1715      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1716      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1717        $2=yes
1718      fi
1719    fi
1720    $rm conftest*
1721 ])
1722
1723 if test x"[$]$2" = xyes; then
1724     ifelse([$5], , :, [$5])
1725 else
1726     ifelse([$6], , :, [$6])
1727 fi
1728 ])# AC_LIBTOOL_COMPILER_OPTION
1729
1730
1731 # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1732 #                          [ACTION-SUCCESS], [ACTION-FAILURE])
1733 # ------------------------------------------------------------
1734 # Check whether the given compiler option works
1735 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
1736 [AC_CACHE_CHECK([$1], [$2],
1737   [$2=no
1738    save_LDFLAGS="$LDFLAGS"
1739    LDFLAGS="$LDFLAGS $3"
1740    printf "$lt_simple_link_test_code" > conftest.$ac_ext
1741    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1742      # The linker can only warn and ignore the option if not recognized
1743      # So say no if there are warnings
1744      if test -s conftest.err; then
1745        # Append any errors to the config.log.
1746        cat conftest.err 1>&AS_MESSAGE_LOG_FD
1747        $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1748        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1749        if diff conftest.exp conftest.er2 >/dev/null; then
1750          $2=yes
1751        fi
1752      else
1753        $2=yes
1754      fi
1755    fi
1756    $rm conftest*
1757    LDFLAGS="$save_LDFLAGS"
1758 ])
1759
1760 if test x"[$]$2" = xyes; then
1761     ifelse([$4], , :, [$4])
1762 else
1763     ifelse([$5], , :, [$5])
1764 fi
1765 ])# AC_LIBTOOL_LINKER_OPTION
1766
1767
1768 # AC_LIBTOOL_SYS_MAX_CMD_LEN
1769 # --------------------------
1770 AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
1771 [# find the maximum length of command line arguments
1772 AC_MSG_CHECKING([the maximum length of command line arguments])
1773 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1774   i=0
1775   teststring="ABCD"
1776
1777   case $build_os in
1778   msdosdjgpp*)
1779     # On DJGPP, this test can blow up pretty badly due to problems in libc
1780     # (any single argument exceeding 2000 bytes causes a buffer overrun
1781     # during glob expansion).  Even if it were fixed, the result of this
1782     # check would be larger than it should be.
1783     lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1784     ;;
1785
1786   gnu*)
1787     # Under GNU Hurd, this test is not required because there is
1788     # no limit to the length of command line arguments.
1789     # Libtool will interpret -1 as no limit whatsoever
1790     lt_cv_sys_max_cmd_len=-1;
1791     ;;
1792
1793   cygwin* | mingw*)
1794     # On Win9x/ME, this test blows up -- it succeeds, but takes
1795     # about 5 minutes as the teststring grows exponentially.
1796     # Worse, since 9x/ME are not pre-emptively multitasking,
1797     # you end up with a "frozen" computer, even though with patience
1798     # the test eventually succeeds (with a max line length of 256k).
1799     # Instead, let's just punt: use the minimum linelength reported by
1800     # all of the supported platforms: 8192 (on NT/2K/XP).
1801     lt_cv_sys_max_cmd_len=8192;
1802     ;;
1803
1804   amigaos*)
1805     # On AmigaOS with pdksh, this test takes hours, literally.
1806     # So we just punt and use a minimum line length of 8192.
1807     lt_cv_sys_max_cmd_len=8192;
1808     ;;
1809
1810   netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1811     # This has been around since 386BSD, at least.  Likely further.
1812     if test -x /sbin/sysctl; then
1813       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1814     elif test -x /usr/sbin/sysctl; then
1815       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1816     else
1817       lt_cv_sys_max_cmd_len=65536       # usable default for all BSDs
1818     fi
1819     # And add a safety zone
1820     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1821     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1822     ;;
1823
1824   interix*)
1825     # We know the value 262144 and hardcode it with a safety zone (like BSD)
1826     lt_cv_sys_max_cmd_len=196608
1827     ;;
1828
1829   osf*)
1830     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1831     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1832     # nice to cause kernel panics so lets avoid the loop below.
1833     # First set a reasonable default.
1834     lt_cv_sys_max_cmd_len=16384
1835     #
1836     if test -x /sbin/sysconfig; then
1837       case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1838         *1*) lt_cv_sys_max_cmd_len=-1 ;;
1839       esac
1840     fi
1841     ;;
1842   sco3.2v5*)
1843     lt_cv_sys_max_cmd_len=102400
1844     ;;
1845   sysv5* | sco5v6* | sysv4.2uw2*)
1846     kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1847     if test -n "$kargmax"; then
1848       lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
1849     else
1850       lt_cv_sys_max_cmd_len=32768
1851     fi
1852     ;;
1853   *)
1854     # If test is not a shell built-in, we'll probably end up computing a
1855     # maximum length that is only half of the actual maximum length, but
1856     # we can't tell.
1857     SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1858     while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
1859                = "XX$teststring") >/dev/null 2>&1 &&
1860             new_result=`expr "X$teststring" : ".*" 2>&1` &&
1861             lt_cv_sys_max_cmd_len=$new_result &&
1862             test $i != 17 # 1/2 MB should be enough
1863     do
1864       i=`expr $i + 1`
1865       teststring=$teststring$teststring
1866     done
1867     teststring=
1868     # Add a significant safety factor because C++ compilers can tack on massive
1869     # amounts of additional arguments before passing them to the linker.
1870     # It appears as though 1/2 is a usable value.
1871     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1872     ;;
1873   esac
1874 ])
1875 if test -n $lt_cv_sys_max_cmd_len ; then
1876   AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1877 else
1878   AC_MSG_RESULT(none)
1879 fi
1880 ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
1881
1882
1883 # _LT_AC_CHECK_DLFCN
1884 # ------------------
1885 AC_DEFUN([_LT_AC_CHECK_DLFCN],
1886 [AC_CHECK_HEADERS(dlfcn.h)dnl
1887 ])# _LT_AC_CHECK_DLFCN
1888
1889
1890 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1891 #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1892 # ---------------------------------------------------------------------
1893 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
1894 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1895 if test "$cross_compiling" = yes; then :
1896   [$4]
1897 else
1898   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1899   lt_status=$lt_dlunknown
1900   cat > conftest.$ac_ext <<EOF
1901 [#line __oline__ "configure"
1902 #include "confdefs.h"
1903
1904 #if HAVE_DLFCN_H
1905 #include <dlfcn.h>
1906 #endif
1907
1908 #include <stdio.h>
1909
1910 #ifdef RTLD_GLOBAL
1911 #  define LT_DLGLOBAL           RTLD_GLOBAL
1912 #else
1913 #  ifdef DL_GLOBAL
1914 #    define LT_DLGLOBAL         DL_GLOBAL
1915 #  else
1916 #    define LT_DLGLOBAL         0
1917 #  endif
1918 #endif
1919
1920 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1921    find out it does not work in some platform. */
1922 #ifndef LT_DLLAZY_OR_NOW
1923 #  ifdef RTLD_LAZY
1924 #    define LT_DLLAZY_OR_NOW            RTLD_LAZY
1925 #  else
1926 #    ifdef DL_LAZY
1927 #      define LT_DLLAZY_OR_NOW          DL_LAZY
1928 #    else
1929 #      ifdef RTLD_NOW
1930 #        define LT_DLLAZY_OR_NOW        RTLD_NOW
1931 #      else
1932 #        ifdef DL_NOW
1933 #          define LT_DLLAZY_OR_NOW      DL_NOW
1934 #        else
1935 #          define LT_DLLAZY_OR_NOW      0
1936 #        endif
1937 #      endif
1938 #    endif
1939 #  endif
1940 #endif
1941
1942 #ifdef __cplusplus
1943 extern "C" void exit (int);
1944 #endif
1945
1946 void fnord() { int i=42;}
1947 int main ()
1948 {
1949   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1950   int status = $lt_dlunknown;
1951
1952   if (self)
1953     {
1954       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1955       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1956       /* dlclose (self); */
1957     }
1958   else
1959     puts (dlerror ());
1960
1961     exit (status);
1962 }]
1963 EOF
1964   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1965     (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1966     lt_status=$?
1967     case x$lt_status in
1968       x$lt_dlno_uscore) $1 ;;
1969       x$lt_dlneed_uscore) $2 ;;
1970       x$lt_dlunknown|x*) $3 ;;
1971     esac
1972   else :
1973     # compilation failed
1974     $3
1975   fi
1976 fi
1977 rm -fr conftest*
1978 ])# _LT_AC_TRY_DLOPEN_SELF
1979
1980
1981 # AC_LIBTOOL_DLOPEN_SELF
1982 # ----------------------
1983 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
1984 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1985 if test "x$enable_dlopen" != xyes; then
1986   enable_dlopen=unknown
1987   enable_dlopen_self=unknown
1988   enable_dlopen_self_static=unknown
1989 else
1990   lt_cv_dlopen=no
1991   lt_cv_dlopen_libs=
1992
1993   case $host_os in
1994   beos*)
1995     lt_cv_dlopen="load_add_on"
1996     lt_cv_dlopen_libs=
1997     lt_cv_dlopen_self=yes
1998     ;;
1999
2000   mingw* | pw32*)
2001     lt_cv_dlopen="LoadLibrary"
2002     lt_cv_dlopen_libs=
2003    ;;
2004
2005   cygwin*)
2006     lt_cv_dlopen="dlopen"
2007     lt_cv_dlopen_libs=
2008    ;;
2009
2010   darwin*)
2011   # if libdl is installed we need to link against it
2012     AC_CHECK_LIB([dl], [dlopen],
2013                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
2014     lt_cv_dlopen="dyld"
2015     lt_cv_dlopen_libs=
2016     lt_cv_dlopen_self=yes
2017     ])
2018    ;;
2019
2020   *)
2021     AC_CHECK_FUNC([shl_load],
2022           [lt_cv_dlopen="shl_load"],
2023       [AC_CHECK_LIB([dld], [shl_load],
2024             [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
2025         [AC_CHECK_FUNC([dlopen],
2026               [lt_cv_dlopen="dlopen"],
2027           [AC_CHECK_LIB([dl], [dlopen],
2028                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
2029             [AC_CHECK_LIB([svld], [dlopen],
2030                   [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
2031               [AC_CHECK_LIB([dld], [dld_link],
2032                     [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
2033               ])
2034             ])
2035           ])
2036         ])
2037       ])
2038     ;;
2039   esac
2040
2041   if test "x$lt_cv_dlopen" != xno; then
2042     enable_dlopen=yes
2043   else
2044     enable_dlopen=no
2045   fi
2046
2047   case $lt_cv_dlopen in
2048   dlopen)
2049     save_CPPFLAGS="$CPPFLAGS"
2050     test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2051
2052     save_LDFLAGS="$LDFLAGS"
2053     wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2054
2055     save_LIBS="$LIBS"
2056     LIBS="$lt_cv_dlopen_libs $LIBS"
2057
2058     AC_CACHE_CHECK([whether a program can dlopen itself],
2059           lt_cv_dlopen_self, [dnl
2060           _LT_AC_TRY_DLOPEN_SELF(
2061             lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2062             lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2063     ])
2064
2065     if test "x$lt_cv_dlopen_self" = xyes; then
2066       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2067       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2068           lt_cv_dlopen_self_static, [dnl
2069           _LT_AC_TRY_DLOPEN_SELF(
2070             lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2071             lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
2072       ])
2073     fi
2074
2075     CPPFLAGS="$save_CPPFLAGS"
2076     LDFLAGS="$save_LDFLAGS"
2077     LIBS="$save_LIBS"
2078     ;;
2079   esac
2080
2081   case $lt_cv_dlopen_self in
2082   yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2083   *) enable_dlopen_self=unknown ;;
2084   esac
2085
2086   case $lt_cv_dlopen_self_static in
2087   yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2088   *) enable_dlopen_self_static=unknown ;;
2089   esac
2090 fi
2091 ])# AC_LIBTOOL_DLOPEN_SELF
2092
2093
2094 # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
2095 # ---------------------------------
2096 # Check to see if options -c and -o are simultaneously supported by compiler
2097 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
2098 [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
2099 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2100   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2101   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2102    $rm -r conftest 2>/dev/null
2103    mkdir conftest
2104    cd conftest
2105    mkdir out
2106    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
2107
2108    lt_compiler_flag="-o out/conftest2.$ac_objext"
2109    # Insert the option either (1) after the last *FLAGS variable, or
2110    # (2) before a word containing "conftest.", or (3) at the end.
2111    # Note that $ac_compile itself does not contain backslashes and begins
2112    # with a dollar sign (not a hyphen), so the echo should work correctly.
2113    lt_compile=`echo "$ac_compile" | $SED \
2114    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2115    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2116    -e 's:$: $lt_compiler_flag:'`
2117    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2118    (eval "$lt_compile" 2>out/conftest.err)
2119    ac_status=$?
2120    cat out/conftest.err >&AS_MESSAGE_LOG_FD
2121    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2122    if (exit $ac_status) && test -s out/conftest2.$ac_objext
2123    then
2124      # The compiler can only warn and ignore the option if not recognized
2125      # So say no if there are warnings
2126      $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
2127      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2128      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2129        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2130      fi
2131    fi
2132    chmod u+w . 2>&AS_MESSAGE_LOG_FD
2133    $rm conftest*
2134    # SGI C++ compiler will create directory out/ii_files/ for
2135    # template instantiation
2136    test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
2137    $rm out/* && rmdir out
2138    cd ..
2139    rmdir conftest
2140    $rm conftest*
2141 ])
2142 ])# AC_LIBTOOL_PROG_CC_C_O
2143
2144
2145 # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
2146 # -----------------------------------------
2147 # Check to see if we can do hard links to lock some files if needed
2148 AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
2149 [AC_REQUIRE([_LT_AC_LOCK])dnl
2150
2151 hard_links="nottested"
2152 if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2153   # do not overwrite the value of need_locks provided by the user
2154   AC_MSG_CHECKING([if we can lock with hard links])
2155   hard_links=yes
2156   $rm conftest*
2157   ln conftest.a conftest.b 2>/dev/null && hard_links=no
2158   touch conftest.a
2159   ln conftest.a conftest.b 2>&5 || hard_links=no
2160   ln conftest.a conftest.b 2>/dev/null && hard_links=no
2161   AC_MSG_RESULT([$hard_links])
2162   if test "$hard_links" = no; then
2163     AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2164     need_locks=warn
2165   fi
2166 else
2167   need_locks=no
2168 fi
2169 ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
2170
2171
2172 # AC_LIBTOOL_OBJDIR
2173 # -----------------
2174 AC_DEFUN([AC_LIBTOOL_OBJDIR],
2175 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2176 [rm -f .libs 2>/dev/null
2177 mkdir .libs 2>/dev/null
2178 if test -d .libs; then
2179   lt_cv_objdir=.libs
2180 else
2181   # MS-DOS does not allow filenames that begin with a dot.
2182   lt_cv_objdir=_libs
2183 fi
2184 rmdir .libs 2>/dev/null])
2185 objdir=$lt_cv_objdir
2186 ])# AC_LIBTOOL_OBJDIR
2187
2188
2189 # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
2190 # ----------------------------------------------
2191 # Check hardcoding attributes.
2192 AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
2193 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2194 _LT_AC_TAGVAR(hardcode_action, $1)=
2195 if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
2196    test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
2197    test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2198
2199   # We can hardcode non-existant directories.
2200   if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
2201      # If the only mechanism to avoid hardcoding is shlibpath_var, we
2202      # have to relink, otherwise we might link with an installed library
2203      # when we should be linking with a yet-to-be-installed one
2204      ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2205      test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
2206     # Linking always hardcodes the temporary library directory.
2207     _LT_AC_TAGVAR(hardcode_action, $1)=relink
2208   else
2209     # We can link without hardcoding, and we can hardcode nonexisting dirs.
2210     _LT_AC_TAGVAR(hardcode_action, $1)=immediate
2211   fi
2212 else
2213   # We cannot hardcode anything, or else we can only hardcode existing
2214   # directories.
2215   _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
2216 fi
2217 AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
2218
2219 if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
2220   # Fast installation is not supported
2221   enable_fast_install=no
2222 elif test "$shlibpath_overrides_runpath" = yes ||
2223      test "$enable_shared" = no; then
2224   # Fast installation is not necessary
2225   enable_fast_install=needless
2226 fi
2227 ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
2228
2229
2230 # AC_LIBTOOL_SYS_LIB_STRIP
2231 # ------------------------
2232 AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
2233 [striplib=
2234 old_striplib=
2235 AC_MSG_CHECKING([whether stripping libraries is possible])
2236 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
2237   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2238   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2239   AC_MSG_RESULT([yes])
2240 else
2241 # FIXME - insert some real tests, host_os isn't really good enough
2242   case $host_os in
2243    darwin*)
2244        if test -n "$STRIP" ; then
2245          striplib="$STRIP -x"
2246          AC_MSG_RESULT([yes])
2247        else
2248   AC_MSG_RESULT([no])
2249 fi
2250        ;;
2251    *)
2252   AC_MSG_RESULT([no])
2253     ;;
2254   esac
2255 fi
2256 ])# AC_LIBTOOL_SYS_LIB_STRIP
2257
2258
2259 # AC_LIBTOOL_SYS_DYNAMIC_LINKER
2260 # -----------------------------
2261 # PORTME Fill in your ld.so characteristics
2262 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
2263 [AC_MSG_CHECKING([dynamic linker characteristics])
2264 library_names_spec=
2265 libname_spec='lib$name'
2266 soname_spec=
2267 shrext_cmds=".so"
2268 postinstall_cmds=
2269 postuninstall_cmds=
2270 finish_cmds=
2271 finish_eval=
2272 shlibpath_var=
2273 shlibpath_overrides_runpath=unknown
2274 version_type=none
2275 dynamic_linker="$host_os ld.so"
2276 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2277 if test "$GCC" = yes; then
2278   sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2279   if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
2280     # if the path contains ";" then we assume it to be the separator
2281     # otherwise default to the standard path separator (i.e. ":") - it is
2282     # assumed that no part of a normal pathname contains ";" but that should
2283     # okay in the real world where ";" in dirpaths is itself problematic.
2284     sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2285   else
2286     sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2287   fi
2288 else
2289   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2290 fi
2291 need_lib_prefix=unknown
2292 hardcode_into_libs=no
2293
2294 # when you set need_version to no, make sure it does not cause -set_version
2295 # flags to be left without arguments
2296 need_version=unknown
2297
2298 case $host_os in
2299 aix3*)
2300   version_type=linux
2301   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2302   shlibpath_var=LIBPATH
2303
2304   # AIX 3 has no versioning support, so we append a major version to the name.
2305   soname_spec='${libname}${release}${shared_ext}$major'
2306   ;;
2307
2308 aix4* | aix5*)
2309   version_type=linux
2310   need_lib_prefix=no
2311   need_version=no
2312   hardcode_into_libs=yes
2313   if test "$host_cpu" = ia64; then
2314     # AIX 5 supports IA64
2315     library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2316     shlibpath_var=LD_LIBRARY_PATH
2317   else
2318     # With GCC up to 2.95.x, collect2 would create an import file
2319     # for dependence libraries.  The import file would start with
2320     # the line `#! .'.  This would cause the generated library to
2321     # depend on `.', always an invalid library.  This was fixed in
2322     # development snapshots of GCC prior to 3.0.
2323     case $host_os in
2324       aix4 | aix4.[[01]] | aix4.[[01]].*)
2325       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2326            echo ' yes '
2327            echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
2328         :
2329       else
2330         can_build_shared=no
2331       fi
2332       ;;
2333     esac
2334     # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2335     # soname into executable. Probably we can add versioning support to
2336     # collect2, so additional links can be useful in future.
2337     if test "$aix_use_runtimelinking" = yes; then
2338       # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2339       # instead of lib<name>.a to let people know that these are not
2340       # typical AIX shared libraries.
2341       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2342     else
2343       # We preserve .a as extension for shared libraries through AIX4.2
2344       # and later when we are not doing run time linking.
2345       library_names_spec='${libname}${release}.a $libname.a'
2346       soname_spec='${libname}${release}${shared_ext}$major'
2347     fi
2348     shlibpath_var=LIBPATH
2349   fi
2350   ;;
2351
2352 amigaos*)
2353   library_names_spec='$libname.ixlibrary $libname.a'
2354   # Create ${libname}_ixlibrary.a entries in /sys/libs.
2355   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'
2356   ;;
2357
2358 beos*)
2359   library_names_spec='${libname}${shared_ext}'
2360   dynamic_linker="$host_os ld.so"
2361   shlibpath_var=LIBRARY_PATH
2362   ;;
2363
2364 bsdi[[45]]*)
2365   version_type=linux
2366   need_version=no
2367   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2368   soname_spec='${libname}${release}${shared_ext}$major'
2369   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2370   shlibpath_var=LD_LIBRARY_PATH
2371   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2372   sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2373   # the default ld.so.conf also contains /usr/contrib/lib and
2374   # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2375   # libtool to hard-code these into programs
2376   ;;
2377
2378 cygwin* | mingw* | pw32*)
2379   version_type=windows
2380   shrext_cmds=".dll"
2381   need_version=no
2382   need_lib_prefix=no
2383
2384   case $GCC,$host_os in
2385   yes,cygwin* | yes,mingw* | yes,pw32*)
2386     library_names_spec='$libname.dll.a'
2387     # DLL is installed to $(libdir)/../bin by postinstall_cmds
2388     postinstall_cmds='base_file=`basename \${file}`~
2389       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
2390       dldir=$destdir/`dirname \$dlpath`~
2391       test -d \$dldir || mkdir -p \$dldir~
2392       $install_prog $dir/$dlname \$dldir/$dlname~
2393       chmod a+x \$dldir/$dlname'
2394     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2395       dlpath=$dir/\$dldll~
2396        $rm \$dlpath'
2397     shlibpath_overrides_runpath=yes
2398
2399     case $host_os in
2400     cygwin*)
2401       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2402       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2403       sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2404       ;;
2405     mingw*)
2406       # MinGW DLLs use traditional 'lib' prefix
2407       soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2408       sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2409       if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
2410         # It is most probably a Windows format PATH printed by
2411         # mingw gcc, but we are running on Cygwin. Gcc prints its search
2412         # path with ; separators, and with drive letters. We can handle the
2413         # drive letters (cygwin fileutils understands them), so leave them,
2414         # especially as we might pass files found there to a mingw objdump,
2415         # which wouldn't understand a cygwinified path. Ahh.
2416         sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2417       else
2418         sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2419       fi
2420       ;;
2421     pw32*)
2422       # pw32 DLLs use 'pw' prefix rather than 'lib'
2423       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2424       ;;
2425     esac
2426     ;;
2427
2428   *)
2429     library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2430     ;;
2431   esac
2432   dynamic_linker='Win32 ld.exe'
2433   # FIXME: first we should search . and the directory the executable is in
2434   shlibpath_var=PATH
2435   ;;
2436
2437 darwin* | rhapsody*)
2438   dynamic_linker="$host_os dyld"
2439   version_type=darwin
2440   need_lib_prefix=no
2441   need_version=no
2442   library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext ${libname}${release}${versuffix}$shared_ext'
2443   soname_spec='${libname}${release}${major}$shared_ext'
2444   shlibpath_overrides_runpath=yes
2445   shlibpath_var=DYLD_LIBRARY_PATH
2446   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2447   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
2448   if test "$GCC" = yes; then
2449     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"`
2450   else
2451     sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
2452   fi
2453   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2454   ;;
2455
2456 dgux*)
2457   version_type=linux
2458   need_lib_prefix=no
2459   need_version=no
2460   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2461   soname_spec='${libname}${release}${shared_ext}$major'
2462   shlibpath_var=LD_LIBRARY_PATH
2463   ;;
2464
2465 freebsd1*)
2466   dynamic_linker=no
2467   ;;
2468
2469 kfreebsd*-gnu)
2470   version_type=linux
2471   need_lib_prefix=no
2472   need_version=no
2473   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2474   soname_spec='${libname}${release}${shared_ext}$major'
2475   shlibpath_var=LD_LIBRARY_PATH
2476   shlibpath_overrides_runpath=no
2477   hardcode_into_libs=yes
2478   dynamic_linker='GNU ld.so'
2479   ;;
2480
2481 freebsd* | dragonfly*)
2482   # DragonFly does not have aout.  When/if they implement a new
2483   # versioning mechanism, adjust this.
2484   if test -x /usr/bin/objformat; then
2485     objformat=`/usr/bin/objformat`
2486   else
2487     case $host_os in
2488     freebsd[[123]]*) objformat=aout ;;
2489     *) objformat=elf ;;
2490     esac
2491   fi
2492   version_type=freebsd-$objformat
2493   case $version_type in
2494     freebsd-elf*)
2495       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2496       need_version=no
2497       need_lib_prefix=no
2498       ;;
2499     freebsd-*)
2500       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2501       need_version=yes
2502       ;;
2503   esac
2504   shlibpath_var=LD_LIBRARY_PATH
2505   case $host_os in
2506   freebsd2*)
2507     shlibpath_overrides_runpath=yes
2508     ;;
2509   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2510     shlibpath_overrides_runpath=yes
2511     hardcode_into_libs=yes
2512     ;;
2513   freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2514   freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2515     shlibpath_overrides_runpath=no
2516     hardcode_into_libs=yes
2517     ;;
2518   freebsd*) # from 4.6 on
2519     shlibpath_overrides_runpath=yes
2520     hardcode_into_libs=yes
2521     ;;
2522   esac
2523   ;;
2524
2525 gnu*)
2526   version_type=linux
2527   need_lib_prefix=no
2528   need_version=no
2529   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2530   soname_spec='${libname}${release}${shared_ext}$major'
2531   shlibpath_var=LD_LIBRARY_PATH
2532   hardcode_into_libs=yes
2533   ;;
2534
2535 hpux9* | hpux10* | hpux11*)
2536   # Give a soname corresponding to the major version so that dld.sl refuses to
2537   # link against other versions.
2538   version_type=sunos
2539   need_lib_prefix=no
2540   need_version=no
2541   case $host_cpu in
2542   ia64*)
2543     shrext_cmds='.so'
2544     hardcode_into_libs=yes
2545     dynamic_linker="$host_os dld.so"
2546     shlibpath_var=LD_LIBRARY_PATH
2547     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2548     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2549     soname_spec='${libname}${release}${shared_ext}$major'
2550     if test "X$HPUX_IA64_MODE" = X32; then
2551       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2552     else
2553       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2554     fi
2555     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2556     ;;
2557    hppa*64*)
2558      shrext_cmds='.sl'
2559      hardcode_into_libs=yes
2560      dynamic_linker="$host_os dld.sl"
2561      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2562      shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2563      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2564      soname_spec='${libname}${release}${shared_ext}$major'
2565      sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2566      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2567      ;;
2568    *)
2569     shrext_cmds='.sl'
2570     dynamic_linker="$host_os dld.sl"
2571     shlibpath_var=SHLIB_PATH
2572     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2573     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2574     soname_spec='${libname}${release}${shared_ext}$major'
2575     ;;
2576   esac
2577   # HP-UX runs *really* slowly unless shared libraries are mode 555.
2578   postinstall_cmds='chmod 555 $lib'
2579   ;;
2580
2581 interix3*)
2582   version_type=linux
2583   need_lib_prefix=no
2584   need_version=no
2585   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2586   soname_spec='${libname}${release}${shared_ext}$major'
2587   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2588   shlibpath_var=LD_LIBRARY_PATH
2589   shlibpath_overrides_runpath=no
2590   hardcode_into_libs=yes
2591   ;;
2592
2593 irix5* | irix6* | nonstopux*)
2594   case $host_os in
2595     nonstopux*) version_type=nonstopux ;;
2596     *)
2597         if test "$lt_cv_prog_gnu_ld" = yes; then
2598                 version_type=linux
2599         else
2600                 version_type=irix
2601         fi ;;
2602   esac
2603   need_lib_prefix=no
2604   need_version=no
2605   soname_spec='${libname}${release}${shared_ext}$major'
2606   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2607   case $host_os in
2608   irix5* | nonstopux*)
2609     libsuff= shlibsuff=
2610     ;;
2611   *)
2612     case $LD in # libtool.m4 will add one of these switches to LD
2613     *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2614       libsuff= shlibsuff= libmagic=32-bit;;
2615     *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2616       libsuff=32 shlibsuff=N32 libmagic=N32;;
2617     *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2618       libsuff=64 shlibsuff=64 libmagic=64-bit;;
2619     *) libsuff= shlibsuff= libmagic=never-match;;
2620     esac
2621     ;;
2622   esac
2623   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2624   shlibpath_overrides_runpath=no
2625   sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2626   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2627   hardcode_into_libs=yes
2628   ;;
2629
2630 # No shared lib support for Linux oldld, aout, or coff.
2631 linux*oldld* | linux*aout* | linux*coff*)
2632   dynamic_linker=no
2633   ;;
2634
2635 # This must be Linux ELF.
2636 linux*)
2637   version_type=linux
2638   need_lib_prefix=no
2639   need_version=no
2640   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2641   soname_spec='${libname}${release}${shared_ext}$major'
2642   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2643   shlibpath_var=LD_LIBRARY_PATH
2644   shlibpath_overrides_runpath=no
2645   # This implies no fast_install, which is unacceptable.
2646   # Some rework will be needed to allow for fast_install
2647   # before this can be enabled.
2648   hardcode_into_libs=yes
2649
2650   # Append ld.so.conf contents to the search path
2651   if test -f /etc/ld.so.conf; then
2652     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' ' '`
2653     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2654   fi
2655
2656   # We used to test for /lib/ld.so.1 and disable shared libraries on
2657   # powerpc, because MkLinux only supported shared libraries with the
2658   # GNU dynamic linker.  Since this was broken with cross compilers,
2659   # most powerpc-linux boxes support dynamic linking these days and
2660   # people can always --disable-shared, the test was removed, and we
2661   # assume the GNU/Linux dynamic linker is in use.
2662   dynamic_linker='GNU/Linux ld.so'
2663   ;;
2664
2665 knetbsd*-gnu)
2666   version_type=linux
2667   need_lib_prefix=no
2668   need_version=no
2669   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2670   soname_spec='${libname}${release}${shared_ext}$major'
2671   shlibpath_var=LD_LIBRARY_PATH
2672   shlibpath_overrides_runpath=no
2673   hardcode_into_libs=yes
2674   dynamic_linker='GNU ld.so'
2675   ;;
2676
2677 netbsd*)
2678   version_type=sunos
2679   need_lib_prefix=no
2680   need_version=no
2681   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
2682     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2683     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2684     dynamic_linker='NetBSD (a.out) ld.so'
2685   else
2686     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2687     soname_spec='${libname}${release}${shared_ext}$major'
2688     dynamic_linker='NetBSD ld.elf_so'
2689   fi
2690   shlibpath_var=LD_LIBRARY_PATH
2691   shlibpath_overrides_runpath=yes
2692   hardcode_into_libs=yes
2693   ;;
2694
2695 newsos6)
2696   version_type=linux
2697   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2698   shlibpath_var=LD_LIBRARY_PATH
2699   shlibpath_overrides_runpath=yes
2700   ;;
2701
2702 nto-qnx*)
2703   version_type=linux
2704   need_lib_prefix=no
2705   need_version=no
2706   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2707   soname_spec='${libname}${release}${shared_ext}$major'
2708   shlibpath_var=LD_LIBRARY_PATH
2709   shlibpath_overrides_runpath=yes
2710   ;;
2711
2712 openbsd*)
2713   version_type=sunos
2714   sys_lib_dlsearch_path_spec="/usr/lib"
2715   need_lib_prefix=no
2716   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2717   case $host_os in
2718     openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2719     *)                         need_version=no  ;;
2720   esac
2721   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2722   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2723   shlibpath_var=LD_LIBRARY_PATH
2724   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2725     case $host_os in
2726       openbsd2.[[89]] | openbsd2.[[89]].*)
2727         shlibpath_overrides_runpath=no
2728         ;;
2729       *)
2730         shlibpath_overrides_runpath=yes
2731         ;;
2732       esac
2733   else
2734     shlibpath_overrides_runpath=yes
2735   fi
2736   ;;
2737
2738 os2*)
2739   libname_spec='$name'
2740   shrext_cmds=".dll"
2741   need_lib_prefix=no
2742   library_names_spec='$libname${shared_ext} $libname.a'
2743   dynamic_linker='OS/2 ld.exe'
2744   shlibpath_var=LIBPATH
2745   ;;
2746
2747 osf3* | osf4* | osf5*)
2748   version_type=osf
2749   need_lib_prefix=no
2750   need_version=no
2751   soname_spec='${libname}${release}${shared_ext}$major'
2752   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2753   shlibpath_var=LD_LIBRARY_PATH
2754   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2755   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2756   ;;
2757
2758 solaris*)
2759   version_type=linux
2760   need_lib_prefix=no
2761   need_version=no
2762   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2763   soname_spec='${libname}${release}${shared_ext}$major'
2764   shlibpath_var=LD_LIBRARY_PATH
2765   shlibpath_overrides_runpath=yes
2766   hardcode_into_libs=yes
2767   # ldd complains unless libraries are executable
2768   postinstall_cmds='chmod +x $lib'
2769   ;;
2770
2771 sunos4*)
2772   version_type=sunos
2773   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2774   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2775   shlibpath_var=LD_LIBRARY_PATH
2776   shlibpath_overrides_runpath=yes
2777   if test "$with_gnu_ld" = yes; then
2778     need_lib_prefix=no
2779   fi
2780   need_version=yes
2781   ;;
2782
2783 sysv4 | sysv4.3*)
2784   version_type=linux
2785   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2786   soname_spec='${libname}${release}${shared_ext}$major'
2787   shlibpath_var=LD_LIBRARY_PATH
2788   case $host_vendor in
2789     sni)
2790       shlibpath_overrides_runpath=no
2791       need_lib_prefix=no
2792       export_dynamic_flag_spec='${wl}-Blargedynsym'
2793       runpath_var=LD_RUN_PATH
2794       ;;
2795     siemens)
2796       need_lib_prefix=no
2797       ;;
2798     motorola)
2799       need_lib_prefix=no
2800       need_version=no
2801       shlibpath_overrides_runpath=no
2802       sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2803       ;;
2804   esac
2805   ;;
2806
2807 sysv4*MP*)
2808   if test -d /usr/nec ;then
2809     version_type=linux
2810     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2811     soname_spec='$libname${shared_ext}.$major'
2812     shlibpath_var=LD_LIBRARY_PATH
2813   fi
2814   ;;
2815
2816 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2817   version_type=freebsd-elf
2818   need_lib_prefix=no
2819   need_version=no
2820   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2821   soname_spec='${libname}${release}${shared_ext}$major'
2822   shlibpath_var=LD_LIBRARY_PATH
2823   hardcode_into_libs=yes
2824   if test "$with_gnu_ld" = yes; then
2825     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2826     shlibpath_overrides_runpath=no
2827   else
2828     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2829     shlibpath_overrides_runpath=yes
2830     case $host_os in
2831       sco3.2v5*)
2832         sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2833         ;;
2834     esac
2835   fi
2836   sys_lib_dlsearch_path_spec='/usr/lib'
2837   ;;
2838
2839 uts4*)
2840   version_type=linux
2841   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2842   soname_spec='${libname}${release}${shared_ext}$major'
2843   shlibpath_var=LD_LIBRARY_PATH
2844   ;;
2845
2846 *)
2847   dynamic_linker=no
2848   ;;
2849 esac
2850 AC_MSG_RESULT([$dynamic_linker])
2851 test "$dynamic_linker" = no && can_build_shared=no
2852
2853 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2854 if test "$GCC" = yes; then
2855   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2856 fi
2857 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
2858
2859
2860 # _LT_AC_TAGCONFIG
2861 # ----------------
2862 AC_DEFUN([_LT_AC_TAGCONFIG],
2863 [AC_ARG_WITH([tags],
2864     [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
2865         [include additional configurations @<:@automatic@:>@])],
2866     [tagnames="$withval"])
2867
2868 if test -f "$ltmain" && test -n "$tagnames"; then
2869   if test ! -f "${ofile}"; then
2870     AC_MSG_WARN([output file `$ofile' does not exist])
2871   fi
2872
2873   if test -z "$LTCC"; then
2874     eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
2875     if test -z "$LTCC"; then
2876       AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
2877     else
2878       AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
2879     fi
2880   fi
2881   if test -z "$LTCFLAGS"; then
2882     eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
2883   fi
2884
2885   # Extract list of available tagged configurations in $ofile.
2886   # Note that this assumes the entire list is on one line.
2887   available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
2888
2889   lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2890   for tagname in $tagnames; do
2891     IFS="$lt_save_ifs"
2892     # Check whether tagname contains only valid characters
2893     case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
2894     "") ;;
2895     *)  AC_MSG_ERROR([invalid tag name: $tagname])
2896         ;;
2897     esac
2898
2899     if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
2900     then
2901       AC_MSG_ERROR([tag name \"$tagname\" already exists])
2902     fi
2903
2904     # Update the list of available tags.
2905     if test -n "$tagname"; then
2906       echo appending configuration tag \"$tagname\" to $ofile
2907
2908       case $tagname in
2909       CXX)
2910         if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2911             ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2912             (test "X$CXX" != "Xg++"))) ; then
2913           AC_LIBTOOL_LANG_CXX_CONFIG
2914         else
2915           tagname=""
2916         fi
2917         ;;
2918
2919       F77)
2920         if test -n "$F77" && test "X$F77" != "Xno"; then
2921           AC_LIBTOOL_LANG_F77_CONFIG
2922         else
2923           tagname=""
2924         fi
2925         ;;
2926
2927       GCJ)
2928         if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
2929           AC_LIBTOOL_LANG_GCJ_CONFIG
2930         else
2931           tagname=""
2932         fi
2933         ;;
2934
2935       RC)
2936         AC_LIBTOOL_LANG_RC_CONFIG
2937         ;;
2938
2939       *)
2940         AC_MSG_ERROR([Unsupported tag name: $tagname])
2941         ;;
2942       esac
2943
2944       # Append the new tag name to the list of available tags.
2945       if test -n "$tagname" ; then
2946       available_tags="$available_tags $tagname"
2947     fi
2948     fi
2949   done
2950   IFS="$lt_save_ifs"
2951
2952   # Now substitute the updated list of available tags.
2953   if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
2954     mv "${ofile}T" "$ofile"
2955     chmod +x "$ofile"
2956   else
2957     rm -f "${ofile}T"
2958     AC_MSG_ERROR([unable to update list of available tagged configurations.])
2959   fi
2960 fi
2961 ])# _LT_AC_TAGCONFIG
2962
2963
2964 # AC_LIBTOOL_DLOPEN
2965 # -----------------
2966 # enable checks for dlopen support
2967 AC_DEFUN([AC_LIBTOOL_DLOPEN],
2968  [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
2969 ])# AC_LIBTOOL_DLOPEN
2970
2971
2972 # AC_LIBTOOL_WIN32_DLL
2973 # --------------------
2974 # declare package support for building win32 DLLs
2975 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
2976 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
2977 ])# AC_LIBTOOL_WIN32_DLL
2978
2979
2980 # AC_ENABLE_SHARED([DEFAULT])
2981 # ---------------------------
2982 # implement the --enable-shared flag
2983 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
2984 AC_DEFUN([AC_ENABLE_SHARED],
2985 [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
2986 AC_ARG_ENABLE([shared],
2987     [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
2988         [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
2989     [p=${PACKAGE-default}
2990     case $enableval in
2991     yes) enable_shared=yes ;;
2992     no) enable_shared=no ;;
2993     *)
2994       enable_shared=no
2995       # Look at the argument we got.  We use all the common list separators.
2996       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2997       for pkg in $enableval; do
2998         IFS="$lt_save_ifs"
2999         if test "X$pkg" = "X$p"; then
3000           enable_shared=yes
3001         fi
3002       done
3003       IFS="$lt_save_ifs"
3004       ;;
3005     esac],
3006     [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
3007 ])# AC_ENABLE_SHARED
3008
3009
3010 # AC_DISABLE_SHARED
3011 # -----------------
3012 # set the default shared flag to --disable-shared
3013 AC_DEFUN([AC_DISABLE_SHARED],
3014 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3015 AC_ENABLE_SHARED(no)
3016 ])# AC_DISABLE_SHARED
3017
3018
3019 # AC_ENABLE_STATIC([DEFAULT])
3020 # ---------------------------
3021 # implement the --enable-static flag
3022 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
3023 AC_DEFUN([AC_ENABLE_STATIC],
3024 [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
3025 AC_ARG_ENABLE([static],
3026     [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
3027         [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
3028     [p=${PACKAGE-default}
3029     case $enableval in
3030     yes) enable_static=yes ;;
3031     no) enable_static=no ;;
3032     *)
3033      enable_static=no
3034       # Look at the argument we got.  We use all the common list separators.
3035       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3036       for pkg in $enableval; do
3037         IFS="$lt_save_ifs"
3038         if test "X$pkg" = "X$p"; then
3039           enable_static=yes
3040         fi
3041       done
3042       IFS="$lt_save_ifs"
3043       ;;
3044     esac],
3045     [enable_static=]AC_ENABLE_STATIC_DEFAULT)
3046 ])# AC_ENABLE_STATIC
3047
3048
3049 # AC_DISABLE_STATIC
3050 # -----------------
3051 # set the default static flag to --disable-static
3052 AC_DEFUN([AC_DISABLE_STATIC],
3053 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3054 AC_ENABLE_STATIC(no)
3055 ])# AC_DISABLE_STATIC
3056
3057
3058 # AC_ENABLE_FAST_INSTALL([DEFAULT])
3059 # ---------------------------------
3060 # implement the --enable-fast-install flag
3061 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
3062 AC_DEFUN([AC_ENABLE_FAST_INSTALL],
3063 [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
3064 AC_ARG_ENABLE([fast-install],
3065     [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
3066     [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
3067     [p=${PACKAGE-default}
3068     case $enableval in
3069     yes) enable_fast_install=yes ;;
3070     no) enable_fast_install=no ;;
3071     *)
3072       enable_fast_install=no
3073       # Look at the argument we got.  We use all the common list separators.
3074       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3075       for pkg in $enableval; do
3076         IFS="$lt_save_ifs"
3077         if test "X$pkg" = "X$p"; then
3078           enable_fast_install=yes
3079         fi
3080       done
3081       IFS="$lt_save_ifs"
3082       ;;
3083     esac],
3084     [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
3085 ])# AC_ENABLE_FAST_INSTALL
3086
3087
3088 # AC_DISABLE_FAST_INSTALL
3089 # -----------------------
3090 # set the default to --disable-fast-install
3091 AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3092 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3093 AC_ENABLE_FAST_INSTALL(no)
3094 ])# AC_DISABLE_FAST_INSTALL
3095
3096
3097 # AC_LIBTOOL_PICMODE([MODE])
3098 # --------------------------
3099 # implement the --with-pic flag
3100 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
3101 AC_DEFUN([AC_LIBTOOL_PICMODE],
3102 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3103 pic_mode=ifelse($#,1,$1,default)
3104 ])# AC_LIBTOOL_PICMODE
3105
3106
3107 # AC_PROG_EGREP
3108 # -------------
3109 # This is predefined starting with Autoconf 2.54, so this conditional
3110 # definition can be removed once we require Autoconf 2.54 or later.
3111 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
3112 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
3113    [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
3114     then ac_cv_prog_egrep='grep -E'
3115     else ac_cv_prog_egrep='egrep'
3116     fi])
3117  EGREP=$ac_cv_prog_egrep
3118  AC_SUBST([EGREP])
3119 ])])
3120
3121
3122 # AC_PATH_TOOL_PREFIX
3123 # -------------------
3124 # find a file program which can recognise shared library
3125 AC_DEFUN([AC_PATH_TOOL_PREFIX],
3126 [AC_REQUIRE([AC_PROG_EGREP])dnl
3127 AC_MSG_CHECKING([for $1])
3128 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3129 [case $MAGIC_CMD in
3130 [[\\/*] |  ?:[\\/]*])
3131   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3132   ;;
3133 *)
3134   lt_save_MAGIC_CMD="$MAGIC_CMD"
3135   lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3136 dnl $ac_dummy forces splitting on constant user-supplied paths.
3137 dnl POSIX.2 word splitting is done only on the output of word expansions,
3138 dnl not every word.  This closes a longstanding sh security hole.
3139   ac_dummy="ifelse([$2], , $PATH, [$2])"
3140   for ac_dir in $ac_dummy; do
3141     IFS="$lt_save_ifs"
3142     test -z "$ac_dir" && ac_dir=.
3143     if test -f $ac_dir/$1; then
3144       lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3145       if test -n "$file_magic_test_file"; then
3146         case $deplibs_check_method in
3147         "file_magic "*)
3148           file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3149           MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3150           if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3151             $EGREP "$file_magic_regex" > /dev/null; then
3152             :
3153           else
3154             cat <<EOF 1>&2
3155
3156 *** Warning: the command libtool uses to detect shared libraries,
3157 *** $file_magic_cmd, produces output that libtool cannot recognize.
3158 *** The result is that libtool may fail to recognize shared libraries
3159 *** as such.  This will affect the creation of libtool libraries that
3160 *** depend on shared libraries, but programs linked with such libtool
3161 *** libraries will work regardless of this problem.  Nevertheless, you
3162 *** may want to report the problem to your system manager and/or to
3163 *** bug-libtool@gnu.org
3164
3165 EOF
3166           fi ;;
3167         esac
3168       fi
3169       break
3170     fi
3171   done
3172   IFS="$lt_save_ifs"
3173   MAGIC_CMD="$lt_save_MAGIC_CMD"
3174   ;;
3175 esac])
3176 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3177 if test -n "$MAGIC_CMD"; then
3178   AC_MSG_RESULT($MAGIC_CMD)
3179 else
3180   AC_MSG_RESULT(no)
3181 fi
3182 ])# AC_PATH_TOOL_PREFIX
3183
3184
3185 # AC_PATH_MAGIC
3186 # -------------
3187 # find a file program which can recognise a shared library
3188 AC_DEFUN([AC_PATH_MAGIC],
3189 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3190 if test -z "$lt_cv_path_MAGIC_CMD"; then
3191   if test -n "$ac_tool_prefix"; then
3192     AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3193   else
3194     MAGIC_CMD=:
3195   fi
3196 fi
3197 ])# AC_PATH_MAGIC
3198
3199
3200 # AC_PROG_LD
3201 # ----------
3202 # find the pathname to the GNU or non-GNU linker
3203 AC_DEFUN([AC_PROG_LD],
3204 [AC_ARG_WITH([gnu-ld],
3205     [AC_HELP_STRING([--with-gnu-ld],
3206         [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3207     [test "$withval" = no || with_gnu_ld=yes],
3208     [with_gnu_ld=no])
3209 AC_REQUIRE([LT_AC_PROG_SED])dnl
3210 AC_REQUIRE([AC_PROG_CC])dnl
3211 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3212 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3213 ac_prog=ld
3214 if test "$GCC" = yes; then
3215   # Check if gcc -print-prog-name=ld gives a path.
3216   AC_MSG_CHECKING([for ld used by $CC])
3217   case $host in
3218   *-*-mingw*)
3219     # gcc leaves a trailing carriage return which upsets mingw
3220     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3221   *)
3222     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3223   esac
3224   case $ac_prog in
3225     # Accept absolute paths.
3226     [[\\/]]* | ?:[[\\/]]*)
3227       re_direlt='/[[^/]][[^/]]*/\.\./'
3228       # Canonicalize the pathname of ld
3229       ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
3230       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3231         ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
3232       done
3233       test -z "$LD" && LD="$ac_prog"
3234       ;;
3235   "")
3236     # If it fails, then pretend we aren't using GCC.
3237     ac_prog=ld
3238     ;;
3239   *)
3240     # If it is relative, then search for the first ld in PATH.
3241     with_gnu_ld=unknown
3242     ;;
3243   esac
3244 elif test "$with_gnu_ld" = yes; then
3245   AC_MSG_CHECKING([for GNU ld])
3246 else
3247   AC_MSG_CHECKING([for non-GNU ld])
3248 fi
3249 AC_CACHE_VAL(lt_cv_path_LD,
3250 [if test -z "$LD"; then
3251   lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3252   for ac_dir in $PATH; do
3253     IFS="$lt_save_ifs"
3254     test -z "$ac_dir" && ac_dir=.
3255     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3256       lt_cv_path_LD="$ac_dir/$ac_prog"
3257       # Check to see if the program is GNU ld.  I'd rather use --version,
3258       # but apparently some variants of GNU ld only accept -v.
3259       # Break only if it was the GNU/non-GNU ld that we prefer.
3260       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3261       *GNU* | *'with BFD'*)
3262         test "$with_gnu_ld" != no && break
3263         ;;
3264       *)
3265         test "$with_gnu_ld" != yes && break
3266         ;;
3267       esac
3268     fi
3269   done
3270   IFS="$lt_save_ifs"
3271 else
3272   lt_cv_path_LD="$LD" # Let the user override the test with a path.
3273 fi])
3274 LD="$lt_cv_path_LD"
3275 if test -n "$LD"; then
3276   AC_MSG_RESULT($LD)
3277 else
3278   AC_MSG_RESULT(no)
3279 fi
3280 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3281 AC_PROG_LD_GNU
3282 ])# AC_PROG_LD
3283
3284
3285 # AC_PROG_LD_GNU
3286 # --------------
3287 AC_DEFUN([AC_PROG_LD_GNU],
3288 [AC_REQUIRE([AC_PROG_EGREP])dnl
3289 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3290 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3291 case `$LD -v 2>&1 </dev/null` in
3292 *GNU* | *'with BFD'*)
3293   lt_cv_prog_gnu_ld=yes
3294   ;;
3295 *)
3296   lt_cv_prog_gnu_ld=no
3297   ;;
3298 esac])
3299 with_gnu_ld=$lt_cv_prog_gnu_ld
3300 ])# AC_PROG_LD_GNU
3301
3302
3303 # AC_PROG_LD_RELOAD_FLAG
3304 # ----------------------
3305 # find reload flag for linker
3306 #   -- PORTME Some linkers may need a different reload flag.
3307 AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3308 [AC_CACHE_CHECK([for $LD option to reload object files],
3309   lt_cv_ld_reload_flag,
3310   [lt_cv_ld_reload_flag='-r'])
3311 reload_flag=$lt_cv_ld_reload_flag
3312 case $reload_flag in
3313 "" | " "*) ;;
3314 *) reload_flag=" $reload_flag" ;;
3315 esac
3316 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3317 case $host_os in
3318   darwin*)
3319     if test "$GCC" = yes; then
3320       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3321     else
3322       reload_cmds='$LD$reload_flag -o $output$reload_objs'
3323     fi
3324     ;;
3325 esac
3326 ])# AC_PROG_LD_RELOAD_FLAG
3327
3328
3329 # AC_DEPLIBS_CHECK_METHOD
3330 # -----------------------
3331 # how to check for library dependencies
3332 #  -- PORTME fill in with the dynamic library characteristics
3333 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3334 [AC_CACHE_CHECK([how to recognise dependent libraries],
3335 lt_cv_deplibs_check_method,
3336 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3337 lt_cv_file_magic_test_file=
3338 lt_cv_deplibs_check_method='unknown'
3339 # Need to set the preceding variable on all platforms that support
3340 # interlibrary dependencies.
3341 # 'none' -- dependencies not supported.
3342 # `unknown' -- same as none, but documents that we really don't know.
3343 # 'pass_all' -- all dependencies passed with no checks.
3344 # 'test_compile' -- check by making test program.
3345 # 'file_magic [[regex]]' -- check by looking for files in library path
3346 # which responds to the $file_magic_cmd with a given extended regex.
3347 # If you have `file' or equivalent on your system and you're not sure
3348 # whether `pass_all' will *always* work, you probably want this one.
3349
3350 case $host_os in
3351 aix4* | aix5*)
3352   lt_cv_deplibs_check_method=pass_all
3353   ;;
3354
3355 beos*)
3356   lt_cv_deplibs_check_method=pass_all
3357   ;;
3358
3359 bsdi[[45]]*)
3360   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3361   lt_cv_file_magic_cmd='/usr/bin/file -L'
3362   lt_cv_file_magic_test_file=/shlib/libc.so
3363   ;;
3364
3365 cygwin*)
3366   # func_win32_libid is a shell function defined in ltmain.sh
3367   lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3368   lt_cv_file_magic_cmd='func_win32_libid'
3369   ;;
3370
3371 mingw* | pw32*)
3372   # Base MSYS/MinGW do not provide the 'file' command needed by
3373   # func_win32_libid shell function, so use a weaker test based on 'objdump'.
3374   lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3375   lt_cv_file_magic_cmd='$OBJDUMP -f'
3376   ;;
3377
3378 darwin* | rhapsody*)
3379   lt_cv_deplibs_check_method=pass_all
3380   ;;
3381
3382 freebsd* | kfreebsd*-gnu | dragonfly*)
3383   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3384     case $host_cpu in
3385     i*86 )
3386       # Not sure whether the presence of OpenBSD here was a mistake.
3387       # Let's accept both of them until this is cleared up.
3388       lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3389       lt_cv_file_magic_cmd=/usr/bin/file
3390       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3391       ;;
3392     esac
3393   else
3394     lt_cv_deplibs_check_method=pass_all
3395   fi
3396   ;;
3397
3398 gnu*)
3399   lt_cv_deplibs_check_method=pass_all
3400   ;;
3401
3402 hpux10.20* | hpux11*)
3403   lt_cv_file_magic_cmd=/usr/bin/file
3404   case $host_cpu in
3405   ia64*)
3406     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3407     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3408     ;;
3409   hppa*64*)
3410     [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]']
3411     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3412     ;;
3413   *)
3414     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3415     lt_cv_file_magic_test_file=/usr/lib/libc.sl
3416     ;;
3417   esac
3418   ;;
3419
3420 interix3*)
3421   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3422   lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3423   ;;
3424
3425 irix5* | irix6* | nonstopux*)
3426   case $LD in
3427   *-32|*"-32 ") libmagic=32-bit;;
3428   *-n32|*"-n32 ") libmagic=N32;;
3429   *-64|*"-64 ") libmagic=64-bit;;
3430   *) libmagic=never-match;;
3431   esac
3432   lt_cv_deplibs_check_method=pass_all
3433   ;;
3434
3435 # This must be Linux ELF.
3436 linux*)
3437   lt_cv_deplibs_check_method=pass_all
3438   ;;
3439
3440 netbsd*)
3441   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3442     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3443   else
3444     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3445   fi
3446   ;;
3447
3448 newos6*)
3449   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3450   lt_cv_file_magic_cmd=/usr/bin/file
3451   lt_cv_file_magic_test_file=/usr/lib/libnls.so
3452   ;;
3453
3454 nto-qnx*)
3455   lt_cv_deplibs_check_method=unknown
3456   ;;
3457
3458 openbsd*)
3459   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3460     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3461   else
3462     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3463   fi
3464   ;;
3465
3466 osf3* | osf4* | osf5*)
3467   lt_cv_deplibs_check_method=pass_all
3468   ;;
3469
3470 solaris*)
3471   lt_cv_deplibs_check_method=pass_all
3472   ;;
3473
3474 sysv4 | sysv4.3*)
3475   case $host_vendor in
3476   motorola)
3477     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]]'
3478     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3479     ;;
3480   ncr)
3481     lt_cv_deplibs_check_method=pass_all
3482     ;;
3483   sequent)
3484     lt_cv_file_magic_cmd='/bin/file'
3485     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3486     ;;
3487   sni)
3488     lt_cv_file_magic_cmd='/bin/file'
3489     lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3490     lt_cv_file_magic_test_file=/lib/libc.so
3491     ;;
3492   siemens)
3493     lt_cv_deplibs_check_method=pass_all
3494     ;;
3495   pc)
3496     lt_cv_deplibs_check_method=pass_all
3497     ;;
3498   esac
3499   ;;
3500
3501 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3502   lt_cv_deplibs_check_method=pass_all
3503   ;;
3504 esac
3505 ])
3506 file_magic_cmd=$lt_cv_file_magic_cmd
3507 deplibs_check_method=$lt_cv_deplibs_check_method
3508 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3509 ])# AC_DEPLIBS_CHECK_METHOD
3510
3511
3512 # AC_PROG_NM
3513 # ----------
3514 # find the pathname to a BSD-compatible name lister
3515 AC_DEFUN([AC_PROG_NM],
3516 [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
3517 [if test -n "$NM"; then
3518   # Let the user override the test.
3519   lt_cv_path_NM="$NM"
3520 else
3521   lt_nm_to_check="${ac_tool_prefix}nm"
3522   if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
3523     lt_nm_to_check="$lt_nm_to_check nm"
3524   fi
3525   for lt_tmp_nm in $lt_nm_to_check; do
3526     lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3527     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3528       IFS="$lt_save_ifs"
3529       test -z "$ac_dir" && ac_dir=.
3530       tmp_nm="$ac_dir/$lt_tmp_nm"
3531       if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3532         # Check to see if the nm accepts a BSD-compat flag.
3533         # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3534         #   nm: unknown option "B" ignored
3535         # Tru64's nm complains that /dev/null is an invalid object file
3536         case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3537         */dev/null* | *'Invalid file or object type'*)
3538           lt_cv_path_NM="$tmp_nm -B"
3539           break
3540           ;;
3541         *)
3542           case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3543           */dev/null*)
3544             lt_cv_path_NM="$tmp_nm -p"
3545             break
3546             ;;
3547           *)
3548             lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3549             continue # so that we can try to find one that supports BSD flags
3550             ;;
3551           esac
3552           ;;
3553         esac
3554       fi
3555     done
3556     IFS="$lt_save_ifs"
3557   done
3558   test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3559 fi])
3560 NM="$lt_cv_path_NM"
3561 ])# AC_PROG_NM
3562
3563
3564 # AC_CHECK_LIBM
3565 # -------------
3566 # check for math library
3567 AC_DEFUN([AC_CHECK_LIBM],
3568 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3569 LIBM=
3570 case $host in
3571 *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3572   # These system don't have libm, or don't need it
3573   ;;
3574 *-ncr-sysv4.3*)
3575   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3576   AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3577   ;;
3578 *)
3579   AC_CHECK_LIB(m, cos, LIBM="-lm")
3580   ;;
3581 esac
3582 ])# AC_CHECK_LIBM
3583
3584
3585 # AC_LIBLTDL_CONVENIENCE([DIRECTORY])
3586 # -----------------------------------
3587 # sets LIBLTDL to the link flags for the libltdl convenience library and
3588 # LTDLINCL to the include flags for the libltdl header and adds
3589 # --enable-ltdl-convenience to the configure arguments.  Note that
3590 # AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
3591 # it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
3592 # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
3593 # (note the single quotes!).  If your package is not flat and you're not
3594 # using automake, define top_builddir and top_srcdir appropriately in
3595 # the Makefiles.
3596 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3597 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3598   case $enable_ltdl_convenience in
3599   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3600   "") enable_ltdl_convenience=yes
3601       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3602   esac
3603   LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
3604   LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3605   # For backwards non-gettext consistent compatibility...
3606   INCLTDL="$LTDLINCL"
3607 ])# AC_LIBLTDL_CONVENIENCE
3608
3609
3610 # AC_LIBLTDL_INSTALLABLE([DIRECTORY])
3611 # -----------------------------------
3612 # sets LIBLTDL to the link flags for the libltdl installable library and
3613 # LTDLINCL to the include flags for the libltdl header and adds
3614 # --enable-ltdl-install to the configure arguments.  Note that
3615 # AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
3616 # and an installed libltdl is not found, it is assumed to be `libltdl'.
3617 # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
3618 # '${top_srcdir}/' (note the single quotes!).  If your package is not
3619 # flat and you're not using automake, define top_builddir and top_srcdir
3620 # appropriately in the Makefiles.
3621 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
3622 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
3623 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3624   AC_CHECK_LIB(ltdl, lt_dlinit,
3625   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
3626   [if test x"$enable_ltdl_install" = xno; then
3627      AC_MSG_WARN([libltdl not installed, but installation disabled])
3628    else
3629      enable_ltdl_install=yes
3630    fi
3631   ])
3632   if test x"$enable_ltdl_install" = x"yes"; then
3633     ac_configure_args="$ac_configure_args --enable-ltdl-install"
3634     LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
3635     LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3636   else
3637     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
3638     LIBLTDL="-lltdl"
3639     LTDLINCL=
3640   fi
3641   # For backwards non-gettext consistent compatibility...
3642   INCLTDL="$LTDLINCL"
3643 ])# AC_LIBLTDL_INSTALLABLE
3644
3645
3646 # AC_LIBTOOL_CXX
3647 # --------------
3648 # enable support for C++ libraries
3649 AC_DEFUN([AC_LIBTOOL_CXX],
3650 [AC_REQUIRE([_LT_AC_LANG_CXX])
3651 ])# AC_LIBTOOL_CXX
3652
3653
3654 # _LT_AC_LANG_CXX
3655 # ---------------
3656 AC_DEFUN([_LT_AC_LANG_CXX],
3657 [AC_REQUIRE([AC_PROG_CXX])
3658 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3659 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
3660 ])# _LT_AC_LANG_CXX
3661
3662 # _LT_AC_PROG_CXXCPP
3663 # ------------------
3664 AC_DEFUN([_LT_AC_PROG_CXXCPP],
3665 [
3666 AC_REQUIRE([AC_PROG_CXX])
3667 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
3668     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
3669     (test "X$CXX" != "Xg++"))) ; then
3670   AC_PROG_CXXCPP
3671 fi
3672 ])# _LT_AC_PROG_CXXCPP
3673
3674 # AC_LIBTOOL_F77
3675 # --------------
3676 # enable support for Fortran 77 libraries
3677 AC_DEFUN([AC_LIBTOOL_F77],
3678 [AC_REQUIRE([_LT_AC_LANG_F77])
3679 ])# AC_LIBTOOL_F77
3680
3681
3682 # _LT_AC_LANG_F77
3683 # ---------------
3684 AC_DEFUN([_LT_AC_LANG_F77],
3685 [AC_REQUIRE([AC_PROG_F77])
3686 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
3687 ])# _LT_AC_LANG_F77
3688
3689
3690 # AC_LIBTOOL_GCJ
3691 # --------------
3692 # enable support for GCJ libraries
3693 AC_DEFUN([AC_LIBTOOL_GCJ],
3694 [AC_REQUIRE([_LT_AC_LANG_GCJ])
3695 ])# AC_LIBTOOL_GCJ
3696
3697
3698 # _LT_AC_LANG_GCJ
3699 # ---------------
3700 AC_DEFUN([_LT_AC_LANG_GCJ],
3701 [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
3702   [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
3703     [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
3704       [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
3705          [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
3706            [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
3707 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
3708 ])# _LT_AC_LANG_GCJ
3709
3710
3711 # AC_LIBTOOL_RC
3712 # -------------
3713 # enable support for Windows resource files
3714 AC_DEFUN([AC_LIBTOOL_RC],
3715 [AC_REQUIRE([LT_AC_PROG_RC])
3716 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
3717 ])# AC_LIBTOOL_RC
3718
3719
3720 # AC_LIBTOOL_LANG_C_CONFIG
3721 # ------------------------
3722 # Ensure that the configuration vars for the C compiler are
3723 # suitably defined.  Those variables are subsequently used by
3724 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3725 AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
3726 AC_DEFUN([_LT_AC_LANG_C_CONFIG],
3727 [lt_save_CC="$CC"
3728 AC_LANG_PUSH(C)
3729
3730 # Source file extension for C test sources.
3731 ac_ext=c
3732
3733 # Object file extension for compiled C test sources.
3734 objext=o
3735 _LT_AC_TAGVAR(objext, $1)=$objext
3736
3737 # Code to be used in simple compile tests
3738 lt_simple_compile_test_code="int some_variable = 0;\n"
3739
3740 # Code to be used in simple link tests
3741 lt_simple_link_test_code='int main(){return(0);}\n'
3742
3743 _LT_AC_SYS_COMPILER
3744
3745 # save warnings/boilerplate of simple test code
3746 _LT_COMPILER_BOILERPLATE
3747 _LT_LINKER_BOILERPLATE
3748
3749 ## CAVEAT EMPTOR:
3750 ## There is no encapsulation within the following macros, do not change
3751 ## the running order or otherwise move them around unless you know exactly
3752 ## what you are doing...
3753 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
3754 AC_LIBTOOL_PROG_COMPILER_PIC($1)
3755 AC_LIBTOOL_PROG_CC_C_O($1)
3756 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3757 AC_LIBTOOL_PROG_LD_SHLIBS($1)
3758 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3759 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3760 AC_LIBTOOL_SYS_LIB_STRIP
3761 AC_LIBTOOL_DLOPEN_SELF
3762
3763 # Report which library types will actually be built
3764 AC_MSG_CHECKING([if libtool supports shared libraries])
3765 AC_MSG_RESULT([$can_build_shared])
3766
3767 AC_MSG_CHECKING([whether to build shared libraries])
3768 test "$can_build_shared" = "no" && enable_shared=no
3769
3770 # On AIX, shared libraries and static libraries use the same namespace, and
3771 # are all built from PIC.
3772 case $host_os in
3773 aix3*)
3774   test "$enable_shared" = yes && enable_static=no
3775   if test -n "$RANLIB"; then
3776     archive_cmds="$archive_cmds~\$RANLIB \$lib"
3777     postinstall_cmds='$RANLIB $lib'
3778   fi
3779   ;;
3780
3781 aix4* | aix5*)
3782   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3783     test "$enable_shared" = yes && enable_static=no
3784   fi
3785     ;;
3786 esac
3787 AC_MSG_RESULT([$enable_shared])
3788
3789 AC_MSG_CHECKING([whether to build static libraries])
3790 # Make sure either enable_shared or enable_static is yes.
3791 test "$enable_shared" = yes || enable_static=yes
3792 AC_MSG_RESULT([$enable_static])
3793
3794 AC_LIBTOOL_CONFIG($1)
3795
3796 AC_LANG_POP
3797 CC="$lt_save_CC"
3798 ])# AC_LIBTOOL_LANG_C_CONFIG
3799
3800
3801 # AC_LIBTOOL_LANG_CXX_CONFIG
3802 # --------------------------
3803 # Ensure that the configuration vars for the C compiler are
3804 # suitably defined.  Those variables are subsequently used by
3805 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3806 AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
3807 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
3808 [AC_LANG_PUSH(C++)
3809 AC_REQUIRE([AC_PROG_CXX])
3810 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3811
3812 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3813 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
3814 _LT_AC_TAGVAR(always_export_symbols, $1)=no
3815 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
3816 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
3817 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3818 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
3819 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
3820 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3821 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
3822 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3823 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
3824 _LT_AC_TAGVAR(module_cmds, $1)=
3825 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
3826 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
3827 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
3828 _LT_AC_TAGVAR(no_undefined_flag, $1)=
3829 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3830 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
3831
3832 # Dependencies to place before and after the object being linked:
3833 _LT_AC_TAGVAR(predep_objects, $1)=
3834 _LT_AC_TAGVAR(postdep_objects, $1)=
3835 _LT_AC_TAGVAR(predeps, $1)=
3836 _LT_AC_TAGVAR(postdeps, $1)=
3837 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
3838
3839 # Source file extension for C++ test sources.
3840 ac_ext=cpp
3841
3842 # Object file extension for compiled C++ test sources.
3843 objext=o
3844 _LT_AC_TAGVAR(objext, $1)=$objext
3845
3846 # Code to be used in simple compile tests
3847 lt_simple_compile_test_code="int some_variable = 0;\n"
3848
3849 # Code to be used in simple link tests
3850 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
3851
3852 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
3853 _LT_AC_SYS_COMPILER
3854
3855 # save warnings/boilerplate of simple test code
3856 _LT_COMPILER_BOILERPLATE
3857 _LT_LINKER_BOILERPLATE
3858
3859 # Allow CC to be a program name with arguments.
3860 lt_save_CC=$CC
3861 lt_save_LD=$LD
3862 lt_save_GCC=$GCC
3863 GCC=$GXX
3864 lt_save_with_gnu_ld=$with_gnu_ld
3865 lt_save_path_LD=$lt_cv_path_LD
3866 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
3867   lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
3868 else
3869   $as_unset lt_cv_prog_gnu_ld
3870 fi
3871 if test -n "${lt_cv_path_LDCXX+set}"; then
3872   lt_cv_path_LD=$lt_cv_path_LDCXX
3873 else
3874   $as_unset lt_cv_path_LD
3875 fi
3876 test -z "${LDCXX+set}" || LD=$LDCXX
3877 CC=${CXX-"c++"}
3878 compiler=$CC
3879 _LT_AC_TAGVAR(compiler, $1)=$CC
3880 _LT_CC_BASENAME([$compiler])
3881
3882 # We don't want -fno-exception wen compiling C++ code, so set the
3883 # no_builtin_flag separately
3884 if test "$GXX" = yes; then
3885   _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3886 else
3887   _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3888 fi
3889
3890 if test "$GXX" = yes; then
3891   # Set up default GNU C++ configuration
3892
3893   AC_PROG_LD
3894
3895   # Check if GNU C++ uses GNU ld as the underlying linker, since the
3896   # archiving commands below assume that GNU ld is being used.
3897   if test "$with_gnu_ld" = yes; then
3898     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3899     _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'
3900
3901     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3902     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3903
3904     # If archive_cmds runs LD, not CC, wlarc should be empty
3905     # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
3906     #     investigate it a little bit more. (MM)
3907     wlarc='${wl}'
3908
3909     # ancient GNU ld didn't support --whole-archive et. al.
3910     if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
3911         grep 'no-whole-archive' > /dev/null; then
3912       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3913     else
3914       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3915     fi
3916   else
3917     with_gnu_ld=no
3918     wlarc=
3919
3920     # A generic and very simple default shared library creation
3921     # command for GNU C++ for the case where it uses the native
3922     # linker, instead of GNU ld.  If possible, this setting should
3923     # overridden to take advantage of the native linker features on
3924     # the platform it is being used on.
3925     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3926   fi
3927
3928   # Commands to make compiler produce verbose output that lists
3929   # what "hidden" libraries, object files and flags are used when
3930   # linking a shared library.
3931   output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3932
3933 else
3934   GXX=no
3935   with_gnu_ld=no
3936   wlarc=
3937 fi
3938
3939 # PORTME: fill in a description of your system's C++ link characteristics
3940 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
3941 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
3942 case $host_os in
3943   aix3*)
3944     # FIXME: insert proper C++ library support
3945     _LT_AC_TAGVAR(ld_shlibs, $1)=no
3946     ;;
3947   aix4* | aix5*)
3948     if test "$host_cpu" = ia64; then
3949       # On IA64, the linker does run time linking by default, so we don't
3950       # have to do anything special.
3951       aix_use_runtimelinking=no
3952       exp_sym_flag='-Bexport'
3953       no_entry_flag=""
3954     else
3955       aix_use_runtimelinking=no
3956
3957       # Test if we are trying to use run time linking or normal
3958       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
3959       # need to do runtime linking.
3960       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
3961         for ld_flag in $LDFLAGS; do
3962           case $ld_flag in
3963           *-brtl*)
3964             aix_use_runtimelinking=yes
3965             break
3966             ;;
3967           esac
3968         done
3969         ;;
3970       esac
3971
3972       exp_sym_flag='-bexport'
3973       no_entry_flag='-bnoentry'
3974     fi
3975
3976     # When large executables or shared objects are built, AIX ld can
3977     # have problems creating the table of contents.  If linking a library
3978     # or program results in "error TOC overflow" add -mminimal-toc to
3979     # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
3980     # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
3981
3982     _LT_AC_TAGVAR(archive_cmds, $1)=''
3983     _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3984     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3985     _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3986
3987     if test "$GXX" = yes; then
3988       case $host_os in aix4.[[012]]|aix4.[[012]].*)
3989       # We only want to do this on AIX 4.2 and lower, the check
3990       # below for broken collect2 doesn't work under 4.3+
3991         collect2name=`${CC} -print-prog-name=collect2`
3992         if test -f "$collect2name" && \
3993            strings "$collect2name" | grep resolve_lib_name >/dev/null
3994         then
3995           # We have reworked collect2
3996           _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3997         else
3998           # We have old collect2
3999           _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4000           # It fails to find uninstalled libraries when the uninstalled
4001           # path is not listed in the libpath.  Setting hardcode_minus_L
4002           # to unsupported forces relinking
4003           _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4004           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4005           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4006         fi
4007         ;;
4008       esac
4009       shared_flag='-shared'
4010       if test "$aix_use_runtimelinking" = yes; then
4011         shared_flag="$shared_flag "'${wl}-G'
4012       fi
4013     else
4014       # not using gcc
4015       if test "$host_cpu" = ia64; then
4016         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4017         # chokes on -Wl,-G. The following line is correct:
4018         shared_flag='-G'
4019       else
4020         if test "$aix_use_runtimelinking" = yes; then
4021           shared_flag='${wl}-G'
4022         else
4023           shared_flag='${wl}-bM:SRE'
4024         fi
4025       fi
4026     fi
4027
4028     # It seems that -bexpall does not export symbols beginning with
4029     # underscore (_), so it is better to generate a list of symbols to export.
4030     _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4031     if test "$aix_use_runtimelinking" = yes; then
4032       # Warning - without using the other runtime loading flags (-brtl),
4033       # -berok will link without error, but may produce a broken library.
4034       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
4035       # Determine the default libpath from the value encoded in an empty executable.
4036       _LT_AC_SYS_LIBPATH_AIX
4037       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4038
4039       _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"
4040      else
4041       if test "$host_cpu" = ia64; then
4042         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4043         _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4044         _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"
4045       else
4046         # Determine the default libpath from the value encoded in an empty executable.
4047         _LT_AC_SYS_LIBPATH_AIX
4048         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4049         # Warning - without using the other run time loading flags,
4050         # -berok will link without error, but may produce a broken library.
4051         _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4052         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4053         # Exported symbols can be pulled into shared objects from archives
4054         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4055         _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
4056         # This is similar to how AIX traditionally builds its shared libraries.
4057         _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'
4058       fi
4059     fi
4060     ;;
4061
4062   beos*)
4063     if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
4064       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4065       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4066       # support --undefined.  This deserves some investigation.  FIXME
4067       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4068     else
4069       _LT_AC_TAGVAR(ld_shlibs, $1)=no
4070     fi
4071     ;;
4072
4073   chorus*)
4074     case $cc_basename in
4075       *)
4076         # FIXME: insert proper C++ library support
4077         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4078         ;;
4079     esac
4080     ;;
4081
4082   cygwin* | mingw* | pw32*)
4083     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4084     # as there is no search path for DLLs.
4085     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4086     _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4087     _LT_AC_TAGVAR(always_export_symbols, $1)=no
4088     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4089
4090     if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
4091       _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'
4092       # If the export-symbols file already is a .def file (1st line
4093       # is EXPORTS), use it as is; otherwise, prepend...
4094       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4095         cp $export_symbols $output_objdir/$soname.def;
4096       else
4097         echo EXPORTS > $output_objdir/$soname.def;
4098         cat $export_symbols >> $output_objdir/$soname.def;
4099       fi~
4100       $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'
4101     else
4102       _LT_AC_TAGVAR(ld_shlibs, $1)=no
4103     fi
4104   ;;
4105       darwin* | rhapsody*)
4106         case $host_os in
4107         rhapsody* | darwin1.[[012]])
4108          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
4109          ;;
4110        *) # Darwin 1.3 on
4111          if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
4112            _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
4113          else
4114            case ${MACOSX_DEPLOYMENT_TARGET} in
4115              10.[[012]])
4116                _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
4117                ;;
4118              10.*)
4119                _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
4120                ;;
4121            esac
4122          fi
4123          ;;
4124         esac
4125       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4126       _LT_AC_TAGVAR(hardcode_direct, $1)=no
4127       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
4128       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4129       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
4130       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4131
4132     if test "$GXX" = yes ; then
4133       lt_int_apple_cc_single_mod=no
4134       output_verbose_link_cmd='echo'
4135       if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
4136        lt_int_apple_cc_single_mod=yes
4137       fi
4138       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
4139        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
4140       else
4141           _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'
4142         fi
4143         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
4144         # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
4145           if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
4146             _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}'
4147           else
4148             _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}'
4149           fi
4150             _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}'
4151       else
4152       case $cc_basename in
4153         xlc*)
4154          output_verbose_link_cmd='echo'
4155           _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'
4156           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
4157           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
4158           _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}'
4159           _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}'
4160           ;;
4161        *)
4162          _LT_AC_TAGVAR(ld_shlibs, $1)=no
4163           ;;
4164       esac
4165       fi
4166         ;;
4167
4168   dgux*)
4169     case $cc_basename in
4170       ec++*)
4171         # FIXME: insert proper C++ library support
4172         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4173         ;;
4174       ghcx*)
4175         # Green Hills C++ Compiler
4176         # FIXME: insert proper C++ library support
4177         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4178         ;;
4179       *)
4180         # FIXME: insert proper C++ library support
4181         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4182         ;;
4183     esac
4184     ;;
4185   freebsd[[12]]*)
4186     # C++ shared libraries reported to be fairly broken before switch to ELF
4187     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4188     ;;
4189   freebsd-elf*)
4190     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4191     ;;
4192   freebsd* | kfreebsd*-gnu | dragonfly*)
4193     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
4194     # conventions
4195     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
4196     ;;
4197   gnu*)
4198     ;;
4199   hpux9*)
4200     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4201     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4202     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4203     _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4204     _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4205                                 # but as the default
4206                                 # location of the library.
4207
4208     case $cc_basename in
4209     CC*)
4210       # FIXME: insert proper C++ library support
4211       _LT_AC_TAGVAR(ld_shlibs, $1)=no
4212       ;;
4213     aCC*)
4214       _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'
4215       # Commands to make compiler produce verbose output that lists
4216       # what "hidden" libraries, object files and flags are used when
4217       # linking a shared library.
4218       #
4219       # There doesn't appear to be a way to prevent this compiler from
4220       # explicitly linking system object files so we need to strip them
4221       # from the output so that they don't get included in the library
4222       # dependencies.
4223       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'
4224       ;;
4225     *)
4226       if test "$GXX" = yes; then
4227         _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'
4228       else
4229         # FIXME: insert proper C++ library support
4230         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4231       fi
4232       ;;
4233     esac
4234     ;;
4235   hpux10*|hpux11*)
4236     if test $with_gnu_ld = no; then
4237       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4238       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4239
4240       case $host_cpu in
4241       hppa*64*|ia64*)
4242         _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4243         ;;
4244       *)
4245         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4246         ;;
4247       esac
4248     fi
4249     case $host_cpu in
4250     hppa*64*|ia64*)
4251       _LT_AC_TAGVAR(hardcode_direct, $1)=no
4252       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4253       ;;
4254     *)
4255       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4256       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4257                                               # but as the default
4258                                               # location of the library.
4259       ;;
4260     esac
4261
4262     case $cc_basename in
4263       CC*)
4264         # FIXME: insert proper C++ library support
4265         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4266         ;;
4267       aCC*)
4268         case $host_cpu in
4269         hppa*64*)
4270           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4271           ;;
4272         ia64*)
4273           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4274           ;;
4275         *)
4276           _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'
4277           ;;
4278         esac
4279         # Commands to make compiler produce verbose output that lists
4280         # what "hidden" libraries, object files and flags are used when
4281         # linking a shared library.
4282         #
4283         # There doesn't appear to be a way to prevent this compiler from
4284         # explicitly linking system object files so we need to strip them
4285         # from the output so that they don't get included in the library
4286         # dependencies.
4287         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'
4288         ;;
4289       *)
4290         if test "$GXX" = yes; then
4291           if test $with_gnu_ld = no; then
4292             case $host_cpu in
4293             hppa*64*)
4294               _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4295               ;;
4296             ia64*)
4297               _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'
4298               ;;
4299             *)
4300               _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'
4301               ;;
4302             esac
4303           fi
4304         else
4305           # FIXME: insert proper C++ library support
4306           _LT_AC_TAGVAR(ld_shlibs, $1)=no
4307         fi
4308         ;;
4309     esac
4310     ;;
4311   interix3*)
4312     _LT_AC_TAGVAR(hardcode_direct, $1)=no
4313     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4314     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4315     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4316     # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4317     # Instead, shared libraries are loaded at an image base (0x10000000 by
4318     # default) and relocated if they conflict, which is a slow very memory
4319     # consuming and fragmenting process.  To avoid this, we pick a random,
4320     # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4321     # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
4322     _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'
4323     _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'
4324     ;;
4325   irix5* | irix6*)
4326     case $cc_basename in
4327       CC*)
4328         # SGI C++
4329         _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'
4330
4331         # Archives containing C++ object files must be created using
4332         # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
4333         # necessary to make sure instantiated templates are included
4334         # in the archive.
4335         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
4336         ;;
4337       *)
4338         if test "$GXX" = yes; then
4339           if test "$with_gnu_ld" = no; then
4340             _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'
4341           else
4342             _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'
4343           fi
4344         fi
4345         _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4346         ;;
4347     esac
4348     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4349     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4350     ;;
4351   linux*)
4352     case $cc_basename in
4353       KCC*)
4354         # Kuck and Associates, Inc. (KAI) C++ Compiler
4355
4356         # KCC will only create a shared library if the output file
4357         # ends with ".so" (or ".sl" for HP-UX), so rename the library
4358         # to its proper name (with version) after linking.
4359         _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'
4360         _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'
4361         # Commands to make compiler produce verbose output that lists
4362         # what "hidden" libraries, object files and flags are used when
4363         # linking a shared library.
4364         #
4365         # There doesn't appear to be a way to prevent this compiler from
4366         # explicitly linking system object files so we need to strip them
4367         # from the output so that they don't get included in the library
4368         # dependencies.
4369         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'
4370
4371         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
4372         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4373
4374         # Archives containing C++ object files must be created using
4375         # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4376         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4377         ;;
4378       icpc*)
4379         # Intel C++
4380         with_gnu_ld=yes
4381         # version 8.0 and above of icpc choke on multiply defined symbols
4382         # if we add $predep_objects and $postdep_objects, however 7.1 and
4383         # earlier do not add the objects themselves.
4384         case `$CC -V 2>&1` in
4385         *"Version 7."*)
4386           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4387           _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'
4388           ;;
4389         *)  # Version 8.0 or newer
4390           tmp_idyn=
4391           case $host_cpu in
4392             ia64*) tmp_idyn=' -i_dynamic';;
4393           esac
4394           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4395           _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'
4396           ;;
4397         esac
4398         _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4399         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4400         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4401         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
4402         ;;
4403       pgCC*)
4404         # Portland Group C++ compiler
4405         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
4406         _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'
4407
4408         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
4409         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4410         _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'
4411         ;;
4412       cxx*)
4413         # Compaq C++
4414         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4415         _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'
4416
4417         runpath_var=LD_RUN_PATH
4418         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4419         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4420
4421         # Commands to make compiler produce verbose output that lists
4422         # what "hidden" libraries, object files and flags are used when
4423         # linking a shared library.
4424         #
4425         # There doesn't appear to be a way to prevent this compiler from
4426         # explicitly linking system object files so we need to strip them
4427         # from the output so that they don't get included in the library
4428         # dependencies.
4429         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'
4430         ;;
4431     esac
4432     ;;
4433   lynxos*)
4434     # FIXME: insert proper C++ library support
4435     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4436     ;;
4437   m88k*)
4438     # FIXME: insert proper C++ library support
4439     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4440     ;;
4441   mvs*)
4442     case $cc_basename in
4443       cxx*)
4444         # FIXME: insert proper C++ library support
4445         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4446         ;;
4447       *)
4448         # FIXME: insert proper C++ library support
4449         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4450         ;;
4451     esac
4452     ;;
4453   netbsd*)
4454     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4455       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
4456       wlarc=
4457       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4458       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4459       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4460     fi
4461     # Workaround some broken pre-1.5 toolchains
4462     output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
4463     ;;
4464   openbsd2*)
4465     # C++ shared libraries are fairly broken
4466     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4467     ;;
4468   openbsd*)
4469     _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4470     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4471     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
4472     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4473     if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4474       _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'
4475       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4476       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4477     fi
4478     output_verbose_link_cmd='echo'
4479     ;;
4480   osf3*)
4481     case $cc_basename in
4482       KCC*)
4483         # Kuck and Associates, Inc. (KAI) C++ Compiler
4484
4485         # KCC will only create a shared library if the output file
4486         # ends with ".so" (or ".sl" for HP-UX), so rename the library
4487         # to its proper name (with version) after linking.
4488         _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'
4489
4490         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4491         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4492
4493         # Archives containing C++ object files must be created using
4494         # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4495         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4496
4497         ;;
4498       RCC*)
4499         # Rational C++ 2.4.1
4500         # FIXME: insert proper C++ library support
4501         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4502         ;;
4503       cxx*)
4504         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4505         _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'
4506
4507         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4508         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4509
4510         # Commands to make compiler produce verbose output that lists
4511         # what "hidden" libraries, object files and flags are used when
4512         # linking a shared library.
4513         #
4514         # There doesn't appear to be a way to prevent this compiler from
4515         # explicitly linking system object files so we need to strip them
4516         # from the output so that they don't get included in the library
4517         # dependencies.
4518         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'
4519         ;;
4520       *)
4521         if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4522           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4523           _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'
4524
4525           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4526           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4527
4528           # Commands to make compiler produce verbose output that lists
4529           # what "hidden" libraries, object files and flags are used when
4530           # linking a shared library.
4531           output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4532
4533         else
4534           # FIXME: insert proper C++ library support
4535           _LT_AC_TAGVAR(ld_shlibs, $1)=no
4536         fi
4537         ;;
4538     esac
4539     ;;
4540   osf4* | osf5*)
4541     case $cc_basename in
4542       KCC*)
4543         # Kuck and Associates, Inc. (KAI) C++ Compiler
4544
4545         # KCC will only create a shared library if the output file
4546         # ends with ".so" (or ".sl" for HP-UX), so rename the library
4547         # to its proper name (with version) after linking.
4548         _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'
4549
4550         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4551         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4552
4553         # Archives containing C++ object files must be created using
4554         # the KAI C++ compiler.
4555         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
4556         ;;
4557       RCC*)
4558         # Rational C++ 2.4.1
4559         # FIXME: insert proper C++ library support
4560         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4561         ;;
4562       cxx*)
4563         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4564         _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'
4565         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
4566           echo "-hidden">> $lib.exp~
4567           $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~
4568           $rm $lib.exp'
4569
4570         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4571         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4572
4573         # Commands to make compiler produce verbose output that lists
4574         # what "hidden" libraries, object files and flags are used when
4575         # linking a shared library.
4576         #
4577         # There doesn't appear to be a way to prevent this compiler from
4578         # explicitly linking system object files so we need to strip them
4579         # from the output so that they don't get included in the library
4580         # dependencies.
4581         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'
4582         ;;
4583       *)
4584         if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4585           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4586          _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'
4587
4588           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4589           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4590
4591           # Commands to make compiler produce verbose output that lists
4592           # what "hidden" libraries, object files and flags are used when
4593           # linking a shared library.
4594           output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4595
4596         else
4597           # FIXME: insert proper C++ library support
4598           _LT_AC_TAGVAR(ld_shlibs, $1)=no
4599         fi
4600         ;;
4601     esac
4602     ;;
4603   psos*)
4604     # FIXME: insert proper C++ library support
4605     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4606     ;;
4607   sunos4*)
4608     case $cc_basename in
4609       CC*)
4610         # Sun C++ 4.x
4611         # FIXME: insert proper C++ library support
4612         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4613         ;;
4614       lcc*)
4615         # Lucid
4616         # FIXME: insert proper C++ library support
4617         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4618         ;;
4619       *)
4620         # FIXME: insert proper C++ library support
4621         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4622         ;;
4623     esac
4624     ;;
4625   solaris*)
4626     case $cc_basename in
4627       CC*)
4628         # Sun C++ 4.2, 5.x and Centerline C++
4629         _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
4630         _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
4631         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4632         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4633         $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'
4634
4635         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4636         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4637         case $host_os in
4638           solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4639           *)
4640             # The C++ compiler is used as linker so we must use $wl
4641             # flag to pass the commands to the underlying system
4642             # linker. We must also pass each convience library through
4643             # to the system linker between allextract/defaultextract.
4644             # The C++ compiler will combine linker options so we
4645             # cannot just pass the convience library names through
4646             # without $wl.
4647             # Supported since Solaris 2.6 (maybe 2.5.1?)
4648             _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'
4649             ;;
4650         esac
4651         _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4652
4653         output_verbose_link_cmd='echo'
4654
4655         # Archives containing C++ object files must be created using
4656         # "CC -xar", where "CC" is the Sun C++ compiler.  This is
4657         # necessary to make sure instantiated templates are included
4658         # in the archive.
4659         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
4660         ;;
4661       gcx*)
4662         # Green Hills C++ Compiler
4663         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4664
4665         # The C++ compiler must be used to create the archive.
4666         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
4667         ;;
4668       *)
4669         # GNU C++ compiler with Solaris linker
4670         if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4671           _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
4672           if $CC --version | grep -v '^2\.7' > /dev/null; then
4673             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4674             _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4675                 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4676
4677             # Commands to make compiler produce verbose output that lists
4678             # what "hidden" libraries, object files and flags are used when
4679             # linking a shared library.
4680             output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4681           else
4682             # g++ 2.7 appears to require `-G' NOT `-shared' on this
4683             # platform.
4684             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4685             _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4686                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4687
4688             # Commands to make compiler produce verbose output that lists
4689             # what "hidden" libraries, object files and flags are used when
4690             # linking a shared library.
4691             output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4692           fi
4693
4694           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
4695         fi
4696         ;;
4697     esac
4698     ;;
4699   sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
4700     _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4701     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4702     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4703     runpath_var='LD_RUN_PATH'
4704
4705     case $cc_basename in
4706       CC*)
4707         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4708         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4709         ;;
4710       *)
4711         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4712         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4713         ;;
4714     esac
4715     ;;
4716   sysv5* | sco3.2v5* | sco5v6*)
4717     # Note: We can NOT use -z defs as we might desire, because we do not
4718     # link with -lc, and that would cause any symbols used from libc to
4719     # always be unresolved, which means just about no library would
4720     # ever link correctly.  If we're not using GNU ld we use -z text
4721     # though, which does catch some bad symbols but isn't as heavy-handed
4722     # as -z defs.
4723     # For security reasons, it is highly recommended that you always
4724     # use absolute paths for naming shared libraries, and exclude the
4725     # DT_RUNPATH tag from executables and libraries.  But doing so
4726     # requires that you compile everything twice, which is a pain.
4727     # So that behaviour is only enabled if SCOABSPATH is set to a
4728     # non-empty value in the environment.  Most likely only useful for
4729     # creating official distributions of packages.
4730     # This is a hack until libtool officially supports absolute path
4731     # names for shared libraries.
4732     _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4733     _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
4734     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4735     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4736     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
4737     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
4738     _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4739     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
4740     runpath_var='LD_RUN_PATH'
4741
4742     case $cc_basename in
4743       CC*)
4744         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4745         _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'
4746         ;;
4747       *)
4748         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4749         _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'
4750         ;;
4751     esac
4752     ;;
4753   tandem*)
4754     case $cc_basename in
4755       NCC*)
4756         # NonStop-UX NCC 3.20
4757         # FIXME: insert proper C++ library support
4758         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4759         ;;
4760       *)
4761         # FIXME: insert proper C++ library support
4762         _LT_AC_TAGVAR(ld_shlibs, $1)=no
4763         ;;
4764     esac
4765     ;;
4766   vxworks*)
4767     # FIXME: insert proper C++ library support
4768     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4769     ;;
4770   *)
4771     # FIXME: insert proper C++ library support
4772     _LT_AC_TAGVAR(ld_shlibs, $1)=no
4773     ;;
4774 esac
4775 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
4776 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
4777
4778 _LT_AC_TAGVAR(GCC, $1)="$GXX"
4779 _LT_AC_TAGVAR(LD, $1)="$LD"
4780
4781 ## CAVEAT EMPTOR:
4782 ## There is no encapsulation within the following macros, do not change
4783 ## the running order or otherwise move them around unless you know exactly
4784 ## what you are doing...
4785 AC_LIBTOOL_POSTDEP_PREDEP($1)
4786 AC_LIBTOOL_PROG_COMPILER_PIC($1)
4787 AC_LIBTOOL_PROG_CC_C_O($1)
4788 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
4789 AC_LIBTOOL_PROG_LD_SHLIBS($1)
4790 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
4791 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
4792
4793 AC_LIBTOOL_CONFIG($1)
4794
4795 AC_LANG_POP
4796 CC=$lt_save_CC
4797 LDCXX=$LD
4798 LD=$lt_save_LD
4799 GCC=$lt_save_GCC
4800 with_gnu_ldcxx=$with_gnu_ld
4801 with_gnu_ld=$lt_save_with_gnu_ld
4802 lt_cv_path_LDCXX=$lt_cv_path_LD
4803 lt_cv_path_LD=$lt_save_path_LD
4804 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
4805 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
4806 ])# AC_LIBTOOL_LANG_CXX_CONFIG
4807
4808 # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
4809 # ------------------------------------
4810 # Figure out "hidden" library dependencies from verbose
4811 # compiler output when linking a shared library.
4812 # Parse the compiler output and extract the necessary
4813 # objects, libraries and library flags.
4814 AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
4815 dnl we can't use the lt_simple_compile_test_code here,
4816 dnl because it contains code intended for an executable,
4817 dnl not a library.  It's possible we should let each
4818 dnl tag define a new lt_????_link_test_code variable,
4819 dnl but it's only used here...
4820 ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
4821 int a;
4822 void foo (void) { a = 0; }
4823 EOF
4824 ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
4825 class Foo
4826 {
4827 public:
4828   Foo (void) { a = 0; }
4829 private:
4830   int a;
4831 };
4832 EOF
4833 ],[$1],[F77],[cat > conftest.$ac_ext <<EOF
4834       subroutine foo
4835       implicit none
4836       integer*4 a
4837       a=0
4838       return
4839       end
4840 EOF
4841 ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
4842 public class foo {
4843   private int a;
4844   public void bar (void) {
4845     a = 0;
4846   }
4847 };
4848 EOF
4849 ])
4850 dnl Parse the compiler output and extract the necessary
4851 dnl objects, libraries and library flags.
4852 if AC_TRY_EVAL(ac_compile); then
4853   # Parse the compiler output and extract the necessary
4854   # objects, libraries and library flags.
4855
4856   # Sentinel used to keep track of whether or not we are before
4857   # the conftest object file.
4858   pre_test_object_deps_done=no
4859
4860   # The `*' in the case matches for architectures that use `case' in
4861   # $output_verbose_cmd can trigger glob expansion during the loop
4862   # eval without this substitution.
4863   output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
4864
4865   for p in `eval $output_verbose_link_cmd`; do
4866     case $p in
4867
4868     -L* | -R* | -l*)
4869        # Some compilers place space between "-{L,R}" and the path.
4870        # Remove the space.
4871        if test $p = "-L" \
4872           || test $p = "-R"; then
4873          prev=$p
4874          continue
4875        else
4876          prev=
4877        fi
4878
4879        if test "$pre_test_object_deps_done" = no; then
4880          case $p in
4881          -L* | -R*)
4882            # Internal compiler library paths should come after those
4883            # provided the user.  The postdeps already come after the
4884            # user supplied libs so there is no need to process them.
4885            if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
4886              _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
4887            else
4888              _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
4889            fi
4890            ;;
4891          # The "-l" case would never come before the object being
4892          # linked, so don't bother handling this case.
4893          esac
4894        else
4895          if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
4896            _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
4897          else
4898            _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
4899          fi
4900        fi
4901        ;;
4902
4903     *.$objext)
4904        # This assumes that the test object file only shows up
4905        # once in the compiler output.
4906        if test "$p" = "conftest.$objext"; then
4907          pre_test_object_deps_done=yes
4908          continue
4909        fi
4910
4911        if test "$pre_test_object_deps_done" = no; then
4912          if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
4913            _LT_AC_TAGVAR(predep_objects, $1)="$p"
4914          else
4915            _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
4916          fi
4917        else
4918          if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
4919            _LT_AC_TAGVAR(postdep_objects, $1)="$p"
4920          else
4921            _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
4922          fi
4923        fi
4924        ;;
4925
4926     *) ;; # Ignore the rest.
4927
4928     esac
4929   done
4930
4931   # Clean up.
4932   rm -f a.out a.exe
4933 else
4934   echo "libtool.m4: error: problem compiling $1 test program"
4935 fi
4936
4937 $rm -f confest.$objext
4938
4939 # PORTME: override above test on systems where it is broken
4940 ifelse([$1],[CXX],
4941 [case $host_os in
4942 interix3*)
4943   # Interix 3.5 installs completely hosed .la files for C++, so rather than
4944   # hack all around it, let's just trust "g++" to DTRT.
4945   _LT_AC_TAGVAR(predep_objects,$1)=
4946   _LT_AC_TAGVAR(postdep_objects,$1)=
4947   _LT_AC_TAGVAR(postdeps,$1)=
4948   ;;
4949
4950 solaris*)
4951   case $cc_basename in
4952   CC*)
4953     # Adding this requires a known-good setup of shared libraries for
4954     # Sun compiler versions before 5.6, else PIC objects from an old
4955     # archive will be linked into the output, leading to subtle bugs.
4956     _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
4957     ;;
4958   esac
4959   ;;
4960 esac
4961 ])
4962
4963 case " $_LT_AC_TAGVAR(postdeps, $1) " in
4964 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
4965 esac
4966 ])# AC_LIBTOOL_POSTDEP_PREDEP
4967
4968 # AC_LIBTOOL_LANG_F77_CONFIG
4969 # --------------------------
4970 # Ensure that the configuration vars for the C compiler are
4971 # suitably defined.  Those variables are subsequently used by
4972 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
4973 AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
4974 AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
4975 [AC_REQUIRE([AC_PROG_F77])
4976 AC_LANG_PUSH(Fortran 77)
4977
4978 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4979 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
4980 _LT_AC_TAGVAR(always_export_symbols, $1)=no
4981 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
4982 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
4983 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4984 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
4985 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4986 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4987 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
4988 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
4989 _LT_AC_TAGVAR(module_cmds, $1)=
4990 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
4991 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
4992 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
4993 _LT_AC_TAGVAR(no_undefined_flag, $1)=
4994 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4995 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4996
4997 # Source file extension for f77 test sources.
4998 ac_ext=f
4999
5000 # Object file extension for compiled f77 test sources.
5001 objext=o
5002 _LT_AC_TAGVAR(objext, $1)=$objext
5003
5004 # Code to be used in simple compile tests
5005 lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
5006
5007 # Code to be used in simple link tests
5008 lt_simple_link_test_code="      program t\n      end\n"
5009
5010 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5011 _LT_AC_SYS_COMPILER
5012
5013 # save warnings/boilerplate of simple test code
5014 _LT_COMPILER_BOILERPLATE
5015 _LT_LINKER_BOILERPLATE
5016
5017 # Allow CC to be a program name with arguments.
5018 lt_save_CC="$CC"
5019 CC=${F77-"f77"}
5020 compiler=$CC
5021 _LT_AC_TAGVAR(compiler, $1)=$CC
5022 _LT_CC_BASENAME([$compiler])
5023
5024 AC_MSG_CHECKING([if libtool supports shared libraries])
5025 AC_MSG_RESULT([$can_build_shared])
5026
5027 AC_MSG_CHECKING([whether to build shared libraries])
5028 test "$can_build_shared" = "no" && enable_shared=no
5029
5030 # On AIX, shared libraries and static libraries use the same namespace, and
5031 # are all built from PIC.
5032 case $host_os in
5033 aix3*)
5034   test "$enable_shared" = yes && enable_static=no
5035   if test -n "$RANLIB"; then
5036     archive_cmds="$archive_cmds~\$RANLIB \$lib"
5037     postinstall_cmds='$RANLIB $lib'
5038   fi
5039   ;;
5040 aix4* | aix5*)
5041   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5042     test "$enable_shared" = yes && enable_static=no
5043   fi
5044   ;;
5045 esac
5046 AC_MSG_RESULT([$enable_shared])
5047
5048 AC_MSG_CHECKING([whether to build static libraries])
5049 # Make sure either enable_shared or enable_static is yes.
5050 test "$enable_shared" = yes || enable_static=yes
5051 AC_MSG_RESULT([$enable_static])
5052
5053 _LT_AC_TAGVAR(GCC, $1)="$G77"
5054 _LT_AC_TAGVAR(LD, $1)="$LD"
5055
5056 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5057 AC_LIBTOOL_PROG_CC_C_O($1)
5058 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5059 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5060 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5061 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5062
5063 AC_LIBTOOL_CONFIG($1)
5064
5065 AC_LANG_POP
5066 CC="$lt_save_CC"
5067 ])# AC_LIBTOOL_LANG_F77_CONFIG
5068
5069
5070 # AC_LIBTOOL_LANG_GCJ_CONFIG
5071 # --------------------------
5072 # Ensure that the configuration vars for the C compiler are
5073 # suitably defined.  Those variables are subsequently used by
5074 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5075 AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
5076 AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
5077 [AC_LANG_SAVE
5078
5079 # Source file extension for Java test sources.
5080 ac_ext=java
5081
5082 # Object file extension for compiled Java test sources.
5083 objext=o
5084 _LT_AC_TAGVAR(objext, $1)=$objext
5085
5086 # Code to be used in simple compile tests
5087 lt_simple_compile_test_code="class foo {}\n"
5088
5089 # Code to be used in simple link tests
5090 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
5091
5092 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5093 _LT_AC_SYS_COMPILER
5094
5095 # save warnings/boilerplate of simple test code
5096 _LT_COMPILER_BOILERPLATE
5097 _LT_LINKER_BOILERPLATE
5098
5099 # Allow CC to be a program name with arguments.
5100 lt_save_CC="$CC"
5101 CC=${GCJ-"gcj"}
5102 compiler=$CC
5103 _LT_AC_TAGVAR(compiler, $1)=$CC
5104 _LT_CC_BASENAME([$compiler])
5105
5106 # GCJ did not exist at the time GCC didn't implicitly link libc in.
5107 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5108
5109 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5110
5111 ## CAVEAT EMPTOR:
5112 ## There is no encapsulation within the following macros, do not change
5113 ## the running order or otherwise move them around unless you know exactly
5114 ## what you are doing...
5115 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
5116 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5117 AC_LIBTOOL_PROG_CC_C_O($1)
5118 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5119 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5120 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5121 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5122
5123 AC_LIBTOOL_CONFIG($1)
5124
5125 AC_LANG_RESTORE
5126 CC="$lt_save_CC"
5127 ])# AC_LIBTOOL_LANG_GCJ_CONFIG
5128
5129
5130 # AC_LIBTOOL_LANG_RC_CONFIG
5131 # -------------------------
5132 # Ensure that the configuration vars for the Windows resource compiler are
5133 # suitably defined.  Those variables are subsequently used by
5134 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5135 AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
5136 AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
5137 [AC_LANG_SAVE
5138
5139 # Source file extension for RC test sources.
5140 ac_ext=rc
5141
5142 # Object file extension for compiled RC test sources.
5143 objext=o
5144 _LT_AC_TAGVAR(objext, $1)=$objext
5145
5146 # Code to be used in simple compile tests
5147 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
5148
5149 # Code to be used in simple link tests
5150 lt_simple_link_test_code="$lt_simple_compile_test_code"
5151
5152 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5153 _LT_AC_SYS_COMPILER
5154
5155 # save warnings/boilerplate of simple test code
5156 _LT_COMPILER_BOILERPLATE
5157 _LT_LINKER_BOILERPLATE
5158
5159 # Allow CC to be a program name with arguments.
5160 lt_save_CC="$CC"
5161 CC=${RC-"windres"}
5162 compiler=$CC
5163 _LT_AC_TAGVAR(compiler, $1)=$CC
5164 _LT_CC_BASENAME([$compiler])
5165 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
5166
5167 AC_LIBTOOL_CONFIG($1)
5168
5169 AC_LANG_RESTORE
5170 CC="$lt_save_CC"
5171 ])# AC_LIBTOOL_LANG_RC_CONFIG
5172
5173
5174 # AC_LIBTOOL_CONFIG([TAGNAME])
5175 # ----------------------------
5176 # If TAGNAME is not passed, then create an initial libtool script
5177 # with a default configuration from the untagged config vars.  Otherwise
5178 # add code to config.status for appending the configuration named by
5179 # TAGNAME from the matching tagged config vars.
5180 AC_DEFUN([AC_LIBTOOL_CONFIG],
5181 [# The else clause should only fire when bootstrapping the
5182 # libtool distribution, otherwise you forgot to ship ltmain.sh
5183 # with your package, and you will get complaints that there are
5184 # no rules to generate ltmain.sh.
5185 if test -f "$ltmain"; then
5186   # See if we are running on zsh, and set the options which allow our commands through
5187   # without removal of \ escapes.
5188   if test -n "${ZSH_VERSION+set}" ; then
5189     setopt NO_GLOB_SUBST
5190   fi
5191   # Now quote all the things that may contain metacharacters while being
5192   # careful not to overquote the AC_SUBSTed values.  We take copies of the
5193   # variables and quote the copies for generation of the libtool script.
5194   for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
5195     SED SHELL STRIP \
5196     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
5197     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
5198     deplibs_check_method reload_flag reload_cmds need_locks \
5199     lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
5200     lt_cv_sys_global_symbol_to_c_name_address \
5201     sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
5202     old_postinstall_cmds old_postuninstall_cmds \
5203     _LT_AC_TAGVAR(compiler, $1) \
5204     _LT_AC_TAGVAR(CC, $1) \
5205     _LT_AC_TAGVAR(LD, $1) \
5206     _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
5207     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
5208     _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
5209     _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
5210     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
5211     _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
5212     _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
5213     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
5214     _LT_AC_TAGVAR(old_archive_cmds, $1) \
5215     _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
5216     _LT_AC_TAGVAR(predep_objects, $1) \
5217     _LT_AC_TAGVAR(postdep_objects, $1) \
5218     _LT_AC_TAGVAR(predeps, $1) \
5219     _LT_AC_TAGVAR(postdeps, $1) \
5220     _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
5221     _LT_AC_TAGVAR(archive_cmds, $1) \
5222     _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
5223     _LT_AC_TAGVAR(postinstall_cmds, $1) \
5224     _LT_AC_TAGVAR(postuninstall_cmds, $1) \
5225     _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
5226     _LT_AC_TAGVAR(allow_undefined_flag, $1) \
5227     _LT_AC_TAGVAR(no_undefined_flag, $1) \
5228     _LT_AC_TAGVAR(export_symbols_cmds, $1) \
5229     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
5230     _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
5231     _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
5232     _LT_AC_TAGVAR(hardcode_automatic, $1) \
5233     _LT_AC_TAGVAR(module_cmds, $1) \
5234     _LT_AC_TAGVAR(module_expsym_cmds, $1) \
5235     _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
5236     _LT_AC_TAGVAR(exclude_expsyms, $1) \
5237     _LT_AC_TAGVAR(include_expsyms, $1); do
5238
5239     case $var in
5240     _LT_AC_TAGVAR(old_archive_cmds, $1) | \
5241     _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
5242     _LT_AC_TAGVAR(archive_cmds, $1) | \
5243     _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
5244     _LT_AC_TAGVAR(module_cmds, $1) | \
5245     _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
5246     _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
5247     _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
5248     extract_expsyms_cmds | reload_cmds | finish_cmds | \
5249     postinstall_cmds | postuninstall_cmds | \
5250     old_postinstall_cmds | old_postuninstall_cmds | \
5251     sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
5252       # Double-quote double-evaled strings.
5253       eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
5254       ;;
5255     *)
5256       eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
5257       ;;
5258     esac
5259   done
5260
5261   case $lt_echo in
5262   *'\[$]0 --fallback-echo"')
5263     lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
5264     ;;
5265   esac
5266
5267 ifelse([$1], [],
5268   [cfgfile="${ofile}T"
5269   trap "$rm \"$cfgfile\"; exit 1" 1 2 15
5270   $rm -f "$cfgfile"
5271   AC_MSG_NOTICE([creating $ofile])],
5272   [cfgfile="$ofile"])
5273
5274   cat <<__EOF__ >> "$cfgfile"
5275 ifelse([$1], [],
5276 [#! $SHELL
5277
5278 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
5279 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
5280 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
5281 #
5282 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
5283 # Free Software Foundation, Inc.
5284 #
5285 # This file is part of GNU Libtool:
5286 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5287 #
5288 # This program is free software; you can redistribute it and/or modify
5289 # it under the terms of the GNU General Public License as published by
5290 # the Free Software Foundation; either version 2 of the License, or
5291 # (at your option) any later version.
5292 #
5293 # This program is distributed in the hope that it will be useful, but
5294 # WITHOUT ANY WARRANTY; without even the implied warranty of
5295 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
5296 # General Public License for more details.
5297 #
5298 # You should have received a copy of the GNU General Public License
5299 # along with this program; if not, write to the Free Software
5300 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
5301 #
5302 # As a special exception to the GNU General Public License, if you
5303 # distribute this file as part of a program that contains a
5304 # configuration script generated by Autoconf, you may include it under
5305 # the same distribution terms that you use for the rest of that program.
5306
5307 # A sed program that does not truncate output.
5308 SED=$lt_SED
5309
5310 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
5311 Xsed="$SED -e 1s/^X//"
5312
5313 # The HP-UX ksh and POSIX shell print the target directory to stdout
5314 # if CDPATH is set.
5315 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5316
5317 # The names of the tagged configurations supported by this script.
5318 available_tags=
5319
5320 # ### BEGIN LIBTOOL CONFIG],
5321 [# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
5322
5323 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
5324
5325 # Shell to use when invoking shell scripts.
5326 SHELL=$lt_SHELL
5327
5328 # Whether or not to build shared libraries.
5329 build_libtool_libs=$enable_shared
5330
5331 # Whether or not to build static libraries.
5332 build_old_libs=$enable_static
5333
5334 # Whether or not to add -lc for building shared libraries.
5335 build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
5336
5337 # Whether or not to disallow shared libs when runtime libs are static
5338 allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
5339
5340 # Whether or not to optimize for fast installation.
5341 fast_install=$enable_fast_install
5342
5343 # The host system.
5344 host_alias=$host_alias
5345 host=$host
5346 host_os=$host_os
5347
5348 # The build system.
5349 build_alias=$build_alias
5350 build=$build
5351 build_os=$build_os
5352
5353 # An echo program that does not interpret backslashes.
5354 echo=$lt_echo
5355
5356 # The archiver.
5357 AR=$lt_AR
5358 AR_FLAGS=$lt_AR_FLAGS
5359
5360 # A C compiler.
5361 LTCC=$lt_LTCC
5362
5363 # LTCC compiler flags.
5364 LTCFLAGS=$lt_LTCFLAGS
5365
5366 # A language-specific compiler.
5367 CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
5368
5369 # Is the compiler the GNU C compiler?
5370 with_gcc=$_LT_AC_TAGVAR(GCC, $1)
5371
5372 # An ERE matcher.
5373 EGREP=$lt_EGREP
5374
5375 # The linker used to build libraries.
5376 LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
5377
5378 # Whether we need hard or soft links.
5379 LN_S=$lt_LN_S
5380
5381 # A BSD-compatible nm program.
5382 NM=$lt_NM
5383
5384 # A symbol stripping program
5385 STRIP=$lt_STRIP
5386
5387 # Used to examine libraries when file_magic_cmd begins "file"
5388 MAGIC_CMD=$MAGIC_CMD
5389
5390 # Used on cygwin: DLL creation program.
5391 DLLTOOL="$DLLTOOL"
5392
5393 # Used on cygwin: object dumper.
5394 OBJDUMP="$OBJDUMP"
5395
5396 # Used on cygwin: assembler.
5397 AS="$AS"
5398
5399 # The name of the directory that contains temporary libtool files.
5400 objdir=$objdir
5401
5402 # How to create reloadable object files.
5403 reload_flag=$lt_reload_flag
5404 reload_cmds=$lt_reload_cmds
5405
5406 # How to pass a linker flag through the compiler.
5407 wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
5408
5409 # Object file suffix (normally "o").
5410 objext="$ac_objext"
5411
5412 # Old archive suffix (normally "a").
5413 libext="$libext"
5414
5415 # Shared library suffix (normally ".so").
5416 shrext_cmds='$shrext_cmds'
5417
5418 # Executable file suffix (normally "").
5419 exeext="$exeext"
5420
5421 # Additional compiler flags for building library objects.
5422 pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
5423 pic_mode=$pic_mode
5424
5425 # What is the maximum length of a command?
5426 max_cmd_len=$lt_cv_sys_max_cmd_len
5427
5428 # Does compiler simultaneously support -c and -o options?
5429 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
5430
5431 # Must we lock files when doing compilation?
5432 need_locks=$lt_need_locks
5433
5434 # Do we need the lib prefix for modules?
5435 need_lib_prefix=$need_lib_prefix
5436
5437 # Do we need a version for libraries?
5438 need_version=$need_version
5439
5440 # Whether dlopen is supported.
5441 dlopen_support=$enable_dlopen
5442
5443 # Whether dlopen of programs is supported.
5444 dlopen_self=$enable_dlopen_self
5445
5446 # Whether dlopen of statically linked programs is supported.
5447 dlopen_self_static=$enable_dlopen_self_static
5448
5449 # Compiler flag to prevent dynamic linking.
5450 link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
5451
5452 # Compiler flag to turn off builtin functions.
5453 no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
5454
5455 # Compiler flag to allow reflexive dlopens.
5456 export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
5457
5458 # Compiler flag to generate shared objects directly from archives.
5459 whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
5460
5461 # Compiler flag to generate thread-safe objects.
5462 thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
5463
5464 # Library versioning type.
5465 version_type=$version_type
5466
5467 # Format of library name prefix.
5468 libname_spec=$lt_libname_spec
5469
5470 # List of archive names.  First name is the real one, the rest are links.
5471 # The last name is the one that the linker finds with -lNAME.
5472 library_names_spec=$lt_library_names_spec
5473
5474 # The coded name of the library, if different from the real name.
5475 soname_spec=$lt_soname_spec
5476
5477 # Commands used to build and install an old-style archive.
5478 RANLIB=$lt_RANLIB
5479 old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
5480 old_postinstall_cmds=$lt_old_postinstall_cmds
5481 old_postuninstall_cmds=$lt_old_postuninstall_cmds
5482
5483 # Create an old-style archive from a shared archive.
5484 old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
5485
5486 # Create a temporary old-style archive to link instead of a shared archive.
5487 old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
5488
5489 # Commands used to build and install a shared archive.
5490 archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
5491 archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
5492 postinstall_cmds=$lt_postinstall_cmds
5493 postuninstall_cmds=$lt_postuninstall_cmds
5494
5495 # Commands used to build a loadable module (assumed same as above if empty)
5496 module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
5497 module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
5498
5499 # Commands to strip libraries.
5500 old_striplib=$lt_old_striplib
5501 striplib=$lt_striplib
5502
5503 # Dependencies to place before the objects being linked to create a
5504 # shared library.
5505 predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
5506
5507 # Dependencies to place after the objects being linked to create a
5508 # shared library.
5509 postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
5510
5511 # Dependencies to place before the objects being linked to create a
5512 # shared library.
5513 predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
5514
5515 # Dependencies to place after the objects being linked to create a
5516 # shared library.
5517 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
5518
5519 # The library search path used internally by the compiler when linking
5520 # a shared library.
5521 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
5522
5523 # Method to check whether dependent libraries are shared objects.
5524 deplibs_check_method=$lt_deplibs_check_method
5525
5526 # Command to use when deplibs_check_method == file_magic.
5527 file_magic_cmd=$lt_file_magic_cmd
5528
5529 # Flag that allows shared libraries with undefined symbols to be built.
5530 allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
5531
5532 # Flag that forces no undefined symbols.
5533 no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
5534
5535 # Commands used to finish a libtool library installation in a directory.
5536 finish_cmds=$lt_finish_cmds
5537
5538 # Same as above, but a single script fragment to be evaled but not shown.
5539 finish_eval=$lt_finish_eval
5540
5541 # Take the output of nm and produce a listing of raw symbols and C names.
5542 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
5543
5544 # Transform the output of nm in a proper C declaration
5545 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
5546
5547 # Transform the output of nm in a C name address pair
5548 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
5549
5550 # This is the shared library runtime path variable.
5551 runpath_var=$runpath_var
5552
5553 # This is the shared library path variable.
5554 shlibpath_var=$shlibpath_var
5555
5556 # Is shlibpath searched before the hard-coded library search path?
5557 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
5558
5559 # How to hardcode a shared library path into an executable.
5560 hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
5561
5562 # Whether we should hardcode library paths into libraries.
5563 hardcode_into_libs=$hardcode_into_libs
5564
5565 # Flag to hardcode \$libdir into a binary during linking.
5566 # This must work even if \$libdir does not exist.
5567 hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
5568
5569 # If ld is used when linking, flag to hardcode \$libdir into
5570 # a binary during linking. This must work even if \$libdir does
5571 # not exist.
5572 hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
5573
5574 # Whether we need a single -rpath flag with a separated argument.
5575 hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
5576
5577 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
5578 # resulting binary.
5579 hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
5580
5581 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
5582 # resulting binary.
5583 hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
5584
5585 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
5586 # the resulting binary.
5587 hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
5588
5589 # Set to yes if building a shared library automatically hardcodes DIR into the library
5590 # and all subsequent libraries and executables linked against it.
5591 hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
5592
5593 # Variables whose values should be saved in libtool wrapper scripts and
5594 # restored at relink time.
5595 variables_saved_for_relink="$variables_saved_for_relink"
5596
5597 # Whether libtool must link a program against all its dependency libraries.
5598 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
5599
5600 # Compile-time system search path for libraries
5601 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
5602
5603 # Run-time system search path for libraries
5604 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
5605
5606 # Fix the shell variable \$srcfile for the compiler.
5607 fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
5608
5609 # Set to yes if exported symbols are required.
5610 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
5611
5612 # The commands to list exported symbols.
5613 export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
5614
5615 # The commands to extract the exported symbol list from a shared archive.
5616 extract_expsyms_cmds=$lt_extract_expsyms_cmds
5617
5618 # Symbols that should not be listed in the preloaded symbols.
5619 exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
5620
5621 # Symbols that must always be exported.
5622 include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
5623
5624 ifelse([$1],[],
5625 [# ### END LIBTOOL CONFIG],
5626 [# ### END LIBTOOL TAG CONFIG: $tagname])
5627
5628 __EOF__
5629
5630 ifelse([$1],[], [
5631   case $host_os in
5632   aix3*)
5633     cat <<\EOF >> "$cfgfile"
5634
5635 # AIX sometimes has problems with the GCC collect2 program.  For some
5636 # reason, if we set the COLLECT_NAMES environment variable, the problems
5637 # vanish in a puff of smoke.
5638 if test "X${COLLECT_NAMES+set}" != Xset; then
5639   COLLECT_NAMES=
5640   export COLLECT_NAMES
5641 fi
5642 EOF
5643     ;;
5644   esac
5645
5646   # We use sed instead of cat because bash on DJGPP gets confused if
5647   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
5648   # text mode, it properly converts lines to CR/LF.  This bash problem
5649   # is reportedly fixed, but why not run on old versions too?
5650   sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
5651
5652   mv -f "$cfgfile" "$ofile" || \
5653     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
5654   chmod +x "$ofile"
5655 ])
5656 else
5657   # If there is no Makefile yet, we rely on a make rule to execute
5658   # `config.status --recheck' to rerun these tests and create the
5659   # libtool script then.
5660   ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
5661   if test -f "$ltmain_in"; then
5662     test -f Makefile && make "$ltmain"
5663   fi
5664 fi
5665 ])# AC_LIBTOOL_CONFIG
5666
5667
5668 # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
5669 # -------------------------------------------
5670 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
5671 [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
5672
5673 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5674
5675 if test "$GCC" = yes; then
5676   _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5677
5678   AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
5679     lt_cv_prog_compiler_rtti_exceptions,
5680     [-fno-rtti -fno-exceptions], [],
5681     [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
5682 fi
5683 ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
5684
5685
5686 # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5687 # ---------------------------------
5688 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
5689 [AC_REQUIRE([AC_CANONICAL_HOST])
5690 AC_REQUIRE([AC_PROG_NM])
5691 AC_REQUIRE([AC_OBJEXT])
5692 # Check for command to grab the raw symbol name followed by C symbol from nm.
5693 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
5694 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
5695 [
5696 # These are sane defaults that work on at least a few old systems.
5697 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
5698
5699 # Character class describing NM global symbol codes.
5700 symcode='[[BCDEGRST]]'
5701
5702 # Regexp to match symbols that can be accessed directly from C.
5703 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
5704
5705 # Transform an extracted symbol line into a proper C declaration
5706 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
5707
5708 # Transform an extracted symbol line into symbol name and symbol address
5709 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'"
5710
5711 # Define system-specific variables.
5712 case $host_os in
5713 aix*)
5714   symcode='[[BCDT]]'
5715   ;;
5716 cygwin* | mingw* | pw32*)
5717   symcode='[[ABCDGISTW]]'
5718   ;;
5719 hpux*) # Its linker distinguishes data from code symbols
5720   if test "$host_cpu" = ia64; then
5721     symcode='[[ABCDEGRST]]'
5722   fi
5723   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5724   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'"
5725   ;;
5726 linux*)
5727   if test "$host_cpu" = ia64; then
5728     symcode='[[ABCDGIRSTW]]'
5729     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5730     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'"
5731   fi
5732   ;;
5733 irix* | nonstopux*)
5734   symcode='[[BCDEGRST]]'
5735   ;;
5736 osf*)
5737   symcode='[[BCDEGQRST]]'
5738   ;;
5739 solaris*)
5740   symcode='[[BDRT]]'
5741   ;;
5742 sco3.2v5*)
5743   symcode='[[DT]]'
5744   ;;
5745 sysv4.2uw2*)
5746   symcode='[[DT]]'
5747   ;;
5748 sysv5* | sco5v6* | unixware* | OpenUNIX*)
5749   symcode='[[ABDT]]'
5750   ;;
5751 sysv4)
5752   symcode='[[DFNSTU]]'
5753   ;;
5754 esac
5755
5756 # Handle CRLF in mingw tool chain
5757 opt_cr=
5758 case $build_os in
5759 mingw*)
5760   opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
5761   ;;
5762 esac
5763
5764 # If we're using GNU nm, then use its standard symbol codes.
5765 case `$NM -V 2>&1` in
5766 *GNU* | *'with BFD'*)
5767   symcode='[[ABCDGIRSTW]]' ;;
5768 esac
5769
5770 # Try without a prefix undercore, then with it.
5771 for ac_symprfx in "" "_"; do
5772
5773   # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
5774   symxfrm="\\1 $ac_symprfx\\2 \\2"
5775
5776   # Write the raw and C identifiers.
5777   lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[      ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
5778
5779   # Check to see that the pipe works correctly.
5780   pipe_works=no
5781
5782   rm -f conftest*
5783   cat > conftest.$ac_ext <<EOF
5784 #ifdef __cplusplus
5785 extern "C" {
5786 #endif
5787 char nm_test_var;
5788 void nm_test_func(){}
5789 #ifdef __cplusplus
5790 }
5791 #endif
5792 int main(){nm_test_var='a';nm_test_func();return(0);}
5793 EOF
5794
5795   if AC_TRY_EVAL(ac_compile); then
5796     # Now try to grab the symbols.
5797     nlist=conftest.nm
5798     if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
5799       # Try sorting and uniquifying the output.
5800       if sort "$nlist" | uniq > "$nlist"T; then
5801         mv -f "$nlist"T "$nlist"
5802       else
5803         rm -f "$nlist"T
5804       fi
5805
5806       # Make sure that we snagged all the symbols we need.
5807       if grep ' nm_test_var$' "$nlist" >/dev/null; then
5808         if grep ' nm_test_func$' "$nlist" >/dev/null; then
5809           cat <<EOF > conftest.$ac_ext
5810 #ifdef __cplusplus
5811 extern "C" {
5812 #endif
5813
5814 EOF
5815           # Now generate the symbol file.
5816           eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
5817
5818           cat <<EOF >> conftest.$ac_ext
5819 #if defined (__STDC__) && __STDC__
5820 # define lt_ptr_t void *
5821 #else
5822 # define lt_ptr_t char *
5823 # define const
5824 #endif
5825
5826 /* The mapping between symbol names and symbols. */
5827 const struct {
5828   const char *name;
5829   lt_ptr_t address;
5830 }
5831 lt_preloaded_symbols[[]] =
5832 {
5833 EOF
5834           $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
5835           cat <<\EOF >> conftest.$ac_ext
5836   {0, (lt_ptr_t) 0}
5837 };
5838
5839 #ifdef __cplusplus
5840 }
5841 #endif
5842 EOF
5843           # Now try linking the two files.
5844           mv conftest.$ac_objext conftstm.$ac_objext
5845           lt_save_LIBS="$LIBS"
5846           lt_save_CFLAGS="$CFLAGS"
5847           LIBS="conftstm.$ac_objext"
5848           CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
5849           if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
5850             pipe_works=yes
5851           fi
5852           LIBS="$lt_save_LIBS"
5853           CFLAGS="$lt_save_CFLAGS"
5854         else
5855           echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
5856         fi
5857       else
5858         echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
5859       fi
5860     else
5861       echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
5862     fi
5863   else
5864     echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
5865     cat conftest.$ac_ext >&5
5866   fi
5867   rm -f conftest* conftst*
5868
5869   # Do not use the global_symbol_pipe unless it works.
5870   if test "$pipe_works" = yes; then
5871     break
5872   else
5873     lt_cv_sys_global_symbol_pipe=
5874   fi
5875 done
5876 ])
5877 if test -z "$lt_cv_sys_global_symbol_pipe"; then
5878   lt_cv_sys_global_symbol_to_cdecl=
5879 fi
5880 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
5881   AC_MSG_RESULT(failed)
5882 else
5883   AC_MSG_RESULT(ok)
5884 fi
5885 ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5886
5887
5888 # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
5889 # ---------------------------------------
5890 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
5891 [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
5892 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5893 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
5894
5895 AC_MSG_CHECKING([for $compiler option to produce PIC])
5896  ifelse([$1],[CXX],[
5897   # C++ specific cases for pic, static, wl, etc.
5898   if test "$GXX" = yes; then
5899     _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5900     _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5901
5902     case $host_os in
5903     aix*)
5904       # All AIX code is PIC.
5905       if test "$host_cpu" = ia64; then
5906         # AIX 5 now supports IA64 processor
5907         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5908       fi
5909       ;;
5910     amigaos*)
5911       # FIXME: we need at least 68020 code to build shared libraries, but
5912       # adding the `-m68020' flag to GCC prevents building anything better,
5913       # like `-m68040'.
5914       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5915       ;;
5916     beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
5917       # PIC is the default for these OSes.
5918       ;;
5919     mingw* | os2* | pw32*)
5920       # This hack is so that the source file can tell whether it is being
5921       # built for inclusion in a dll (and should export symbols for example).
5922       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5923       ;;
5924     darwin* | rhapsody*)
5925       # PIC is the default on this platform
5926       # Common symbols not allowed in MH_DYLIB files
5927       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
5928       ;;
5929     *djgpp*)
5930       # DJGPP does not support shared libraries at all
5931       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5932       ;;
5933     interix3*)
5934       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
5935       # Instead, we relocate shared libraries at runtime.
5936       ;;
5937     sysv4*MP*)
5938       if test -d /usr/nec; then
5939         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
5940       fi
5941       ;;
5942     hpux*)
5943       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5944       # not for PA HP-UX.
5945       case $host_cpu in
5946       hppa*64*|ia64*)
5947         ;;
5948       *)
5949         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5950         ;;
5951       esac
5952       ;;
5953     *)
5954       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5955       ;;
5956     esac
5957   else
5958     case $host_os in
5959       aix4* | aix5*)
5960         # All AIX code is PIC.
5961         if test "$host_cpu" = ia64; then
5962           # AIX 5 now supports IA64 processor
5963           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5964         else
5965           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
5966         fi
5967         ;;
5968       chorus*)
5969         case $cc_basename in
5970         cxch68*)
5971           # Green Hills C++ Compiler
5972           # _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"
5973           ;;
5974         esac
5975         ;;
5976        darwin*)
5977          # PIC is the default on this platform
5978          # Common symbols not allowed in MH_DYLIB files
5979          case $cc_basename in
5980            xlc*)
5981            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
5982            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5983            ;;
5984          esac
5985        ;;
5986       dgux*)
5987         case $cc_basename in
5988           ec++*)
5989             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5990             ;;
5991           ghcx*)
5992             # Green Hills C++ Compiler
5993             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5994             ;;
5995           *)
5996             ;;
5997         esac
5998         ;;
5999       freebsd* | kfreebsd*-gnu | dragonfly*)
6000         # FreeBSD uses GNU C++
6001         ;;
6002       hpux9* | hpux10* | hpux11*)
6003         case $cc_basename in
6004           CC*)
6005             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6006             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6007             if test "$host_cpu" != ia64; then
6008               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6009             fi
6010             ;;
6011           aCC*)
6012             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6013             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6014             case $host_cpu in
6015             hppa*64*|ia64*)
6016               # +Z the default
6017               ;;
6018             *)
6019               _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6020               ;;
6021             esac
6022             ;;
6023           *)
6024             ;;
6025         esac
6026         ;;
6027       interix*)
6028         # This is c89, which is MS Visual C++ (no shared libs)
6029         # Anyone wants to do a port?
6030         ;;
6031       irix5* | irix6* | nonstopux*)
6032         case $cc_basename in
6033           CC*)
6034             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6035             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6036             # CC pic flag -KPIC is the default.
6037             ;;
6038           *)
6039             ;;
6040         esac
6041         ;;
6042       linux*)
6043         case $cc_basename in
6044           KCC*)
6045             # KAI C++ Compiler
6046             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6047             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6048             ;;
6049           icpc* | ecpc*)
6050             # Intel C++
6051             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6052             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6053             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6054             ;;
6055           pgCC*)
6056             # Portland Group C++ compiler.
6057             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6058             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6059             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6060             ;;
6061           cxx*)
6062             # Compaq C++
6063             # Make sure the PIC flag is empty.  It appears that all Alpha
6064             # Linux and Compaq Tru64 Unix objects are PIC.
6065             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6066             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6067             ;;
6068           *)
6069             ;;
6070         esac
6071         ;;
6072       lynxos*)
6073         ;;
6074       m88k*)
6075         ;;
6076       mvs*)
6077         case $cc_basename in
6078           cxx*)
6079             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
6080             ;;
6081           *)
6082             ;;
6083         esac
6084         ;;
6085       netbsd*)
6086         ;;
6087       osf3* | osf4* | osf5*)
6088         case $cc_basename in
6089           KCC*)
6090             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6091             ;;
6092           RCC*)
6093             # Rational C++ 2.4.1
6094             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6095             ;;
6096           cxx*)
6097             # Digital/Compaq C++
6098             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6099             # Make sure the PIC flag is empty.  It appears that all Alpha
6100             # Linux and Compaq Tru64 Unix objects are PIC.
6101             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6102             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6103             ;;
6104           *)
6105             ;;
6106         esac
6107         ;;
6108       psos*)
6109         ;;
6110       solaris*)
6111         case $cc_basename in
6112           CC*)
6113             # Sun C++ 4.2, 5.x and Centerline C++
6114             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6115             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6116             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6117             ;;
6118           gcx*)
6119             # Green Hills C++ Compiler
6120             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6121             ;;
6122           *)
6123             ;;
6124         esac
6125         ;;
6126       sunos4*)
6127         case $cc_basename in
6128           CC*)
6129             # Sun C++ 4.x
6130             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6131             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6132             ;;
6133           lcc*)
6134             # Lucid
6135             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6136             ;;
6137           *)
6138             ;;
6139         esac
6140         ;;
6141       tandem*)
6142         case $cc_basename in
6143           NCC*)
6144             # NonStop-UX NCC 3.20
6145             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6146             ;;
6147           *)
6148             ;;
6149         esac
6150         ;;
6151       sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6152         case $cc_basename in
6153           CC*)
6154             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6155             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6156             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6157             ;;
6158         esac
6159         ;;
6160       vxworks*)
6161         ;;
6162       *)
6163         _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6164         ;;
6165     esac
6166   fi
6167 ],
6168 [
6169   if test "$GCC" = yes; then
6170     _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6171     _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6172
6173     case $host_os in
6174       aix*)
6175       # All AIX code is PIC.
6176       if test "$host_cpu" = ia64; then
6177         # AIX 5 now supports IA64 processor
6178         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6179       fi
6180       ;;
6181
6182     amigaos*)
6183       # FIXME: we need at least 68020 code to build shared libraries, but
6184       # adding the `-m68020' flag to GCC prevents building anything better,
6185       # like `-m68040'.
6186       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
6187       ;;
6188
6189     beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
6190       # PIC is the default for these OSes.
6191       ;;
6192
6193     mingw* | pw32* | os2*)
6194       # This hack is so that the source file can tell whether it is being
6195       # built for inclusion in a dll (and should export symbols for example).
6196       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
6197       ;;
6198
6199     darwin* | rhapsody*)
6200       # PIC is the default on this platform
6201       # Common symbols not allowed in MH_DYLIB files
6202       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
6203       ;;
6204
6205     interix3*)
6206       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
6207       # Instead, we relocate shared libraries at runtime.
6208       ;;
6209
6210     msdosdjgpp*)
6211       # Just because we use GCC doesn't mean we suddenly get shared libraries
6212       # on systems that don't support them.
6213       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6214       enable_shared=no
6215       ;;
6216
6217     sysv4*MP*)
6218       if test -d /usr/nec; then
6219         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
6220       fi
6221       ;;
6222
6223     hpux*)
6224       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6225       # not for PA HP-UX.
6226       case $host_cpu in
6227       hppa*64*|ia64*)
6228         # +Z the default
6229         ;;
6230       *)
6231         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6232         ;;
6233       esac
6234       ;;
6235
6236     *)
6237       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6238       ;;
6239     esac
6240   else
6241     # PORTME Check for flag to pass linker flags through the system compiler.
6242     case $host_os in
6243     aix*)
6244       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6245       if test "$host_cpu" = ia64; then
6246         # AIX 5 now supports IA64 processor
6247         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6248       else
6249         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
6250       fi
6251       ;;
6252       darwin*)
6253         # PIC is the default on this platform
6254         # Common symbols not allowed in MH_DYLIB files
6255        case $cc_basename in
6256          xlc*)
6257          _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
6258          _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6259          ;;
6260        esac
6261        ;;
6262
6263     mingw* | pw32* | os2*)
6264       # This hack is so that the source file can tell whether it is being
6265       # built for inclusion in a dll (and should export symbols for example).
6266       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
6267       ;;
6268
6269     hpux9* | hpux10* | hpux11*)
6270       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6271       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6272       # not for PA HP-UX.
6273       case $host_cpu in
6274       hppa*64*|ia64*)
6275         # +Z the default
6276         ;;
6277       *)
6278         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6279         ;;
6280       esac
6281       # Is there a better lt_prog_compiler_static that works with the bundled CC?
6282       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6283       ;;
6284
6285     irix5* | irix6* | nonstopux*)
6286       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6287       # PIC (with -KPIC) is the default.
6288       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6289       ;;
6290
6291     newsos6)
6292       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6293       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6294       ;;
6295
6296     linux*)
6297       case $cc_basename in
6298       icc* | ecc*)
6299         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6300         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6301         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
6302         ;;
6303       pgcc* | pgf77* | pgf90* | pgf95*)
6304         # Portland Group compilers (*not* the Pentium gcc compiler,
6305         # which looks to be a dead project)
6306         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6307         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6308         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6309         ;;
6310       ccc*)
6311         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6312         # All Alpha code is PIC.
6313         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6314         ;;
6315       esac
6316       ;;
6317
6318     osf3* | osf4* | osf5*)
6319       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6320       # All OSF/1 code is PIC.
6321       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6322       ;;
6323
6324     solaris*)
6325       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6326       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6327       case $cc_basename in
6328       f77* | f90* | f95*)
6329         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
6330       *)
6331         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
6332       esac
6333       ;;
6334
6335     sunos4*)
6336       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6337       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6338       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6339       ;;
6340
6341     sysv4 | sysv4.2uw2* | sysv4.3*)
6342       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6343       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6344       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6345       ;;
6346
6347     sysv4*MP*)
6348       if test -d /usr/nec ;then
6349         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
6350         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6351       fi
6352       ;;
6353
6354     sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6355       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6356       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6357       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6358       ;;
6359
6360     unicos*)
6361       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6362       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6363       ;;
6364
6365     uts4*)
6366       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6367       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6368       ;;
6369
6370     *)
6371       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6372       ;;
6373     esac
6374   fi
6375 ])
6376 AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
6377
6378 #
6379 # Check to make sure the PIC flag actually works.
6380 #
6381 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
6382   AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
6383     _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
6384     [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
6385     [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
6386      "" | " "*) ;;
6387      *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
6388      esac],
6389     [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6390      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
6391 fi
6392 case $host_os in
6393   # For platforms which do not support PIC, -DPIC is meaningless:
6394   *djgpp*)
6395     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6396     ;;
6397   *)
6398     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
6399     ;;
6400 esac
6401
6402 #
6403 # Check to make sure the static flag actually works.
6404 #
6405 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
6406 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
6407   _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
6408   $lt_tmp_static_flag,
6409   [],
6410   [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
6411 ])
6412
6413
6414 # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
6415 # ------------------------------------
6416 # See if the linker supports building shared libraries.
6417 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
6418 [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6419 ifelse([$1],[CXX],[
6420   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6421   case $host_os in
6422   aix4* | aix5*)
6423     # If we're using GNU nm, then we don't want the "-C" option.
6424     # -C means demangle to AIX nm, but means don't demangle with GNU nm
6425     if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6426       _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'
6427     else
6428       _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'
6429     fi
6430     ;;
6431   pw32*)
6432     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
6433   ;;
6434   cygwin* | mingw*)
6435     _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'
6436   ;;
6437   *)
6438     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6439   ;;
6440   esac
6441 ],[
6442   runpath_var=
6443   _LT_AC_TAGVAR(allow_undefined_flag, $1)=
6444   _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6445   _LT_AC_TAGVAR(archive_cmds, $1)=
6446   _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
6447   _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
6448   _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
6449   _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6450   _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6451   _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
6452   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6453   _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6454   _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
6455   _LT_AC_TAGVAR(hardcode_direct, $1)=no
6456   _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
6457   _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6458   _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
6459   _LT_AC_TAGVAR(hardcode_automatic, $1)=no
6460   _LT_AC_TAGVAR(module_cmds, $1)=
6461   _LT_AC_TAGVAR(module_expsym_cmds, $1)=
6462   _LT_AC_TAGVAR(always_export_symbols, $1)=no
6463   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6464   # include_expsyms should be a list of space-separated symbols to be *always*
6465   # included in the symbol list
6466   _LT_AC_TAGVAR(include_expsyms, $1)=
6467   # exclude_expsyms can be an extended regexp of symbols to exclude
6468   # it will be wrapped by ` (' and `)$', so one must not match beginning or
6469   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
6470   # as well as any symbol that contains `d'.
6471   _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
6472   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
6473   # platforms (ab)use it in PIC code, but their linkers get confused if
6474   # the symbol is explicitly referenced.  Since portable code cannot
6475   # rely on this symbol name, it's probably fine to never include it in
6476   # preloaded symbol tables.
6477   extract_expsyms_cmds=
6478   # Just being paranoid about ensuring that cc_basename is set.
6479   _LT_CC_BASENAME([$compiler])
6480   case $host_os in
6481   cygwin* | mingw* | pw32*)
6482     # FIXME: the MSVC++ port hasn't been tested in a loooong time
6483     # When not using gcc, we currently assume that we are using
6484     # Microsoft Visual C++.
6485     if test "$GCC" != yes; then
6486       with_gnu_ld=no
6487     fi
6488     ;;
6489   interix*)
6490     # we just hope/assume this is gcc and not c89 (= MSVC++)
6491     with_gnu_ld=yes
6492     ;;
6493   openbsd*)
6494     with_gnu_ld=no
6495     ;;
6496   esac
6497
6498   _LT_AC_TAGVAR(ld_shlibs, $1)=yes
6499   if test "$with_gnu_ld" = yes; then
6500     # If archive_cmds runs LD, not CC, wlarc should be empty
6501     wlarc='${wl}'
6502
6503     # Set some defaults for GNU ld with shared library support. These
6504     # are reset later if shared libraries are not supported. Putting them
6505     # here allows them to be overridden if necessary.
6506     runpath_var=LD_RUN_PATH
6507     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6508     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6509     # ancient GNU ld didn't support --whole-archive et. al.
6510     if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
6511         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6512       else
6513         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6514     fi
6515     supports_anon_versioning=no
6516     case `$LD -v 2>/dev/null` in
6517       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
6518       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
6519       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
6520       *\ 2.11.*) ;; # other 2.11 versions
6521       *) supports_anon_versioning=yes ;;
6522     esac
6523
6524     # See if GNU ld supports shared libraries.
6525     case $host_os in
6526     aix3* | aix4* | aix5*)
6527       # On AIX/PPC, the GNU linker is very broken
6528       if test "$host_cpu" != ia64; then
6529         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6530         cat <<EOF 1>&2
6531
6532 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
6533 *** to be unable to reliably create shared libraries on AIX.
6534 *** Therefore, libtool is disabling shared libraries support.  If you
6535 *** really care for shared libraries, you may want to modify your PATH
6536 *** so that a non-GNU linker is found, and then restart.
6537
6538 EOF
6539       fi
6540       ;;
6541
6542     amigaos*)
6543       _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)'
6544       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6545       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6546
6547       # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
6548       # that the semantics of dynamic libraries on AmigaOS, at least up
6549       # to version 4, is to share data among multiple programs linked
6550       # with the same dynamic library.  Since this doesn't match the
6551       # behavior of shared libraries on other platforms, we can't use
6552       # them.
6553       _LT_AC_TAGVAR(ld_shlibs, $1)=no
6554       ;;
6555
6556     beos*)
6557       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6558         _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6559         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6560         # support --undefined.  This deserves some investigation.  FIXME
6561         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6562       else
6563         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6564       fi
6565       ;;
6566
6567     cygwin* | mingw* | pw32*)
6568       # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6569       # as there is no search path for DLLs.
6570       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6571       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6572       _LT_AC_TAGVAR(always_export_symbols, $1)=no
6573       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6574       _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'
6575
6576       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
6577         _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'
6578         # If the export-symbols file already is a .def file (1st line
6579         # is EXPORTS), use it as is; otherwise, prepend...
6580         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6581           cp $export_symbols $output_objdir/$soname.def;
6582         else
6583           echo EXPORTS > $output_objdir/$soname.def;
6584           cat $export_symbols >> $output_objdir/$soname.def;
6585         fi~
6586         $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6587       else
6588         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6589       fi
6590       ;;
6591
6592     interix3*)
6593       _LT_AC_TAGVAR(hardcode_direct, $1)=no
6594       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6595       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6596       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6597       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6598       # Instead, shared libraries are loaded at an image base (0x10000000 by
6599       # default) and relocated if they conflict, which is a slow very memory
6600       # consuming and fragmenting process.  To avoid this, we pick a random,
6601       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6602       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6603       _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'
6604       _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'
6605       ;;
6606
6607     linux*)
6608       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6609         tmp_addflag=
6610         case $cc_basename,$host_cpu in
6611         pgcc*)                          # Portland Group C compiler
6612           _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'
6613           tmp_addflag=' $pic_flag'
6614           ;;
6615         pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
6616           _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'
6617           tmp_addflag=' $pic_flag -Mnomain' ;;
6618         ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
6619           tmp_addflag=' -i_dynamic' ;;
6620         efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
6621           tmp_addflag=' -i_dynamic -nofor_main' ;;
6622         ifc* | ifort*)                  # Intel Fortran compiler
6623           tmp_addflag=' -nofor_main' ;;
6624         esac
6625         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6626
6627         if test $supports_anon_versioning = yes; then
6628           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
6629   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6630   $echo "local: *; };" >> $output_objdir/$libname.ver~
6631           $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6632         fi
6633       else
6634         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6635       fi
6636       ;;
6637
6638     netbsd*)
6639       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
6640         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
6641         wlarc=
6642       else
6643         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6644         _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'
6645       fi
6646       ;;
6647
6648     solaris*)
6649       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
6650         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6651         cat <<EOF 1>&2
6652
6653 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
6654 *** create shared libraries on Solaris systems.  Therefore, libtool
6655 *** is disabling shared libraries support.  We urge you to upgrade GNU
6656 *** binutils to release 2.9.1 or newer.  Another option is to modify
6657 *** your PATH or compiler configuration so that the native linker is
6658 *** used, and then restart.
6659
6660 EOF
6661       elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6662         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6663         _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'
6664       else
6665         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6666       fi
6667       ;;
6668
6669     sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
6670       case `$LD -v 2>&1` in
6671         *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
6672         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6673         cat <<_LT_EOF 1>&2
6674
6675 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
6676 *** reliably create shared libraries on SCO systems.  Therefore, libtool
6677 *** is disabling shared libraries support.  We urge you to upgrade GNU
6678 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
6679 *** your PATH or compiler configuration so that the native linker is
6680 *** used, and then restart.
6681
6682 _LT_EOF
6683         ;;
6684         *)
6685           if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6686             _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
6687             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
6688             _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'
6689           else
6690             _LT_AC_TAGVAR(ld_shlibs, $1)=no
6691           fi
6692         ;;
6693       esac
6694       ;;
6695
6696     sunos4*)
6697       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6698       wlarc=
6699       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6700       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6701       ;;
6702
6703     *)
6704       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6705         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6706         _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'
6707       else
6708         _LT_AC_TAGVAR(ld_shlibs, $1)=no
6709       fi
6710       ;;
6711     esac
6712
6713     if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
6714       runpath_var=
6715       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6716       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6717       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6718     fi
6719   else
6720     # PORTME fill in a description of your system's linker (not GNU ld)
6721     case $host_os in
6722     aix3*)
6723       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6724       _LT_AC_TAGVAR(always_export_symbols, $1)=yes
6725       _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'
6726       # Note: this linker hardcodes the directories in LIBPATH if there
6727       # are no directories specified by -L.
6728       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6729       if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
6730         # Neither direct hardcoding nor static linking is supported with a
6731         # broken collect2.
6732         _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
6733       fi
6734       ;;
6735
6736     aix4* | aix5*)
6737       if test "$host_cpu" = ia64; then
6738         # On IA64, the linker does run time linking by default, so we don't
6739         # have to do anything special.
6740         aix_use_runtimelinking=no
6741         exp_sym_flag='-Bexport'
6742         no_entry_flag=""
6743       else
6744         # If we're using GNU nm, then we don't want the "-C" option.
6745         # -C means demangle to AIX nm, but means don't demangle with GNU nm
6746         if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6747           _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'
6748         else
6749           _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'
6750         fi
6751         aix_use_runtimelinking=no
6752
6753         # Test if we are trying to use run time linking or normal
6754         # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6755         # need to do runtime linking.
6756         case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
6757           for ld_flag in $LDFLAGS; do
6758           if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
6759             aix_use_runtimelinking=yes
6760             break
6761           fi
6762           done
6763           ;;
6764         esac
6765
6766         exp_sym_flag='-bexport'
6767         no_entry_flag='-bnoentry'
6768       fi
6769
6770       # When large executables or shared objects are built, AIX ld can
6771       # have problems creating the table of contents.  If linking a library
6772       # or program results in "error TOC overflow" add -mminimal-toc to
6773       # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
6774       # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6775
6776       _LT_AC_TAGVAR(archive_cmds, $1)=''
6777       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6778       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6779       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6780
6781       if test "$GCC" = yes; then
6782         case $host_os in aix4.[[012]]|aix4.[[012]].*)
6783         # We only want to do this on AIX 4.2 and lower, the check
6784         # below for broken collect2 doesn't work under 4.3+
6785           collect2name=`${CC} -print-prog-name=collect2`
6786           if test -f "$collect2name" && \
6787            strings "$collect2name" | grep resolve_lib_name >/dev/null
6788           then
6789           # We have reworked collect2
6790           _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6791           else
6792           # We have old collect2
6793           _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
6794           # It fails to find uninstalled libraries when the uninstalled
6795           # path is not listed in the libpath.  Setting hardcode_minus_L
6796           # to unsupported forces relinking
6797           _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6798           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6799           _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
6800           fi
6801           ;;
6802         esac
6803         shared_flag='-shared'
6804         if test "$aix_use_runtimelinking" = yes; then
6805           shared_flag="$shared_flag "'${wl}-G'
6806         fi
6807       else
6808         # not using gcc
6809         if test "$host_cpu" = ia64; then
6810         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6811         # chokes on -Wl,-G. The following line is correct:
6812           shared_flag='-G'
6813         else
6814           if test "$aix_use_runtimelinking" = yes; then
6815             shared_flag='${wl}-G'
6816           else
6817             shared_flag='${wl}-bM:SRE'
6818           fi
6819         fi
6820       fi
6821
6822       # It seems that -bexpall does not export symbols beginning with
6823       # underscore (_), so it is better to generate a list of symbols to export.
6824       _LT_AC_TAGVAR(always_export_symbols, $1)=yes
6825       if test "$aix_use_runtimelinking" = yes; then
6826         # Warning - without using the other runtime loading flags (-brtl),
6827         # -berok will link without error, but may produce a broken library.
6828         _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
6829        # Determine the default libpath from the value encoded in an empty executable.
6830        _LT_AC_SYS_LIBPATH_AIX
6831        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6832         _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"
6833        else
6834         if test "$host_cpu" = ia64; then
6835           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6836           _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6837           _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"
6838         else
6839          # Determine the default libpath from the value encoded in an empty executable.
6840          _LT_AC_SYS_LIBPATH_AIX
6841          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6842           # Warning - without using the other run time loading flags,
6843           # -berok will link without error, but may produce a broken library.
6844           _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6845           _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6846           # Exported symbols can be pulled into shared objects from archives
6847           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6848           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6849           # This is similar to how AIX traditionally builds its shared libraries.
6850           _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'
6851         fi
6852       fi
6853       ;;
6854
6855     amigaos*)
6856       _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)'
6857       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6858       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6859       # see comment about different semantics on the GNU ld section
6860       _LT_AC_TAGVAR(ld_shlibs, $1)=no
6861       ;;
6862
6863     bsdi[[45]]*)
6864       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
6865       ;;
6866
6867     cygwin* | mingw* | pw32*)
6868       # When not using gcc, we currently assume that we are using
6869       # Microsoft Visual C++.
6870       # hardcode_libdir_flag_spec is actually meaningless, as there is
6871       # no search path for DLLs.
6872       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6873       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6874       # Tell ltmain to make .lib files, not .a files.
6875       libext=lib
6876       # Tell ltmain to make .dll files, not .so files.
6877       shrext_cmds=".dll"
6878       # FIXME: Setting linknames here is a bad hack.
6879       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
6880       # The linker will automatically build a .lib file if we build a DLL.
6881       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
6882       # FIXME: Should let the user specify the lib program.
6883       _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
6884       _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
6885       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6886       ;;
6887
6888     darwin* | rhapsody*)
6889       case $host_os in
6890         rhapsody* | darwin1.[[012]])
6891          _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
6892          ;;
6893        *) # Darwin 1.3 on
6894          if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
6895            _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6896          else
6897            case ${MACOSX_DEPLOYMENT_TARGET} in
6898              10.[[012]])
6899                _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6900                ;;
6901              10.*)
6902                _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
6903                ;;
6904            esac
6905          fi
6906          ;;
6907       esac
6908       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6909       _LT_AC_TAGVAR(hardcode_direct, $1)=no
6910       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
6911       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6912       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
6913       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6914     if test "$GCC" = yes ; then
6915         output_verbose_link_cmd='echo'
6916         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
6917       _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
6918       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
6919       _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}'
6920       _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}'
6921     else
6922       case $cc_basename in
6923         xlc*)
6924          output_verbose_link_cmd='echo'
6925          _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'
6926          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
6927           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
6928          _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}'
6929           _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}'
6930           ;;
6931        *)
6932          _LT_AC_TAGVAR(ld_shlibs, $1)=no
6933           ;;
6934       esac
6935     fi
6936       ;;
6937
6938     dgux*)
6939       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6940       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6941       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6942       ;;
6943
6944     freebsd1*)
6945       _LT_AC_TAGVAR(ld_shlibs, $1)=no
6946       ;;
6947
6948     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
6949     # support.  Future versions do this automatically, but an explicit c++rt0.o
6950     # does not break anything, and helps significantly (at the cost of a little
6951     # extra space).
6952     freebsd2.2*)
6953       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
6954       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6955       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6956       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6957       ;;
6958
6959     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
6960     freebsd2*)
6961       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6962       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6963       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6964       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6965       ;;
6966
6967     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
6968     freebsd* | kfreebsd*-gnu | dragonfly*)
6969       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
6970       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6971       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6972       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6973       ;;
6974
6975     hpux9*)
6976       if test "$GCC" = yes; then
6977         _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'
6978       else
6979         _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'
6980       fi
6981       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6982       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6983       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6984
6985       # hardcode_minus_L: Not really in the search PATH,
6986       # but as the default location of the library.
6987       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6988       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6989       ;;
6990
6991     hpux10*)
6992       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
6993         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
6994       else
6995         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
6996       fi
6997       if test "$with_gnu_ld" = no; then
6998         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6999         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7000
7001         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7002         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7003
7004         # hardcode_minus_L: Not really in the search PATH,
7005         # but as the default location of the library.
7006         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7007       fi
7008       ;;
7009
7010     hpux11*)
7011       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
7012         case $host_cpu in
7013         hppa*64*)
7014           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7015           ;;
7016         ia64*)
7017           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7018           ;;
7019         *)
7020           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7021           ;;
7022         esac
7023       else
7024         case $host_cpu in
7025         hppa*64*)
7026           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7027           ;;
7028         ia64*)
7029           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7030           ;;
7031         *)
7032           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7033           ;;
7034         esac
7035       fi
7036       if test "$with_gnu_ld" = no; then
7037         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7038         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7039
7040         case $host_cpu in
7041         hppa*64*|ia64*)
7042           _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
7043           _LT_AC_TAGVAR(hardcode_direct, $1)=no
7044           _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7045           ;;
7046         *)
7047           _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7048           _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7049
7050           # hardcode_minus_L: Not really in the search PATH,
7051           # but as the default location of the library.
7052           _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7053           ;;
7054         esac
7055       fi
7056       ;;
7057
7058     irix5* | irix6* | nonstopux*)
7059       if test "$GCC" = yes; then
7060         _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'
7061       else
7062         _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'
7063         _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
7064       fi
7065       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7066       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7067       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7068       ;;
7069
7070     netbsd*)
7071       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
7072         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
7073       else
7074         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
7075       fi
7076       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7077       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7078       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7079       ;;
7080
7081     newsos6)
7082       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7083       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7084       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7085       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7086       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7087       ;;
7088
7089     openbsd*)
7090       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7091       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7092       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
7093         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7094         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
7095         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7096         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7097       else
7098        case $host_os in
7099          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
7100            _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7101            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7102            ;;
7103          *)
7104            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7105            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7106            ;;
7107        esac
7108       fi
7109       ;;
7110
7111     os2*)
7112       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7113       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7114       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
7115       _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'
7116       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
7117       ;;
7118
7119     osf3*)
7120       if test "$GCC" = yes; then
7121         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7122         _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'
7123       else
7124         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7125         _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'
7126       fi
7127       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7128       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7129       ;;
7130
7131     osf4* | osf5*)      # as osf3* with the addition of -msym flag
7132       if test "$GCC" = yes; then
7133         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7134         _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'
7135         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7136       else
7137         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7138         _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'
7139         _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~
7140         $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'
7141
7142         # Both c and cxx compiler support -rpath directly
7143         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7144       fi
7145       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7146       ;;
7147
7148     solaris*)
7149       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
7150       if test "$GCC" = yes; then
7151         wlarc='${wl}'
7152         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7153         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
7154           $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
7155       else
7156         wlarc=''
7157         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_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         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
7160       fi
7161       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7162       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7163       case $host_os in
7164       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7165       *)
7166         # The compiler driver will combine linker options so we
7167         # cannot just pass the convience library names through
7168         # without $wl, iff we do not link with $LD.
7169         # Luckily, gcc supports the same syntax we need for Sun Studio.
7170         # Supported since Solaris 2.6 (maybe 2.5.1?)
7171         case $wlarc in
7172         '')
7173           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
7174         *)
7175           _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' ;;
7176         esac ;;
7177       esac
7178       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7179       ;;
7180
7181     sunos4*)
7182       if test "x$host_vendor" = xsequent; then
7183         # Use $CC to link under sequent, because it throws in some extra .o
7184         # files that make .init and .fini sections work.
7185         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
7186       else
7187         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
7188       fi
7189       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7190       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7191       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7192       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7193       ;;
7194
7195     sysv4)
7196       case $host_vendor in
7197         sni)
7198           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7199           _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
7200         ;;
7201         siemens)
7202           ## LD is ld it makes a PLAMLIB
7203           ## CC just makes a GrossModule.
7204           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
7205           _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
7206           _LT_AC_TAGVAR(hardcode_direct, $1)=no
7207         ;;
7208         motorola)
7209           _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7210           _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
7211         ;;
7212       esac
7213       runpath_var='LD_RUN_PATH'
7214       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7215       ;;
7216
7217     sysv4.3*)
7218       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7219       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7220       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
7221       ;;
7222
7223     sysv4*MP*)
7224       if test -d /usr/nec; then
7225         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7226         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7227         runpath_var=LD_RUN_PATH
7228         hardcode_runpath_var=yes
7229         _LT_AC_TAGVAR(ld_shlibs, $1)=yes
7230       fi
7231       ;;
7232
7233     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
7234       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7235       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7236       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7237       runpath_var='LD_RUN_PATH'
7238
7239       if test "$GCC" = yes; then
7240         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7241         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7242       else
7243         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7244         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7245       fi
7246       ;;
7247
7248     sysv5* | sco3.2v5* | sco5v6*)
7249       # Note: We can NOT use -z defs as we might desire, because we do not
7250       # link with -lc, and that would cause any symbols used from libc to
7251       # always be unresolved, which means just about no library would
7252       # ever link correctly.  If we're not using GNU ld we use -z text
7253       # though, which does catch some bad symbols but isn't as heavy-handed
7254       # as -z defs.
7255       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7256       _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
7257       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7258       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7259       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
7260       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
7261       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7262       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
7263       runpath_var='LD_RUN_PATH'
7264
7265       if test "$GCC" = yes; then
7266         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7267         _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'
7268       else
7269         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7270         _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'
7271       fi
7272       ;;
7273
7274     uts4*)
7275       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7276       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7277       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7278       ;;
7279
7280     *)
7281       _LT_AC_TAGVAR(ld_shlibs, $1)=no
7282       ;;
7283     esac
7284   fi
7285 ])
7286 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
7287 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
7288
7289 #
7290 # Do we need to explicitly link libc?
7291 #
7292 case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
7293 x|xyes)
7294   # Assume -lc should be added
7295   _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
7296
7297   if test "$enable_shared" = yes && test "$GCC" = yes; then
7298     case $_LT_AC_TAGVAR(archive_cmds, $1) in
7299     *'~'*)
7300       # FIXME: we may have to deal with multi-command sequences.
7301       ;;
7302     '$CC '*)
7303       # Test whether the compiler implicitly links with -lc since on some
7304       # systems, -lgcc has to come before -lc. If gcc already passes -lc
7305       # to ld, don't add -lc before -lgcc.
7306       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
7307       $rm conftest*
7308       printf "$lt_simple_compile_test_code" > conftest.$ac_ext
7309
7310       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
7311         soname=conftest
7312         lib=conftest
7313         libobjs=conftest.$ac_objext
7314         deplibs=
7315         wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
7316         pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
7317         compiler_flags=-v
7318         linker_flags=-v
7319         verstring=
7320         output_objdir=.
7321         libname=conftest
7322         lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
7323         _LT_AC_TAGVAR(allow_undefined_flag, $1)=
7324         if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
7325         then
7326           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7327         else
7328           _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
7329         fi
7330         _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
7331       else
7332         cat conftest.err 1>&5
7333       fi
7334       $rm conftest*
7335       AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
7336       ;;
7337     esac
7338   fi
7339   ;;
7340 esac
7341 ])# AC_LIBTOOL_PROG_LD_SHLIBS
7342
7343
7344 # _LT_AC_FILE_LTDLL_C
7345 # -------------------
7346 # Be careful that the start marker always follows a newline.
7347 AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
7348 # /* ltdll.c starts here */
7349 # #define WIN32_LEAN_AND_MEAN
7350 # #include <windows.h>
7351 # #undef WIN32_LEAN_AND_MEAN
7352 # #include <stdio.h>
7353 #
7354 # #ifndef __CYGWIN__
7355 # #  ifdef __CYGWIN32__
7356 # #    define __CYGWIN__ __CYGWIN32__
7357 # #  endif
7358 # #endif
7359 #
7360 # #ifdef __cplusplus
7361 # extern "C" {
7362 # #endif
7363 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
7364 # #ifdef __cplusplus
7365 # }
7366 # #endif
7367 #
7368 # #ifdef __CYGWIN__
7369 # #include <cygwin/cygwin_dll.h>
7370 # DECLARE_CYGWIN_DLL( DllMain );
7371 # #endif
7372 # HINSTANCE __hDllInstance_base;
7373 #
7374 # BOOL APIENTRY
7375 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
7376 # {
7377 #   __hDllInstance_base = hInst;
7378 #   return TRUE;
7379 # }
7380 # /* ltdll.c ends here */
7381 ])# _LT_AC_FILE_LTDLL_C
7382
7383
7384 # _LT_AC_TAGVAR(VARNAME, [TAGNAME])
7385 # ---------------------------------
7386 AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
7387
7388
7389 # old names
7390 AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
7391 AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
7392 AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
7393 AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7394 AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7395 AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
7396 AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
7397
7398 # This is just to silence aclocal about the macro not being used
7399 ifelse([AC_DISABLE_FAST_INSTALL])
7400
7401 AC_DEFUN([LT_AC_PROG_GCJ],
7402 [AC_CHECK_TOOL(GCJ, gcj, no)
7403   test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7404   AC_SUBST(GCJFLAGS)
7405 ])
7406
7407 AC_DEFUN([LT_AC_PROG_RC],
7408 [AC_CHECK_TOOL(RC, windres, no)
7409 ])
7410
7411 ############################################################
7412 # NOTE: This macro has been submitted for inclusion into   #
7413 #  GNU Autoconf as AC_PROG_SED.  When it is available in   #
7414 #  a released version of Autoconf we should remove this    #
7415 #  macro and use it instead.                               #
7416 ############################################################
7417 # LT_AC_PROG_SED
7418 # --------------
7419 # Check for a fully-functional sed program, that truncates
7420 # as few characters as possible.  Prefer GNU sed if found.
7421 AC_DEFUN([LT_AC_PROG_SED],
7422 [AC_MSG_CHECKING([for a sed that does not truncate output])
7423 AC_CACHE_VAL(lt_cv_path_SED,
7424 [# Loop through the user's path and test for sed and gsed.
7425 # Then use that list of sed's as ones to test for truncation.
7426 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7427 for as_dir in $PATH
7428 do
7429   IFS=$as_save_IFS
7430   test -z "$as_dir" && as_dir=.
7431   for lt_ac_prog in sed gsed; do
7432     for ac_exec_ext in '' $ac_executable_extensions; do
7433       if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7434         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7435       fi
7436     done
7437   done
7438 done
7439 lt_ac_max=0
7440 lt_ac_count=0
7441 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
7442 # along with /bin/sed that truncates output.
7443 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7444   test ! -f $lt_ac_sed && continue
7445   cat /dev/null > conftest.in
7446   lt_ac_count=0
7447   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7448   # Check for GNU sed and select it if it is found.
7449   if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7450     lt_cv_path_SED=$lt_ac_sed
7451     break
7452   fi
7453   while true; do
7454     cat conftest.in conftest.in >conftest.tmp
7455     mv conftest.tmp conftest.in
7456     cp conftest.in conftest.nl
7457     echo >>conftest.nl
7458     $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7459     cmp -s conftest.out conftest.nl || break
7460     # 10000 chars as input seems more than enough
7461     test $lt_ac_count -gt 10 && break
7462     lt_ac_count=`expr $lt_ac_count + 1`
7463     if test $lt_ac_count -gt $lt_ac_max; then
7464       lt_ac_max=$lt_ac_count
7465       lt_cv_path_SED=$lt_ac_sed
7466     fi
7467   done
7468 done
7469 ])
7470 SED=$lt_cv_path_SED
7471 AC_MSG_RESULT([$SED])
7472 ])