libtool-patches
[Top][All Lists]
Advanced

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

Re: [patch #6448] [MSVC 7/7] Add MSVC Support


From: Peter Rosin
Subject: Re: [patch #6448] [MSVC 7/7] Add MSVC Support
Date: Fri, 15 Aug 2008 11:36:14 +0200
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

Ralf Wildenhues skrev:
Hi Peter,

* Peter Rosin wrote on Wed, Aug 13, 2008 at 12:41:04PM CEST:
2008-08-13  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.

Please add "Set to @code{false} on systems that cannot create
reloadable objects" to the reload_cmds documentation in libtool.texi.

I used @samp(false) instead, as that seemed to be the usage for
constants in the surrounding entries.

OK with nit below addressed.

Thanks,
Ralf

And thanks to you to for all your reviews and excellent feedback!

PS: yes, all the other new tag variables need documenting in the manual,
too, before the branch can be merged into master.

Right...

--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -4821,6 +4821,7 @@ _LT_EOF
            mt -manifest "@address@hidden" -outputresource:"@address@hidden";
            $RM "@address@hidden";
          fi'
+       reload_cmds=false

Why is this not set in _LT_CMD_RELOAD?  That's where reload_cmds is set
(exceptions not invalidating the rule ;-)

Because - explanation retrofitted :-) - I only want to set it to false
for cc_basename matching cl*, and cc_basename isn't available in
_LT_CMD_RELOAD. So I added a call to _LT_CC_BASENAME to _LT_CMD_RELOAD,
is that ok.

Ok to push like this?

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

        * libltdl/m4/libtool.m4 (_LT_CMD_RELOAD)
        [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 does not work.

Cheers,
Peter
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 7b6b3f5..ee1f362 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 to @samp{false} 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 7ceec66..e61d899 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -3023,7 +3023,15 @@ case $reload_flag in
 *) reload_flag=" $reload_flag" ;;
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
+_LT_CC_BASENAME([$CC])
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      case $cc_basename in
+      cl*) reload_cmds=false ;;
+      esac
+    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]