This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils 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]

[binutils-gdb] Sync config-ml.in with GCC trunk


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5df8a8fcf1cdd7896b38f27e65938a8fc89ec2bc

commit 5df8a8fcf1cdd7896b38f27e65938a8fc89ec2bc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 17 05:15:34 2015 -0700

    Sync config-ml.in with GCC trunk
    
    	Sync with GCC
    	2014-06-13  Thomas Schwinge  <thomas@codesourcery.com>
    
    	* config-ml.in: Robustify ac_configure_args parsing.

Diff:
---
 ChangeLog    |  7 +++++++
 config-ml.in | 68 +++++++++++++++++++++++++++++++++---------------------------
 2 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f3f8e95..a3aa1f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	Sync with GCC
+	2014-06-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* config-ml.in: Robustify ac_configure_args parsing.
+
 2015-03-16  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* Makefile.def: Updated from GCC trunk.
diff --git a/config-ml.in b/config-ml.in
index 1198346..927bad6 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -2,7 +2,7 @@
 # wanting multilib support.
 #
 # Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2010, 2011  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2010, 2011, 2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -105,31 +105,34 @@ ml_realsrcdir=${srcdir}
 
 # Scan all the arguments and set all the ones we need.
 
-ml_verbose=--verbose
-for option in ${ac_configure_args}
-do
-  # strip single quotes surrounding individual options
-  case $option in
-  \'*\') eval option=$option ;;
-  esac
-
-  case $option in
-  --*) ;;
-  -*) option=-$option ;;
-  esac
-
-  case $option in
-  --*=*)
+scan_arguments ()
+{
+  ml_verbose=--verbose
+  for option
+  do
+    # Strip single quotes surrounding individual options, that is, remove one
+    # level of shell quoting for these.
+    case $option in
+      \'*\') eval option=$option ;;
+    esac
+
+    case $option in
+      --*) ;;
+      -*) option=-$option ;;
+    esac
+
+    case $option in
+      --*=*)
 	optarg=`echo $option | sed -e 's/^[^=]*=//'`
 	;;
-  esac
+    esac
 
-  case $option in
-  --disable-*)
+    case $option in
+      --disable-*)
 	enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
 	eval $enableopt=no
 	;;
-  --enable-*)
+      --enable-*)
 	case "$option" in
 	*=*)	;;
 	*)	optarg=yes ;;
@@ -139,32 +142,37 @@ do
 	# Don't undo its work.
 	case $enableopt in
 	enable_shared | enable_static) ;;
-	*) eval $enableopt="$optarg" ;;
+	*) eval $enableopt='$optarg' ;;
 	esac
 	;;
-  --norecursion | --no-recursion)
+      --norecursion | --no-recursion)
 	ml_norecursion=yes
 	;;
-  --silent | --sil* | --quiet | --q*)
+      --silent | --sil* | --quiet | --q*)
 	ml_verbose=--silent
 	;;
-  --verbose | --v | --verb*)
+      --verbose | --v | --verb*)
 	ml_verbose=--verbose
 	;;
-  --with-*)
+      --with-*)
 	case "$option" in
 	*=*)	;;
 	*)	optarg=yes ;;
 	esac
 	withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
-	eval $withopt="$optarg"
+	eval $withopt='$optarg'
 	;;
-  --without-*)
+      --without-*)
 	withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
 	eval $withopt=no
 	;;
-  esac
-done
+    esac
+  done
+}
+# Use eval to properly handle configure arguments such as
+# --enable-foo='--enable-a=1 --enable-b=2 --enable-c=3'.
+eval scan_arguments "${ac_configure_args}"
+unset scan_arguments
 
 # Only do this if --enable-multilib.
 if [ "${enable_multilib}" = yes ]; then
@@ -860,7 +868,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
 
     if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
 	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
-	${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
+	"${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then
       true
     else
       exit 1


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