2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 01:49:11 +00:00

Update to libtool 2.5.3

This commit is contained in:
Todd C. Miller 2025-01-03 17:35:34 -07:00
parent e13163ce0a
commit 355c82a1d5
8 changed files with 772 additions and 761 deletions

4
aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
# generated automatically by aclocal 1.16.5 -*- Autoconf -*- # generated automatically by aclocal 1.17 -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,

611
configure vendored

File diff suppressed because it is too large Load Diff

309
m4/libtool.m4 vendored
View File

@ -1,6 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
# #
# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software # Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software
# Foundation, Inc. # Foundation, Inc.
# Written by Gordon Matzigkeit, 1996 # Written by Gordon Matzigkeit, 1996
# #
@ -9,13 +9,13 @@
# modifications, as long as this notice is preserved. # modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl m4_define([_LT_COPYING], [dnl
# Copyright (C) 2014 Free Software Foundation, Inc. # Copyright (C) 2024 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO # This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify # GNU Libtool 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
# the Free Software Foundation; either version 2 of of the License, or # the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
@ -32,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
]) ])
# serial 59 LT_INIT # serial 62 LT_INIT
# LT_PREREQ(VERSION) # LT_PREREQ(VERSION)
@ -60,7 +60,7 @@ esac
# LT_INIT([OPTIONS]) # LT_INIT([OPTIONS])
# ------------------ # ------------------
AC_DEFUN([LT_INIT], AC_DEFUN([LT_INIT],
[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK [AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl
@ -616,7 +616,7 @@ m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT # LT_OUTPUT
# --------- # ---------
# This macro allows early generation of the libtool script (before # This macro allows early generation of the libtool script (before
# AC_OUTPUT is called), incase it is used in configure for compilation # AC_OUTPUT is called), in case it is used in configure for compilation
# tests. # tests.
AC_DEFUN([LT_OUTPUT], AC_DEFUN([LT_OUTPUT],
[: ${CONFIG_LT=./config.lt} [: ${CONFIG_LT=./config.lt}
@ -651,9 +651,9 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING. configured by $[0], generated by m4_PACKAGE_STRING.
Copyright (C) 2011 Free Software Foundation, Inc. Copyright (C) 2024 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it." gives unlimited permission to copy, distribute and modify it."
while test 0 != $[#] while test 0 != $[#]
do do
@ -730,7 +730,6 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile" cat <<_LT_EOF >> "$cfgfile"
#! $SHELL #! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION # Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh. # NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services. # Provide generalized library-building support services.
@ -975,6 +974,7 @@ _lt_linker_boilerplate=`cat conftest.err`
$RM -r conftest* $RM -r conftest*
])# _LT_LINKER_BOILERPLATE ])# _LT_LINKER_BOILERPLATE
# _LT_REQUIRED_DARWIN_CHECKS # _LT_REQUIRED_DARWIN_CHECKS
# ------------------------- # -------------------------
m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
@ -1025,6 +1025,21 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
rm -f conftest.* rm -f conftest.*
fi]) fi])
# Feature test to disable chained fixups since it is not
# compatible with '-undefined dynamic_lookup'
AC_CACHE_CHECK([for -no_fixup_chains linker flag],
[lt_cv_support_no_fixup_chains],
[ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([],[])],
lt_cv_support_no_fixup_chains=yes,
lt_cv_support_no_fixup_chains=no
)
LDFLAGS=$save_LDFLAGS
]
)
AC_CACHE_CHECK([for -exported_symbols_list linker flag], AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no [lt_cv_ld_exported_symbols_list=no
@ -1049,7 +1064,7 @@ _LT_EOF
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF cat > conftest.c << _LT_EOF
int main() { return 0;} int main(void) { return 0;}
_LT_EOF _LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
@ -1074,7 +1089,11 @@ _LT_EOF
10.[[012]],*|,*powerpc*-darwin[[5-8]]*) 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
*) *)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
if test yes = "$lt_cv_support_no_fixup_chains"; then
AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains'])
fi
;;
esac esac
;; ;;
esac esac
@ -1256,7 +1275,9 @@ lt_sysroot=
case $with_sysroot in #( case $with_sysroot in #(
yes) yes)
if test yes = "$GCC"; then if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null` # Trim trailing / since we'll always append absolute paths and we want
# to avoid //, if only for less confusing output for the user.
lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
fi fi
;; #( ;; #(
/*) /*)
@ -1368,7 +1389,7 @@ mips64*-*linux*)
;; ;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*) s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
# Find out what ABI is being produced by ac_compile, and set linker # Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the # options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when # situations where additional linker options are needed (such as when
@ -1383,7 +1404,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu) x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd" LD="${LD-ld} -m elf_i386_fbsd"
;; ;;
x86_64-*linux*) x86_64-*linux*|x86_64-gnu*)
case `$FILECMD conftest.o` in case `$FILECMD conftest.o` in
*x86-64*) *x86-64*)
LD="${LD-ld} -m elf32_x86_64" LD="${LD-ld} -m elf32_x86_64"
@ -1412,7 +1433,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu) x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd" LD="${LD-ld} -m elf_x86_64_fbsd"
;; ;;
x86_64-*linux*) x86_64-*linux*|x86_64-gnu*)
LD="${LD-ld} -m elf_x86_64" LD="${LD-ld} -m elf_x86_64"
;; ;;
powerpcle-*linux*) powerpcle-*linux*)
@ -1495,7 +1516,7 @@ _LT_DECL([], [AR], [1], [The archiver])
# Use ARFLAGS variable as AR's operation code to sync the variable naming with # Use ARFLAGS variable as AR's operation code to sync the variable naming with
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
# higher priority because thats what people were doing historically (setting # higher priority because that's what people were doing historically (setting
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
# variable obsoleted/removed. # variable obsoleted/removed.
@ -1545,7 +1566,7 @@ AC_CHECK_TOOL(STRIP, strip, :)
test -z "$STRIP" && STRIP=: test -z "$STRIP" && STRIP=:
_LT_DECL([], [STRIP], [1], [A symbol stripping program]) _LT_DECL([], [STRIP], [1], [A symbol stripping program])
AC_CHECK_TOOL(RANLIB, ranlib, :) AC_REQUIRE([AC_PROG_RANLIB])
test -z "$RANLIB" && RANLIB=: test -z "$RANLIB" && RANLIB=:
_LT_DECL([], [RANLIB], [1], _LT_DECL([], [RANLIB], [1],
[Commands used to install an old-style archive]) [Commands used to install an old-style archive])
@ -1556,15 +1577,8 @@ old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds= old_postuninstall_cmds=
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
case $host_os in
bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
fi fi
case $host_os in case $host_os in
@ -1703,7 +1717,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=-1; lt_cv_sys_max_cmd_len=-1;
;; ;;
cygwin* | mingw* | cegcc*) cygwin* | mingw* | windows* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes # On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially. # about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking, # Worse, since 9x/ME are not pre-emptively multitasking,
@ -1725,7 +1739,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=8192; lt_cv_sys_max_cmd_len=8192;
;; ;;
bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further. # This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@ -1885,11 +1899,11 @@ else
/* When -fvisibility=hidden is used, assume the code has been annotated /* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */ correspondingly for the symbols needed. */
#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default"))); int fnord (void) __attribute__((visibility("default")));
#endif #endif
int fnord () { return 42; } int fnord (void) { return 42; }
int main () int main (void)
{ {
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
int status = $lt_dlunknown; int status = $lt_dlunknown;
@ -1946,7 +1960,7 @@ else
lt_cv_dlopen_self=yes lt_cv_dlopen_self=yes
;; ;;
mingw* | pw32* | cegcc*) mingw* | windows* | pw32* | cegcc*)
lt_cv_dlopen=LoadLibrary lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs= lt_cv_dlopen_libs=
;; ;;
@ -2315,7 +2329,7 @@ if test yes = "$GCC"; then
*) lt_awk_arg='/^libraries:/' ;; *) lt_awk_arg='/^libraries:/' ;;
esac esac
case $host_os in case $host_os in
mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
*) lt_sed_strip_eq='s|=/|/|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;;
esac esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
@ -2373,7 +2387,7 @@ BEGIN {RS = " "; FS = "/|\n";} {
# AWK program above erroneously prepends '/' to C:/dos/paths # AWK program above erroneously prepends '/' to C:/dos/paths
# for these hosts. # for these hosts.
case $host_os in case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
$SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
@ -2448,7 +2462,7 @@ aix[[4-9]]*)
# Unfortunately, runtime linking may impact performance, so we do # Unfortunately, runtime linking may impact performance, so we do
# not want this to be the default eventually. Also, we use the # not want this to be the default eventually. Also, we use the
# versioned .so libs for executables only if there is the -brtl # versioned .so libs for executables only if there is the -brtl
# linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only.
# To allow for filename-based versioning support, we need to create # To allow for filename-based versioning support, we need to create
# libNAME.so.V as an archive file, containing: # libNAME.so.V as an archive file, containing:
# *) an Import File, referring to the versioned filename of the # *) an Import File, referring to the versioned filename of the
@ -2542,7 +2556,7 @@ bsdi[[45]]*)
# libtool to hard-code these into programs # libtool to hard-code these into programs
;; ;;
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
version_type=windows version_type=windows
shrext_cmds=.dll shrext_cmds=.dll
need_version=no need_version=no
@ -2553,6 +2567,19 @@ cygwin* | mingw* | pw32* | cegcc*)
# gcc # gcc
library_names_spec='$libname.dll.a' library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds # DLL is installed to $(libdir)/../bin by postinstall_cmds
# If user builds GCC with mulitlibs enabled,
# it should just install on $(libdir)
# not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
if test yes = $multilib; then
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
$install_prog $dir/$dlname $destdir/$dlname~
chmod a+x $destdir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
fi'
else
postinstall_cmds='base_file=`basename \$file`~ postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~ dldir=$destdir/`dirname \$dlpath`~
@ -2562,6 +2589,7 @@ cygwin* | mingw* | pw32* | cegcc*)
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi' fi'
fi
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~ dlpath=$dir/\$dldll~
$RM \$dlpath' $RM \$dlpath'
@ -2574,7 +2602,7 @@ cygwin* | mingw* | pw32* | cegcc*)
m4_if([$1], [],[ m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;; ;;
mingw* | cegcc*) mingw* | windows* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix # MinGW DLLs use traditional 'lib' prefix
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;; ;;
@ -2593,7 +2621,7 @@ m4_if([$1], [],[
library_names_spec='$libname.dll.lib' library_names_spec='$libname.dll.lib'
case $build_os in case $build_os in
mingw*) mingw* | windows*)
sys_lib_search_path_spec= sys_lib_search_path_spec=
lt_save_ifs=$IFS lt_save_ifs=$IFS
IFS=';' IFS=';'
@ -2700,7 +2728,21 @@ freebsd* | dragonfly* | midnightbsd*)
need_version=yes need_version=yes
;; ;;
esac esac
shlibpath_var=LD_LIBRARY_PATH case $host_cpu in
powerpc64)
# On FreeBSD bi-arch platforms, a different variable is used for 32-bit
# binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>.
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
[[int test_pointer_size[sizeof (void *) - 5];
]])],
[shlibpath_var=LD_LIBRARY_PATH],
[shlibpath_var=LD_32_LIBRARY_PATH])
;;
*)
shlibpath_var=LD_LIBRARY_PATH
;;
esac
case $host_os in case $host_os in
freebsd2.*) freebsd2.*)
shlibpath_overrides_runpath=yes shlibpath_overrides_runpath=yes
@ -2841,7 +2883,7 @@ linux*android*)
version_type=none # Android doesn't support versioned libraries. version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
library_names_spec='$libname$release$shared_ext' library_names_spec='$libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext'
finish_cmds= finish_cmds=
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
@ -2853,8 +2895,9 @@ linux*android*)
hardcode_into_libs=yes hardcode_into_libs=yes
dynamic_linker='Android linker' dynamic_linker='Android linker'
# Don't embed -rpath directories since the linker doesn't support them. # -rpath works at least for libraries that are not overridden by
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' # libraries installed in system locations.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;; ;;
# This must be glibc/ELF. # This must be glibc/ELF.
@ -2888,7 +2931,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
# before this can be enabled. # before this can be enabled.
hardcode_into_libs=yes hardcode_into_libs=yes
# Ideally, we could use ldconfig to report *all* directores which are # Ideally, we could use ldconfig to report *all* directories which are
# searched for libraries, however this is still not possible. Aside from not # searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command # being certain /sbin/ldconfig is available, command
# 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
@ -2945,7 +2988,7 @@ newsos6)
dynamic_linker='ldqnx.so' dynamic_linker='ldqnx.so'
;; ;;
openbsd* | bitrig*) openbsd*)
version_type=sunos version_type=sunos
sys_lib_dlsearch_path_spec=/usr/lib sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no need_lib_prefix=no
@ -3277,7 +3320,7 @@ if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC]) AC_MSG_CHECKING([for ld used by $CC])
case $host in case $host in
*-*-mingw*) *-*-mingw* | *-*-windows*)
# gcc leaves a trailing carriage return, which upsets mingw # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*) *)
@ -3386,7 +3429,7 @@ case $reload_flag in
esac esac
reload_cmds='$LD$reload_flag -o $output$reload_objs' reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in case $host_os in
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
if test yes != "$GCC"; then if test yes != "$GCC"; then
reload_cmds=false reload_cmds=false
fi fi
@ -3458,7 +3501,6 @@ lt_cv_deplibs_check_method='unknown'
# 'none' -- dependencies not supported. # 'none' -- dependencies not supported.
# 'unknown' -- same as none, but documents that we really don't know. # 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks. # 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path # 'file_magic [[regex]]' -- check by looking for files in library path
# that responds to the $file_magic_cmd with a given extended regex. # that responds to the $file_magic_cmd with a given extended regex.
# If you have 'file' or equivalent on your system and you're not sure # If you have 'file' or equivalent on your system and you're not sure
@ -3485,7 +3527,7 @@ cygwin*)
lt_cv_file_magic_cmd='func_win32_libid' lt_cv_file_magic_cmd='func_win32_libid'
;; ;;
mingw* | pw32*) mingw* | windows* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by # Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump', # func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling. # unless we find 'file', for example because we are cross-compiling.
@ -3494,7 +3536,7 @@ mingw* | pw32*)
lt_cv_file_magic_cmd='func_win32_libid' lt_cv_file_magic_cmd='func_win32_libid'
else else
# Keep this pattern in sync with the one in func_win32_libid. # Keep this pattern in sync with the one in func_win32_libid.
lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)'
lt_cv_file_magic_cmd='$OBJDUMP -f' lt_cv_file_magic_cmd='$OBJDUMP -f'
fi fi
;; ;;
@ -3571,7 +3613,7 @@ newos6*)
lt_cv_deplibs_check_method=pass_all lt_cv_deplibs_check_method=pass_all
;; ;;
openbsd* | bitrig*) openbsd*)
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else else
@ -3635,7 +3677,7 @@ file_magic_glob=
want_nocaseglob=no want_nocaseglob=no
if test "$build" = "$host"; then if test "$build" = "$host"; then
case $host_os in case $host_os in
mingw* | pw32*) mingw* | windows* | pw32*)
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
want_nocaseglob=yes want_nocaseglob=yes
else else
@ -3687,7 +3729,7 @@ else
# Tru64's nm complains that /dev/null is an invalid object file # Tru64's nm complains that /dev/null is an invalid object file
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
case $build_os in case $build_os in
mingw*) lt_bad_file=conftest.nm/nofile ;; mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;; *) lt_bad_file=/dev/null ;;
esac esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
@ -3778,7 +3820,7 @@ lt_cv_sharedlib_from_linklib_cmd,
[lt_cv_sharedlib_from_linklib_cmd='unknown' [lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in case $host_os in
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
# two different shell functions defined in ltmain.sh; # two different shell functions defined in ltmain.sh;
# decide which one to use based on capabilities of $DLLTOOL # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in case `$DLLTOOL --help 2>&1` in
@ -3810,16 +3852,16 @@ _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
m4_defun([_LT_PATH_MANIFEST_TOOL], m4_defun([_LT_PATH_MANIFEST_TOOL],
[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool],
[lt_cv_path_mainfest_tool=no [lt_cv_path_manifest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
cat conftest.err >&AS_MESSAGE_LOG_FD cat conftest.err >&AS_MESSAGE_LOG_FD
if $GREP 'Manifest Tool' conftest.out > /dev/null; then if $GREP 'Manifest Tool' conftest.out > /dev/null; then
lt_cv_path_mainfest_tool=yes lt_cv_path_manifest_tool=yes
fi fi
rm -f conftest*]) rm -f conftest*])
if test yes != "$lt_cv_path_mainfest_tool"; then if test yes != "$lt_cv_path_manifest_tool"; then
MANIFEST_TOOL=: MANIFEST_TOOL=:
fi fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
@ -3848,7 +3890,7 @@ AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl [AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM= LIBM=
case $host in case $host in
*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it # These system don't have libm, or don't need it
;; ;;
*-ncr-sysv4.3*) *-ncr-sysv4.3*)
@ -3923,7 +3965,7 @@ case $host_os in
aix*) aix*)
symcode='[[BCDT]]' symcode='[[BCDT]]'
;; ;;
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]' symcode='[[ABCDGISTW]]'
;; ;;
hpux*) hpux*)
@ -3938,7 +3980,7 @@ osf*)
symcode='[[BCDEGQRST]]' symcode='[[BCDEGQRST]]'
;; ;;
solaris*) solaris*)
symcode='[[BDRT]]' symcode='[[BCDRT]]'
;; ;;
sco3.2v5*) sco3.2v5*)
symcode='[[DT]]' symcode='[[DT]]'
@ -4002,7 +4044,7 @@ $lt_c_name_lib_hook\
# Handle CRLF in mingw tool chain # Handle CRLF in mingw tool chain
opt_cr= opt_cr=
case $build_os in case $build_os in
mingw*) mingw* | windows*)
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;; ;;
esac esac
@ -4053,7 +4095,7 @@ void nm_test_func(void){}
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
int main(){nm_test_var='a';nm_test_func();return(0);} int main(void){nm_test_var='a';nm_test_func();return(0);}
_LT_EOF _LT_EOF
if AC_TRY_EVAL(ac_compile); then if AC_TRY_EVAL(ac_compile); then
@ -4229,7 +4271,7 @@ m4_if([$1], [CXX], [
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes. # PIC is the default for these OSes.
;; ;;
mingw* | cygwin* | os2* | pw32* | cegcc*) mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being # This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example). # built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style # Although the cygwin gcc ignores -fPIC, still need this for old-style
@ -4305,7 +4347,7 @@ m4_if([$1], [CXX], [
;; ;;
esac esac
;; ;;
mingw* | cygwin* | os2* | pw32* | cegcc*) mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being # This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example). # built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [], m4_if([$1], [GCJ], [],
@ -4553,7 +4595,7 @@ m4_if([$1], [CXX], [
# PIC is the default for these OSes. # PIC is the default for these OSes.
;; ;;
mingw* | cygwin* | pw32* | os2* | cegcc*) mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being # This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example). # built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style # Although the cygwin gcc ignores -fPIC, still need this for old-style
@ -4657,7 +4699,7 @@ m4_if([$1], [CXX], [
esac esac
;; ;;
mingw* | cygwin* | pw32* | os2* | cegcc*) mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being # This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example). # built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [], m4_if([$1], [GCJ], [],
@ -4699,6 +4741,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;; ;;
*flang* | ftn)
# Flang compiler.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
# icc used to be incompatible with GCC. # icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more. # ICC 10 doesn't accept -KPIC any more.
icc* | ifort*) icc* | ifort*)
@ -4932,7 +4980,7 @@ m4_if([$1], [CXX], [
pw32*) pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;; ;;
cygwin* | mingw* | cegcc*) cygwin* | mingw* | windows* | cegcc*)
case $cc_basename in case $cc_basename in
cl* | icl*) cl* | icl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
@ -4992,7 +5040,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds= extract_expsyms_cmds=
case $host_os in case $host_os in
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using # When not using gcc, we currently assume that we are using
# Microsoft Visual C++ or Intel C++ Compiler. # Microsoft Visual C++ or Intel C++ Compiler.
@ -5004,7 +5052,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes with_gnu_ld=yes
;; ;;
openbsd* | bitrig*) openbsd*)
with_gnu_ld=no with_gnu_ld=no
;; ;;
esac esac
@ -5107,7 +5155,7 @@ _LT_EOF
fi fi
;; ;;
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs. # as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@ -5163,7 +5211,7 @@ _LT_EOF
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def' emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@' _LT_TAGVAR(file_list_spec, $1)='@'
;; ;;
@ -5564,7 +5612,7 @@ _LT_EOF
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;; ;;
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using # When not using gcc, we currently assume that we are using
# Microsoft Visual C++ or Intel C++ Compiler. # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is # hardcode_libdir_flag_spec is actually meaningless, as there is
@ -5581,14 +5629,14 @@ _LT_EOF
# Tell ltmain to make .dll files, not .so files. # Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack. # FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_cmds, $1)='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp "$export_symbols" "$output_objdir/$soname.def"; cp "$export_symbols" "$output_objdir/$soname.def";
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
else else
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
fi~ fi~
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ $CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
linknames=' linknames='
# The linker will not automatically build a static lib if we build a DLL. # The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
@ -5873,7 +5921,7 @@ _LT_EOF
*nto* | *qnx*) *nto* | *qnx*)
;; ;;
openbsd* | bitrig*) openbsd*)
if test -f /usr/libexec/ld.so; then if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -5916,7 +5964,7 @@ _LT_EOF
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def' emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@' _LT_TAGVAR(file_list_spec, $1)='@'
;; ;;
@ -6210,7 +6258,7 @@ _LT_TAGDECL([], [hardcode_direct], [0],
_LT_TAGDECL([], [hardcode_direct_absolute], [0], _LT_TAGDECL([], [hardcode_direct_absolute], [0],
[Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is DIR into the resulting binary and the resulting library dependency is
"absolute", i.e impossible to change by setting $shlibpath_var if the "absolute", i.e. impossible to change by setting $shlibpath_var if the
library is relocated]) library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0], _LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@ -6272,7 +6320,7 @@ _LT_TAGVAR(objext, $1)=$objext
lt_simple_compile_test_code="int some_variable = 0;" lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests # Code to be used in simple link tests
lt_simple_link_test_code='int main(){return(0);}' lt_simple_link_test_code='int main(void){return(0);}'
_LT_TAG_COMPILER _LT_TAG_COMPILER
# Save the default compiler, since it gets overwritten when the other # Save the default compiler, since it gets overwritten when the other
@ -6463,8 +6511,7 @@ if test yes != "$_lt_caught_CXX_error"; then
wlarc='$wl' wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al. # ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" | if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
$GREP 'no-whole-archive' > /dev/null; then
_LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else else
_LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)=
@ -6484,7 +6531,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists # Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when # what "hidden" libraries, object files and flags are used when
# linking a shared library. # linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
else else
GXX=no GXX=no
@ -6693,7 +6740,7 @@ if test yes != "$_lt_caught_CXX_error"; then
esac esac
;; ;;
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
case $GXX,$cc_basename in case $GXX,$cc_basename in
,cl* | no,cl* | ,icl* | no,icl*) ,cl* | no,cl* | ,icl* | no,icl*)
# Native MSVC or ICC # Native MSVC or ICC
@ -6792,7 +6839,7 @@ if test yes != "$_lt_caught_CXX_error"; then
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def' emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@' _LT_TAGVAR(file_list_spec, $1)='@'
;; ;;
@ -6860,7 +6907,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them # explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library # from the output so that they don't get included in the library
# dependencies. # dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;; ;;
*) *)
if test yes = "$GXX"; then if test yes = "$GXX"; then
@ -6940,7 +6987,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them # explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library # from the output so that they don't get included in the library
# dependencies. # dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;; ;;
*) *)
if test yes = "$GXX"; then if test yes = "$GXX"; then
@ -7188,7 +7235,7 @@ if test yes != "$_lt_caught_CXX_error"; then
_LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(ld_shlibs, $1)=yes
;; ;;
openbsd* | bitrig*) openbsd*)
if test -f /usr/libexec/ld.so; then if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -7279,7 +7326,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists # Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when # what "hidden" libraries, object files and flags are used when
# linking a shared library. # linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
else else
# FIXME: insert proper C++ library support # FIXME: insert proper C++ library support
@ -7363,7 +7410,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists # Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when # what "hidden" libraries, object files and flags are used when
# linking a shared library. # linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
else else
# g++ 2.7 appears to require '-G' NOT '-shared' on this # g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform. # platform.
@ -7374,7 +7421,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists # Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when # what "hidden" libraries, object files and flags are used when
# linking a shared library. # linking a shared library.
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
fi fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
@ -7612,10 +7659,11 @@ if AC_TRY_EVAL(ac_compile); then
case $prev$p in case $prev$p in
-L* | -R* | -l*) -L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path. # Some compilers place space between "-{L,R,l}" and the path.
# Remove the space. # Remove the space.
if test x-L = "$p" || if test x-L = x"$p" ||
test x-R = "$p"; then test x-R = x"$p" ||
test x-l = x"$p"; then
prev=$p prev=$p
continue continue
fi fi
@ -7752,6 +7800,8 @@ _LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec, $1)= _LT_TAGVAR(fix_hardcoded_libdir_flag_spec, $1)=
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec_ld, $1)= _LT_TAGVAR(fix_hardcoded_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec, $1)=
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)=
@ -8275,7 +8325,7 @@ AC_SUBST([DLLTOOL])
# ---------------- # ----------------
# Check for a file(cmd) program that can be used to detect file type and magic # Check for a file(cmd) program that can be used to detect file type and magic
m4_defun([_LT_DECL_FILECMD], m4_defun([_LT_DECL_FILECMD],
[AC_CHECK_TOOL([FILECMD], [file], [:]) [AC_CHECK_PROG([FILECMD], [file], [file], [:])
_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
])# _LD_DECL_FILECMD ])# _LD_DECL_FILECMD
@ -8291,73 +8341,6 @@ _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
[Sed that helps us avoid accidentally triggering echo(1) options like -n]) [Sed that helps us avoid accidentally triggering echo(1) options like -n])
])# _LT_DECL_SED ])# _LT_DECL_SED
m4_ifndef([AC_PROG_SED], [
############################################################
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
# macro and use it instead. #
############################################################
m4_defun([AC_PROG_SED],
[AC_MSG_CHECKING([for a sed that does not truncate output])
AC_CACHE_VAL(lt_cv_path_SED,
[# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
test ! -f "$lt_ac_sed" && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
# Check for GNU sed and select it if it is found.
if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
lt_cv_path_SED=$lt_ac_sed
break
fi
while true; do
cat conftest.in conftest.in >conftest.tmp
mv conftest.tmp conftest.in
cp conftest.in conftest.nl
echo >>conftest.nl
$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
cmp -s conftest.out conftest.nl || break
# 10000 chars as input seems more than enough
test 10 -lt "$lt_ac_count" && break
lt_ac_count=`expr $lt_ac_count + 1`
if test "$lt_ac_count" -gt "$lt_ac_max"; then
lt_ac_max=$lt_ac_count
lt_cv_path_SED=$lt_ac_sed
fi
done
done
])
SED=$lt_cv_path_SED
AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])#AC_PROG_SED
])#m4_ifndef
# Old name:
AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
dnl aclocal-1.4 backwards compatibility: dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_SED], []) dnl AC_DEFUN([LT_AC_PROG_SED], [])
@ -8404,7 +8387,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd,
[case $host in [case $host in
*-*-mingw* ) *-*-mingw* )
case $build in case $build in
*-*-mingw* ) # actually msys *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
;; ;;
*-*-cygwin* ) *-*-cygwin* )
@ -8417,7 +8400,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd,
;; ;;
*-*-cygwin* ) *-*-cygwin* )
case $build in case $build in
*-*-mingw* ) # actually msys *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
;; ;;
*-*-cygwin* ) *-*-cygwin* )
@ -8443,9 +8426,9 @@ AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
[#assume ordinary cross tools, or native build. [#assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in case $host in
*-*-mingw* ) *-*-mingw* | *-*-windows* )
case $build in case $build in
*-*-mingw* ) # actually msys *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
;; ;;
esac esac

106
m4/ltoptions.m4 vendored
View File

@ -1,6 +1,6 @@
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
# #
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free # Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
# Software Foundation, Inc. # Software Foundation, Inc.
# Written by Gary V. Vaughan, 2004 # Written by Gary V. Vaughan, 2004
# #
@ -8,7 +8,7 @@
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved. # modifications, as long as this notice is preserved.
# serial 8 ltoptions.m4 # serial 10 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define. # This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@ -128,7 +128,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes [enable_win32_dll=yes
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false) AC_CHECK_TOOL(OBJDUMP, objdump, false)
@ -323,29 +323,39 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
# _LT_WITH_AIX_SONAME([DEFAULT]) # _LT_WITH_AIX_SONAME([DEFAULT])
# ---------------------------------- # ----------------------------------
# implement the --with-aix-soname flag, and support the `aix-soname=aix' # implement the --enable-aix-soname configure option, and support the
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. # DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
m4_define([_LT_WITH_AIX_SONAME], m4_define([_LT_WITH_AIX_SONAME],
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
shared_archive_member_spec= shared_archive_member_spec=
case $host,$enable_shared in case $host,$enable_shared in
power*-*-aix[[5-9]]*,yes) power*-*-aix[[5-9]]*,yes)
AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_MSG_CHECKING([which variant of shared library versioning to provide])
AC_ARG_WITH([aix-soname], AC_ARG_ENABLE([aix-soname],
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
[case $withval in [case $enableval in
aix|svr4|both) aix|svr4|both)
;; ;;
*) *)
AC_MSG_ERROR([Unknown argument to --with-aix-soname]) AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
;; ;;
esac esac
lt_cv_with_aix_soname=$with_aix_soname], lt_cv_with_aix_soname=$enable_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname], [_AC_ENABLE_IF([with], [aix-soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) [case $withval in
with_aix_soname=$lt_cv_with_aix_soname]) aix|svr4|both)
;;
*)
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
;;
esac
lt_cv_with_aix_soname=$with_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
enable_aix_soname=$lt_cv_with_aix_soname])
with_aix_soname=$enable_aix_soname
AC_MSG_RESULT([$with_aix_soname]) AC_MSG_RESULT([$with_aix_soname])
if test aix != "$with_aix_soname"; then if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member # For the AIX way of multilib, we name the shared archive member
@ -376,30 +386,50 @@ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
# _LT_WITH_PIC([MODE]) # _LT_WITH_PIC([MODE])
# -------------------- # --------------------
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options. # LT_INIT options.
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC], m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic], [AC_ARG_ENABLE([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
[lt_p=${PACKAGE-default} [lt_p=${PACKAGE-default}
case $withval in case $enableval in
yes|no) pic_mode=$withval ;; yes|no) pic_mode=$enableval ;;
*) *)
pic_mode=default pic_mode=default
# Look at the argument we got. We use all the common list separators. # Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do for lt_pkg in $enableval; do
IFS=$lt_save_ifs IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes pic_mode=yes
fi fi
done done
IFS=$lt_save_ifs IFS=$lt_save_ifs
;; ;;
esac], esac],
[pic_mode=m4_default([$1], [default])]) [dnl Continue to support --with-pic and --without-pic, for backward
dnl compatibility.
_AC_ENABLE_IF([with], [pic],
[lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[pic_mode=m4_default([$1], [default])])]
)
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC ])# _LT_WITH_PIC

2
m4/ltsugar.m4 vendored
View File

@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
# #
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software
# Foundation, Inc. # Foundation, Inc.
# Written by Gary V. Vaughan, 2004 # Written by Gary V. Vaughan, 2004
# #

12
m4/ltversion.m4 vendored
View File

@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*- # ltversion.m4 -- version numbers -*- Autoconf -*-
# #
# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, # Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation,
# Inc. # Inc.
# Written by Scott James Remnant, 2004 # Written by Scott James Remnant, 2004
# #
@ -10,15 +10,15 @@
# @configure_input@ # @configure_input@
# serial 4245 ltversion.m4 # serial 4392 ltversion.m4
# This file is part of GNU Libtool # This file is part of GNU Libtool
m4_define([LT_PACKAGE_VERSION], [2.4.7]) m4_define([LT_PACKAGE_VERSION], [2.5.3])
m4_define([LT_PACKAGE_REVISION], [2.4.7]) m4_define([LT_PACKAGE_REVISION], [2.5.3])
AC_DEFUN([LTVERSION_VERSION], AC_DEFUN([LTVERSION_VERSION],
[macro_version='2.4.7' [macro_version='2.5.3'
macro_revision='2.4.7' macro_revision='2.5.3'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0) _LT_DECL(, macro_revision, 0)
]) ])

2
m4/lt~obsolete.m4 vendored
View File

@ -1,6 +1,6 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
# #
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free # Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2024 Free
# Software Foundation, Inc. # Software Foundation, Inc.
# Written by Scott James Remnant, 2004. # Written by Scott James Remnant, 2004.
# #

View File

@ -2,11 +2,11 @@
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
## by inline-source v2019-02-19.15 ## by inline-source v2019-02-19.15
# libtool (GNU libtool) 2.4.7 # libtool (GNU libtool) 2.5.3
# Provide generalized library-building support services. # Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # Copyright (C) 1996-2019, 2021-2024 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO # This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@ -31,8 +31,8 @@
PROGRAM=libtool PROGRAM=libtool
PACKAGE=libtool PACKAGE=libtool
VERSION=2.4.7 VERSION=2.5.3
package_revision=2.4.7 package_revision=2.5.3
## ------ ## ## ------ ##
@ -72,11 +72,11 @@ scriptversion=2019-02-19.15; # UTC
# This is free software. There is NO warranty; not even for # This is free software. There is NO warranty; not even for
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# #
# Copyright (C) 2004-2019, 2021 Bootstrap Authors # Copyright (C) 2004-2019, 2021, 2023-2024 Bootstrap Authors
# #
# This file is dual licensed under the terms of the MIT license # This file is dual licensed under the terms of the MIT license
# <https://opensource.org/license/MIT>, and GPL version 2 or later # <https://opensource.org/licenses/MIT>, and GPL version 2 or later
# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of # <https://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
# these licenses when using or redistributing this software or any of # these licenses when using or redistributing this software or any of
# the files within it. See the URLs above, or the file `LICENSE` # the files within it. See the URLs above, or the file `LICENSE`
# included in the Bootstrap distribution for the full license texts. # included in the Bootstrap distribution for the full license texts.
@ -143,7 +143,7 @@ nl='
' '
IFS="$sp $nl" IFS="$sp $nl"
# There are apparently some retarded systems that use ';' as a PATH separator! # There are apparently some systems that use ';' as a PATH separator!
if test "${PATH_SEPARATOR+set}" != set; then if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=: PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
@ -1536,11 +1536,11 @@ func_lt_ver ()
# This is free software. There is NO warranty; not even for # This is free software. There is NO warranty; not even for
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# #
# Copyright (C) 2010-2019, 2021 Bootstrap Authors # Copyright (C) 2010-2019, 2021, 2023-2024 Bootstrap Authors
# #
# This file is dual licensed under the terms of the MIT license # This file is dual licensed under the terms of the MIT license
# <https://opensource.org/license/MIT>, and GPL version 2 or later # <https://opensource.org/licenses/MIT>, and GPL version 2 or later
# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of # <https://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
# these licenses when using or redistributing this software or any of # these licenses when using or redistributing this software or any of
# the files within it. See the URLs above, or the file `LICENSE` # the files within it. See the URLs above, or the file `LICENSE`
# included in the Bootstrap distribution for the full license texts. # included in the Bootstrap distribution for the full license texts.
@ -2215,7 +2215,7 @@ func_version ()
# End: # End:
# Set a version string. # Set a version string.
scriptversion='(GNU libtool) 2.4.7' scriptversion='(GNU libtool) 2.5.3'
# func_echo ARG... # func_echo ARG...
@ -2306,13 +2306,13 @@ include the following information:
compiler: $LTCC compiler: $LTCC
compiler flags: $LTCFLAGS compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld) linker: $LD (gnu? $with_gnu_ld)
version: $progname (GNU libtool) 2.4.7 version: $progname (GNU libtool) 2.5.3
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to <bug-libtool@gnu.org>. Report bugs to <bug-libtool@gnu.org>.
GNU libtool home page: <https://www.gnu.org/software/libtool/>. GNU libtool home page: <https://www.gnu.org/software/libtool/>.
General help using GNU software: <http://www.gnu.org/gethelp/>." General help using GNU software: <https://www.gnu.org/gethelp/>."
exit 0 exit 0
} }
@ -2668,10 +2668,10 @@ libtool_validate_options ()
# preserve --debug # preserve --debug
test : = "$debug_cmd" || func_append preserve_args " --debug" test : = "$debug_cmd" || func_append preserve_args " --debug"
case $host in case $host_os in
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
*cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) cygwin* | mingw* | windows* | pw32* | cegcc* | solaris2* | os2*)
# don't eliminate duplications in $postdeps and $predeps # don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=: opt_duplicate_compiler_generated_deps=:
;; ;;
@ -3003,7 +3003,7 @@ EOF
# func_convert_core_file_wine_to_w32 ARG # func_convert_core_file_wine_to_w32 ARG
# Helper function used by file name conversion functions when $build is *nix, # Helper function used by file name conversion functions when $build is *nix,
# and $host is mingw, cygwin, or some other w32 environment. Relies on a # and $host is mingw, windows, cygwin, or some other w32 environment. Relies on a
# correctly configured wine environment available, with the winepath program # correctly configured wine environment available, with the winepath program
# in $build's $PATH. # in $build's $PATH.
# #
@ -3035,9 +3035,10 @@ func_convert_core_file_wine_to_w32 ()
# func_convert_core_path_wine_to_w32 ARG # func_convert_core_path_wine_to_w32 ARG
# Helper function used by path conversion functions when $build is *nix, and # Helper function used by path conversion functions when $build is *nix, and
# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # $host is mingw, windows, cygwin, or some other w32 environment. Relies on a
# configured wine environment available, with the winepath program in $build's # correctly configured wine environment available, with the winepath program
# $PATH. Assumes ARG has no leading or trailing path separator characters. # in $build's $PATH. Assumes ARG has no leading or trailing path separator
# characters.
# #
# ARG is path to be converted from $build format to win32. # ARG is path to be converted from $build format to win32.
# Result is available in $func_convert_core_path_wine_to_w32_result. # Result is available in $func_convert_core_path_wine_to_w32_result.
@ -3692,7 +3693,7 @@ func_mode_compile ()
# On Cygwin there's no "real" PIC flag so we must build both object types # On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in case $host_os in
cygwin* | mingw* | pw32* | os2* | cegcc*) cygwin* | mingw* | windows* | pw32* | os2* | cegcc*)
pic_mode=default pic_mode=default
;; ;;
esac esac
@ -4569,7 +4570,7 @@ func_mode_install ()
'exit $?' 'exit $?'
tstripme=$stripme tstripme=$stripme
case $host_os in case $host_os in
cygwin* | mingw* | pw32* | cegcc*) cygwin* | mingw* | windows* | pw32* | cegcc*)
case $realname in case $realname in
*.dll.a) *.dll.a)
tstripme= tstripme=
@ -4682,7 +4683,7 @@ func_mode_install ()
# Do a test to see if this is really a libtool program. # Do a test to see if this is really a libtool program.
case $host in case $host in
*cygwin* | *mingw*) *cygwin* | *mingw* | *windows*)
if func_ltwrapper_executable_p "$file"; then if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file" func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result wrapper=$func_ltwrapper_scriptname_result
@ -4910,7 +4911,7 @@ extern \"C\" {
$RM $export_symbols $RM $export_symbols
eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in case $host in
*cygwin* | *mingw* | *cegcc* ) *cygwin* | *mingw* | *windows* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
;; ;;
@ -4922,7 +4923,7 @@ extern \"C\" {
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"' eval '$MV "$nlist"T "$nlist"'
case $host in case $host in
*cygwin* | *mingw* | *cegcc* ) *cygwin* | *mingw* | *windows* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;; ;;
@ -4936,7 +4937,7 @@ extern \"C\" {
func_basename "$dlprefile" func_basename "$dlprefile"
name=$func_basename_result name=$func_basename_result
case $host in case $host in
*cygwin* | *mingw* | *cegcc* ) *cygwin* | *mingw* | *windows* | *cegcc* )
# if an import library, we need to obtain dlname # if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile" func_tr_sh "$dlprefile"
@ -4962,8 +4963,16 @@ extern \"C\" {
eval '$ECHO ": $name " >> "$nlist"' eval '$ECHO ": $name " >> "$nlist"'
fi fi
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | case $host in
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" i[3456]86-*-mingw32*)
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
;;
*)
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/__nm_//' >> '$nlist'"
;;
esac
} }
else # not an import lib else # not an import lib
$opt_dry_run || { $opt_dry_run || {
@ -5111,7 +5120,7 @@ static const void *lt_preloaded_setup() {
# Transform the symbol file into the correct name. # Transform the symbol file into the correct name.
symfileobj=$output_objdir/${my_outputname}S.$objext symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in case $host in
*cygwin* | *mingw* | *cegcc* ) *cygwin* | *mingw* | *windows* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then if test -f "$output_objdir/$my_outputname.def"; then
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
@ -5187,7 +5196,7 @@ func_win32_libid ()
*ar\ archive*) # could be an import, or static *ar\ archive*) # could be an import, or static
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' >/dev/null; then
case $nm_interface in case $nm_interface in
"MS dumpbin") "MS dumpbin")
if func_cygming_ms_implib_p "$1" || if func_cygming_ms_implib_p "$1" ||
@ -5454,7 +5463,7 @@ func_extract_archives ()
# #
# Emit a libtool wrapper script on stdout. # Emit a libtool wrapper script on stdout.
# Don't directly open a file because we may want to # Don't directly open a file because we may want to
# incorporate the script contents within a cygwin/mingw # incorporate the script contents within a cygwin/mingw/windows
# wrapper executable. Must ONLY be called from within # wrapper executable. Must ONLY be called from within
# func_mode_link because it depends on a number of variables # func_mode_link because it depends on a number of variables
# set therein. # set therein.
@ -5462,7 +5471,7 @@ func_extract_archives ()
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script # variable will take. If 'yes', then the emitted script
# will assume that the directory where it is stored is # will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific # the $objdir directory. This is a cygwin/mingw/windows-specific
# behavior. # behavior.
func_emit_wrapper () func_emit_wrapper ()
{ {
@ -5587,7 +5596,7 @@ func_exec_program_core ()
" "
case $host in case $host in
# Backslashes separate directories on plain windows # Backslashes separate directories on plain windows
*-*-mingw | *-*-os2* | *-cegcc*) *-*-mingw* | *-*-windows* | *-*-os2* | *-cegcc*)
$ECHO "\ $ECHO "\
if test -n \"\$lt_option_debug\"; then if test -n \"\$lt_option_debug\"; then
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
@ -5655,7 +5664,7 @@ func_exec_program ()
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
done done
# Usually 'no', except on cygwin/mingw when embedded into # Usually 'no', except on cygwin/mingw/windows when embedded into
# the cwrapper. # the cwrapper.
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
@ -5787,7 +5796,7 @@ EOF
#endif #endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#ifdef _MSC_VER #if defined _WIN32 && !defined __GNUC__
# include <direct.h> # include <direct.h>
# include <process.h> # include <process.h>
# include <io.h> # include <io.h>
@ -5812,7 +5821,7 @@ EOF
/* declarations of non-ANSI functions */ /* declarations of non-ANSI functions */
#if defined __MINGW32__ #if defined __MINGW32__
# ifdef __STRICT_ANSI__ # ifdef __STRICT_ANSI__
int _putenv (const char *); _CRTIMP int __cdecl _putenv (const char *);
# endif # endif
#elif defined __CYGWIN__ #elif defined __CYGWIN__
# ifdef __STRICT_ANSI__ # ifdef __STRICT_ANSI__
@ -6010,7 +6019,7 @@ main (int argc, char *argv[])
{ {
EOF EOF
case $host in case $host in
*mingw* | *cygwin* ) *mingw* | *windows* | *cygwin* )
# make stdout use "unix" line endings # make stdout use "unix" line endings
echo " setmode(1,_O_BINARY);" echo " setmode(1,_O_BINARY);"
;; ;;
@ -6029,7 +6038,7 @@ EOF
{ {
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
namespace, but it is not one of the ones we know about and namespace, but it is not one of the ones we know about and
have already dealt with, above (inluding dump-script), then have already dealt with, above (including dump-script), then
report an error. Otherwise, targets might begin to believe report an error. Otherwise, targets might begin to believe
they are allowed to use options in the LTWRAPPER_OPTION_PREFIX they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
namespace. The first time any user complains about this, we'll namespace. The first time any user complains about this, we'll
@ -6113,7 +6122,7 @@ EOF
EOF EOF
case $host_os in case $host_os in
mingw*) mingw* | windows*)
cat <<"EOF" cat <<"EOF"
{ {
char* p; char* p;
@ -6155,7 +6164,7 @@ EOF
EOF EOF
case $host_os in case $host_os in
mingw*) mingw* | windows*)
cat <<"EOF" cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */ /* execv doesn't actually work on mingw as expected on unix */
newargz = prepare_spawn (newargz); newargz = prepare_spawn (newargz);
@ -6574,7 +6583,7 @@ lt_update_lib_path (const char *name, const char *value)
EOF EOF
case $host_os in case $host_os in
mingw*) mingw* | windows*)
cat <<"EOF" cat <<"EOF"
/* Prepares an argument vector before calling spawn(). /* Prepares an argument vector before calling spawn().
@ -6749,7 +6758,7 @@ func_mode_link ()
$debug_cmd $debug_cmd
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and # It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out # we shouldn't force the makefile maintainer to figure out
# what system we are compiling for in order to pass an extra # what system we are compiling for in order to pass an extra
@ -6815,10 +6824,12 @@ func_mode_link ()
xrpath= xrpath=
perm_rpath= perm_rpath=
temp_rpath= temp_rpath=
temp_rpath_tail=
thread_safe=no thread_safe=no
vinfo= vinfo=
vinfo_number=no vinfo_number=no
weak_libs= weak_libs=
rpath_arg=
single_module=$wl-single_module single_module=$wl-single_module
func_infer_tag $base_compile func_infer_tag $base_compile
@ -7081,7 +7092,7 @@ func_mode_link ()
case $arg in case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;; [\\/]* | [A-Za-z]:[\\/]*) ;;
*) *)
func_fatal_error "only absolute run-paths are allowed" func_fatal_error "argument to -rpath is not absolute: $arg"
;; ;;
esac esac
if test rpath = "$prev"; then if test rpath = "$prev"; then
@ -7257,7 +7268,7 @@ func_mode_link ()
;; ;;
esac esac
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in case :$dllsearchpath: in
*":$dir:"*) ;; *":$dir:"*) ;;
@ -7277,7 +7288,7 @@ func_mode_link ()
-l*) -l*)
if test X-lc = "X$arg" || test X-lm = "X$arg"; then if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such) # These systems don't actually have a C or math library (as such)
continue continue
;; ;;
@ -7285,7 +7296,7 @@ func_mode_link ()
# These systems don't actually have a C library (as such) # These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue test X-lc = "X$arg" && continue
;; ;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r. # Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue test X-lc = "X$arg" && continue
;; ;;
@ -7305,7 +7316,7 @@ func_mode_link ()
esac esac
elif test X-lc_r = "X$arg"; then elif test X-lc_r = "X$arg"; then
case $host in case $host in
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
# Do not include libc_r directly, use -pthread flag. # Do not include libc_r directly, use -pthread flag.
continue continue
;; ;;
@ -7349,7 +7360,7 @@ func_mode_link ()
continue continue
;; ;;
-mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) |-threads|-fopenmp|-fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg" func_append compiler_flags " $arg"
func_append compile_command " $arg" func_append compile_command " $arg"
func_append finalize_command " $arg" func_append finalize_command " $arg"
@ -7372,7 +7383,7 @@ func_mode_link ()
-no-install) -no-install)
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows # The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs. # and Darwin in order for the loader to find any dlls it needs.
func_warning "'-no-install' is ignored for $host" func_warning "'-no-install' is ignored for $host"
@ -7432,7 +7443,7 @@ func_mode_link ()
dir=$lt_sysroot$func_stripname_result dir=$lt_sysroot$func_stripname_result
;; ;;
*) *)
func_fatal_error "only absolute run-paths are allowed" func_fatal_error "argument ($arg) to '-R' is not an absolute path: $dir"
;; ;;
esac esac
case "$xrpath " in case "$xrpath " in
@ -7557,13 +7568,29 @@ func_mode_link ()
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -specs=* GCC specs files # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang # -stdlib=* select c++ std lib with clang
# -fdiagnostics-color* simply affects output
# -frecord-gcc-switches used to verify flags were respected
# -fsanitize=* Clang/GCC memory and address sanitizer # -fsanitize=* Clang/GCC memory and address sanitizer
# -fno-sanitize* Clang/GCC memory and address sanitizer
# -shared-libsan Link with shared sanitizer runtimes (Clang)
# -static-libsan Link with static sanitizer runtimes (Clang)
# -no-canonical-prefixes Do not expand any symbolic links
# -fuse-ld=* Linker select flags for GCC # -fuse-ld=* Linker select flags for GCC
# -static-* direct GCC to link specific libraries statically
# -fcilkplus Cilk Plus language extension features for C/C++
# -rtlib=* select c runtime lib with clang
# --unwindlib=* select unwinder library with clang
# -f{file|debug|macro|profile}-prefix-map=* needed for lto linking
# -Wa,* Pass flags directly to the assembler # -Wa,* Pass flags directly to the assembler
# -Werror, -Werror=* Report (specified) warnings as errors
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-no-canonical-prefixes| \
-specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) -stdlib=*|-rtlib=*|--unwindlib=*| \
-specs=*|-fsanitize=*|-fno-sanitize*|-shared-libsan|-static-libsan| \
-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*| \
-fdiagnostics-color*|-frecord-gcc-switches| \
-fuse-ld=*|-static-*|-fcilkplus|-Wa,*|-Werror|-Werror=*)
func_quote_arg pretty "$arg" func_quote_arg pretty "$arg"
arg=$func_quote_arg_result arg=$func_quote_arg_result
func_append compile_command " $arg" func_append compile_command " $arg"
@ -7721,8 +7748,20 @@ func_mode_link ()
# Now actually substitute the argument into the commands. # Now actually substitute the argument into the commands.
if test -n "$arg"; then if test -n "$arg"; then
func_append compile_command " $arg" if test -n "$rpath_arg"; then
func_append finalize_command " $arg" func_append finalize_rpath " ${arg##*,}"
unset rpath_arg
else
case $arg in
-Wl,-rpath,*)
func_append finalize_rpath " ${arg##*,}";;
-Wl,-rpath)
rpath_arg=1;;
*)
func_append compile_command " $arg"
func_append finalize_command " $arg"
esac
fi
fi fi
done # argument parsing loop done # argument parsing loop
@ -7893,7 +7932,7 @@ func_mode_link ()
found=false found=false
case $deplib in case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) |-threads|-fopenmp|-fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test prog,link = "$linkmode,$pass"; then if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs" compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs" finalize_deplibs="$deplib $finalize_deplibs"
@ -8070,18 +8109,15 @@ func_mode_link ()
;; ;;
esac esac
if $valid_a_lib; then if $valid_a_lib; then
echo func_warning "Linking the shared library $output against the static library $deplib is not portable!"
$ECHO "*** Warning: Linking the shared library $output against the"
$ECHO "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs" deplibs="$deplib $deplibs"
else else
echo func_warning "Trying to link with static lib archive $deplib."
$ECHO "*** Warning: Trying to link with static lib archive $deplib." func_warning "I have the capability to make that library automatically link in when"
echo "*** I have the capability to make that library automatically link in when" func_warning "you link to this library. But I can only do this if you have a"
echo "*** you link to this library. But I can only do this if you have a" func_warning "shared version of the library, which you do not appear to have"
echo "*** shared version of the library, which you do not appear to have" func_warning "because the file extensions .$libext of this argument makes me believe"
echo "*** because the file extensions .$libext of this argument makes me believe" func_warning "that it is just a static archive that I should not use here."
echo "*** that it is just a static archive that I should not use here."
fi fi
;; ;;
esac esac
@ -8276,7 +8312,7 @@ func_mode_link ()
fi fi
case $host in case $host in
# special handling for platforms with PE-DLLs. # special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* ) *cygwin* | *mingw* | *windows* | *cegcc* )
# Linker will automatically link against shared library if both # Linker will automatically link against shared library if both
# static and shared are present. Therefore, ensure we extract # static and shared are present. Therefore, ensure we extract
# symbols from the import library if a shared library is present # symbols from the import library if a shared library is present
@ -8376,7 +8412,10 @@ func_mode_link ()
# Make sure the rpath contains only unique directories. # Make sure the rpath contains only unique directories.
case $temp_rpath: in case $temp_rpath: in
*"$absdir:"*) ;; *"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;; *) case $absdir in
"$progdir/"*) func_append temp_rpath "$absdir:" ;;
*) func_append temp_rpath_tail "$absdir:" ;;
esac
esac esac
fi fi
@ -8388,7 +8427,9 @@ func_mode_link ()
*) *)
case "$compile_rpath " in case "$compile_rpath " in
*" $absdir "*) ;; *" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;; *) case $absdir in
"$progdir/"*) func_append compile_rpath " $absdir" ;;
esac
esac esac
;; ;;
esac esac
@ -8419,8 +8460,8 @@ func_mode_link ()
fi fi
if test -n "$library_names" && if test -n "$library_names" &&
{ test no = "$use_static_libs" || test -z "$old_library"; }; then { test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in case $host_os in
*cygwin* | *mingw* | *cegcc* | *os2*) cygwin* | mingw* | windows* | cegcc* | os2*)
# No point in relinking DLLs because paths are not encoded # No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib" func_append notinst_deplibs " $lib"
need_relink=no need_relink=no
@ -8446,11 +8487,11 @@ func_mode_link ()
if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo echo
if test prog = "$linkmode"; then if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module" func_warning "Linking the executable $output against the loadable module"
else else
$ECHO "*** Warning: Linking the shared library $output against the loadable module" func_warning "Linking the shared library $output against the loadable module"
fi fi
$ECHO "*** $linklib is not portable!" func_warning "$linklib is not portable!"
fi fi
if test lib = "$linkmode" && if test lib = "$linkmode" &&
test yes = "$hardcode_into_libs"; then test yes = "$hardcode_into_libs"; then
@ -8462,7 +8503,9 @@ func_mode_link ()
*) *)
case "$compile_rpath " in case "$compile_rpath " in
*" $absdir "*) ;; *" $absdir "*) ;;
*) func_append compile_rpath " $absdir" ;; *) case $absdir in
"$progdir/"*) func_append compile_rpath " $absdir" ;;
esac
esac esac
;; ;;
esac esac
@ -8489,8 +8532,8 @@ func_mode_link ()
soname=$dlname soname=$dlname
elif test -n "$soname_spec"; then elif test -n "$soname_spec"; then
# bleh windows # bleh windows
case $host in case $host_os in
*cygwin* | mingw* | *cegcc* | *os2*) cygwin* | mingw* | windows* | cegcc* | os2*)
func_arith $current - $age func_arith $current - $age
major=$func_arith_result major=$func_arith_result
versuffix=-$major versuffix=-$major
@ -8545,11 +8588,10 @@ func_mode_link ()
if /usr/bin/file -L $add 2> /dev/null | if /usr/bin/file -L $add 2> /dev/null |
$GREP ": [^:]* bundle" >/dev/null; then $GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library" func_warning "lib $linklib is a module, not a shared library"
if test -z "$old_library"; then if test -z "$old_library"; then
echo func_warning "And there doesn't seem to be a static archive available"
echo "*** And there doesn't seem to be a static archive available" func_warning "The link will probably fail, sorry"
echo "*** The link will probably fail, sorry"
else else
add=$dir/$old_library add=$dir/$old_library
fi fi
@ -8641,7 +8683,7 @@ func_mode_link ()
test no = "$hardcode_direct_absolute"; then test no = "$hardcode_direct_absolute"; then
add=$libdir/$linklib add=$libdir/$linklib
elif test yes = "$hardcode_minus_L"; then elif test yes = "$hardcode_minus_L"; then
add_dir=-L$libdir add_dir=-L$lt_sysroot$libdir
add=-l$name add=-l$name
if test -n "$inst_prefix_dir" && if test -n "$inst_prefix_dir" &&
test -f "$inst_prefix_dir$libdir/$linklib" && test -f "$inst_prefix_dir$libdir/$linklib" &&
@ -8667,7 +8709,7 @@ func_mode_link ()
fi fi
else else
# We cannot seem to hardcode it, guess we'll fake it. # We cannot seem to hardcode it, guess we'll fake it.
add_dir=-L$libdir add_dir=-L$lt_sysroot$libdir
# Try looking first in the location we're being installed to. # Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then if test -n "$inst_prefix_dir"; then
case $libdir in case $libdir in
@ -8707,21 +8749,19 @@ func_mode_link ()
# Just print a warning and add the library to dependency_libs so # Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library. # that the program can be linked against the static library.
echo func_warning "This system cannot link to static lib archive $lib."
$ECHO "*** Warning: This system cannot link to static lib archive $lib." func_warning "I have the capability to make that library automatically link in when"
echo "*** I have the capability to make that library automatically link in when" func_warning "you link to this library. But I can only do this if you have a"
echo "*** you link to this library. But I can only do this if you have a" func_warning "shared version of the library, which you do not appear to have."
echo "*** shared version of the library, which you do not appear to have."
if test yes = "$module"; then if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create " func_warning "But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application" func_warning "a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime." func_warning "is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then if test -z "$global_symbol_pipe"; then
echo func_warning "However, this would only work if libtool was able to extract symbol"
echo "*** However, this would only work if libtool was able to extract symbol" func_warning "lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could" func_warning "not find such a program. So, this module is probably useless."
echo "*** not find such a program. So, this module is probably useless." func_warning "'nm' from GNU binutils and a full rebuild may help."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi fi
if test no = "$build_old_libs"; then if test no = "$build_old_libs"; then
build_libtool_libs=module build_libtool_libs=module
@ -8844,6 +8884,8 @@ func_mode_link ()
fi # link_all_deplibs != no fi # link_all_deplibs != no
fi # linkmode = lib fi # linkmode = lib
done # for deplib in $libs done # for deplib in $libs
func_append temp_rpath "$temp_rpath_tail"
if test link = "$pass"; then if test link = "$pass"; then
if test prog = "$linkmode"; then if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs" compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
@ -8881,42 +8923,46 @@ func_mode_link ()
# Add libraries to $var in reverse order # Add libraries to $var in reverse order
eval tmp_libs=\"\$$var\" eval tmp_libs=\"\$$var\"
new_libs= new_libs=
# FIXME: Pedantically, this is the right thing to do, so
# that some nasty dependency loop isn't accidentally
# broken: new_libs="$deplib $new_libs"
for deplib in $tmp_libs; do for deplib in $tmp_libs; do
# FIXME: Pedantically, this is the right thing to do, so if $opt_preserve_dup_deps; then
# that some nasty dependency loop isn't accidentally new_libs="$deplib $new_libs"
# broken: else
#new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in
# Pragmatically, this seems to cause very few problems in # practice:
# practice: case $deplib in
case $deplib in -L*) new_libs="$deplib $new_libs" ;;
-L*) new_libs="$deplib $new_libs" ;; -R*) ;;
-R*) ;;
*)
# And here is the reason: when a library appears more
# than once as an explicit dependence of a library, or
# is implicitly linked in more than once by the
# compiler, it is considered special, and multiple
# occurrences thereof are not removed. Compare this
# with having the same library being listed as a
# dependency of multiple other libraries: in this case,
# we know (pedantically, we assume) the library does not
# need to be listed more than once, so we keep only the
# last copy. This is not always right, but it is rare
# enough that we require users that really mean to play
# such unportable linking tricks to link the library
# using -Wl,-lname, so that libtool does not consider it
# for duplicate removal.
case " $specialdeplibs " in
*" $deplib "*) new_libs="$deplib $new_libs" ;;
*) *)
case " $new_libs " in # And here is the reason: when a library appears more
*" $deplib "*) ;; # than once as an explicit dependence of a library, or
*) new_libs="$deplib $new_libs" ;; # is implicitly linked in more than once by the
esac # compiler, it is considered special, and multiple
;; # occurrences thereof are not removed. Compare this
# with having the same library being listed as a
# dependency of multiple other libraries: in this case,
# we know (pedantically, we assume) the library does not
# need to be listed more than once, so we keep only the
# last copy. This is not always right, but it is rare
# enough that we require users that really mean to play
# such unportable linking tricks to link the library
# using -Wl,-lname, so that libtool does not consider it
# for duplicate removal. And if not possible for portability
# reasons, then --preserve-dup-deps should be used.
case " $specialdeplibs " in
*" $deplib "*) new_libs="$deplib $new_libs" ;;
*)
case " $new_libs " in
*" $deplib "*) ;;
*) new_libs="$deplib $new_libs" ;;
esac
;;
esac
;;
esac esac
;; fi
esac
done done
tmp_libs= tmp_libs=
for deplib in $new_libs; do for deplib in $new_libs; do
@ -9045,9 +9091,7 @@ func_mode_link ()
if test pass_all != "$deplibs_check_method"; then if test pass_all != "$deplibs_check_method"; then
func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else else
echo func_warning "Linking the shared library $output against the non-libtool objects $objs is not portable!"
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
$ECHO "*** objects $objs is not portable!"
func_append libobjs " $objs" func_append libobjs " $objs"
fi fi
fi fi
@ -9108,13 +9152,13 @@ func_mode_link ()
# #
case $version_type in case $version_type in
# correct linux to gnu/linux during the next big refactor # correct linux to gnu/linux during the next big refactor
darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) darwin|freebsd-elf|linux|midnightbsd-elf|osf|qnx|windows|none)
func_arith $number_major + $number_minor func_arith $number_major + $number_minor
current=$func_arith_result current=$func_arith_result
age=$number_minor age=$number_minor
revision=$number_revision revision=$number_revision
;; ;;
freebsd-aout|qnx|sco|sunos) freebsd-aout|sco|sunos)
current=$number_major current=$number_major
revision=$number_minor revision=$number_minor
age=0 age=0
@ -9261,8 +9305,9 @@ func_mode_link ()
;; ;;
qnx) qnx)
major=.$current func_arith $current - $age
versuffix=.$current major=.$func_arith_result
versuffix=$major.$age.$revision
;; ;;
sco) sco)
@ -9415,7 +9460,7 @@ func_mode_link ()
if test yes = "$build_libtool_libs"; then if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then if test -n "$rpath"; then
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)! # these systems don't actually have a c library (as such)!
;; ;;
*-*-rhapsody* | *-*-darwin1.[012]) *-*-rhapsody* | *-*-darwin1.[012])
@ -9466,108 +9511,6 @@ func_mode_link ()
# implementing what was already the behavior. # implementing what was already the behavior.
newdeplibs=$deplibs newdeplibs=$deplibs
;; ;;
test_compile)
# This code stresses the "libraries are programs" paradigm to its
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
$opt_dry_run || $RM conftest.c
cat > conftest.c <<EOF
int main() { return 0; }
EOF
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
case $i in
-l*)
func_stripname -l '' "$i"
name=$func_stripname_result
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
i=
;;
esac
fi
if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which I believe you do not have"
echo "*** because a test_compile did reveal that the linker did not use it for"
echo "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
;;
*)
func_append newdeplibs " $i"
;;
esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
case $i in
-l*)
func_stripname -l '' "$i"
name=$func_stripname_result
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
i=
;;
esac
fi
if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because a test_compile did reveal that the linker did not use this one"
echo "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
echo
$ECHO "*** Warning! Library $i is needed by this library but I was not able to"
echo "*** make it link in! You will probably need to install it or some"
echo "*** library that it depends on before this library will be fully"
echo "*** functional. Installing it before continuing would be even better."
fi
;;
*)
func_append newdeplibs " $i"
;;
esac
done
fi
;;
file_magic*) file_magic*)
set dummy $deplibs_check_method; shift set dummy $deplibs_check_method; shift
file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
@ -9631,17 +9574,16 @@ EOF
fi fi
if test -n "$a_deplib"; then if test -n "$a_deplib"; then
droppeddeps=yes droppeddeps=yes
echo func_warning "Linker path does not have real file for library $a_deplib."
$ECHO "*** Warning: linker path does not have real file for library $a_deplib." func_warning "I have the capability to make that library automatically link in when"
echo "*** I have the capability to make that library automatically link in when" func_warning "you link to this library. But I can only do this if you have a"
echo "*** you link to this library. But I can only do this if you have a" func_warning "shared version of the library, which you do not appear to have"
echo "*** shared version of the library, which you do not appear to have" func_warning "because I did check the linker path looking for a file starting"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)" func_warning "with $libname but no candidates were found. (...for file magic test)"
else else
$ECHO "*** with $libname and none of the candidates passed a file format test" func_warning "with $libname and none of the candidates passed a file format test"
$ECHO "*** using a file magic. Last file checked: $potlib" func_warning "using a file magic. Last file checked: $potlib"
fi fi
fi fi
;; ;;
@ -9685,17 +9627,16 @@ EOF
fi fi
if test -n "$a_deplib"; then if test -n "$a_deplib"; then
droppeddeps=yes droppeddeps=yes
echo func_warning "Linker path does not have real file for library $a_deplib."
$ECHO "*** Warning: linker path does not have real file for library $a_deplib." func_warning "I have the capability to make that library automatically link in when"
echo "*** I have the capability to make that library automatically link in when" func_warning "you link to this library. But I can only do this if you have a"
echo "*** you link to this library. But I can only do this if you have a" func_warning "shared version of the library, which you do not appear to have"
echo "*** shared version of the library, which you do not appear to have" func_warning "because I did check the linker path looking for a file starting"
echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib"; then if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" func_warning "with $libname but no candidates were found. (...for regex pattern test)"
else else
$ECHO "*** with $libname and none of the candidates passed a file format test" func_warning "with $libname and none of the candidates passed a file format test"
$ECHO "*** using a regex pattern. Last file checked: $potlib" func_warning "using a regex pattern. Last file checked: $potlib"
fi fi
fi fi
;; ;;
@ -9719,11 +9660,11 @@ EOF
*[!\ \ ]*) *[!\ \ ]*)
echo echo
if test none = "$deplibs_check_method"; then if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform." func_warning "Inter-library dependencies are not supported in this platform."
else else
echo "*** Warning: inter-library dependencies are not known to be supported." func_warning "Inter-library dependencies are not known to be supported."
fi fi
echo "*** All declared inter-library dependencies are being dropped." func_warning "All declared inter-library dependencies are being dropped."
droppeddeps=yes droppeddeps=yes
;; ;;
esac esac
@ -9744,17 +9685,15 @@ EOF
if test yes = "$droppeddeps"; then if test yes = "$droppeddeps"; then
if test yes = "$module"; then if test yes = "$module"; then
echo func_warning "libtool could not satisfy all declared inter-library"
echo "*** Warning: libtool could not satisfy all declared inter-library" func_warning "dependencies of module $libname. Therefore, libtool will create"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create" func_warning "a static module, that should work as long as the dlopening"
echo "*** a static module, that should work as long as the dlopening" func_warning "application is linked with the -dlopen flag."
echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then if test -z "$global_symbol_pipe"; then
echo func_warning "However, this would only work if libtool was able to extract symbol"
echo "*** However, this would only work if libtool was able to extract symbol" func_warning "lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** lists from a program, using 'nm' or equivalent, but libtool could" func_warning "not find such a program. So, this module is probably useless."
echo "*** not find such a program. So, this module is probably useless." func_warning "'nm' from GNU binutils and a full rebuild may help."
echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi fi
if test no = "$build_old_libs"; then if test no = "$build_old_libs"; then
oldlibs=$output_objdir/$libname.$libext oldlibs=$output_objdir/$libname.$libext
@ -9929,7 +9868,7 @@ EOF
orig_export_symbols= orig_export_symbols=
case $host_os in case $host_os in
cygwin* | mingw* | cegcc*) cygwin* | mingw* | windows* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile # exporting using user supplied symfile
func_dll_def_p "$export_symbols" || { func_dll_def_p "$export_symbols" || {
@ -10599,7 +10538,7 @@ EOF
esac esac
fi fi
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in case :$dllsearchpath: in
*":$libdir:"*) ;; *":$libdir:"*) ;;
@ -10677,7 +10616,7 @@ EOF
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
wrappers_required=false wrappers_required=false
;; ;;
*cygwin* | *mingw* ) *cygwin* | *mingw* | *windows* )
test yes = "$build_libtool_libs" || wrappers_required=false test yes = "$build_libtool_libs" || wrappers_required=false
;; ;;
*) *)
@ -10831,7 +10770,7 @@ EOF
*) exeext= ;; *) exeext= ;;
esac esac
case $host in case $host in
*cygwin* | *mingw* ) *cygwin* | *mingw* | windows* )
func_dirname_and_basename "$output" "" "." func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result output_name=$func_basename_result
output_path=$func_dirname_result output_path=$func_dirname_result
@ -11165,7 +11104,7 @@ EOF
# tests/bindir.at for full details. # tests/bindir.at for full details.
tdlname=$dlname tdlname=$dlname
case $host,$output,$installed,$module,$dlname in case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *windows*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there. # If a -bindir argument was supplied, place the dll there.
if test -n "$bindir"; then if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir" func_relative_path "$install_libdir" "$bindir"