*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1997-11-27 16:57:00 +00:00
parent d75280c53a
commit 5368cd4ce3
7 changed files with 113 additions and 61 deletions

View File

@ -1,5 +1,9 @@
Thu Nov 27 08:53:05 1997 Gordon Matzigkeit <gord@gnu.org>
* Makefile.am (maintainer-checkin, maintainer-release): New
commands to reap the full benefit of using PRCS to maintain
libtool version numbers.
* ltconfig.in, ltmain.in (global_symbol_pipe): Explicitly cast all
addresses to __ptr_t. This fixes a bug due to a strict IRIX
compiler. Suggested by Kaveh R. Ghazi.

View File

@ -96,26 +96,29 @@ $(srcdir)/demo/aclocal.m4: demo/configure.in demo/acinclude.m4
# maintainer-checkin whenever I feel like it, then I run a maintainer-release
# after changing the project major version number in my project file.
#
# This works because of the special `$Format ...$' string I have in my
# This works because of the special `$Format: ...$' string I have in my
# `configure.in'.
PRCS = prcs
.PHONY: maintainer-checkin maintainer-check-versions maintainer-release
maintainer-checkin:
cd $(top_srcdir) && $(PRCS) checkin $(PACKAGE)
maintainer-release: distcheck
cd $(top_srcdir) && $(PRCS) checkin $(PACKAGE)
@newver=`grep '^(Parent-Version[ ]' $(srcdir)/$(PACKAGE).prj | \
maintainer-check-versions:
@newver=`grep '^(Project-Version[ ]' $(srcdir)/$(PACKAGE).prj | \
sed 's/^.*[ ]\+\([^ ]\+\)[ ]\+[0-9]\+).*$$/\1/'`; \
if test "X$$newver" = "X$(VERSION)"; then \
echo "Parent-Version \`$$newver' is the same as the released version." 1>&2; \
echo "You must change the Project-Version major number in $(top_srcdir)/$(PACKAGE).prj before releasing." 1>&2; \
echo "Project-Version major \`$$newver' is the same as the released version." 1>&2; \
echo "You must change Project-Version in $(top_srcdir)/$(PACKAGE).prj before releasing." 1>&2; \
exit 1; \
fi; \
echo "============================="; \
fi
maintainer-release: maintainer-check-versions distcheck
cd $(top_srcdir) && $(PRCS) checkin $(PACKAGE)
cd $(top_srcdir) && $(PRCS) rekey $(PACKAGE) configure.in
echo "============================="; \
echo "Congratulations! $(PACKAGE)-$(VERSION) is now complete."; \
echo; \
echo "Distribute \`$(PACKAGE)-$(VERSION).tar.gz' to the masses, and start thinking about"; \
echo "how you're going to tackle $(PACKAGE)-$$newver!"; \
echo "the next development cycle."; \
echo "============================="
cd $(top_srcdir) && $(PRCS) rekey $(PACKAGE) configure.in

3
NEWS
View File

@ -1,5 +1,8 @@
NEWS - list of user-visible changes between releases of GNU Libtool
New in 1.0x - 1997-XX-XX, Gordon Matzigkeit:
* Bug fixes.
New in 1.0f - 1997-11-08, Gordon Matzigkeit:
* Bug fixes.
* New `-all-static' flag to prevent any dynamic linking. The regular

6
TODO
View File

@ -24,6 +24,8 @@ so I got to remove it for now. However, the manual does not explain
what the debugging difficulty is, and so, I wonder what problems I
will meet.''
* Document the change from `-allow-undefined' to `-no-undefined'.
* Some packages, such as GIMP, choose to put a note about
`--disable-shared' in their README:
@ -59,6 +61,10 @@ underscore; not starting with a digit) are exported."
In the future:
**************
* Inter-library dependencies should be automatically tracked by
libtool. Reminded by Alexandre Oliva. This also would require
looking up installed libtool libraries for transparent support.
* Implement full multi-language support. Currently, this is only for
C++, but there are beginnings of this in the manual (Other Languages).
This includes writing libtool not to be so dependent on the compiler

View File

@ -6,7 +6,7 @@ dnl `Makefile.am.' It uses PRCS, which is like CVS, except better... get
dnl `prcs.README' from your nearest GNU mirror.
dnl $Format: "AM_INIT_AUTOMAKE($Project$,$ProjectMajorVersion$)"$
AM_INIT_AUTOMAKE(libtool,1.2b)
AM_INIT_AUTOMAKE(libtool,1.2c)
pkgdatadir='${datadir}/libtool'
AC_SUBST(pkgdatadir)

View File

@ -26,8 +26,34 @@
# A lot of this script is taken from autoconf-2.10.
echo=echo
if test "X`$echo '\t'`" = 'X\t'; then :
else
# The Solaris and AIX default echo program unquotes backslashes.
# This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'
# So, we emulate echo with printf '%s\n'
echo='printf %s\n'
if test "X`$echo '\t'`" = 'X\t'; then :
else
# Oops. We have no working printf. Try to find a not-so-buggy echo.
echo=echo
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
save_PATH="$PATH"
PATH="$PATH":/usr/ucb
for dir in $PATH; do
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
echo="$dir/echo"
break
fi
done
IFS="$save_ifs"
PATH="$save_PATH"
fi
fi
# The name of this program.
progname=`echo "$0" | sed 's%^.*/%%'`
progname=`$echo "$0" | sed 's%^.*/%%'`
# Constants:
PROGRAM=ltconfig
@ -668,12 +694,14 @@ if test "$with_gnu_ld" = yes; then
case "$host_os" in
sunos4*)
ld_shlibs=yes
archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
ld_shlibs=yes
@ -684,7 +712,6 @@ if test "$with_gnu_ld" = yes; then
esac
if test "$ld_shlibs" = yes; then
archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs'
hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir'
export_dynamic_flag_spec='${wl}-export-dynamic'
fi
@ -693,7 +720,7 @@ else
case "$host_os" in
aix3*)
allow_undefined_flag=unsupported
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname'
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
@ -706,7 +733,7 @@ else
aix4*)
allow_undefined_flag=unsupported
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname'
archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
hardcode_direct=yes
hardcode_minus_L=yes
;;
@ -716,7 +743,7 @@ else
# doesn't break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o'
archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@ -725,7 +752,7 @@ else
# Unfortunately, older versions of FreeBSD 2 don't have this feature.
freebsd2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=no
@ -733,7 +760,7 @@ else
# FreeBSD 3, at last, uses gcc -shared to do shared libraries.
freebsd3*)
archive_cmds='$CC -shared -o $lib$libobjs$deplibs'
archive_cmds='$CC -shared -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@ -741,21 +768,23 @@ else
;;
hpux9*)
archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib'
archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;;
hpux10*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs'
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;;
irix5* | irix6*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;;
@ -768,7 +797,7 @@ else
;;
openbsd*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
@ -778,7 +807,7 @@ else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
archive_cmds='echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;echo DATA >> $objdir/$libname.def;echo " SINGLE NONSHARED" >> $objdir/$libname.def;echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
;;
@ -790,12 +819,12 @@ else
;;
sco3.2v5*)
archive_cmds='$LD -G -o $lib$libobjs$deplibs'
archive_cmds='$LD -G -o $lib$libobjs'
hardcode_direct=yes
;;
solaris2*)
archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
;;
@ -809,7 +838,7 @@ else
;;
uts4*)
archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
archive_cmds='$LD -G -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
hardcode_minus_L=no
@ -950,7 +979,7 @@ struct {
dld_preloaded_symbols[] =
{
EOF
sed 's/^\(.*\) \(.*\)$/ {"\1", \&\2},/' < "$nlist" >> conftest.c
sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
cat <<\EOF >> conftest.c
{0},
};
@ -1223,10 +1252,10 @@ for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
postinstall_cmds | postuninstall_cmds | finish_cmds)
# Double-quote double-evaled strings.
eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
eval "$var=\`$echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
;;
*)
eval "$var=\`echo \"\$$var\" | sed \"\$sed_quote_subst\"\`"
eval "$var=\`$echo \"\$$var\" | sed \"\$sed_quote_subst\"\`"
;;
esac
done
@ -1405,7 +1434,7 @@ EOF
;;
*) cat <<EOF >> $ofile
# Find the path to this script.
thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\`
thisdir=\`$echo "\$0" | sed -e 's%/[^/]*\$%%'\`
test "X\$0" = "X\$thisdir" && thisdir=.
# Execute the libtool backend.

View File

@ -22,8 +22,7 @@
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
#FIXME: echo=echo
echo='printf %s\n'
echo=echo
if test "X`$echo '\t'`" = 'X\t'; then :
else
# The Solaris and AIX default echo program unquotes backslashes.
@ -76,14 +75,14 @@ if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "$LTCONFIG_VERSION" != "$VERSION"; then
$echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit 1
fi
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
$echo "$progname: not configured to build any kind of library" 1>&2
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
echo "$progname: not configured to build any kind of library" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit 1
fi
@ -131,7 +130,7 @@ do
;;
--version)
$echo "$PROGRAM (GNU $PACKAGE) $VERSION"
echo "$PROGRAM (GNU $PACKAGE) $VERSION"
exit 0
;;
@ -140,16 +139,16 @@ do
;;
--features)
$echo "host: $host"
echo "host: $host"
if test "$build_libtool_libs" = yes; then
$echo "enable shared libraries"
echo "enable shared libraries"
else
$echo "disable shared libraries"
echo "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
$echo "enable static libraries"
echo "enable static libraries"
else
$echo "disable static libraries"
echo "disable static libraries"
fi
exit 0
;;
@ -369,8 +368,8 @@ if test -z "$show_help"; then
# Create an invalid libtool object if no PIC, so that we don't accidentally
# link it into a program.
if test "$build_libtool_libs" != yes; then
$show "$echo timestamp > $libobj"
$run eval "\$echo timestamp > \$libobj" || exit $?
$show "echo timestamp > $libobj"
$run eval "echo timestamp > \$libobj" || exit $?
fi
exit 0
@ -380,7 +379,7 @@ if test -z "$show_help"; then
link)
progname="$progname: link"
CC="$nonopt"
allow_undefined=no
allow_undefined=yes
compile_command="$CC"
finalize_command="$CC"
@ -468,7 +467,8 @@ if test -z "$show_help"; then
;;
-allow-undefined)
allow_undefined=yes
# FIXME: remove this flag sometime in the future.
$echo "$progname: \`-allow-undefined' is deprecated because it is the default" 1>&2
continue
;;
@ -513,6 +513,11 @@ if test -z "$show_help"; then
-l*) deplibs="$deplibs $arg" ;;
-no-undefined)
allow_undefined=no
continue
;;
-o) prev=output ;;
-rpath)
@ -778,8 +783,10 @@ if test -z "$show_help"; then
esac
# Now actually substitute the argument into the commands.
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
if test -n "$arg"; then
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
fi
done
if test -n "$prev"; then
@ -943,7 +950,7 @@ if test -z "$show_help"; then
*)
$echo "$progname: unknown library version type \`$version_type'" 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
exit 1
;;
esac
@ -1082,8 +1089,8 @@ if test -z "$show_help"; then
if test "$build_libtool_libs" != yes; then
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
$show "$echo timestamp > $libobj"
$run eval "\$echo timestamp > $libobj" || exit $?
$show "echo timestamp > $libobj"
$run eval "echo timestamp > $libobj" || exit $?
exit 0
fi
@ -1203,7 +1210,7 @@ if test -z "$show_help"; then
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
wcout=`wc "$nlist" 2>/dev/null`
count=`$echo "$wcout" | sed 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
count=`echo "$wcout" | sed 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
(test "$count" -ge 0) 2>/dev/null || count=-1
else
$rm "$nlist"T
@ -1230,7 +1237,7 @@ EOF
if test -f "$nlist"; then
sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
else
$echo '/* NONE */' >> "$objdir/$dlsyms"
echo '/* NONE */' >> "$objdir/$dlsyms"
EOF
fi
@ -1258,7 +1265,7 @@ dld_preloaded_symbols[] =
EOF
if test -f "$nlist"; then
sed 's/^\(.*\) \(.*\)$/ {"\1", \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
fi
cat <<\EOF >> "$objdir/$dlsyms"
@ -1272,7 +1279,7 @@ EOF
;;
*)
echo "$progname: unknown suffix for \`$dlsyms'" 1>&2
$echo "$progname: unknown suffix for \`$dlsyms'" 1>&2
exit 1
;;
esac
@ -1475,7 +1482,7 @@ EOF
# The program doesn't exist.
\$echo "\$0: error: \$progdir/\$program does not exist" 1>&2
\$echo "This script is just a wrapper for \$program." 1>&2
\$echo "See the $PACKAGE documentation for more information." 1>&2
echo "See the $PACKAGE documentation for more information." 1>&2
exit 1
fi
fi
@ -1995,11 +2002,11 @@ EOF
done
fi
$echo "To link against installed libraries in LIBDIR, users may have to:"
echo "To link against installed libraries in LIBDIR, users may have to:"
if test -n "$shlibpath_var"; then
$echo " - add LIBDIR to their \`$shlibpath_var' environment variable"
echo " - add LIBDIR to their \`$shlibpath_var' environment variable"
fi
$echo " - use the \`-LLIBDIR' linker flag"
echo " - use the \`-LLIBDIR' linker flag"
exit 0
;;
@ -2341,12 +2348,12 @@ a program from several object files.
The following components of LINK-COMMAND are treated specially:
-all-static do not do any dynamic linking at all
-allow-undefined allow a libtool library to reference undefined symbols
-dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-static do not do any dynamic linking of libtool libraries
@ -2392,7 +2399,7 @@ EOF
;;
esac
$echo
echo
$echo "Try \`$progname --help' for more information about other modes."
exit 0