diff --git a/acinclude.m4 b/acinclude.m4 index 0e2a528af..0f7dbf44a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -118,6 +118,44 @@ CURL_DEF_TOKEN $1 ]) +dnl CURL_CHECK_DEF_CC (SYMBOL, [INCLUDES], [SILENT]) +dnl ------------------------------------------------- +dnl Use the C compiler to find out only if the given symbol is defined +dnl or not, this can not find out its expansion. This macro will not use +dnl default includes even if no INCLUDES argument is given. This macro +dnl will run silently when invoked with three arguments. + +AC_DEFUN([CURL_CHECK_DEF_CC], [ + AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl + ifelse($3,,[AC_MSG_CHECKING([for compiler definition of $1])]) + AC_COMPILE_IFELSE([ + AC_LANG_SOURCE( +ifelse($2,,,[$2])[[ +int main (void) +{ +#ifdef $1 + return 0; +#else + force compilation error +#endif +} + ]]) + ],[ + tst_symbol_defined="yes" + ],[ + tst_symbol_defined="no" + ]) + if test "$tst_symbol_defined" = "yes"; then + AS_VAR_SET(ac_HaveDef, yes) + ifelse($3,,[AC_MSG_RESULT([yes])]) + else + AS_VAR_SET(ac_HaveDef, no) + ifelse($3,,[AC_MSG_RESULT([no])]) + fi + AS_VAR_POPDEF([ac_HaveDef])dnl +]) + + dnl CURL_CHECK_AIX_ALL_SOURCE dnl ------------------------------------------------- dnl Provides a replacement of traditional AC_AIX with diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index 8cadce163..e5d96b25f 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -96,6 +96,44 @@ CURL_DEF_TOKEN $1 ]) +dnl CURL_CHECK_DEF_CC (SYMBOL, [INCLUDES], [SILENT]) +dnl ------------------------------------------------- +dnl Use the C compiler to find out only if the given symbol is defined +dnl or not, this can not find out its expansion. This macro will not use +dnl default includes even if no INCLUDES argument is given. This macro +dnl will run silently when invoked with three arguments. + +AC_DEFUN([CURL_CHECK_DEF_CC], [ + AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl + ifelse($3,,[AC_MSG_CHECKING([for compiler definition of $1])]) + AC_COMPILE_IFELSE([ + AC_LANG_SOURCE( +ifelse($2,,,[$2])[[ +int main (void) +{ +#ifdef $1 + return 0; +#else + force compilation error +#endif +} + ]]) + ],[ + tst_symbol_defined="yes" + ],[ + tst_symbol_defined="no" + ]) + if test "$tst_symbol_defined" = "yes"; then + AS_VAR_SET(ac_HaveDef, yes) + ifelse($3,,[AC_MSG_RESULT([yes])]) + else + AS_VAR_SET(ac_HaveDef, no) + ifelse($3,,[AC_MSG_RESULT([no])]) + fi + AS_VAR_POPDEF([ac_HaveDef])dnl +]) + + dnl CARES_CHECK_AIX_ALL_SOURCE dnl ------------------------------------------------- dnl Provides a replacement of traditional AC_AIX with diff --git a/ares/configure.ac b/ares/configure.ac index 4111dc848..b91915e33 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -194,7 +194,7 @@ dnl ********************************************************************** tst_lib_xnet_required="no" AC_MSG_CHECKING([if X/Open network library is required]) CURL_CHECK_DEF([__hpux], [], [silent]) -CURL_CHECK_DEF([_XOPEN_SOURCE_EXTENDED], [], [silent]) +CURL_CHECK_DEF_CC([_XOPEN_SOURCE_EXTENDED], [], [silent]) if test "$curl_cv_have_def__XOPEN_SOURCE_EXTENDED" = "yes" && test "$curl_cv_have_def___hpux" = "yes"; then my_ac_save_LIBS=$LIBS diff --git a/configure.ac b/configure.ac index 17bd920ee..711d98071 100644 --- a/configure.ac +++ b/configure.ac @@ -501,7 +501,7 @@ dnl ********************************************************************** tst_lib_xnet_required="no" AC_MSG_CHECKING([if X/Open network library is required]) CURL_CHECK_DEF([__hpux], [], [silent]) -CURL_CHECK_DEF([_XOPEN_SOURCE_EXTENDED], [], [silent]) +CURL_CHECK_DEF_CC([_XOPEN_SOURCE_EXTENDED], [], [silent]) if test "$curl_cv_have_def__XOPEN_SOURCE_EXTENDED" = "yes" && test "$curl_cv_have_def___hpux" = "yes"; then my_ac_save_LIBS=$LIBS