2 dnl We create a function for detecting which compiler we use and then set as
3 dnl pendantic compiler options as possible for that particular compiler. The
4 dnl options are only used for debug-builds.
6 dnl This is a copy of the original found in curl's configure script. Don't
7 dnl modify this one, edit the one in curl and copy it back here when that one
10 AC_DEFUN([CURL_CC_DEBUG_OPTS],
12 if test "$GCC" = "yes"; then
14 dnl figure out gcc version!
15 AC_MSG_CHECKING([gcc version])
16 gccver=`$CC -dumpversion`
17 num1=`echo $gccver | cut -d . -f1`
18 num2=`echo $gccver | cut -d . -f2`
19 gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
20 AC_MSG_RESULT($gccver)
22 AC_MSG_CHECKING([if this is icc in disguise])
23 AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER],
24 dnl action if the text is found, this it has not been replaced by the
28 dnl the text was not found, it was replaced by the cpp
33 if test "$ICC" = "yes"; then
34 dnl this is icc, not gcc.
36 dnl ICC warnings we ignore:
37 dnl * 279 warns on static conditions in while expressions
38 dnl * 269 warns on our "%Od" printf formatters for curl_off_t output:
39 dnl "invalid format string conversion"
43 if test "$gccnum" -gt "600"; then
44 dnl icc 6.0 and older doesn't have the -Wall flag
49 WARN="-W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wundef -Wpointer-arith -Wnested-externs -Winline -Wmissing-declarations -Wmissing-prototypes -Wsign-compare"
51 dnl -Wcast-align is a bit too annoying ;-)
53 if test "$gccnum" -ge "296"; then
55 WARN="$WARN -Wfloat-equal"
57 if test "$gccnum" -gt "296"; then
58 dnl this option does not exist in 2.96
59 WARN="$WARN -Wno-format-nonliteral"
62 dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
63 dnl on i686-Linux as it gives us heaps with false positives
64 if test "$gccnum" -ge "303"; then
66 WARN="$WARN -Wendif-labels -Wstrict-prototypes"
70 for flag in $CPPFLAGS; do
74 add=`echo $flag | sed 's/^-I/-isystem /g'`
82 CFLAGS="$CFLAGS $WARN"
86 dnl strip off optimizer flags
88 for flag in $CFLAGS; do
91 dnl echo "cut off $flag"
94 NEWFLAGS="$NEWFLAGS $flag"
100 ]) dnl end of AC_DEFUN()
103 dnl This macro determines if the specified struct exists in the specified file
105 dnl CARES_CHECK_STRUCT(headers, struct name, if found, [if not found])
107 AC_DEFUN([CARES_CHECK_STRUCT], [
108 AC_MSG_CHECKING([for struct $2])
111 struct $2 struct_instance;
112 ], ac_struct="yes", ac_found="no")
113 if test "$ac_struct" = "yes" ; then
122 dnl This macro determines if the specified constant exists in the specified file
124 dnl CARES_CHECK_CONSTANT(headers, constant name, if found, [if not found])
126 AC_DEFUN([CARES_CHECK_CONSTANT], [
127 AC_MSG_CHECKING([for $2])
128 AC_EGREP_CPP(VARIABLEWASDEFINED,
137 ], ac_constant="yes", ac_constant="no"
139 if test "$ac_constant" = "yes" ; then