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