From: Peter Ekberg Date: Mon, 1 Nov 2004 17:28:30 +0000 (+0000) Subject: Sometimes, a wrapper script is generated for an executable that, X-Git-Tag: release-2-1b~881 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f862366c5f91ae7621d9fc6c39b59cedc30bfe5d;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 b20b1597b..827038f34 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 8b104baa2..df7712b34 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -1964,7 +1964,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 @@ -5997,7 +5997,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.