From: Peter Ekberg Date: Mon, 1 Nov 2004 17:25:55 +0000 (+0000) Subject: Sometimes, a wrapper script is generated for an executable that, X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1631d84d88912a58ca654067c3a15871042690cd;p=thirdparty%2Flibtool.git 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. * config/ltmain.m4sh (func_mode_install): set new variable `generated_by_libtool_version' in wrapper script when using libtool_install_magic. When verifying that wrapper script was properly sourced, check that `generated_by_libtool_version' is non-empty, instead of using notinst_deplibs. --- diff --git a/ChangeLog b/ChangeLog index 075b0ee14..9584de433 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,32 @@ +2004-11-01 Peter Ekberg + + 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. + + * config/ltmain.m4sh (func_mode_install): set new variable + `generated_by_libtool_version' in wrapper script when using + libtool_install_magic. When verifying that wrapper script was + properly sourced, check that `generated_by_libtool_version' is + non-empty, instead of using notinst_deplibs. + 2004-11-01 Charles Wilson , - Peter Ekberg + Peter Ekberg * config/ltmain.m4sh (func_mode_install): On Windows based hosts, ensure that import libraries don't get stripped. diff --git a/config/ltmain.m4sh b/config/ltmain.m4sh index 09449ce8d..afa3277ea 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -1967,7 +1967,7 @@ func_mode_install () 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 @@ -6003,7 +6003,8 @@ relink_command=\"$relink_command\" # 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.