2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-02 07:35:26 +00:00

1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2

This commit is contained in:
Mark Andrews
2001-09-20 02:30:14 +00:00
parent 822cd79080
commit 0bd1b2fbfe
3 changed files with 441 additions and 225 deletions

View File

@@ -1,3 +1,5 @@
1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2
1007. [port] config.guess, config.sub from autoconf-2.52 1007. [port] config.guess, config.sub from autoconf-2.52
1006. [bug] If a KEY RR was found missing during DNSSEC validation, 1006. [bug] If a KEY RR was found missing during DNSSEC validation,

386
libtool.m4 vendored
View File

@@ -23,6 +23,7 @@
## the same distribution terms that you use for the rest of that program. ## the same distribution terms that you use for the rest of that program.
# serial 46 AC_PROG_LIBTOOL # serial 46 AC_PROG_LIBTOOL
AC_DEFUN([AC_PROG_LIBTOOL], AC_DEFUN([AC_PROG_LIBTOOL],
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
@@ -148,9 +149,30 @@ _LT_AC_LTCONFIG_HACK
]) ])
# AC_LIBTOOL_HEADER_ASSERT
# ------------------------
AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
[AC_CACHE_CHECK([whether $CC supports assert without backlinking],
[lt_cv_func_assert_works],
[case $host in
*-*-solaris*)
if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
case `$CC --version 2>/dev/null` in
[[12]].*) lt_cv_func_assert_works=no ;;
*) lt_cv_func_assert_works=yes ;;
esac
fi
;;
esac])
if test "x$lt_cv_func_assert_works" = xyes; then
AC_CHECK_HEADERS(assert.h)
fi
])# AC_LIBTOOL_HEADER_ASSERT
# _LT_AC_CHECK_DLFCN # _LT_AC_CHECK_DLFCN
# -------------------- # --------------------
AC_DEFUN(_LT_AC_CHECK_DLFCN, AC_DEFUN([_LT_AC_CHECK_DLFCN],
[AC_CHECK_HEADERS(dlfcn.h) [AC_CHECK_HEADERS(dlfcn.h)
])# _LT_AC_CHECK_DLFCN ])# _LT_AC_CHECK_DLFCN
@@ -168,10 +190,10 @@ AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl
# [They come from Ultrix. What could be older than Ultrix?!! ;)] # [They come from Ultrix. What could be older than Ultrix?!! ;)]
# Character class describing NM global symbol codes. # Character class describing NM global symbol codes.
[symcode='[BCDEGRST]'] symcode='[[BCDEGRST]]'
# Regexp to match symbols that can be accessed directly from C. # Regexp to match symbols that can be accessed directly from C.
[sympat='\([_A-Za-z][_A-Za-z0-9]*\)'] sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
# Transform the above into a raw symbol and a C symbol. # Transform the above into a raw symbol and a C symbol.
symxfrm='\1 \2\3 \3' symxfrm='\1 \2\3 \3'
@@ -179,25 +201,29 @@ symxfrm='\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration # Transform an extracted symbol line into a proper C declaration
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
# Define system-specific variables. # Define system-specific variables.
case $host_os in case $host_os in
aix*) aix*)
[symcode='[BCDT]'] symcode='[[BCDT]]'
;; ;;
cygwin* | mingw* | pw32*) cygwin* | mingw* | pw32*)
[symcode='[ABCDGISTW]'] symcode='[[ABCDGISTW]]'
;; ;;
hpux*) # Its linker distinguishes data from code symbols hpux*) # Its linker distinguishes data from code symbols
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;; ;;
irix*) irix*)
[symcode='[BCDEGRST]'] symcode='[[BCDEGRST]]'
;; ;;
solaris* | sysv5*) solaris* | sysv5*)
[symcode='[BDT]'] symcode='[[BDT]]'
;; ;;
sysv4) sysv4)
[symcode='[DFNSTU]'] symcode='[[DFNSTU]]'
;; ;;
esac esac
@@ -211,14 +237,14 @@ esac
# If we're using GNU nm, then use its standard symbol codes. # If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
[symcode='[ABCDGISTW]'] symcode='[[ABCDGISTW]]'
fi fi
# Try without a prefix undercore, then with it. # Try without a prefix undercore, then with it.
for ac_symprfx in "" "_"; do for ac_symprfx in "" "_"; do
# Write the raw and C identifiers. # Write the raw and C identifiers.
[lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"] lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
# Check to see that the pipe works correctly. # Check to see that the pipe works correctly.
pipe_works=no pipe_works=no
@@ -260,23 +286,23 @@ EOF
cat <<EOF >> conftest.$ac_ext cat <<EOF >> conftest.$ac_ext
#if defined (__STDC__) && __STDC__ #if defined (__STDC__) && __STDC__
# define lt_ptr_t void * # define lt_ptr void *
#else #else
# define lt_ptr_t char * # define lt_ptr char *
# define const # define const
#endif #endif
/* The mapping between symbol names and symbols. */ /* The mapping between symbol names and symbols. */
const struct { const struct {
const char *name; const char *name;
lt_ptr_t address; lt_ptr address;
} }
[lt_preloaded_symbols[] =] lt_preloaded_symbols[[]] =
{ {
EOF EOF
sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
cat <<\EOF >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext
{0, (lt_ptr_t) 0} {0, (lt_ptr) 0}
}; };
#ifdef __cplusplus #ifdef __cplusplus
@@ -320,10 +346,13 @@ done
global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
if test -z "$lt_cv_sys_global_symbol_pipe"; then if test -z "$lt_cv_sys_global_symbol_pipe"; then
global_symbol_to_cdecl= global_symbol_to_cdecl=
global_symbol_to_c_name_address=
else else
global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
fi fi
if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
then
AC_MSG_RESULT(failed) AC_MSG_RESULT(failed)
else else
AC_MSG_RESULT(ok) AC_MSG_RESULT(ok)
@@ -341,13 +370,14 @@ if test "X${PATH_SEPARATOR+set}" != Xset; then
*-DOS) lt_cv_sys_path_separator=';' ;; *-DOS) lt_cv_sys_path_separator=';' ;;
*) lt_cv_sys_path_separator=':' ;; *) lt_cv_sys_path_separator=':' ;;
esac esac
PATH_SEPARATOR=$lt_cv_sys_path_separator
fi fi
])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR ])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_PROG_ECHO_BACKSLASH
# -------------------------- # --------------------------
# Add some code to the start of the generated configure script which # Add some code to the start of the generated configure script which
# will find an echo command which doesn;t interpret backslashes. # will find an echo command which doesn't interpret backslashes.
AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
[AC_DIVERT_PUSH(NOTICE)]) [AC_DIVERT_PUSH(NOTICE)])
@@ -416,7 +446,7 @@ else
# #
# So, first we look for a working echo in the user's PATH. # So, first we look for a working echo in the user's PATH.
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for dir in $PATH /usr/ucb; do for dir in $PATH /usr/ucb; do
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
@@ -505,7 +535,7 @@ AC_DIVERT_POP
# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
# ------------------------------------------------------------------ # ------------------------------------------------------------------
AC_DEFUN(_LT_AC_TRY_DLOPEN_SELF, AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
[if test "$cross_compiling" = yes; then : [if test "$cross_compiling" = yes; then :
[$4] [$4]
else else
@@ -592,7 +622,7 @@ rm -fr conftest*
# AC_LIBTOOL_DLOPEN_SELF # AC_LIBTOOL_DLOPEN_SELF
# ------------------- # -------------------
AC_DEFUN(AC_LIBTOOL_DLOPEN_SELF, AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
[if test "x$enable_dlopen" != xyes; then [if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown enable_dlopen=unknown
enable_dlopen_self=unknown enable_dlopen_self=unknown
@@ -614,17 +644,23 @@ else
;; ;;
*) *)
AC_CHECK_LIB(dl, dlopen, [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], AC_CHECK_FUNC([shl_load],
[AC_CHECK_FUNC(dlopen, lt_cv_dlopen="dlopen", [lt_cv_dlopen="shl_load"],
[AC_CHECK_FUNC(shl_load, lt_cv_dlopen="shl_load", [AC_CHECK_LIB([dld], [shl_load],
[AC_CHECK_LIB(svld, dlopen, [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
[AC_CHECK_FUNC([dlopen],
[lt_cv_dlopen="dlopen"],
[AC_CHECK_LIB([dl], [dlopen],
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
[AC_CHECK_LIB([svld], [dlopen],
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
[AC_CHECK_LIB(dld, shl_load, [AC_CHECK_LIB([dld], [dld_link],
[lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
]) ])
]) ])
]) ])
]) ])
])
;; ;;
esac esac
@@ -686,10 +722,10 @@ AC_DEFUN([_LT_AC_LTCONFIG_HACK],
# Sed substitution that helps us do robust quoting. It backslashifies # Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings. # metacharacters that are still active within double-quoted strings.
Xsed='sed -e s/^X//' Xsed='sed -e s/^X//'
[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
# Same as above, but do not quote variable references. # Same as above, but do not quote variable references.
[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a # Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string. # double_quote_subst'ed string.
@@ -758,8 +794,15 @@ old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds= old_postuninstall_cmds=
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" case $host_os in
openbsd*)
old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
;;
*)
old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
fi fi
# Allow CC to be a program name with arguments. # Allow CC to be a program name with arguments.
@@ -813,7 +856,7 @@ AC_CACHE_VAL(lt_cv_prog_cc_pic,
# libC (AIX C++ library), which obviously doesn't included in libraries # libC (AIX C++ library), which obviously doesn't included in libraries
# list by gcc. This cause undefined symbols with -static flags. # list by gcc. This cause undefined symbols with -static flags.
# This hack allows C programs to be linked with "-static -ldl", but # This hack allows C programs to be linked with "-static -ldl", but
# we not sure about C++ programs. # not sure about C++ programs.
lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
;; ;;
amigaos*) amigaos*)
@@ -848,11 +891,11 @@ AC_CACHE_VAL(lt_cv_prog_cc_pic,
# PORTME Check for PIC flags for the system compiler. # PORTME Check for PIC flags for the system compiler.
case $host_os in case $host_os in
aix3* | aix4* | aix5*) aix3* | aix4* | aix5*)
lt_cv_prog_cc_wl='-Wl,'
# All AIX code is PIC. # All AIX code is PIC.
if test "$host_cpu" = ia64; then if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor # AIX 5 now supports IA64 processor
lt_cv_prog_cc_static='-Bstatic' lt_cv_prog_cc_static='-Bstatic'
lt_cv_prog_cc_wl='-Wl,'
else else
lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
fi fi
@@ -981,7 +1024,7 @@ fi
# Check for any special shared library compilation flags. # Check for any special shared library compilation flags.
if test -n "$lt_cv_prog_cc_shlib"; then if test -n "$lt_cv_prog_cc_shlib"; then
AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
if echo "$old_CC $old_CFLAGS " | [egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]"] >/dev/null; then : if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then :
else else
AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
lt_cv_prog_cc_can_build_shared=no lt_cv_prog_cc_can_build_shared=no
@@ -1063,6 +1106,8 @@ if test x"$compiler_c_o" = x"yes"; then
lt_cv_compiler_o_lo=no lt_cv_compiler_o_lo=no
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -c -o conftest.lo" CFLAGS="$CFLAGS -c -o conftest.lo"
save_objext="$ac_objext"
ac_objext=lo
AC_TRY_COMPILE([], [int some_variable = 0;], [dnl AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings # So say no if there are warnings
@@ -1072,10 +1117,11 @@ if test x"$compiler_c_o" = x"yes"; then
lt_cv_compiler_o_lo=yes lt_cv_compiler_o_lo=yes
fi fi
]) ])
ac_objext="$save_objext"
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
]) ])
compiler_o_lo=$lt_cv_compiler_o_lo compiler_o_lo=$lt_cv_compiler_o_lo
AC_MSG_RESULT([$compiler_c_lo]) AC_MSG_RESULT([$compiler_o_lo])
else else
compiler_o_lo=no compiler_o_lo=no
fi fi
@@ -1180,7 +1226,7 @@ exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
extract_expsyms_cmds= extract_expsyms_cmds=
case $host_os in case $host_os in
cygwin* | mingw* | pw32* ) cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time # FIXME: the MSVC++ 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++. # Microsoft Visual C++.
@@ -1188,7 +1234,9 @@ cygwin* | mingw* | pw32* )
with_gnu_ld=no with_gnu_ld=no
fi fi
;; ;;
openbsd*)
with_gnu_ld=no
;;
esac esac
ld_shlibs=yes ld_shlibs=yes
@@ -1275,7 +1323,7 @@ EOF
# can override, but on older systems we have to supply one (in ltdll.c) # can override, but on older systems we have to supply one (in ltdll.c)
if test "x$lt_cv_need_dllmain" = "xyes"; then if test "x$lt_cv_need_dllmain" = "xyes"; then
ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
else else
ltdll_obj= ltdll_obj=
@@ -1288,7 +1336,7 @@ EOF
# Be careful not to strip the DATA tag left be newer dlltools. # Be careful not to strip the DATA tag left be newer dlltools.
export_symbols_cmds="$ltdll_cmds"' export_symbols_cmds="$ltdll_cmds"'
$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
[sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] < $output_objdir/$soname-def > $export_symbols' sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
# If the export-symbols file already is a .def file (1st line # If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is. # is EXPORTS), use it as is.
@@ -1400,15 +1448,42 @@ else
;; ;;
aix4* | aix5*) aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
no_entry_flag=""
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
esac
exp_sym_flag='-bexport'
no_entry_flag='-bnoentry'
fi
# When large executables or shared objects are built, AIX ld can # When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library # have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to # or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
hardcode_direct=yes
archive_cmds='' archive_cmds=''
hardcode_libdir_separator=':' hardcode_libdir_separator=':'
if test "$GCC" = yes; then if test "$GCC" = yes; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
collect2name=`${CC} -print-prog-name=collect2` collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \ if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null strings "$collect2name" | grep resolve_lib_name >/dev/null
@@ -1425,52 +1500,41 @@ else
hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator= hardcode_libdir_separator=
fi fi
esac
shared_flag='-shared' shared_flag='-shared'
else else
# not using gcc
if test "$host_cpu" = ia64; then if test "$host_cpu" = ia64; then
shared_flag='-G' shared_flag='${wl}-G'
else
if test "$aix_use_runtimelinking" = yes; then
shared_flag='${wl}-G'
else else
shared_flag='${wl}-bM:SRE' shared_flag='${wl}-bM:SRE'
fi fi
hardcode_direct=yes fi
fi fi
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
no_entry_flag=""
else
# Test if we are trying to use run time linking, or normal AIX style linking.
# If -brtl is somewhere in LDFLAGS, we need to do run time linking.
aix_use_runtimelinking=no
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
aix_use_runtimelinking=yes
break
fi
done
exp_sym_flag='-bexport'
no_entry_flag='-bnoentry'
fi
# It seems that -bexpall can do strange things, so it is better to # It seems that -bexpall can do strange things, so it is better to
# generate a list of symbols to export. # generate a list of symbols to export.
always_export_symbols=yes always_export_symbols=yes
if test "$aix_use_runtimelinking" = yes; then if test "$aix_use_runtimelinking" = yes; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
allow_undefined_flag=' -Wl,-G' archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
else else
if test "$host_cpu" = ia64; then if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-znodefs" allow_undefined_flag="-z nodefs"
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
else else
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
# Warning - without using the other run time loading flags, -berok will # Warning - without using the other run time loading flags,
# link without error, but may produce a broken library. # -berok will link without error, but may produce a broken library.
allow_undefined_flag='${wl}-berok" allow_undefined_flag='${wl}-berok'
# This is a bit strange, but is similar to how AIX traditionally builds # This is a bit strange, but is similar to how AIX traditionally builds
# it's shared libraries. # it's shared libraries.
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
@@ -1505,11 +1569,18 @@ else
;; ;;
darwin* | rhapsody*) darwin* | rhapsody*)
case "$host_os" in
rhapsody* | darwin1.[[012]])
allow_undefined_flag='-undefined suppress' allow_undefined_flag='-undefined suppress'
;;
*) # Darwin 1.3 on
allow_undefined_flag='-flat_namespace -undefined suppress'
;;
esac
# FIXME: Relying on posixy $() will cause problems for # FIXME: Relying on posixy $() will cause problems for
# cross-compilation, but unfortunately the echo tests do not # cross-compilation, but unfortunately the echo tests do not
# yet detect zsh echo's removal of \ escapes. # yet detect zsh echo's removal of \ escapes.
archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)' archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
# We need to add '_' to the symbols in $export_symbols first # We need to add '_' to the symbols in $export_symbols first
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
hardcode_direct=yes hardcode_direct=yes
@@ -1584,7 +1655,7 @@ else
;; ;;
newsos6) newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=: hardcode_libdir_separator=:
@@ -1592,10 +1663,24 @@ else
;; ;;
openbsd*) openbsd*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
export_dynamic_flag_spec='${wl}-E'
else
case "$host_os" in
openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
;; ;;
os2*) os2*)
@@ -1640,10 +1725,39 @@ else
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
runpath_var=LD_RUN_PATH runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes hardcode_runpath_var=yes
export_dynamic_flag_spec='${wl}-Bexport'
;; ;;
solaris*) solaris*)
# gcc --version < 3.0 without binutils cannot create self contained
# shared libraries reliably, requiring libgcc.a to resolve some of
# the object symbols generated in some cases. Libraries that use
# assert need libgcc.a to resolve __eprintf, for example. Linking
# a copy of libgcc.a into every shared library to guarantee resolving
# such symbols causes other problems: According to Tim Van Holder
# <tim.van.holder@pandora.be>, C++ libraries end up with a separate
# (to the application) exception stack for one thing.
no_undefined_flag=' -z defs' no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
case `$CC --version 2>/dev/null` in
[[12]].*)
cat <<EOF 1>&2
*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
*** create self contained shared libraries on Solaris systems, without
*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
*** -no-undefined support, which will at least allow you to build shared
*** libraries. However, you may find that when you link such libraries
*** into an application without using GCC, you have to manually add
*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
*** upgrade to a newer version of GCC. Another option is to rebuild your
*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
EOF
no_undefined_flag=
;;
esac
fi
# $CC -shared without GNU ld will not create a library from C++ # $CC -shared without GNU ld will not create a library from C++
# object files and a static libstdc++, better avoid it by now # object files and a static libstdc++, better avoid it by now
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
@@ -1652,7 +1766,7 @@ else
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
case $host_os in case $host_os in
[solaris2.[0-5] | solaris2.[0-5].*]) ;; solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*) # Supported since Solaris 2.6 (maybe 2.5.1?) *) # Supported since Solaris 2.6 (maybe 2.5.1?)
whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
esac esac
@@ -1675,7 +1789,7 @@ else
sysv4) sysv4)
if test "x$host_vendor" = xsno; then if test "x$host_vendor" = xsno; then
archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts' archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes # is this really true??? hardcode_direct=yes # is this really true???
else else
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
@@ -1844,7 +1958,7 @@ aix4* | aix5*)
# depend on `.', always an invalid library. This was fixed in # depend on `.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0. # development snapshots of GCC prior to 3.0.
case $host_os in case $host_os in
[ aix4 | aix4.[01] | aix4.[01].*)] aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes ' echo ' yes '
echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
@@ -1854,12 +1968,14 @@ aix4* | aix5*)
fi fi
;; ;;
esac esac
# AIX (on Power*) has no versioning support, so currently we can not hardcode correct # AIX (on Power*) has no versioning support, so currently we can
# soname into executable. Probably we can add versioning support to # not hardcode correct soname into executable. Probably we can
# collect2, so additional links can be useful in future. # add versioning support to collect2, so additional links can
# be useful in future.
if test "$aix_use_runtimelinking" = yes; then if test "$aix_use_runtimelinking" = yes; then
# If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of # If using run time linking (on AIX 4.2 or later) use lib<name>.so
# lib<name>.a to let people know that these are not typical AIX shared libraries. # instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
else else
# We preserve .a as extension for shared libraries through AIX4.2 # We preserve .a as extension for shared libraries through AIX4.2
@@ -1868,14 +1984,13 @@ aix4* | aix5*)
soname_spec='${libname}${release}.so$major' soname_spec='${libname}${release}.so$major'
fi fi
shlibpath_var=LIBPATH shlibpath_var=LIBPATH
deplibs_check_method=pass_all
fi fi
;; ;;
amigaos*) amigaos*)
library_names_spec='$libname.ixlibrary $libname.a' library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs. # Create ${libname}_ixlibrary.a entries in /sys/libs.
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | [$Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\'']`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
;; ;;
beos*) beos*)
@@ -1906,7 +2021,7 @@ cygwin* | mingw* | pw32*)
case $GCC,$host_os in case $GCC,$host_os in
yes,cygwin*) yes,cygwin*)
library_names_spec='$libname.dll.a' library_names_spec='$libname.dll.a'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~ dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~ test -d \$dldir || mkdir -p \$dldir~
@@ -1916,14 +2031,14 @@ cygwin* | mingw* | pw32*)
$rm \$dlpath' $rm \$dlpath'
;; ;;
yes,mingw*) yes,mingw*)
library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll' library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
;; ;;
yes,pw32*) yes,pw32*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
;; ;;
*) *)
library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll $libname.lib' library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
;; ;;
esac esac
dynamic_linker='Win32 ld.exe' dynamic_linker='Win32 ld.exe'
@@ -2081,9 +2196,19 @@ newsos6)
openbsd*) openbsd*)
version_type=sunos version_type=sunos
if test "$with_gnu_ld" = yes; then
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case "$host_os" in
openbsd2.[[89]] | openbsd2.[[89]].*)
shlibpath_overrides_runpath=no
;;
*)
shlibpath_overrides_runpath=yes
;;
esac
else
shlibpath_overrides_runpath=yes
fi fi
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -2200,6 +2325,41 @@ AC_MSG_RESULT([$can_build_shared])
## ##
## END FIXME ## END FIXME
## FIXME: this should be a separate macro
##
AC_MSG_CHECKING([whether to build shared libraries])
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case "$host_os" in
aix3*)
test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix4*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
;;
esac
AC_MSG_RESULT([$enable_shared])
##
## END FIXME
## FIXME: this should be a separate macro
##
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
AC_MSG_RESULT([$enable_static])
##
## END FIXME
if test "$hardcode_action" = relink; then if test "$hardcode_action" = relink; then
# Fast installation is not supported # Fast installation is not supported
enable_fast_install=no enable_fast_install=no
@@ -2299,6 +2459,7 @@ if test -f "$ltmain"; then
old_striplib striplib file_magic_cmd export_symbols_cmds \ old_striplib striplib file_magic_cmd export_symbols_cmds \
deplibs_check_method allow_undefined_flag no_undefined_flag \ deplibs_check_method allow_undefined_flag no_undefined_flag \
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
global_symbol_to_c_name_address \
hardcode_libdir_flag_spec hardcode_libdir_separator \ hardcode_libdir_flag_spec hardcode_libdir_separator \
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
@@ -2365,12 +2526,12 @@ SHELL=$lt_SHELL
# Whether or not to build shared libraries. # Whether or not to build shared libraries.
build_libtool_libs=$enable_shared build_libtool_libs=$enable_shared
# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$need_lc
# Whether or not to build static libraries. # Whether or not to build static libraries.
build_old_libs=$enable_static build_old_libs=$enable_static
# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$need_lc
# Whether or not to optimize for fast installation. # Whether or not to optimize for fast installation.
fast_install=$enable_fast_install fast_install=$enable_fast_install
@@ -2536,6 +2697,9 @@ global_symbol_pipe=$lt_global_symbol_pipe
# Transform the output of nm in a proper C declaration # Transform the output of nm in a proper C declaration
global_symbol_to_cdecl=$lt_global_symbol_to_cdecl global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
# Transform the output of nm in a C name address pair
global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
# This is the shared library runtime path variable. # This is the shared library runtime path variable.
runpath_var=$runpath_var runpath_var=$runpath_var
@@ -3017,6 +3181,7 @@ test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
ac_prog=ld ac_prog=ld
if test "$GCC" = yes; then if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
@@ -3030,8 +3195,8 @@ if test "$GCC" = yes; then
esac esac
case $ac_prog in case $ac_prog in
# Accept absolute paths. # Accept absolute paths.
[[\\/]* | [A-Za-z]:[\\/]*)] [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
[re_direlt='/[^/][^/]*/\.\./'] re_direlt='/[[^/]][[^/]]*/\.\./'
# Canonicalize the path of ld # Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
@@ -3055,7 +3220,7 @@ else
fi fi
AC_CACHE_VAL(lt_cv_path_LD, AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then [if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=. test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
@@ -3119,7 +3284,7 @@ lt_cv_deplibs_check_method='unknown'
# `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. # '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
# which responds to the $file_magic_cmd with a given egrep regex. # which responds to the $file_magic_cmd with a given egrep 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
# whether `pass_all' will *always* work, you probably want this one. # whether `pass_all' will *always* work, you probably want this one.
@@ -3134,7 +3299,7 @@ beos*)
;; ;;
bsdi4*) bsdi4*)
[lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'] lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so lt_cv_file_magic_test_file=/shlib/libc.so
;; ;;
@@ -3148,7 +3313,7 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_cmd='/usr/bin/file -L'
case "$host_os" in case "$host_os" in
rhapsody* | darwin1.[012]) rhapsody* | darwin1.[[012]])
lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
;; ;;
*) # Darwin 1.3 on *) # Darwin 1.3 on
@@ -3163,7 +3328,7 @@ freebsd*)
i*86 ) i*86 )
# Not sure whether the presence of OpenBSD here was a mistake. # Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up. # Let's accept both of them until this is cleared up.
[lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'] lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;; ;;
@@ -3178,7 +3343,7 @@ gnu*)
;; ;;
hpux10.20*|hpux11*) hpux10.20*|hpux11*)
[lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libc.sl lt_cv_file_magic_test_file=/usr/lib/libc.sl
;; ;;
@@ -3197,7 +3362,7 @@ irix5* | irix6*)
*) libmagic=never-match;; *) libmagic=never-match;;
esac esac
# this will be overridden with pass_all, but let us keep it just in case # this will be overridden with pass_all, but let us keep it just in case
[lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"] lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
;; ;;
esac esac
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
@@ -3207,29 +3372,39 @@ irix5* | irix6*)
# This must be Linux ELF. # This must be Linux ELF.
linux-gnu*) linux-gnu*)
case $host_cpu in case $host_cpu in
alpha* | i*86 | powerpc* | sparc* | ia64* ) alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;; lt_cv_deplibs_check_method=pass_all ;;
*) *)
# glibc up to 2.1.1 does not perform some relocations on ARM # glibc up to 2.1.1 does not perform some relocations on ARM
[lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;] lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
esac esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;; ;;
netbsd*) netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
[lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
else else
[lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'] lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
fi fi
;; ;;
newos6*) newos6*)
[lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'] lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libnls.so lt_cv_file_magic_test_file=/usr/lib/libnls.so
;; ;;
openbsd*)
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
else
lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
fi
;;
osf3* | osf4* | osf5*) osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case # this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
@@ -3246,14 +3421,14 @@ solaris*)
lt_cv_file_magic_test_file=/lib/libc.so lt_cv_file_magic_test_file=/lib/libc.so
;; ;;
[sysv5uw[78]* | sysv4*uw2*)] sysv5uw[[78]]* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all lt_cv_deplibs_check_method=pass_all
;; ;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
case $host_vendor in case $host_vendor in
motorola) motorola)
[lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'] lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;; ;;
ncr) ncr)
@@ -3261,11 +3436,11 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
;; ;;
sequent) sequent)
lt_cv_file_magic_cmd='/bin/file' lt_cv_file_magic_cmd='/bin/file'
[lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'] lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
;; ;;
sni) sni)
lt_cv_file_magic_cmd='/bin/file' lt_cv_file_magic_cmd='/bin/file'
[lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"] lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
lt_cv_file_magic_test_file=/lib/libc.so lt_cv_file_magic_test_file=/lib/libc.so
;; ;;
esac esac
@@ -3279,13 +3454,14 @@ deplibs_check_method=$lt_cv_deplibs_check_method
# AC_PROG_NM - find the path to a BSD-compatible name lister # AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN([AC_PROG_NM], AC_DEFUN([AC_PROG_NM],
[AC_MSG_CHECKING([for BSD-compatible nm]) [AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(lt_cv_path_NM, AC_CACHE_VAL(lt_cv_path_NM,
[if test -n "$NM"; then [if test -n "$NM"; then
# Let the user override the test. # Let the user override the test.
lt_cv_path_NM="$NM" lt_cv_path_NM="$NM"
else else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=. test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/${ac_tool_prefix}nm tmp_nm=$ac_dir/${ac_tool_prefix}nm

108
ltmain.sh
View File

@@ -55,8 +55,8 @@ modename="$progname"
# Constants. # Constants.
PROGRAM=ltmain.sh PROGRAM=ltmain.sh
PACKAGE=libtool PACKAGE=libtool
VERSION=1.4 VERSION=1.4.2
TIMESTAMP=" (1.920 2001/04/24 23:26:18)" TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)"
default_mode= default_mode=
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
@@ -84,6 +84,9 @@ if test "${LANG+set}" = set; then
save_LANG="$LANG"; LANG=C; export LANG save_LANG="$LANG"; LANG=C; export LANG
fi fi
# Make sure IFS has a sensible default
: ${IFS=" "}
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
echo "$modename: not configured to build any kind of library" 1>&2 echo "$modename: not configured to build any kind of library" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
@@ -202,6 +205,11 @@ if test -n "$prevopt"; then
exit 1 exit 1
fi fi
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
exec_cmd=
if test -z "$show_help"; then if test -z "$show_help"; then
# Infer the operation mode. # Infer the operation mode.
@@ -329,7 +337,7 @@ if test -z "$show_help"; then
-Wc,*) -Wc,*)
args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
lastarg= lastarg=
IFS="${IFS= }"; save_ifs="$IFS"; IFS=',' save_ifs="$IFS"; IFS=','
for arg in $args; do for arg in $args; do
IFS="$save_ifs" IFS="$save_ifs"
@@ -615,6 +623,10 @@ compiler."
# Now arrange that obj and lo_libobj become the same file # Now arrange that obj and lo_libobj become the same file
$show "(cd $xdir && $LN_S $baseobj $libobj)" $show "(cd $xdir && $LN_S $baseobj $libobj)"
if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
# Unlock the critical section if it was locked
if test "$need_locks" != no; then
$run $rm "$lockfile"
fi
exit 0 exit 0
else else
error=$? error=$?
@@ -1031,6 +1043,17 @@ compiler."
# These systems don't actually have a C library (as such) # These systems don't actually have a C library (as such)
test "X$arg" = "X-lc" && continue test "X$arg" = "X-lc" && continue
;; ;;
*-*-openbsd*)
# Do not include libc due to us having libc/libc_r.
test "X$arg" = "X-lc" && continue
;;
esac
elif test "X$arg" = "X-lc_r"; then
case $host in
*-*-openbsd*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
esac esac
fi fi
deplibs="$deplibs $arg" deplibs="$deplibs $arg"
@@ -1122,7 +1145,7 @@ compiler."
-Wc,*) -Wc,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
arg= arg=
IFS="${IFS= }"; save_ifs="$IFS"; IFS=',' save_ifs="$IFS"; IFS=','
for flag in $args; do for flag in $args; do
IFS="$save_ifs" IFS="$save_ifs"
case $flag in case $flag in
@@ -1140,7 +1163,7 @@ compiler."
-Wl,*) -Wl,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
arg= arg=
IFS="${IFS= }"; save_ifs="$IFS"; IFS=',' save_ifs="$IFS"; IFS=','
for flag in $args; do for flag in $args; do
IFS="$save_ifs" IFS="$save_ifs"
case $flag in case $flag in
@@ -1750,7 +1773,7 @@ compiler."
if test -f "$output_objdir/$soname-def"; then : if test -f "$output_objdir/$soname-def"; then :
else else
$show "extracting exported symbol list from \`$soname'" $show "extracting exported symbol list from \`$soname'"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
eval cmds=\"$extract_expsyms_cmds\" eval cmds=\"$extract_expsyms_cmds\"
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
@@ -1763,7 +1786,7 @@ compiler."
# Create $newlib # Create $newlib
if test -f "$output_objdir/$newlib"; then :; else if test -f "$output_objdir/$newlib"; then :; else
$show "generating import library for \`$soname'" $show "generating import library for \`$soname'"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
eval cmds=\"$old_archive_from_expsyms_cmds\" eval cmds=\"$old_archive_from_expsyms_cmds\"
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
@@ -2175,7 +2198,7 @@ compiler."
else else
# Parse the version information argument. # Parse the version information argument.
IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' save_ifs="$IFS"; IFS=':'
set dummy $vinfo 0 0 0 set dummy $vinfo 0 0 0
IFS="$save_ifs" IFS="$save_ifs"
@@ -2312,6 +2335,16 @@ compiler."
if test -z "$vinfo" && test -n "$release"; then if test -z "$vinfo" && test -n "$release"; then
major= major=
verstring="0.0" verstring="0.0"
case $version_type in
darwin)
# we can't check for "0.0" in archive_cmds due to quoting
# problems, so we reset it completely
verstring=""
;;
*)
verstring="0.0"
;;
esac
if test "$need_version" = no; then if test "$need_version" = no; then
versuffix= versuffix=
else else
@@ -2408,6 +2441,9 @@ compiler."
*-*-netbsd*) *-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed. # Don't link with libc until the a.out ld.so is fixed.
;; ;;
*-*-openbsd*)
# Do not include libc due to us having libc/libc_r.
;;
*) *)
# Add libc to deplibs on all other systems if necessary. # Add libc to deplibs on all other systems if necessary.
if test $build_libtool_need_lc = "yes"; then if test $build_libtool_need_lc = "yes"; then
@@ -2784,7 +2820,7 @@ EOF
export_symbols="$output_objdir/$libname.exp" export_symbols="$output_objdir/$libname.exp"
$run $rm $export_symbols $run $rm $export_symbols
eval cmds=\"$export_symbols_cmds\" eval cmds=\"$export_symbols_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -2860,7 +2896,7 @@ EOF
else else
eval cmds=\"$archive_cmds\" eval cmds=\"$archive_cmds\"
fi fi
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -2988,7 +3024,7 @@ EOF
output="$obj" output="$obj"
eval cmds=\"$reload_cmds\" eval cmds=\"$reload_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -3024,7 +3060,7 @@ EOF
reload_objs="$libobjs $reload_conv_objs" reload_objs="$libobjs $reload_conv_objs"
output="$libobj" output="$libobj"
eval cmds=\"$reload_cmds\" eval cmds=\"$reload_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -3287,27 +3323,25 @@ extern \"C\" {
#undef lt_preloaded_symbols #undef lt_preloaded_symbols
#if defined (__STDC__) && __STDC__ #if defined (__STDC__) && __STDC__
# define lt_ptr_t void * # define lt_ptr void *
#else #else
# define lt_ptr_t char * # define lt_ptr char *
# define const # define const
#endif #endif
/* The mapping between symbol names and symbols. */ /* The mapping between symbol names and symbols. */
const struct { const struct {
const char *name; const char *name;
lt_ptr_t address; lt_ptr address;
} }
lt_preloaded_symbols[] = lt_preloaded_symbols[] =
{\ {\
" "
sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \
< "$nlist" >> "$output_objdir/$dlsyms"
$echo >> "$output_objdir/$dlsyms" "\ $echo >> "$output_objdir/$dlsyms" "\
{0, (lt_ptr_t) 0} {0, (lt_ptr) 0}
}; };
/* This works around a problem in FreeBSD linker */ /* This works around a problem in FreeBSD linker */
@@ -3618,8 +3652,9 @@ else
# relink executable if necessary # relink executable if necessary
if test -n \"\$relink_command\"; then if test -n \"\$relink_command\"; then
if (eval \$relink_command); then : if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else else
$echo \"\$relink_command_output\" >&2
$rm \"\$progdir/\$file\" $rm \"\$progdir/\$file\"
exit 1 exit 1
fi fi
@@ -3790,7 +3825,7 @@ fi\
eval cmds=\"$old_archive_cmds\" eval cmds=\"$old_archive_cmds\"
fi fi
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4165,7 +4200,7 @@ relink_command=\"$relink_command\""
# Do each command in the postinstall commands. # Do each command in the postinstall commands.
lib="$destdir/$realname" lib="$destdir/$realname"
eval cmds=\"$postinstall_cmds\" eval cmds=\"$postinstall_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4352,7 +4387,7 @@ relink_command=\"$relink_command\""
# Do each command in the postinstall commands. # Do each command in the postinstall commands.
eval cmds=\"$old_postinstall_cmds\" eval cmds=\"$old_postinstall_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4368,11 +4403,10 @@ relink_command=\"$relink_command\""
if test -n "$current_libdirs"; then if test -n "$current_libdirs"; then
# Maybe just do a dry run. # Maybe just do a dry run.
test -n "$run" && current_libdirs=" -n$current_libdirs" test -n "$run" && current_libdirs=" -n$current_libdirs"
exec $SHELL $0 --finish$current_libdirs exec_cmd='$SHELL $0 --finish$current_libdirs'
exit 1 else
fi
exit 0 exit 0
fi
;; ;;
# libtool finish mode # libtool finish mode
@@ -4391,7 +4425,7 @@ relink_command=\"$relink_command\""
if test -n "$finish_cmds"; then if test -n "$finish_cmds"; then
# Do each command in the finish commands. # Do each command in the finish commands.
eval cmds=\"$finish_cmds\" eval cmds=\"$finish_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4575,11 +4609,8 @@ relink_command=\"$relink_command\""
LANG="$save_LANG"; export LANG LANG="$save_LANG"; export LANG
fi fi
# Now actually exec the command. # Now prepare to actually exec the command.
eval "exec \$cmd$args" exec_cmd='"$cmd"$args'
$echo "$modename: cannot exec \$cmd$args"
exit 1
else else
# Display what would be done. # Display what would be done.
if test -n "$shlibpath_var"; then if test -n "$shlibpath_var"; then
@@ -4670,7 +4701,7 @@ relink_command=\"$relink_command\""
if test -n "$library_names"; then if test -n "$library_names"; then
# Do each command in the postuninstall commands. # Do each command in the postuninstall commands.
eval cmds=\"$postuninstall_cmds\" eval cmds=\"$postuninstall_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4685,7 +4716,7 @@ relink_command=\"$relink_command\""
if test -n "$old_library"; then if test -n "$old_library"; then
# Do each command in the old_postuninstall commands. # Do each command in the old_postuninstall commands.
eval cmds=\"$old_postuninstall_cmds\" eval cmds=\"$old_postuninstall_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do for cmd in $cmds; do
IFS="$save_ifs" IFS="$save_ifs"
$show "$cmd" $show "$cmd"
@@ -4744,11 +4775,18 @@ relink_command=\"$relink_command\""
;; ;;
esac esac
if test -z "$exec_cmd"; then
$echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$modename: invalid operation mode \`$mode'" 1>&2
$echo "$generic_help" 1>&2 $echo "$generic_help" 1>&2
exit 1 exit 1
fi
fi # test -z "$show_help" fi # test -z "$show_help"
if test -n "$exec_cmd"; then
eval exec $exec_cmd
exit 1
fi
# We need to display help for each of the modes. # We need to display help for each of the modes.
case $mode in case $mode in
"") $echo \ "") $echo \