2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 14:07:59 +00:00

520. [bug] Upgraded libtool to 1.3.5, which allows shared

library builds to work on AIX (and possibly others).
This commit is contained in:
Brian Wellington
2000-10-16 23:35:07 +00:00
parent 34d2bdadb4
commit f90fe7c8b9
4 changed files with 281 additions and 125 deletions

View File

@@ -1,3 +1,6 @@
520. [bug] Upgraded libtool to 1.3.5, which allows shared
library builds to work on AIX (and possibly others).
519. [bug] dns_name_split() would improperly split some bitstring 519. [bug] dns_name_split() would improperly split some bitstring
labels, zeroing a few of the least signficant bits in labels, zeroing a few of the least signficant bits in
the prefix part. When such an improperly created the prefix part. When such an improperly created

55
libtool.m4 vendored
View File

@@ -1,5 +1,5 @@
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
## Copyright (C) 1996-1999 Free Software Foundation, Inc. ## Copyright (C) 1996-1999, 2000 Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
## ##
## This program is free software; you can redistribute it and/or modify ## This program is free software; you can redistribute it and/or modify
@@ -34,7 +34,7 @@ LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|| AC_MSG_ERROR([libtool configure failed]) || AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig # Reload cache, that may have been modified by ltconfig
@@ -66,6 +66,11 @@ AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_PROG_LN_S])dnl
dnl dnl
case "$target" in
NONE) lt_target="$host" ;;
*) lt_target="$target" ;;
esac
# Check for any special flags to pass to ltconfig. # Check for any special flags to pass to ltconfig.
libtool_flags="--cache-file=$cache_file" libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
@@ -84,7 +89,7 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
# Some flags need to be propagated to the compiler or linker for good # Some flags need to be propagated to the compiler or linker for good
# libtool support. # libtool support.
case "$host" in case "$lt_target" in
*-*-irix6*) *-*-irix6*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext echo '[#]line __oline__ "configure"' > conftest.$ac_ext
@@ -300,7 +305,6 @@ else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_SUBST(LD)
AC_PROG_LD_GNU AC_PROG_LD_GNU
]) ])
@@ -346,14 +350,13 @@ else
fi]) fi])
NM="$ac_cv_path_NM" NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM]) AC_MSG_RESULT([$NM])
AC_SUBST(NM)
]) ])
# AC_CHECK_LIBM - check for math library # AC_CHECK_LIBM - check for math library
AC_DEFUN(AC_CHECK_LIBM, AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl [AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM= LIBM=
case "$host" in case "$lt_target" in
*-*-beos* | *-*-cygwin*) *-*-beos* | *-*-cygwin*)
# These system don't have libm # These system don't have libm
;; ;;
@@ -368,31 +371,35 @@ esac
]) ])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl convenience library, adds --enable-ltdl-convenience to # the libltdl convenience library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor # the libltdl header and adds --enable-ltdl-convenience to the
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed # configure arguments. Note that LIBLTDL and INCLTDL are not
# to be `${top_builddir}/libltdl'. Make sure you start DIR with # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
# '${top_builddir}/' (note the single quotes!) if your package is not # provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
# flat, and, if you're not using automake, define top_builddir as # with '${top_builddir}/' and INCLTDL will be prefixed with
# appropriate in the Makefiles. # '${top_srcdir}/' (note the single quotes!). If your package is not
# flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case "$enable_ltdl_convenience" in case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes "") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac esac
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
]) ])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl installable library, and adds --enable-ltdl-install to # the libltdl installable library and INCLTDL to the include flags for
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor # the libltdl header and adds --enable-ltdl-install to the configure
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed # arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
# to be `${top_builddir}/libltdl'. Make sure you start DIR with # AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
# '${top_builddir}/' (note the single quotes!) if your package is not # libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
# flat, and, if you're not using automake, define top_builddir as # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
# appropriate in the Makefiles. # with '${top_srcdir}/' (note the single quotes!). If your package is
# not flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL. # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_CHECK_LIB(ltdl, main, AC_CHECK_LIB(ltdl, main,
@@ -405,8 +412,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
]) ])
if test x"$enable_ltdl_install" = x"yes"; then if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install" ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
else else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no" ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl" LIBLTDL="-lltdl"

221
ltconfig
View File

@@ -53,7 +53,7 @@ fi
# Find the correct PATH separator. Usually this is `:', but # Find the correct PATH separator. Usually this is `:', but
# DJGPP uses `;' like DOS. # DJGPP uses `;' like DOS.
if test "X${PATH_SEPARATOR+set}" != "Xset"; then if test "X${PATH_SEPARATOR+set}" != Xset; then
UNAME=${UNAME-`uname 2>/dev/null`} UNAME=${UNAME-`uname 2>/dev/null`}
case X$UNAME in case X$UNAME in
*-DOS) PATH_SEPARATOR=';' ;; *-DOS) PATH_SEPARATOR=';' ;;
@@ -63,9 +63,9 @@ fi
# The HP-UX ksh and POSIX shell print the target directory to stdout # The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set. # if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
if test "X${echo_test_string+set}" != "Xset"; then if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it # find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
@@ -169,10 +169,10 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants: # Constants:
PROGRAM=ltconfig PROGRAM=ltconfig
PACKAGE=libtool PACKAGE=libtool
VERSION=1.3.3 VERSION=1.3.5
TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
rm="rm -f" rm="rm -f"
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
@@ -369,8 +369,8 @@ exec 5>>./config.log
# Only set LANG and LC_ALL to C if already set. # Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand # These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO). # e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "X${LANG+set}" = Xset; then LANG=C; export LANG; fi
if test -n "$cache_file" && test -r "$cache_file"; then if test -n "$cache_file" && test -r "$cache_file"; then
echo "loading cache $cache_file within ltconfig" echo "loading cache $cache_file within ltconfig"
@@ -462,7 +462,7 @@ aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some # AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems # reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke. # vanish in a puff of smoke.
if test "${COLLECT_NAMES+set}" != set; then if test "X${COLLECT_NAMES+set}" != Xset; then
COLLECT_NAMES= COLLECT_NAMES=
export COLLECT_NAMES export COLLECT_NAMES
fi fi
@@ -663,7 +663,7 @@ if test "$with_gcc" = yes; then
link_static_flag='-static' link_static_flag='-static'
case "$host_os" in case "$host_os" in
beos* | irix5* | irix6* | osf3* | osf4*) beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes. # PIC is the default for these OSes.
;; ;;
aix*) aix*)
@@ -718,7 +718,7 @@ else
# We can build DLLs from non-PIC. # We can build DLLs from non-PIC.
;; ;;
osf3* | osf4*) osf3* | osf4* | osf5*)
# All OSF/1 code is PIC. # All OSF/1 code is PIC.
wl='-Wl,' wl='-Wl,'
link_static_flag='-non_shared' link_static_flag='-non_shared'
@@ -1164,15 +1164,21 @@ EOF
# Extract the symbol export list from an `--export-all' def file, # Extract the symbol export list from an `--export-all' def file,
# then regenerate the def file from the symbol export list, so that # then regenerate the def file from the symbol export list, so that
# the compiled dll only exports the symbol export list. # the compiled dll only exports the symbol export list.
# Be careful not to strip the DATA tag left by newer dlltools.
export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~ $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols' sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
# If DATA tags from a recent dlltool are present, honour them!
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
_lt_hint=1; _lt_hint=1;
for symbol in `cat $export_symbols`; do cat $export_symbols | while read symbol; do
echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def; set dummy \$symbol;
case \$# in
2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
*) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
esac;
_lt_hint=`expr 1 + \$_lt_hint`; _lt_hint=`expr 1 + \$_lt_hint`;
done~ done~
test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
@@ -1187,7 +1193,7 @@ EOF
;; ;;
netbsd*) netbsd*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else else
@@ -1196,7 +1202,7 @@ EOF
fi fi
;; ;;
solaris*) solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no ld_shlibs=no
cat <<EOF 1>&2 cat <<EOF 1>&2
@@ -1244,7 +1250,12 @@ EOF
whole_archive_flag_spec= whole_archive_flag_spec=
;; ;;
*) *)
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
else
whole_archive_flag_spec=
fi
;; ;;
esac esac
fi fi
@@ -1405,7 +1416,7 @@ else
old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
;; ;;
osf3* | osf4*) osf3*)
if test "$with_gcc" = yes; then if test "$with_gcc" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
@@ -1417,6 +1428,24 @@ else
hardcode_libdir_separator=: hardcode_libdir_separator=:
;; ;;
osf4* | osf5*) # As osf3* with the addition of the -msym flag
if test "$with_gcc" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
rhapsody*)
archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flags_spec='-L$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
sco3.2v5*) sco3.2v5*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
@@ -1449,7 +1478,13 @@ else
;; ;;
sysv4) sysv4)
if test "x$host_vendor" = xsequent; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
else
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
fi
runpath_var='LD_RUN_PATH' runpath_var='LD_RUN_PATH'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
hardcode_direct=no #Motorola manual says yes, but my tests say they lie hardcode_direct=no #Motorola manual says yes, but my tests say they lie
@@ -1461,6 +1496,18 @@ else
export_dynamic_flag_spec='-Bexport' export_dynamic_flag_spec='-Bexport'
;; ;;
sysv5*)
no_undefined_flag=' -z text'
# $CC -shared without GNU ld will not create a library from C++
# object files and a static libstdc++, better avoid it by now
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
hardcode_libdir_flag_spec=
hardcode_shlibpath_var=no
runpath_var='LD_RUN_PATH'
;;
uts4*) uts4*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
@@ -1475,8 +1522,7 @@ else
sysv4*MP*) sysv4*MP*)
if test -d /usr/nec; then if test -d /usr/nec; then
# archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
runpath_var=LD_RUN_PATH runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes hardcode_runpath_var=yes
@@ -1484,6 +1530,21 @@ else
fi fi
;; ;;
sysv4.2uw2*)
archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
hardcode_direct=yes
hardcode_minus_L=no
hardcode_shlibpath_var=no
hardcode_runpath_var=yes
runpath_var=LD_RUN_PATH
;;
unixware7*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
runpath_var='LD_RUN_PATH'
hardcode_shlibpath_var=no
;;
*) *)
ld_shlibs=no ld_shlibs=no
;; ;;
@@ -1589,11 +1650,11 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);} main(){nm_test_var='a';nm_test_func();return(0);}
EOF EOF
echo "$progname:1592: checking if global_symbol_pipe works" >&5 echo "$progname:1653: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
# Now try to grab the symbols. # Now try to grab the symbols.
nlist=conftest.nm nlist=conftest.nm
if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output. # Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then if sort "$nlist" | uniq > "$nlist"T; then
@@ -1645,7 +1706,7 @@ EOF
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
LIBS="conftstm.$objext" LIBS="conftstm.$objext"
CFLAGS="$CFLAGS$no_builtin_flag" CFLAGS="$CFLAGS$no_builtin_flag"
if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes pipe_works=yes
else else
echo "$progname: failed program was:" >&5 echo "$progname: failed program was:" >&5
@@ -1787,8 +1848,9 @@ beos*)
bsdi4*) bsdi4*)
version_type=linux version_type=linux
library_names_spec='${libname}.so$major ${libname}.so' need_version=no
soname_spec='${libname}.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
@@ -1796,6 +1858,7 @@ bsdi4*)
file_magic_test_file=/shlib/libc.so file_magic_test_file=/shlib/libc.so
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
export_dynamic_flag_spec=-rdynamic
# the default ld.so.conf also contains /usr/contrib/lib and # the default ld.so.conf also contains /usr/contrib/lib and
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
# libtool to hard-code these into programs # libtool to hard-code these into programs
@@ -1841,10 +1904,9 @@ freebsd*)
need_version=yes need_version=yes
;; ;;
esac esac
finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
case "$host_os" in case "$host_os" in
freebsd2* | freebsd3.[01]*) freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
shlibpath_overrides_runpath=yes shlibpath_overrides_runpath=yes
;; ;;
*) # from 3.2 on *) # from 3.2 on
@@ -1875,6 +1937,14 @@ hpux9* | hpux10* | hpux11*)
soname_spec='${libname}${release}.sl$major' soname_spec='${libname}${release}.sl$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555. # HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib' postinstall_cmds='chmod 555 $lib'
case "$host_os" in
hpux10.20*)
# TODO: Does this work for hpux-11 too?
deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
file_magic_cmd=/usr/bin/file
file_magic_test_file=/usr/lib/libc.sl
;;
esac
;; ;;
irix5* | irix6*) irix5* | irix6*)
@@ -1896,8 +1966,6 @@ irix5* | irix6*)
*-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
*) libsuff= shlibsuff= libmagic=never-match;; *) libsuff= shlibsuff= libmagic=never-match;;
esac esac
# this will be overridden with pass_all, but let us keep it just in case
deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
;; ;;
esac esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
@@ -1924,9 +1992,7 @@ linux-gnu*)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no shlibpath_overrides_runpath=no
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' deplibs_check_method=pass_all
file_magic_cmd=/usr/bin/file
file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
if test -f /lib/ld.so.1; then if test -f /lib/ld.so.1; then
dynamic_linker='GNU ld.so' dynamic_linker='GNU ld.so'
@@ -1972,7 +2038,7 @@ os2*)
shlibpath_var=LIBPATH shlibpath_var=LIBPATH
;; ;;
osf3* | osf4*) osf3* | osf4* | osf5*)
version_type=osf version_type=osf
need_version=no need_version=no
soname_spec='${libname}${release}.so' soname_spec='${libname}${release}.so'
@@ -1987,6 +2053,14 @@ osf3* | osf4*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;; ;;
rhapsody*)
version_type=sunos
library_names_spec='${libname}.so'
soname_spec='${libname}.so'
shlibpath_var=DYLD_LIBRARY_PATH
deplibs_check_method=pass_all
;;
sco3.2v5*) sco3.2v5*)
version_type=osf version_type=osf
soname_spec='${libname}${release}.so$major' soname_spec='${libname}${release}.so$major'
@@ -2027,6 +2101,10 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
soname_spec='${libname}${release}.so$major' soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
case "$host_vendor" in case "$host_vendor" in
sequent)
file_magic_cmd='/bin/file'
deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
;;
ncr) ncr)
deplibs_check_method='pass_all' deplibs_check_method='pass_all'
;; ;;
@@ -2167,7 +2245,7 @@ else
if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
lt_cv_dlopen=no lt_cv_dlopen_libs= lt_cv_dlopen=no lt_cv_dlopen_libs=
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
echo "$progname:2170: checking for dlopen in -ldl" >&5 echo "$progname:2248: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@@ -2175,17 +2253,20 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS" LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2178 "ltconfig" #line 2256 "ltconfig"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen(); char dlopen();
int main() { int main() {
dlopen() dlopen()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo $progname:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@@ -2204,18 +2285,21 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
else else
echo "$ac_t""no" 1>&6 echo "$ac_t""no" 1>&6
echo $ac_n "checking for dlopen""... $ac_c" 1>&6 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
echo "$progname:2207: checking for dlopen" >&5 echo "$progname:2288: checking for dlopen" >&5
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2212 "ltconfig" #line 2293 "ltconfig"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dlopen(); below. */ which can conflict with char dlopen(); below. */
#include <assert.h> #include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dlopen(); char dlopen();
int main() { int main() {
@@ -2231,7 +2315,7 @@ dlopen();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_dlopen=yes" eval "ac_cv_func_dlopen=yes"
else else
@@ -2248,7 +2332,7 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
else else
echo "$ac_t""no" 1>&6 echo "$ac_t""no" 1>&6
echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
echo "$progname:2251: checking for dld_link in -ldld" >&5 echo "$progname:2335: checking for dld_link in -ldld" >&5
ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@@ -2256,17 +2340,20 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS" LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2259 "ltconfig" #line 2343 "ltconfig"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char dld_link(); char dld_link();
int main() { int main() {
dld_link() dld_link()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@@ -2285,18 +2372,21 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
else else
echo "$ac_t""no" 1>&6 echo "$ac_t""no" 1>&6
echo $ac_n "checking for shl_load""... $ac_c" 1>&6 echo $ac_n "checking for shl_load""... $ac_c" 1>&6
echo "$progname:2288: checking for shl_load" >&5 echo "$progname:2375: checking for shl_load" >&5
if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2293 "ltconfig" #line 2380 "ltconfig"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shl_load(); below. */ which can conflict with char shl_load(); below. */
#include <assert.h> #include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char shl_load(); char shl_load();
int main() { int main() {
@@ -2312,7 +2402,7 @@ shl_load();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_shl_load=yes" eval "ac_cv_func_shl_load=yes"
else else
@@ -2330,7 +2420,7 @@ if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
else else
echo "$ac_t""no" 1>&6 echo "$ac_t""no" 1>&6
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
echo "$progname:2333: checking for shl_load in -ldld" >&5 echo "$progname:2423: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@@ -2338,18 +2428,21 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS" LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2341 "ltconfig" #line 2431 "ltconfig"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char shl_load(); char shl_load();
int main() { int main() {
shl_load() shl_load()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo $progname:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@@ -2392,17 +2485,17 @@ fi
for ac_hdr in dlfcn.h; do for ac_hdr in dlfcn.h; do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "$progname:2395: checking for $ac_hdr" >&5 echo "$progname:2488: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2400 "ltconfig" #line 2493 "ltconfig"
#include <$ac_hdr> #include <$ac_hdr>
int fnord = 0; int fnord = 0;
EOF EOF
ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_compile >/dev/null 2>conftest.out"
{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@@ -2430,7 +2523,7 @@ done
LIBS="$lt_cv_dlopen_libs $LIBS" LIBS="$lt_cv_dlopen_libs $LIBS"
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
echo "$progname:2433: checking whether a program can dlopen itself" >&5 echo "$progname:2526: checking whether a program can dlopen itself" >&5
if test "${lt_cv_dlopen_self+set}" = set; then if test "${lt_cv_dlopen_self+set}" = set; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@@ -2438,7 +2531,7 @@ else
lt_cv_dlopen_self=cross lt_cv_dlopen_self=cross
else else
cat > conftest.c <<EOF cat > conftest.c <<EOF
#line 2441 "ltconfig" #line 2534 "ltconfig"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
#include <dlfcn.h> #include <dlfcn.h>
@@ -2484,7 +2577,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF EOF
if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
lt_cv_dlopen_self=yes lt_cv_dlopen_self=yes
else else
@@ -2503,7 +2596,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
if test "$lt_cv_dlopen_self" = yes; then if test "$lt_cv_dlopen_self" = yes; then
LDFLAGS="$LDFLAGS $link_static_flag" LDFLAGS="$LDFLAGS $link_static_flag"
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5 echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
if test "${lt_cv_dlopen_self_static+set}" = set; then if test "${lt_cv_dlopen_self_static+set}" = set; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@@ -2511,7 +2604,7 @@ else
lt_cv_dlopen_self_static=cross lt_cv_dlopen_self_static=cross
else else
cat > conftest.c <<EOF cat > conftest.c <<EOF
#line 2514 "ltconfig" #line 2607 "ltconfig"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
#include <dlfcn.h> #include <dlfcn.h>
@@ -2557,7 +2650,7 @@ main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF EOF
if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
lt_cv_dlopen_self_static=yes lt_cv_dlopen_self_static=yes
else else
@@ -2649,7 +2742,7 @@ case "$ltmain" in
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
# #
# Copyright (C) 1996-1999 Free Software Foundation, Inc. # Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -2675,7 +2768,7 @@ Xsed="sed -e s/^X//"
# The HP-UX ksh and POSIX shell print the target directory to stdout # The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set. # if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
### BEGIN LIBTOOL CONFIG ### BEGIN LIBTOOL CONFIG
EOF EOF
@@ -2938,7 +3031,7 @@ case "$ltmain" in
# AIX sometimes has problems with the GCC collect2 program. For some # AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems # reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke. # vanish in a puff of smoke.
if test "${COLLECT_NAMES+set}" != set; then if test "X${COLLECT_NAMES+set}" != Xset; then
COLLECT_NAMES= COLLECT_NAMES=
export COLLECT_NAMES export COLLECT_NAMES
fi fi
@@ -2948,6 +3041,10 @@ EOF
# Append the ltmain.sh script. # Append the ltmain.sh script.
sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
# We use sed instead of cat because bash on DJGPP gets confused if
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
chmod +x "$ofile" chmod +x "$ofile"
;; ;;

101
ltmain.sh
View File

@@ -54,8 +54,8 @@ modename="$progname"
# Constants. # Constants.
PROGRAM=ltmain.sh PROGRAM=ltmain.sh
PACKAGE=libtool PACKAGE=libtool
VERSION=1.3.3 VERSION=1.3.5
TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
default_mode= default_mode=
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
@@ -435,7 +435,7 @@ compiler."
fbsd_hideous_sh_bug=$base_compile fbsd_hideous_sh_bug=$base_compile
# All platforms use -DPIC, to notify preprocessed assembler code. # All platforms use -DPIC, to notify preprocessed assembler code.
command="$base_compile $pic_flag -DPIC $srcfile" command="$base_compile $srcfile $pic_flag -DPIC"
if test "$build_old_libs" = yes; then if test "$build_old_libs" = yes; then
lo_libobj="$libobj" lo_libobj="$libobj"
dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
@@ -521,9 +521,17 @@ compiler."
exit $error exit $error
fi fi
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
xdir="."
else
xdir="$xdir"
fi
baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
# Now arrange that obj and lo_libobj become the same file # Now arrange that obj and lo_libobj become the same file
$show "$LN_S $obj $lo_libobj" $show "(cd $xdir && $LN_S $baseobj $libobj)"
if $run $LN_S $obj $lo_libobj; then if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
exit 0 exit 0
else else
error=$? error=$?
@@ -613,8 +621,6 @@ compiler."
# libtool link mode # libtool link mode
link) link)
modename="$modename: link" modename="$modename: link"
C_compiler="$CC" # save it, to compile generated C sources
CC="$nonopt"
case "$host" in case "$host" in
*-*-cygwin* | *-*-mingw* | *-*-os2*) *-*-cygwin* | *-*-mingw* | *-*-os2*)
# It is impossible to link a dll without this setting, and # It is impossible to link a dll without this setting, and
@@ -802,8 +808,8 @@ compiler."
allow_undefined=yes allow_undefined=yes
;; ;;
esac esac
compile_command="$CC" compile_command="$nonopt"
finalize_command="$CC" finalize_command="$nonopt"
compile_rpath= compile_rpath=
finalize_rpath= finalize_rpath=
@@ -1789,6 +1795,10 @@ compiler."
*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
# these systems don't actually have a c library (as such)! # these systems don't actually have a c library (as such)!
;; ;;
*-*-rhapsody*)
# rhapsody is a little odd...
deplibs="$deplibs -framework System"
;;
*) *)
# Add libc to deplibs on all other systems. # Add libc to deplibs on all other systems.
deplibs="$deplibs -lc" deplibs="$deplibs -lc"
@@ -1851,7 +1861,7 @@ compiler."
int main() { return 0; } int main() { return 0; }
EOF EOF
$rm conftest $rm conftest
$C_compiler -o conftest conftest.c $deplibs $CC -o conftest conftest.c $deplibs
if test $? -eq 0 ; then if test $? -eq 0 ; then
ldd_output=`ldd conftest` ldd_output=`ldd conftest`
for i in $deplibs; do for i in $deplibs; do
@@ -1884,7 +1894,7 @@ EOF
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test "$name" != "" ; then if test "$name" != "" ; then
$rm conftest $rm conftest
$C_compiler -o conftest conftest.c $i $CC -o conftest conftest.c $i
# Did it work? # Did it work?
if test $? -eq 0 ; then if test $? -eq 0 ; then
ldd_output=`ldd conftest` ldd_output=`ldd conftest`
@@ -2049,10 +2059,17 @@ EOF
# Ensure that we have .o objects for linkers which dislike .lo # Ensure that we have .o objects for linkers which dislike .lo
# (e.g. aix) in case we are running --disable-static # (e.g. aix) in case we are running --disable-static
for obj in $libobjs; do for obj in $libobjs; do
oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test ! -f $oldobj; then if test "X$xdir" = "X$obj"; then
$show "${LN_S} $obj $oldobj" xdir="."
$run ${LN_S} $obj $oldobj || exit $? else
xdir="$xdir"
fi
baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
if test ! -f $xdir/$oldobj; then
$show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
$run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
fi fi
done done
@@ -2311,8 +2328,16 @@ EOF
# Just create a symlink. # Just create a symlink.
$show $rm $libobj $show $rm $libobj
$run $rm $libobj $run $rm $libobj
$show "$LN_S $obj $libobj" xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
$run $LN_S $obj $libobj || exit $? if test "X$xdir" = "X$libobj"; then
xdir="."
else
xdir="$xdir"
fi
baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
$show "(cd $xdir && $LN_S $oldobj $baseobj)"
$run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
fi fi
if test -n "$gentop"; then if test -n "$gentop"; then
@@ -2598,16 +2623,21 @@ static const void *lt_preloaded_setup() {
# linked before any other PIC object. But we must not use # linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in # pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
*-*-freebsd2*|*-*-freebsd3.0*) *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
case "$compile_command " in case "$compile_command " in
*" -static "*) ;; *" -static "*) ;;
*) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
esac;;
*-*-hpux*)
case "$compile_command " in
*" -static "*) ;;
*) pic_flag_for_symtable=" $pic_flag -DPIC";;
esac esac
esac esac
# Now compile the dynamic symbol file. # Now compile the dynamic symbol file.
$show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
$run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
# Clean up the generated files. # Clean up the generated files.
$show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
@@ -2776,7 +2806,7 @@ sed_quote_subst='$sed_quote_subst'
# The HP-UX ksh and POSIX shell print the target directory to stdout # The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set. # if CDPATH is set.
if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
relink_command=\"$relink_command\" relink_command=\"$relink_command\"
@@ -2865,7 +2895,7 @@ else
fi" fi"
else else
echo >> $output "\ echo >> $output "\
program='$outputname$exeext' program='$outputname'
progdir=\"\$thisdir/$objdir\" progdir=\"\$thisdir/$objdir\"
" "
fi fi
@@ -2901,13 +2931,21 @@ else
# Run the actual program with our arguments. # Run the actual program with our arguments.
" "
case $host in case $host in
*-*-cygwin* | *-*-mingw | *-*-os2*)
# win32 systems need to use the prog path for dll # win32 systems need to use the prog path for dll
# lookup to work # lookup to work
*-*-cygwin*)
$echo >> $output "\
exec \$progdir/\$program \${1+\"\$@\"}
"
;;
# Backslashes separate directories on plain windows
*-*-mingw | *-*-os2*)
$echo >> $output "\ $echo >> $output "\
exec \$progdir\\\\\$program \${1+\"\$@\"} exec \$progdir\\\\\$program \${1+\"\$@\"}
" "
;; ;;
*) *)
$echo >> $output "\ $echo >> $output "\
# Export the path to the program. # Export the path to the program.
@@ -3000,9 +3038,16 @@ fi\
# static libs even though --disable-static was passed! # static libs even though --disable-static was passed!
for oldobj in $oldobjs; do for oldobj in $oldobjs; do
if test ! -f $oldobj; then if test ! -f $oldobj; then
obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"` xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
$show "${LN_S} $obj $oldobj" if test "X$xdir" = "X$oldobj"; then
$run ${LN_S} $obj $oldobj || exit $? xdir="."
else
xdir="$xdir"
fi
baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
$show "(cd $xdir && ${LN_S} $obj $baseobj)"
$run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
fi fi
done done
@@ -3672,8 +3717,10 @@ libdir='$install_libdir'\
done done
if test -z "$run"; then if test -z "$run"; then
if test -n "$shlibpath_var"; then
# Export the shlibpath_var. # Export the shlibpath_var.
eval "export $shlibpath_var" eval "export $shlibpath_var"
fi
# Restore saved enviroment variables # Restore saved enviroment variables
if test "${save_LC_ALL+set}" = set; then if test "${save_LC_ALL+set}" = set; then
@@ -3690,8 +3737,10 @@ libdir='$install_libdir'\
exit 1 exit 1
else else
# Display what would be done. # Display what would be done.
if test -n "$shlibpath_var"; then
eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
$echo "export $shlibpath_var" $echo "export $shlibpath_var"
fi
$echo "$cmd$args" $echo "$cmd$args"
exit 0 exit 0
fi fi