summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2008-04-11 18:16:43 +0000
committerenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2008-04-11 18:16:43 +0000
commit9c00ca95cc39d2cc45d9cd1a0002372377276b62 (patch)
treed5d4bc93cd6a7ef90ad0f67f96405a318fe052d2
parent8adb31d6f2b006dc21545e754d09f0714204dbca (diff)
downloadmpc-9c00ca95cc39d2cc45d9cd1a0002372377276b62.tar.gz
added checks for existence of warning flags
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@106 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r--configure.ac107
-rw-r--r--tests/Makefile.am2
2 files changed, 106 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 8a21214..4ad311e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,3 +1,101 @@
+##### http://autoconf-archive.cryp.to/ax_c_check_flag.html
+#
+# SYNOPSIS
+#
+#
+AX_C_CHECK_FLAG(FLAG-TO-CHECK,[PROLOGUE],[BODY],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE])
+#
+# DESCRIPTION
+#
+# This macro tests if the C compiler supports the flag FLAG-TO-CHECK.
+# If successfull execute ACTION-IF-SUCCESS otherwise
+# ACTION-IF-FAILURE. PROLOGUE and BODY are optional and should be
+# used as in AC_LANG_PROGRAM macro.
+#
+# This code is inspired from KDE_CHECK_COMPILER_FLAG macro. Thanks to
+# Bogdan Drozdowski <bogdandr@op.pl> for testing and bug fixes.
+#
+# LAST MODIFICATION
+#
+# 2007-11-26
+#
+# COPYLEFT
+#
+# Copyright (c) 2007 Francesco Salvestrini <salvestrini@users.sourceforge.net>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program 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
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+#
+# As a special exception, the respective Autoconf Macro's copyright
+# owner gives unlimited permission to copy, distribute and modify the
+# configure scripts that are the output of Autoconf when processing
+# the Macro. You need not follow the terms of the GNU General Public
+# License when using or distributing such scripts, even though
+# portions of the text of the Macro appear in them. The GNU General
+# Public License (GPL) does govern all other use of the material that
+# constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the
+# Autoconf Macro released by the Autoconf Macro Archive. When you
+# make and distribute a modified version of the Autoconf Macro, you
+# may extend this special exception to the GPL to apply to your
+# modified version as well.
+
+AC_DEFUN([AX_C_CHECK_FLAG],[
+# modification AE: require only 2.59; then we do not have AC_PROG_SED
+# AC_PREREQ([2.61])
+ AC_PREREQ([2.59])
+ AC_REQUIRE([AC_PROG_CC])
+# modification AE
+# AC_REQUIRE([AC_PROG_SED])
+# flag=`echo "$1" | $SED 'y% .=/+-(){}<>:*,%_______________%'`
+ flag="_$1"
+
+ AC_CACHE_CHECK([whether the C compiler accepts the $1 flag],
+ [ax_cv_c_check_flag_$flag],[
+
+ AC_LANG_PUSH([C])
+
+ save_CFLAGS="$CFLAGS"
+# modification AE
+# CFLAGS="$CFLAGS $1"
+ CFLAGS="$CFLAGS -$1"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([$2],[$3])
+ ],[
+ eval "ax_cv_c_check_flag_$flag=yes"
+ ],[
+ eval "ax_cv_c_check_flag_$flag=no"
+ ])
+
+ CFLAGS="$save_CFLAGS"
+
+ AC_LANG_POP
+
+ ])
+
+ AS_IF([eval "test \"`echo '$ax_cv_c_check_flag_'$flag`\" = yes"],[
+ :
+ $4
+ ],[
+ :
+ $5
+ ])
+])
+
+
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
@@ -9,8 +107,6 @@ AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE([1.9 -Wall -Werror])
AM_MAINTAINER_MODE
-CFLAGS="-g -O2 -ansi -pedantic-errors -Wall -Wextra -Werror"
-
dnl Extra arguments to configure
AC_ARG_WITH([mpfr],
[AC_HELP_STRING([--with-mpfr=DIR],
@@ -31,6 +127,13 @@ AC_ARG_WITH([gmp],
AC_PROG_CC
AC_PROG_LIBTOOL
+# Checks for CC flags.
+AX_C_CHECK_FLAG(ansi,,,CFLAGS="$CFLAGS -ansi",)
+AX_C_CHECK_FLAG(pedantic,,,CFLAGS="$CFLAGS -pedantic",)
+AX_C_CHECK_FLAG(Wall,,,CFLAGS="$CFLAGS -Wall",)
+AX_C_CHECK_FLAG(Wextra,,,CFLAGS="$CFLAGS -Wextra",)
+AX_C_CHECK_FLAG(Werror,,,CFLAGS="$CFLAGS -Werror",)
+
# Checks for libraries.
AC_CHECK_LIB([mpfr], [mpfr_clear],,
[AC_MSG_ERROR([MPC library needs the MPFR library])])
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 096a06a..a66a3fc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,7 +2,7 @@
LDADD = $(top_builddir)/src/libmpc.la
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/tests
+AM_CPPFLAGS = -I$(top_srcdir)/src
check_PROGRAMS = tadd test tcos tdiv texp tlog tmul tsin tsqr tsqrt tsub
TESTS = $(check_PROGRAMS)