aboutsummaryrefslogtreecommitdiff
path: root/ares/m4/cares-compilers.m4
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2010-03-24 10:34:30 +0100
committerDaniel Stenberg <daniel@haxx.se>2010-03-24 10:34:30 +0100
commit4259d2df7dd95637a4b1e3fb174fe5e5aef81069 (patch)
tree8abd5ab61fbacf160f9084a44613fcc4b20e8483 /ares/m4/cares-compilers.m4
parent4b351d018e3d6691191fd653a17f14f4a31e0b4c (diff)
remove the ares subtree
c-ares is now hosted entirely separate from the curl project see http://c-ares.haxx.se/ for all details concerning c-ares, its source repository and more.
Diffstat (limited to 'ares/m4/cares-compilers.m4')
-rw-r--r--ares/m4/cares-compilers.m41551
1 files changed, 0 insertions, 1551 deletions
diff --git a/ares/m4/cares-compilers.m4 b/ares/m4/cares-compilers.m4
deleted file mode 100644
index 3a5738971..000000000
--- a/ares/m4/cares-compilers.m4
+++ /dev/null
@@ -1,1551 +0,0 @@
-#***************************************************************************
-# $Id$
-#
-# Copyright (C) 2009-2010 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
-# that the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 65
-
-
-dnl CARES_CHECK_COMPILER
-dnl -------------------------------------------------
-dnl Verify if the C compiler being used is known.
-
-AC_DEFUN([CARES_CHECK_COMPILER], [
- AC_BEFORE([$0],[CARES_CHECK_NO_UNDEFINED])dnl
- #
- compiler_id="unknown"
- compiler_num="0"
- #
- flags_dbg_all="unknown"
- flags_dbg_yes="unknown"
- flags_dbg_off="unknown"
- flags_opt_all="unknown"
- flags_opt_yes="unknown"
- flags_opt_off="unknown"
- #
- CARES_CHECK_COMPILER_DEC_C
- CARES_CHECK_COMPILER_HPUX_C
- CARES_CHECK_COMPILER_IBM_C
- CARES_CHECK_COMPILER_INTEL_C
- CARES_CHECK_COMPILER_CLANG
- CARES_CHECK_COMPILER_GNU_C
- CARES_CHECK_COMPILER_LCC
- CARES_CHECK_COMPILER_SGI_MIPSPRO_C
- CARES_CHECK_COMPILER_SGI_MIPS_C
- CARES_CHECK_COMPILER_SUNPRO_C
- CARES_CHECK_COMPILER_TINY_C
- CARES_CHECK_COMPILER_WATCOM_C
- #
- if test "$compiler_id" = "unknown"; then
- cat <<_EOF 1>&2
-***
-*** Warning: This configure script does not have information about the
-*** compiler you are using, relative to the flags required to enable or
-*** disable generation of debug info, optimization options or warnings.
-***
-*** Whatever settings are present in CFLAGS will be used for this run.
-***
-*** If you wish to help the c-ares project to better support your compiler
-*** you can report this and the required info on the c-ares development
-*** mailing list: http://cool.haxx.se/mailman/listinfo/c-ares/
-***
-_EOF
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_CLANG
-dnl -------------------------------------------------
-dnl Verify if compiler being used is clang.
-
-AC_DEFUN([CARES_CHECK_COMPILER_CLANG], [
- AC_BEFORE([$0],[CARES_CHECK_COMPILER_GNU_C])dnl
- AC_MSG_CHECKING([if compiler is clang])
- CURL_CHECK_DEF([__clang__], [], [silent])
- if test "$curl_cv_have_def___clang__" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="CLANG"
- clangver=`$CC -dumpversion`
- clangvhi=`echo $clangver | cut -d . -f1`
- clangvlo=`echo $clangver | cut -d . -f2`
- compiler_num=`(expr $clangvhi "*" 100 + $clangvlo) 2>/dev/null`
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_all="$flags_dbg_all -ggdb"
- flags_dbg_all="$flags_dbg_all -gstabs"
- flags_dbg_all="$flags_dbg_all -gstabs+"
- flags_dbg_all="$flags_dbg_all -gcoff"
- flags_dbg_all="$flags_dbg_all -gxcoff"
- flags_dbg_all="$flags_dbg_all -gdwarf-2"
- flags_dbg_all="$flags_dbg_all -gvms"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -Os -O3 -O4"
- flags_opt_yes="-Os"
- flags_opt_off="-O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_DEC_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is DEC C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_DEC_C], [
- AC_MSG_CHECKING([if compiler is DEC/Compaq/HP C])
- CURL_CHECK_DEF([__DECC], [], [silent])
- CURL_CHECK_DEF([__DECC_VER], [], [silent])
- if test "$curl_cv_have_def___DECC" = "yes" &&
- test "$curl_cv_have_def___DECC_VER" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="DEC_C"
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_yes="-g2"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -O4"
- flags_opt_yes="-O1"
- flags_opt_off="-O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_GNU_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is GNU C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_GNU_C], [
- AC_REQUIRE([CARES_CHECK_COMPILER_INTEL_C])dnl
- AC_REQUIRE([CARES_CHECK_COMPILER_CLANG])dnl
- AC_MSG_CHECKING([if compiler is GNU C])
- CURL_CHECK_DEF([__GNUC__], [], [silent])
- if test "$curl_cv_have_def___GNUC__" = "yes" &&
- test "$compiler_id" = "unknown"; then
- AC_MSG_RESULT([yes])
- compiler_id="GNU_C"
- gccver=`$CC -dumpversion`
- gccvhi=`echo $gccver | cut -d . -f1`
- gccvlo=`echo $gccver | cut -d . -f2`
- compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_all="$flags_dbg_all -ggdb"
- flags_dbg_all="$flags_dbg_all -gstabs"
- flags_dbg_all="$flags_dbg_all -gstabs+"
- flags_dbg_all="$flags_dbg_all -gcoff"
- flags_dbg_all="$flags_dbg_all -gxcoff"
- flags_dbg_all="$flags_dbg_all -gdwarf-2"
- flags_dbg_all="$flags_dbg_all -gvms"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_HPUX_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is HP-UX C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_HPUX_C], [
- AC_MSG_CHECKING([if compiler is HP-UX C])
- CURL_CHECK_DEF([__HP_cc], [], [silent])
- if test "$curl_cv_have_def___HP_cc" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="HP_UX_C"
- flags_dbg_all="-g -s"
- flags_dbg_yes="-g"
- flags_dbg_off="-s"
- flags_opt_all="-O +O0 +O1 +O2 +O3 +O4"
- flags_opt_yes="+O2"
- flags_opt_off="+O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_IBM_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is IBM C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_IBM_C], [
- AC_MSG_CHECKING([if compiler is IBM C])
- CURL_CHECK_DEF([__IBMC__], [], [silent])
- if test "$curl_cv_have_def___IBMC__" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="IBM_C"
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_yes="-g"
- flags_dbg_off=""
- flags_opt_all="-O -O0 -O1 -O2 -O3 -O4 -O5"
- flags_opt_all="$flags_opt_all -qnooptimize"
- flags_opt_all="$flags_opt_all -qoptimize=0"
- flags_opt_all="$flags_opt_all -qoptimize=1"
- flags_opt_all="$flags_opt_all -qoptimize=2"
- flags_opt_all="$flags_opt_all -qoptimize=3"
- flags_opt_all="$flags_opt_all -qoptimize=4"
- flags_opt_all="$flags_opt_all -qoptimize=5"
- flags_opt_yes="-O2"
- flags_opt_off="-qnooptimize"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_INTEL_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Intel C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_INTEL_C], [
- AC_BEFORE([$0],[CARES_CHECK_COMPILER_GNU_C])dnl
- AC_MSG_CHECKING([if compiler is Intel C])
- CURL_CHECK_DEF([__INTEL_COMPILER], [], [silent])
- if test "$curl_cv_have_def___INTEL_COMPILER" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_num="$curl_cv_def___INTEL_COMPILER"
- CURL_CHECK_DEF([__unix__], [], [silent])
- if test "$curl_cv_have_def___unix__" = "yes"; then
- compiler_id="INTEL_UNIX_C"
- flags_dbg_all="-g -g0"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
- else
- compiler_id="INTEL_WINDOWS_C"
- flags_dbg_all="/ZI /Zi /zI /zi /ZD /Zd /zD /zd /Z7 /z7 /Oy /Oy-"
- flags_dbg_all="$flags_dbg_all /debug"
- flags_dbg_all="$flags_dbg_all /debug:none"
- flags_dbg_all="$flags_dbg_all /debug:minimal"
- flags_dbg_all="$flags_dbg_all /debug:partial"
- flags_dbg_all="$flags_dbg_all /debug:full"
- flags_dbg_all="$flags_dbg_all /debug:semantic_stepping"
- flags_dbg_all="$flags_dbg_all /debug:extended"
- flags_dbg_yes="/Zi /Oy-"
- flags_dbg_off="/debug:none /Oy-"
- flags_opt_all="/O /O0 /O1 /O2 /O3 /Od /Og /Og- /Oi /Oi-"
- flags_opt_yes="/O2"
- flags_opt_off="/Od"
- fi
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_LCC
-dnl -------------------------------------------------
-dnl Verify if compiler being used is LCC.
-
-AC_DEFUN([CARES_CHECK_COMPILER_LCC], [
- AC_MSG_CHECKING([if compiler is LCC])
- CURL_CHECK_DEF([__LCC__], [], [silent])
- if test "$curl_cv_have_def___LCC__" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="LCC"
- flags_dbg_all="-g"
- flags_dbg_yes="-g"
- flags_dbg_off=""
- flags_opt_all=""
- flags_opt_yes=""
- flags_opt_off=""
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SGI_MIPS_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SGI MIPS C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SGI_MIPS_C], [
- AC_REQUIRE([CARES_CHECK_COMPILER_SGI_MIPSPRO_C])dnl
- AC_MSG_CHECKING([if compiler is SGI MIPS C])
- CURL_CHECK_DEF([__GNUC__], [], [silent])
- CURL_CHECK_DEF([__sgi], [], [silent])
- if test "$curl_cv_have_def___GNUC__" = "no" &&
- test "$curl_cv_have_def___sgi" = "yes" &&
- test "$compiler_id" = "unknown"; then
- AC_MSG_RESULT([yes])
- compiler_id="SGI_MIPS_C"
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SGI_MIPSPRO_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SGI MIPSpro C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SGI_MIPSPRO_C], [
- AC_BEFORE([$0],[CARES_CHECK_COMPILER_SGI_MIPS_C])dnl
- AC_MSG_CHECKING([if compiler is SGI MIPSpro C])
- CURL_CHECK_DEF([__GNUC__], [], [silent])
- CURL_CHECK_DEF([_COMPILER_VERSION], [], [silent])
- CURL_CHECK_DEF([_SGI_COMPILER_VERSION], [], [silent])
- if test "$curl_cv_have_def___GNUC__" = "no" &&
- (test "$curl_cv_have_def__SGI_COMPILER_VERSION" = "yes" ||
- test "$curl_cv_have_def__COMPILER_VERSION" = "yes"); then
- AC_MSG_RESULT([yes])
- compiler_id="SGI_MIPSPRO_C"
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SUNPRO_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is SunPro C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SUNPRO_C], [
- AC_MSG_CHECKING([if compiler is SunPro C])
- CURL_CHECK_DEF([__SUNPRO_C], [], [silent])
- if test "$curl_cv_have_def___SUNPRO_C" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="SUNPRO_C"
- flags_dbg_all="-g -s"
- flags_dbg_yes="-g"
- flags_dbg_off="-s"
- flags_opt_all="-O -xO -xO1 -xO2 -xO3 -xO4 -xO5"
- flags_opt_yes="-xO2"
- flags_opt_off=""
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_TINY_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Tiny C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_TINY_C], [
- AC_MSG_CHECKING([if compiler is Tiny C])
- CURL_CHECK_DEF([__TINYC__], [], [silent])
- if test "$curl_cv_have_def___TINYC__" = "yes"; then
- AC_MSG_RESULT([yes])
- compiler_id="TINY_C"
- flags_dbg_all="-g -b"
- flags_dbg_yes="-g"
- flags_dbg_off=""
- flags_opt_all=""
- flags_opt_yes=""
- flags_opt_off=""
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_WATCOM_C
-dnl -------------------------------------------------
-dnl Verify if compiler being used is Watcom C.
-
-AC_DEFUN([CARES_CHECK_COMPILER_WATCOM_C], [
- AC_MSG_CHECKING([if compiler is Watcom C])
- CURL_CHECK_DEF([__WATCOMC__], [], [silent])
- if test "$curl_cv_have_def___WATCOMC__" = "yes"; then
- AC_MSG_RESULT([yes])
- CURL_CHECK_DEF([__UNIX__], [], [silent])
- if test "$curl_cv_have_def___UNIX__" = "yes"; then
- compiler_id="WATCOM_UNIX_C"
- flags_dbg_all="-g1 -g1+ -g2 -g3"
- flags_dbg_yes="-g2"
- flags_dbg_off=""
- flags_opt_all="-O0 -O1 -O2 -O3"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
- else
- compiler_id="WATCOM_WINDOWS_C"
- flags_dbg_all=""
- flags_dbg_yes=""
- flags_dbg_off=""
- flags_opt_all=""
- flags_opt_yes=""
- flags_opt_off=""
- fi
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_CONVERT_INCLUDE_TO_ISYSTEM
-dnl -------------------------------------------------
-dnl Changes standard include paths present in CFLAGS
-dnl and CPPFLAGS into isystem include paths. This is
-dnl done to prevent GNUC from generating warnings on
-dnl headers from these locations, although on ancient
-dnl GNUC versions these warnings are not silenced.
-
-AC_DEFUN([CARES_CONVERT_INCLUDE_TO_ISYSTEM], [
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- tmp_has_include="no"
- tmp_chg_FLAGS="$CFLAGS"
- for word1 in $tmp_chg_FLAGS; do
- case "$word1" in
- -I*)
- tmp_has_include="yes"
- ;;
- esac
- done
- 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="$tmp_chg_FLAGS"
- squeeze CFLAGS
- fi
- tmp_has_include="no"
- tmp_chg_FLAGS="$CPPFLAGS"
- for word1 in $tmp_chg_FLAGS; do
- case "$word1" in
- -I*)
- tmp_has_include="yes"
- ;;
- esac
- done
- 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="$tmp_chg_FLAGS"
- squeeze CPPFLAGS
- fi
-])
-
-
-dnl CARES_COMPILER_WORKS_IFELSE ([ACTION-IF-WORKS], [ACTION-IF-NOT-WORKS])
-dnl -------------------------------------------------
-dnl Verify if the C compiler seems to work with the
-dnl settings that are 'active' at the time the test
-dnl is performed.
-
-AC_DEFUN([CARES_COMPILER_WORKS_IFELSE], [
- dnl compilation capability verification
- tmp_compiler_works="unknown"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- int i = 1;
- return i;
- ]])
- ],[
- tmp_compiler_works="yes"
- ],[
- tmp_compiler_works="no"
- echo " " >&6
- sed 's/^/cc-fail: /' conftest.err >&6
- echo " " >&6
- ])
- dnl linking capability verification
- if test "$tmp_compiler_works" = "yes"; then
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- int i = 1;
- return i;
- ]])
- ],[
- tmp_compiler_works="yes"
- ],[
- tmp_compiler_works="no"
- echo " " >&6
- sed 's/^/link-fail: /' conftest.err >&6
- echo " " >&6
- ])
- fi
- dnl only do runtime verification when not cross-compiling
- if test "x$cross_compiling" != "xyes" &&
- test "$tmp_compiler_works" = "yes"; then
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-# ifdef __STDC__
-# include <stdlib.h>
-# endif
- ]],[[
- int i = 0;
- exit(i);
- ]])
- ],[
- tmp_compiler_works="yes"
- ],[
- tmp_compiler_works="no"
- echo " " >&6
- echo "run-fail: test program exited with status $ac_status" >&6
- echo " " >&6
- ])
- fi
- dnl branch upon test result
- if test "$tmp_compiler_works" = "yes"; then
- ifelse($1,,:,[$1])
- ifelse($2,,,[else
- $2])
- fi
-])
-
-
-dnl CARES_SET_COMPILER_BASIC_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which do not
-dnl depend on configure's debug, optimize or warnings
-dnl options.
-
-AC_DEFUN([CARES_SET_COMPILER_BASIC_OPTS], [
- AC_REQUIRE([CARES_CHECK_COMPILER])dnl
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- #
- if test "$compiler_id" != "unknown"; then
- #
- if test "$compiler_id" = "GNU_C" ||
- test "$compiler_id" = "CLANG"; then
- CARES_CONVERT_INCLUDE_TO_ISYSTEM
- fi
- #
- tmp_save_CPPFLAGS="$CPPFLAGS"
- tmp_save_CFLAGS="$CFLAGS"
- tmp_CPPFLAGS=""
- tmp_CFLAGS=""
- #
- case "$compiler_id" in
- #
- CLANG)
- #
- dnl Disable warnings for unused arguments, otherwise clang will
- dnl warn about compile-time arguments used during link-time, like
- dnl -O and -g and -pedantic.
- tmp_CFLAGS="$tmp_CFLAGS -Qunused-arguments"
- ;;
- #
- DEC_C)
- #
- dnl Select strict ANSI C compiler mode
- tmp_CFLAGS="$tmp_CFLAGS -std1"
- dnl Turn off optimizer ANSI C aliasing rules
- tmp_CFLAGS="$tmp_CFLAGS -noansi_alias"
- dnl Generate warnings for missing function prototypes
- tmp_CFLAGS="$tmp_CFLAGS -warnprotos"
- dnl Change some warnings into fatal errors
- tmp_CFLAGS="$tmp_CFLAGS -msg_fatal toofewargs,toomanyargs"
- ;;
- #
- GNU_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- HP_UX_C)
- #
- dnl Disallow run-time dereferencing of null pointers
- tmp_CFLAGS="$tmp_CFLAGS -z"
- dnl Disable some remarks
- dnl #4227: padding struct with n bytes to align member
- dnl #4255: padding size of struct with n bytes to alignment boundary
- tmp_CFLAGS="$tmp_CFLAGS +W 4227,4255"
- ;;
- #
- IBM_C)
- #
- dnl Ensure that compiler optimizations are always thread-safe.
- tmp_CFLAGS="$tmp_CFLAGS -qthreaded"
- dnl Disable type based strict aliasing optimizations, using worst
- dnl case aliasing assumptions when compiling. Type based aliasing
- dnl would restrict the lvalues that could be safely used to access
- dnl a data object.
- tmp_CFLAGS="$tmp_CFLAGS -qnoansialias"
- dnl Force compiler to stop after the compilation phase, without
- dnl generating an object code file when compilation has errors.
- tmp_CFLAGS="$tmp_CFLAGS -qhalt=e"
- ;;
- #
- INTEL_UNIX_C)
- #
- dnl On unix this compiler uses gcc's header files, so
- dnl we select ANSI C89 dialect plus GNU extensions.
- tmp_CFLAGS="$tmp_CFLAGS -std=gnu89"
- dnl Change some warnings into errors
- dnl #140: too many arguments in function call
- dnl #147: declaration is incompatible with 'previous one'
- dnl #165: too few arguments in function call
- dnl #266: function declared implicitly
- tmp_CPPFLAGS="$tmp_CPPFLAGS -we 140,147,165,266"
- dnl Disable some remarks
- dnl #279: controlling expression is constant
- dnl #981: operands are evaluated in unspecified order
- dnl #1469: "cc" clobber ignored
- tmp_CPPFLAGS="$tmp_CPPFLAGS -wd 279,981,1469"
- ;;
- #
- INTEL_WINDOWS_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- LCC)
- #
- dnl Disallow run-time dereferencing of null pointers
- tmp_CFLAGS="$tmp_CFLAGS -n"
- ;;
- #
- SGI_MIPS_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- SGI_MIPSPRO_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- SUNPRO_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- TINY_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- WATCOM_UNIX_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- WATCOM_WINDOWS_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- esac
- #
- 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="$tmp_save_CPPFLAGS $tmp_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
- squeeze CPPFLAGS
- squeeze CFLAGS
- CARES_COMPILER_WORKS_IFELSE([
- AC_MSG_RESULT([yes])
- AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_WARN([compiler options rejected: $tmp_CFLAGS $tmp_CPPFLAGS])
- dnl restore initial settings
- CPPFLAGS="$tmp_save_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS"
- ])
- fi
- #
- fi
-])
-
-
-dnl CARES_SET_COMPILER_DEBUG_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which depend
-dnl on configure's debug option.
-
-AC_DEFUN([CARES_SET_COMPILER_DEBUG_OPTS], [
- AC_REQUIRE([CARES_CHECK_OPTION_DEBUG])dnl
- AC_REQUIRE([CARES_CHECK_COMPILER])dnl
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- #
- if test "$compiler_id" != "unknown"; then
- #
- tmp_save_CFLAGS="$CFLAGS"
- tmp_save_CPPFLAGS="$CPPFLAGS"
- #
- tmp_options=""
- tmp_CFLAGS="$CFLAGS"
- tmp_CPPFLAGS="$CPPFLAGS"
- CARES_VAR_STRIP([tmp_CFLAGS],[$flags_dbg_all])
- CARES_VAR_STRIP([tmp_CPPFLAGS],[$flags_dbg_all])
- #
- if test "$want_debug" = "yes"; then
- AC_MSG_CHECKING([if compiler accepts debug enabling options])
- tmp_options="$flags_dbg_yes"
- fi
- if test "$want_debug" = "no"; then
- AC_MSG_CHECKING([if compiler accepts debug disabling options])
- tmp_options="$flags_dbg_off"
- fi
- #
- CPPFLAGS="$tmp_CPPFLAGS"
- CFLAGS="$tmp_CFLAGS $tmp_options"
- squeeze CPPFLAGS
- squeeze CFLAGS
- CARES_COMPILER_WORKS_IFELSE([
- AC_MSG_RESULT([yes])
- AC_MSG_NOTICE([compiler options added: $tmp_options])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_WARN([compiler options rejected: $tmp_options])
- dnl restore initial settings
- CPPFLAGS="$tmp_save_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS"
- ])
- #
- fi
-])
-
-
-dnl CARES_SET_COMPILER_OPTIMIZE_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler specific options/flags which depend
-dnl on configure's optimize option.
-
-AC_DEFUN([CARES_SET_COMPILER_OPTIMIZE_OPTS], [
- AC_REQUIRE([CARES_CHECK_OPTION_OPTIMIZE])dnl
- AC_REQUIRE([CARES_CHECK_COMPILER])dnl
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- #
- if test "$compiler_id" != "unknown"; then
- #
- tmp_save_CFLAGS="$CFLAGS"
- tmp_save_CPPFLAGS="$CPPFLAGS"
- #
- tmp_options=""
- tmp_CFLAGS="$CFLAGS"
- tmp_CPPFLAGS="$CPPFLAGS"
- honor_optimize_option="yes"
- #
- dnl If optimization request setting has not been explicitly specified,
- dnl it has been derived from the debug setting and initially assumed.
- dnl This initially assumed optimizer setting will finally be ignored
- dnl if CFLAGS or CPPFLAGS already hold optimizer flags. This implies
- dnl that an initially assumed optimizer setting might not be honored.
- #
- if test "$want_optimize" = "assume_no" ||
- test "$want_optimize" = "assume_yes"; then
- AC_MSG_CHECKING([if compiler optimizer assumed setting might be used])
- CARES_VAR_MATCH_IFELSE([tmp_CFLAGS],[$flags_opt_all],[
- honor_optimize_option="no"
- ])
- CARES_VAR_MATCH_IFELSE([tmp_CPPFLAGS],[$flags_opt_all],[
- honor_optimize_option="no"
- ])
- AC_MSG_RESULT([$honor_optimize_option])
- if test "$honor_optimize_option" = "yes"; then
- if test "$want_optimize" = "assume_yes"; then
- want_optimize="yes"
- fi
- if test "$want_optimize" = "assume_no"; then
- want_optimize="no"
- fi
- fi
- fi
- #
- if test "$honor_optimize_option" = "yes"; then
- CARES_VAR_STRIP([tmp_CFLAGS],[$flags_opt_all])
- CARES_VAR_STRIP([tmp_CPPFLAGS],[$flags_opt_all])
- if test "$want_optimize" = "yes"; then
- AC_MSG_CHECKING([if compiler accepts optimizer enabling options])
- tmp_options="$flags_opt_yes"
- fi
- if test "$want_optimize" = "no"; then
- AC_MSG_CHECKING([if compiler accepts optimizer disabling options])
- tmp_options="$flags_opt_off"
- fi
- CPPFLAGS="$tmp_CPPFLAGS"
- CFLAGS="$tmp_CFLAGS $tmp_options"
- squeeze CPPFLAGS
- squeeze CFLAGS
- CARES_COMPILER_WORKS_IFELSE([
- AC_MSG_RESULT([yes])
- AC_MSG_NOTICE([compiler options added: $tmp_options])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_WARN([compiler options rejected: $tmp_options])
- dnl restore initial settings
- CPPFLAGS="$tmp_save_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS"
- ])
- fi
- #
- fi
-])
-
-
-dnl CARES_SET_COMPILER_WARNING_OPTS
-dnl -------------------------------------------------
-dnl Sets compiler options/flags which depend on
-dnl configure's warnings given option.
-
-AC_DEFUN([CARES_SET_COMPILER_WARNING_OPTS], [
- AC_REQUIRE([CARES_CHECK_OPTION_WARNINGS])dnl
- AC_REQUIRE([CARES_CHECK_COMPILER])dnl
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- #
- if test "$compiler_id" != "unknown"; then
- #
- tmp_save_CPPFLAGS="$CPPFLAGS"
- tmp_save_CFLAGS="$CFLAGS"
- tmp_CPPFLAGS=""
- tmp_CFLAGS=""
- #
- case "$compiler_id" in
- #
- CLANG)
- #
- if test "$want_warnings" = "yes"; then
- dnl All versions of clang support the same warnings as at least
- dnl gcc 4.2.1 except -Wunused.
- tmp_CFLAGS="$tmp_CFLAGS -pedantic"
- tmp_CFLAGS="$tmp_CFLAGS -Wall -Wextra"
- tmp_CFLAGS="$tmp_CFLAGS -Wpointer-arith -Wwrite-strings"
- tmp_CFLAGS="$tmp_CFLAGS -Wshadow"
- tmp_CFLAGS="$tmp_CFLAGS -Winline -Wnested-externs"
- tmp_CFLAGS="$tmp_CFLAGS -Wmissing-declarations"
- tmp_CFLAGS="$tmp_CFLAGS -Wmissing-prototypes"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
- tmp_CFLAGS="$tmp_CFLAGS -Wfloat-equal"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-multichar -Wsign-compare"
- tmp_CFLAGS="$tmp_CFLAGS -Wundef"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-format-nonliteral"
- tmp_CFLAGS="$tmp_CFLAGS -Wendif-labels -Wstrict-prototypes"
- tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
- tmp_CFLAGS="$tmp_CFLAGS -Wcast-align"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-system-headers"
- tmp_CFLAGS="$tmp_CFLAGS -Wshorten-64-to-32"
- #
- dnl Only clang 1.1 or later
- if test "$compiler_num" -ge "101"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wunused"
- fi
- fi
- ;;
- #
- DEC_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Select a higher warning level than default level2
- tmp_CFLAGS="$tmp_CFLAGS -msg_enable level3"
- fi
- ;;
- #
- GNU_C)
- #
- if test "$want_warnings" = "yes"; then
- #
- dnl Do not enable -pedantic when cross-compiling with a gcc older
- dnl than 3.0, to avoid warnings from third party system headers.
- if test "x$cross_compiling" != "xyes" ||
- test "$compiler_num" -ge "300"; then
- tmp_CFLAGS="$tmp_CFLAGS -pedantic"
- fi
- #
- dnl Set of options we believe *ALL* gcc versions support:
- tmp_CFLAGS="$tmp_CFLAGS -Wall -W"
- #
- dnl Only gcc 1.4 or later
- if test "$compiler_num" -ge "104"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wpointer-arith -Wwrite-strings"
- dnl If not cross-compiling with a gcc older than 3.0
- if test "x$cross_compiling" != "xyes" ||
- test "$compiler_num" -ge "300"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wunused -Wshadow"
- fi
- fi
- #
- dnl Only gcc 2.7 or later
- if test "$compiler_num" -ge "207"; then
- tmp_CFLAGS="$tmp_CFLAGS -Winline -Wnested-externs"
- dnl If not cross-compiling with a gcc older than 3.0
- if test "x$cross_compiling" != "xyes" ||
- test "$compiler_num" -ge "300"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wmissing-declarations"
- tmp_CFLAGS="$tmp_CFLAGS -Wmissing-prototypes"
- fi
- fi
- #
- dnl Only gcc 2.95 or later
- if test "$compiler_num" -ge "295"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
- fi
- #
- dnl Only gcc 2.96 or later
- if test "$compiler_num" -ge "296"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wfloat-equal"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-multichar -Wsign-compare"
- dnl -Wundef used only if gcc is 2.96 or later since we get
- dnl lots of "`_POSIX_C_SOURCE' is not defined" in system
- dnl headers with gcc 2.95.4 on FreeBSD 4.9
- tmp_CFLAGS="$tmp_CFLAGS -Wundef"
- fi
- #
- dnl Only gcc 2.97 or later
- if test "$compiler_num" -ge "297"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wno-format-nonliteral"
- fi
- #
- dnl Only gcc 3.0 or later
- if test "$compiler_num" -ge "300"; then
- dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
- dnl on i686-Linux as it gives us heaps with false positives.
- dnl Also, on gcc 4.0.X it is totally unbearable and complains all
- dnl over making it unusable for generic purposes. Let's not use it.
- tmp_CFLAGS="$tmp_CFLAGS"
- fi
- #
- dnl Only gcc 3.3 or later
- if test "$compiler_num" -ge "303"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wendif-labels -Wstrict-prototypes"
- fi
- #
- dnl Only gcc 3.4 or later
- if test "$compiler_num" -ge "304"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wdeclaration-after-statement"
- fi
- #
- dnl Only gcc 4.3 or later
- if test "$compiler_num" -ge "403"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wtype-limits -Wold-style-declaration"
- tmp_CFLAGS="$tmp_CFLAGS -Wmissing-parameter-type -Wempty-body"
- tmp_CFLAGS="$tmp_CFLAGS -Wclobbered -Wignored-qualifiers"
- fi
- #
- fi
- #
- dnl Do not issue warnings for code in system include paths.
- if test "$compiler_num" -ge "300"; then
- tmp_CFLAGS="$tmp_CFLAGS -Wno-system-headers"
- else
- dnl When cross-compiling with a gcc older than 3.0, disable
- dnl some warnings triggered on third party system headers.
- if test "x$cross_compiling" = "xyes"; then
- if test "$compiler_num" -ge "104"; then
- dnl gcc 1.4 or later
- tmp_CFLAGS="$tmp_CFLAGS -Wno-unused -Wno-shadow"
- fi
- if test "$compiler_num" -ge "207"; then
- dnl gcc 2.7 or later
- tmp_CFLAGS="$tmp_CFLAGS -Wno-missing-declarations"
- tmp_CFLAGS="$tmp_CFLAGS -Wno-missing-prototypes"
- fi
- fi
- fi
- ;;
- #
- HP_UX_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Issue all warnings
- tmp_CFLAGS="$tmp_CFLAGS +w1"
- fi
- ;;
- #
- IBM_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- INTEL_UNIX_C)
- #
- if test "$want_warnings" = "yes"; then
- if test "$compiler_num" -gt "600"; then
- dnl Show errors, warnings, and remarks
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wall -w2"
- dnl Perform extra compile-time code checking
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wcheck"
- dnl Warn on nested comments
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wcomment"
- dnl Show warnings relative to deprecated features
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wdeprecated"
- dnl Enable warnings for missing prototypes
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wmissing-prototypes"
- dnl Enable warnings for 64-bit portability issues
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wp64"
- dnl Enable warnings for questionable pointer arithmetic
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wpointer-arith"
- dnl Check for function return typw issues
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wreturn-type"
- dnl Warn on variable declarations hiding a previous one
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wshadow"
- dnl Warn when a variable is used before initialized
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wuninitialized"
- dnl Warn if a declared function is not used
- tmp_CPPFLAGS="$tmp_CPPFLAGS -Wunused-function"
- fi
- fi
- dnl Disable using EBP register in optimizations
- tmp_CFLAGS="$tmp_CFLAGS -fno-omit-frame-pointer"
- dnl Disable use of ANSI C aliasing rules in optimizations
- tmp_CFLAGS="$tmp_CFLAGS -fno-strict-aliasing"
- dnl Value-safe optimizations on floating-point data
- tmp_CFLAGS="$tmp_CFLAGS -fp-model precise"
- dnl Only icc 10.0 or later
- if test "$compiler_num" -ge "1000"; then
- dnl Disable vectorizer diagnostic information
- tmp_CFLAGS="$tmp_CFLAGS -vec-report0"
- fi
- ;;
- #
- INTEL_WINDOWS_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- LCC)
- #
- if test "$want_warnings" = "yes"; then
- dnl Highest warning level is double -A, next is single -A.
- dnl Due to the big number of warnings these trigger on third
- dnl party header files it is impractical for us to use any of
- dnl them here. If you want them simply define it in CPPFLAGS.
- tmp_CFLAGS="$tmp_CFLAGS"
- fi
- ;;
- #
- SGI_MIPS_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Perform stricter semantic and lint-like checks
- tmp_CFLAGS="$tmp_CFLAGS -fullwarn"
- fi
- ;;
- #
- SGI_MIPSPRO_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Perform stricter semantic and lint-like checks
- tmp_CFLAGS="$tmp_CFLAGS -fullwarn"
- dnl Disable some remarks
- dnl #1209: controlling expression is constant
- tmp_CFLAGS="$tmp_CFLAGS -woff 1209"
- fi
- ;;
- #
- SUNPRO_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Perform stricter semantic and lint-like checks
- tmp_CFLAGS="$tmp_CFLAGS -v"
- fi
- ;;
- #
- TINY_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Activate all warnings
- tmp_CFLAGS="$tmp_CFLAGS -Wall"
- dnl Make string constants be of type const char *
- tmp_CFLAGS="$tmp_CFLAGS -Wwrite-strings"
- dnl Warn use of unsupported GCC features ignored by TCC
- tmp_CFLAGS="$tmp_CFLAGS -Wunsupported"
- fi
- ;;
- #
- WATCOM_UNIX_C)
- #
- if test "$want_warnings" = "yes"; then
- dnl Issue all warnings
- tmp_CFLAGS="$tmp_CFLAGS -Wall -Wextra"
- fi
- ;;
- #
- WATCOM_WINDOWS_C)
- #
- dnl Placeholder
- tmp_CFLAGS="$tmp_CFLAGS"
- ;;
- #
- esac
- #
- 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="$tmp_save_CPPFLAGS $tmp_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
- squeeze CPPFLAGS
- squeeze CFLAGS
- CARES_COMPILER_WORKS_IFELSE([
- AC_MSG_RESULT([yes])
- AC_MSG_NOTICE([compiler options added: $tmp_CFLAGS $tmp_CPPFLAGS])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_WARN([compiler options rejected: $tmp_CFLAGS $tmp_CPPFLAGS])
- dnl restore initial settings
- CPPFLAGS="$tmp_save_CPPFLAGS"
- CFLAGS="$tmp_save_CFLAGS"
- ])
- fi
- #
- fi
-])
-
-
-dnl CARES_SHFUNC_SQUEEZE
-dnl -------------------------------------------------
-dnl Declares a shell function squeeze() which removes
-dnl redundant whitespace out of a shell variable.
-
-AC_DEFUN([CARES_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 CARES_CHECK_CURLDEBUG
-dnl -------------------------------------------------
-dnl Settings which depend on configure's curldebug given
-dnl option, and other additional configure pre-requisites.
-dnl Using the curl debug memory tracking feature in c-ares
-dnl is a hack that actually can only be used/enabled when
-dnl c-ares is built directly in curl's CVS tree, as a static
-dnl library or as a shared one on those systems on which
-dnl shared libraries support undefined symbols, along with
-dnl an equally configured libcurl.
-
-AC_DEFUN([CARES_CHECK_CURLDEBUG], [
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- cares_builddir=`pwd`
- supports_curldebug="unknown"
- if test "$want_curldebug" = "yes"; then
- if test "x$enable_shared" != "xno" &&
- test "x$enable_shared" != "xyes"; then
- AC_MSG_WARN([unknown enable_shared setting.])
- supports_curldebug="no"
- fi
- if test "x$enable_static" != "xno" &&
- test "x$enable_static" != "xyes"; then
- AC_MSG_WARN([unknown enable_static setting.])
- supports_curldebug="no"
- fi
- if test "$supports_curldebug" != "no"; then
- if test "$enable_shared" = "yes" &&
- test "$need_no_undefined" = "yes"; then
- supports_curldebug="no"
- AC_MSG_WARN([shared library does not support undefined symbols.])
- fi
- if test ! -f "$srcdir/../include/curl/curlbuild.h.dist"; then
- AC_MSG_WARN([c-ares source not embedded in curl's CVS tree.])
- supports_curldebug="no"
- elif test ! -f "$srcdir/../include/curl/Makefile.in"; then
- AC_MSG_WARN([curl's buildconf has not been run.])
- supports_curldebug="no"
- elif test ! -f "$cares_builddir/../libcurl.pc" ||
- test ! -f "$cares_builddir/../include/curl/curlbuild.h"; then
- AC_MSG_WARN([curl's configure has not been run.])
- supports_curldebug="no"
- elif test ! -f "$cares_builddir/../lib/curl_config.h"; then
- AC_MSG_WARN([libcurl's curl_config.h is missing.])
- supports_curldebug="no"
- elif test ! -f "$cares_builddir/../config.status"; then
- AC_MSG_WARN([curl's config.status is missing.])
- supports_curldebug="no"
- fi
- if test "$supports_curldebug" != "no"; then
- grep '^#define USE_ARES' "$cares_builddir/../lib/curl_config.h" >/dev/null
- if test "$?" -ne "0"; then
- AC_MSG_WARN([libcurl configured without c-ares support.])
- supports_curldebug="no"
- fi
- fi
- if test "$supports_curldebug" != "no"; then
- grep 'CPPFLAGS.*CURLDEBUG' "$cares_builddir/../config.status" >/dev/null
- if test "$?" -ne "0"; then
- AC_MSG_WARN([libcurl configured without curldebug support.])
- supports_curldebug="no"
- fi
- fi
- fi
- fi
- #
- if test "$want_curldebug" = "yes"; then
- AC_MSG_CHECKING([if curl debug memory tracking can be enabled])
- test "$supports_curldebug" = "no" || supports_curldebug="yes"
- AC_MSG_RESULT([$supports_curldebug])
- if test "$supports_curldebug" = "no"; then
- AC_MSG_WARN([cannot enable curl debug memory tracking.])
- want_curldebug="no"
- fi
- fi
- #
- if test "$want_curldebug" = "yes"; then
- dnl TODO: Verify if the BUILDING_LIBCURL definition is still required.
- AC_DEFINE(BUILDING_LIBCURL, 1, [when building as static part of libcurl])
- CPPFLAGS="$CPPFLAGS -DCURLDEBUG"
- squeeze CPPFLAGS
- fi
- #
- if test "$want_debug" = "yes"; then
- CPPFLAGS="$CPPFLAGS -DDEBUGBUILD"
- squeeze CPPFLAGS
- fi
-])
-
-
-dnl CARES_CHECK_NO_UNDEFINED
-dnl -------------------------------------------------
-dnl Checks if the -no-undefined flag must be used when
-dnl building shared libraries. This is required on all
-dnl systems on which shared libraries should not have
-dnl references to undefined symbols. This check should
-dnl not be done before AC-PROG-LIBTOOL.
-
-AC_DEFUN([CARES_CHECK_NO_UNDEFINED], [
- AC_BEFORE([$0],[CARES_CHECK_CURLDEBUG])dnl
- AC_MSG_CHECKING([if shared libraries need -no-undefined])
- need_no_undefined="no"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc* | *-*-aix*)
- need_no_undefined="yes"
- ;;
- esac
- if test "x$allow_undefined" = "xno"; then
- need_no_undefined="yes"
- elif test "x$allow_undefined_flag" = "xunsupported"; then
- need_no_undefined="yes"
- fi
- AC_MSG_RESULT($need_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
-dnl compilation phase without generating any object
-dnl code file, when the source compiles with errors.
-
-AC_DEFUN([CARES_CHECK_COMPILER_HALT_ON_ERROR], [
- AC_MSG_CHECKING([if compiler halts on compilation errors])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- force compilation error
- ]])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([compiler does not halt on compilation errors.])
- ],[
- AC_MSG_RESULT([yes])
- ])
-])
-
-
-dnl CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
-dnl -------------------------------------------------
-dnl Verifies if the compiler actually halts after the
-dnl compilation phase without generating any object
-dnl code file, when the source code tries to define a
-dnl type for a constant array with negative dimension.
-
-AC_DEFUN([CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE], [
- AC_REQUIRE([CARES_CHECK_COMPILER_HALT_ON_ERROR])dnl
- AC_MSG_CHECKING([if compiler halts on negative sized arrays])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- typedef char bad_t[sizeof(char) == sizeof(int) ? -1 : -1 ];
- ]],[[
- bad_t dummy;
- ]])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([compiler does not halt on negative sized arrays.])
- ],[
- AC_MSG_RESULT([yes])
- ])
-])
-
-
-dnl CARES_CHECK_COMPILER_STRUCT_MEMBER_SIZE
-dnl -------------------------------------------------
-dnl Verifies if the compiler is capable of handling the
-dnl size of a struct member, struct which is a function
-dnl result, as a compilation-time condition inside the
-dnl type definition of a constant array.
-
-AC_DEFUN([CARES_CHECK_COMPILER_STRUCT_MEMBER_SIZE], [
- AC_REQUIRE([CARES_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE])dnl
- AC_MSG_CHECKING([if compiler struct member size checking works])
- tst_compiler_check_one_works="unknown"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- struct mystruct {
- int mi;
- char mc;
- struct mystruct *next;
- };
- struct mystruct myfunc();
- typedef char good_t1[sizeof(myfunc().mi) == sizeof(int) ? 1 : -1 ];
- typedef char good_t2[sizeof(myfunc().mc) == sizeof(char) ? 1 : -1 ];
- ]],[[
- good_t1 dummy1;
- good_t2 dummy2;
- ]])
- ],[
- tst_compiler_check_one_works="yes"
- ],[
- tst_compiler_check_one_works="no"
- sed 's/^/cc-src: /' conftest.$ac_ext >&6
- sed 's/^/cc-err: /' conftest.err >&6
- ])
- tst_compiler_check_two_works="unknown"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- struct mystruct {
- int mi;
- char mc;
- struct mystruct *next;
- };
- struct mystruct myfunc();
- typedef char bad_t1[sizeof(myfunc().mi) != sizeof(int) ? 1 : -1 ];
- typedef char bad_t2[sizeof(myfunc().mc) != sizeof(char) ? 1 : -1 ];
- ]],[[
- bad_t1 dummy1;
- bad_t2 dummy2;
- ]])
- ],[
- tst_compiler_check_two_works="no"
- ],[
- tst_compiler_check_two_works="yes"
- ])
- if test "$tst_compiler_check_one_works" = "yes" &&
- test "$tst_compiler_check_two_works" = "yes"; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([compiler fails struct member size checking.])
- fi
-])
-
-
-dnl CARES_CHECK_COMPILER_SYMBOL_HIDING
-dnl -------------------------------------------------
-dnl Verify if compiler supports hiding library internal symbols, setting
-dnl shell variable supports_symbol_hiding value as appropriate, as well as
-dnl variables symbol_hiding_CFLAGS and symbol_hiding_EXTERN when supported.
-
-AC_DEFUN([CARES_CHECK_COMPILER_SYMBOL_HIDING], [
- AC_REQUIRE([CARES_CHECK_COMPILER])dnl
- AC_BEFORE([$0],[CARES_CONFIGURE_SYMBOL_HIDING])dnl
- AC_MSG_CHECKING([if compiler supports hiding library internal symbols])
- supports_symbol_hiding="no"
- symbol_hiding_CFLAGS=""
- symbol_hiding_EXTERN=""
- tmp_CFLAGS=""
- tmp_EXTERN=""
- case "$compiler_id" in
- CLANG)
- dnl All versions of clang support -fvisibility=
- tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
- tmp_CFLAGS="-fvisibility=hidden"
- supports_symbol_hiding="yes"
- ;;
- GNU_C)
- dnl Only gcc 3.4 or later
- if test "$compiler_num" -ge "304"; then
- if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
- tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
- tmp_CFLAGS="-fvisibility=hidden"
- supports_symbol_hiding="yes"
- fi
- fi
- ;;
- INTEL_UNIX_C)
- dnl Only icc 9.0 or later
- if test "$compiler_num" -ge "900"; then
- if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
- tmp_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fvisibility=hidden"
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-# include <stdio.h>
- ]],[[
- printf("icc fvisibility bug test");
- ]])
- ],[
- tmp_EXTERN="__attribute__ ((visibility (\"default\")))"
- tmp_CFLAGS="-fvisibility=hidden"
- supports_symbol_hiding="yes"
- ])
- CFLAGS="$tmp_save_CFLAGS"
- fi
- fi
- ;;
- SUNPRO_C)
- if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
- tmp_EXTERN="__global"
- tmp_CFLAGS="-xldscope=hidden"
- supports_symbol_hiding="yes"
- fi
- ;;
- esac
- if test "$supports_symbol_hiding" = "yes"; then
- tmp_save_CFLAGS="$CFLAGS"
- CFLAGS="$tmp_save_CFLAGS $tmp_CFLAGS"
- squeeze CFLAGS
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $tmp_EXTERN char *dummy(char *buff);
- char *dummy(char *buff)
- {
- if(buff)
- return ++buff;
- else
- return buff;
- }
- ]],[[
- char b[16];
- char *r = dummy(&b);
- if(r)
- return (int)*r;
- ]])
- ],[
- supports_symbol_hiding="yes"
- ],[
- supports_symbol_hiding="no"
- echo " " >&6
- sed 's/^/cc-src: /' conftest.$ac_ext >&6
- sed 's/^/cc-err: /' conftest.err >&6
- echo " " >&6
- ])
- CFLAGS="$tmp_save_CFLAGS"
- fi
- if test "$supports_symbol_hiding" = "yes"; then
- AC_MSG_RESULT([yes])
- symbol_hiding_CFLAGS="$tmp_CFLAGS"
- symbol_hiding_EXTERN="$tmp_EXTERN"
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CARES_VAR_MATCH (VARNAME, VALUE)
-dnl -------------------------------------------------
-dnl Verifies if shell variable VARNAME contains VALUE.
-dnl Contents of variable VARNAME and VALUE are handled
-dnl as whitespace separated lists of words. If at least
-dnl one word of VALUE is present in VARNAME the match
-dnl is considered positive, otherwise false.
-
-AC_DEFUN([CARES_VAR_MATCH], [
- ac_var_match_word="no"
- for word1 in $[$1]; do
- for word2 in [$2]; do
- if test "$word1" = "$word2"; then
- ac_var_match_word="yes"
- fi
- done
- done
-])
-
-
-dnl CARES_VAR_MATCH_IFELSE (VARNAME, VALUE,
-dnl [ACTION-IF-MATCH], [ACTION-IF-NOT-MATCH])
-dnl -------------------------------------------------
-dnl This performs a CURL_VAR_MATCH check and executes
-dnl first branch if the match is positive, otherwise
-dnl the second branch is executed.
-
-AC_DEFUN([CARES_VAR_MATCH_IFELSE], [
- CARES_VAR_MATCH([$1],[$2])
- if test "$ac_var_match_word" = "yes"; then
- ifelse($3,,:,[$3])
- ifelse($4,,,[else
- $4])
- fi
-])
-
-
-dnl CARES_VAR_STRIP (VARNAME, VALUE)
-dnl -------------------------------------------------
-dnl Contents of variable VARNAME and VALUE are handled
-dnl as whitespace separated lists of words. Each word
-dnl from VALUE is removed from VARNAME when present.
-
-AC_DEFUN([CARES_VAR_STRIP], [
- AC_REQUIRE([CARES_SHFUNC_SQUEEZE])dnl
- ac_var_stripped=""
- for word1 in $[$1]; do
- ac_var_strip_word="no"
- for word2 in [$2]; do
- if test "$word1" = "$word2"; then
- ac_var_strip_word="yes"
- fi
- done
- if test "$ac_var_strip_word" = "no"; then
- ac_var_stripped="$ac_var_stripped $word1"
- fi
- done
- dnl squeeze whitespace out of result
- [$1]="$ac_var_stripped"
- squeeze [$1]
-])
-