Alien-cares
view release on metacpan or search on metacpan
libcares/m4/cares-compilers.m4 view on Meta::CPAN
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_CPPFLAGS="$tmp_CPPFLAGS -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_CPPFLAGS="$tmp_CPPFLAGS -qnoansialias"
dnl Force compiler to stop after the compilation phase, without
dnl generating an object code file when compilation has errors.
tmp_CPPFLAGS="$tmp_CPPFLAGS -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)
#
( run in 1.069 second using v1.01-cache-2.11-cpan-1edf4fed603 )