]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* config/ltmain.in (func_quote_for_eval): Set a return value to
authorGary V. Vaughan <gary@gnu.org>
Wed, 15 Sep 2004 01:25:36 +0000 (01:25 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 15 Sep 2004 01:25:36 +0000 (01:25 +0000)
avoid forking at every call.  Changed all callers.
(func_mode_link): Simplified, and removed the final non-portable
nested escaped double quotes in back quotes usage in the process.

ChangeLog
config/ltmain.in

index 6a5b3377c39757f12f815d89bfe9ce894cf092c5..200c8d54384ff78a98189e22b082fb229d031f9c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-09-15  Gary V. Vaughan  <gary@gnu.org>
+
+       * config/ltmain.in (func_quote_for_eval): Set a return value to
+       avoid forking at every call.  Changed all callers.
+       (func_mode_link): Simplified, and removed the final non-portable
+       nested escaped double quotes in back quotes usage in the process.
+
 2004-09-14  Gary V. Vaughan  <gary@gnu.org>
 
        * config/ltmain.in (func_quote_for_eval): Factor out the ugly
index 6875355ded7fa0090f5802d65bb7b9612b9613a5..08fac5ea3c23bd11361504683e32570870301bf5 100644 (file)
@@ -754,7 +754,7 @@ func_quote_for_eval ()
       ;;
   esac
 
-  echo "$my_arg"
+  func_quote_for_eval_result="$my_arg"
 }
 
 
@@ -844,7 +844,8 @@ func_infer_tag () {
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
-       CC_quoted="$CC_quoted "`func_quote_for_eval "$arg"`
+        func_quote_for_eval "$arg"
+       CC_quoted="$CC_quoted $func_quote_for_eval_result"
       done
       case $@ in
       # Blanks in the command may have been stripped by the calling shell,
@@ -860,7 +861,8 @@ func_infer_tag () {
            CC_quoted=
            for arg in $CC; do
              # Double-quote args containing other shell metacharacters.
-             CC_quoted="$CC_quoted "`func_quote_for_eval "$arg"`
+             func_quote_for_eval "$arg"
+             CC_quoted="$CC_quoted $func_quote_for_eval_result"
            done
            case "$@ " in
              " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
@@ -1242,7 +1244,8 @@ func_mode_compile ()
          save_ifs="$IFS"; IFS=','
          for arg in $args; do
            IFS="$save_ifs"
-           lastarg="$lastarg "`func_quote_for_eval "$arg"`
+           func_quote_for_eval "$arg"
+           lastarg="$lastarg $func_quote_for_eval_result"
          done
          IFS="$save_ifs"
          lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
@@ -1265,7 +1268,8 @@ func_mode_compile ()
 
       # Aesthetically quote the previous argument.
       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-      base_compile="$base_compile "`func_quote_for_eval "$lastarg"`
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
     done # for arg
 
     case $arg_mode in
@@ -1802,7 +1806,8 @@ func_mode_install ()
        $echo "X$nonopt" | $Xsed | $GREP shtool > /dev/null; then
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      install_prog=`func_quote_for_eval "$arg "`
+      func_quote_for_eval "$arg"
+      install_prog="$func_quote_for_eval_result "
       arg="$1"
       shift
     else
@@ -1813,7 +1818,8 @@ func_mode_install ()
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    install_prog="$install_prog"`func_quote_for_eval "$arg"`
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
 
     # We need to accept at least all the BSD install flags.
     dest=
@@ -1856,7 +1862,8 @@ func_mode_install ()
 
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      install_prog="$install_prog "`func_quote_for_eval "$arg"`
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
     done
 
     test -z "$install_prog" && \
@@ -2368,9 +2375,10 @@ func_mode_link ()
 
     # Go through the arguments, transforming them on the way.
     while test "$#" -gt 0; do
-      arg=`$echo "X$1" | $Xsed -e "$sed_quote_subst"`
-      libtool_args="$libtool_args "`func_quote_for_eval "$arg"`
+      arg="$1"
       shift
+      qarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      libtool_args="$libtool_args $qarg"
 
       # If the previous option needs an argument, assign it.
       if test -n "$prev"; then
@@ -2886,9 +2894,9 @@ func_mode_link ()
        save_ifs="$IFS"; IFS=','
        for flag in $args; do
          IFS="$save_ifs"
-         flag=`func_quote_for_eval "$flag"`
-         arg="$arg $wl$flag"
-         compiler_flags="$compiler_flags $flag"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $func_quote_for_eval_result"
        done
        IFS="$save_ifs"
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
@@ -2900,10 +2908,10 @@ func_mode_link ()
        save_ifs="$IFS"; IFS=','
        for flag in $args; do
          IFS="$save_ifs"
-         flag=`func_quote_for_eval "$flag"`
-         arg="$arg $wl$flag"
-         compiler_flags="$compiler_flags $wl$flag"
-         linker_flags="$linker_flags $flag"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+         linker_flags="$linker_flags $func_quote_for_eval_result"
        done
        IFS="$save_ifs"
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
@@ -2931,7 +2939,8 @@ func_mode_link ()
       # -m* pass through architecture-specific compiler args for GCC
       -64|-mips[0-9]|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       arg=`func_quote_for_eval "$arg"`
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
         compile_command="$compile_command $arg"
         finalize_command="$finalize_command $arg"
         compiler_flags="$compiler_flags $arg"
@@ -2941,7 +2950,8 @@ func_mode_link ()
       # Some other compiler flag.
       -* | +*)
         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-        arg=`func_quote_for_eval "$arg"`
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
        ;;
 
       *.$objext)
@@ -3074,7 +3084,8 @@ func_mode_link ()
        # 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"`
-       arg=`func_quote_for_eval "$arg"`
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
        ;;
       esac # arg