+Thu Dec 5 14:19:21 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
+
+ * ltconfig.in, ltmain.sh.in (link): Add support for creating
+ reloadable objects.
+
+Wed Dec 4 00:42:53 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
+
+ * ltmain.sh.in (install): Fix passing -n flag to `libtool
+ --finish'.
+ (compile): Compile `.lo' and `.o' objects at the same time so that
+ non-PIC objects (if they are available) can be used for linking
+ into programs and creating static archives. Suggested by Ulrich
+ Drepper.
+
Tue Dec 3 10:43:22 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
+ * ltmain.sh.in (link): Give the full path to the libtool library
+ when sourcing it.
+
* ltconfig.in (old_striplib): Do a configuration test to determine
if old-style libraries actually can be stripped or not.
## Process Makefile.am with automake to create Makefile.in.
## Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
AUTOMAKE_OPTIONS = gnits
-SUBDIRS = doc
+SUBDIRS = doc tests
# Distribute ltconfig and ltmain.sh so that the demo directory works.
EXTRA_DIST = libtool.m4 libtoolize.in ltconfig ltconfig.in \
CLEANFILES = libtool libtoolize
# Files in the demo subdirectory that go in the distribution.
-demo_distfiles = Makefile.in Makefile.am aclocal.m4 configure configure.in \
- foo.c foo.h hello.c libinfo main.c
+demo_distfiles = Makefile.in Makefile.am README aclocal.m4 \
+ ansi2knr.1 ansi2knr.c \
+ configure configure.in foo.c foo.h hello.c main.c \
+ run.test
# These are required by libtoolize.
pkgdata_SCRIPTS = config.guess config.sub ltconfig
bin_SCRIPTS = libtool libtoolize
libtool: ltconfig
+ @echo 'WARNING: Warnings from ltconfig can be ignored. :-)'
$(srcdir)/ltconfig --srcdir=$(srcdir) $(pkgdatadir)/ltmain.sh
-libtoolize: libtoolize.in
+# These depend on configure.in for version numbers.
+libtoolize: libtoolize.in configure.in
CONFIG_FILES=libtoolize CONFIG_HEADERS= $(top_builddir)/config.status
chmod +x libtoolize
-$(srcdir)/ltconfig: ltconfig.in
+$(srcdir)/ltconfig: ltconfig.in configure.in
CONFIG_FILES=ltconfig CONFIG_HEADERS= $(top_builddir)/config.status
chmod +x ltconfig
-$(srcdir)/ltmain.sh: ltmain.sh.in
+$(srcdir)/ltmain.sh: ltmain.sh.in configure.in
CONFIG_FILES=ltmain.sh CONFIG_HEADERS= $(top_builddir)/config.status
# Distribute the demo subdirectory.
dist-hook:
mkdir $(distdir)/demo
+ -chmod 755 $(distdir)/demo
+ here=`pwd`; distdir=`cd $(distdir) && pwd` \
+ && cd $(srcdir)/demo \
+ && automake --include-deps --build-dir=$$here/demo --srcdir-name=$(srcdir)/demo --output-dir=$$distdir/demo
@for file in $(demo_distfiles); do \
d=$(srcdir)/demo; \
test -f $(distdir)/demo/$$file \
|| ln $$d/$$file $(distdir)/demo/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/demo/$$file; \
done
+
-New in 0.6b:
+New in 0.6c:
* Total rewrite of libtool, along with a new model for library building.
* Completely rewritten documentation for the new paradigm.
* Sane handling of broken system linkers, such as the ones on AIX
libtool program.
* Automatic mode guessing, based on the command line.
* Support for new `-static' linking flag.
+* Library version information is now passed on the command line, not
+ through a version file.
* Quote metacharacters in arguments to compile mode.
\f
Version 0.6 was never released.
AC_INIT(ltmain.sh.in)
-AM_INIT_AUTOMAKE(libtool, 0.6c)
+AM_INIT_AUTOMAKE(libtool, 0.6d)
pkgdatadir='${datadir}/libtool'
AC_SUBST(pkgdatadir)
PROGRAM=ltconfig
PACKAGE=@PACKAGE@
VERSION=@VERSION@
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
rm="rm -f"
help="Try \`$progname --help' for more information."
old_CC="$CC"
old_CFLAGS="$CFLAGS"
+old_CPPFLAGS="$CPPFLAGS"
old_LD="$LD"
old_RANLIB="$RANLIB"
if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
- old_postinstall_cmds='$RANLIB $oldlib'
+ old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib"
fi
# FIXME: this is simplistic, and doesn't allow for cross-compiling.
echo $ac_t none 1>&6
fi
+
+# Check if old-style libraries may be stripped.
+old_striplib=
+if test -n "$striplib"; then
+ echo $ac_n "checking if $striplib works for static archives... $ac_c" 1>&6
+ old_striplib="$striplib"
+ trap 'rm -rf conftest*; exit 1' 1 2 15
+ cat > conftest.c <<EOF
+#line 305 "$progname"
+int external_func() { return 1; }
+static int hidden_func() { return 2; }
+EOF
+ if { (eval echo $progname:308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ oldlib=conftest.a
+ oldobjs=' conftest.o'
+
+ # Do each of the archive commands.
+ cmds=`eval echo \"$old_archive_cmds\"`
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ if { (echo $progname:317: \"$cmd\") 1>&5; ($cmd) 2>&5; }; then :
+ else
+ old_striplib=
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test -n "$old_striplib"; then
+ if { (echo $progname:326: \"$old_striplib conftest.a\") 1>&5; ($old_striplib conftest.a) 2>&5; }; then :
+ else
+ old_striplib=
+ fi
+ fi
+ else
+ old_striplib=
+ fi
+ rm -rf conftest*
+ trap '' 1 2 15
+
+ if test -n "$old_striplib"; then
+ echo "$ac_t""yes" 1>&6
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+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.
ofile=libtool
-trap "rm -fr $ofile; exit 1" 1 2 15
+trap "$rm $ofile; exit 1" 1 2 15
echo creating $ofile
rm -fr $ofile
cat <<EOF > $ofile
#! /bin/sh
# libtool - Provide generalized library-building support services.
-# See ABOUT-LIBS for more information.
#
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
# This program was configured as follows,
# How to strip a library file.
striplib='$striplib'
+old_striplib='$old_striplib'
# This is the shared library path variable.
shlibpath_var=$shlibpath_var
# Support stripping libraries.
if test -n "$stripme"; then
- if test -n "$striplib"; then
- $show "$striplib $oldlib"
- $run $striplib $oldlib || exit $?
+ if test -n "$old_striplib"; then
+ $show "$old_striplib $oldlib"
+ $run $old_striplib $oldlib || exit $?
else
echo "$progname: warning: no library stripping program" 1>&2
fi