libtool-patches
[Top][All Lists]
Advanced

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

11-csw-cygwin-wrapper-with-no-deplibs.patch


From: Charles Wilson
Subject: 11-csw-cygwin-wrapper-with-no-deplibs.patch
Date: Sat, 30 Oct 2004 15:58:28 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MultiZilla/1.6.4.0b

Sometimes, a wrapper script is generated for an executable that, itself, does not link against an uninstalled library. It appears that this can happen if you are building a project where
  (1) there is a library
(2) there is an executable that does not, itself, link against that library

In this case, notinst_deplibs is empty, and when the wrapper script is loaded by libtool during ./libtool mode=install, there is a check for "is notinst_deplibs empty". In this case, it is, so libtool reports an error.

I don't think it is wrong to have a wrapper script for an exe that *technically* doesn't need it. But instead of checking for notinst_deplib nonempty as a proxy for "did wrapper script get sourced into my environment properly" a different var should be used.

For more info, see

http://www.cygwin.com/ml/cygwin/2004-10/msg01321.html

and

http://www.cygwin.com/ml/cygwin/2004-10/msg01347.html

Attached patch (by Peter Ekberg) has no regressions on cygwin.

--
Chuck
2004-10-30  Peter Ekberg  <spam.protected>

        * config/ltmain.m4sh (func_mode_install): set new variable
        'generated_by_libtool_version' in wrapper script when 
        libtool_install_magic.  When verifying that wrapper script 
        was properly sourced, check that generated_by_libtool_version 
        is nonempty, instead of notinst_deplibs.
Index: config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/config/ltmain.m4sh,v
retrieving revision 1.1.2.12
diff -u -r1.1.2.12 ltmain.m4sh
--- config/ltmain.m4sh  20 Oct 2004 08:41:34 -0000      1.1.2.12
+++ config/ltmain.m4sh  30 Oct 2004 18:35:50 -0000
@@ -1957,7 +1967,7 @@
          esac
 
          # Check the variables that should have been set.
-         test -z "$notinst_deplibs" && \
+         test -z "$generated_by_libtool_version" && \
            func_fatal_error "invalid libtool wrapper script \`$wrapper'"
 
          finalize=yes
@@ -5993,7 +6004,8 @@
 
 # This environment variable determines our operation mode.
 if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
   notinst_deplibs='$notinst_deplibs'
 else
   # When we are sourced in execute mode, \$file and \$ECHO are already set.

reply via email to

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