aboutsummaryrefslogtreecommitdiff
path: root/m4/curl-compilers.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/curl-compilers.m4')
-rw-r--r--m4/curl-compilers.m474
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]
])
+