Subject: 11-csw-cygwin-wrapper-with-no-deplibs.patch
From: Charles Wilson <[email-masked]>
To: Libtool Patches <[email-masked]>
Cc: [email-masked]
Date: Sat, 30 Oct 2004 15:58:28 -0400

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.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/