1
0
Fork 0
ezstream/m4/ccflags.m4

110 lines
2.9 KiB
Plaintext

dnl # * Check if the compiler understands a certain flag or not.
dnl # Inspiration for this came from watching TagLib configure.
dnl # * Check for the CFLAG required to turn warnings into errors.
dnl # Copyright (c) 2008 Moritz Grimm <mgrimm@mrsserver.net>
dnl #
dnl # Permission to use, copy, modify, and distribute this software for any
dnl # purpose with or without fee is hereby granted, provided that the above
dnl # copyright notice and this permission notice appear in all copies.
dnl #
dnl # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
dnl # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
dnl # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
dnl # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
dnl # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
dnl # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
dnl # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dnl # AX_CHECK_CFLAG(CFLAG, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl # AX_CHECK_CXXFLAG(CXXFLAG, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([AX_CHECK_CFLAG],
[
AC_MSG_CHECKING([if ${CC} understands -$1])
_cv_sufx_=$(echo $1 | sed 'y|-+,= |_p___|')
AC_CACHE_VAL([local_cv_prog_cc_${_cv_sufx_}],
[
AC_LANG_PUSH([C])
save_CFLAGS="${CFLAGS}"
CFLAGS="${CFLAGS} -$1"
AC_TRY_LINK([], [],
[eval "local_cv_prog_cc_${_cv_sufx_}=yes"],
[eval "local_cv_prog_cc_${_cv_sufx_}=no"])
CFLAGS="${save_CFLAGS}"
AC_LANG_POP([C])
])
eval "_cache_val_=\${local_cv_prog_cc_${_cv_sufx_}}"
if test x"${_cache_val_}" = "xyes"; then
AC_MSG_RESULT([yes])
:
$2
else
AC_MSG_RESULT([no])
:
$3
fi
])
AC_DEFUN([AX_CHECK_CXXFLAG],
[
AC_MSG_CHECKING([if ${CXX} understands -$1])
_cv_sufx_=$(echo $1 | sed 'y|-+,= |_p___|')
AC_CACHE_VAL([local_cv_prog_cxx_${_cv_sufx_}],
[
AC_LANG_PUSH([C++])
save_CXXFLAGS="${CXXFLAGS}"
CXXFLAGS="${CXXFLAGS} -$1"
AC_TRY_LINK([], [],
[eval "local_cv_prog_cxx_${_cv_sufx_}=yes"],
[eval "local_cv_prog_cxx_${_cv_sufx_}=no"])
CXXFLAGS="${save_CXXFLAGS}"
AC_LANG_POP([C++])
])
eval "_cache_val_=\${local_cv_prog_cxx_${_cv_sufx_}}"
if test x"${_cache_val_}" = "xyes"; then
AC_MSG_RESULT([yes])
:
$2
else
AC_MSG_RESULT([no])
:
$3
fi
])
AC_DEFUN([AX_CHECK_ERROR_FLAG],
[
AC_CACHE_VAL([local_cv_prog_cc_error_flag],
[
AC_MSG_CHECKING([if ${CC} supports an error flag])
AC_LANG_PUSH([C])
save_CFLAGS="${CFLAGS}"
local_cv_prog_cc_error_flag="-Werror" # GCC
CFLAGS="${save_CFLAGS} ${local_cv_prog_cc_error_flag}"
AC_TRY_LINK([], [], [],
[
local_cv_prog_cc_error_flag="-errwarn" # Sun C
CFLAGS="${save_CFLAGS} ${local_cv_prog_cc_error_flag}"
AC_TRY_LINK([], [], [],
[
local_cv_prog_cc_error_flag=no]
)]
)
CFLAGS="${save_CFLAGS}"
AC_LANG_POP([C])
if test x"${local_cv_prog_cc_error_flag}" != "xno"; then
AC_MSG_RESULT([yes (${local_cv_prog_cc_error_flag})])
:
$2
else
AC_MSG_RESULT([no])
:
$3
fi
])
])