From 811327bc672abcd2235e7ad368234f2f78944314 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 18 Dec 1999 07:02:40 +0000 Subject: [PATCH] * ltmain.in (-Wl, -Wc): Make commas argument separators, just like in gcc. --- ChangeLog | 3 +++ ltmain.in | 44 +++++++++++++++++++++++++++----------------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index b19bdf2f..5791f8f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-12-18 Alexandre Oliva + * ltmain.in (-Wl, -Wc): Make commas argument separators, just like + in gcc. + * ltmain.in (libtool_args): Get all arguments properly enclosed in quotes and backslash-protected when needed. diff --git a/ltmain.in b/ltmain.in index 4ea98ad9..dbd7a5b8 100644 --- a/ltmain.in +++ b/ltmain.in @@ -1045,26 +1045,36 @@ compiler." ;; -Wc,*) - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - flag=`$echo "X$arg" | $Xsed -e 's/^-Wc,//'` - compiler_flags="$compiler_flags $flag" + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + IFS="${IFS= }"; save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + case "$flag" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + flag="\"$flag\"" + ;; + esac + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + continue ;; -Wl,*) - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - flag=`$echo "X$arg" | $Xsed -e 's/^-Wl,//'` - linker_flags="$linker_flags $flag" - compiler_flags="$compiler_flags $wl$flag" + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + IFS="${IFS= }"; save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + case "$flag" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + flag="\"$flag\"" + ;; + esac + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + continue ;; -Xcompiler)