NetBSD/external/lgpl2/mpc/dist/m4/mpc.m4

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
;;
])