]> git.pond.sub.org Git - empserver/blob - m4/my_append_compile_flags.m4
configure: Test compiler flags
[empserver] / m4 / my_append_compile_flags.m4
1 # SYNOPSIS
2 #
3 #   MY_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS])
4 #
5 # DESCRIPTION
6 #
7 #   For every FLAG1, FLAG2 it is checked whether the compiler works with the
8 #   flag.  If it does, the flag is added FLAGS-VARIABLE
9 #
10 #   Works just like AX_APPEND_COMPILE_FLAGS, except when testing
11 #   -Wno-foo, run the compiler with -Wfoo, because gcc complains about
12 #   unknown -Wno-foo only when other diagnostics are being produced.
13 #
14 #   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
15 #   CFLAGS) is used.  During the check the flag is always added to the
16 #   current language's flags.
17 #
18 #   If EXTRA-FLAGS is defined, it is added to the current language's default
19 #   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
20 #   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
21 #   force the compiler to issue an error when a bad flag is given.
22 #
23 #   NOTE: This macro depends on the AX_APPEND_FLAG and
24 #   AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
25 #   MY_APPEND_LINK_FLAGS.
26 #
27 # Derived from AX_APPEND_COMPILE_FLAGS, covered by the following
28 # copyright and permission notice:
29 #
30 # LICENSE
31 #
32 #   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
33 #
34 #   This program is free software: you can redistribute it and/or modify it
35 #   under the terms of the GNU General Public License as published by the
36 #   Free Software Foundation, either version 3 of the License, or (at your
37 #   option) any later version.
38 #
39 #   This program is distributed in the hope that it will be useful, but
40 #   WITHOUT ANY WARRANTY; without even the implied warranty of
41 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
42 #   Public License for more details.
43 #
44 #   You should have received a copy of the GNU General Public License along
45 #   with this program. If not, see <http://www.gnu.org/licenses/>.
46 #
47 #   As a special exception, the respective Autoconf Macro's copyright owner
48 #   gives unlimited permission to copy, distribute and modify the configure
49 #   scripts that are the output of Autoconf when processing the Macro. You
50 #   need not follow the terms of the GNU General Public License when using
51 #   or distributing such scripts, even though portions of the text of the
52 #   Macro appear in them. The GNU General Public License (GPL) does govern
53 #   all other use of the material that constitutes the Autoconf Macro.
54 #
55 #   This special exception to the GPL applies to versions of the Autoconf
56 #   Macro released by the Autoconf Archive. When you make and distribute a
57 #   modified version of the Autoconf Macro, you may extend this special
58 #   exception to the GPL to apply to your modified version as well.
59
60 AC_DEFUN([MY_APPEND_COMPILE_FLAGS],
61 [AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
62 AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
63 for flag in $1; do
64   tflag=`echo "$flag" | sed 's/^-Wno-/-W/'`
65   AX_CHECK_COMPILE_FLAG([$tflag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3])
66 done
67 ])dnl MY_APPEND_COMPILE_FLAGS