Various libtool updates from devo, including update to libtool 1.2b

From-SVN: r22947
This commit is contained in:
Ian Lance Taylor 1998-10-08 23:32:31 +00:00 committed by Jeff Law
parent 8af1427536
commit fbd836fca0
3 changed files with 512 additions and 281 deletions

View File

@ -115,6 +115,24 @@ Fri Jul 17 13:30:18 1998 Ian Lance Taylor <ian@cygnus.com>
* ylwrap: Don't use a full path name if the source file is in the * ylwrap: Don't use a full path name if the source file is in the
same directory. From hjl@lucon.org (H.J. Lu). same directory. From hjl@lucon.org (H.J. Lu).
Tue Jul 14 13:22:18 1998 Ian Lance Taylor <ian@cygnus.com>
* ltmain.sh: Add some hacks to make SunOS --enable-shared work
when using GNU ld.
Fri Jul 10 13:18:23 1998 Ian Lance Taylor <ian@cygnus.com>
* ltmain.sh: Correct install when using a different shell.
Tue Jul 7 15:24:38 1998 Ian Lance Taylor <ian@cygnus.com>
* ltconfig, ltmain.sh: Update to libtool 1.2b.
Wed Jul 1 16:45:21 1998 Ian Lance Taylor <ian@cygnus.com>
* ltconfig: Update to correct AIX handling.
Sat Jun 27 22:46:32 1998 Jeffrey A Law (law@cygnus.com) Sat Jun 27 22:46:32 1998 Jeffrey A Law (law@cygnus.com)
* Makefile.in (BASE_FLAGS_TO_PASS): Add TARGET_SUBDIR. * Makefile.in (BASE_FLAGS_TO_PASS): Add TARGET_SUBDIR.
@ -175,6 +193,13 @@ Wed Jun 10 11:19:47 1998 Ian Lance Taylor <ian@cygnus.com>
* missing: Update to version from automake 1.3. * missing: Update to version from automake 1.3.
* ltmain.sh: On installation, don't get confused if the same name
appears more than once in the list of library names.
Thu May 28 19:31:13 1998 Ian Lance Taylor <ian@cygnus.com>
* ltconfig, ltmain.sh: Bring in Visual C++ support.
Sat May 23 23:44:13 1998 Alexandre Oliva <oliva@dcc.unicamp.br> Sat May 23 23:44:13 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
* Makefile.in (boostrap2-lean, bootstrap3-lean, * Makefile.in (boostrap2-lean, bootstrap3-lean,

230
ltconfig
View File

@ -27,10 +27,14 @@
# Check that we are running under the correct shell. # Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh} SHELL=${CONFIG_SHELL-/bin/sh}
if test "X$1" = "X--no-reexec"; then echo=echo
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue. # Discard the --no-reexec flag, and continue.
shift shift
elif test "X$SHELL" != X/bin/sh; then elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
# Yippee, $echo works!
:
else
# Restart under the correct shell. # Restart under the correct shell.
exec "$SHELL" "$0" --no-reexec ${1+"$@"} exec "$SHELL" "$0" --no-reexec ${1+"$@"}
fi fi
@ -39,9 +43,7 @@ fi
# if CDPATH is set. # if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
echo=echo if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# The Solaris, AIX, and Digital Unix default echo programs unquote # The Solaris, AIX, and Digital Unix default echo programs unquote
# backslashes. This makes it impossible to quote backslashes using # backslashes. This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g' # echo "$something" | sed 's/\\/\\\\/g'
@ -61,16 +63,15 @@ else
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
# This shell has a builtin print -r that does the trick. # This shell has a builtin print -r that does the trick.
echo='print -r' echo='print -r'
# elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
# # If we have ksh, try running ltconfig again with it. # If we have ksh, try running ltconfig again with it.
# CONFIG_SHELL=/bin/ksh CONFIG_SHELL=/bin/ksh
# export CONFIG_SHELL export CONFIG_SHELL
# exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
else else
# Try using printf. # Try using printf.
echo='printf %s\n' echo='printf %s\n'
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
else
# Oops. We lost completely, so just stick with echo. # Oops. We lost completely, so just stick with echo.
echo=echo echo=echo
fi fi
@ -92,7 +93,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants: # Constants:
PROGRAM=ltconfig PROGRAM=ltconfig
PACKAGE=libtool PACKAGE=libtool
VERSION=1.2a VERSION=1.2b
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f" rm="rm -f"
@ -116,6 +117,8 @@ ofile="$default_ofile"
verify_host=yes verify_host=yes
with_gcc=no with_gcc=no
with_gnu_ld=no with_gnu_ld=no
objext=o
libext=a
old_AR="$AR" old_AR="$AR"
old_CC="$CC" old_CC="$CC"
@ -225,8 +228,7 @@ if test -z "$ltmain"; then
exit 1 exit 1
fi fi
if test -f "$ltmain"; then : if test ! -f "$ltmain"; then
else
echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$progname: \`$ltmain' does not exist" 1>&2
echo "$help" 1>&2 echo "$help" 1>&2
exit 1 exit 1
@ -304,7 +306,7 @@ if test "$verify_host" = yes; then
ac_config_sub=$ac_aux_dir/config.sub ac_config_sub=$ac_aux_dir/config.sub
# Make sure we can run config.sub. # Make sure we can run config.sub.
if $ac_config_sub sun4 >/dev/null 2>&1; then : if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
else else
echo "$progname: cannot run $ac_config_sub" 1>&2 echo "$progname: cannot run $ac_config_sub" 1>&2
echo "$help" 1>&2 echo "$help" 1>&2
@ -316,14 +318,14 @@ if test "$verify_host" = yes; then
host_alias=$host host_alias=$host
case "$host_alias" in case "$host_alias" in
"") "")
if host_alias=`$ac_config_guess`; then : if host_alias=`$SHELL $ac_config_guess`; then :
else else
echo "$progname: cannot guess host type; you must specify one" 1>&2 echo "$progname: cannot guess host type; you must specify one" 1>&2
echo "$help" 1>&2 echo "$help" 1>&2
exit 1 exit 1
fi ;; fi ;;
esac esac
host=`$ac_config_sub $host_alias` host=`$SHELL $ac_config_sub $host_alias`
echo "$ac_t$host" 1>&6 echo "$ac_t$host" 1>&6
# Make sure the host verified. # Make sure the host verified.
@ -465,7 +467,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC. # Now see if the compiler is really GCC.
with_gcc=no with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
echo "$progname:468: checking whether we are using GNU C" >&5 echo "$progname:470: checking whether we are using GNU C" >&5
$rm conftest.c $rm conftest.c
cat > conftest.c <<EOF cat > conftest.c <<EOF
@ -473,7 +475,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
yes; yes;
#endif #endif
EOF EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes with_gcc=yes
fi fi
$rm conftest.c $rm conftest.c
@ -484,6 +486,28 @@ fi
set dummy $CC set dummy $CC
compiler="$2" compiler="$2"
echo $ac_n "checking for object suffix... $ac_c" 1>&6
$rm conftest*
echo 'int i = 1;' > conftest.c
echo "$progname:492: checking for object suffix" >& 5
if { (eval echo $progname:493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
*) objext=`echo $ac_file | sed -e s/conftest.//` ;;
esac
done
else
cat conftest.err 1>&5
echo "$progname: failed program was:" >&5
cat conftest.c >&5
fi
$rm conftest*
echo "$ac_t$objext" 1>&6
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag= pic_flag=
special_shlib_compile_flags= special_shlib_compile_flags=
@ -500,7 +524,7 @@ if test "$with_gcc" = yes; then
aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
# PIC is the default for these OSes. # PIC is the default for these OSes.
;; ;;
cygwin32* | os2*) cygwin32* | mingw32* | os2*)
# We can build DLLs from non-PIC. # We can build DLLs from non-PIC.
;; ;;
amigaos*) amigaos*)
@ -534,7 +558,7 @@ else
# PIC (with -KPIC) is the default. # PIC (with -KPIC) is the default.
;; ;;
cygwin32* | os2*) cygwin32* | mingw32* | os2*)
# We can build DLLs from non-PIC. # We can build DLLs from non-PIC.
;; ;;
@ -588,8 +612,8 @@ if test -n "$pic_flag"; then
echo "int some_variable = 0;" > conftest.c echo "int some_variable = 0;" > conftest.c
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pic_flag -DPIC" CFLAGS="$CFLAGS $pic_flag -DPIC"
echo "$progname:591: checking if $compiler PIC flag $pic_flag works" >&5 echo "$progname:615: checking if $compiler PIC flag $pic_flag works" >&5
if { (eval echo $progname:592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then if { (eval echo $progname:616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
# Append any warnings to the config.log. # Append any warnings to the config.log.
cat conftest.err 1>&5 cat conftest.err 1>&5
@ -632,8 +656,8 @@ $rm conftest*
echo 'main(){return(0);}' > conftest.c echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS" save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag" LDFLAGS="$LDFLAGS $link_static_flag"
echo "$progname:635: checking if $compiler static flag $link_static_flag works" >&5 echo "$progname:659: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo $progname:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$ac_t$link_static_flag" 1>&6 echo "$ac_t$link_static_flag" 1>&6
else else
echo "$ac_t"none 1>&6 echo "$ac_t"none 1>&6
@ -665,11 +689,11 @@ if test -z "$LD"; then
if test "$with_gcc" = yes; then if test "$with_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
echo "$progname:668: checking for ld used by GCC" >&5 echo "$progname:692: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5` ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in case "$ac_prog" in
# Accept absolute paths. # Accept absolute paths.
/* | [A-Za-z]:\\*) /* | [A-Za-z]:[/\\]*)
test -z "$LD" && LD="$ac_prog" test -z "$LD" && LD="$ac_prog"
;; ;;
"") "")
@ -683,10 +707,10 @@ if test -z "$LD"; then
esac esac
elif test "$with_gnu_ld" = yes; then elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld... $ac_c" 1>&6 echo $ac_n "checking for GNU ld... $ac_c" 1>&6
echo "$progname:686: checking for GNU ld" >&5 echo "$progname:710: checking for GNU ld" >&5
else else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
echo "$progname:689: checking for non-GNU ld" >&5 echo "$progname:713: checking for non-GNU ld" >&5
fi fi
if test -z "$LD"; then if test -z "$LD"; then
@ -738,12 +762,21 @@ no_undefined_flag=
archive_cmds= archive_cmds=
old_archive_from_new_cmds= old_archive_from_new_cmds=
export_dynamic_flag_spec= export_dynamic_flag_spec=
whole_archive_flag_spec=
hardcode_libdir_flag_spec= hardcode_libdir_flag_spec=
hardcode_libdir_separator= hardcode_libdir_separator=
hardcode_direct=no hardcode_direct=no
hardcode_minus_L=no hardcode_minus_L=no
hardcode_shlibpath_var=unsupported hardcode_shlibpath_var=unsupported
runpath_var= runpath_var=
fix_srcfile_path=
case "$host_os" in
aix3* | aix4*)
# On AIX, the GNU linker works like the native linker.
with_gnu_ld=no
;;
esac
ld_shlibs=yes ld_shlibs=yes
if test "$with_gnu_ld" = yes; then if test "$with_gnu_ld" = yes; then
@ -758,15 +791,22 @@ if test "$with_gnu_ld" = yes; then
sunos4*) sunos4*)
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
hardcode_direct=yes
# The GNU linker will only hardcode -L options if -rpath is not
# used, but we will be using -rpath because we set
# hardcode_libdir_flag_spec below.
hardcode_minus_L=no
hardcode_shlibpath_var=no
;; ;;
cygwin32*) cygwin32* | mingw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is if test "$with_gcc" = yes; then
# no search path for DLLs. # hardcode_libdir_flag_spec is actually meaningless, as there is
hardcode_libdir_flag_spec='-L$libdir' # no search path for DLLs.
allow_undefined_flag=unsupported hardcode_libdir_flag_spec='-L$libdir'
# Very, very bogus. allow_undefined_flag=unsupported
echo ' # Very, very bogus.
echo '
#include <windows.h> #include <windows.h>
struct _reent *_impure_ptr; struct _reent *_impure_ptr;
@ -777,8 +817,26 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
_impure_ptr = __imp_reent_data; _impure_ptr = __imp_reent_data;
} }
' > libtool.c ' > libtool.c
archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$rm libtool.o $soname-base $soname-exp' archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def' old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
else
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
with_gnu_ld=no
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib /OUT:$oldlib$oldobjs'
fix_srcfile_path='`cygpath -w $srcfile`'
fi
;; ;;
*) *)
@ -790,10 +848,11 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
;; ;;
esac esac
if test "$ld_shlibs" = yes; then if test "$ld_shlibs" = yes && test "$with_gnu_ld" = yes; then
runpath_var=LD_RUN_PATH runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic' export_dynamic_flag_spec='${wl}--export-dynamic'
whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
fi fi
else else
# PORTME fill in a description of your system's linker (not GNU ld) # PORTME fill in a description of your system's linker (not GNU ld)
@ -824,13 +883,14 @@ else
hardcode_minus_L=yes hardcode_minus_L=yes
;; ;;
cygwin32*) cygwin32* | mingw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is if test "$with_gcc" = yes; then
# no search path for DLLs. # hardcode_libdir_flag_spec is actually meaningless, as there is
hardcode_libdir_flag_spec='-L$libdir' # no search path for DLLs.
allow_undefined_flag=unsupported hardcode_libdir_flag_spec='-L$libdir'
# Very, very bogus. allow_undefined_flag=unsupported
echo ' # Very, very bogus.
echo '
#include <windows.h> #include <windows.h>
struct _reent *_impure_ptr; struct _reent *_impure_ptr;
@ -841,8 +901,25 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
_impure_ptr = __imp_reent_data; _impure_ptr = __imp_reent_data;
} }
' > libtool.c ' > libtool.c
archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$rm libtool.o $soname-base $soname-exp' archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def' old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
else
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib /OUT:$oldlib$oldobjs'
fix_srcfile_path='`cygpath -w $srcfile`'
fi
;; ;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
@ -870,7 +947,7 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
archive_cmds='$CC -shared -o $lib$libobjs' archive_cmds='$CC -shared -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=no
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
@ -975,7 +1052,7 @@ echo "$ac_t$ld_shlibs" 1>&6
if test -z "$NM"; then if test -z "$NM"; then
echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
case "$NM" in case "$NM" in
/* | [A-Za-z]:\\*) ;; # Let the user override the test with a path. /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path.
*) *)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
@ -1021,7 +1098,7 @@ case "$host_os" in
aix*) aix*)
symcode='[BCDTU]' symcode='[BCDTU]'
;; ;;
cygwin32*) cygwin32* | mingw32*)
sympat='_\([_A-Za-z][_A-Za-z0-9]*\)' sympat='_\([_A-Za-z][_A-Za-z0-9]*\)'
symxfrm='_\1 \1' symxfrm='_\1 \1'
;; ;;
@ -1040,7 +1117,7 @@ if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
fi fi
case "$host_os" in case "$host_os" in
cygwin32*) cygwin32* | mingw32*)
# We do not want undefined symbols on cygwin32. The user must # We do not want undefined symbols on cygwin32. The user must
# arrange to define them via -l arguments. # arrange to define them via -l arguments.
symcode='[ABCDGISTW]' symcode='[ABCDGISTW]'
@ -1065,11 +1142,11 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);} main(){nm_test_var='a';nm_test_func();return(0);}
EOF EOF
echo "$progname:1068: checking if global_symbol_pipe works" >&5 echo "$progname:1145: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:1069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then if { (eval echo $progname:1146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
# Now try to grab the symbols. # Now try to grab the symbols.
nlist=conftest.nm nlist=conftest.nm
if { echo "$progname:1072: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then if { echo "$progname:1149: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output. # Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then if sort "$nlist" | uniq > "$nlist"T; then
@ -1122,12 +1199,12 @@ EOF
#endif #endif
EOF EOF
# Now try linking the two files. # Now try linking the two files.
mv conftest.o conftestm.o mv conftest.$objext conftestm.$objext
save_LIBS="$LIBS" save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
LIBS='conftestm.o' LIBS="conftestm.$objext"
CFLAGS="$CFLAGS$no_builtin_flag" CFLAGS="$CFLAGS$no_builtin_flag"
if { (eval echo $progname:1130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo $progname:1207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes pipe_works=yes
else else
echo "$progname: failed program was:" >&5 echo "$progname: failed program was:" >&5
@ -1215,9 +1292,13 @@ amigaos*)
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'
;; ;;
cygwin32*) cygwin32* | mingw32*)
version_type=windows version_type=windows
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a' if test "$with_gcc" = yes; then
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
else
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
fi
dynamic_linker='Win32 ld.exe' dynamic_linker='Win32 ld.exe'
shlibpath_var=PATH shlibpath_var=PATH
;; ;;
@ -1230,8 +1311,8 @@ freebsd2* | freebsd3*)
;; ;;
gnu*) gnu*)
version_type=sunos version_type=linux
library_names_spec='${libname}${release}.so$versuffix' library_names_spec='${libname}${release}.so$versuffix ${libname}.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
@ -1311,11 +1392,13 @@ solaris2*)
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'
soname_spec='${libname}${release}.so$major' soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
# ldd complains unless libraries are executable
postinstall_cmds='chmod +x $lib'
;; ;;
sunos4*) sunos4*)
version_type=sunos version_type=sunos
library_names_spec='${libname}${release}.so$versuffix' library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
@ -1386,11 +1469,12 @@ ltecho="$echo"
for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \ old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \
reload_cmds wl pic_flag link_static_flag no_builtin_flag \ reload_cmds wl pic_flag link_static_flag no_builtin_flag \
export_dynamic_flag_spec libname_spec library_names_spec soname_spec RANLIB \ export_dynamic_flag_spec whole_archive_flag_spec libname_spec \
library_names_spec soname_spec RANLIB \
old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
allow_undefined_flag no_undefined_flag \ allow_undefined_flag no_undefined_flag objext libext \
finish_cmds finish_eval global_symbol_pipe \ finish_cmds finish_eval global_symbol_pipe fix_srcfile_path \
hardcode_libdir_flag_spec hardcode_libdir_separator; do hardcode_libdir_flag_spec hardcode_libdir_separator; do
case "$var" in case "$var" in
@ -1506,6 +1590,12 @@ reload_cmds="$reload_cmds"
# How to pass a linker flag through the compiler. # How to pass a linker flag through the compiler.
wl="$wl" wl="$wl"
# Object file suffix (normally "o").
objext="$objext"
# Old archive suffix (normally "a").
libext="$libext"
# Additional compiler flags for building library objects. # Additional compiler flags for building library objects.
pic_flag="$pic_flag" pic_flag="$pic_flag"
@ -1518,6 +1608,9 @@ no_builtin_flag="$no_builtin_flag"
# Compiler flag to allow reflexive dlopens. # Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec" export_dynamic_flag_spec="$export_dynamic_flag_spec"
# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec="$whole_archive_flag_spec"
# Library versioning type. # Library versioning type.
version_type=$version_type version_type=$version_type
@ -1587,6 +1680,9 @@ hardcode_minus_L=$hardcode_minus_L
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary. # the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var hardcode_shlibpath_var=$hardcode_shlibpath_var
# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path="$fix_srcfile_path"
EOF EOF
case "$host_os" in case "$host_os" in

538
ltmain.sh
View File

@ -23,6 +23,18 @@
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# 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.
# Check that we have a working $echo.
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
# Yippee, $echo works!
:
else
# Restart under the correct shell, and then maybe $echo will work.
exec $SHELL "$0" --no-reexec ${1+"$@"}
fi
# The name of this program. # The name of this program.
progname=`$echo "$0" | sed 's%^.*/%%'` progname=`$echo "$0" | sed 's%^.*/%%'`
modename="$progname" modename="$progname"
@ -30,7 +42,7 @@ modename="$progname"
# Constants. # Constants.
PROGRAM=ltmain.sh PROGRAM=ltmain.sh
PACKAGE=libtool PACKAGE=libtool
VERSION=1.2a VERSION=1.2b
default_mode= default_mode=
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
@ -48,8 +60,13 @@ sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
# Only set LANG and LC_ALL to C if already set. # Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand # These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO). # e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi # We save the old values to restore during execute mode.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then
save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
fi
if test "${LANG+set}" = set; then
save_LANG="$LANG"; LANG=C; export LANG
fi
if test "$LTCONFIG_VERSION" != "$VERSION"; then if test "$LTCONFIG_VERSION" != "$VERSION"; then
echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
@ -72,6 +89,8 @@ run=
show="$echo" show="$echo"
show_help= show_help=
execute_dlfiles= execute_dlfiles=
lo2o="s/\\.lo\$/.${objext}/"
los2o="s/\\.lo /.${objext} /g"
# Parse our command line options once, thoroughly. # Parse our command line options once, thoroughly.
while test $# -gt 0 while test $# -gt 0
@ -190,7 +209,7 @@ if test -z "$show_help"; then
esac esac
done done
;; ;;
*db | *dbx) *db | *dbx | *strace | *truss)
mode=execute mode=execute
;; ;;
*install*|cp|mv) *install*|cp|mv)
@ -248,7 +267,6 @@ if test -z "$show_help"; then
;; ;;
-static) -static)
build_libtool_libs=no
build_old_libs=yes build_old_libs=yes
continue continue
;; ;;
@ -303,7 +321,7 @@ if test -z "$show_help"; then
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
case "$libobj" in case "$libobj" in
*.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;; *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
*) *)
$echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2 $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
exit 1 exit 1
@ -325,6 +343,10 @@ if test -z "$show_help"; then
trap "$run $rm $libobj; exit 1" 1 2 15 trap "$run $rm $libobj; exit 1" 1 2 15
fi fi
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
# Only build a PIC object if we are building libtool libraries. # Only build a PIC object if we are building libtool libraries.
if test "$build_libtool_libs" = yes; then if test "$build_libtool_libs" = yes; then
# Without this assignment, base_compile gets emptied. # Without this assignment, base_compile gets emptied.
@ -347,7 +369,7 @@ if test -z "$show_help"; then
# Just move the object, then go on to compile the next one # Just move the object, then go on to compile the next one
$show "$mv $obj $libobj" $show "$mv $obj $libobj"
$run $mv $obj $libobj || exit 1 $run $mv $obj $libobj || exit $?
# Allow error messages only from the first compilation. # Allow error messages only from the first compilation.
suppress_output=' >/dev/null 2>&1' suppress_output=' >/dev/null 2>&1'
@ -384,10 +406,13 @@ if test -z "$show_help"; then
compile_shlibpath= compile_shlibpath=
finalize_shlibpath= finalize_shlibpath=
convenience=
old_convenience=
deplibs= deplibs=
dlfiles= dlfiles=
dlprefiles= dlprefiles=
export_dynamic=no export_dynamic=no
generated=
hardcode_libdirs= hardcode_libdirs=
libobjs= libobjs=
link_against_libtool_libs= link_against_libtool_libs=
@ -420,8 +445,10 @@ if test -z "$show_help"; then
test -n "$old_archive_from_new_cmds" && build_old_libs=yes test -n "$old_archive_from_new_cmds" && build_old_libs=yes
# Go through the arguments, transforming them on the way. # Go through the arguments, transforming them on the way.
for arg while test $# -gt 0; do
do arg="$1"
shift
# If the previous option needs an argument, assign it. # If the previous option needs an argument, assign it.
if test -n "$prev"; then if test -n "$prev"; then
case "$prev" in case "$prev" in
@ -505,7 +532,7 @@ if test -z "$show_help"; then
-L*) -L*)
dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
case "$dir" in case "$dir" in
/* | [A-Za-z]:\\*) /* | [A-Za-z]:[/\\]*)
# Add the corresponding hardcode_libdir_flag, if it is not identical. # Add the corresponding hardcode_libdir_flag, if it is not identical.
;; ;;
*) *)
@ -561,7 +588,7 @@ if test -z "$show_help"; then
esac esac
;; ;;
*.o | *.a) *.o | *.obj | *.a | *.lib)
# A standard object. # A standard object.
objs="$objs $arg" objs="$objs $arg"
;; ;;
@ -581,7 +608,7 @@ if test -z "$show_help"; then
if test "$prev" = dlprefiles; then if test "$prev" = dlprefiles; then
# Preload the old-style object. # Preload the old-style object.
dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/.o/'` dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
prev= prev=
fi fi
libobjs="$libobjs $arg" libobjs="$libobjs $arg"
@ -608,11 +635,6 @@ if test -z "$show_help"; then
*) . ./$arg ;; *) . ./$arg ;;
esac esac
if test -z "$libdir"; then
$echo "$modename: \`$arg' contains no -rpath information" 1>&2
exit 1
fi
# Get the name of the library we link against. # Get the name of the library we link against.
linklib= linklib=
for l in $old_library $library_names; do for l in $old_library $library_names; do
@ -633,6 +655,15 @@ if test -z "$show_help"; then
dir="$dir/$objdir" dir="$dir/$objdir"
fi fi
if test -z "$libdir"; then
# It is a libtool convenience library, so add in its objects.
convenience="$convenience $dir/$old_library"l
old_convenience="$old_convenience $dir/$old_library"
compile_command="$compile_command $dir/$old_library"
finalize_command="$finalize_command $dir/$old_library"
continue
fi
# This library was specified with -dlopen. # This library was specified with -dlopen.
if test "$prev" = dlfiles; then if test "$prev" = dlfiles; then
dlfiles="$dlfiles $arg" dlfiles="$dlfiles $arg"
@ -706,22 +737,30 @@ if test -z "$show_help"; then
fi fi
lib_linked=yes
case "$hardcode_action" in case "$hardcode_action" in
immediate) immediate | unsupported)
if test "$hardcode_direct" = no; then if test "$hardcode_direct" = no; then
compile_command="$compile_command $dir/$linklib" compile_command="$compile_command $dir/$linklib"
elif test "$hardcode_minus_L" = no; then elif test "$hardcode_minus_L" = no; then
case "$host" in
*-*-sunos*)
compile_shlibpath="$compile_shlibpath$dir:"
;;
esac
compile_command="$compile_command -L$dir -l$name" compile_command="$compile_command -L$dir -l$name"
elif test "$hardcode_shlibpath_var" = no; then elif test "$hardcode_shlibpath_var" = no; then
compile_shlibpath="$compile_shlibpath$dir:" compile_shlibpath="$compile_shlibpath$dir:"
compile_command="$compile_command -l$name" compile_command="$compile_command -l$name"
else
lib_linked=no
fi fi
;; ;;
relink) relink)
# We need an absolute path. # We need an absolute path.
case "$dir" in case "$dir" in
/* | [A-Za-z]:\\*) ;; /* | [A-Za-z]:[/\\]*) ;;
*) *)
absdir=`cd "$dir" && pwd` absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then if test -z "$absdir"; then
@ -739,10 +778,21 @@ if test -z "$show_help"; then
elif test "$hardcode_shlibpath_var" = yes; then elif test "$hardcode_shlibpath_var" = yes; then
compile_shlibpath="$compile_shlibpath$dir:" compile_shlibpath="$compile_shlibpath$dir:"
compile_command="$compile_command -l$name" compile_command="$compile_command -l$name"
else
lib_linked=no
fi fi
;; ;;
*)
lib_linked=no
;;
esac esac
if test "$lib_linked" != yes; then
$echo "$modename: configuration error: unsupported hardcode properties"
exit 1
fi
# Finalize command for both is simple: just hardcode it. # Finalize command for both is simple: just hardcode it.
if test "$hardcode_direct" = yes; then if test "$hardcode_direct" = yes; then
finalize_command="$finalize_command $libdir/$linklib" finalize_command="$finalize_command $libdir/$linklib"
@ -807,14 +857,7 @@ if test -z "$show_help"; then
exit 1 exit 1
fi fi
if test -n "$vinfo" && test -n "$release"; then oldlibs=
$echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
$echo "$help" 1>&2
exit 1
fi
oldlib=
oldobjs=
case "$output" in case "$output" in
"") "")
$echo "$modename: you must specify an output file" 1>&2 $echo "$modename: you must specify an output file" 1>&2
@ -824,16 +867,39 @@ if test -z "$show_help"; then
*/* | *\\*) */* | *\\*)
$echo "$modename: output file \`$output' must have no directory components" 1>&2 $echo "$modename: output file \`$output' must have no directory components" 1>&2
$echo "$help" 1>&2
exit 1 exit 1
;; ;;
*.a) *.a | *.lib)
if test -n "$link_against_libtool_libs"; then
$echo "$modename: error: cannot link libtool libraries into archives" 1>&2
exit 1
fi
if test -n "$deplibs"; then
$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
fi
if test -n "$dlfiles$dlprefiles"; then
$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
fi
if test -n "$rpath"; then
$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
fi
if test -n "$vinfo"; then
$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
fi
if test -n "$release"; then
$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
fi
# Now set the variables for building old libraries. # Now set the variables for building old libraries.
build_libtool_libs=no build_libtool_libs=no
build_old_libs=yes oldlibs="$output"
oldlib="$output"
$show "$rm $oldlib"
$run $rm $oldlib
;; ;;
*.la) *.la)
@ -841,7 +907,7 @@ if test -z "$show_help"; then
case "$output" in case "$output" in
lib*) ;; lib*) ;;
*) *)
$echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2 $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
$echo "$help" 1>&2 $echo "$help" 1>&2
exit 1 exit 1
;; ;;
@ -854,9 +920,6 @@ if test -z "$show_help"; then
library_names= library_names=
old_library= old_library=
dlname= dlname=
current=0
revision=0
age=0
if test -n "$objs"; then if test -n "$objs"; then
$echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
@ -865,21 +928,12 @@ if test -z "$show_help"; then
# How the heck are we supposed to write a wrapper for a shared library? # How the heck are we supposed to write a wrapper for a shared library?
if test -n "$link_against_libtool_libs"; then if test -n "$link_against_libtool_libs"; then
$echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2 $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
exit 1 exit 1
fi fi
if test -n "$dlfiles$dlprefiles"; then if test -n "$dlfiles$dlprefiles"; then
$echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2 $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
# Nullify the symbol file.
compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
fi
if test -z "$rpath"; then
$echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
$echo "$help" 1>&2
exit 1
fi fi
set dummy $rpath set dummy $rpath
@ -888,22 +942,36 @@ if test -z "$show_help"; then
fi fi
install_libdir="$2" install_libdir="$2"
if test -n "$vinfo"; then # Now set the variables for building old libraries.
oldlibs="$objdir/$libname.$libext"
if test -z "$rpath"; then
# Building a libtool convenience library.
oldlibs="$objdir/$libname.al $oldlibs"
build_libtool_libs=convenience
if test -n "$vinfo"; then
$echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
fi
if test -n "$release"; then
$echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
fi
else
# Parse the version information argument. # Parse the version information argument.
IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
set dummy $vinfo set dummy $vinfo 0 0 0
IFS="$save_ifs" IFS="$save_ifs"
if test -n "$5"; then if test -n "$8"; then
$echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$modename: too many parameters to \`-version-info'" 1>&2
$echo "$help" 1>&2 $echo "$help" 1>&2
exit 1 exit 1
fi fi
test -n "$2" && current="$2" current="$2"
test -n "$3" && revision="$3" revision="$3"
test -n "$4" && age="$4" age="$4"
# Check that each of the things are valid numbers. # Check that each of the things are valid numbers.
case "$current" in case "$current" in
@ -940,20 +1008,20 @@ if test -z "$show_help"; then
fi fi
# Calculate the version variables. # Calculate the version variables.
version_vars="version_type current age revision" major=
versuffix=
verstring=
case "$version_type" in case "$version_type" in
none) ;; none) ;;
linux) linux)
version_vars="$version_vars major versuffix"
major=.`expr $current - $age` major=.`expr $current - $age`
versuffix=".$major.$age.$revision" versuffix="$major.$age.$revision"
;; ;;
osf) osf)
version_vars="$version_vars versuffix verstring" major=`expr $current - $age`
major=.`expr $current - $age` versuffix=".$current.$age.$revision"
versuffix=."$current.$age.$revision"
verstring="$current.$age.$revision" verstring="$current.$age.$revision"
# Add in all the interfaces that we are compatible with. # Add in all the interfaces that we are compatible with.
@ -969,15 +1037,13 @@ if test -z "$show_help"; then
;; ;;
sunos) sunos)
version_vars="$version_vars major versuffix" major=".$current"
major=."$current" versuffix=".$current.$revision"
versuffix=."$current.$revision"
;; ;;
windows) windows)
# Like Linux, but with '-' rather than '.', since we only # Like Linux, but with '-' rather than '.', since we only
# want one extension on Windows 95. # want one extension on Windows 95.
version_vars="$version_vars major versuffix"
major=`expr $current - $age` major=`expr $current - $age`
versuffix="-$major-$age-$revision" versuffix="-$major-$age-$revision"
;; ;;
@ -988,157 +1054,150 @@ if test -z "$show_help"; then
exit 1 exit 1
;; ;;
esac esac
else
# No version information. # Clear the version info if we defaulted, and they specified a release.
version_vars= if test -z "$vinfo" && test -n "$release"; then
case "$version_type" in
none) ;;
linux)
version_vars="$version_vars versuffix major"
major= major=
versuffix= versuffix=
;; verstring="0.0"
case "$host" in
*-*-sunos*)
versuffix=".0.0"
;;
esac
fi
osf) # Check to see if the archive will have undefined symbols.
version_vars="$version_vars versuffix verstring" if test "$allow_undefined" = yes; then
major= if test "$allow_undefined_flag" = unsupported; then
versuffix= $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
verstring=":0.0" build_libtool_libs=no
;; build_old_libs=yes
fi
else
# Don't allow undefined symbols.
allow_undefined_flag="$no_undefined_flag"
fi
sunos) # Add libc to deplibs on all systems.
version_vars="$version_vars major versuffix" dependency_libs="$deplibs"
major= deplibs="$deplibs -lc"
versuffix=
;;
windows)
# Like Linux, but with '-' rather than '.', and with a leading
# '-', since we only want one extension on Windows 95.
version_vars="$version_vars major versuffix"
major=
versuffix=
;;
*)
$echo "$modename: unknown library version type \`$version_type'" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit 1
;;
esac
fi fi
# Create the output directory, or remove our outputs if we need to. # Create the output directory, or remove our outputs if we need to.
if test -d $objdir; then if test -d $objdir; then
$show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" $show "${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
$run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* $run ${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
else else
$show "$mkdir $objdir" $show "$mkdir $objdir"
$run $mkdir $objdir $run $mkdir $objdir
status=$? status=$?
if test $status -eq 0 || test -d $objdir; then : if test $status -ne 0 && test ! -d $objdir; then
else exit $status
exit $status
fi
fi
# Check to see if the archive will have undefined symbols.
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
$echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
build_libtool_libs=no
build_old_libs=yes
fi fi
else
# Don't allow undefined symbols.
allow_undefined_flag="$no_undefined_flag"
fi fi
# Add libc to deplibs on all systems.
dependency_libs="$deplibs"
deplibs="$deplibs -lc"
if test "$build_libtool_libs" = yes; then if test "$build_libtool_libs" = yes; then
# Get the real and link names of the library. # Get the real and link names of the library.
eval library_names=\"$library_names_spec\" eval library_names=\"$library_names_spec\"
set dummy $library_names set dummy $library_names
realname="$2" realname="$2"
shift; shift shift; shift
if test -n "$soname_spec"; then if test -n "$soname_spec"; then
eval soname=\"$soname_spec\" eval soname=\"$soname_spec\"
else else
soname="$realname" soname="$realname"
fi fi
lib="$objdir/$realname" lib="$objdir/$realname"
for link for link
do do
linknames="$linknames $link" linknames="$linknames $link"
done done
# Use standard objects if they are PIC. # Use standard objects if they are PIC.
test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'` test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
# Do each of the archive commands. # Transform .lo files to .o files.
eval cmds=\"$archive_cmds\" test "$build_old_libs" = yes && oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run eval "$cmd" || exit $?
done
IFS="$save_ifs"
# Create links to the real library. if test -n "$whole_archive_flag_spec"; then
for linkname in $linknames; do if test -n "$convenience"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
fi
else
for xlib in $convenience; do
# Extract the objects.
xdir="$xlib"x
generated="$generated $xdir"
xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
$show "mkdir $xdir"
$run mkdir "$xdir"
status=$?
if test $status -ne 0 && test ! -d "$xdir"; then
exit $status
fi
$show "(cd $xdir && $AR x ../$xlib)"
$run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
libobjs="$libobjs `echo $xdir/*`"
done
fi
# Do each of the archive commands.
eval cmds=\"$archive_cmds\"
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run eval "$cmd" || exit $?
done
IFS="$save_ifs"
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then if test "$realname" != "$linkname"; then
$show "(cd $objdir && $LN_S $realname $linkname)" $show "(cd $objdir && $LN_S $realname $linkname)"
$run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
fi fi
done done
# If -export-dynamic was specified, set the dlname. # If -export-dynamic was specified, set the dlname.
if test "$export_dynamic" = yes; then if test "$export_dynamic" = yes; then
# On all known operating systems, these are identical. # On all known operating systems, these are identical.
dlname="$soname" dlname="$soname"
fi fi
fi fi
# Now set the variables for building old libraries.
oldlib="$objdir/$libname.a"
;; ;;
*.lo | *.o) *.lo | *.o | *.obj)
if test -n "$link_against_libtool_libs"; then if test -n "$link_against_libtool_libs"; then
$echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2 $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
exit 1 exit 1
fi fi
if test -n "$deplibs"; then if test -n "$deplibs"; then
$echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2 $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
fi fi
if test -n "$dlfiles$dlprefiles"; then if test -n "$dlfiles$dlprefiles"; then
$echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2 $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
# Nullify the symbol file.
compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
fi fi
if test -n "$rpath"; then if test -n "$rpath"; then
$echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2 $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
fi fi
if test -n "$vinfo"; then if test -n "$vinfo"; then
$echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2 $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
fi fi
if test -n "$release"; then if test -n "$release"; then
$echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
fi fi
case "$output" in case "$output" in
@ -1148,7 +1207,7 @@ if test -z "$show_help"; then
exit 1 exit 1
fi fi
libobj="$output" libobj="$output"
obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'` obj=`$echo "X$output" | $Xsed -e "$lo2o"`
;; ;;
*) *)
libobj= libobj=
@ -1160,7 +1219,7 @@ if test -z "$show_help"; then
$run $rm $obj $libobj $run $rm $obj $libobj
# Create the old-style object. # Create the old-style object.
reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
output="$obj" output="$obj"
eval cmds=\"$reload_cmds\" eval cmds=\"$reload_cmds\"
@ -1198,7 +1257,7 @@ if test -z "$show_help"; then
else else
# Just create a symlink. # Just create a symlink.
$show "$LN_S $obj $libobj" $show "$LN_S $obj $libobj"
$run $LN_S $obj $libobj || exit 1 $run $LN_S $obj $libobj || exit $?
fi fi
exit 0 exit 0
@ -1206,11 +1265,11 @@ if test -z "$show_help"; then
*) *)
if test -n "$vinfo"; then if test -n "$vinfo"; then
$echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2 $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
fi fi
if test -n "$release"; then if test -n "$release"; then
$echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
fi fi
if test -n "$rpath"; then if test -n "$rpath"; then
@ -1258,8 +1317,8 @@ if test -z "$show_help"; then
if test -n "$libobjs" && test "$build_old_libs" = yes; then if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects. # Transform all the library objects into standard objects.
compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'`
finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
fi fi
if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
@ -1270,7 +1329,7 @@ if test -z "$show_help"; then
if test -n "$dlsyms"; then if test -n "$dlsyms"; then
# Add our own program objects to the preloaded list. # Add our own program objects to the preloaded list.
dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'`
# Discover the nlist of each of the dlfiles. # Discover the nlist of each of the dlfiles.
nlist="$objdir/${output}.nm" nlist="$objdir/${output}.nm"
@ -1282,8 +1341,7 @@ if test -z "$show_help"; then
$show "$mkdir $objdir" $show "$mkdir $objdir"
$run $mkdir $objdir $run $mkdir $objdir
status=$? status=$?
if test $status -eq 0 || test -d $objdir; then : if test $status -ne 0 && test ! -d $objdir; then
else
exit $status exit $status
fi fi
fi fi
@ -1383,8 +1441,8 @@ dld_preloaded_symbols[] =
$run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $? $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
# Transform the symbol file into the correct name. # Transform the symbol file into the correct name.
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
elif test "$export_dynamic" != yes; then elif test "$export_dynamic" != yes; then
test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
else else
@ -1414,13 +1472,11 @@ dld_preloaded_symbols[] =
finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'` finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
# Create the binary in the object directory, then wrap it. # Create the binary in the object directory, then wrap it.
if test -d $objdir; then : if test ! -d $objdir; then
else
$show "$mkdir $objdir" $show "$mkdir $objdir"
$run $mkdir $objdir $run $mkdir $objdir
status=$? status=$?
if test $status -eq 0 || test -d $objdir; then : if test $status -ne 0 && test ! -d $objdir; then
else
exit $status exit $status
fi fi
fi fi
@ -1430,7 +1486,7 @@ dld_preloaded_symbols[] =
rpath= rpath=
for dir in $temp_rpath; do for dir in $temp_rpath; do
case "$dir" in case "$dir" in
/* | [A-Za-z]:\\*) /* | [A-Za-z]:[/\\]*)
# Absolute path. # Absolute path.
rpath="$rpath$dir:" rpath="$rpath$dir:"
;; ;;
@ -1514,10 +1570,20 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
finalize_command=\"$finalize_command\" finalize_command=\"$finalize_command\"
else else
# When we are sourced in execute mode, \$file and \$echo are already set. # When we are sourced in execute mode, \$file and \$echo are already set.
if test \"\$libtool_execute_magic\" = \"$magic\"; then : if test \"\$libtool_execute_magic\" != \"$magic\"; then
else
echo=\"$qecho\" echo=\"$qecho\"
file=\"\$0\" file=\"\$0\"
# Make sure echo works.
if test \"X\$1\" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
# Yippee, \$echo works!
:
else
# Restart under the correct shell, and then maybe \$echo will work.
exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
fi
fi\ fi\
" "
$echo >> $output "\ $echo >> $output "\
@ -1534,7 +1600,7 @@ else
# If there was a directory component, then change thisdir. # If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then if test \"x\$destdir\" != \"x\$file\"; then
case \"\$destdir\" in case \"\$destdir\" in
/* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;; /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;;
*) thisdir=\"\$thisdir/\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;;
esac esac
fi fi
@ -1594,9 +1660,37 @@ fi\
esac esac
# See if we need to build an old-fashioned archive. # See if we need to build an old-fashioned archive.
if test "$build_old_libs" = "yes"; then for oldlib in $oldlibs; do
# Transform .lo files to .o files.
oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` if test "$build_libtool_libs" = convenience; then
oldobjs="$libobjs"
addlibs="$convenience"
build_libtool_libs=no
else
oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
addlibs="$old_convenience"
fi
# Add in members from convenience archives.
for xlib in $addlibs; do
# Extract the objects.
xdir="$xlib"x
generated="$generated $xdir"
xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
$show "mkdir $xdir"
$run mkdir "$xdir"
status=$?
if test $status -ne 0 && test ! -d "$xdir"; then
exit $status
fi
$show "(cd $xdir && $AR x ../$xlib)"
$run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
oldobjs="$oldobjs `echo $xdir/*`"
done
# Do each command in the archive commands. # Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
@ -1611,14 +1705,18 @@ fi\
$run eval "$cmd" || exit $? $run eval "$cmd" || exit $?
done done
IFS="$save_ifs" IFS="$save_ifs"
done
if test -n "$generated"; then
$show "${rm}r$generated"
$run ${rm}r$generated
fi fi
# Now create the libtool archive. # Now create the libtool archive.
case "$output" in case "$output" in
*.la) *.la)
old_library= old_library=
test "$build_old_libs" = yes && old_library="$libname.a" test "$build_old_libs" = yes && old_library="$libname.$libext"
$show "creating $output" $show "creating $output"
# Only create the output if not a dry run. # Only create the output if not a dry run.
@ -1652,7 +1750,7 @@ libdir='$install_libdir'\
# Do a symbolic link so that the libtool archive can be found in # Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed. # LD_LIBRARY_PATH before the program is installed.
$show "(cd $objdir && $LN_S ../$output $output)" $show "(cd $objdir && $LN_S ../$output $output)"
$run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1 $run eval "(cd $objdir && $LN_S ../$output $output)" || exit $?
;; ;;
esac esac
exit 0 exit 0
@ -1664,7 +1762,7 @@ libdir='$install_libdir'\
# There may be an optional sh(1) argument at the beginning of # There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT). # install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL"; then if test "$nonopt" = "$SHELL" || test "$nonopt" = "/bin/sh"; then
# Aesthetically quote it. # Aesthetically quote it.
arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
case "$arg" in case "$arg" in
@ -1783,7 +1881,7 @@ libdir='$install_libdir'\
fi fi
fi fi
case "$destdir" in case "$destdir" in
/* | [A-Za-z]:\\*) ;; /* | [A-Za-z]:[/\\]*) ;;
*) *)
for file in $files; do for file in $files; do
case "$file" in case "$file" in
@ -1809,7 +1907,7 @@ libdir='$install_libdir'\
# Do each installation. # Do each installation.
case "$file" in case "$file" in
*.a) *.a | *.lib)
# Do the static libraries later. # Do the static libraries later.
staticlibs="$staticlibs $file" staticlibs="$staticlibs $file"
;; ;;
@ -1866,7 +1964,9 @@ libdir='$install_libdir'\
rmcmd="$rm" rmcmd="$rm"
for linkname for linkname
do do
rmcmd="$rmcmd $destdir/$linkname" if test "X$linkname" != "X$realname"; then
rmcmd="$rmcmd $destdir/$linkname"
fi
done done
$show "$rmcmd" $show "$rmcmd"
$run $rmcmd $run $rmcmd
@ -1874,9 +1974,11 @@ libdir='$install_libdir'\
# ... and create new ones. # ... and create new ones.
for linkname for linkname
do do
test "X$dlname" = "X$linkname" && dlname= if test "X$linkname" != "X$realname"; then
$show "(cd $destdir && $LN_S $realname $linkname)" test "X$dlname" = "X$linkname" && dlname=
$run eval "(cd $destdir && $LN_S $realname $linkname)" $show "(cd $destdir && $LN_S $realname $linkname)"
$run eval "(cd $destdir && $LN_S $realname $linkname)"
fi
done done
fi fi
@ -1921,9 +2023,9 @@ libdir='$install_libdir'\
# Deduce the name of the destination old-style object file. # Deduce the name of the destination old-style object file.
case "$destfile" in case "$destfile" in
*.lo) *.lo)
staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/.o/'` staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
;; ;;
*.o) *.o | *.obj)
staticdest="$destfile" staticdest="$destfile"
destfile= destfile=
;; ;;
@ -1943,7 +2045,7 @@ libdir='$install_libdir'\
# Install the old object if enabled. # Install the old object if enabled.
if test "$build_old_libs" = yes; then if test "$build_old_libs" = yes; then
# Deduce the name of the old-style object file. # Deduce the name of the old-style object file.
staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/.o/'` staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
$show "$install_prog $staticobj $staticdest" $show "$install_prog $staticobj $staticdest"
$run eval "$install_prog \$staticobj \$staticdest" || exit $? $run eval "$install_prog \$staticobj \$staticdest" || exit $?
@ -1989,10 +2091,7 @@ libdir='$install_libdir'\
esac esac
fi fi
libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
if test -z "$libdir"; then if test -n "$libdir" && test ! -f "$libfile"; then
$echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
elif test -f "$libfile"; then :
else
$echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
finalize=no finalize=no
fi fi
@ -2142,8 +2241,7 @@ libdir='$install_libdir'\
# Handle -dlopen flags immediately. # Handle -dlopen flags immediately.
for file in $execute_dlfiles; do for file in $execute_dlfiles; do
if test -f "$file"; then : if test ! -f "$file"; then
else
$echo "$modename: \`$file' is not a file" 1>&2 $echo "$modename: \`$file' is not a file" 1>&2
$echo "$help" 1>&2 $echo "$help" 1>&2
exit 1 exit 1
@ -2245,6 +2343,14 @@ libdir='$install_libdir'\
# Export the shlibpath_var. # Export the shlibpath_var.
eval "export $shlibpath_var" eval "export $shlibpath_var"
# Restore saved enviroment variables
if test "${save_LC_ALL+set}" = set; then
LC_ALL="$save_LC_ALL"; export LC_ALL
fi
if test "${save_LANG+set}" = set; then
LANG="$save_LANG"; export LANG
fi
# Now actually exec the command. # Now actually exec the command.
eval "exec \$cmd$args" eval "exec \$cmd$args"
@ -2333,7 +2439,7 @@ libdir='$install_libdir'\
*.lo) *.lo)
if test "$build_old_libs" = yes; then if test "$build_old_libs" = yes; then
oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/.o/'` oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
rmfiles="$rmfiles $dir/$oldobj" rmfiles="$rmfiles $dir/$oldobj"
fi fi
$show "$rm $rmfiles" $show "$rm $rmfiles"
@ -2399,6 +2505,10 @@ compile)
Compile a source file into a libtool library object. Compile a source file into a libtool library object.
This mode accepts the following additional options:
-static always build a \`.o' file suitable for static linking
COMPILE-COMMAND is a command to be used in creating a \`standard' object file COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE. from the given SOURCEFILE.
@ -2487,11 +2597,11 @@ object files.
If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
library objects (\`.lo' files) may be specified, and \`-rpath' is required. library objects (\`.lo' files) may be specified, and \`-rpath' is required.
If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar' If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
and \`ranlib'. using \`ar' and \`ranlib', or on WIndows using \`lib'.
If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
created, otherwise an executable program is created." is created, otherwise an executable program is created."
;; ;;
uninstall) uninstall)