pupnp (libupnp) snapshot from SourceForge: git clone git://pupnp.git.sourceforge...
[igd2-for-linux:pandonghui1211s-igd2-for-linux.git] / pupnp_branch-1.6.x / m4 / ax_cflags_warn_all_ansi.m4
1 ##### http://autoconf-archive.cryp.to/ax_cflags_warn_all_ansi.html
2 #
3 # SYNOPSIS
4 #
5 #   AX_CFLAGS_WARN_ALL_ANSI [(shellvar [,default, [A/NA]])]
6 #
7 # DESCRIPTION
8 #
9 #   Try to find a compiler option that enables most reasonable
10 #   warnings. This macro is directly derived from VL_PROG_CC_WARNINGS
11 #   which is split up into two AX_CFLAGS_WARN_ALL and
12 #   AX_CFLAGS_WARN_ALL_ANSI
13 #
14 #   For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The
15 #   result is added to the shellvar being CFLAGS by default.
16 #
17 #   Currently this macro knows about GCC, Solaris C compiler, Digital
18 #   Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C
19 #   compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos
20 #   10.0.0.8) C compiler.
21 #
22 #    - $1 shell-variable-to-add-to : CFLAGS
23 #    - $2 add-value-if-not-found : nothing
24 #    - $3 action-if-found : add value to shellvariable
25 #    - $4 action-if-not-found : nothing
26 #
27 # LAST MODIFICATION
28 #
29 #   2006-12-12
30 #
31 # COPYLEFT
32 #
33 #   Copyright (c) 2006 Guido U. Draheim <guidod@gmx.de>
34 #
35 #   This program is free software; you can redistribute it and/or
36 #   modify it under the terms of the GNU General Public License as
37 #   published by the Free Software Foundation; either version 2 of the
38 #   License, or (at your option) any later version.
39 #
40 #   This program is distributed in the hope that it will be useful, but
41 #   WITHOUT ANY WARRANTY; without even the implied warranty of
42 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
43 #   General Public License for more details.
44 #
45 #   You should have received a copy of the GNU General Public License
46 #   along with this program; if not, write to the Free Software
47 #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
48 #   02111-1307, USA.
49 #
50 #   As a special exception, the respective Autoconf Macro's copyright
51 #   owner gives unlimited permission to copy, distribute and modify the
52 #   configure scripts that are the output of Autoconf when processing
53 #   the Macro. You need not follow the terms of the GNU General Public
54 #   License when using or distributing such scripts, even though
55 #   portions of the text of the Macro appear in them. The GNU General
56 #   Public License (GPL) does govern all other use of the material that
57 #   constitutes the Autoconf Macro.
58 #
59 #   This special exception to the GPL applies to versions of the
60 #   Autoconf Macro released by the Autoconf Macro Archive. When you
61 #   make and distribute a modified version of the Autoconf Macro, you
62 #   may extend this special exception to the GPL to apply to your
63 #   modified version as well.
64
65 AC_DEFUN([AX_CFLAGS_WARN_ALL_ANSI],[dnl
66 AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
67 AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all_ansi])dnl
68 AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum ansi warnings],
69 VAR,[VAR="no, unknown"
70  AC_LANG_SAVE
71  AC_LANG_C
72  ac_save_[]FLAGS="$[]FLAGS"
73 # IRIX C compiler:
74 #      -use_readonly_const is the default for IRIX C,
75 #       puts them into .rodata, but they are copied later.
76 #       need to be "-G0 -rdatashared" for strictmode but
77 #       I am not sure what effect that has really.         - guidod
78 for ac_arg dnl
79 in "-pedantic  % -Wall -ansi -pedantic"       dnl   GCC
80    "-xstrconst % -v -Xc"                      dnl Solaris C
81    "-std1      % -verbose -w0 -warnprotos -std1" dnl Digital Unix
82    " % -qlanglvl=ansi -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
83    " % -ansi -ansiE -fullwarn"                dnl IRIX
84    "+ESlit     % +w1 -Aa"                     dnl HP-UX C
85    "-Xc        % -pvctl[,]fullmsg -Xc"        dnl NEC SX-5 (Super-UX 10)
86    "-h conform % -h msglevel 2 -h conform"    dnl Cray C (Unicos)
87    #
88 do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
89    AC_TRY_COMPILE([],[return 0;],
90    [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
91 done
92  FLAGS="$ac_save_[]FLAGS"
93  AC_LANG_RESTORE
94 ])
95 case ".$VAR" in
96      .ok|.ok,*) m4_ifvaln($3,$3) ;;
97    .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
98         AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
99                       m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
100    *) m4_ifvaln($3,$3,[
101    if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
102    then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
103    else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
104                       m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
105    fi ]) ;;
106 esac
107 AS_VAR_POPDEF([VAR])dnl
108 AS_VAR_POPDEF([FLAGS])dnl
109 ])
110
111 dnl the only difference - the LANG selection... and the default FLAGS
112
113 AC_DEFUN([AX_CXXFLAGS_WARN_ALL_ANSI],[dnl
114 AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
115 AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all_ansi])dnl
116 AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum ansi warnings],
117 VAR,[VAR="no, unknown"
118  AC_LANG_SAVE
119  AC_LANG_CPLUSPLUS
120  ac_save_[]FLAGS="$[]FLAGS"
121 # IRIX C compiler:
122 #      -use_readonly_const is the default for IRIX C,
123 #       puts them into .rodata, but they are copied later.
124 #       need to be "-G0 -rdatashared" for strictmode but
125 #       I am not sure what effect that has really.         - guidod
126 for ac_arg dnl
127 in "-pedantic  % -Wall -ansi -pedantic"       dnl   GCC
128    "-xstrconst % -v -Xc"                      dnl Solaris C
129    "-std1      % -verbose -w0 -warnprotos -std1" dnl Digital Unix
130    " % -qlanglvl=ansi -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
131    " % -ansi -ansiE -fullwarn"                dnl IRIX
132    "+ESlit     % +w1 -Aa"                     dnl HP-UX C
133    "-Xc        % -pvctl[,]fullmsg -Xc"        dnl NEC SX-5 (Super-UX 10)
134    "-h conform % -h msglevel 2 -h conform"    dnl Cray C (Unicos)
135    #
136 do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
137    AC_TRY_COMPILE([],[return 0;],
138    [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
139 done
140  FLAGS="$ac_save_[]FLAGS"
141  AC_LANG_RESTORE
142 ])
143 case ".$VAR" in
144      .ok|.ok,*) m4_ifvaln($3,$3) ;;
145    .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
146         AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
147                       m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
148    *) m4_ifvaln($3,$3,[
149    if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
150    then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
151    else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
152                       m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
153    fi ]) ;;
154 esac
155 AS_VAR_POPDEF([VAR])dnl
156 AS_VAR_POPDEF([FLAGS])dnl
157 ])