From: Albert Chin-A-Young Date: Tue, 14 Sep 2004 21:23:43 +0000 (+0000) Subject: Unfortunately, libtool has no way of telling if unrecognized X-Git-Tag: release-1-9d~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ea2fa761b974a0385e724ec5270db1c383e86f0;p=thirdparty%2Flibtool.git Unfortunately, libtool has no way of telling if unrecognized compiler flags need an argument or not, and can disect options and pass parts through incorrectly. This changeset reverts both 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert Chin-A-Young below, and recognises more options explicitly: * config/ltmain.in (func_mode_link): Pass through options needed to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM compilers. --- diff --git a/ChangeLog b/ChangeLog index 7f8fa8a34..eb7a26312 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-09-14 Albert Chin-A-Young + + Unfortunately, libtool has no way of telling if unrecognized + compiler flags need an argument or not, and can disect options and + pass parts through incorrectly. This changeset reverts both + 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert + Chin-A-Young below, and recognises more options explicitly: + + * config/ltmain.in (func_mode_link): Pass through options needed + to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM + compilers. + 2004-09-13 Gary V. Vaughan * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when diff --git a/config/ltmain.in b/config/ltmain.in index c1c59f764..18ea08854 100644 --- a/config/ltmain.in +++ b/config/ltmain.in @@ -2963,6 +2963,26 @@ func_mode_link () continue ;; + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + -64|-mips[0-9]||-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need @@ -2973,10 +2993,6 @@ func_mode_link () arg="\"$arg\"" ;; esac - - if test -z "$prev"; then - compiler_flags="$compiler_flags $arg" - fi ;; *.$objext)