libtool-patches
[Top][All Lists]
Advanced

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

Re: Reloadable objects do not work on MSVC, SKIP test.


From: Peter Rosin
Subject: Re: Reloadable objects do not work on MSVC, SKIP test.
Date: Mon, 01 Sep 2008 15:37:41 +0200
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

Den 2008-08-31 23:08, skrev Peter Rosin:
Hi!

This is the latest version of the patch in
http://lists.gnu.org/archive/html/libtool-patches/2008-08/msg00057.html
with some adjustments based on the comments further down in
the monster thread (just follow "next by thread" from the above
link).

The question that remains as far as I can tell is if it's ok to
not involve $LD.

I think it's ok to leave $LD out of it. So, ok to push?

2008-08-31  Peter Rosin  <address@hidden>

    * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
    [cygwin, mingw, pw32, cegcc] <cl*>: Indicate that reloadable
    objects does not work.
    * tests/duplicate_conv.at: Skip last test if reloadable
    objects does not work.
    * doc/libtool.texi (libtool script contents): Document how to
    indicate that reloadable objects do not work.

#/)#%&address@hidden(, forgot the patch...

Cheers,
Peter
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 7b6b3f5..1782811 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -5909,7 +5909,8 @@ Commands run after uninstalling a shared or static 
library, respectively.
 
 @defvar reload_cmds
 @defvarx reload_flag
-Commands to create a reloadable object.
+Commands to create a reloadable object. Set @var{reload_cmds} to
address@hidden on systems that cannot create reloadable objects.
 @end defvar
 
 @defvar runpath_var
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index c32f099..a8f20f0 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -3024,6 +3024,11 @@ case $reload_flag in
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
   darwin*)
     if test "$GCC" = yes; then
       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
diff --git a/tests/duplicate_conv.at b/tests/duplicate_conv.at
index ac5643b..be04005 100644
--- a/tests/duplicate_conv.at
+++ b/tests/duplicate_conv.at
@@ -25,6 +25,8 @@
 AT_SETUP([duplicate convenience archive names])
 AT_KEYWORDS([libtool])
 
+eval `$LIBTOOL --config | sed -n '/^reload_cmds=/,/^$/p'`
+
 # We create two convenience archives with the same name, and _also_
 # containing an object with the same name.  This is necessary to detect
 # the failure with both 1.5.22 and HEAD, since the latter does not (did
@@ -75,6 +77,8 @@ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main 
main.$OBJEXT ./libce
 LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore])
 $LIBTOOL --mode=clean rm -f libcee.la
 
+AT_CHECK([test "x$reload_cmds" = xfalse && exit 77], [1])
+
 # Test whether this works with reloadable objects as well.
 AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT 
c.lo a/liba.la b/liba.la],
         [0], [ignore], [ignore])

reply via email to

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