diff options
author | Yang Tse <yangsita@gmail.com> | 2008-10-15 18:10:02 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2008-10-15 18:10:02 +0000 |
commit | be760bed7e544136eaa175f0fe58251da1ff6e41 (patch) | |
tree | e3920c485d2fe66920ece96bce0d1075e727b392 /m4 | |
parent | 357383159e9840c65a850e738dd95cf5fc02d67b (diff) |
Ensure that shell variable contents which have active meaning
to the shell echo command are not interpreted when trying to
remove extra whitespace from shell variable content.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/curl-compilers.m4 | 74 |
1 files changed, 58 insertions, 16 deletions
diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4 index b97315f22..860db5200 100644 --- a/m4/curl-compilers.m4 +++ b/m4/curl-compilers.m4 @@ -22,7 +22,7 @@ #*************************************************************************** # File version for 'aclocal' use. Keep it a single number. -# serial 33 +# serial 34 dnl CURL_CHECK_COMPILER @@ -384,6 +384,7 @@ dnl headers from these locations, even though this is dnl not reliable on ancient GNUC versions. AC_DEFUN([CURL_CONVERT_INCLUDE_TO_ISYSTEM], [ + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl tmp_has_include="no" tmp_chg_FLAGS=$CFLAGS for word1 in $tmp_chg_FLAGS; do @@ -396,7 +397,8 @@ AC_DEFUN([CURL_CONVERT_INCLUDE_TO_ISYSTEM], [ if test "$tmp_has_include" = "yes"; then tmp_chg_FLAGS=`echo $tmp_chg_FLAGS | sed 's/^-I/ -isystem /g'` tmp_chg_FLAGS=`echo $tmp_chg_FLAGS | sed 's/ -I/ -isystem /g'` - CFLAGS=`eval echo $tmp_chg_FLAGS` + CFLAGS="$tmp_chg_FLAGS" + squeeze CFLAGS fi tmp_has_include="no" tmp_chg_FLAGS=$CPPFLAGS @@ -410,7 +412,8 @@ AC_DEFUN([CURL_CONVERT_INCLUDE_TO_ISYSTEM], [ if test "$tmp_has_include" = "yes"; then tmp_chg_FLAGS=`echo $tmp_chg_FLAGS | sed 's/^-I/ -isystem /g'` tmp_chg_FLAGS=`echo $tmp_chg_FLAGS | sed 's/ -I/ -isystem /g'` - CPPFLAGS=`eval echo $tmp_chg_FLAGS` + CPPFLAGS="$tmp_chg_FLAGS" + squeeze CPPFLAGS fi ]) @@ -493,6 +496,7 @@ dnl options. AC_DEFUN([CURL_SET_COMPILER_BASIC_OPTS], [ AC_REQUIRE([CURL_CHECK_COMPILER])dnl + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl # if test "$compiler_id" != "unknown"; then # @@ -621,13 +625,15 @@ AC_DEFUN([CURL_SET_COMPILER_BASIC_OPTS], [ # esac # - tmp_CPPFLAGS=`eval echo $tmp_CPPFLAGS` - tmp_CFLAGS=`eval echo $tmp_CFLAGS` + squeeze tmp_CPPFLAGS + squeeze tmp_CFLAGS # if test ! -z "$tmp_CFLAGS" || test ! -z "$tmp_CPPFLAGS"; then AC_MSG_CHECKING([if compiler accepts some basic options]) - CPPFLAGS=`eval echo $tmp_save_CPPFLAGS $tmp_CPPFLAGS` - CFLAGS=`eval echo $tmp_save_CFLAGS $tmp_CFLAGS` + CPPFLAGS="$tmp_save_CPPFLAGS $tmp_CPPFLAGS" + CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS" + squeeze CPPFLAGS + squeeze CFLAGS CURL_COMPILER_WORKS_IFELSE([ AC_MSG_RESULT([yes]) AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS]) @@ -652,6 +658,7 @@ dnl on configure's debug option. AC_DEFUN([CURL_SET_COMPILER_DEBUG_OPTS], [ AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl AC_REQUIRE([CURL_CHECK_COMPILER])dnl + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl # if test "$compiler_id" != "unknown"; then # @@ -673,8 +680,10 @@ AC_DEFUN([CURL_SET_COMPILER_DEBUG_OPTS], [ tmp_options="$flags_dbg_off" fi # - CPPFLAGS=`eval echo $tmp_CPPFLAGS` - CFLAGS=`eval echo $tmp_CFLAGS $tmp_options` + CPPFLAGS="$tmp_CPPFLAGS" + CFLAGS="$tmp_CFLAGS $tmp_options" + squeeze CPPFLAGS + squeeze CFLAGS CURL_COMPILER_WORKS_IFELSE([ AC_MSG_RESULT([yes]) AC_MSG_NOTICE([compiler options added: $tmp_options]) @@ -698,6 +707,7 @@ dnl on configure's optimize option. AC_DEFUN([CURL_SET_COMPILER_OPTIMIZE_OPTS], [ AC_REQUIRE([CURL_CHECK_OPTION_OPTIMIZE])dnl AC_REQUIRE([CURL_CHECK_COMPILER])dnl + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl # if test "$compiler_id" != "unknown"; then # @@ -746,8 +756,10 @@ AC_DEFUN([CURL_SET_COMPILER_OPTIMIZE_OPTS], [ AC_MSG_CHECKING([if compiler accepts optimizer disabling options]) tmp_options="$flags_opt_off" fi - CPPFLAGS=`eval echo $tmp_CPPFLAGS` - CFLAGS=`eval echo $tmp_CFLAGS $tmp_options` + CPPFLAGS="$tmp_CPPFLAGS" + CFLAGS="$tmp_CFLAGS $tmp_options" + squeeze CPPFLAGS + squeeze CFLAGS CURL_COMPILER_WORKS_IFELSE([ AC_MSG_RESULT([yes]) AC_MSG_NOTICE([compiler options added: $tmp_options]) @@ -772,6 +784,7 @@ dnl configure's warnings given option. AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [ AC_REQUIRE([CURL_CHECK_OPTION_WARNINGS])dnl AC_REQUIRE([CURL_CHECK_COMPILER])dnl + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl # if test "$compiler_id" != "unknown"; then # @@ -988,13 +1001,15 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [ # esac # - tmp_CPPFLAGS=`eval echo $tmp_CPPFLAGS` - tmp_CFLAGS=`eval echo $tmp_CFLAGS` + squeeze tmp_CPPFLAGS + squeeze tmp_CFLAGS # if test ! -z "$tmp_CFLAGS" || test ! -z "$tmp_CPPFLAGS"; then AC_MSG_CHECKING([if compiler accepts strict warning options]) - CPPFLAGS=`eval echo $tmp_save_CPPFLAGS $tmp_CPPFLAGS` - CFLAGS=`eval echo $tmp_save_CFLAGS $tmp_CFLAGS` + CPPFLAGS="$tmp_save_CPPFLAGS $tmp_CPPFLAGS" + CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS" + squeeze CPPFLAGS + squeeze CFLAGS CURL_COMPILER_WORKS_IFELSE([ AC_MSG_RESULT([yes]) AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS]) @@ -1011,6 +1026,28 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [ ]) +dnl CURL_SHFUNC_SQUEEZE +dnl ------------------------------------------------- +dnl Declares a shell function squeeze() which removes +dnl redundant whitespace out of a shell variable. + +AC_DEFUN([CURL_SHFUNC_SQUEEZE], [ +squeeze() { + _sqz_result="" + eval _sqz_input=\[$][$]1 + for _sqz_token in $_sqz_input; do + if test -z "$_sqz_result"; then + _sqz_result="$_sqz_token" + else + _sqz_result="$_sqz_result $_sqz_token" + fi + done + eval [$]1=\$_sqz_result + return 0 +} +]) + + dnl CURL_PROCESS_DEBUG_BUILD_OPTS dnl ------------------------------------------------- dnl Settings which depend on configure's debug given @@ -1019,10 +1056,12 @@ dnl Don't use this macro for compiler dependant stuff. AC_DEFUN([CURL_PROCESS_DEBUG_BUILD_OPTS], [ AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl # if test "$want_debug" = "yes"; then CPPFLAGS="$CPPFLAGS -DCURLDEBUG" + squeeze CPPFLAGS fi # ]) @@ -1086,6 +1125,7 @@ dnl as whitespace separated lists of words. Each word dnl from VALUE is removed from VARNAME when present. AC_DEFUN([CURL_VAR_STRIP], [ + AC_REQUIRE([CURL_SHFUNC_SQUEEZE])dnl ac_var_stripped="" for word1 in $[$1]; do ac_var_strip_word="no" @@ -1099,5 +1139,7 @@ AC_DEFUN([CURL_VAR_STRIP], [ fi done dnl squeeze whitespace out of result - [$1]=`eval echo $ac_var_stripped` + [$1]="$ac_var_stripped" + squeeze [$1] ]) + |