This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]