]> gcc.gnu.org Git - gcc.git/blame - ltconfig
re PR c++/9447 (using Base<T>::member does not work)
[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
JM
967soname_spec=
968postinstall_cmds=
cf4ccd63 969postuninstall_cmds=
6599da04 970finish_cmds=
cf4ccd63 971finish_eval=
6599da04 972shlibpath_var=
90fb0c24 973shlibpath_overrides_runpath=unknown
6599da04
JM
974version_type=none
975dynamic_linker="$host_os ld.so"
90fb0c24
TT
976sys_lib_dlsearch_path_spec="/lib /usr/lib"
977sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
4f4caf92 978
6599da04 979echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
82e23236 980case $host_os in
90fb0c24 981aix3*)
6599da04 982 version_type=linux
cf4ccd63 983 library_names_spec='${libname}${release}.so$versuffix $libname.a'
6599da04
JM
984 shlibpath_var=LIBPATH
985
82e23236 986 # AIX 3 has no versioning support, so we append a major version to the name.
cf4ccd63
JL
987 soname_spec='${libname}${release}.so$major'
988 ;;
989
0ef8b11b 990aix4* | aix5*)
5f7de4b8 991 version_type=linux
82e23236
AO
992 if test "$host_cpu" = ia64; then
993 # AIX 5 supports IA64
994 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
995 shlibpath_var=LD_LIBRARY_PATH
996 else
997 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
998 # soname into executable. Probably we can add versioning support to
999 # collect2, so additional links can be useful in future.
1000 # We preserve .a as extension for shared libraries though AIX4.2
1001 # and later linker supports .so
1002 if test "$aix_use_runtimelinking" = yes; then
1003 # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of
1004 # lib<name>.a to let people know that these are not typical AIX shared libraries.
1005 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1006 else
1007 # We preserve .a as extension for shared libraries though AIX4.2
1008 # and later when we are not doing run time linking.
1009 library_names_spec='${libname}${release}.a $libname.a'
5f7de4b8 1010 soname_spec='${libname}${release}.so$major'
82e23236
AO
1011 fi
1012 # If we're using GNU nm, then we don't want the "-C" option.
1013 # -C means demangle to AIX nm, but means don't demangle with GNU nm
1014 if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
1015 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'
1016 else
1017 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'
1018 fi
1019 shlibpath_var=LIBPATH
1020 deplibs_check_method=pass_all
1021 case $host_os in
1022 aix4 | aix4.[01] | aix4.[01].*)
1023 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1024 echo ' yes '
1025 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1026 :
1027 else
1028 # With GCC up to 2.95.x, collect2 would create an import file
1029 # for dependence libraries. The import file would start with
1030 # the line `#! .'. This would cause the generated library to
1031 # depend on `.', always an invalid library. This was fixed in
1032 # development snapshots of GCC prior to 3.0.
1033 can_build_shared=no
1034 fi
1035 ;;
1036 esac
1037 fi
90fb0c24
TT
1038 ;;
1039
cf4ccd63
JL
1040amigaos*)
1041 library_names_spec='$libname.ixlibrary $libname.a'
1042 # Create ${libname}_ixlibrary.a entries in /sys/libs.
1043 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'
1044 ;;
1045
90fb0c24
TT
1046beos*)
1047 library_names_spec='${libname}.so'
1048 dynamic_linker="$host_os ld.so"
1049 shlibpath_var=LIBRARY_PATH
d207ebef
JM
1050 lt_cv_dlopen="load_add_on"
1051 lt_cv_dlopen_libs=
1052 lt_cv_dlopen_self=yes
90fb0c24
TT
1053 ;;
1054
1055bsdi4*)
1056 version_type=linux
d207ebef
JM
1057 need_version=no
1058 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1059 soname_spec='${libname}${release}.so$major'
1060 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
90fb0c24 1061 shlibpath_var=LD_LIBRARY_PATH
90fb0c24
TT
1062 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1063 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
d207ebef 1064 export_dynamic_flag_spec=-rdynamic
90fb0c24
TT
1065 # the default ld.so.conf also contains /usr/contrib/lib and
1066 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1067 # libtool to hard-code these into programs
1068 ;;
1069
3dd7094e 1070cygwin* | mingw* | pw32*)
cf4ccd63 1071 version_type=windows
d207ebef
JM
1072 need_version=no
1073 need_lib_prefix=no
82e23236
AO
1074 case $with_gcc,$host_os in
1075 yes,cygwin*)
75b9074c
AO
1076 library_names_spec='$libname.dll.a'
1077 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll'
1078 postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i; echo \$dlname'\''`~
1079 dldir=$destdir/`dirname \$dlpath`~
1080 test -d \$dldir || mkdir -p \$dldir~
1081 $install_prog .libs/$dlname \$dldir/$dlname'
1082 postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
1083 dlpath=$dir/\$dldll; $rm \$dlpath'
82e23236
AO
1084 ;;
1085 yes,mingw*)
4f4caf92 1086 library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
82e23236
AO
1087 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
1088 ;;
1089 yes,pw32*)
1090 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
1091;;
1092 *)
fbd836fc 1093 library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
82e23236
AO
1094 ;;
1095 esac
cf4ccd63 1096 dynamic_linker='Win32 ld.exe'
90fb0c24 1097 # FIXME: first we should search . and the directory the executable is in
cf4ccd63 1098 shlibpath_var=PATH
d207ebef
JM
1099 lt_cv_dlopen="LoadLibrary"
1100 lt_cv_dlopen_libs=
6599da04
JM
1101 ;;
1102
82e23236 1103darwin* | rhapsody*)
75b9074c
AO
1104 dynamic_linker="$host_os dyld"
1105 version_type=darwin
82e23236
AO
1106 need_lib_prefix=no
1107 need_version=no
75b9074c
AO
1108 library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.$`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`'
1109 soname_spec='${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib`'
82e23236
AO
1110 shlibpath_overrides_runpath=yes
1111 shlibpath_var=DYLD_LIBRARY_PATH
1112 ;;
1113
90fb0c24
TT
1114freebsd1*)
1115 dynamic_linker=no
1116 ;;
4f4caf92 1117
90fb0c24
TT
1118freebsd*)
1119 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
1120 version_type=freebsd-$objformat
82e23236 1121 case $version_type in
90fb0c24 1122 freebsd-elf*)
90fb0c24
TT
1123 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1124 need_version=no
06729913 1125 need_lc=no
90fb0c24
TT
1126 need_lib_prefix=no
1127 ;;
1128 freebsd-*)
90fb0c24
TT
1129 library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
1130 need_version=yes
1131 ;;
1132 esac
6599da04 1133 shlibpath_var=LD_LIBRARY_PATH
82e23236 1134 case $host_os in
4f4caf92
AO
1135 freebsd2*)
1136 shlibpath_overrides_runpath=yes
1137 ;;
06298abd 1138 *)
d207ebef 1139 shlibpath_overrides_runpath=no
4f4caf92 1140 hardcode_into_libs=yes
d207ebef
JM
1141 ;;
1142 esac
6599da04
JM
1143 ;;
1144
1145gnu*)
fbd836fc 1146 version_type=linux
d207ebef
JM
1147 need_lib_prefix=no
1148 need_version=no
1149 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
1150 soname_spec='${libname}${release}.so$major'
6599da04 1151 shlibpath_var=LD_LIBRARY_PATH
4f4caf92 1152 hardcode_into_libs=yes
6599da04
JM
1153 ;;
1154
cf4ccd63 1155hpux9* | hpux10* | hpux11*)
6599da04
JM
1156 # Give a soname corresponding to the major version so that dld.sl refuses to
1157 # link against other versions.
6599da04 1158 version_type=sunos
90fb0c24
TT
1159 need_lib_prefix=no
1160 need_version=no
f5cc59a7
AO
1161 case "$host_cpu" in
1162 ia64*)
1163 dynamic_linker="$host_os dld.so"
1164 shlibpath_var=LD_LIBRARY_PATH
1165 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1166 soname_spec='${libname}${release}.so$major'
1167 shlibpath_var=LD_LIBRARY_PATH
1168 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1169 if test "X$HPUX_IA64_MODE" = X32; then
1170 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32/usr/local/lib"
1171 else
1172 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
1173 fi
1174 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1175 ;;
1176 *)
1177 dynamic_linker="$host_os dld.sl"
1178 shlibpath_var=SHLIB_PATH
1179 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
1180 library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
1181 soname_spec='${libname}${release}.sl$major'
1182 ;;
1183 esac
6599da04
JM
1184 # HP-UX runs *really* slowly unless shared libraries are mode 555.
1185 postinstall_cmds='chmod 555 $lib'
1186 ;;
1187
d207ebef 1188irix5* | irix6*)
11856278
AO
1189 if test "$with_gnu_ld" = yes; then
1190 version_type=linux
1191 else
1192 version_type=irix
4063ae69 1193 fi
90fb0c24
TT
1194 version_type=irix
1195 need_lib_prefix=no
1196 need_version=no
4f4caf92
AO
1197 soname_spec='${libname}${release}.so$major'
1198 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
82e23236 1199 case $host_os in
d207ebef
JM
1200 irix5*)
1201 libsuff= shlibsuff=
d207ebef
JM
1202 ;;
1203 *)
82e23236 1204 case $LD in # libtool.m4 will add one of these switches to LD
11856278
AO
1205 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
1206 libsuff= shlibsuff= libmagic=32-bit;;
1207 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
1208 libsuff=32 shlibsuff=N32 libmagic=N32;;
1209 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
1210 libsuff=64 shlibsuff=64 libmagic=64-bit;;
d207ebef
JM
1211 *) libsuff= shlibsuff= libmagic=never-match;;
1212 esac
1213 ;;
90fb0c24
TT
1214 esac
1215 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1216 shlibpath_overrides_runpath=no
d207ebef
JM
1217 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1218 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
6599da04
JM
1219 ;;
1220
1221# No shared lib support for Linux oldld, aout, or coff.
1222linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
1223 dynamic_linker=no
1224 ;;
1225
1226# This must be Linux ELF.
1227linux-gnu*)
1228 version_type=linux
90fb0c24
TT
1229 need_lib_prefix=no
1230 need_version=no
cf4ccd63
JL
1231 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1232 soname_spec='${libname}${release}.so$major'
d207ebef 1233 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
6599da04 1234 shlibpath_var=LD_LIBRARY_PATH
90fb0c24 1235 shlibpath_overrides_runpath=no
4f4caf92
AO
1236 # This implies no fast_install, which is unacceptable.
1237 # Some rework will be needed to allow for fast_install
1238 # before this can be enabled.
1239 hardcode_into_libs=yes
1240
1241 # We used to test for /lib/ld.so.1 and disable shared libraries on
1242 # powerpc, because MkLinux only supported shared libraries with the
1243 # GNU dynamic linker. Since this was broken with cross compilers,
1244 # most powerpc-linux boxes support dynamic linking these days and
1245 # people can always --disable-shared, the test was removed, and we
1246 # assume the GNU/Linux dynamic linker is in use.
1247 dynamic_linker='GNU/Linux ld.so'
6599da04
JM
1248 ;;
1249
90fb0c24 1250netbsd*)
33456445
AO
1251 need_lib_prefix=no
1252 need_version=no
6599da04 1253 version_type=sunos
90fb0c24
TT
1254 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1255 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
d207ebef 1256 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
90fb0c24
TT
1257 dynamic_linker='NetBSD (a.out) ld.so'
1258 else
1259 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
1260 soname_spec='${libname}${release}.so$major'
1261 dynamic_linker='NetBSD ld.elf_so'
1262 fi
1263 shlibpath_var=LD_LIBRARY_PATH
3dd7094e
AO
1264 shlibpath_overrides_runpath=yes
1265 hardcode_into_libs=yes
90fb0c24
TT
1266 ;;
1267
82e23236
AO
1268newsos6)
1269 version_type=linux
1270 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1271 shlibpath_var=LD_LIBRARY_PATH
1272 shlibpath_overrides_runpath=yes
1273 ;;
1274
90fb0c24
TT
1275openbsd*)
1276 version_type=sunos
1277 if test "$with_gnu_ld" = yes; then
1278 need_lib_prefix=no
1279 need_version=no
1280 fi
1281 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
6599da04
JM
1282 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1283 shlibpath_var=LD_LIBRARY_PATH
1284 ;;
1285
cf4ccd63
JL
1286os2*)
1287 libname_spec='$name'
90fb0c24 1288 need_lib_prefix=no
cf4ccd63
JL
1289 library_names_spec='$libname.dll $libname.a'
1290 dynamic_linker='OS/2 ld.exe'
1291 shlibpath_var=LIBPATH
1292 ;;
1293
d207ebef 1294osf3* | osf4* | osf5*)
6599da04 1295 version_type=osf
d207ebef 1296 need_version=no
e6226a2f
RO
1297 soname_spec='${libname}${release}.so$major'
1298 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
6599da04 1299 shlibpath_var=LD_LIBRARY_PATH
90fb0c24
TT
1300 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1301 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
6599da04
JM
1302 ;;
1303
1304sco3.2v5*)
1305 version_type=osf
cf4ccd63
JL
1306 soname_spec='${libname}${release}.so$major'
1307 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
6599da04
JM
1308 shlibpath_var=LD_LIBRARY_PATH
1309 ;;
1310
90fb0c24 1311solaris*)
6599da04 1312 version_type=linux
90fb0c24
TT
1313 need_lib_prefix=no
1314 need_version=no
cf4ccd63
JL
1315 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1316 soname_spec='${libname}${release}.so$major'
6599da04 1317 shlibpath_var=LD_LIBRARY_PATH
90fb0c24 1318 shlibpath_overrides_runpath=yes
4f4caf92 1319 hardcode_into_libs=yes
fbd836fc
ILT
1320 # ldd complains unless libraries are executable
1321 postinstall_cmds='chmod +x $lib'
6599da04
JM
1322 ;;
1323
1324sunos4*)
1325 version_type=sunos
fbd836fc 1326 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
6599da04
JM
1327 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1328 shlibpath_var=LD_LIBRARY_PATH
90fb0c24
TT
1329 shlibpath_overrides_runpath=yes
1330 if test "$with_gnu_ld" = yes; then
1331 need_lib_prefix=no
1332 fi
1333 need_version=yes
6599da04
JM
1334 ;;
1335
d207ebef 1336sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
cf4ccd63
JL
1337 version_type=linux
1338 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1339 soname_spec='${libname}${release}.so$major'
1340 shlibpath_var=LD_LIBRARY_PATH
82e23236 1341 case $host_vendor in
d207ebef
JM
1342 motorola)
1343 need_lib_prefix=no
1344 need_version=no
1345 shlibpath_overrides_runpath=no
1346 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
d207ebef 1347 ;;
90fb0c24 1348 esac
cf4ccd63
JL
1349 ;;
1350
1351uts4*)
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
1356 ;;
1357
90fb0c24
TT
1358dgux*)
1359 version_type=linux
1360 need_lib_prefix=no
1361 need_version=no
1362 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1363 soname_spec='${libname}${release}.so$major'
1364 shlibpath_var=LD_LIBRARY_PATH
1365 ;;
1366
d207ebef
JM
1367sysv4*MP*)
1368 if test -d /usr/nec ;then
1369 version_type=linux
1370 library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
1371 soname_spec='$libname.so.$major'
1372 shlibpath_var=LD_LIBRARY_PATH
d207ebef
JM
1373 fi
1374 ;;
1375
6599da04
JM
1376*)
1377 dynamic_linker=no
1378 ;;
1379esac
90fb0c24 1380echo "$ac_t$dynamic_linker" 1>&6
6599da04
JM
1381test "$dynamic_linker" = no && can_build_shared=no
1382
4f4caf92
AO
1383# Check for command to grab the raw symbol name followed by C symbol from nm.
1384echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
1385
1386# These are sane defaults that work on at least a few old systems.
1387# [They come from Ultrix. What could be older than Ultrix?!! ;)]
1388
1389# Character class describing NM global symbol codes.
1390symcode='[BCDEGRST]'
1391
1392# Regexp to match symbols that can be accessed directly from C.
1393sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
1394
1395# Transform the above into a raw symbol and a C symbol.
1396symxfrm='\1 \2\3 \3'
1397
1398# Transform an extracted symbol line into a proper C declaration
1399global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
1400
1401# Define system-specific variables.
82e23236 1402case $host_os in
4f4caf92
AO
1403aix*)
1404 symcode='[BCDT]'
1405 ;;
3dd7094e 1406cygwin* | mingw* | pw32*)
4f4caf92
AO
1407 symcode='[ABCDGISTW]'
1408 ;;
1409hpux*) # Its linker distinguishes data from code symbols
33456445 1410 global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4f4caf92
AO
1411 ;;
1412irix*)
1413 symcode='[BCDEGRST]'
1414 ;;
1415solaris* | sysv5*)
1416 symcode='[BDT]'
1417 ;;
1418sysv4)
1419 symcode='[DFNSTU]'
1420 ;;
1421esac
1422
75b9074c 1423# Handle CRLF in mingw tool chain
4f4caf92 1424opt_cr=
82e23236 1425case $host_os in
4f4caf92
AO
1426mingw*)
1427 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
1428 ;;
1429esac
1430
1431# If we're using GNU nm, then use its standard symbol codes.
1432if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
1433 symcode='[ABCDGISTW]'
1434fi
1435
1436# Try without a prefix undercore, then with it.
1437for ac_symprfx in "" "_"; do
1438
1439 # Write the raw and C identifiers.
33456445 1440 global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
4f4caf92
AO
1441
1442 # Check to see that the pipe works correctly.
1443 pipe_works=no
1444 $rm conftest*
1445 cat > conftest.$ac_ext <<EOF
1446#ifdef __cplusplus
1447extern "C" {
1448#endif
1449char nm_test_var;
1450void nm_test_func(){}
1451#ifdef __cplusplus
1452}
1453#endif
82e23236 1454int main(){nm_test_var='a';nm_test_func();return(0);}
4f4caf92
AO
1455EOF
1456
5f7de4b8
AO
1457 echo "$progname:1431: checking if global_symbol_pipe works" >&5
1458 if { (eval echo $progname:1432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
4f4caf92
AO
1459 # Now try to grab the symbols.
1460 nlist=conftest.nm
5f7de4b8 1461 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
1462
1463 # Try sorting and uniquifying the output.
1464 if sort "$nlist" | uniq > "$nlist"T; then
1465 mv -f "$nlist"T "$nlist"
1466 else
1467 rm -f "$nlist"T
1468 fi
1469
1470 # Make sure that we snagged all the symbols we need.
1471 if egrep ' nm_test_var$' "$nlist" >/dev/null; then
1472 if egrep ' nm_test_func$' "$nlist" >/dev/null; then
1473 cat <<EOF > conftest.$ac_ext
1474#ifdef __cplusplus
1475extern "C" {
1476#endif
1477
1478EOF
1479 # Now generate the symbol file.
1480 eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
1481
1482 cat <<EOF >> conftest.$ac_ext
1483#if defined (__STDC__) && __STDC__
1484# define lt_ptr_t void *
1485#else
1486# define lt_ptr_t char *
1487# define const
1488#endif
1489
1490/* The mapping between symbol names and symbols. */
1491const struct {
1492 const char *name;
1493 lt_ptr_t address;
1494}
1495lt_preloaded_symbols[] =
1496{
1497EOF
33456445 1498 sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext
4f4caf92
AO
1499 cat <<\EOF >> conftest.$ac_ext
1500 {0, (lt_ptr_t) 0}
1501};
1502
1503#ifdef __cplusplus
1504}
1505#endif
1506EOF
1507 # Now try linking the two files.
1508 mv conftest.$objext conftstm.$objext
1509 save_LIBS="$LIBS"
1510 save_CFLAGS="$CFLAGS"
1511 LIBS="conftstm.$objext"
1512 CFLAGS="$CFLAGS$no_builtin_flag"
5f7de4b8 1513 if { (eval echo $progname:1487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
4f4caf92
AO
1514 pipe_works=yes
1515 else
1516 echo "$progname: failed program was:" >&5
1517 cat conftest.$ac_ext >&5
1518 fi
1519 LIBS="$save_LIBS"
1520 else
1521 echo "cannot find nm_test_func in $nlist" >&5
1522 fi
1523 else
1524 echo "cannot find nm_test_var in $nlist" >&5
1525 fi
1526 else
1527 echo "cannot run $global_symbol_pipe" >&5
1528 fi
1529 else
1530 echo "$progname: failed program was:" >&5
1531 cat conftest.$ac_ext >&5
1532 fi
1533 $rm conftest* conftst*
1534
1535 # Do not use the global_symbol_pipe unless it works.
1536 if test "$pipe_works" = yes; then
1537 break
1538 else
1539 global_symbol_pipe=
1540 fi
1541done
1542if test "$pipe_works" = yes; then
1543 echo "${ac_t}ok" 1>&6
1544else
1545 echo "${ac_t}failed" 1>&6
1546fi
1547
1548if test -z "$global_symbol_pipe"; then
1549 global_symbol_to_cdecl=
1550fi
1551
cf4ccd63 1552# Report the final consequences.
6599da04
JM
1553echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
1554
d207ebef
JM
1555# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
1556# configure.in, otherwise build static only libraries.
82e23236 1557case $host_os in
3dd7094e 1558cygwin* | mingw* | pw32* | os2*)
d207ebef
JM
1559 if test x$can_build_shared = xyes; then
1560 test x$enable_win32_dll = xno && can_build_shared=no
1561 echo "checking if package supports dlls... $can_build_shared" 1>&6
1562 fi
1563;;
1564esac
1565
6599da04
JM
1566echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
1567test "$can_build_shared" = "no" && enable_shared=no
1568
cf4ccd63
JL
1569# On AIX, shared libraries and static libraries use the same namespace, and
1570# are all built from PIC.
82e23236 1571case $host_os in
90fb0c24 1572aix3*)
6599da04
JM
1573 test "$enable_shared" = yes && enable_static=no
1574 if test -n "$RANLIB"; then
90fb0c24 1575 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6599da04
JM
1576 postinstall_cmds='$RANLIB $lib'
1577 fi
1578 ;;
90fb0c24 1579
82e23236 1580aix4*)
90fb0c24
TT
1581 test "$enable_shared" = yes && enable_static=no
1582 ;;
6599da04
JM
1583esac
1584
cf4ccd63 1585echo "$ac_t$enable_shared" 1>&6
6599da04
JM
1586
1587# Make sure either enable_shared or enable_static is yes.
1588test "$enable_shared" = yes || enable_static=yes
1589
1590echo "checking whether to build static libraries... $enable_static" 1>&6
1591
06298abd 1592if test "$hardcode_action" = relink; then
90fb0c24
TT
1593 # Fast installation is not supported
1594 enable_fast_install=no
1595elif test "$shlibpath_overrides_runpath" = yes ||
1596 test "$enable_shared" = no; then
1597 # Fast installation is not necessary
1598 enable_fast_install=needless
1599fi
1600
4f4caf92
AO
1601variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
1602if test "$with_gcc" = yes; then
1603 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
cf4ccd63 1604fi
4f4caf92
AO
1605
1606# Check whether we must set pic_mode to default
1607test -z "$pic_flag" && pic_mode=default
cf4ccd63 1608
90fb0c24
TT
1609if test "x$enable_dlopen" != xyes; then
1610 enable_dlopen=unknown
1611 enable_dlopen_self=unknown
1612 enable_dlopen_self_static=unknown
1613else
4f4caf92 1614if test "X${lt_cv_dlopen+set}" != Xset; then
90fb0c24 1615 lt_cv_dlopen=no lt_cv_dlopen_libs=
d207ebef 1616echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
5f7de4b8 1617echo "$progname:1591: checking for dlopen in -ldl" >&5
4f4caf92 1618if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then
90fb0c24
TT
1619 echo $ac_n "(cached) $ac_c" 1>&6
1620else
d207ebef
JM
1621 ac_save_LIBS="$LIBS"
1622LIBS="-ldl $LIBS"
1623cat > conftest.$ac_ext <<EOF
5f7de4b8 1624#line 1598 "ltconfig"
90fb0c24
TT
1625/* Override any gcc2 internal prototype to avoid an error. */
1626/* We use char because int might match the return type of a gcc2
1627 builtin and then its argument prototype would still apply. */
d207ebef
JM
1628#ifdef __cplusplus
1629extern "C"
1630#endif
90fb0c24
TT
1631char dlopen();
1632
1633int main() {
d207ebef 1634dlopen()
90fb0c24
TT
1635; return 0; }
1636EOF
5f7de4b8 1637if { (eval echo $progname:1611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
90fb0c24 1638 rm -rf conftest*
4f4caf92 1639 ac_cv_lib_dl_dlopen=yes
90fb0c24
TT
1640else
1641 echo "$progname: failed program was:" >&5
1642 cat conftest.$ac_ext >&5
1643 rm -rf conftest*
4f4caf92 1644 ac_cv_lib_dl_dlopen=no
90fb0c24
TT
1645fi
1646rm -f conftest*
d207ebef 1647LIBS="$ac_save_LIBS"
90fb0c24 1648
d207ebef 1649fi
4f4caf92 1650if test "X$ac_cv_lib_dl_dlopen" = Xyes; then
90fb0c24 1651 echo "$ac_t""yes" 1>&6
d207ebef 1652 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
90fb0c24
TT
1653else
1654 echo "$ac_t""no" 1>&6
d207ebef 1655echo $ac_n "checking for dlopen""... $ac_c" 1>&6
5f7de4b8 1656echo "$progname:1630: checking for dlopen" >&5
4f4caf92 1657if test "X${ac_cv_func_dlopen+set}" = Xset; then
90fb0c24
TT
1658 echo $ac_n "(cached) $ac_c" 1>&6
1659else
d207ebef 1660 cat > conftest.$ac_ext <<EOF
5f7de4b8 1661#line 1635 "ltconfig"
d207ebef
JM
1662/* System header to define __stub macros and hopefully few prototypes,
1663 which can conflict with char dlopen(); below. */
1664#include <assert.h>
90fb0c24
TT
1665/* Override any gcc2 internal prototype to avoid an error. */
1666/* We use char because int might match the return type of a gcc2
1667 builtin and then its argument prototype would still apply. */
d207ebef
JM
1668#ifdef __cplusplus
1669extern "C"
1670#endif
90fb0c24
TT
1671char dlopen();
1672
1673int main() {
d207ebef
JM
1674
1675/* The GNU C library defines this for functions which it implements
1676 to always fail with ENOSYS. Some functions are actually named
1677 something starting with __ and the normal name is an alias. */
1678#if defined (__stub_dlopen) || defined (__stub___dlopen)
1679choke me
1680#else
1681dlopen();
1682#endif
1683
90fb0c24
TT
1684; return 0; }
1685EOF
5f7de4b8 1686if { (eval echo $progname:1660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
90fb0c24 1687 rm -rf conftest*
4f4caf92 1688 ac_cv_func_dlopen=yes
90fb0c24
TT
1689else
1690 echo "$progname: failed program was:" >&5
1691 cat conftest.$ac_ext >&5
1692 rm -rf conftest*
4f4caf92 1693 ac_cv_func_dlopen=no
90fb0c24
TT
1694fi
1695rm -f conftest*
90fb0c24 1696fi
4f4caf92 1697if test "X$ac_cv_func_dlopen" = Xyes; then
90fb0c24 1698 echo "$ac_t""yes" 1>&6
d207ebef 1699 lt_cv_dlopen="dlopen"
90fb0c24
TT
1700else
1701 echo "$ac_t""no" 1>&6
06298abd 1702echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
5f7de4b8 1703echo "$progname:1677: checking for dlopen in -lsvld" >&5
06298abd
AO
1704if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then
1705 echo $ac_n "(cached) $ac_c" 1>&6
1706else
1707 ac_save_LIBS="$LIBS"
1708LIBS="-lsvld $LIBS"
1709cat > conftest.$ac_ext <<EOF
5f7de4b8 1710#line 1684 "ltconfig"
06298abd
AO
1711/* Override any gcc2 internal prototype to avoid an error. */
1712/* We use char because int might match the return type of a gcc2
1713 builtin and then its argument prototype would still apply. */
1714#ifdef __cplusplus
1715extern "C"
1716#endif
1717char dlopen();
1718
1719int main() {
1720dlopen()
1721; return 0; }
1722EOF
5f7de4b8 1723if { (eval echo $progname:1697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
06298abd
AO
1724 rm -rf conftest*
1725 ac_cv_lib_svld_dlopen=yes
1726else
1727 echo "$progname: failed program was:" >&5
1728 cat conftest.$ac_ext >&5
1729 rm -rf conftest*
1730 ac_cv_lib_svld_dlopen=no
1731fi
1732rm -f conftest*
1733LIBS="$ac_save_LIBS"
1734
1735fi
1736if test "X$ac_cv_lib_svld_dlopen" = Xyes; then
1737 echo "$ac_t""yes" 1>&6
1738 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
1739else
1740 echo "$ac_t""no" 1>&6
90fb0c24 1741echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
5f7de4b8 1742echo "$progname:1716: checking for dld_link in -ldld" >&5
4f4caf92 1743if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then
90fb0c24
TT
1744 echo $ac_n "(cached) $ac_c" 1>&6
1745else
1746 ac_save_LIBS="$LIBS"
1747LIBS="-ldld $LIBS"
1748cat > conftest.$ac_ext <<EOF
5f7de4b8 1749#line 1723 "ltconfig"
90fb0c24
TT
1750/* Override any gcc2 internal prototype to avoid an error. */
1751/* We use char because int might match the return type of a gcc2
1752 builtin and then its argument prototype would still apply. */
d207ebef
JM
1753#ifdef __cplusplus
1754extern "C"
1755#endif
90fb0c24
TT
1756char dld_link();
1757
1758int main() {
1759dld_link()
1760; return 0; }
1761EOF
5f7de4b8 1762if { (eval echo $progname:1736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
90fb0c24 1763 rm -rf conftest*
4f4caf92 1764 ac_cv_lib_dld_dld_link=yes
90fb0c24
TT
1765else
1766 echo "$progname: failed program was:" >&5
1767 cat conftest.$ac_ext >&5
1768 rm -rf conftest*
4f4caf92 1769 ac_cv_lib_dld_dld_link=no
90fb0c24
TT
1770fi
1771rm -f conftest*
1772LIBS="$ac_save_LIBS"
1773
1774fi
4f4caf92 1775if test "X$ac_cv_lib_dld_dld_link" = Xyes; then
90fb0c24
TT
1776 echo "$ac_t""yes" 1>&6
1777 lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
1778else
1779 echo "$ac_t""no" 1>&6
1780echo $ac_n "checking for shl_load""... $ac_c" 1>&6
5f7de4b8 1781echo "$progname:1755: checking for shl_load" >&5
4f4caf92 1782if test "X${ac_cv_func_shl_load+set}" = Xset; then
90fb0c24
TT
1783 echo $ac_n "(cached) $ac_c" 1>&6
1784else
1785 cat > conftest.$ac_ext <<EOF
5f7de4b8 1786#line 1760 "ltconfig"
90fb0c24
TT
1787/* System header to define __stub macros and hopefully few prototypes,
1788 which can conflict with char shl_load(); below. */
1789#include <assert.h>
1790/* Override any gcc2 internal prototype to avoid an error. */
1791/* We use char because int might match the return type of a gcc2
1792 builtin and then its argument prototype would still apply. */
d207ebef
JM
1793#ifdef __cplusplus
1794extern "C"
1795#endif
90fb0c24
TT
1796char shl_load();
1797
1798int main() {
1799
1800/* The GNU C library defines this for functions which it implements
1801 to always fail with ENOSYS. Some functions are actually named
1802 something starting with __ and the normal name is an alias. */
1803#if defined (__stub_shl_load) || defined (__stub___shl_load)
1804choke me
1805#else
1806shl_load();
1807#endif
1808
1809; return 0; }
1810EOF
5f7de4b8 1811if { (eval echo $progname:1785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
90fb0c24 1812 rm -rf conftest*
4f4caf92 1813 ac_cv_func_shl_load=yes
90fb0c24
TT
1814else
1815 echo "$progname: failed program was:" >&5
1816 cat conftest.$ac_ext >&5
1817 rm -rf conftest*
4f4caf92 1818 ac_cv_func_shl_load=no
90fb0c24
TT
1819fi
1820rm -f conftest*
1821fi
1822
4f4caf92 1823if test "X$ac_cv_func_shl_load" = Xyes; then
90fb0c24
TT
1824 echo "$ac_t""yes" 1>&6
1825 lt_cv_dlopen="shl_load"
1826else
1827 echo "$ac_t""no" 1>&6
d207ebef 1828echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
5f7de4b8 1829echo "$progname:1803: checking for shl_load in -ldld" >&5
4f4caf92 1830if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then
90fb0c24
TT
1831 echo $ac_n "(cached) $ac_c" 1>&6
1832else
d207ebef
JM
1833 ac_save_LIBS="$LIBS"
1834LIBS="-ldld $LIBS"
1835cat > conftest.$ac_ext <<EOF
5f7de4b8 1836#line 1810 "ltconfig"
d207ebef 1837#include "confdefs.h"
90fb0c24
TT
1838/* Override any gcc2 internal prototype to avoid an error. */
1839/* We use char because int might match the return type of a gcc2
1840 builtin and then its argument prototype would still apply. */
d207ebef
JM
1841#ifdef __cplusplus
1842extern "C"
90fb0c24 1843#endif
d207ebef 1844char shl_load();
90fb0c24 1845
d207ebef
JM
1846int main() {
1847shl_load()
90fb0c24
TT
1848; return 0; }
1849EOF
5f7de4b8 1850if { (eval echo $progname:1824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
90fb0c24 1851 rm -rf conftest*
4f4caf92 1852 ac_cv_lib_dld_shl_load=yes
90fb0c24
TT
1853else
1854 echo "$progname: failed program was:" >&5
1855 cat conftest.$ac_ext >&5
1856 rm -rf conftest*
4f4caf92 1857 ac_cv_lib_dld_shl_load=no
90fb0c24
TT
1858fi
1859rm -f conftest*
d207ebef 1860LIBS="$ac_save_LIBS"
90fb0c24 1861
d207ebef 1862fi
4f4caf92 1863if test "X$ac_cv_lib_dld_shl_load" = Xyes; then
90fb0c24 1864 echo "$ac_t""yes" 1>&6
d207ebef 1865 lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
90fb0c24
TT
1866else
1867 echo "$ac_t""no" 1>&6
1868fi
1869
d207ebef 1870
90fb0c24
TT
1871fi
1872
4f4caf92 1873
90fb0c24
TT
1874fi
1875
4f4caf92 1876
90fb0c24
TT
1877fi
1878
1879
1880fi
1881
06298abd
AO
1882fi
1883
90fb0c24
TT
1884fi
1885
1886 if test "x$lt_cv_dlopen" != xno; then
1887 enable_dlopen=yes
06298abd
AO
1888 else
1889 enable_dlopen=no
90fb0c24
TT
1890 fi
1891
82e23236 1892 case $lt_cv_dlopen in
90fb0c24
TT
1893 dlopen)
1894for ac_hdr in dlfcn.h; do
1895ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1896echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
5f7de4b8 1897echo "$progname:1871: checking for $ac_hdr" >&5
4f4caf92 1898if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then
90fb0c24
TT
1899 echo $ac_n "(cached) $ac_c" 1>&6
1900else
1901 cat > conftest.$ac_ext <<EOF
5f7de4b8 1902#line 1876 "ltconfig"
90fb0c24
TT
1903#include <$ac_hdr>
1904int fnord = 0;
4f4caf92 1905int main () { return(0); }
90fb0c24 1906EOF
d207ebef 1907ac_try="$ac_compile >/dev/null 2>conftest.out"
5f7de4b8 1908{ (eval echo $progname:1882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
90fb0c24
TT
1909ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1910if test -z "$ac_err"; then
1911 rm -rf conftest*
1912 eval "ac_cv_header_$ac_safe=yes"
1913else
1914 echo "$ac_err" >&5
1915 echo "$progname: failed program was:" >&5
1916 cat conftest.$ac_ext >&5
1917 rm -rf conftest*
1918 eval "ac_cv_header_$ac_safe=no"
1919fi
1920rm -f conftest*
1921fi
1922if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1923 echo "$ac_t""yes" 1>&6
1924else
1925 echo "$ac_t""no" 1>&6
1926fi
1927done
1928
1929 if test "x$ac_cv_header_dlfcn_h" = xyes; then
1930 CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1931 fi
1932 eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1933 LIBS="$lt_cv_dlopen_libs $LIBS"
1934
1935 echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
5f7de4b8 1936echo "$progname:1910: checking whether a program can dlopen itself" >&5
4f4caf92 1937if test "X${lt_cv_dlopen_self+set}" = Xset; then
90fb0c24
TT
1938 echo $ac_n "(cached) $ac_c" 1>&6
1939else
1940 if test "$cross_compiling" = yes; then
1941 lt_cv_dlopen_self=cross
1942 else
3dd7094e 1943 cat > conftest.$ac_ext <<EOF
5f7de4b8 1944#line 1918 "ltconfig"
90fb0c24
TT
1945
1946#if HAVE_DLFCN_H
1947#include <dlfcn.h>
1948#endif
1949
1950#include <stdio.h>
1951
1952#ifdef RTLD_GLOBAL
1953# define LTDL_GLOBAL RTLD_GLOBAL
1954#else
1955# ifdef DL_GLOBAL
1956# define LTDL_GLOBAL DL_GLOBAL
1957# else
1958# define LTDL_GLOBAL 0
1959# endif
1960#endif
1961
1962/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
1963 find out it does not work in some platform. */
1964#ifndef LTDL_LAZY_OR_NOW
1965# ifdef RTLD_LAZY
1966# define LTDL_LAZY_OR_NOW RTLD_LAZY
1967# else
1968# ifdef DL_LAZY
1969# define LTDL_LAZY_OR_NOW DL_LAZY
1970# else
1971# ifdef RTLD_NOW
1972# define LTDL_LAZY_OR_NOW RTLD_NOW
1973# else
1974# ifdef DL_NOW
1975# define LTDL_LAZY_OR_NOW DL_NOW
1976# else
1977# define LTDL_LAZY_OR_NOW 0
1978# endif
1979# endif
1980# endif
1981# endif
1982#endif
1983
82e23236
AO
1984void fnord() { int i=42; }
1985int main() {
1986 void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
90fb0c24 1987 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
4f4caf92 1988 if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
90fb0c24
TT
1989
1990EOF
5f7de4b8 1991if { (eval echo $progname:1965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
90fb0c24
TT
1992then
1993 lt_cv_dlopen_self=yes
1994else
1995 echo "$progname: failed program was:" >&5
1996 cat conftest.$ac_ext >&5
1997 rm -fr conftest*
1998 lt_cv_dlopen_self=no
1999fi
2000rm -fr conftest*
2001fi
2002
2003fi
2004
2005echo "$ac_t""$lt_cv_dlopen_self" 1>&6
2006
2007 if test "$lt_cv_dlopen_self" = yes; then
2008 LDFLAGS="$LDFLAGS $link_static_flag"
2009 echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
5f7de4b8 2010echo "$progname:1984: checking whether a statically linked program can dlopen itself" >&5
4f4caf92 2011if test "X${lt_cv_dlopen_self_static+set}" = Xset; then
90fb0c24
TT
2012 echo $ac_n "(cached) $ac_c" 1>&6
2013else
2014 if test "$cross_compiling" = yes; then
2015 lt_cv_dlopen_self_static=cross
2016 else
3dd7094e 2017 cat > conftest.$ac_ext <<EOF
5f7de4b8 2018#line 1992 "ltconfig"
90fb0c24
TT
2019
2020#if HAVE_DLFCN_H
2021#include <dlfcn.h>
2022#endif
2023
2024#include <stdio.h>
2025
2026#ifdef RTLD_GLOBAL
2027# define LTDL_GLOBAL RTLD_GLOBAL
2028#else
2029# ifdef DL_GLOBAL
2030# define LTDL_GLOBAL DL_GLOBAL
2031# else
2032# define LTDL_GLOBAL 0
2033# endif
2034#endif
2035
2036/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
2037 find out it does not work in some platform. */
2038#ifndef LTDL_LAZY_OR_NOW
2039# ifdef RTLD_LAZY
2040# define LTDL_LAZY_OR_NOW RTLD_LAZY
2041# else
2042# ifdef DL_LAZY
2043# define LTDL_LAZY_OR_NOW DL_LAZY
2044# else
2045# ifdef RTLD_NOW
2046# define LTDL_LAZY_OR_NOW RTLD_NOW
2047# else
2048# ifdef DL_NOW
2049# define LTDL_LAZY_OR_NOW DL_NOW
2050# else
2051# define LTDL_LAZY_OR_NOW 0
2052# endif
2053# endif
2054# endif
2055# endif
2056#endif
2057
82e23236
AO
2058void fnord() { int i=42; }
2059int main() {
2060 void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
90fb0c24 2061 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
4f4caf92 2062 if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
90fb0c24
TT
2063
2064EOF
5f7de4b8 2065if { (eval echo $progname:2039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
90fb0c24
TT
2066then
2067 lt_cv_dlopen_self_static=yes
2068else
2069 echo "$progname: failed program was:" >&5
2070 cat conftest.$ac_ext >&5
2071 rm -fr conftest*
2072 lt_cv_dlopen_self_static=no
2073fi
2074rm -fr conftest*
2075fi
2076
2077fi
2078
2079echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
2080fi
2081 ;;
2082 esac
2083
82e23236 2084 case $lt_cv_dlopen_self in
90fb0c24
TT
2085 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2086 *) enable_dlopen_self=unknown ;;
2087 esac
2088
82e23236 2089 case $lt_cv_dlopen_self_static in
90fb0c24
TT
2090 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2091 *) enable_dlopen_self_static=unknown ;;
2092 esac
2093fi
2094
cf4ccd63
JL
2095# Copy echo and quote the copy, instead of the original, because it is
2096# used later.
2097ltecho="$echo"
90fb0c24
TT
2098if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
2099 ltecho="$CONFIG_SHELL \$0 --fallback-echo"
2100fi
2101LTSHELL="$SHELL"
cf4ccd63 2102
90fb0c24
TT
2103LTCONFIG_VERSION="$VERSION"
2104
2105# Only quote variables if we're using ltmain.sh.
82e23236 2106case $ltmain in
90fb0c24
TT
2107*.sh)
2108 # Now quote all the things that may contain metacharacters.
4f4caf92 2109 for var in ltecho old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \
3dd7094e 2110 old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \
4f4caf92
AO
2111 old_LN_S old_NM old_RANLIB old_STRIP \
2112 old_AS old_DLLTOOL old_OBJDUMP \
2113 old_OBJEXT old_EXEEXT old_reload_flag \
2114 old_deplibs_check_method old_file_magic_cmd \
2115 AR AR_FLAGS CC LTCC LD LN_S NM LTSHELL LTCONFIG_VERSION \
90fb0c24
TT
2116 reload_flag reload_cmds wl \
2117 pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
2118 thread_safe_flag_spec whole_archive_flag_spec libname_spec \
2119 library_names_spec soname_spec \
2120 RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
4f4caf92
AO
2121 old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
2122 postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
2123 predep_objects postdep_objects predeps postdeps compiler_lib_search_path \
2124 old_striplib striplib file_magic_cmd export_symbols_cmds \
2125 deplibs_check_method allow_undefined_flag no_undefined_flag \
90fb0c24
TT
2126 finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
2127 hardcode_libdir_flag_spec hardcode_libdir_separator \
2128 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
4f4caf92 2129 compiler_c_o need_locks exclude_expsyms include_expsyms; do
90fb0c24 2130
82e23236 2131 case $var in
90fb0c24
TT
2132 reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
2133 old_postinstall_cmds | old_postuninstall_cmds | \
2134 export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
4f4caf92 2135 extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
90fb0c24
TT
2136 postinstall_cmds | postuninstall_cmds | \
2137 finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
2138 # Double-quote double-evaled strings.
4f4caf92 2139 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
2140 ;;
2141 *)
4f4caf92 2142 eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ### testsuite: skip nested quoting test
90fb0c24
TT
2143 ;;
2144 esac
2145 done
2146
82e23236 2147 case $ltecho in
90fb0c24
TT
2148 *'\$0 --fallback-echo"')
2149 ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
cf4ccd63
JL
2150 ;;
2151 esac
6599da04 2152
4f4caf92
AO
2153 if test -z "$tagname"; then
2154 trap "$rm \"$ofile\"; exit 1" 1 2 15
2155 echo "creating $ofile"
2156 $rm "$ofile"
2157 cat <<EOF > "$ofile"
cf4ccd63
JL
2158#! $SHELL
2159
2160# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
90fb0c24 2161# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
cf4ccd63
JL
2162# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
2163#
4f4caf92 2164# Copyright (C) 1996-2000 Free Software Foundation, Inc.
d207ebef 2165# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
cf4ccd63
JL
2166#
2167# This program is free software; you can redistribute it and/or modify
2168# it under the terms of the GNU General Public License as published by
2169# the Free Software Foundation; either version 2 of the License, or
2170# (at your option) any later version.
2171#
2172# This program is distributed in the hope that it will be useful, but
2173# WITHOUT ANY WARRANTY; without even the implied warranty of
2174# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2175# General Public License for more details.
2176#
2177# You should have received a copy of the GNU General Public License
2178# along with this program; if not, write to the Free Software
2179# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2180#
2181# As a special exception to the GNU General Public License, if you
2182# distribute this file as part of a program that contains a
2183# configuration script generated by Autoconf, you may include it under
2184# the same distribution terms that you use for the rest of that program.
2185
2186# Sed that helps us avoid accidentally triggering echo(1) options like -n.
2187Xsed="sed -e s/^X//"
2188
2189# The HP-UX ksh and POSIX shell print the target directory to stdout
2190# if CDPATH is set.
d207ebef 2191if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
cf4ccd63 2192
4f4caf92
AO
2193# The names of the tagged configurations supported by this script.
2194available_tags=
2195
cf4ccd63 2196### BEGIN LIBTOOL CONFIG
90fb0c24 2197EOF
4f4caf92
AO
2198 else
2199 echo "appending configuration tag \"$tagname\" to $ofile"
2200 echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
2201 fi
90fb0c24
TT
2202 cfgfile="$ofile"
2203 ;;
2204
2205*)
2206 # Double-quote the variables that need it (for aesthetics).
4f4caf92 2207 for var in old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \
3dd7094e 2208 old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \
4f4caf92
AO
2209 old_LN_S old_NM old_RANLIB old_STRIP \
2210 old_AS old_DLLTOOL old_OBJDUMP \
2211 old_OBJEXT old_EXEEXT old_reload_flag \
2212 old_deplibs_check_method old_file_magic_cmd; do
90fb0c24
TT
2213 eval "$var=\\\"\$var\\\""
2214 done
2215
2216 # Just create a config file.
2217 cfgfile="$ofile.cfg"
4f4caf92
AO
2218 if test -z "$tagname"; then
2219 trap "$rm \"$cfgfile\"; exit 1" 1 2 15
2220 echo "creating $cfgfile"
2221 $rm "$cfgfile"
2222 cat <<EOF > "$cfgfile"
90fb0c24
TT
2223# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
2224# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
4f4caf92
AO
2225
2226### BEGIN LIBTOOL CONFIG
90fb0c24 2227EOF
4f4caf92
AO
2228 else
2229 echo "appending to $cfgfile"
2230 echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
2231 fi
90fb0c24
TT
2232 ;;
2233esac
2234
2235cat <<EOF >> "$cfgfile"
cf4ccd63 2236# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
6599da04 2237#
4f4caf92
AO
2238# AR=$old_AR AR_FLAGS=$old_AR_FLAGS LTCC=$old_LTCC CC=$old_CC \\
2239# CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
3dd7094e 2240# MAGIC_CMD=$old_MAGIC_CMD LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
4f4caf92
AO
2241# LN_S=$old_LN_S NM=$old_NM RANLIB=$old_RANLIB STRIP=$old_STRIP \\
2242# AS=$old_AS DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP \\
2243# objext=$old_OBJEXT exeext=$old_EXEEXT reload_flag=$old_reload_flag \\
2244# deplibs_check_method=$old_deplibs_check_method \\
2245# file_magic_cmd=$old_file_magic_cmd \\
6599da04
JM
2246# $0$ltconfig_args
2247#
2248# Compiler and other test output produced by $progname, useful for
2249# debugging $progname, is in ./config.log if it exists.
2250
2251# The version of $progname that generated this script.
90fb0c24 2252LTCONFIG_VERSION=$LTCONFIG_VERSION
6599da04 2253
cf4ccd63 2254# Shell to use when invoking shell scripts.
90fb0c24 2255SHELL=$LTSHELL
cf4ccd63
JL
2256
2257# Whether or not to build shared libraries.
6599da04
JM
2258build_libtool_libs=$enable_shared
2259
4f4caf92
AO
2260# Whether or not to add -lc for building shared libraries.
2261build_libtool_need_lc=$need_lc
2262
cf4ccd63 2263# Whether or not to build static libraries.
6599da04
JM
2264build_old_libs=$enable_static
2265
90fb0c24
TT
2266# Whether or not to optimize for fast installation.
2267fast_install=$enable_fast_install
2268
6599da04 2269# The host system.
90fb0c24
TT
2270host_alias=$host_alias
2271host=$host
6599da04 2272
cf4ccd63 2273# An echo program that does not interpret backslashes.
90fb0c24 2274echo=$ltecho
cf4ccd63 2275
6599da04 2276# The archiver.
90fb0c24 2277AR=$AR
4f4caf92 2278AR_FLAGS=$AR_FLAGS
cf4ccd63 2279
4f4caf92
AO
2280# A C compiler.
2281LTCC=$LTCC
2282
2283# A language-specific compiler.
90fb0c24 2284CC=$CC
6599da04 2285
06298abd
AO
2286# Is the compiler the GNU C compiler?
2287with_gcc=$with_gcc
2288
6599da04 2289# The linker used to build libraries.
90fb0c24 2290LD=$LD
6599da04
JM
2291
2292# Whether we need hard or soft links.
90fb0c24 2293LN_S=$LN_S
cf4ccd63
JL
2294
2295# A BSD-compatible nm program.
90fb0c24 2296NM=$NM
cf4ccd63 2297
4f4caf92
AO
2298# A symbol stripping program
2299STRIP=$STRIP
2300
2301# Used to examine libraries when file_magic_cmd begins "file"
3dd7094e 2302MAGIC_CMD=$MAGIC_CMD
4f4caf92 2303
90fb0c24 2304# Used on cygwin: DLL creation program.
cf4ccd63
JL
2305DLLTOOL="$DLLTOOL"
2306
d207ebef
JM
2307# Used on cygwin: object dumper.
2308OBJDUMP="$OBJDUMP"
2309
90fb0c24 2310# Used on cygwin: assembler.
cf4ccd63
JL
2311AS="$AS"
2312
2313# The name of the directory that contains temporary libtool files.
90fb0c24 2314objdir=$objdir
6599da04
JM
2315
2316# How to create reloadable object files.
90fb0c24
TT
2317reload_flag=$reload_flag
2318reload_cmds=$reload_cmds
6599da04
JM
2319
2320# How to pass a linker flag through the compiler.
90fb0c24 2321wl=$wl
6599da04 2322
fbd836fc
ILT
2323# Object file suffix (normally "o").
2324objext="$objext"
2325
2326# Old archive suffix (normally "a").
2327libext="$libext"
2328
d207ebef
JM
2329# Executable file suffix (normally "").
2330exeext="$exeext"
2331
6599da04 2332# Additional compiler flags for building library objects.
90fb0c24 2333pic_flag=$pic_flag
4f4caf92 2334pic_mode=$pic_mode
90fb0c24 2335
82e23236
AO
2336# What is the maximum length of a command?
2337max_cmd_len=$max_cmd_len
2338
d207ebef 2339# Does compiler simultaneously support -c and -o options?
90fb0c24
TT
2340compiler_c_o=$compiler_c_o
2341
90fb0c24
TT
2342# Must we lock files when doing compilation ?
2343need_locks=$need_locks
2344
2345# Do we need the lib prefix for modules?
2346need_lib_prefix=$need_lib_prefix
2347
2348# Do we need a version for libraries?
2349need_version=$need_version
2350
2351# Whether dlopen is supported.
4f4caf92 2352dlopen_support=$enable_dlopen
90fb0c24
TT
2353
2354# Whether dlopen of programs is supported.
2355dlopen_self=$enable_dlopen_self
2356
2357# Whether dlopen of statically linked programs is supported.
2358dlopen_self_static=$enable_dlopen_self_static
6599da04
JM
2359
2360# Compiler flag to prevent dynamic linking.
90fb0c24 2361link_static_flag=$link_static_flag
6599da04 2362
cf4ccd63 2363# Compiler flag to turn off builtin functions.
90fb0c24 2364no_builtin_flag=$no_builtin_flag
6599da04 2365
cf4ccd63 2366# Compiler flag to allow reflexive dlopens.
90fb0c24 2367export_dynamic_flag_spec=$export_dynamic_flag_spec
6599da04 2368
fbd836fc 2369# Compiler flag to generate shared objects directly from archives.
90fb0c24
TT
2370whole_archive_flag_spec=$whole_archive_flag_spec
2371
2372# Compiler flag to generate thread-safe objects.
2373thread_safe_flag_spec=$thread_safe_flag_spec
fbd836fc 2374
6599da04
JM
2375# Library versioning type.
2376version_type=$version_type
2377
cf4ccd63 2378# Format of library name prefix.
90fb0c24 2379libname_spec=$libname_spec
cf4ccd63 2380
6599da04
JM
2381# List of archive names. First name is the real one, the rest are links.
2382# The last name is the one that the linker finds with -lNAME.
90fb0c24 2383library_names_spec=$library_names_spec
6599da04
JM
2384
2385# The coded name of the library, if different from the real name.
90fb0c24 2386soname_spec=$soname_spec
6599da04
JM
2387
2388# Commands used to build and install an old-style archive.
90fb0c24
TT
2389RANLIB=$RANLIB
2390old_archive_cmds=$old_archive_cmds
2391old_postinstall_cmds=$old_postinstall_cmds
2392old_postuninstall_cmds=$old_postuninstall_cmds
cf4ccd63
JL
2393
2394# Create an old-style archive from a shared archive.
90fb0c24 2395old_archive_from_new_cmds=$old_archive_from_new_cmds
6599da04 2396
4f4caf92
AO
2397# Create a temporary old-style archive to link instead of a shared archive.
2398old_archive_from_expsyms_cmds=$old_archive_from_expsyms_cmds
2399
6599da04 2400# Commands used to build and install a shared archive.
90fb0c24
TT
2401archive_cmds=$archive_cmds
2402archive_expsym_cmds=$archive_expsym_cmds
2403postinstall_cmds=$postinstall_cmds
2404postuninstall_cmds=$postuninstall_cmds
2405
4f4caf92
AO
2406# Commands to strip libraries.
2407old_striplib=$old_striplib
2408striplib=$striplib
2409
2410# Dependencies to place before the objects being linked to create a
2411# shared library.
2412predep_objects=$predep_objects
2413
2414# Dependencies to place after the objects being linked to create a
2415# shared library.
2416postdep_objects=$postdep_objects
2417
2418# Dependencies to place before the objects being linked to create a
2419# shared library.
2420predeps=$predeps
2421
2422# Dependencies to place after the objects being linked to create a
2423# shared library.
2424postdeps=$postdeps
2425
2426# The library search path used internally by the compiler when linking
2427# a shared library.
2428compiler_lib_search_path=$compiler_lib_search_path
2429
90fb0c24
TT
2430# Method to check whether dependent libraries are shared objects.
2431deplibs_check_method=$deplibs_check_method
2432
d207ebef 2433# Command to use when deplibs_check_method == file_magic.
90fb0c24 2434file_magic_cmd=$file_magic_cmd
6599da04
JM
2435
2436# Flag that allows shared libraries with undefined symbols to be built.
90fb0c24 2437allow_undefined_flag=$allow_undefined_flag
cf4ccd63
JL
2438
2439# Flag that forces no undefined symbols.
90fb0c24 2440no_undefined_flag=$no_undefined_flag
6599da04
JM
2441
2442# Commands used to finish a libtool library installation in a directory.
90fb0c24 2443finish_cmds=$finish_cmds
cf4ccd63
JL
2444
2445# Same as above, but a single script fragment to be evaled but not shown.
90fb0c24 2446finish_eval=$finish_eval
6599da04 2447
cf4ccd63 2448# Take the output of nm and produce a listing of raw symbols and C names.
90fb0c24
TT
2449global_symbol_pipe=$global_symbol_pipe
2450
2451# Transform the output of nm in a proper C declaration
2452global_symbol_to_cdecl=$global_symbol_to_cdecl
6599da04
JM
2453
2454# This is the shared library runtime path variable.
2455runpath_var=$runpath_var
2456
2457# This is the shared library path variable.
2458shlibpath_var=$shlibpath_var
2459
90fb0c24
TT
2460# Is shlibpath searched before the hard-coded library search path?
2461shlibpath_overrides_runpath=$shlibpath_overrides_runpath
2462
6599da04
JM
2463# How to hardcode a shared library path into an executable.
2464hardcode_action=$hardcode_action
2465
4f4caf92
AO
2466# Whether we should hardcode library paths into libraries.
2467hardcode_into_libs=$hardcode_into_libs
2468
6599da04
JM
2469# Flag to hardcode \$libdir into a binary during linking.
2470# This must work even if \$libdir does not exist.
90fb0c24 2471hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
6599da04
JM
2472
2473# Whether we need a single -rpath flag with a separated argument.
90fb0c24 2474hardcode_libdir_separator=$hardcode_libdir_separator
6599da04
JM
2475
2476# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
2477# resulting binary.
2478hardcode_direct=$hardcode_direct
2479
2480# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
2481# resulting binary.
2482hardcode_minus_L=$hardcode_minus_L
2483
6599da04
JM
2484# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
2485# the resulting binary.
2486hardcode_shlibpath_var=$hardcode_shlibpath_var
fbd836fc 2487
4f4caf92
AO
2488# Variables whose values should be saved in libtool wrapper scripts and
2489# restored at relink time.
2490variables_saved_for_relink="$variables_saved_for_relink"
2491
2492# Whether libtool must link a program against all its dependency libraries.
2493link_all_deplibs=$link_all_deplibs
2494
90fb0c24
TT
2495# Compile-time system search path for libraries
2496sys_lib_search_path_spec=$sys_lib_search_path_spec
2497
2498# Run-time system search path for libraries
2499sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
2500
fbd836fc
ILT
2501# Fix the shell variable \$srcfile for the compiler.
2502fix_srcfile_path="$fix_srcfile_path"
90fb0c24 2503
d207ebef 2504# Set to yes if exported symbols are required.
90fb0c24
TT
2505always_export_symbols=$always_export_symbols
2506
d207ebef 2507# The commands to list exported symbols.
90fb0c24
TT
2508export_symbols_cmds=$export_symbols_cmds
2509
4f4caf92
AO
2510# The commands to extract the exported symbol list from a shared archive.
2511extract_expsyms_cmds=$extract_expsyms_cmds
2512
d207ebef 2513# Symbols that should not be listed in the preloaded symbols.
90fb0c24
TT
2514exclude_expsyms=$exclude_expsyms
2515
d207ebef 2516# Symbols that must always be exported.
90fb0c24
TT
2517include_expsyms=$include_expsyms
2518
6599da04
JM
2519EOF
2520
4f4caf92
AO
2521if test -z "$tagname"; then
2522 echo '### END LIBTOOL CONFIG' >> "$ofile"
2523else
2524 echo "### END LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
2525fi
2526
82e23236 2527case $ltmain in
90fb0c24 2528*.sh)
90fb0c24 2529 echo >> "$ofile"
4f4caf92 2530 if test -z "$tagname"; then
82e23236 2531 case $host_os in
4f4caf92
AO
2532 aix3*)
2533 cat <<\EOF >> "$ofile"
cf4ccd63
JL
2534
2535# AIX sometimes has problems with the GCC collect2 program. For some
2536# reason, if we set the COLLECT_NAMES environment variable, the problems
2537# vanish in a puff of smoke.
d207ebef 2538if test "X${COLLECT_NAMES+set}" != Xset; then
cf4ccd63
JL
2539 COLLECT_NAMES=
2540 export COLLECT_NAMES
2541fi
4f4caf92
AO
2542EOF
2543 ;;
2544 esac
82e23236 2545 case $host in
3dd7094e 2546 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
4f4caf92
AO
2547 cat <<'EOF' >> "$ofile"
2548 # This is a source program that is used to create dlls on Windows
2549 # Don't remove nor modify the starting and closing comments
2550# /* ltdll.c starts here */
2551# #define WIN32_LEAN_AND_MEAN
2552# #include <windows.h>
2553# #undef WIN32_LEAN_AND_MEAN
2554# #include <stdio.h>
2555#
2556# #ifndef __CYGWIN__
2557# # ifdef __CYGWIN32__
2558# # define __CYGWIN__ __CYGWIN32__
2559# # endif
2560# #endif
2561#
2562# #ifdef __cplusplus
2563# extern "C" {
2564# #endif
2565# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
2566# #ifdef __cplusplus
2567# }
2568# #endif
2569#
2570# #ifdef __CYGWIN__
2571# #include <cygwin/cygwin_dll.h>
2572# DECLARE_CYGWIN_DLL( DllMain );
2573# #endif
2574# HINSTANCE __hDllInstance_base;
2575#
2576# BOOL APIENTRY
2577# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
2578# {
2579# __hDllInstance_base = hInst;
2580# return TRUE;
2581# }
2582# /* ltdll.c ends here */
2583 # This is a source program that is used to create import libraries
2584 # on Windows for dlls which lack them. Don't remove nor modify the
2585 # starting and closing comments
2586# /* impgen.c starts here */
2587# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
2588#
2589# This file is part of GNU libtool.
2590#
2591# This program is free software; you can redistribute it and/or modify
2592# it under the terms of the GNU General Public License as published by
2593# the Free Software Foundation; either version 2 of the License, or
2594# (at your option) any later version.
2595#
2596# This program is distributed in the hope that it will be useful,
2597# but WITHOUT ANY WARRANTY; without even the implied warranty of
2598# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2599# GNU General Public License for more details.
2600#
2601# You should have received a copy of the GNU General Public License
2602# along with this program; if not, write to the Free Software
2603# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2604# */
2605#
2606# #include <stdio.h> /* for printf() */
2607# #include <unistd.h> /* for open(), lseek(), read() */
2608# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
2609# #include <string.h> /* for strdup() */
2610#
2611# /* O_BINARY isn't required (or even defined sometimes) under Unix */
2612# #ifndef O_BINARY
2613# #define O_BINARY 0
2614# #endif
2615#
2616# static unsigned int
2617# pe_get16 (fd, offset)
2618# int fd;
2619# int offset;
2620# {
2621# unsigned char b[2];
2622# lseek (fd, offset, SEEK_SET);
2623# read (fd, b, 2);
2624# return b[0] + (b[1]<<8);
2625# }
2626#
2627# static unsigned int
2628# pe_get32 (fd, offset)
2629# int fd;
2630# int offset;
2631# {
2632# unsigned char b[4];
2633# lseek (fd, offset, SEEK_SET);
2634# read (fd, b, 4);
2635# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2636# }
2637#
2638# static unsigned int
2639# pe_as32 (ptr)
2640# void *ptr;
2641# {
2642# unsigned char *b = ptr;
2643# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2644# }
2645#
2646# int
2647# main (argc, argv)
2648# int argc;
2649# char *argv[];
2650# {
2651# int dll;
2652# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
2653# unsigned long export_rva, export_size, nsections, secptr, expptr;
2654# unsigned long name_rvas, nexp;
2655# unsigned char *expdata, *erva;
2656# char *filename, *dll_name;
2657#
2658# filename = argv[1];
2659#
2660# dll = open(filename, O_RDONLY|O_BINARY);
75b9074c 2661# if (dll < 1)
4f4caf92
AO
2662# return 1;
2663#
2664# dll_name = filename;
2665#
2666# for (i=0; filename[i]; i++)
2667# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
2668# dll_name = filename + i +1;
2669#
2670# pe_header_offset = pe_get32 (dll, 0x3c);
2671# opthdr_ofs = pe_header_offset + 4 + 20;
2672# num_entries = pe_get32 (dll, opthdr_ofs + 92);
2673#
2674# if (num_entries < 1) /* no exports */
2675# return 1;
2676#
2677# export_rva = pe_get32 (dll, opthdr_ofs + 96);
2678# export_size = pe_get32 (dll, opthdr_ofs + 100);
2679# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
2680# secptr = (pe_header_offset + 4 + 20 +
2681# pe_get16 (dll, pe_header_offset + 4 + 16));
2682#
2683# expptr = 0;
2684# for (i = 0; i < nsections; i++)
2685# {
2686# char sname[8];
2687# unsigned long secptr1 = secptr + 40 * i;
2688# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
2689# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
2690# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
2691# lseek(dll, secptr1, SEEK_SET);
2692# read(dll, sname, 8);
2693# if (vaddr <= export_rva && vaddr+vsize > export_rva)
2694# {
2695# expptr = fptr + (export_rva - vaddr);
2696# if (export_rva + export_size > vaddr + vsize)
2697# export_size = vsize - (export_rva - vaddr);
2698# break;
2699# }
2700# }
2701#
2702# expdata = (unsigned char*)malloc(export_size);
2703# lseek (dll, expptr, SEEK_SET);
2704# read (dll, expdata, export_size);
2705# erva = expdata - export_rva;
2706#
2707# nexp = pe_as32 (expdata+24);
2708# name_rvas = pe_as32 (expdata+32);
2709#
2710# printf ("EXPORTS\n");
2711# for (i = 0; i<nexp; i++)
2712# {
2713# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
2714# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
2715# }
2716#
2717# return 0;
2718# }
2719# /* impgen.c ends here */
2720
cf4ccd63 2721EOF
90fb0c24
TT
2722 ;;
2723 esac
2724
90fb0c24 2725
4f4caf92
AO
2726 # Append the ltmain.sh script.
2727 sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
2728 # We use sed instead of cat because bash on DJGPP gets confused if
2729 # if finds mixed CR/LF and LF-only lines. Since sed operates in
2730 # text mode, it properly converts lines to CR/LF. This bash problem
2731 # is reportedly fixed, but why not run on old versions too?
2732
2733 chmod +x "$ofile"
2734 fi
90fb0c24
TT
2735 ;;
2736
2737*)
2738 # Compile the libtool program.
2739 echo "FIXME: would compile $ltmain"
6599da04
JM
2740 ;;
2741esac
2742
4f4caf92
AO
2743# Update the list of available tags.
2744if test -n "$tagname"; then
2745
2746 # Extract list of available tagged configurations in $ofile.
2747 # Note that this assumes the entire list is on one line.
2748 available_tags=`grep "^available_tags=" $ofile | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
2749
2750 # Append the new tag name to the list of available tags.
2751 available_tags="$available_tags $tagname"
2752
2753 # Now substitute the updated of available tags.
2754 if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' ${ofile} > ${ofile}.new"; then
2755 mv ${ofile}.new ${ofile}
2756 chmod +x "$ofile"
2757 else
2758 rm -f ${ofile}.new
2759 echo "$progname: unable to update list of available tagged configurations."
2760 exit 1
2761 fi
2762fi
2763
2764# Don't cache tagged configuration!
2765test -n "$cache_file" && test -z "$tagname" || exit 0
cf4ccd63 2766
90fb0c24
TT
2767# AC_CACHE_SAVE
2768trap '' 1 2 15
2769cat > confcache <<\EOF
2770# This file is a shell script that caches the results of configure
2771# tests run on this system so they can be shared between configure
2772# scripts and configure runs. It is not useful on other systems.
2773# If it contains results you don't want to keep, you may remove or edit it.
2774#
2775# By default, configure uses ./config.cache as the cache file,
2776# creating it if it does not exist already. You can give configure
2777# the --cache-file=FILE option to use a different cache file; that is
2778# what configure does when it calls configure scripts in
2779# subdirectories, so they share the cache.
2780# Giving --cache-file=/dev/null disables caching, for debugging configure.
2781# config.status only pays attention to the cache file if you give it the
2782# --recheck option to rerun configure.
2783#
2784EOF
2785# The following way of writing the cache mishandles newlines in values,
2786# but we know of no workaround that is simple, portable, and efficient.
2787# So, don't put newlines in cache variables' values.
2788# Ultrix sh set writes to stderr and can't be redirected directly,
2789# and sets the high bit in the cache file unless we assign to the vars.
2790(set) 2>&1 |
2791 case `(ac_space=' '; set | grep ac_space) 2>&1` in
2792 *ac_space=\ *)
2793 # `set' does not quote correctly, so add quotes (double-quote substitution
2794 # turns \\\\ into \\, and sed turns \\ into \).
2795 sed -n \
2796 -e "s/'/'\\\\''/g" \
2797 -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
2798 ;;
2799 *)
2800 # `set' quotes correctly as required by POSIX, so do not add quotes.
2801 sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
2802 ;;
2803 esac >> confcache
2804if cmp -s $cache_file confcache; then
2805 :
2806else
2807 if test -w $cache_file; then
2808 echo "updating cache $cache_file"
2809 cat confcache > $cache_file
2810 else
2811 echo "not updating unwritable cache $cache_file"
2812 fi
2813fi
2814rm -f confcache
6599da04 2815
6599da04
JM
2816exit 0
2817
2818# Local Variables:
2819# mode:shell-script
2820# sh-indentation:2
2821# End:
This page took 0.669774 seconds and 5 git commands to generate.