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