]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
*** empty log message ***
authorGordon Matzigkeit <gord@gnu.ai.mit.edu>
Tue, 1 Apr 1997 18:49:25 +0000 (18:49 +0000)
committerGordon Matzigkeit <gord@gnu.org>
Tue, 1 Apr 1997 18:49:25 +0000 (18:49 +0000)
ChangeLog
Makefile.am
NEWS
configure.in
ltconfig.in
ltmain.sh.in

index b6c9cf7cd157493e10441e8b6a86e0cb2615079a..63d458763bfd73d4a473de89640e9b6dce76197a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
+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.
 
index 577f9f5370491f4b501cb96c8d7a930352e11a4f..868296f8fcec1a8feb2d1b0fb5cb0c066d3aaf72 100644 (file)
@@ -1,7 +1,7 @@
 ## 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 \
@@ -9,8 +9,10 @@ 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
@@ -24,25 +26,32 @@ aclocal_DATA = libtool.m4
 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
+
diff --git a/NEWS b/NEWS
index 419fc54dd208700867feee4bdaace8f2e2fd84ca..a40fae46a91ef59d5064fb4f0bb1d32ba5dfab81 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-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
@@ -8,6 +8,8 @@ New in 0.6b:
   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.
index 6dc3e4a53176aa222fabb92585945d657970e238..f052de773951e962761d730f19dc7e3a2fd4f5a6 100644 (file)
@@ -1,5 +1,5 @@
 AC_INIT(ltmain.sh.in)
-AM_INIT_AUTOMAKE(libtool, 0.6c)
+AM_INIT_AUTOMAKE(libtool, 0.6d)
 
 pkgdatadir='${datadir}/libtool'
 AC_SUBST(pkgdatadir)
index dc54444a46d64d39c23f821d041221672a850c87..d54d78c14dcef628c7d585171b0ec9a413b2073b 100755 (executable)
@@ -33,6 +33,7 @@ progname=`echo "$0" | sed 's%^.*/%%'`
 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."
@@ -53,6 +54,7 @@ with_gcc=no
 
 old_CC="$CC"
 old_CFLAGS="$CFLAGS"
+old_CPPFLAGS="$CPPFLAGS"
 old_LD="$LD"
 old_RANLIB="$RANLIB"
 
@@ -274,7 +276,7 @@ fi
 
 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.
@@ -291,6 +293,55 @@ else
   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.
@@ -678,14 +729,13 @@ echo "$ac_t""$enable_shared" 1>&6
 
 
 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,
@@ -751,6 +801,7 @@ link_rpath_flag='$link_rpath_flag'
 
 # How to strip a library file.
 striplib='$striplib'
+old_striplib='$old_striplib'
 
 # This is the shared library path variable.
 shlibpath_var=$shlibpath_var
index 959e0f5e795a36c490177ef72a3972c3f45b9255..e6d7f1d67c28ae473ea4990ff6851120a1a0f960 100644 (file)
@@ -1081,9 +1081,9 @@ EOF
 
       # 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