]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
merged from HEAD to idl-branch
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Fri, 22 Jan 1999 18:33:45 +0000 (18:33 +0000)
committerGary V. Vaughan <gary@gnu.org>
Fri, 22 Jan 1999 18:33:45 +0000 (18:33 +0000)
ChangeLog
Makefile.am
configure.in
libltdl/ltdl.c

index 97bff6c2f36cabbc70243a21dbafaadf1a09d164..ce2b7c292660413e237c44838d67d894e1b032ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,20 @@
-1999-01-22  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>
+1999-01-22  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * Makefile.am (ltconfig, ltmain.sh): add ChangeLog Revision to
+       TIMESTAMP
+       * configure.in: get values of PACKAGE and VERSION set by
+       AM_INIT_AUTOMAKE, and extract only TIMESTAMP from the ChangeLog
+
+       * libltdl/ltdl.c (lt_dlopen): if we're reusing a previously opened
+       handle, don't reset its name nor add it to the list, and free the
+       name we have allocated
+       Reported by Edouard G. Parmelan <Edouard.Parmelan@France.NCR.COM>
+
+       * Makefile.am (ltconfig, ltmain.sh, TIMESTAMP): let's not assume
+       anything about the format of the date, just that it does not
+       contain `$'
+
+1999-01-22  Gary V. Vaughan  <garyv@oranda.demon.co.uk>
 
        * ltmain.in: Merged Thomas' ild-patch.  Untested.
        * configure.in: ditto.
@@ -11,8 +27,6 @@
        * doc/PLATFORMS: ReInsert i686-pc-cygwin32, for the same reason.
        * doc/libtool.texi: ReInsert win32 refs, for the same reason.
 
-1999-01-22  Gary V. Vaughan  <garyv@oranda.demon.co.uk>
-
        * configure.in (date): echo the version number during
        configuration, and show $date for cvs versions.
 
@@ -3598,4 +3612,4 @@ Thu May 28 18:59:08 1998  Ian Lance Taylor  <ian@cygnus.com>
 
        * For historical reasons: this is when I started writing libtool.
 
-       $Date$
+       $Revision$ $Date$
index 40d25c5b2c438ab1ae3f505165cbb214303cb731..ba6f0fdb8fa9baa63c2a1f5798ae8d6703e7f716 100644 (file)
@@ -61,7 +61,7 @@ update-timestamps:
 # Line numbering transliterated from a section in autoconf (Autoconf 2.12).
 $(srcdir)/ltconfig: $(srcdir)/ltconfig.in $(top_srcdir)/configure.in $(TSDEPS)
        rm -f ltconfig.T
-       date=`sed 's%.*\$$''Date: \([0-9 /]*[0-9:]*\) \$$.*% (\1)%;t;d' \
+       date=`sed 's%.*\$$''Revision: \([^$$]*\) \$$ \$$''Date: \([^$$]*\) \$$.*% (\1 \2)%;t end;d;: end' \
                < $(srcdir)/ChangeLog` && \
        $(AWK) '/@LINENO@/ { printf "%d:", NR } { print }' $(srcdir)/ltconfig.in | \
          sed -e 's/@''PACKAGE@/@PACKAGE@/' -e 's/@''VERSION@/@VERSION@/' \
@@ -74,7 +74,7 @@ $(srcdir)/ltconfig: $(srcdir)/ltconfig.in $(top_srcdir)/configure.in $(TSDEPS)
 
 $(srcdir)/ltmain.sh: $(srcdir)/ltmain.in $(top_srcdir)/configure.in $(TSDEPS)
        rm -f ltmain.shT
-       date=`sed 's%.*\$$''Date: \([0-9 /]*[0-9:]*\) \$$.*% (\1)%;t;d' \
+       date=`sed 's%.*\$$''Revision: \([^$$]*\) \$$ \$$''Date: \([^$$]*\) \$$.*% (\1 \2)%;t end;d;: end' \
                < $(srcdir)/ChangeLog` && \
        sed -e 's/@''PACKAGE@/@PACKAGE@/' -e 's/@''VERSION@/@VERSION@/' \
            -e "s%@""TIMESTAMP@%$$date%" $(srcdir)/ltmain.in > ltmain.shT
index 5e5238275459301b72247de9880d8c98bea7be20..e5280c80b8e1cbc2a11c2986ee7d0a3f4234a615 100644 (file)
@@ -2,32 +2,28 @@ dnl Process this file with autoconf to create configure.
 
 AC_INIT(ltmain.in)
 
+AM_INIT_AUTOMAKE(libtool, 1.2e)
+
 # This is a sanity check so we can see which version is used in bug reports.
 # It is assumed that we only want to see the date extension for cvs libtool
 # versions (i.e. "odd" letters) and not actual alpha releases.
-version=`egrep '^[AM_INIT_AUTOMAKE]' $srcdir/configure.in | \
-         sed 's/^.*,//;s/).*$//'`
-date=
+case "$VERSION" in
 changequote(,)
-case $version in
   *[acegikmoqsuwy]) 
-    date=`sed 's%.*\$''Date: \([0-9 /]*[0-9:]*\) \$.*% (\1)%;t;d' < \
-      $srcdir/ChangeLog`
+    TIMESTAMP=`sed 's%.*\$''Revision: \([^$]*\) \$ \$''Date: \([^$]*\) \$.*% (\1 \2)%;t end;d;: end' < ${srcdir}/ChangeLog`
+changequote([,])
+    banner="Configuring $PACKAGE $VERSION$TIMESTAMP"
+    dashes=`echo "$banner" | sed 's/./-/g'`
+
+    # Display an obvious version banner
+    echo
+    echo $dashes
+    echo "$banner"
+    echo $dashes
+    echo
     ;;
 esac    
-changequote([,])
-banner="Configuring libtool-$version$date"
-dashes=`echo "$banner" | sed 's/./-/g'`
-
-# Display an obvious version banner
-echo $dashes
-echo "$banner"
-echo $dashes
-echo
-
-AM_INIT_AUTOMAKE(libtool, 1.2e)
 
-AC_SUBST(pkgdatadir)
 aclocaldir='${datadir}/aclocal'
 AC_SUBST(aclocaldir)
 
index 43b47bbb391553b05ad5f1944a5706f765ec8ffb..a655cd484195c639f72bf1fc84879a9020488d8d 100644 (file)
@@ -981,7 +981,7 @@ lt_dlopen (filename)
        const char *filename;
 {
        lt_dlhandle handle = 0;
-       char *dir = 0;
+       char *dir = 0, *name = 0;
        const char *basename, *ext;
        const char *saved_error = last_error;
        
@@ -1004,7 +1004,6 @@ lt_dlopen (filename)
                char    *dlname = 0, *old_name = 0;
                char    *libdir = 0, *deplibs = 0;
                char    tmp[LTDL_FILENAME_MAX];
-               char    *name;
                FILE    *file;
                int     i;
                /* if we can't find the installed flag, it is probably an
@@ -1044,8 +1043,6 @@ lt_dlopen (filename)
 #endif
                }
                if (!file) {
-               clean_up_name:
-                       free(name);
                        goto clean_up_dir;
                }
                while (!feof(file)) {
@@ -1086,6 +1083,7 @@ lt_dlopen (filename)
                        last_error = memory_error;
                        goto clean_up_vars;
                }
+               handle->usage = 0;
                if (deplibs && load_deplibs(handle, deplibs)) {
                clean_up_handle:
                        free(handle);
@@ -1110,7 +1108,6 @@ lt_dlopen (filename)
                                        dlname, old_name))
                                goto clean_up_deplibs;
                }
-               handle->name = name;
        clean_up_vars:
                if (dlname)
                        free(dlname);
@@ -1121,7 +1118,7 @@ lt_dlopen (filename)
                if (deplibs)
                        free(deplibs);
                if (!handle)
-                       goto clean_up_name;
+                       goto clean_up_dir;
        } else {
                /* try to append libtool library extension */
                char *newfilename = malloc(strlen(filename)+4);
@@ -1142,6 +1139,7 @@ lt_dlopen (filename)
                        last_error = memory_error;
                        goto clean_up_dir;
                }
+               handle->usage = 0;
                if (tryall_dlopen(&handle, filename)
                    && (dir
                        || (find_library(&handle, basename, usr_search_path)
@@ -1181,16 +1179,21 @@ lt_dlopen (filename)
                        }
 #endif
                }
-               handle->name = 0;
        }
-       handle->usage = 1;
-       handle->next = handles;
-       handles = handle;
+       if (!handle->usage) {
+               handle->usage = 1;
+               handle->next = handles;
+               handles = handle;
+               handle->name = name;
+               name = 0;
+       }
  restore_error:
        last_error = saved_error;
  clean_up_dir:
        if (dir)
                free(dir);
+       if (name)
+               free(name);
        return handle;
 }