From 9c00ca95cc39d2cc45d9cd1a0002372377276b62 Mon Sep 17 00:00:00 2001 From: enge Date: Fri, 11 Apr 2008 18:16:43 +0000 Subject: added checks for existence of warning flags git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@106 211d60ee-9f03-0410-a15a-8952a2c7a4e4 --- configure.ac | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++- tests/Makefile.am | 2 +- 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 for testing and bug fixes. +# +# LAST MODIFICATION +# +# 2007-11-26 +# +# COPYLEFT +# +# Copyright (c) 2007 Francesco Salvestrini +# +# 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) -- cgit v1.2.1