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