configure: autotools compatibility fixes - step I
Fix proper macro expansion order across autotools versions for C compiler and preprocessor program checks.
This commit is contained in:
parent
e5ea45ec2e
commit
9d1effad05
212
configure.ac
212
configure.ac
@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@ -125,6 +125,7 @@ fi
|
|||||||
|
|
||||||
dnl figure out the libcurl version
|
dnl figure out the libcurl version
|
||||||
CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
|
CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
|
||||||
|
XC_CHECK_PROG_CC
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
AC_MSG_CHECKING([curl version])
|
AC_MSG_CHECKING([curl version])
|
||||||
AC_MSG_RESULT($CURLVERSION)
|
AC_MSG_RESULT($CURLVERSION)
|
||||||
@ -168,119 +169,6 @@ curl_verbose_msg="enabled (--disable-verbose)"
|
|||||||
|
|
||||||
init_ssl_msg=${curl_ssl_msg}
|
init_ssl_msg=${curl_ssl_msg}
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl LIBS should only specify libraries
|
|
||||||
dnl
|
|
||||||
tst_bad_spec="no"
|
|
||||||
for word1 in $LIBS; do
|
|
||||||
case "$word1" in
|
|
||||||
-l* | --library=*)
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test "$tst_bad_spec" = "yes"; then
|
|
||||||
AC_MSG_WARN([invalid LIBS: $LIBS])
|
|
||||||
AC_MSG_ERROR([LIBS may only be used to specify libraries (-lname).])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl LDFLAGS should only specify linker flags
|
|
||||||
dnl
|
|
||||||
tst_bad_msg=""
|
|
||||||
tst_bad_spec="no"
|
|
||||||
for word1 in $LDFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-D*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not macro definitions. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-U*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not macro suppressions. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-I*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not include directories. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not libraries. Use LIBS for these."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test "$tst_bad_spec" = "yes"; then
|
|
||||||
AC_MSG_WARN([invalid LDFLAGS: $LDFLAGS])
|
|
||||||
AC_MSG_ERROR([LDFLAGS may only be used to specify linker flags, $tst_bad_msg])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl CPPFLAGS should only specify C preprocessor flags
|
|
||||||
dnl
|
|
||||||
tst_bad_msg=""
|
|
||||||
tst_bad_spec="no"
|
|
||||||
for word1 in $CPPFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-rpath*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not library runtime directories. Use LDFLAGS for these."
|
|
||||||
;;
|
|
||||||
-L* | --library-path=*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not library directories. Use LDFLAGS for these."
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not libraries. Use LIBS for these."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test "$tst_bad_spec" = "yes"; then
|
|
||||||
AC_MSG_WARN([invalid CPPFLAGS: $CPPFLAGS])
|
|
||||||
AC_MSG_ERROR([CPPFLAGS may only be used to specify C preprocessor flags, $tst_bad_msg])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl CFLAGS should only specify C compiler flags
|
|
||||||
dnl
|
|
||||||
tst_bad_msg=""
|
|
||||||
tst_bad_spec="no"
|
|
||||||
for word1 in $CFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-D*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not macro definitions. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-U*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not macro suppressions. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-I*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not include directories. Use CPPFLAGS for these."
|
|
||||||
;;
|
|
||||||
-rpath*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not library runtime directories. Use LDFLAGS for these."
|
|
||||||
;;
|
|
||||||
-L* | --library-path=*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not library directories. Use LDFLAGS for these."
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
tst_bad_msg="not libraries. Use LIBS for these."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test "$tst_bad_spec" = "yes"; then
|
|
||||||
AC_MSG_WARN([invalid CFLAGS: $CFLAGS])
|
|
||||||
AC_MSG_ERROR([CFLAGS may only be used to specify C compiler flags, $tst_bad_msg])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Save some initial values the user might have provided
|
dnl Save some initial values the user might have provided
|
||||||
dnl
|
dnl
|
||||||
@ -296,7 +184,6 @@ dnl Get system canonical name
|
|||||||
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
|
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
|
||||||
|
|
||||||
dnl Checks for programs.
|
dnl Checks for programs.
|
||||||
CURL_CHECK_PROG_CC
|
|
||||||
|
|
||||||
dnl Our curl_off_t internal and external configure settings
|
dnl Our curl_off_t internal and external configure settings
|
||||||
CURL_CONFIGURE_CURL_OFF_T
|
CURL_CONFIGURE_CURL_OFF_T
|
||||||
@ -3615,100 +3502,7 @@ squeeze CURL_NETWORK_AND_TIME_LIBS
|
|||||||
squeeze SUPPORT_FEATURES
|
squeeze SUPPORT_FEATURES
|
||||||
squeeze SUPPORT_PROTOCOLS
|
squeeze SUPPORT_PROTOCOLS
|
||||||
|
|
||||||
dnl
|
XC_CHECK_BUILD_FLAGS
|
||||||
dnl Some sanity checks for LIBS, LDFLAGS, CPPFLAGS and CFLAGS values that
|
|
||||||
dnl configure is going to feed into makefiles generated by automake. Due
|
|
||||||
dnl to automake placement and usage of these variables we have to follow
|
|
||||||
dnl its rules or we may get funny results later on at make-time.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl LIBS should only specify libraries
|
|
||||||
dnl
|
|
||||||
AC_MSG_NOTICE([using LIBS: $LIBS])
|
|
||||||
tst_bad_spec="no"
|
|
||||||
for word1 in $LIBS; do
|
|
||||||
case "$word1" in
|
|
||||||
-l* | --library=*)
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
tst_bad_spec="yes"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test "$tst_bad_spec" = "yes"; then
|
|
||||||
AC_MSG_WARN([oops, LIBS should only specify libraries.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl LDFLAGS should only specify linker flags
|
|
||||||
dnl
|
|
||||||
AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS])
|
|
||||||
tst_bad_msg="oops, LDFLAGS should only specify linker flags, not"
|
|
||||||
for word1 in $LDFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-D*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-U*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-I*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl CPPFLAGS should only specify C preprocessor flags
|
|
||||||
dnl
|
|
||||||
AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS])
|
|
||||||
tst_bad_msg="oops, CPPFLAGS should only specify C preprocessor flags, not"
|
|
||||||
for word1 in $CPPFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-rpath*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-L* | --library-path=*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl CFLAGS should only specify C compiler flags
|
|
||||||
dnl
|
|
||||||
AC_MSG_NOTICE([using CFLAGS: $CFLAGS])
|
|
||||||
tst_bad_msg="oops, CFLAGS should only specify C compiler flags, not"
|
|
||||||
for word1 in $CFLAGS; do
|
|
||||||
case "$word1" in
|
|
||||||
-D*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-U*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-I*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-rpath*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-L* | --library-path=*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
|
|
||||||
;;
|
|
||||||
-l* | --library=*)
|
|
||||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if test "x$want_curldebug_assumed" = "xyes" &&
|
if test "x$want_curldebug_assumed" = "xyes" &&
|
||||||
test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
|
test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@ -21,7 +21,7 @@
|
|||||||
#***************************************************************************
|
#***************************************************************************
|
||||||
|
|
||||||
# File version for 'aclocal' use. Keep it a single number.
|
# File version for 'aclocal' use. Keep it a single number.
|
||||||
# serial 64
|
# serial 65
|
||||||
|
|
||||||
|
|
||||||
dnl CURL_CHECK_COMPILER
|
dnl CURL_CHECK_COMPILER
|
||||||
@ -1264,20 +1264,6 @@ AC_DEFUN([CURL_CHECK_NO_UNDEFINED], [
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
dnl CURL_CHECK_PROG_CC
|
|
||||||
dnl -------------------------------------------------
|
|
||||||
dnl Check for compiler program, preventing CFLAGS and
|
|
||||||
dnl CPPFLAGS from being unexpectedly changed.
|
|
||||||
|
|
||||||
AC_DEFUN([CURL_CHECK_PROG_CC], [
|
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
|
||||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
|
||||||
AC_PROG_CC
|
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
|
||||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl CURL_CHECK_COMPILER_HALT_ON_ERROR
|
dnl CURL_CHECK_COMPILER_HALT_ON_ERROR
|
||||||
dnl -------------------------------------------------
|
dnl -------------------------------------------------
|
||||||
dnl Verifies if the compiler actually halts after the
|
dnl Verifies if the compiler actually halts after the
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@ -21,7 +21,7 @@
|
|||||||
#***************************************************************************
|
#***************************************************************************
|
||||||
|
|
||||||
# File version for 'aclocal' use. Keep it a single number.
|
# File version for 'aclocal' use. Keep it a single number.
|
||||||
# serial 18
|
# serial 19
|
||||||
|
|
||||||
dnl CURL_CHECK_OPTION_THREADED_RESOLVER
|
dnl CURL_CHECK_OPTION_THREADED_RESOLVER
|
||||||
dnl -------------------------------------------------
|
dnl -------------------------------------------------
|
||||||
@ -145,7 +145,7 @@ dnl variable want_debug value as appropriate.
|
|||||||
AC_DEFUN([CURL_CHECK_OPTION_DEBUG], [
|
AC_DEFUN([CURL_CHECK_OPTION_DEBUG], [
|
||||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_WARNINGS])dnl
|
AC_BEFORE([$0],[CURL_CHECK_OPTION_WARNINGS])dnl
|
||||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_CURLDEBUG])dnl
|
AC_BEFORE([$0],[CURL_CHECK_OPTION_CURLDEBUG])dnl
|
||||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||||
AC_MSG_CHECKING([whether to enable debug build options])
|
AC_MSG_CHECKING([whether to enable debug build options])
|
||||||
OPT_DEBUG_BUILD="default"
|
OPT_DEBUG_BUILD="default"
|
||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(debug,
|
||||||
@ -177,7 +177,7 @@ dnl shell variable want_optimize value as appropriate.
|
|||||||
|
|
||||||
AC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [
|
AC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [
|
||||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
||||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||||
AC_MSG_CHECKING([whether to enable compiler optimizer])
|
AC_MSG_CHECKING([whether to enable compiler optimizer])
|
||||||
OPT_COMPILER_OPTIMIZE="default"
|
OPT_COMPILER_OPTIMIZE="default"
|
||||||
AC_ARG_ENABLE(optimize,
|
AC_ARG_ENABLE(optimize,
|
||||||
@ -326,7 +326,7 @@ dnl shell variable want_warnings as appropriate.
|
|||||||
AC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [
|
AC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [
|
||||||
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
|
||||||
AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl
|
AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl
|
||||||
AC_BEFORE([$0],[CURL_CHECK_PROG_CC])dnl
|
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||||
AC_MSG_CHECKING([whether to enable strict compiler warnings])
|
AC_MSG_CHECKING([whether to enable strict compiler warnings])
|
||||||
OPT_COMPILER_WARNINGS="default"
|
OPT_COMPILER_WARNINGS="default"
|
||||||
AC_ARG_ENABLE(warnings,
|
AC_ARG_ENABLE(warnings,
|
||||||
|
102
m4/xc-cc-check.m4
Normal file
102
m4/xc-cc-check.m4
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
#---------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# xc-cc-check.m4
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013 Daniel Stenberg <daniel@haxx.se>
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for any
|
||||||
|
# purpose with or without fee is hereby granted, provided that the above
|
||||||
|
# copyright notice and this permission notice appear in all copies.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
#
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# serial 1
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_PROG_CC_PREAMBLE
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_PROG_CC_PREAMBLE], [
|
||||||
|
xc_prog_cc_prev_IFS=$IFS
|
||||||
|
xc_prog_cc_prev_LIBS=$LIBS
|
||||||
|
xc_prog_cc_prev_CFLAGS=$CFLAGS
|
||||||
|
xc_prog_cc_prev_LDFLAGS=$LDFLAGS
|
||||||
|
xc_prog_cc_prev_CPPFLAGS=$CPPFLAGS
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_PROG_CC_POSTLUDE
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_PROG_CC_POSTLUDE], [
|
||||||
|
IFS=$xc_prog_cc_prev_IFS
|
||||||
|
LIBS=$xc_prog_cc_prev_LIBS
|
||||||
|
CFLAGS=$xc_prog_cc_prev_CFLAGS
|
||||||
|
LDFLAGS=$xc_prog_cc_prev_LDFLAGS
|
||||||
|
CPPFLAGS=$xc_prog_cc_prev_CPPFLAGS
|
||||||
|
export CC
|
||||||
|
export CPP
|
||||||
|
export LIBS
|
||||||
|
export CFLAGS
|
||||||
|
export LDFLAGS
|
||||||
|
export CPPFLAGS
|
||||||
|
AC_SUBST([CC])dnl
|
||||||
|
AC_SUBST([CPP])dnl
|
||||||
|
AC_SUBST([LIBS])dnl
|
||||||
|
AC_SUBST([CFLAGS])dnl
|
||||||
|
AC_SUBST([LDFLAGS])dnl
|
||||||
|
AC_SUBST([CPPFLAGS])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_PROG_CC
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_PROG_CC], [
|
||||||
|
AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl
|
||||||
|
AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_CC_C_O])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CPP])dnl
|
||||||
|
AC_REQUIRE([_XC_PROG_CC_POSTLUDE])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl XC_CHECK_PROG_CC
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Public macro.
|
||||||
|
dnl
|
||||||
|
dnl Checks for C compiler and C preprocessor programs,
|
||||||
|
dnl while doing some previous sanity validation on user
|
||||||
|
dnl provided LIBS, LDFLAGS, CPPFLAGS and CFLAGS values
|
||||||
|
dnl that must succeed in order to continue execution.
|
||||||
|
dnl
|
||||||
|
dnl This sets variables CC and CPP, while preventing
|
||||||
|
dnl LIBS, LDFLAGS, CFLAGS, CPPFLAGS and IFS from being
|
||||||
|
dnl unexpectedly changed by underlying macros.
|
||||||
|
|
||||||
|
AC_DEFUN([XC_CHECK_PROG_CC], [
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
AC_BEFORE([$0],[_XC_PROG_CC_PREAMBLE])dnl
|
||||||
|
AC_BEFORE([$0],[AC_PROG_INSTALL])dnl
|
||||||
|
AC_BEFORE([$0],[AC_PROG_CC])dnl
|
||||||
|
AC_BEFORE([$0],[AM_PROG_CC_C_O])dnl
|
||||||
|
AC_BEFORE([$0],[AC_PROG_CPP])dnl
|
||||||
|
AC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl
|
||||||
|
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
||||||
|
AC_BEFORE([$0],[_XC_PROG_CC_POSTLUDE])dnl
|
||||||
|
AC_REQUIRE([_XC_PROG_CC])dnl
|
||||||
|
])
|
||||||
|
|
243
m4/xc-val-flgs.m4
Normal file
243
m4/xc-val-flgs.m4
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
#---------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# xc-val-flgs.m4
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013 Daniel Stenberg <daniel@haxx.se>
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for any
|
||||||
|
# purpose with or without fee is hereby granted, provided that the above
|
||||||
|
# copyright notice and this permission notice appear in all copies.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
#
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# serial 1
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_CHECK_VAR_LIBS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_CHECK_VAR_LIBS], [
|
||||||
|
xc_bad_var_libs=no
|
||||||
|
for xc_word in $LIBS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-l* | --library=*)
|
||||||
|
:
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
xc_bad_var_libs=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $xc_bad_var_libs = yes; then
|
||||||
|
AC_MSG_NOTICE([using LIBS: $LIBS])
|
||||||
|
AC_MSG_NOTICE([LIBS error: LIBS may only be used to specify libraries (-lname).])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_CHECK_VAR_LDFLAGS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_CHECK_VAR_LDFLAGS], [
|
||||||
|
xc_bad_var_ldflags=no
|
||||||
|
for xc_word in $LDFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-D*)
|
||||||
|
xc_bad_var_ldflags=yes
|
||||||
|
;;
|
||||||
|
-U*)
|
||||||
|
xc_bad_var_ldflags=yes
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
xc_bad_var_ldflags=yes
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
xc_bad_var_ldflags=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $xc_bad_var_ldflags = yes; then
|
||||||
|
AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS])
|
||||||
|
xc_bad_var_msg="LDFLAGS error: LDFLAGS may only be used to specify linker flags, not"
|
||||||
|
for xc_word in $LDFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-D*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-U*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_CHECK_VAR_CPPFLAGS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_CHECK_VAR_CPPFLAGS], [
|
||||||
|
xc_bad_var_cppflags=no
|
||||||
|
for xc_word in $CPPFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-rpath*)
|
||||||
|
xc_bad_var_cppflags=yes
|
||||||
|
;;
|
||||||
|
-L* | --library-path=*)
|
||||||
|
xc_bad_var_cppflags=yes
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
xc_bad_var_cppflags=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $xc_bad_var_cppflags = yes; then
|
||||||
|
AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS])
|
||||||
|
xc_bad_var_msg="CPPFLAGS error: CPPFLAGS may only be used to specify C preprocessor flags, not"
|
||||||
|
for xc_word in $CPPFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-rpath*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-L* | --library-path=*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl _XC_CHECK_VAR_CFLAGS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Private macro.
|
||||||
|
|
||||||
|
AC_DEFUN([_XC_CHECK_VAR_CFLAGS], [
|
||||||
|
xc_bad_var_cflags=no
|
||||||
|
for xc_word in $CFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-D*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
-U*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
-rpath*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
-L* | --library-path=*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
xc_bad_var_cflags=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $xc_bad_var_cflags = yes; then
|
||||||
|
AC_MSG_NOTICE([using CFLAGS: $CFLAGS])
|
||||||
|
xc_bad_var_msg="CFLAGS error: CFLAGS may only be used to specify C compiler flags, not"
|
||||||
|
for xc_word in $CFLAGS; do
|
||||||
|
case "$xc_word" in
|
||||||
|
-D*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-U*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-rpath*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-L* | --library-path=*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word])
|
||||||
|
;;
|
||||||
|
-l* | --library=*)
|
||||||
|
AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl XC_CHECK_USER_FLAGS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Public macro.
|
||||||
|
dnl
|
||||||
|
dnl Performs some sanity checks for LIBS, LDFLAGS,
|
||||||
|
dnl CPPFLAGS and CFLAGS values that the user might
|
||||||
|
dnl have set. When checks fails, user is noticed
|
||||||
|
dnl about errors detected in all of them and script
|
||||||
|
dnl execution is halted.
|
||||||
|
dnl
|
||||||
|
dnl Intended to be used early in configure script.
|
||||||
|
|
||||||
|
AC_DEFUN([XC_CHECK_USER_FLAGS], [
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||||
|
dnl check order below matters
|
||||||
|
_XC_CHECK_VAR_LIBS
|
||||||
|
_XC_CHECK_VAR_LDFLAGS
|
||||||
|
_XC_CHECK_VAR_CPPFLAGS
|
||||||
|
_XC_CHECK_VAR_CFLAGS
|
||||||
|
if test $xc_bad_var_libs = yes ||
|
||||||
|
test $xc_bad_var_cflags = yes ||
|
||||||
|
test $xc_bad_var_ldflags = yes ||
|
||||||
|
test $xc_bad_var_cppflags = yes; then
|
||||||
|
AC_MSG_ERROR([Can not continue. Fix errors mentioned immediately above this line.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl XC_CHECK_BUILD_FLAGS
|
||||||
|
dnl -------------------------------------------------
|
||||||
|
dnl Public macro.
|
||||||
|
dnl
|
||||||
|
dnl Performs some sanity checks for LIBS, LDFLAGS,
|
||||||
|
dnl CPPFLAGS and CFLAGS values that the configure
|
||||||
|
dnl script might have set. When checks fails, user
|
||||||
|
dnl is noticed about errors detected in all of them
|
||||||
|
dnl but script continues execution.
|
||||||
|
dnl
|
||||||
|
dnl Intended to be used very late in configure script.
|
||||||
|
|
||||||
|
AC_DEFUN([XC_CHECK_BUILD_FLAGS], [
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
dnl check order below matters
|
||||||
|
_XC_CHECK_VAR_LIBS
|
||||||
|
_XC_CHECK_VAR_LDFLAGS
|
||||||
|
_XC_CHECK_VAR_CPPFLAGS
|
||||||
|
_XC_CHECK_VAR_CFLAGS
|
||||||
|
if test $xc_bad_var_libs = yes ||
|
||||||
|
test $xc_bad_var_cflags = yes ||
|
||||||
|
test $xc_bad_var_ldflags = yes ||
|
||||||
|
test $xc_bad_var_cppflags = yes; then
|
||||||
|
AC_MSG_WARN([Continuing even with errors mentioned immediately above this line.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user