*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1997-04-01 18:29:23 +00:00 committed by Gordon Matzigkeit
parent af9c17e373
commit 7f9b4e50c5
4 changed files with 224 additions and 126 deletions

View File

@ -1,3 +1,20 @@
Mon Dec 2 13:57:28 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* tests: Added new subdirectory.
* doc/libtool.texi: Doc fixes, and finished up the Configuring
chapter.
* ltmain.sh.in (link): Allow *._o and *.l_o to be valid object
file suffixes, for Automake's ansi2knr implementation.
New option -version-info replaces -version-file.
[help]: Give a pointer to mode-specific help when appropriate.
* ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC.
* demo: Also test Automake's ansi2knr support.
Tue Nov 19 14:09:27 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Bug fixes for AIX 4, and for static platforms.

View File

@ -1,5 +1,5 @@
AC_INIT(ltmain.sh.in)
AM_INIT_AUTOMAKE(libtool, 0.6a)
AM_INIT_AUTOMAKE(libtool, 0.6b)
pkgdatadir='${datadir}/libtool'
AC_SUBST(pkgdatadir)

View File

@ -39,6 +39,7 @@ help="Try \`$progname --help' for more information."
# Global variables:
enable_shared=yes
# All known linkers require a `.a' archive for static linking.
enable_static=yes
ltmain=NONE
silent=
@ -136,7 +137,7 @@ if test "$ltmain" = NONE; then
exit 1
fi
if test -e "$ltmain"; then :
if test -f "$ltmain"; then :
else
echo "$progname: warning: \`$ltmain' does not exist" 1>&2
fi
@ -246,6 +247,50 @@ host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
# Determine commands to create old-style static archives.
old_archive_cmds='ar cru $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
# If RANLIB is not set, then run the test.
if test -z "$RANLIB"; then
result=no
echo $ac_n "checking for ranlib... $ac_c" 1>&6
if test "$result" = no; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/ranlib; then
RANLIB="ranlib"
result="ranlib"
break
fi
done
IFS="$save_ifs"
fi
echo $ac_t "$result" 1>&6
fi
if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
old_postinstall_cmds='$RANLIB $oldlib'
fi
# FIXME: this is simplistic, and doesn't allow for cross-compiling.
echo $ac_n "checking for library strip program... $ac_c" 1>&6
striplib=
if strip -x /dev/null 2>&1 | grep '/dev/null' >/dev/null 2>&1; then
# strip: /dev/null: Inappropriate file type or format
striplib="strip -x"
fi
if test -n "$striplib"; then
echo $ac_t "$striplib" 1>&6
else
echo $ac_t none 1>&6
fi
# Check to see if we are using GCC.
if test "$with_gcc" = no; then
# If CC is not set, then try to find GCC or a usable CC.
@ -342,17 +387,12 @@ if test "$with_gcc" = yes; then
profile_flag_pattern='-pg?'
wl='-Wl,'
link_static_flag='-static'
case "$host" in
*-*-aix3* | *-*-aix4*)
# Yippee! All AIX code is position-independent.
compile_flags='-DPIC'
;;
esac
else
# PORTME Check for PIC flags for the system compiler.
case "$host" in
*-*-aix3* | *-*-aix4*)
compile_flags='-DPIC'
# FIXME compile_flags, or are all AIX platforms PIC?
link_static_flags='-bnso -bI:/lib/syscalls.exp'
;;
*-*-hpux10*)
@ -360,7 +400,7 @@ else
;;
*-*-osf3*)
# Yippee! Another system with position-independant code by default.
# FIXME - compile_flags, link_static_flag?
compile_flags='-DPIC'
;;
@ -372,6 +412,7 @@ else
*-*-sunos4*)
compile_flags='-PIC -DPIC'
link_static_flag='-Bstatic'
wl='-Qoption ld '
;;
*)
@ -380,6 +421,13 @@ else
esac
fi
case "$host" in
rs6000-*-*)
# Yippee! All rs/6000 code is position-independent.
compile_flags='-DPIC'
;;
esac
if test -n "$compile_flags"; then
echo $ac_t "$compile_flags" 1>&6
compile_flags=" $compile_flags"
@ -439,13 +487,13 @@ else
# PORTME fill in a description of your system's linker (not GNU ld)
case "$host" in
*-*-aix3*)
archive_cmds='$rm $lib.exp;/ucb/nm$libobjs | egrep " D " | sed "s/^.* //" > $lib.exp;$LD -o $lib.o$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE -lc$deplibs;ar cru $lib $lib.o'
archive_cmds='$rm $lib.exp;/ucb/nm$libobjs | egrep \" D \" | sed \"s/^.* //\" > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE -lc$deplibs;ar cru $lib $objdir/$soname'
hardcode_shlibpath_var=yes
hardcode_minus_L=yes
;;
*-*-aix4*)
archive_cmds='$rm $lib.exp;/bin/nm -B$libobjs | egrep " D " | sed "s/^.* //" > $lib.exp;$cc -o $lib.o$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;ar cru $lib $lib.o'
archive_cmds='$rm $lib.exp;/bin/nm -B$libobjs | egrep \" D \" | sed \"s/^.* //\" > $lib.exp;$cc -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;ar cru $lib $objdir/$soname'
hardcode_shlibpath_var=yes
hardcode_minus_L=yes
;;
@ -453,7 +501,6 @@ else
*-*-freebsd*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
hardcode_minus_L=yes
link_rpath_flag='-L$libdir'
;;
*-*-hpux10*)
@ -504,7 +551,7 @@ lib_names=
soname_spec=
postinstall_cmds=
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
shlibpath_var=
version_type=none
dynamic_linker="$host_os ld.so"
@ -514,31 +561,37 @@ case "$host" in
# Shared libraries and static libraries currently use the same namespace.
test "$enable_shared" = no || enable_static=no
version_type=solaris # But only for show... AIX has no versioning.
version_type=linux
lib_names='$libname.so.$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX has no versioning support, so we append a major version to the name.
soname_spec='$libname.so.$major'
;;
*-*-freebsd*)
version_type=sunos
lib_names='$libname.so.$versuffix $libname.so'
finish_cmds='ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-gnu*)
version_type=sunos
lib_names='$libname.so.$versuffix'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-hpux10*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
dynamic_linker="$host_os dld.sl"
version_type=hpux
version_type=sunos
shlibpath_var=SHLIB_PATH
lib_names='$libname.sl.$versuffix $libname.sl.$major $libname.sl'
soname_spec='$libname.sl.$major'
postinstall='chmod 555 $lib'
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
;;
# No shared lib support for linuxoldld or linuxaout.
@ -548,32 +601,39 @@ case "$host" in
;;
*-*-linux*)
version_type=solaris
version_type=linux
lib_names='$libname.so.$versuffix $libname.so.$major $libname.so'
finish_cmds='ldconfig $libdir'
soname_spec='$libname.so.$major'
finish_cmds='ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-netbsd*)
version_type=sunos
lib_names='$libname.so.$versuffix'
finish_cmds='ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-osf3*)
version_type=osf
soname_spec='$libname.so'
lib_names='$libname.so.$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-solaris2*)
version_type=solaris
lib_names='$libname.so.$versuffix'
version_type=linux
lib_names='$libname.so.$versuffix $libname.so.$major $libname.so'
soname_spec='$libname.so.$major'
shlibpath_var=LD_LIBRARY_PATH
;;
*-*-sunos4*)
version_type=sunos
lib_names='$libname.so.$versuffix'
finish_cmds='ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
*)
@ -589,40 +649,22 @@ echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
test "$can_build_shared" = "no" && enable_shared=no
if test "$enable_shared" = yes; then
# On AIX, we do not build both static and shared libraries.
case "$host_os" in
aix*)
test "$enable_static" = yes && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds;\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
esac
fi
echo "$ac_t""$enable_shared" 1>&6
# All known linkers require a `.a' archive for static linking.
enable_static=yes
# Determine commands to create old-style static archives.
old_archive_cmds='ar cru $oldlib$oldobjs'
old_postinstall_cmds=''
# If RANLIB is not set, then run the test.
if test -z "$RANLIB"; then
result=no
echo $ac_n "checking for ranlib... $ac_c" 1>&6
if test "$result" = no; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/ranlib; then
RANLIB="ranlib"
result="ranlib"
break
fi
done
IFS="$save_ifs"
fi
echo $ac_t "$result" 1>&6
fi
if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
old_postinstall_cmds='$RANLIB $oldlib'
fi
ofile=libtool
trap "rm -fr $ofile; exit 1" 1 2 15
@ -696,6 +738,9 @@ finish_cmds='$finish_cmds'
# The flag that specifies a runtime search path when linking.
link_rpath_flag='$link_rpath_flag'
# How to strip a library file.
striplib='$striplib'
# This is the shared library path variable.
shlibpath_var=$shlibpath_var

View File

@ -310,22 +310,22 @@ if test -z "$show_help"; then
esac
fi
# Check to see that this really is a libtool archive.
if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
else
echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
exit 1
fi
libdir=
. $file
if test -z "$libdir"; then
echo "$progname: \`$arg' contains no -rpath information" 1>&2
exit 1
fi
if test -n "$link_rpath_flag"; then
# Check to see that this really is a libtool archive.
if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
else
echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
exit 1
fi
libdir=
. $file
if test -z "$libdir"; then
echo "$progname: \`$arg' contains no -rpath information" 1>&2
exit 1
fi
carg="`eval echo \"$link_rpath_flag\"` $carg"
farg="$carg"
fi
@ -336,14 +336,18 @@ if test -z "$show_help"; then
elif test "$hardcode_shlibpath_var" = yes; then
# Give an absolute path to the library.
dir=`cd $dir && pwd`
case "$dir" in
/*) carg="-L`cd $dir && pwd`/$objdir $arg" ;;
/*) absdir="$dir" ;;
*)
echo "$progname: cannot determine absolute pathname of \`$dir'" 1>&2
exit 1
absdir=`cd $dir && pwd`
if test -z "$absdir"; then
echo "$progname: cannot determine absolute pathname of \`$dir'" 1>&2
exit 1
fi
;;
esac
carg="-L$absdir/$objdir $carg"
farg="-L$libdir $farg"
fi
else
# Transform directly to old archives if we don't build new libraries.
@ -453,10 +457,15 @@ if test -z "$show_help"; then
case "$version_type" in
none) ;;
hpux)
libtool)
version_vars="$version_vars versuffix"
versuffix="$current.$age.$revision"
;;
linux)
version_vars="$version_vars major versuffix"
major="$current"
versuffix="$current.$revision"
major=`expr $current - $age`
versuffix="$major.$age.$revision"
;;
osf)
@ -476,14 +485,9 @@ if test -z "$show_help"; then
verstring="$verstring:${current}.0"
;;
solaris)
version_vars="$version_vars major versuffix"
major=`expr $current - $age`
verstring="$major.$age.$revision"
;;
sunos)
version_vars="$version_vars versuffix"
version_vars="$version_vars major versuffix"
major="$current"
versuffix="$current.$revision"
;;
@ -497,6 +501,15 @@ if test -z "$show_help"; then
# Maybe add a suffix.
test -n "$suffix" && libname=$libname"_$suffix"
# Create the output directory, or remove our outputs if we need to.
if test -d $objdir; then
$show "$rm $objdir/$libname.*"
$run $rm $objdir/$libname.*
else
$show "$mkdir $objdir"
$run $mkdir $objdir || exit $?
fi
if test "$build_libtool_libs" = yes; then
# Get the real and link names of the library.
library_names=`eval echo \"$lib_names\"`
@ -504,7 +517,7 @@ if test -z "$show_help"; then
realname="$2"
shift; shift
if test -n "$soname"; then
if test -n "$soname_spec"; then
soname=`eval echo \"$soname_spec\"`
else
soname="$realname"
@ -517,22 +530,13 @@ if test -z "$show_help"; then
linknames="$linknames $objdir/$link"
done
# Create the output directory, or remove our outputs if we need to.
if test -d $objdir; then
$show "$rm $objdir/$libname.*"
$run $rm $objdir/$libname.*
else
$show "$mkdir $objdir"
$run $mkdir $objdir || exit $?
fi
# Do each of the archive commands.
cmds=`eval echo \"$archive_cmds\"`
IFS=${IFS= }; save_ifs="$IFS"; IFS=';'
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run $cmd || exit $?
eval "$run $cmd" || exit $?
done
IFS="$save_ifs"
@ -553,8 +557,9 @@ if test -z "$show_help"; then
*)
if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
# We have no uninstalled library dependencies, so finalize right now.
$show "$finalize_command"
$run $finalize_command
compile_command=`echo "$compile_command" | sed "s%-o $objdir/%-o %"`
$show "$compile_command"
$run $compile_command
exit $?
fi
@ -639,6 +644,11 @@ else
# Find the directory that this script lives in.
thisdir=\`echo \$0 | sed 's%/[^/]*$%%'\`
test "x\$thisdir" = "x\$0" && thisdir=.
# Try to get the absolute directory name.
absdir=\`cd "\$thisdir" && pwd\`
test -n "\$absdir" && thisdir="\$absdir"
program="\$thisdir/$objdir/$output"
EOF
@ -700,11 +710,11 @@ EOF
cmds=`eval echo \"$old_archive_cmds\"`
# Do each command in the archive commands.
IFS=${IFS= }; save_ifs="$IFS"; IFS=';'
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run $cmd || exit $?
eval "$run $cmd" || exit $?
done
IFS="$save_ifs"
fi
@ -771,7 +781,10 @@ EOF
-g) prev="-g" ;;
-m) prev="-m" ;;
-o) prev="-o" ;;
-s) stripme=" -s" ;;
-s)
stripme=" -s"
continue
;;
-*) ;;
*)
@ -877,22 +890,33 @@ EOF
shift
shift
# FIXME support stripping libraries
if test -n "$stripme"; then
echo "$progname: will not strip libraries (yet)" 1>&2
fi
# Install the shared library and build the symlinks.
$show "$install_prog $dir/$realname $destdir/$realname"
$run $install_prog $dir/$realname $destdir/$realname || exit $?
eval "$run $install_prog $dir/$realname $destdir/$realname" || exit $?
# Support stripping libraries.
if test -n "$stripme"; then
if test -n "$striplib"; then
$show "$striplib $destdir/$realname"
$run $striplib $destdir/$realname || exit $?
else
echo "$progname: warning: no library stripping program" 1>&2
fi
fi
if test -n "$1"; then
# Delete the old symlinks.
$show "$rm $@"
$run $rm $@
rmcmd="$rm"
for linkname
do
rmcmd="$rmcmd $destdir/$linkname"
done
$show "$rmcmd"
$run $rmcmd
# ... and create new ones.
for linkname; do
for linkname
do
$show "$ln_s $realname $destdir/$linkname"
$run $ln_s $realname $destdir/$linkname
done
@ -901,11 +925,11 @@ EOF
# Do each command in the postinstall commands.
lib="$destdir/$realname"
cmds=`eval echo \"$postinstall_cmds\"`
IFS=${IFS= }; save_ifs="$IFS"; IFS=';'
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run $cmd || exit $?
eval "$run $cmd" || exit $?
done
IFS="$save_ifs"
fi
@ -940,6 +964,7 @@ EOF
exit 1
fi
finalize=yes
for lib in $link_against_libtool_libs; do
# Check to see that each library is installed.
libdir=
@ -952,18 +977,23 @@ EOF
elif test -f "$libfile"; then :
else
echo "$progname: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
finalize=no
fi
done
if test "$hardcode_minus_L" = yes && test "$hardcode_shlibpath_var" = yes; then
echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker"
$show "$finalize_command"
if $run $finalize_command; then :
if test "$finalize" = no; then
echo "$progname: warning: cannot relink \`$file' on behalf of your buggy system linker"
else
echo "$progname: error: relink \`$file' with the above command before installing it" 1>&2
continue
echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker"
$show "$finalize_command"
if $run $finalize_command; then :
else
echo "$progname: error: relink \`$file' with the above command before installing it" 1>&2
continue
fi
file="$objdir/$file"T
fi
file="$objdir/$file"T
else
# Install the binary that we compiled earlier.
dir=`echo "$file" | sed 's%/[^/]*$%%'`
@ -996,21 +1026,26 @@ EOF
# Set up the ranlib parameters.
oldlib="$destdir/$name"
# FIXME support stripping libraries
if test -n "$stripme"; then
echo "$progname: will not strip libraries (yet)" 1>&2
fi
$show "$install_prog $file $oldlib"
$run $install_prog $file $oldlib || exit $?
# Support stripping libraries.
if test -n "$stripme"; then
if test -n "$striplib"; then
$show "$striplib $oldlib"
$run $striplib $oldlib || exit $?
else
echo "$progname: warning: no library stripping program" 1>&2
fi
fi
# Do each command in the postinstall commands.
cmds=`eval echo \"$old_postinstall_cmds\"`
IFS=${IFS= }; save_ifs="$IFS"; IFS=';'
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run $cmd || exit $?
eval "$run $cmd" || exit $?
done
IFS="$save_ifs"
done
@ -1034,18 +1069,19 @@ EOF
libdirs="$nonopt"
if test -n "$finish_cmds" && test -n "$libdirs"; then
for dir; do
for dir
do
libdirs="$libdirs $dir"
done
for libdir in $libdirs; do
# Do each command in the postinstall commands.
cmds=`eval echo \"$finish_cmds\"`
IFS=${IFS= }; save_ifs="$IFS"; IFS=';'
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run $cmd
eval "$run $cmd"
done
IFS="$save_ifs"
done