167 lines
4.6 KiB
Plaintext
167 lines
4.6 KiB
Plaintext
/* mpc.m4
|
|
|
|
Copyright (C) INRIA, 2008, 2009, 2010, 2011
|
|
|
|
This file is part of the MPC Library.
|
|
|
|
The MPC Library is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Lesser General Public License as published by
|
|
the Free Software Foundation; either version 2.1 of the License, or (at your
|
|
option) any later version.
|
|
|
|
The MPC Library is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
|
License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
along with the MPC Library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
|
MA 02111-1307, USA. */
|
|
|
|
#
|
|
# SYNOPSIS
|
|
#
|
|
#
|
|
MPC_PROG_CC_WARNINGFLAG([CFLAG-VAR])
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# For development version only: Checks if gcc accepts warning flags.
|
|
# Put accepted ones into CFLAG-VAR.
|
|
#
|
|
AC_DEFUN([MPC_PROG_CC_WARNINGCFLAGS], [
|
|
AC_REQUIRE([AC_PROG_GREP])
|
|
if echo $VERSION | grep -c dev >/dev/null 2>&1 ; then
|
|
if test "x$GCC" = "xyes" -a "x$compiler" != "xicc" -a "x$compiler" != "xg++"; then
|
|
case $host in
|
|
*darwin*) ;;
|
|
*) AX_C_CHECK_FLAG(-D_FORTIFY_SOURCE=2,,,$1="$$1 -D_FORTIFY_SOURCE=2",) ;;
|
|
esac
|
|
AX_C_CHECK_FLAG(-g,,,$1="$$1 -g",)
|
|
AX_C_CHECK_FLAG(-pedantic,,,$1="$$1 -pedantic",)
|
|
AX_C_CHECK_FLAG(-Wno-long-long,,,$1="$$1 -Wno-long-long",)
|
|
AX_C_CHECK_FLAG(-Wall,,,$1="$$1 -Wall",)
|
|
AX_C_CHECK_FLAG(-Wextra,,,$1="$$1 -Wextra",)
|
|
AX_C_CHECK_FLAG(-Werror,,,$1="$$1 -Werror",)
|
|
AX_C_CHECK_FLAG(-Wdeclaration-after-statement,,,$1="$$1 -Wdeclaration-after-statement",)
|
|
AX_C_CHECK_FLAG(-Wundef,,,$1="$$1 -Wundef",)
|
|
AX_C_CHECK_FLAG(-Wshadow,,,$1="$$1 -Wshadow",)
|
|
AX_C_CHECK_FLAG(-Wstrict-prototypes,,,$1="$$1 -Wstrict-prototypes",)
|
|
AX_C_CHECK_FLAG(-Wmissing-prototypes,,,$1="$$1 -Wmissing-prototypes",)
|
|
AC_SUBST($1)
|
|
fi
|
|
fi
|
|
])
|
|
|
|
|
|
#
|
|
# SYNOPSIS
|
|
#
|
|
#
|
|
MPC_GMP_CC_CFLAGS
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# Checks if CC and CFLAGS can be extracted from gmp.h
|
|
#
|
|
AC_DEFUN([MPC_GMP_CC_CFLAGS], [
|
|
AC_MSG_CHECKING(for CC and CFLAGS in gmp.h)
|
|
AC_PROG_CPP
|
|
AC_PROG_EGREP
|
|
AC_PROG_SED
|
|
# Get CC
|
|
echo "#include \"gmp.h\"" > conftest.c
|
|
echo "MPC_OPTION __GMP_CC" >> conftest.c
|
|
GMP_CC=`$CPP $CPPFLAGS conftest.c 2> /dev/null | $EGREP MPC_OPTION | $SED -e 's/MPC_OPTION //g' | $SED -e 's/"//g'`
|
|
#Get CFLAGS
|
|
echo "#include \"gmp.h\"" > conftest.c
|
|
echo "MPC_OPTION __GMP_CFLAGS" >> conftest.c
|
|
GMP_CFLAGS=`$CPP $CPPFLAGS conftest.c 2> /dev/null | $EGREP MPC_OPTION | $SED -e 's/MPC_OPTION //g'| $SED -e 's/"//g'`
|
|
rm -f conftest.c
|
|
if test "x$GMP_CFLAGS" = "x__GMP_CFLAGS" -o "x$GMP_CC" = "x__GMP_CC" ; then
|
|
AC_MSG_RESULT(no)
|
|
GMP_CFLAGS=
|
|
GMP_CC=
|
|
else
|
|
AC_MSG_RESULT(yes [CC=$GMP_CC CFLAGS=$GMP_CFLAGS])
|
|
fi
|
|
|
|
dnl Check for validity of CC and CFLAGS obtained from gmp.h
|
|
if test -n "$GMP_CFLAGS" ; then
|
|
old_cflags=$CFLAGS
|
|
old_cc=$CC
|
|
CFLAGS=$GMP_CFLAGS
|
|
CC=$GMP_CC
|
|
AC_MSG_CHECKING(for CC=$GMP_CC and CFLAGS=$GMP_CFLAGS)
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[/*hello*/]],[[/*world*/]])], [
|
|
AC_MSG_RESULT(yes)
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
CFLAGS=$old_cflags
|
|
CC=$old_cc
|
|
])
|
|
dnl CC may have changed. Recheck for GCC.
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#ifndef __GNUC__
|
|
#error "GCC Not Found"
|
|
error
|
|
#endif
|
|
]])], [
|
|
GCC=yes
|
|
], [
|
|
GCC=no
|
|
])
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
#
|
|
# SYNOPSIS
|
|
#
|
|
#
|
|
MPC_WINDOWS
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# Additional checks on windows
|
|
# libtool requires "-no-undefined" for win32 dll
|
|
# It also disables the tests involving the linking with LIBGMP if DLL
|
|
#
|
|
AC_DEFUN([MPC_WINDOWS], [
|
|
AC_MSG_CHECKING(for DLL/static GMP)
|
|
if test "$enable_shared" = yes; then
|
|
LDFLAGS="$LDFLAGS -no-undefined"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "gmp.h"
|
|
#if !__GMP_LIBGMP_DLL
|
|
#error
|
|
error
|
|
#endif
|
|
]], [[]])],[AC_MSG_RESULT(DLL)],[
|
|
AC_MSG_RESULT(static)
|
|
AC_MSG_ERROR([gmp.h isn't a DLL: use --enable-static --disable-shared]) ])
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "mpfr.h"
|
|
#if !__GMP_LIBGMP_DLL
|
|
#error
|
|
error
|
|
#endif
|
|
]], [[]])],[AC_MSG_RESULT(DLL)],[
|
|
AC_MSG_RESULT(static)
|
|
AC_MSG_ERROR([gmp.h isn't a DLL: use --enable-static --disable-shared]) ])
|
|
else
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "gmp.h"
|
|
#if __GMP_LIBGMP_DLL
|
|
#error
|
|
error
|
|
#endif
|
|
]], [[]])],[AC_MSG_RESULT(static)],[
|
|
AC_MSG_RESULT(DLL)
|
|
AC_MSG_ERROR([gmp.h is a DLL: use --disable-static --enable-shared]) ])
|
|
fi
|
|
;;
|
|
])
|