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