libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.2.10-60-g0656b19


From: Peter Rosin
Subject: [SCM] GNU Libtool branch, master, updated. v2.2.10-60-g0656b19
Date: Thu, 08 Jul 2010 16:16:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  0656b19eb95ce33ea8be5927ec7ebb0f9a8d0b52 (commit)
      from  8c4dae1232958c24989f31ab5b5768d00be2ef03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0656b19eb95ce33ea8be5927ec7ebb0f9a8d0b52
Author: Peter Rosin <address@hidden>
Date:   Thu Jul 8 18:12:02 2010 +0200

    Make preloading heed libname_spec.
    
    Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.
    
    * libltdl/ltdl.c (libprefix): New static variable describing
    the prefix of static archives.
    (try_dlopen): Use libprefix.
    * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
    archives to config.h. Also fix assignment of LTDLOPEN to be more
    efficient and less error prone while at it.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog          |   12 ++++++++++++
 libltdl/ltdl.c     |   18 +++++++++++++++---
 libltdl/m4/ltdl.m4 |    7 ++++++-
 3 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 641ee0b..a20add4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-08  Peter Rosin  <address@hidden>
+           Ralf Wildenhues  <address@hidden>
+
+       Make preloading heed libname_spec.
+       Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.
+       * libltdl/ltdl.c (libprefix): New static variable describing
+       the prefix of static archives.
+       (try_dlopen): Use libprefix.
+       * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
+       archives to config.h. Also fix assignment of LTDLOPEN to be more
+       efficient and less error prone while at it.
+
 2010-07-08  Gary V. Vaughan  <address@hidden>
 
        Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE.
diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index 1213f0d..992584c 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -54,6 +54,10 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #  define LT_LIBEXT "a"
 #endif
 
+#if !defined(LT_LIBPREFIX)
+#  define LT_LIBPREFIX "lib"
+#endif
+
 /* This is the maximum symbol size that won't require malloc/free */
 #undef LT_SYMBOL_LENGTH
 #define LT_SYMBOL_LENGTH       128
@@ -72,6 +76,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 static const char      objdir[]                = LT_OBJDIR;
 static const char      archive_ext[]           = LT_ARCHIVE_EXT;
 static  const char     libext[]                = LT_LIBEXT;
+static  const char     libprefix[]             = LT_LIBPREFIX;
 #if defined(LT_MODULE_EXT)
 static const char      shlib_ext[]             = LT_MODULE_EXT;
 #endif
@@ -1272,8 +1277,8 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, 
const char *ext,
 
       if (vtable)
        {
-         /* name + "." + libext + NULL */
-         archive_name = MALLOC (char, LT_STRLEN (name) + strlen (libext) + 2);
+         /* libprefix + name + "." + libext + NULL */
+         archive_name = MALLOC (char, strlen (libprefix) + LT_STRLEN (name) + 
strlen (libext) + 2);
          *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle));
 
          if ((*phandle == NULL) || (archive_name == NULL))
@@ -1285,7 +1290,14 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, 
const char *ext,
 
          /* Preloaded modules are always named according to their old
             archive name.  */
-         sprintf (archive_name, "%s.%s", name, libext);
+         if (strncmp(name, "lib", 3) == 0)
+           {
+             sprintf (archive_name, "%s%s.%s", libprefix, name + 3, libext);
+           }
+         else
+           {
+             sprintf (archive_name, "%s.%s", name, libext);
+           }
 
          if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0)
            {
diff --git a/libltdl/m4/ltdl.m4 b/libltdl/m4/ltdl.m4
index 93de12a..42e07e9 100644
--- a/libltdl/m4/ltdl.m4
+++ b/libltdl/m4/ltdl.m4
@@ -410,8 +410,13 @@ AC_CHECK_FUNCS([strlcat strlcpy], [], 
[AC_LIBOBJ([lt__strl])])
 m4_pattern_allow([LT_LIBEXT])dnl
 AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
 
+name=
+eval "lt_libprefix=\"$libname_spec\""
+m4_pattern_allow([LT_LIBPREFIX])dnl
+AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix])
+
 name=ltdl
-LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
+eval "LTDLOPEN=\"$libname_spec\""
 AC_SUBST([LTDLOPEN])
 ])# _LTDL_SETUP
 


hooks/post-receive
-- 
GNU Libtool



reply via email to

[Prev in Thread] Current Thread [Next in Thread]