remember that old FFI syntax has been dropped
[ghc-hetmet.git] / rts / gmp / ltconfig
1 #! /bin/sh
2
3 # ltconfig - Create a system-specific libtool.
4 # Copyright (C) 1996-2000 Free Software Foundation, Inc.
5 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
6 #
7 # This file is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 # A lot of this script is taken from autoconf-2.10.
27
28 # Check that we are running under the correct shell.
29 SHELL=${CONFIG_SHELL-/bin/sh}
30 echo=echo
31 if test "X$1" = X--no-reexec; then
32   # Discard the --no-reexec flag, and continue.
33   shift
34 elif test "X$1" = X--fallback-echo; then
35   # Avoid inline document here, it may be left over
36   :
37 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
38   # Yippee, $echo works!
39   :
40 else
41   # Restart under the correct shell.
42   exec "$SHELL" "$0" --no-reexec ${1+"$@"}
43 fi
44
45 if test "X$1" = X--fallback-echo; then
46   # used as fallback echo
47   shift
48   cat <<EOF
49 $*
50 EOF
51   exit 0
52 fi
53
54 # Find the correct PATH separator.  Usually this is `:', but
55 # DJGPP uses `;' like DOS.
56 if test "X${PATH_SEPARATOR+set}" != Xset; then
57   UNAME=${UNAME-`uname 2>/dev/null`}
58   case X$UNAME in
59     *-DOS) PATH_SEPARATOR=';' ;;
60     *)     PATH_SEPARATOR=':' ;;
61   esac
62 fi
63
64 # The HP-UX ksh and POSIX shell print the target directory to stdout
65 # if CDPATH is set.
66 if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
67
68 if test "X${echo_test_string+set}" != Xset; then
69   # find a string as large as possible, as long as the shell can cope with it
70   for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
71     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
72     if (echo_test_string="`eval $cmd`") 2>/dev/null &&
73        echo_test_string="`eval $cmd`" &&
74        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
75       break
76     fi
77   done
78 fi
79
80 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
81    echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
82    test "X$echo_testing_string" = "X$echo_test_string"; then
83   :
84 else
85   # The Solaris, AIX, and Digital Unix default echo programs unquote
86   # backslashes.  This makes it impossible to quote backslashes using
87   #   echo "$something" | sed 's/\\/\\\\/g'
88   #
89   # So, first we look for a working echo in the user's PATH.
90
91   IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
92   for dir in $PATH /usr/ucb; do
93     if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
94        test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
95        echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
96        test "X$echo_testing_string" = "X$echo_test_string"; then
97       echo="$dir/echo"
98       break
99     fi
100   done
101   IFS="$save_ifs"
102
103   if test "X$echo" = Xecho; then
104     # We didn't find a better echo, so look for alternatives.
105     if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
106        echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
107        test "X$echo_testing_string" = "X$echo_test_string"; then
108       # This shell has a builtin print -r that does the trick.
109       echo='print -r'
110     elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
111          test "X$CONFIG_SHELL" != X/bin/ksh; then
112       # If we have ksh, try running ltconfig again with it.
113       ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
114       export ORIGINAL_CONFIG_SHELL
115       CONFIG_SHELL=/bin/ksh
116       export CONFIG_SHELL
117       exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
118     else
119       # Try using printf.
120       echo='printf "%s\n"'
121       if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
122          echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
123          test "X$echo_testing_string" = "X$echo_test_string"; then
124         # Cool, printf works
125         :
126       elif echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` &&
127            test "X$echo_testing_string" = 'X\t' &&
128            echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
129            test "X$echo_testing_string" = "X$echo_test_string"; then
130         CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
131         export CONFIG_SHELL
132         SHELL="$CONFIG_SHELL"
133         export SHELL
134         echo="$CONFIG_SHELL $0 --fallback-echo"
135       elif echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` &&
136            test "X$echo_testing_string" = 'X\t' &&
137            echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
138            test "X$echo_testing_string" = "X$echo_test_string"; then
139         echo="$CONFIG_SHELL $0 --fallback-echo"
140       else
141         # maybe with a smaller string...
142         prev=:
143
144         for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
145           if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
146             break
147           fi
148           prev="$cmd"
149         done
150
151         if test "$prev" != 'sed 50q "$0"'; then
152           echo_test_string=`eval $prev`
153           export echo_test_string
154           exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
155         else
156           # Oops.  We lost completely, so just stick with echo.
157           echo=echo
158         fi
159       fi
160     fi
161   fi
162 fi
163
164 # Sed substitution that helps us do robust quoting.  It backslashifies
165 # metacharacters that are still active within double-quoted strings.
166 Xsed='sed -e s/^X//'
167 sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
168
169 # Same as above, but do not quote variable references.
170 double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
171
172 # Sed substitution to delay expansion of an escaped shell variable in a
173 # double_quote_subst'ed string.
174 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
175
176 # The name of this program.
177 progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
178
179 # Constants:
180 PROGRAM=ltconfig
181 PACKAGE=libtool
182 VERSION=1.3c
183 TIMESTAMP=" (1.696 2000/03/14 20:22:42)"
184 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
185 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
186 rm="rm -f"
187
188 help="Try \`$progname --help' for more information."
189
190 # Global variables:
191 default_ofile=libtool
192 can_build_shared=yes
193 enable_shared=yes
194 # All known linkers require a `.a' archive for static linking (except M$VC,
195 # which needs '.lib').
196 enable_static=yes
197 enable_fast_install=yes
198 enable_dlopen=unknown
199 enable_win32_dll=no
200 pic_mode=default
201 ltmain=
202 silent=
203 srcdir=
204 ac_config_guess=
205 ac_config_sub=
206 host=
207 build=NONE
208 nonopt=NONE
209 ofile="$default_ofile"
210 verify_host=yes
211 with_gcc=no
212 with_gnu_ld=no
213 need_locks=yes
214 ac_ext=c
215 libext=a
216 cache_file=
217
218 old_AR="$AR"
219 old_CC="$CC"
220 old_CFLAGS="$CFLAGS"
221 old_CPPFLAGS="$CPPFLAGS"
222 old_LDFLAGS="$LDFLAGS"
223 old_LIBS="$LIBS"
224 old_MAGIC="$MAGIC"
225 old_LD="$LD"
226 old_LN_S="$LN_S"
227 old_NM="$NM"
228 old_RANLIB="$RANLIB"
229 old_STRIP="$STRIP"
230 old_AS="$AS"
231 old_DLLTOOL="$DLLTOOL"
232 old_OBJDUMP="$OBJDUMP"
233 old_OBJEXT="$OBJEXT"
234 old_EXEEXT="$EXEEXT"
235 old_reload_Flag="$reload_flag"
236 old_deplibs_check_method="$deplibs_check_method"
237 old_file_magic_cmd="$file_magic_cmd"
238
239 # Parse the command line options.
240 args=
241 prev=
242 for option
243 do
244   case "$option" in
245   -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
246   *) optarg= ;;
247   esac
248
249   # If the previous option needs an argument, assign it.
250   if test -n "$prev"; then
251     eval "$prev=\$option"
252     prev=
253     continue
254   fi
255
256   case "$option" in
257   --help) cat <<EOM
258 Usage: $progname [OPTION]... LTMAIN [HOST]
259
260 Generate a system-specific libtool script.
261
262     --build                configure for building on BUILD [BUILD=HOST]
263     --debug                enable verbose shell tracing
264     --disable-shared       do not build shared libraries
265     --disable-static       do not build static libraries
266     --disable-fast-install do not optimize for fast installation
267     --enable-dlopen        enable dlopen support
268     --enable-win32-dll     enable building dlls on win32 hosts
269     --help                 display this help and exit
270     --no-verify            do not verify that HOST is a valid host type
271 -o, --output=FILE          specify the output file [default=$default_ofile]
272     --quiet                same as \`--silent'
273     --silent               do not print informational messages
274     --srcdir=DIR           find \`config.guess' in DIR
275     --version              output version information and exit
276     --with-gcc             assume that the GNU C compiler will be used
277     --with-gnu-ld          assume that the C compiler uses the GNU linker
278     --prefer-pic           try to use only PIC objects
279     --prefer-non-pic       try to use only non-PIC objects
280     --disable-lock         disable file locking
281     --cache-file=FILE      configure cache file
282
283 LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
284 that provides basic libtool functionality.
285
286 HOST is the canonical host system name [default=guessed].
287 EOM
288   exit 0
289   ;;
290
291   --build) prev=build ;;
292   --build=*) build="$optarg" ;;
293
294   --debug)
295     echo "$progname: enabling shell trace mode"
296     set -x
297     ;;
298
299   --disable-shared) enable_shared=no ;;
300
301   --disable-static) enable_static=no ;;
302
303   --disable-fast-install) enable_fast_install=no ;;
304
305   --enable-dlopen) enable_dlopen=yes ;;
306
307   --enable-win32-dll) enable_win32_dll=yes ;;
308
309   --quiet | --silent) silent=yes ;;
310
311   --srcdir) prev=srcdir ;;
312   --srcdir=*) srcdir="$optarg" ;;
313
314   --no-verify) verify_host=no ;;
315
316   --output | -o) prev=ofile ;;
317   --output=*) ofile="$optarg" ;;
318
319   --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
320
321   --with-gcc) with_gcc=yes ;;
322   --with-gnu-ld) with_gnu_ld=yes ;;
323
324   --prefer-pic) pic_mode=yes ;;
325   --prefer-non-pic) pic_mode=no ;;
326
327   --disable-lock) need_locks=no ;;
328
329   --cache-file=*) cache_file="$optarg" ;;
330
331   -*)
332     echo "$progname: unrecognized option \`$option'" 1>&2
333     echo "$help" 1>&2
334     exit 1
335     ;;
336
337   *)
338     if test -z "$ltmain"; then
339       ltmain="$option"
340     elif test -z "$host"; then
341 # This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
342 #      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
343 #        echo "$progname: warning \`$option' is not a valid host type" 1>&2
344 #      fi
345       host="$option"
346     else
347       echo "$progname: too many arguments" 1>&2
348       echo "$help" 1>&2
349       exit 1
350     fi ;;
351   esac
352 done
353
354 if test -z "$ltmain"; then
355   echo "$progname: you must specify a LTMAIN file" 1>&2
356   echo "$help" 1>&2
357   exit 1
358 fi
359
360 if test ! -f "$ltmain"; then
361   echo "$progname: \`$ltmain' does not exist" 1>&2
362   echo "$help" 1>&2
363   exit 1
364 fi
365
366 # Quote any args containing shell metacharacters.
367 ltconfig_args=
368 for arg
369 do
370   case "$arg" in
371   *" "*|*"      "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
372   ltconfig_args="$ltconfig_args '$arg'" ;;
373   *) ltconfig_args="$ltconfig_args $arg" ;;
374   esac
375 done
376
377 # A relevant subset of AC_INIT.
378
379 # File descriptor usage:
380 # 0 standard input
381 # 1 file creation
382 # 2 errors and warnings
383 # 3 some systems may open it to /dev/tty
384 # 4 used on the Kubota Titan
385 # 5 compiler messages saved in config.log
386 # 6 checking for... messages and results
387 if test "$silent" = yes; then
388   exec 6>/dev/null
389 else
390   exec 6>&1
391 fi
392 exec 5>>./config.log
393
394 # NLS nuisances.
395 # Only set LANG and LC_ALL to C if already set.
396 # These must not be set unconditionally because not all systems understand
397 # e.g. LANG=C (notably SCO).
398 if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
399 if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
400
401 if test -n "$cache_file" && test -r "$cache_file"; then
402   echo "loading cache $cache_file within ltconfig"
403   . $cache_file
404 fi
405
406 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
407   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
408   if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
409     ac_n= ac_c='
410 ' ac_t='        '
411   else
412     ac_n=-n ac_c= ac_t=
413   fi
414 else
415   ac_n= ac_c='\c' ac_t=
416 fi
417
418 if test -z "$srcdir"; then
419   # Assume the source directory is the same one as the path to LTMAIN.
420   srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
421   test "$srcdir" = "$ltmain" && srcdir=.
422 fi
423
424 trap "$rm conftest*; exit 1" 1 2 15
425 if test "$verify_host" = yes; then
426   # Check for config.guess and config.sub.
427   ac_aux_dir=
428   for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
429     if test -f $ac_dir/config.guess; then
430       ac_aux_dir=$ac_dir
431       break
432     fi
433   done
434   if test -z "$ac_aux_dir"; then
435     echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
436     echo "$help" 1>&2
437     exit 1
438   fi
439   ac_config_guess=$ac_aux_dir/config.guess
440   ac_config_sub=$ac_aux_dir/config.sub
441
442   # Make sure we can run config.sub.
443   if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
444   else
445     echo "$progname: cannot run $ac_config_sub" 1>&2
446     echo "$help" 1>&2
447     exit 1
448   fi
449
450   echo $ac_n "checking host system type""... $ac_c" 1>&6
451
452   host_alias=$host
453   case "$host_alias" in
454   "")
455     if host_alias=`$SHELL $ac_config_guess`; then :
456     else
457       echo "$progname: cannot guess host type; you must specify one" 1>&2
458       echo "$help" 1>&2
459       exit 1
460     fi ;;
461   esac
462   host=`$SHELL $ac_config_sub $host_alias`
463   echo "$ac_t$host" 1>&6
464
465   # Make sure the host verified.
466   test -z "$host" && exit 1
467
468   # Check for the build system type
469   echo $ac_n "checking build system type... $ac_c" 1>&6
470
471   build_alias=$build
472   case "$build_alias" in
473   NONE)
474     case $nonopt in
475     NONE) build_alias=$host_alias ;;
476     *) build_alias=$nonopt ;;
477     esac ;;
478   esac
479
480   build=`$SHELL $ac_config_sub $build_alias`
481   build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
482   build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
483   build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
484   echo "$ac_t""$build" 1>&6
485
486 elif test -z "$host"; then
487   echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
488   echo "$help" 1>&2
489   exit 1
490 else
491   host_alias=$host
492   build_alias=$host_alias
493   build=$host
494 fi
495
496 if test x"$host" != x"$build"; then
497   ac_tool_prefix=${host_alias}-
498 else
499   ac_tool_prefix=
500 fi
501
502 host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
503 host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
504 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
505
506 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
507 case "$host_os" in
508 linux-gnu*) ;;
509 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
510 esac
511
512 case "$host_os" in
513 aix3*)
514   # AIX sometimes has problems with the GCC collect2 program.  For some
515   # reason, if we set the COLLECT_NAMES environment variable, the problems
516   # vanish in a puff of smoke.
517   if test "X${COLLECT_NAMES+set}" != Xset; then
518     COLLECT_NAMES=
519     export COLLECT_NAMES
520   fi
521   ;;
522 esac
523
524 # Determine commands to create old-style static archives.
525 old_archive_cmds='$AR cru $oldlib$oldobjs$old_deplibs'
526 old_postinstall_cmds='chmod 644 $oldlib'
527 old_postuninstall_cmds=
528
529 # Set sane defaults for various variables
530 test -z "$AR" && AR=ar
531 test -z "$AS" && AS=as
532 test -z "$CC" && CC=cc
533 test -z "$DLLTOOL" && DLLTOOL=dlltool
534 test -z "$MAGIC" && MAGIC=file
535 test -z "$LD" && LD=ld
536 test -z "$LN_S" && LN_S="ln -s"
537 test -z "$NM" && NM=nm
538 test -z "$OBJDUMP" && OBJDUMP=objdump
539 test -z "$RANLIB" && RANLIB=:
540 test -z "$STRIP" && STRIP=:
541 test -z "$objext" && objext=o
542
543 echo $ac_n "checking for objdir... $ac_c" 1>&6
544 rm -f .libs 2>/dev/null
545 mkdir .libs 2>/dev/null
546 if test -d .libs; then
547   objdir=.libs
548 else
549   # MS-DOS does not allow filenames that begin with a dot.
550   objdir=_libs
551 fi
552 rmdir .libs 2>/dev/null
553 echo "$ac_t$objdir" 1>&6
554
555 # Allow CC to be a program name with arguments.
556 set dummy $CC
557 compiler="$2"
558
559 # We assume here that the value for ac_cv_prog_cc_pic will not be cached
560 # in isolation, and that seeing it set (from the cache) indicates that
561 # the associated values are set (in the cache) correctly too.
562 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
563 echo "$progname:563:checking for $compiler option to produce PIC" 1>&5
564 if test "X${ac_cv_prog_cc_pic+set}" = Xset; then
565   echo $ac_n "(cached) $ac_c" 1>&6
566 else
567   ac_cv_prog_cc_pic=
568   ac_cv_prog_cc_shlib=
569   ac_cv_prog_cc_wl=
570   ac_cv_prog_cc_static=
571   ac_cv_prog_cc_no_builtin=
572   ac_cv_prog_cc_can_build_shared=$can_build_shared
573
574   if test "$with_gcc" = yes; then
575     ac_cv_prog_cc_wl='-Wl,'
576     ac_cv_prog_cc_static='-static'
577
578     case "$host_os" in
579     beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
580       # PIC is the default for these OSes.
581       ;;
582     aix*)
583       # Below there is a dirty hack to force normal static linking with -ldl
584       # The problem is because libdl dynamically linked with both libc and
585       # libC (AIX C++ library), which obviously doesn't included in libraries
586       # list by gcc. This cause undefined symbols with -static flags.
587       # This hack allows C programs to be linked with "-static -ldl", but
588       # we not sure about C++ programs.
589       ac_cv_prog_cc_static="$ac_cv_prog_cc_static ${ac_cv_prog_cc_wl}-lC"
590       ;;
591     cygwin* | mingw* | os2*)
592       # This hack is so that the source file can tell whether it is being
593       # built for inclusion in a dll (and should export symbols for example).
594       ac_cv_prog_cc_pic='-DDLL_EXPORT'
595       ;;
596     amigaos*)
597       # FIXME: we need at least 68020 code to build shared libraries, but
598       # adding the `-m68020' flag to GCC prevents building anything better,
599       # like `-m68040'.
600       ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
601       ;;
602     sysv4*MP*)
603       if test -d /usr/nec; then
604          ac_cv_prog_cc_pic=-Kconform_pic
605       fi
606       ;;
607     *)
608       ac_cv_prog_cc_pic='-fPIC'
609       ;;
610     esac
611   else
612     # PORTME Check for PIC flags for the system compiler.
613     case "$host_os" in
614     aix3* | aix4*)
615      # All AIX code is PIC.
616       ac_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
617       ;;
618
619     hpux9* | hpux10* | hpux11*)
620       # Is there a better ac_cv_prog_cc_static that works with the bundled CC?
621       ac_cv_prog_cc_wl='-Wl,'
622       ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
623       ac_cv_prog_cc_pic='+Z'
624       ;;
625
626     irix5* | irix6*)
627       ac_cv_prog_cc_wl='-Wl,'
628       ac_cv_prog_cc_static='-non_shared'
629       # PIC (with -KPIC) is the default.
630       ;;
631
632     cygwin* | mingw* | os2*)
633       # This hack is so that the source file can tell whether it is being
634       # built for inclusion in a dll (and should export symbols for example).
635       ac_cv_prog_cc_pic='-DDLL_EXPORT'
636       ;;
637
638     osf3* | osf4* | osf5*)
639       # All OSF/1 code is PIC.
640       ac_cv_prog_cc_wl='-Wl,'
641       ac_cv_prog_cc_static='-non_shared'
642       ;;
643
644     sco3.2v5*)
645       ac_cv_prog_cc_pic='-Kpic'
646       ac_cv_prog_cc_static='-dn'
647       ac_cv_prog_cc_shlib='-belf'
648       ;;
649
650     solaris*)
651       ac_cv_prog_cc_pic='-KPIC'
652       ac_cv_prog_cc_static='-Bstatic'
653       ac_cv_prog_cc_wl='-Wl,'
654       ;;
655
656     sunos4*)
657       ac_cv_prog_cc_pic='-PIC'
658       ac_cv_prog_cc_static='-Bstatic'
659       ac_cv_prog_cc_wl='-Qoption ld '
660       ;;
661
662     sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
663       ac_cv_prog_cc_pic='-KPIC'
664       ac_cv_prog_cc_static='-Bstatic'
665       ac_cv_prog_cc_wl='-Wl,'
666       ;;
667
668     uts4*)
669       ac_cv_prog_cc_pic='-pic'
670       ac_cv_prog_cc_static='-Bstatic'
671       ;;
672
673     sysv4*MP*)
674       if test -d /usr/nec ;then
675         ac_cv_prog_cc_pic='-Kconform_pic'
676         ac_cv_prog_cc_static='-Bstatic'
677       fi
678       ;;
679
680     *)
681       ac_cv_prog_cc_can_build_shared=no
682       ;;
683     esac
684   fi
685 fi
686 if test -z "$ac_cv_prog_cc_pic"; then
687   echo "$ac_t"none 1>&6
688 else
689   echo "$ac_t""$ac_cv_prog_cc_pic" 1>&6
690
691   # Check to make sure the pic_flag actually works.
692   echo $ac_n "checking if $compiler PIC flag $ac_cv_prog_cc_pic works... $ac_c" 1>&6
693   echo "$progname:693:checking that $compiler PIC flag $ac_cv_prog_cc_pic works." 1>&5
694   if test "X${ac_cv_prog_cc_pic_works+set}" = Xset; then
695     echo $ac_n "(cached) $ac_c" 1>&6
696   else
697     ac_cv_prog_cc_pic_works=yes
698     $rm conftest*
699     echo "int some_variable = 0;" > conftest.c
700     save_CFLAGS="$CFLAGS"
701     CFLAGS="$CFLAGS $ac_cv_prog_cc_pic -DPIC"
702     if { (eval echo $progname:702: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
703       # Append any warnings to the config.log.
704       cat conftest.err 1>&5
705
706       case "$host_os" in
707       hpux9* | hpux10* | hpux11*)
708         # On HP-UX, both CC and GCC only warn that PIC is supported... then
709         # they create non-PIC objects.  So, if there were any warnings, we
710         # assume that PIC is not supported.
711         if test -s conftest.err; then
712           ac_cv_prog_cc_pic_works=no
713           ac_cv_prog_cc_can_build_shared=no
714           ac_cv_prog_cc_pic=
715         else
716           ac_cv_prog_cc_pic_works=yes
717           ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic"
718         fi
719         ;;
720       *)
721         ac_cv_prog_cc_pic_works=yes
722         ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic"
723         ;;
724       esac
725     else
726       # Append any errors to the config.log.
727       cat conftest.err 1>&5
728       ac_cv_prog_cc_pic_works=no
729       ac_cv_prog_cc_can_build_shared=no
730       ac_cv_prog_cc_pic=
731     fi
732     CFLAGS="$save_CFLAGS"
733     $rm conftest*
734   fi
735   # Belt *and* braces to stop my trousers falling down:
736   if test "X$ac_cv_prog_cc_pic_works" = Xno; then
737     ac_cv_prog_cc_pic=
738     ac_cv_prog_cc_can_build_shared=no
739   fi
740   echo "$ac_t""$ac_cv_prog_cc_pic_works" 1>&6
741 fi
742
743 # Check for any special shared library compilation flags.
744 if test -n "$ac_cv_prog_cc_shlib"; then
745   echo "$progname: warning: \`$CC' requires \`$ac_cv_prog_cc_shlib' to build shared libraries" 1>&2
746   if echo "$old_CC $old_CFLAGS " | egrep -e "[  ]$ac_cv_prog_cc_shlib[  ]" >/dev/null; then :
747   else
748     echo "$progname: add \`$ac_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" 1>&2
749     ac_cv_prog_cc_can_build_shared=no
750   fi
751 fi
752
753 echo $ac_n "checking if $compiler static flag $ac_cv_prog_cc_static works... $ac_c" 1>&6
754 echo "$progname:754: checking if $compiler static flag $ac_cv_prog_cc_static works" >&5
755 if test "X${ac_cv_prog_cc_static_works+set}" = Xset; then
756   echo $ac_n "(cached) $ac_c" 1>&6
757 else
758   $rm conftest*
759   echo 'main(){return(0);}' > conftest.c
760   save_LDFLAGS="$LDFLAGS"
761   LDFLAGS="$LDFLAGS $ac_cv_prog_cc_static"
762   if { (eval echo $progname:762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
763     ac_cv_prog_cc_static_works=yes
764   else
765     ac_cv_prog_cc_static_works=no
766     ac_cv_prog_cc_static=
767   fi
768   LDFLAGS="$save_LDFLAGS"
769   $rm conftest*
770 fi
771 # Belt *and* braces to stop my trousers falling down:
772 if test "X$ac_cv_prog_cc_static_works" = Xno; then
773   ac_cv_prog_cc_static=
774 fi
775 echo "$ac_t""$ac_cv_prog_cc_static_works" 1>&6
776 pic_flag="$ac_cv_prog_cc_pic"
777 special_shlib_compile_flags="$ac_cv_prog_cc_shlib"
778 wl="$ac_cv_prog_cc_wl"
779 link_static_flag="$ac_cv_prog_cc_static"
780 no_builtin_flag="$ac_cv_prog_cc_no_builtin"
781 can_build_shared="$ac_cv_prog_cc_can_build_shared"
782
783 # Check to see if options -o and -c are simultaneously supported by compiler
784 echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
785 $rm -r conftest 2>/dev/null
786 mkdir conftest
787 cd conftest
788 $rm conftest*
789 echo "int some_variable = 0;" > conftest.c
790 mkdir out
791 # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
792 # that will create temporary files in the current directory regardless of
793 # the output directory.  Thus, making CWD read-only will cause this test
794 # to fail, enabling locking or at least warning the user not to do parallel
795 # builds.
796 chmod -w .
797 save_CFLAGS="$CFLAGS"
798 CFLAGS="$CFLAGS -o out/conftest2.o"
799 echo "$progname:799: checking if $compiler supports -c -o file.o" >&5
800 if { (eval echo $progname:800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
801
802   # The compiler can only warn and ignore the option if not recognized
803   # So say no if there are warnings
804     if test -s out/conftest.err; then
805       echo "$ac_t"no 1>&6
806       compiler_c_o=no
807     else
808       echo "$ac_t"yes 1>&6
809       compiler_c_o=yes
810     fi
811 else
812   # Append any errors to the config.log.
813   cat out/conftest.err 1>&5
814   compiler_c_o=no
815   echo "$ac_t"no 1>&6
816 fi
817 CFLAGS="$save_CFLAGS"
818 chmod u+w .
819 $rm conftest* out/*
820 rmdir out
821 cd ..
822 rmdir conftest
823 $rm -r conftest 2>/dev/null
824
825 if test x"$compiler_c_o" = x"yes"; then
826   # Check to see if we can write to a .lo
827   echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
828   $rm conftest*
829   echo "int some_variable = 0;" > conftest.c
830   save_CFLAGS="$CFLAGS"
831   CFLAGS="$CFLAGS -c -o conftest.lo"
832   echo "$progname:832: checking if $compiler supports -c -o file.lo" >&5
833 if { (eval echo $progname:833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
834
835     # The compiler can only warn and ignore the option if not recognized
836     # So say no if there are warnings
837       if test -s conftest.err; then
838         echo "$ac_t"no 1>&6
839         compiler_o_lo=no
840       else
841         echo "$ac_t"yes 1>&6
842         compiler_o_lo=yes
843       fi
844   else
845     # Append any errors to the config.log.
846     cat conftest.err 1>&5
847     compiler_o_lo=no
848     echo "$ac_t"no 1>&6
849   fi
850   CFLAGS="$save_CFLAGS"
851   $rm conftest*
852 else
853   compiler_o_lo=no
854 fi
855
856 # Check to see if we can do hard links to lock some files if needed
857 hard_links="nottested"
858 if test "$compiler_c_o" = no && test "$need_locks" != no; then
859   # do not overwrite the value of need_locks provided by the user
860   echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
861   hard_links=yes
862   $rm conftest*
863   ln conftest.a conftest.b 2>/dev/null && hard_links=no
864   touch conftest.a
865   ln conftest.a conftest.b 2>&5 || hard_links=no
866   ln conftest.a conftest.b 2>/dev/null && hard_links=no
867   echo "$ac_t$hard_links" 1>&6
868   $rm conftest*
869   if test "$hard_links" = no; then
870     echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
871     need_locks=warn
872   fi
873 else
874   need_locks=no
875 fi
876
877 if test "$with_gcc" = yes; then
878   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
879   echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
880   $rm conftest*
881   echo "int some_variable = 0;" > conftest.c
882   save_CFLAGS="$CFLAGS"
883   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
884   echo "$progname:884: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
885   if { (eval echo $progname:885: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
886
887     # The compiler can only warn and ignore the option if not recognized
888     # So say no if there are warnings
889       if test -s conftest.err; then
890         echo "$ac_t"no 1>&6
891         compiler_rtti_exceptions=no
892       else
893         echo "$ac_t"yes 1>&6
894         compiler_rtti_exceptions=yes
895       fi
896   else
897     # Append any errors to the config.log.
898     cat conftest.err 1>&5
899     compiler_rtti_exceptions=no
900     echo "$ac_t"no 1>&6
901   fi
902   CFLAGS="$save_CFLAGS"
903   $rm conftest*
904
905   if test "$compiler_rtti_exceptions" = "yes"; then
906     no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
907   else
908     no_builtin_flag=' -fno-builtin'
909   fi
910
911 fi
912
913 # See if the linker supports building shared libraries.
914 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
915
916 allow_undefined_flag=
917 no_undefined_flag=
918 need_lib_prefix=unknown
919 need_version=unknown
920 # when you set need_version to no, make sure it does not cause -set_version
921 # flags to be left without arguments
922 archive_cmds=
923 archive_expsym_cmds=
924 old_archive_from_new_cmds=
925 old_archive_from_expsyms_cmds=
926 striplib=
927 old_striplib=
928 export_dynamic_flag_spec=
929 whole_archive_flag_spec=
930 thread_safe_flag_spec=
931 hardcode_into_libs=no
932 hardcode_libdir_flag_spec=
933 hardcode_libdir_separator=
934 hardcode_direct=no
935 hardcode_minus_L=no
936 hardcode_shlibpath_var=unsupported
937 runpath_var=
938 link_all_deplibs=unknown
939 always_export_symbols=no
940 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
941 # include_expsyms should be a list of space-separated symbols to be *always*
942 # included in the symbol list
943 include_expsyms=
944 # exclude_expsyms can be an egrep regular expression of symbols to exclude
945 # it will be wrapped by ` (' and `)$', so one must not match beginning or
946 # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
947 # as well as any symbol that contains `d'.
948 exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
949 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
950 # platforms (ab)use it in PIC code, but their linkers get confused if
951 # the symbol is explicitly referenced.  Since portable code cannot
952 # rely on this symbol name, it's probably fine to never include it in
953 # preloaded symbol tables.
954 extract_expsyms_cmds=
955
956 case "$host_os" in
957 cygwin* | mingw*)
958   # FIXME: the MSVC++ port hasn't been tested in a loooong time
959   # When not using gcc, we currently assume that we are using
960   # Microsoft Visual C++.
961   if test "$with_gcc" != yes; then
962     with_gnu_ld=no
963   fi
964   ;;
965
966 esac
967
968 ld_shlibs=yes
969 if test "$with_gnu_ld" = yes; then
970   # If archive_cmds runs LD, not CC, wlarc should be empty
971   wlarc='${wl}'
972
973   # See if GNU ld supports shared libraries.
974   case "$host_os" in
975   aix3* | aix4*)
976     # On AIX, the GNU linker is very broken
977     ld_shlibs=no
978     cat <<EOF 1>&2
979
980 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
981 *** to be unable to reliably create shared libraries on AIX.
982 *** Therefore, libtool is disabling shared libraries support.  If you
983 *** really care for shared libraries, you may want to modify your PATH
984 *** so that a non-GNU linker is found, and then restart.
985
986 EOF
987     ;;
988
989   amigaos*)
990     archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
991     hardcode_libdir_flag_spec='-L$libdir'
992     hardcode_minus_L=yes
993
994     # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
995     # that the semantics of dynamic libraries on AmigaOS, at least up
996     # to version 4, is to share data among multiple programs linked
997     # with the same dynamic library.  Since this doesn't match the
998     # behavior of shared libraries on other platforms, we can use
999     # them.
1000     ld_shlibs=no
1001     ;;
1002
1003   beos*)
1004     if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1005       allow_undefined_flag=unsupported
1006       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
1007       # support --undefined.  This deserves some investigation.  FIXME
1008       archive_cmds='$CC -nostart $libobjs $deplibs $linker_flags ${wl}-soname $wl$soname -o $lib'
1009     else
1010       ld_shlibs=no
1011     fi
1012     ;;
1013
1014   cygwin* | mingw*)
1015     # hardcode_libdir_flag_spec is actually meaningless, as there is
1016     # no search path for DLLs.
1017     hardcode_libdir_flag_spec='-L$libdir'
1018     allow_undefined_flag=unsupported
1019     always_export_symbols=yes
1020
1021     extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
1022       sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~
1023       test -f $output_objdir/impgen.exe || (cd $output_objdir && \
1024       if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
1025       else $CC -o impgen impgen.c ; fi)~
1026       $output_objdir/impgen $dir/$soname > $output_objdir/$soname-def'
1027
1028     old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
1029
1030     # cygwin and mingw dlls have different entry points and sets of symbols
1031     # to exclude.
1032     # FIXME: what about values for MSVC?
1033     dll_entry=__cygwin_dll_entry@12
1034     dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
1035     case "$host_os" in
1036     mingw*)
1037       # mingw values
1038       dll_entry=_DllMainCRTStartup@12
1039       dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
1040       ;;
1041     esac
1042
1043     # mingw and cygwin differ, and it's simplest to just exclude the union
1044     # of the two symbol sets.
1045     dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
1046
1047     # recent cygwin and mingw systems supply a stub DllMain which the user
1048     # can override, but on older systems we have to supply one (in ltdll.c)
1049     if test "x$lt_cv_need_dllmain" = "xyes"; then
1050       ltdll_obj='$output_objdir/$soname-ltdll.'"$objext "
1051       ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/$soname-ltdll.c~
1052         test -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
1053     else
1054       ltdll_obj=
1055       ltdll_cmds=
1056     fi
1057
1058     # Extract the symbol export list from an `--export-all' def file,
1059     # then regenerate the def file from the symbol export list, so that
1060     # the compiled dll only exports the symbol export list.
1061     # Be careful not to strip the DATA tag left be newer dlltools.
1062     export_symbols_cmds="$ltdll_cmds"'
1063       $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
1064       sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
1065
1066     # If DATA tags from a recent dlltool are present, honour them!
1067     archive_expsym_cmds='echo EXPORTS > $output_objdir/$soname-def~
1068       _lt_hint=1;
1069       cat $export_symbols | while read symbol; do
1070         set dummy \$symbol;
1071         case \$# in
1072           2) echo "     \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
1073           *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
1074         esac;
1075         _lt_hint=`expr 1 + \$_lt_hint`;
1076       done~
1077       '"$ltdll_cmds"'
1078       $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1079       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
1080       $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1081       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
1082       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags'
1083     ;;
1084
1085   netbsd*)
1086     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1087       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1088       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1089     else
1090       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
1091     fi
1092     ;;
1093
1094   solaris* | sysv5*)
1095     if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
1096       ld_shlibs=no
1097       cat <<EOF 1>&2
1098
1099 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
1100 *** create shared libraries on Solaris systems.  Therefore, libtool
1101 *** is disabling shared libraries support.  We urge you to upgrade GNU
1102 *** binutils to release 2.9.1 or newer.  Another option is to modify
1103 *** your PATH or compiler configuration so that the native linker is
1104 *** used, and then restart.
1105
1106 EOF
1107     elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1108       archive_cmds='$CC -shared $libobjs $deplibs $linker_flags ${wl}-soname $wl$soname -o $lib'
1109       archive_expsym_cmds='$CC -shared $libobjs $deplibs $linker_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1110     else
1111       ld_shlibs=no
1112     fi
1113     ;;
1114
1115   sunos4*)
1116     archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1117     wlarc=
1118     hardcode_direct=yes
1119     hardcode_shlibpath_var=no
1120     ;;
1121
1122   *)
1123     if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1124       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1125       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1126     else
1127       ld_shlibs=no
1128     fi
1129     ;;
1130   esac
1131
1132   if test "$ld_shlibs" = yes; then
1133     runpath_var=LD_RUN_PATH
1134     hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
1135     export_dynamic_flag_spec='${wl}--export-dynamic'
1136     case $host_os in
1137     cygwin* | mingw*)
1138       # dlltool doesn't understand --whole-archive et. al.
1139       whole_archive_flag_spec=
1140       ;;
1141     *)
1142       # ancient GNU ld didn't support --whole-archive et. al.
1143       if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
1144         whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
1145       else
1146         whole_archive_flag_spec=
1147       fi
1148       ;;
1149     esac
1150   fi
1151 else
1152   # PORTME fill in a description of your system's linker (not GNU ld)
1153   case "$host_os" in
1154   aix3*)
1155     allow_undefined_flag=unsupported
1156     always_export_symbols=yes
1157     archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $output_objdir/$soname'
1158     # Note: this linker hardcodes the directories in LIBPATH if there
1159     # are no directories specified by -L.
1160     hardcode_minus_L=yes
1161     if test "$with_gcc" = yes && test -z "$link_static_flag"; then
1162       # Neither direct hardcoding nor static linking is supported with a
1163       # broken collect2.
1164       hardcode_direct=unsupported
1165     fi
1166     ;;
1167
1168   aix4*)
1169     hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
1170     hardcode_libdir_separator=':'
1171     if test "$with_gcc" = yes; then
1172       collect2name=`${CC} -print-prog-name=collect2`
1173       if test -f "$collect2name" && \
1174          strings "$collect2name" | grep resolve_lib_name >/dev/null
1175       then
1176         # We have reworked collect2
1177         hardcode_direct=yes
1178       else
1179         # We have old collect2
1180         hardcode_direct=unsupported
1181         # It fails to find uninstalled libraries when the uninstalled
1182         # path is not listed in the libpath.  Setting hardcode_minus_L
1183         # to unsupported forces relinking
1184         hardcode_minus_L=yes
1185         hardcode_libdir_flag_spec='-L$libdir'
1186         hardcode_libdir_separator=
1187       fi
1188       shared_flag='-shared'
1189     else
1190       shared_flag='${wl}-bM:SRE'
1191       hardcode_direct=yes
1192     fi
1193     allow_undefined_flag=' ${wl}-berok'
1194     archive_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
1195     archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
1196     case "$host_os" in aix4.[01]|aix4.[01].*)
1197       # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
1198       always_export_symbols=yes ;;
1199     esac
1200    ;;
1201
1202   amigaos*)
1203     archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
1204     hardcode_libdir_flag_spec='-L$libdir'
1205     hardcode_minus_L=yes
1206     # see comment about different semantics on the GNU ld section
1207     ld_shlibs=no
1208     ;;
1209
1210   cygwin* | mingw*)
1211     # When not using gcc, we currently assume that we are using
1212     # Microsoft Visual C++.
1213     # hardcode_libdir_flag_spec is actually meaningless, as there is
1214     # no search path for DLLs.
1215     hardcode_libdir_flag_spec=' '
1216     allow_undefined_flag=unsupported
1217     # Tell ltmain to make .lib files, not .a files.
1218     libext=lib
1219     # FIXME: Setting linknames here is a bad hack.
1220     archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
1221     # The linker will automatically build a .lib file if we build a DLL.
1222     old_archive_from_new_cmds='true'
1223     # FIXME: Should let the user specify the lib program.
1224     old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
1225     fix_srcfile_path='`cygpath -w $srcfile`'
1226     ;;
1227
1228   freebsd1*)
1229     ld_shlibs=no
1230     ;;
1231
1232   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
1233   # support.  Future versions do this automatically, but an explicit c++rt0.o
1234   # does not break anything, and helps significantly (at the cost of a little
1235   # extra space).
1236   freebsd2.2*)
1237     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
1238     hardcode_libdir_flag_spec='-R$libdir'
1239     hardcode_direct=yes
1240     hardcode_shlibpath_var=no
1241     ;;
1242
1243   # Unfortunately, older versions of FreeBSD 2 do not have this feature.
1244   freebsd2*)
1245     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1246     hardcode_direct=yes
1247     hardcode_minus_L=yes
1248     hardcode_shlibpath_var=no
1249     ;;
1250
1251   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
1252   freebsd*)
1253     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
1254     hardcode_libdir_flag_spec='-R$libdir'
1255     hardcode_direct=yes
1256     hardcode_shlibpath_var=no
1257     ;;
1258
1259   hpux9* | hpux10* | hpux11*)
1260     case "$host_os" in
1261     hpux9*) archive_cmds='$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' ;;
1262     *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
1263     esac
1264     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
1265     hardcode_libdir_separator=:
1266     hardcode_direct=yes
1267     hardcode_minus_L=yes # Not in the search PATH, but as the default
1268                          # location of the library.
1269     export_dynamic_flag_spec='${wl}-E'
1270     ;;
1271
1272   irix5* | irix6*)
1273     if test "$with_gcc" = yes; then
1274       archive_cmds='$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'
1275     else
1276       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
1277     fi
1278     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1279     hardcode_libdir_separator=:
1280     link_all_deplibs=yes
1281     ;;
1282
1283   netbsd*)
1284     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1285       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
1286     else
1287       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
1288     fi
1289     hardcode_libdir_flag_spec='${wl}-R$libdir'
1290     hardcode_direct=yes
1291     hardcode_shlibpath_var=no
1292     ;;
1293
1294   openbsd*)
1295     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1296     hardcode_libdir_flag_spec='-R$libdir'
1297     hardcode_direct=yes
1298     hardcode_shlibpath_var=no
1299     ;;
1300
1301   os2*)
1302     hardcode_libdir_flag_spec='-L$libdir'
1303     hardcode_minus_L=yes
1304     allow_undefined_flag=unsupported
1305     archive_cmds='$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'
1306     old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
1307     ;;
1308
1309   osf3*)
1310     if test "$with_gcc" = yes; then
1311       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1312       archive_cmds='$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'
1313     else
1314       allow_undefined_flag=' -expect_unresolved \*'
1315       archive_cmds='$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'
1316     fi
1317     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1318     hardcode_libdir_separator=:
1319     ;;
1320
1321   osf4* | osf5*)        # as osf3* with the addition of -msym flag
1322     if test "$with_gcc" = yes; then
1323       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1324       archive_cmds='$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'
1325     else
1326       allow_undefined_flag=' -expect_unresolved \*'
1327       archive_cmds='$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'
1328     fi
1329     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1330     hardcode_libdir_separator=:
1331     ;;
1332
1333   sco3.2v5*)
1334     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1335     hardcode_shlibpath_var=no
1336     runpath_var=LD_RUN_PATH
1337     hardcode_runpath_var=yes
1338     ;;
1339
1340   solaris*)
1341     no_undefined_flag=' -z text'
1342     # $CC -shared without GNU ld will not create a library from C++
1343     # object files and a static libstdc++, better avoid it by now
1344     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1345     archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1346                 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1347     hardcode_libdir_flag_spec='-R$libdir'
1348     hardcode_shlibpath_var=no
1349     case "$host_os" in
1350     solaris2.[0-5] | solaris2.[0-5].*) ;;
1351     *) # Supported since Solaris 2.6 (maybe 2.5.1?)
1352       whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
1353     esac
1354     link_all_deplibs=yes
1355     ;;
1356
1357   sunos4*)
1358     archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
1359     hardcode_libdir_flag_spec='-L$libdir'
1360     hardcode_direct=yes
1361     hardcode_minus_L=yes
1362     hardcode_shlibpath_var=no
1363     ;;
1364
1365   sysv4)
1366     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1367     runpath_var='LD_RUN_PATH'
1368     hardcode_shlibpath_var=no
1369     hardcode_direct=no #Motorola manual says yes, but my tests say they lie
1370     ;;
1371
1372   sysv4.3*)
1373     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1374     hardcode_shlibpath_var=no
1375     export_dynamic_flag_spec='-Bexport'
1376     ;;
1377
1378   sysv5*)
1379     no_undefined_flag=' -z text'
1380     # $CC -shared without GNU ld will not create a library from C++
1381     # object files and a static libstdc++, better avoid it by now
1382     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1383     archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1384                 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1385     hardcode_libdir_flag_spec=
1386     hardcode_shlibpath_var=no
1387     runpath_var='LD_RUN_PATH'
1388     ;;
1389
1390   uts4*)
1391     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1392     hardcode_libdir_flag_spec='-L$libdir'
1393     hardcode_shlibpath_var=no
1394     ;;
1395
1396   dgux*)
1397     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1398     hardcode_libdir_flag_spec='-L$libdir'
1399     hardcode_shlibpath_var=no
1400     ;;
1401
1402   sysv4*MP*)
1403     if test -d /usr/nec; then
1404       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1405       hardcode_shlibpath_var=no
1406       runpath_var=LD_RUN_PATH
1407       hardcode_runpath_var=yes
1408       ld_shlibs=yes
1409     fi
1410     ;;
1411
1412   sysv4.2uw2*)
1413     archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
1414     hardcode_direct=yes
1415     hardcode_minus_L=no
1416     hardcode_shlibpath_var=no
1417     hardcode_runpath_var=yes
1418     runpath_var=LD_RUN_PATH
1419     ;;
1420
1421   unixware7*)
1422     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1423     runpath_var='LD_RUN_PATH'
1424     hardcode_shlibpath_var=no
1425     ;;
1426
1427   *)
1428     ld_shlibs=no
1429     ;;
1430   esac
1431 fi
1432 echo "$ac_t$ld_shlibs" 1>&6
1433 test "$ld_shlibs" = no && can_build_shared=no
1434
1435 # Check hardcoding attributes.
1436 echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
1437 hardcode_action=
1438 if test -n "$hardcode_libdir_flag_spec" || \
1439    test -n "$runpath_var"; then
1440
1441   # We can hardcode non-existant directories.
1442   if test "$hardcode_direct" != no &&
1443      # If the only mechanism to avoid hardcoding is shlibpath_var, we
1444      # have to relink, otherwise we might link with an installed library
1445      # when we should be linking with a yet-to-be-installed one
1446      ## test "$hardcode_shlibpath_var" != no &&
1447      test "$hardcode_minus_L" != no; then
1448     # Linking always hardcodes the temporary library directory.
1449     hardcode_action=relink
1450   else
1451     # We can link without hardcoding, and we can hardcode nonexisting dirs.
1452     hardcode_action=immediate
1453   fi
1454 else
1455   # We cannot hardcode anything, or else we can only hardcode existing
1456   # directories.
1457   hardcode_action=unsupported
1458 fi
1459 echo "$ac_t$hardcode_action" 1>&6
1460
1461 echo $ac_n "checking whether stripping libraries is possible... $ac_c" 1>&6
1462 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
1463   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
1464   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
1465   echo "${ac_t}yes" 1>&6
1466 else
1467   echo "${ac_t}no" 1>&6
1468 fi
1469
1470 reload_cmds='$LD$reload_flag -o $output$reload_objs'
1471 test -z "$deplibs_check_method" && deplibs_check_method=unknown
1472
1473 # PORTME Fill in your ld.so characteristics
1474 library_names_spec=
1475 libname_spec='lib$name'
1476 soname_spec=
1477 postinstall_cmds=
1478 postuninstall_cmds=
1479 finish_cmds=
1480 finish_eval=
1481 shlibpath_var=
1482 shlibpath_overrides_runpath=unknown
1483 version_type=none
1484 dynamic_linker="$host_os ld.so"
1485 sys_lib_dlsearch_path_spec="/lib /usr/lib"
1486 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1487
1488 echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
1489 case "$host_os" in
1490 aix3*)
1491   version_type=linux
1492   library_names_spec='${libname}${release}.so$versuffix $libname.a'
1493   shlibpath_var=LIBPATH
1494
1495   # AIX has no versioning support, so we append a major version to the name.
1496   soname_spec='${libname}${release}.so$major'
1497   ;;
1498
1499 aix4*)
1500   version_type=linux
1501   # AIX has no versioning support, so currently we can not hardcode correct
1502   # soname into executable. Probably we can add versioning support to
1503   # collect2, so additional links can be useful in future.
1504   # We preserve .a as extension for shared libraries though AIX4.2
1505   # and later linker supports .so
1506   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
1507   shlibpath_var=LIBPATH
1508   ;;
1509
1510 amigaos*)
1511   library_names_spec='$libname.ixlibrary $libname.a'
1512   # Create ${libname}_ixlibrary.a entries in /sys/libs.
1513   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'
1514   ;;
1515
1516 beos*)
1517   library_names_spec='${libname}.so'
1518   dynamic_linker="$host_os ld.so"
1519   shlibpath_var=LIBRARY_PATH
1520   lt_cv_dlopen="load_add_on"
1521   lt_cv_dlopen_libs=
1522   lt_cv_dlopen_self=yes
1523   ;;
1524
1525 bsdi4*)
1526   version_type=linux
1527   need_version=no
1528   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1529   soname_spec='${libname}${release}.so$major'
1530   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
1531   shlibpath_var=LD_LIBRARY_PATH
1532   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1533   sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
1534   export_dynamic_flag_spec=-rdynamic
1535   # the default ld.so.conf also contains /usr/contrib/lib and
1536   # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1537   # libtool to hard-code these into programs
1538   ;;
1539
1540 cygwin* | mingw*)
1541   version_type=windows
1542   need_version=no
1543   need_lib_prefix=no
1544   if test "$with_gcc" = yes; then
1545     library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
1546   else
1547     library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
1548   fi
1549   dynamic_linker='Win32 ld.exe'
1550   # FIXME: first we should search . and the directory the executable is in
1551   shlibpath_var=PATH
1552   lt_cv_dlopen="LoadLibrary"
1553   lt_cv_dlopen_libs=
1554   ;;
1555
1556 freebsd1*)
1557   dynamic_linker=no
1558   ;;
1559
1560 freebsd*)
1561   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
1562   version_type=freebsd-$objformat
1563   case "$version_type" in
1564     freebsd-elf*)
1565       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1566       need_version=no
1567       need_lib_prefix=no
1568       ;;
1569     freebsd-*)
1570       library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
1571       need_version=yes
1572       ;;
1573   esac
1574   shlibpath_var=LD_LIBRARY_PATH
1575   case "$host_os" in
1576   freebsd2*)
1577     shlibpath_overrides_runpath=yes
1578     ;;
1579   freebsd3.[01]* | freebsdelf3.[01]*)
1580     shlibpath_overrides_runpath=yes
1581     hardcode_into_libs=yes
1582     ;;
1583   *) # from 3.2 on
1584     shlibpath_overrides_runpath=no
1585     hardcode_into_libs=yes
1586     ;;
1587   esac
1588   ;;
1589
1590 gnu*)
1591   version_type=linux
1592   need_lib_prefix=no
1593   need_version=no
1594   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
1595   soname_spec='${libname}${release}.so$major'
1596   shlibpath_var=LD_LIBRARY_PATH
1597   hardcode_into_libs=yes
1598   ;;
1599
1600 hpux9* | hpux10* | hpux11*)
1601   # Give a soname corresponding to the major version so that dld.sl refuses to
1602   # link against other versions.
1603   dynamic_linker="$host_os dld.sl"
1604   version_type=sunos
1605   need_lib_prefix=no
1606   need_version=no
1607   shlibpath_var=SHLIB_PATH
1608   shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
1609   library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
1610   soname_spec='${libname}${release}.sl$major'
1611   # HP-UX runs *really* slowly unless shared libraries are mode 555.
1612   postinstall_cmds='chmod 555 $lib'
1613   ;;
1614
1615 irix5* | irix6*)
1616   version_type=irix
1617   need_lib_prefix=no
1618   need_version=no
1619   soname_spec='${libname}${release}.so.$major'
1620   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
1621   case "$host_os" in
1622   irix5*)
1623     libsuff= shlibsuff=
1624     ;;
1625   *)
1626     case "$LD" in # libtool.m4 will add one of these switches to LD
1627     *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
1628     *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
1629     *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
1630     *) libsuff= shlibsuff= libmagic=never-match;;
1631     esac
1632     ;;
1633   esac
1634   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1635   shlibpath_overrides_runpath=no
1636   sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1637   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
1638   ;;
1639
1640 # No shared lib support for Linux oldld, aout, or coff.
1641 linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
1642   dynamic_linker=no
1643   ;;
1644
1645 # This must be Linux ELF.
1646 linux-gnu*)
1647   version_type=linux
1648   need_lib_prefix=no
1649   need_version=no
1650   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1651   soname_spec='${libname}${release}.so$major'
1652   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1653   shlibpath_var=LD_LIBRARY_PATH
1654   shlibpath_overrides_runpath=no
1655   # This implies no fast_install, which is unacceptable.
1656   # Some rework will be needed to allow for fast_install
1657   # before this can be enabled.
1658   hardcode_into_libs=yes
1659
1660   if test -f /lib/ld.so.1; then
1661     dynamic_linker='GNU ld.so'
1662   else
1663     # Only the GNU ld.so supports shared libraries on MkLinux.
1664     case "$host_cpu" in
1665     powerpc*) dynamic_linker=no ;;
1666     *) dynamic_linker='Linux ld.so' ;;
1667     esac
1668   fi
1669   ;;
1670
1671 netbsd*)
1672   version_type=sunos
1673   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1674     library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1675     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1676     dynamic_linker='NetBSD (a.out) ld.so'
1677   else
1678     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
1679     soname_spec='${libname}${release}.so$major'
1680     dynamic_linker='NetBSD ld.elf_so'
1681   fi
1682   shlibpath_var=LD_LIBRARY_PATH
1683   ;;
1684
1685 openbsd*)
1686   version_type=sunos
1687   if test "$with_gnu_ld" = yes; then
1688     need_lib_prefix=no
1689     need_version=no
1690   fi
1691   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1692   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1693   shlibpath_var=LD_LIBRARY_PATH
1694   ;;
1695
1696 os2*)
1697   libname_spec='$name'
1698   need_lib_prefix=no
1699   library_names_spec='$libname.dll $libname.a'
1700   dynamic_linker='OS/2 ld.exe'
1701   shlibpath_var=LIBPATH
1702   ;;
1703
1704 osf3* | osf4* | osf5*)
1705   version_type=osf
1706   need_version=no
1707   soname_spec='${libname}${release}.so'
1708   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1709   shlibpath_var=LD_LIBRARY_PATH
1710   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1711   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
1712   ;;
1713
1714 sco3.2v5*)
1715   version_type=osf
1716   soname_spec='${libname}${release}.so$major'
1717   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1718   shlibpath_var=LD_LIBRARY_PATH
1719   ;;
1720
1721 solaris*)
1722   version_type=linux
1723   need_lib_prefix=no
1724   need_version=no
1725   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1726   soname_spec='${libname}${release}.so$major'
1727   shlibpath_var=LD_LIBRARY_PATH
1728   shlibpath_overrides_runpath=yes
1729   hardcode_into_libs=yes
1730   # ldd complains unless libraries are executable
1731   postinstall_cmds='chmod +x $lib'
1732   ;;
1733
1734 sunos4*)
1735   version_type=sunos
1736   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1737   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1738   shlibpath_var=LD_LIBRARY_PATH
1739   shlibpath_overrides_runpath=yes
1740   if test "$with_gnu_ld" = yes; then
1741     need_lib_prefix=no
1742   fi
1743   need_version=yes
1744   ;;
1745
1746 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
1747   version_type=linux
1748   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1749   soname_spec='${libname}${release}.so$major'
1750   shlibpath_var=LD_LIBRARY_PATH
1751   case "$host_vendor" in
1752     motorola)
1753       need_lib_prefix=no
1754       need_version=no
1755       shlibpath_overrides_runpath=no
1756       sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
1757       ;;
1758   esac
1759   ;;
1760
1761 uts4*)
1762   version_type=linux
1763   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1764   soname_spec='${libname}${release}.so$major'
1765   shlibpath_var=LD_LIBRARY_PATH
1766   ;;
1767
1768 dgux*)
1769   version_type=linux
1770   need_lib_prefix=no
1771   need_version=no
1772   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1773   soname_spec='${libname}${release}.so$major'
1774   shlibpath_var=LD_LIBRARY_PATH
1775   ;;
1776
1777 sysv4*MP*)
1778   if test -d /usr/nec ;then
1779     version_type=linux
1780     library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
1781     soname_spec='$libname.so.$major'
1782     shlibpath_var=LD_LIBRARY_PATH
1783   fi
1784   ;;
1785
1786 *)
1787   dynamic_linker=no
1788   ;;
1789 esac
1790 echo "$ac_t$dynamic_linker" 1>&6
1791 test "$dynamic_linker" = no && can_build_shared=no
1792
1793 # Check for command to grab the raw symbol name followed by C symbol from nm.
1794 echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
1795
1796 # These are sane defaults that work on at least a few old systems.
1797 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
1798
1799 # Character class describing NM global symbol codes.
1800 symcode='[BCDEGRST]'
1801
1802 # Regexp to match symbols that can be accessed directly from C.
1803 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
1804
1805 # Transform the above into a raw symbol and a C symbol.
1806 symxfrm='\1 \2\3 \3'
1807
1808 # Transform an extracted symbol line into a proper C declaration
1809 global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
1810
1811 # Define system-specific variables.
1812 case "$host_os" in
1813 aix*)
1814   symcode='[BCDT]'
1815   ;;
1816 cygwin* | mingw*)
1817   symcode='[ABCDGISTW]'
1818   ;;
1819 hpux*) # Its linker distinguishes data from code symbols
1820   global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
1821   ;;
1822 irix*)
1823   symcode='[BCDEGRST]'
1824   ;;
1825 solaris* | sysv5*)
1826   symcode='[BDT]'
1827   ;;
1828 sysv4)
1829   symcode='[DFNSTU]'
1830   ;;
1831 esac
1832
1833 # Handle CRLF in mingw too chain
1834 opt_cr=
1835 case "$host_os" in
1836 mingw*)
1837   opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
1838   ;;
1839 esac
1840
1841 # If we're using GNU nm, then use its standard symbol codes.
1842 if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
1843   symcode='[ABCDGISTW]'
1844 fi
1845
1846 # Try without a prefix undercore, then with it.
1847 for ac_symprfx in "" "_"; do
1848
1849   # Write the raw and C identifiers.
1850 global_symbol_pipe="sed -n -e 's/^.*[   ]\($symcode\)[  ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
1851
1852   # Check to see that the pipe works correctly.
1853   pipe_works=no
1854   $rm conftest*
1855   cat > conftest.c <<EOF
1856 #ifdef __cplusplus
1857 extern "C" {
1858 #endif
1859 char nm_test_var;
1860 void nm_test_func(){}
1861 #ifdef __cplusplus
1862 }
1863 #endif
1864 main(){nm_test_var='a';nm_test_func();return(0);}
1865 EOF
1866
1867   echo "$progname:1867: checking if global_symbol_pipe works" >&5
1868   if { (eval echo $progname:1868: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
1869     # Now try to grab the symbols.
1870     nlist=conftest.nm
1871     if { echo "$progname:1871: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
1872
1873       # Try sorting and uniquifying the output.
1874       if sort "$nlist" | uniq > "$nlist"T; then
1875         mv -f "$nlist"T "$nlist"
1876       else
1877         rm -f "$nlist"T
1878       fi
1879
1880       # Make sure that we snagged all the symbols we need.
1881       if egrep ' nm_test_var$' "$nlist" >/dev/null; then
1882         if egrep ' nm_test_func$' "$nlist" >/dev/null; then
1883           cat <<EOF > conftest.c
1884 #ifdef __cplusplus
1885 extern "C" {
1886 #endif
1887
1888 EOF
1889           # Now generate the symbol file.
1890           eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
1891
1892           cat <<EOF >> conftest.c
1893 #if defined (__STDC__) && __STDC__
1894 # define lt_ptr_t void *
1895 #else
1896 # define lt_ptr_t char *
1897 # define const
1898 #endif
1899
1900 /* The mapping between symbol names and symbols. */
1901 const struct {
1902   const char *name;
1903   lt_ptr_t address;
1904 }
1905 lt_preloaded_symbols[] =
1906 {
1907 EOF
1908           sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
1909           cat <<\EOF >> conftest.c
1910   {0, (lt_ptr_t) 0}
1911 };
1912
1913 #ifdef __cplusplus
1914 }
1915 #endif
1916 EOF
1917           # Now try linking the two files.
1918           mv conftest.$objext conftstm.$objext
1919           save_LIBS="$LIBS"
1920           save_CFLAGS="$CFLAGS"
1921           LIBS="conftstm.$objext"
1922           CFLAGS="$CFLAGS$no_builtin_flag"
1923           if { (eval echo $progname:1923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
1924             pipe_works=yes
1925           else
1926             echo "$progname: failed program was:" >&5
1927             cat conftest.c >&5
1928           fi
1929           LIBS="$save_LIBS"
1930         else
1931           echo "cannot find nm_test_func in $nlist" >&5
1932         fi
1933       else
1934         echo "cannot find nm_test_var in $nlist" >&5
1935       fi
1936     else
1937       echo "cannot run $global_symbol_pipe" >&5
1938     fi
1939   else
1940     echo "$progname: failed program was:" >&5
1941     cat conftest.c >&5
1942   fi
1943   $rm conftest* conftst*
1944
1945   # Do not use the global_symbol_pipe unless it works.
1946   if test "$pipe_works" = yes; then
1947     break
1948   else
1949     global_symbol_pipe=
1950   fi
1951 done
1952 if test "$pipe_works" = yes; then
1953   echo "${ac_t}ok" 1>&6
1954 else
1955   echo "${ac_t}failed" 1>&6
1956 fi
1957
1958 if test -z "$global_symbol_pipe"; then
1959   global_symbol_to_cdecl=
1960 fi
1961
1962 # Report the final consequences.
1963 echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
1964
1965 # Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
1966 # configure.in, otherwise build static only libraries.
1967 case "$host_os" in
1968 cygwin* | mingw* | os2*)
1969   if test x$can_build_shared = xyes; then
1970     test x$enable_win32_dll = xno && can_build_shared=no
1971     echo "checking if package supports dlls... $can_build_shared" 1>&6
1972   fi
1973 ;;
1974 esac
1975
1976 echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
1977 test "$can_build_shared" = "no" && enable_shared=no
1978
1979 # On AIX, shared libraries and static libraries use the same namespace, and
1980 # are all built from PIC.
1981 case "$host_os" in
1982 aix3*)
1983   test "$enable_shared" = yes && enable_static=no
1984   if test -n "$RANLIB"; then
1985     archive_cmds="$archive_cmds~\$RANLIB \$lib"
1986     postinstall_cmds='$RANLIB $lib'
1987   fi
1988   ;;
1989
1990 aix4*)
1991   test "$enable_shared" = yes && enable_static=no
1992   ;;
1993 esac
1994
1995 echo "$ac_t$enable_shared" 1>&6
1996
1997 # Make sure either enable_shared or enable_static is yes.
1998 test "$enable_shared" = yes || enable_static=yes
1999
2000 echo "checking whether to build static libraries... $enable_static" 1>&6
2001
2002 if test "$hardcode_action" = relink || test "$hardcode_into_libs" = all; then
2003   # Fast installation is not supported
2004   enable_fast_install=no
2005 elif test "$shlibpath_overrides_runpath" = yes ||
2006      test "$enable_shared" = no; then
2007   # Fast installation is not necessary
2008   enable_fast_install=needless
2009 fi
2010
2011 # Check whether we must set pic_mode to default
2012 test -z "$pic_flag" && pic_mode=default
2013 # On Cygwin there's no "real" PIC flag so we must build both object types
2014 case "$host_os" in
2015 cygwin* | mingw* | os2*)
2016   pic_mode=default
2017   ;;
2018 esac
2019 if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
2020   # non-PIC code in shared libraries is not supported
2021   pic_mode=default
2022 fi
2023
2024 if test "x$enable_dlopen" != xyes; then
2025   enable_dlopen=unknown
2026   enable_dlopen_self=unknown
2027   enable_dlopen_self_static=unknown
2028 else
2029 if test "X${lt_cv_dlopen+set}" != Xset; then
2030   lt_cv_dlopen=no lt_cv_dlopen_libs=
2031 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
2032 echo "$progname:2032: checking for dlopen in -ldl" >&5
2033 if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then
2034   echo $ac_n "(cached) $ac_c" 1>&6
2035 else
2036   ac_save_LIBS="$LIBS"
2037 LIBS="-ldl  $LIBS"
2038 cat > conftest.$ac_ext <<EOF
2039 #line 2039 "ltconfig"
2040 /* Override any gcc2 internal prototype to avoid an error.  */
2041 /* We use char because int might match the return type of a gcc2
2042     builtin and then its argument prototype would still apply.  */
2043 #ifdef __cplusplus
2044 extern "C"
2045 #endif
2046 char dlopen();
2047
2048 int main() {
2049 dlopen()
2050 ; return 0; }
2051 EOF
2052 if { (eval echo $progname:2052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2053   rm -rf conftest*
2054   ac_cv_lib_dl_dlopen=yes
2055 else
2056   echo "$progname: failed program was:" >&5
2057   cat conftest.$ac_ext >&5
2058   rm -rf conftest*
2059   ac_cv_lib_dl_dlopen=no
2060 fi
2061 rm -f conftest*
2062 LIBS="$ac_save_LIBS"
2063
2064 fi
2065 if test "X$ac_cv_lib_dl_dlopen" = Xyes; then
2066   echo "$ac_t""yes" 1>&6
2067   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
2068 else
2069   echo "$ac_t""no" 1>&6
2070 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
2071 echo "$progname:2071: checking for dlopen" >&5
2072 if test "X${ac_cv_func_dlopen+set}" = Xset; then
2073   echo $ac_n "(cached) $ac_c" 1>&6
2074 else
2075   cat > conftest.$ac_ext <<EOF
2076 #line 2076 "ltconfig"
2077 /* System header to define __stub macros and hopefully few prototypes,
2078     which can conflict with char dlopen(); below.  */
2079 #include <assert.h>
2080 /* Override any gcc2 internal prototype to avoid an error.  */
2081 /* We use char because int might match the return type of a gcc2
2082     builtin and then its argument prototype would still apply.  */
2083 #ifdef __cplusplus
2084 extern "C"
2085 #endif
2086 char dlopen();
2087
2088 int main() {
2089
2090 /* The GNU C library defines this for functions which it implements
2091     to always fail with ENOSYS.  Some functions are actually named
2092     something starting with __ and the normal name is an alias.  */
2093 #if defined (__stub_dlopen) || defined (__stub___dlopen)
2094 choke me
2095 #else
2096 dlopen();
2097 #endif
2098
2099 ; return 0; }
2100 EOF
2101 if { (eval echo $progname:2101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2102   rm -rf conftest*
2103   ac_cv_func_dlopen=yes
2104 else
2105   echo "$progname: failed program was:" >&5
2106   cat conftest.$ac_ext >&5
2107   rm -rf conftest*
2108   ac_cv_func_dlopen=no
2109 fi
2110 rm -f conftest*
2111 fi
2112 if test "X$ac_cv_func_dlopen" = Xyes; then
2113   echo "$ac_t""yes" 1>&6
2114   lt_cv_dlopen="dlopen"
2115 else
2116   echo "$ac_t""no" 1>&6
2117 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
2118 echo "$progname:2118: checking for dld_link in -ldld" >&5
2119 if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then
2120   echo $ac_n "(cached) $ac_c" 1>&6
2121 else
2122   ac_save_LIBS="$LIBS"
2123 LIBS="-ldld  $LIBS"
2124 cat > conftest.$ac_ext <<EOF
2125 #line 2125 "ltconfig"
2126 /* Override any gcc2 internal prototype to avoid an error.  */
2127 /* We use char because int might match the return type of a gcc2
2128     builtin and then its argument prototype would still apply.  */
2129 #ifdef __cplusplus
2130 extern "C"
2131 #endif
2132 char dld_link();
2133
2134 int main() {
2135 dld_link()
2136 ; return 0; }
2137 EOF
2138 if { (eval echo $progname:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2139   rm -rf conftest*
2140   ac_cv_lib_dld_dld_link=yes
2141 else
2142   echo "$progname: failed program was:" >&5
2143   cat conftest.$ac_ext >&5
2144   rm -rf conftest*
2145   ac_cv_lib_dld_dld_link=no
2146 fi
2147 rm -f conftest*
2148 LIBS="$ac_save_LIBS"
2149
2150 fi
2151 if test "X$ac_cv_lib_dld_dld_link" = Xyes; then
2152   echo "$ac_t""yes" 1>&6
2153   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
2154 else
2155   echo "$ac_t""no" 1>&6
2156 echo $ac_n "checking for shl_load""... $ac_c" 1>&6
2157 echo "$progname:2157: checking for shl_load" >&5
2158 if test "X${ac_cv_func_shl_load+set}" = Xset; then
2159   echo $ac_n "(cached) $ac_c" 1>&6
2160 else
2161   cat > conftest.$ac_ext <<EOF
2162 #line 2162 "ltconfig"
2163 /* System header to define __stub macros and hopefully few prototypes,
2164     which can conflict with char shl_load(); below.  */
2165 #include <assert.h>
2166 /* Override any gcc2 internal prototype to avoid an error.  */
2167 /* We use char because int might match the return type of a gcc2
2168     builtin and then its argument prototype would still apply.  */
2169 #ifdef __cplusplus
2170 extern "C"
2171 #endif
2172 char shl_load();
2173
2174 int main() {
2175
2176 /* The GNU C library defines this for functions which it implements
2177     to always fail with ENOSYS.  Some functions are actually named
2178     something starting with __ and the normal name is an alias.  */
2179 #if defined (__stub_shl_load) || defined (__stub___shl_load)
2180 choke me
2181 #else
2182 shl_load();
2183 #endif
2184
2185 ; return 0; }
2186 EOF
2187 if { (eval echo $progname:2187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2188   rm -rf conftest*
2189   ac_cv_func_shl_load=yes
2190 else
2191   echo "$progname: failed program was:" >&5
2192   cat conftest.$ac_ext >&5
2193   rm -rf conftest*
2194   ac_cv_func_shl_load=no
2195 fi
2196 rm -f conftest*
2197 fi
2198
2199 if test "X$ac_cv_func_shl_load" = Xyes; then
2200   echo "$ac_t""yes" 1>&6
2201   lt_cv_dlopen="shl_load"
2202 else
2203   echo "$ac_t""no" 1>&6
2204 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
2205 echo "$progname:2205: checking for shl_load in -ldld" >&5
2206 if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then
2207   echo $ac_n "(cached) $ac_c" 1>&6
2208 else
2209   ac_save_LIBS="$LIBS"
2210 LIBS="-ldld  $LIBS"
2211 cat > conftest.$ac_ext <<EOF
2212 #line 2212 "ltconfig"
2213 #include "confdefs.h"
2214 /* Override any gcc2 internal prototype to avoid an error.  */
2215 /* We use char because int might match the return type of a gcc2
2216     builtin and then its argument prototype would still apply.  */
2217 #ifdef __cplusplus
2218 extern "C"
2219 #endif
2220 char shl_load();
2221
2222 int main() {
2223 shl_load()
2224 ; return 0; }
2225 EOF
2226 if { (eval echo $progname:2226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
2227   rm -rf conftest*
2228   ac_cv_lib_dld_shl_load=yes
2229 else
2230   echo "$progname: failed program was:" >&5
2231   cat conftest.$ac_ext >&5
2232   rm -rf conftest*
2233   ac_cv_lib_dld_shl_load=no
2234 fi
2235 rm -f conftest*
2236 LIBS="$ac_save_LIBS"
2237
2238 fi
2239 if test "X$ac_cv_lib_dld_shl_load" = Xyes; then
2240   echo "$ac_t""yes" 1>&6
2241   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
2242 else
2243   echo "$ac_t""no" 1>&6
2244 fi
2245
2246
2247 fi
2248
2249
2250 fi
2251
2252
2253 fi
2254
2255
2256 fi
2257
2258 fi
2259
2260   if test "x$lt_cv_dlopen" != xno; then
2261     enable_dlopen=yes
2262   fi
2263
2264   case "$lt_cv_dlopen" in
2265   dlopen)
2266 for ac_hdr in dlfcn.h; do
2267 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
2268 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
2269 echo "$progname:2269: checking for $ac_hdr" >&5
2270 if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then
2271   echo $ac_n "(cached) $ac_c" 1>&6
2272 else
2273   cat > conftest.$ac_ext <<EOF
2274 #line 2274 "ltconfig"
2275 #include <$ac_hdr>
2276 int fnord = 0;
2277 int main () { }
2278 EOF
2279 ac_try="$ac_compile >/dev/null 2>conftest.out"
2280 { (eval echo $progname:2280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
2281 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
2282 if test -z "$ac_err"; then
2283   rm -rf conftest*
2284   eval "ac_cv_header_$ac_safe=yes"
2285 else
2286   echo "$ac_err" >&5
2287   echo "$progname: failed program was:" >&5
2288   cat conftest.$ac_ext >&5
2289   rm -rf conftest*
2290   eval "ac_cv_header_$ac_safe=no"
2291 fi
2292 rm -f conftest*
2293 fi
2294 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
2295   echo "$ac_t""yes" 1>&6
2296 else
2297   echo "$ac_t""no" 1>&6
2298 fi
2299 done
2300
2301     if test "x$ac_cv_header_dlfcn_h" = xyes; then
2302       CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2303     fi
2304     eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2305     LIBS="$lt_cv_dlopen_libs $LIBS"
2306
2307   echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
2308 echo "$progname:2308: checking whether a program can dlopen itself" >&5
2309 if test "X${lt_cv_dlopen_self+set}" = Xset; then
2310   echo $ac_n "(cached) $ac_c" 1>&6
2311 else
2312   if test "$cross_compiling" = yes; then
2313     lt_cv_dlopen_self=cross
2314   else
2315     cat > conftest.c <<EOF
2316 #line 2316 "ltconfig"
2317
2318 #if HAVE_DLFCN_H
2319 #include <dlfcn.h>
2320 #endif
2321
2322 #include <stdio.h>
2323
2324 #ifdef RTLD_GLOBAL
2325 # define LTDL_GLOBAL    RTLD_GLOBAL
2326 #else
2327 # ifdef DL_GLOBAL
2328 #  define LTDL_GLOBAL   DL_GLOBAL
2329 # else
2330 #  define LTDL_GLOBAL   0
2331 # endif
2332 #endif
2333
2334 /* We may have to define LTDL_LAZY_OR_NOW in the command line if we
2335    find out it does not work in some platform. */
2336 #ifndef LTDL_LAZY_OR_NOW
2337 # ifdef RTLD_LAZY
2338 #  define LTDL_LAZY_OR_NOW      RTLD_LAZY
2339 # else
2340 #  ifdef DL_LAZY
2341 #   define LTDL_LAZY_OR_NOW     DL_LAZY
2342 #  else
2343 #   ifdef RTLD_NOW
2344 #    define LTDL_LAZY_OR_NOW    RTLD_NOW
2345 #   else
2346 #    ifdef DL_NOW
2347 #     define LTDL_LAZY_OR_NOW   DL_NOW
2348 #    else
2349 #     define LTDL_LAZY_OR_NOW   0
2350 #    endif
2351 #   endif
2352 #  endif
2353 # endif
2354 #endif
2355
2356 fnord() { int i=42;}
2357 main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
2358     if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
2359                if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
2360
2361 EOF
2362 if { (eval echo $progname:2362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
2363 then
2364   lt_cv_dlopen_self=yes
2365 else
2366   echo "$progname: failed program was:" >&5
2367   cat conftest.$ac_ext >&5
2368   rm -fr conftest*
2369   lt_cv_dlopen_self=no
2370 fi
2371 rm -fr conftest*
2372 fi
2373
2374 fi
2375
2376 echo "$ac_t""$lt_cv_dlopen_self" 1>&6
2377
2378   if test "$lt_cv_dlopen_self" = yes; then
2379     LDFLAGS="$LDFLAGS $link_static_flag"
2380   echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
2381 echo "$progname:2381: checking whether a statically linked program can dlopen itself" >&5
2382 if test "X${lt_cv_dlopen_self_static+set}" = Xset; then
2383   echo $ac_n "(cached) $ac_c" 1>&6
2384 else
2385   if test "$cross_compiling" = yes; then
2386     lt_cv_dlopen_self_static=cross
2387   else
2388     cat > conftest.c <<EOF
2389 #line 2389 "ltconfig"
2390
2391 #if HAVE_DLFCN_H
2392 #include <dlfcn.h>
2393 #endif
2394
2395 #include <stdio.h>
2396
2397 #ifdef RTLD_GLOBAL
2398 # define LTDL_GLOBAL    RTLD_GLOBAL
2399 #else
2400 # ifdef DL_GLOBAL
2401 #  define LTDL_GLOBAL   DL_GLOBAL
2402 # else
2403 #  define LTDL_GLOBAL   0
2404 # endif
2405 #endif
2406
2407 /* We may have to define LTDL_LAZY_OR_NOW in the command line if we
2408    find out it does not work in some platform. */
2409 #ifndef LTDL_LAZY_OR_NOW
2410 # ifdef RTLD_LAZY
2411 #  define LTDL_LAZY_OR_NOW      RTLD_LAZY
2412 # else
2413 #  ifdef DL_LAZY
2414 #   define LTDL_LAZY_OR_NOW     DL_LAZY
2415 #  else
2416 #   ifdef RTLD_NOW
2417 #    define LTDL_LAZY_OR_NOW    RTLD_NOW
2418 #   else
2419 #    ifdef DL_NOW
2420 #     define LTDL_LAZY_OR_NOW   DL_NOW
2421 #    else
2422 #     define LTDL_LAZY_OR_NOW   0
2423 #    endif
2424 #   endif
2425 #  endif
2426 # endif
2427 #endif
2428
2429 fnord() { int i=42;}
2430 main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
2431     if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
2432     if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
2433
2434 EOF
2435 if { (eval echo $progname:2435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
2436 then
2437   lt_cv_dlopen_self_static=yes
2438 else
2439   echo "$progname: failed program was:" >&5
2440   cat conftest.$ac_ext >&5
2441   rm -fr conftest*
2442   lt_cv_dlopen_self_static=no
2443 fi
2444 rm -fr conftest*
2445 fi
2446
2447 fi
2448
2449 echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
2450 fi
2451     ;;
2452   esac
2453
2454   case "$lt_cv_dlopen_self" in
2455   yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2456   *) enable_dlopen_self=unknown ;;
2457   esac
2458
2459   case "$lt_cv_dlopen_self_static" in
2460   yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2461   *) enable_dlopen_self_static=unknown ;;
2462   esac
2463 fi
2464
2465 # Copy echo and quote the copy, instead of the original, because it is
2466 # used later.
2467 ltecho="$echo"
2468 if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
2469    ltecho="$CONFIG_SHELL \$0 --fallback-echo"
2470 fi
2471 LTSHELL="$SHELL"
2472
2473 LTCONFIG_VERSION="$VERSION"
2474
2475 # Only quote variables if we're using ltmain.sh.
2476 case "$ltmain" in
2477 *.sh)
2478   # Now quote all the things that may contain metacharacters.
2479   for var in ltecho old_AR old_CC old_CFLAGS old_CPPFLAGS \
2480     old_MAGIC old_LD old_LDFLAGS old_LIBS \
2481     old_LN_S old_NM old_RANLIB old_STRIP \
2482     old_AS old_DLLTOOL old_OBJDUMP \
2483     old_OBJEXT old_EXEEXT old_reload_flag \
2484     old_deplibs_check_method old_file_magic_cmd \
2485     AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
2486     reload_flag reload_cmds wl \
2487     pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
2488     thread_safe_flag_spec whole_archive_flag_spec libname_spec \
2489     library_names_spec soname_spec \
2490     RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
2491     old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
2492     postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
2493     old_striplib striplib file_magic_cmd export_symbols_cmds \
2494     deplibs_check_method allow_undefined_flag no_undefined_flag \
2495     finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
2496     hardcode_libdir_flag_spec hardcode_libdir_separator  \
2497     sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
2498     compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
2499
2500     case "$var" in
2501     reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
2502     old_postinstall_cmds | old_postuninstall_cmds | \
2503     export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
2504     extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
2505     postinstall_cmds | postuninstall_cmds | \
2506     finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
2507       # Double-quote double-evaled strings.
2508       eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ### testsuite: skip nested quoting test
2509       ;;
2510     *)
2511       eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ### testsuite: skip nested quoting test
2512       ;;
2513     esac
2514   done
2515
2516   case "$ltecho" in
2517   *'\$0 --fallback-echo"')
2518     ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
2519     ;;
2520   esac
2521
2522   trap "$rm \"$ofile\"; exit 1" 1 2 15
2523   echo "creating $ofile"
2524   $rm "$ofile"
2525   cat <<EOF > "$ofile"
2526 #! $SHELL
2527
2528 # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
2529 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
2530 # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
2531 #
2532 # Copyright (C) 1996-2000 Free Software Foundation, Inc.
2533 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
2534 #
2535 # This program is free software; you can redistribute it and/or modify
2536 # it under the terms of the GNU General Public License as published by
2537 # the Free Software Foundation; either version 2 of the License, or
2538 # (at your option) any later version.
2539 #
2540 # This program is distributed in the hope that it will be useful, but
2541 # WITHOUT ANY WARRANTY; without even the implied warranty of
2542 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2543 # General Public License for more details.
2544 #
2545 # You should have received a copy of the GNU General Public License
2546 # along with this program; if not, write to the Free Software
2547 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2548 #
2549 # As a special exception to the GNU General Public License, if you
2550 # distribute this file as part of a program that contains a
2551 # configuration script generated by Autoconf, you may include it under
2552 # the same distribution terms that you use for the rest of that program.
2553
2554 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
2555 Xsed="sed -e s/^X//"
2556
2557 # The HP-UX ksh and POSIX shell print the target directory to stdout
2558 # if CDPATH is set.
2559 if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
2560
2561 ### BEGIN LIBTOOL CONFIG
2562 EOF
2563   cfgfile="$ofile"
2564   ;;
2565
2566 *)
2567   # Double-quote the variables that need it (for aesthetics).
2568   for var in old_AR old_CC old_CFLAGS old_CPPFLAGS \
2569     old_MAGIC old_LD old_LDFLAGS old_LIBS \
2570     old_LN_S old_NM old_RANLIB old_STRIP \
2571     old_AS old_DLLTOOL old_OBJDUMP \
2572     old_OBJEXT old_EXEEXT old_reload_flag \
2573     old_deplibs_check_method old_file_magic_cmd; do
2574     eval "$var=\\\"\$var\\\""
2575   done
2576
2577   # Just create a config file.
2578   cfgfile="$ofile.cfg"
2579   trap "$rm \"$cfgfile\"; exit 1" 1 2 15
2580   echo "creating $cfgfile"
2581   $rm "$cfgfile"
2582   cat <<EOF > "$cfgfile"
2583 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
2584 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
2585 EOF
2586   ;;
2587 esac
2588
2589 cat <<EOF >> "$cfgfile"
2590 # Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
2591 #
2592 # AR=$old_AR CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
2593 # MAGIC=$old_MAGIC LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
2594 # LN_S=$old_LN_S NM=$old_NM RANLIB=$old_RANLIB STRIP=$old_STRIP \\
2595 # AS=$old_AS DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP \\
2596 # objext=$old_OBJEXT exeext=$old_EXEEXT reload_flag=$old_reload_flag \\
2597 # deplibs_check_method=$old_deplibs_check_method file_magic_cmd=$old_file_magic_cmd \\
2598 #   $0$ltconfig_args
2599 #
2600 # Compiler and other test output produced by $progname, useful for
2601 # debugging $progname, is in ./config.log if it exists.
2602 # The version of $progname that generated this script.
2603 LTCONFIG_VERSION=$LTCONFIG_VERSION
2604
2605 # Shell to use when invoking shell scripts.
2606 SHELL=$LTSHELL
2607
2608 # Whether or not to build shared libraries.
2609 build_libtool_libs=$enable_shared
2610
2611 # Whether or not to build static libraries.
2612 build_old_libs=$enable_static
2613
2614 # Whether or not to optimize for fast installation.
2615 fast_install=$enable_fast_install
2616
2617 # The host system.
2618 host_alias=$host_alias
2619 host=$host
2620
2621 # An echo program that does not interpret backslashes.
2622 echo=$ltecho
2623
2624 # The archiver.
2625 AR=$AR
2626
2627 # The default C compiler.
2628 CC=$CC
2629
2630 # The linker used to build libraries.
2631 LD=$LD
2632
2633 # Whether we need hard or soft links.
2634 LN_S=$LN_S
2635
2636 # A BSD-compatible nm program.
2637 NM=$NM
2638
2639 # A symbol stripping program
2640 STRIP=$STRIP
2641
2642 # Used to examine libraries when file_magic_cmd begins "file"
2643 MAGIC=$MAGIC
2644
2645 # Used on cygwin: DLL creation program.
2646 DLLTOOL="$DLLTOOL"
2647
2648 # Used on cygwin: object dumper.
2649 OBJDUMP="$OBJDUMP"
2650
2651 # Used on cygwin: assembler.
2652 AS="$AS"
2653
2654 # The name of the directory that contains temporary libtool files.
2655 objdir=$objdir
2656
2657 # How to create reloadable object files.
2658 reload_flag=$reload_flag
2659 reload_cmds=$reload_cmds
2660
2661 # How to pass a linker flag through the compiler.
2662 wl=$wl
2663
2664 # Object file suffix (normally "o").
2665 objext="$objext"
2666
2667 # Old archive suffix (normally "a").
2668 libext="$libext"
2669
2670 # Executable file suffix (normally "").
2671 exeext="$exeext"
2672
2673 # Additional compiler flags for building library objects.
2674 pic_flag=$pic_flag
2675 pic_mode=$pic_mode
2676
2677 # Does compiler simultaneously support -c and -o options?
2678 compiler_c_o=$compiler_c_o
2679
2680 # Can we write directly to a .lo ?
2681 compiler_o_lo=$compiler_o_lo
2682
2683 # Must we lock files when doing compilation ?
2684 need_locks=$need_locks
2685
2686 # Do we need the lib prefix for modules?
2687 need_lib_prefix=$need_lib_prefix
2688
2689 # Do we need a version for libraries?
2690 need_version=$need_version
2691
2692 # Whether dlopen is supported.
2693 dlopen_support=$enable_dlopen
2694
2695 # Whether dlopen of programs is supported.
2696 dlopen_self=$enable_dlopen_self
2697
2698 # Whether dlopen of statically linked programs is supported.
2699 dlopen_self_static=$enable_dlopen_self_static
2700
2701 # Compiler flag to prevent dynamic linking.
2702 link_static_flag=$link_static_flag
2703
2704 # Compiler flag to turn off builtin functions.
2705 no_builtin_flag=$no_builtin_flag
2706
2707 # Compiler flag to allow reflexive dlopens.
2708 export_dynamic_flag_spec=$export_dynamic_flag_spec
2709
2710 # Compiler flag to generate shared objects directly from archives.
2711 whole_archive_flag_spec=$whole_archive_flag_spec
2712
2713 # Compiler flag to generate thread-safe objects.
2714 thread_safe_flag_spec=$thread_safe_flag_spec
2715
2716 # Library versioning type.
2717 version_type=$version_type
2718
2719 # Format of library name prefix.
2720 libname_spec=$libname_spec
2721
2722 # List of archive names.  First name is the real one, the rest are links.
2723 # The last name is the one that the linker finds with -lNAME.
2724 library_names_spec=$library_names_spec
2725
2726 # The coded name of the library, if different from the real name.
2727 soname_spec=$soname_spec
2728
2729 # Commands used to build and install an old-style archive.
2730 RANLIB=$RANLIB
2731 old_archive_cmds=$old_archive_cmds
2732 old_postinstall_cmds=$old_postinstall_cmds
2733 old_postuninstall_cmds=$old_postuninstall_cmds
2734
2735 # Create an old-style archive from a shared archive.
2736 old_archive_from_new_cmds=$old_archive_from_new_cmds
2737
2738 # Create a temporary old-style archive to link instead of a shared archive.
2739 old_archive_from_expsyms_cmds=$old_archive_from_expsyms_cmds
2740
2741 # Commands used to build and install a shared archive.
2742 archive_cmds=$archive_cmds
2743 archive_expsym_cmds=$archive_expsym_cmds
2744 postinstall_cmds=$postinstall_cmds
2745 postuninstall_cmds=$postuninstall_cmds
2746
2747 # Commands to strip libraries.
2748 old_striplib=$old_striplib
2749 striplib=$striplib
2750
2751 # Method to check whether dependent libraries are shared objects.
2752 deplibs_check_method=$deplibs_check_method
2753
2754 # Command to use when deplibs_check_method == file_magic.
2755 file_magic_cmd=$file_magic_cmd
2756
2757 # Flag that allows shared libraries with undefined symbols to be built.
2758 allow_undefined_flag=$allow_undefined_flag
2759
2760 # Flag that forces no undefined symbols.
2761 no_undefined_flag=$no_undefined_flag
2762
2763 # Commands used to finish a libtool library installation in a directory.
2764 finish_cmds=$finish_cmds
2765
2766 # Same as above, but a single script fragment to be evaled but not shown.
2767 finish_eval=$finish_eval
2768
2769 # Take the output of nm and produce a listing of raw symbols and C names.
2770 global_symbol_pipe=$global_symbol_pipe
2771
2772 # Transform the output of nm in a proper C declaration
2773 global_symbol_to_cdecl=$global_symbol_to_cdecl
2774
2775 # This is the shared library runtime path variable.
2776 runpath_var=$runpath_var
2777
2778 # This is the shared library path variable.
2779 shlibpath_var=$shlibpath_var
2780
2781 # Is shlibpath searched before the hard-coded library search path?
2782 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
2783
2784 # How to hardcode a shared library path into an executable.
2785 hardcode_action=$hardcode_action
2786
2787 # Whether we should hardcode library paths into libraries.
2788 hardcode_into_libs=$hardcode_into_libs
2789
2790 # Flag to hardcode \$libdir into a binary during linking.
2791 # This must work even if \$libdir does not exist.
2792 hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
2793
2794 # Whether we need a single -rpath flag with a separated argument.
2795 hardcode_libdir_separator=$hardcode_libdir_separator
2796
2797 # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
2798 # resulting binary.
2799 hardcode_direct=$hardcode_direct
2800
2801 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
2802 # resulting binary.
2803 hardcode_minus_L=$hardcode_minus_L
2804
2805 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
2806 # the resulting binary.
2807 hardcode_shlibpath_var=$hardcode_shlibpath_var
2808
2809 # Whether libtool must link a program against all its dependency libraries.
2810 link_all_deplibs=$link_all_deplibs
2811
2812 # Compile-time system search path for libraries
2813 sys_lib_search_path_spec=$sys_lib_search_path_spec
2814
2815 # Run-time system search path for libraries
2816 sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
2817
2818 # Fix the shell variable \$srcfile for the compiler.
2819 fix_srcfile_path="$fix_srcfile_path"
2820
2821 # Set to yes if exported symbols are required.
2822 always_export_symbols=$always_export_symbols
2823
2824 # The commands to list exported symbols.
2825 export_symbols_cmds=$export_symbols_cmds
2826
2827 # The commands to extract the exported symbol list from a shared archive.
2828 extract_expsyms_cmds=$extract_expsyms_cmds
2829
2830 # Symbols that should not be listed in the preloaded symbols.
2831 exclude_expsyms=$exclude_expsyms
2832
2833 # Symbols that must always be exported.
2834 include_expsyms=$include_expsyms
2835
2836 EOF
2837
2838 case "$ltmain" in
2839 *.sh)
2840   echo '### END LIBTOOL CONFIG' >> "$ofile"
2841   echo >> "$ofile"
2842   case "$host_os" in
2843   aix3*)
2844     cat <<\EOF >> "$ofile"
2845
2846 # AIX sometimes has problems with the GCC collect2 program.  For some
2847 # reason, if we set the COLLECT_NAMES environment variable, the problems
2848 # vanish in a puff of smoke.
2849 if test "X${COLLECT_NAMES+set}" != Xset; then
2850   COLLECT_NAMES=
2851   export COLLECT_NAMES
2852 fi
2853 EOF
2854     ;;
2855   esac
2856   case "$host" in
2857   *-*-cygwin* | *-*-mingw* | *-*-os2*)
2858     cat <<'EOF' >> "$ofile"
2859       # This is a source program that is used to create dlls on Windows
2860       # Don't remove nor modify the starting and closing comments
2861 # /* ltdll.c starts here */
2862 # #define WIN32_LEAN_AND_MEAN
2863 # #include <windows.h>
2864 # #undef WIN32_LEAN_AND_MEAN
2865 # #include <stdio.h>
2866 #
2867 # #ifndef __CYGWIN__
2868 # #  ifdef __CYGWIN32__
2869 # #    define __CYGWIN__ __CYGWIN32__
2870 # #  endif
2871 # #endif
2872 #
2873 # #ifdef __cplusplus
2874 # extern "C" {
2875 # #endif
2876 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
2877 # #ifdef __cplusplus
2878 # }
2879 # #endif
2880 #
2881 # #ifdef __CYGWIN__
2882 # #include <cygwin/cygwin_dll.h>
2883 # DECLARE_CYGWIN_DLL( DllMain );
2884 # #endif
2885 # HINSTANCE __hDllInstance_base;
2886 #
2887 # BOOL APIENTRY
2888 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
2889 # {
2890 #   __hDllInstance_base = hInst;
2891 #   return TRUE;
2892 # }
2893 # /* ltdll.c ends here */
2894       # This is a source program that is used to create import libraries
2895       # on Windows for dlls which lack them. Don't remove nor modify the
2896       # starting and closing comments
2897 # /* impgen.c starts here */
2898 # /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
2899 #
2900 #  This file is part of GNU libtool.
2901 #
2902 #  This program is free software; you can redistribute it and/or modify
2903 #  it under the terms of the GNU General Public License as published by
2904 #  the Free Software Foundation; either version 2 of the License, or
2905 #  (at your option) any later version.
2906 #
2907 #  This program is distributed in the hope that it will be useful,
2908 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
2909 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2910 #  GNU General Public License for more details.
2911 #
2912 #  You should have received a copy of the GNU General Public License
2913 #  along with this program; if not, write to the Free Software
2914 #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2915 #  */
2916 #
2917 #  #include <stdio.h>           /* for printf() */
2918 #  #include <unistd.h>          /* for open(), lseek(), read() */
2919 #  #include <fcntl.h>           /* for O_RDONLY, O_BINARY */
2920 #  #include <string.h>          /* for strdup() */
2921 #
2922 #  /* O_BINARY isn't required (or even defined sometimes) under Unix */
2923 #  #ifndef O_BINARY
2924 #  #define O_BINARY 0
2925 #  #endif
2926 #
2927 #  static unsigned int
2928 #  pe_get16 (fd, offset)
2929 #       int fd;
2930 #       int offset;
2931 #  {
2932 #    unsigned char b[2];
2933 #    lseek (fd, offset, SEEK_SET);
2934 #    read (fd, b, 2);
2935 #    return b[0] + (b[1]<<8);
2936 #  }
2937 #
2938 #  static unsigned int
2939 #  pe_get32 (fd, offset)
2940 #      int fd;
2941 #      int offset;
2942 #  {
2943 #    unsigned char b[4];
2944 #    lseek (fd, offset, SEEK_SET);
2945 #    read (fd, b, 4);
2946 #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2947 #  }
2948 #
2949 #  static unsigned int
2950 #  pe_as32 (ptr)
2951 #       void *ptr;
2952 #  {
2953 #    unsigned char *b = ptr;
2954 #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2955 #  }
2956 #
2957 #  int
2958 #  main (argc, argv)
2959 #      int argc;
2960 #      char *argv[];
2961 #  {
2962 #      int dll;
2963 #      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
2964 #      unsigned long export_rva, export_size, nsections, secptr, expptr;
2965 #      unsigned long name_rvas, nexp;
2966 #      unsigned char *expdata, *erva;
2967 #      char *filename, *dll_name;
2968 #
2969 #      filename = argv[1];
2970 #
2971 #      dll = open(filename, O_RDONLY|O_BINARY);
2972 #      if (!dll)
2973 #       return 1;
2974 #
2975 #      dll_name = filename;
2976 #
2977 #      for (i=0; filename[i]; i++)
2978 #       if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
2979 #           dll_name = filename + i +1;
2980 #
2981 #      pe_header_offset = pe_get32 (dll, 0x3c);
2982 #      opthdr_ofs = pe_header_offset + 4 + 20;
2983 #      num_entries = pe_get32 (dll, opthdr_ofs + 92);
2984 #
2985 #      if (num_entries < 1) /* no exports */
2986 #       return 1;
2987 #
2988 #      export_rva = pe_get32 (dll, opthdr_ofs + 96);
2989 #      export_size = pe_get32 (dll, opthdr_ofs + 100);
2990 #      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
2991 #      secptr = (pe_header_offset + 4 + 20 +
2992 #             pe_get16 (dll, pe_header_offset + 4 + 16));
2993 #
2994 #      expptr = 0;
2995 #      for (i = 0; i < nsections; i++)
2996 #      {
2997 #       char sname[8];
2998 #       unsigned long secptr1 = secptr + 40 * i;
2999 #       unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
3000 #       unsigned long vsize = pe_get32 (dll, secptr1 + 16);
3001 #       unsigned long fptr = pe_get32 (dll, secptr1 + 20);
3002 #       lseek(dll, secptr1, SEEK_SET);
3003 #       read(dll, sname, 8);
3004 #       if (vaddr <= export_rva && vaddr+vsize > export_rva)
3005 #       {
3006 #           expptr = fptr + (export_rva - vaddr);
3007 #           if (export_rva + export_size > vaddr + vsize)
3008 #               export_size = vsize - (export_rva - vaddr);
3009 #           break;
3010 #       }
3011 #      }
3012 #
3013 #      expdata = (unsigned char*)malloc(export_size);
3014 #      lseek (dll, expptr, SEEK_SET);
3015 #      read (dll, expdata, export_size);
3016 #      erva = expdata - export_rva;
3017 #
3018 #      nexp = pe_as32 (expdata+24);
3019 #      name_rvas = pe_as32 (expdata+32);
3020 #
3021 #      printf ("EXPORTS\n");
3022 #      for (i = 0; i<nexp; i++)
3023 #      {
3024 #       unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
3025 #       printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
3026 #      }
3027 #
3028 #      return 0;
3029 #  }
3030 # /* impgen.c ends here */
3031
3032 EOF
3033     ;;
3034   esac
3035
3036
3037   # Append the ltmain.sh script.
3038   sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
3039   # We use sed instead of cat because bash on DJGPP gets confused if
3040   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
3041   # text mode, it properly converts lines to CR/LF.  This bash problem
3042   # is reportedly fixed, but why not run on old versions too?
3043
3044   chmod +x "$ofile"
3045   ;;
3046
3047 *)
3048   # Compile the libtool program.
3049   echo "FIXME: would compile $ltmain"
3050   ;;
3051 esac
3052
3053 test -n "$cache_file" || exit 0
3054
3055 # AC_CACHE_SAVE
3056 trap '' 1 2 15
3057 cat > confcache <<\EOF
3058 # This file is a shell script that caches the results of configure
3059 # tests run on this system so they can be shared between configure
3060 # scripts and configure runs.  It is not useful on other systems.
3061 # If it contains results you don't want to keep, you may remove or edit it.
3062 #
3063 # By default, configure uses ./config.cache as the cache file,
3064 # creating it if it does not exist already.  You can give configure
3065 # the --cache-file=FILE option to use a different cache file; that is
3066 # what configure does when it calls configure scripts in
3067 # subdirectories, so they share the cache.
3068 # Giving --cache-file=/dev/null disables caching, for debugging configure.
3069 # config.status only pays attention to the cache file if you give it the
3070 # --recheck option to rerun configure.
3071 #
3072 EOF
3073 # The following way of writing the cache mishandles newlines in values,
3074 # but we know of no workaround that is simple, portable, and efficient.
3075 # So, don't put newlines in cache variables' values.
3076 # Ultrix sh set writes to stderr and can't be redirected directly,
3077 # and sets the high bit in the cache file unless we assign to the vars.
3078 (set) 2>&1 |
3079   case `(ac_space=' '; set | grep ac_space) 2>&1` in
3080   *ac_space=\ *)
3081     # `set' does not quote correctly, so add quotes (double-quote substitution
3082     # turns \\\\ into \\, and sed turns \\ into \).
3083     sed -n \
3084       -e "s/'/'\\\\''/g" \
3085       -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
3086     ;;
3087   *)
3088     # `set' quotes correctly as required by POSIX, so do not add quotes.
3089     sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
3090     ;;
3091   esac >> confcache
3092 if cmp -s $cache_file confcache; then
3093   :
3094 else
3095   if test -w $cache_file; then
3096     echo "updating cache $cache_file"
3097     cat confcache > $cache_file
3098   else
3099     echo "not updating unwritable cache $cache_file"
3100   fi
3101 fi
3102 rm -f confcache
3103
3104 exit 0
3105
3106 # Local Variables:
3107 # mode:shell-script
3108 # sh-indentation:2
3109 # End: