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