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
dc6c864108
commit
037656b2d8
10
configure.ac
10
configure.ac
|
@ -69,8 +69,6 @@ if test -f ${srcdir}/ares_build.h; then
|
|||
rm -f ${srcdir}/ares_build.h
|
||||
fi
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
dnl
|
||||
dnl Detect the canonical host and target build environment
|
||||
dnl
|
||||
|
@ -79,9 +77,9 @@ AC_CANONICAL_HOST
|
|||
dnl Get system canonical name
|
||||
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
|
||||
|
||||
CARES_CHECK_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
AC_PROG_INSTALL
|
||||
XC_CHECK_PROG_CC
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
dnl This defines _ALL_SOURCE for AIX
|
||||
CARES_CHECK_AIX_ALL_SOURCE
|
||||
|
@ -864,5 +862,7 @@ squeeze LIBS
|
|||
|
||||
squeeze CARES_PRIVATE_LIBS
|
||||
|
||||
XC_CHECK_BUILD_FLAGS
|
||||
|
||||
AC_CONFIG_FILES([Makefile libcares.pc])
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#***************************************************************************
|
||||
#
|
||||
# Copyright (C) 2009-2012 by Daniel Stenberg et al
|
||||
# Copyright (C) 2009-2013 by Daniel Stenberg et al
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software and its
|
||||
# documentation for any purpose and without fee is hereby granted, provided
|
||||
|
@ -15,7 +15,7 @@
|
|||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 73
|
||||
# serial 74
|
||||
|
||||
|
||||
dnl CARES_CHECK_COMPILER
|
||||
|
@ -1296,20 +1296,6 @@ AC_DEFUN([CARES_CHECK_NO_UNDEFINED], [
|
|||
])
|
||||
|
||||
|
||||
dnl CARES_CHECK_PROG_CC
|
||||
dnl -------------------------------------------------
|
||||
dnl Check for compiler program, preventing CFLAGS and
|
||||
dnl CPPFLAGS from being unexpectedly changed.
|
||||
|
||||
AC_DEFUN([CARES_CHECK_PROG_CC], [
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||
AC_PROG_CC
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
])
|
||||
|
||||
|
||||
dnl CARES_CHECK_COMPILER_HALT_ON_ERROR
|
||||
dnl -------------------------------------------------
|
||||
dnl Verifies if the compiler actually halts after the
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#***************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
# Copyright (C) 2008 - 2012 by Daniel Stenberg et al
|
||||
# Copyright (C) 2008 - 2013 by Daniel Stenberg et al
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software and its
|
||||
# documentation for any purpose and without fee is hereby granted, provided
|
||||
|
@ -16,7 +15,7 @@
|
|||
#***************************************************************************
|
||||
|
||||
# File version for 'aclocal' use. Keep it a single number.
|
||||
# serial 10
|
||||
# serial 11
|
||||
|
||||
|
||||
dnl CARES_CHECK_OPTION_CURLDEBUG
|
||||
|
@ -67,7 +66,7 @@ dnl variable want_debug value as appropriate.
|
|||
AC_DEFUN([CARES_CHECK_OPTION_DEBUG], [
|
||||
AC_BEFORE([$0],[CARES_CHECK_OPTION_WARNINGS])dnl
|
||||
AC_BEFORE([$0],[CARES_CHECK_OPTION_CURLDEBUG])dnl
|
||||
AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable debug build options])
|
||||
OPT_DEBUG_BUILD="default"
|
||||
AC_ARG_ENABLE(debug,
|
||||
|
@ -132,7 +131,7 @@ dnl shell variable want_optimize value as appropriate.
|
|||
|
||||
AC_DEFUN([CARES_CHECK_OPTION_OPTIMIZE], [
|
||||
AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
|
||||
AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable compiler optimizer])
|
||||
OPT_COMPILER_OPTIMIZE="default"
|
||||
AC_ARG_ENABLE(optimize,
|
||||
|
@ -229,7 +228,7 @@ dnl shell variable want_warnings as appropriate.
|
|||
AC_DEFUN([CARES_CHECK_OPTION_WARNINGS], [
|
||||
AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
|
||||
AC_BEFORE([$0],[CARES_CHECK_OPTION_WERROR])dnl
|
||||
AC_BEFORE([$0],[CARES_CHECK_PROG_CC])dnl
|
||||
AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
|
||||
AC_MSG_CHECKING([whether to enable strict compiler warnings])
|
||||
OPT_COMPILER_WARNINGS="default"
|
||||
AC_ARG_ENABLE(warnings,
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
#---------------------------------------------------------------------------
|
||||
#
|
||||
# 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
|
||||
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
|
||||
])
|
||||
|
|
@ -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…
Reference in New Issue