1dnl @synopsis AX_CFLAGS_IRIX_OPTION (optionflag [,[shellvar][,[A][,[NA]]])
2dnl
3dnl AX_CFLAGS_IRIX_OPTION(-go_for_it) would show a message as like
4dnl "checking CFLAGS for irix/cc -go_for_it ... yes" and adds the
5dnl optionflag to CFLAGS if it is understood. You can override the
6dnl shellvar-default of CFLAGS of course. The order of arguments stems
7dnl from the explicit macros like AX_CFLAGS_WARN_ALL.
8dnl
9dnl The cousin AX_CXXFLAGS_IRIX_OPTION would check for an option to add
10dnl to CXXFLAGS - and it uses the autoconf setup for C++ instead of C
11dnl (since it is possible to use different compilers for C and C++).
12dnl
13dnl The macro is a lot simpler than any special AX_CFLAGS_* macro (or
14dnl ac_cxx_rtti.m4 macro) but allows to check for arbitrary options.
15dnl However, if you use this macro in a few places, it would be great
16dnl if you would make up a new function-macro and submit it to the
17dnl ac-archive.
18dnl
19dnl  - $1 option-to-check-for : required ("-option" as non-value)
20dnl  - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case)
21dnl  - $3 action-if-found : add value to shellvariable
22dnl  - $4 action-if-not-found : nothing
23dnl
24dnl note: in earlier versions, $1-$2 were swapped. We try to detect the
25dnl situation and accept a $2=~/-/ as being the old
26dnl option-to-check-for.
27dnl
28dnl see also: AX_CFLAGS_GCC_OPTION for the widely used original
29dnl variant.
30dnl
31dnl This descendent modified by Shannon Brown  to use AC_LANG_CPLUSPLUS
32dnl instead of AC_LANG_CXX, as well as regexp([],[]) instead of
33dnl m4_regexp([],[]).
34dnl
35dnl @category C
36dnl @author Guido Draheim <guidod@gmx.de>
37dnl @version 2005-01-21
38dnl @license GPLWithACException
39
40AC_DEFUN([AX_CFLAGS_IRIX_OPTION_OLD], [dnl
41AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
42AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_irix_option_$2])dnl
43AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for irix/cc m4_ifval($2,$2,-option)],
44VAR,[VAR="no, unknown"
45 AC_LANG_SAVE
46 AC_LANG_C
47 ac_save_[]FLAGS="$[]FLAGS"
48for ac_arg dnl
49in "-fullwarn -use_readonly_const % m4_ifval($2,$2,-option)"     dnl IRIX C
50   #
51do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
52   AC_TRY_COMPILE([],[return 0;],
53   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
54done
55 FLAGS="$ac_save_[]FLAGS"
56 AC_LANG_RESTORE
57])
58case ".$VAR" in
59     .ok|.ok,*) m4_ifvaln($3,$3) ;;
60   .|.no|.no,*) m4_ifvaln($4,$4) ;;
61   *) m4_ifvaln($3,$3,[
62   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
63   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
64   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
65                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
66   fi ]) ;;
67esac
68AS_VAR_POPDEF([VAR])dnl
69AS_VAR_POPDEF([FLAGS])dnl
70])
71
72dnl the only difference - the LANG selection... and the default FLAGS
73
74AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION_OLD], [dnl
75AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
76AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_irix_option_$2])dnl
77AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for irix/cc m4_ifval($2,$2,-option)],
78VAR,[VAR="no, unknown"
79 AC_LANG_SAVE
80 AC_LANG_CPLUSPLUS
81 ac_save_[]FLAGS="$[]FLAGS"
82for ac_arg dnl
83in "-fullwarn -use_readonly_const % m4_ifval($2,$2,-option)"     dnl IRIX C
84   #
85do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
86   AC_TRY_COMPILE([],[return 0;],
87   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
88done
89 FLAGS="$ac_save_[]FLAGS"
90 AC_LANG_RESTORE
91])
92case ".$VAR" in
93     .ok|.ok,*) m4_ifvaln($3,$3) ;;
94   .|.no|.no,*) m4_ifvaln($4,$4) ;;
95   *) m4_ifvaln($3,$3,[
96   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
97   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
98   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
99                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
100   fi ]) ;;
101esac
102AS_VAR_POPDEF([VAR])dnl
103AS_VAR_POPDEF([FLAGS])dnl
104])
105
106dnl --------------------------------------------------------------------------
107
108AC_DEFUN([AX_CFLAGS_IRIX_OPTION_NEW], [dnl
109AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
110AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_irix_option_$1])dnl
111AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for irix/cc m4_ifval($1,$1,-option)],
112VAR,[VAR="no, unknown"
113 AC_LANG_SAVE
114 AC_LANG_C
115 ac_save_[]FLAGS="$[]FLAGS"
116for ac_arg dnl
117in "-fullwarn -use_readonly_const % m4_ifval($1,$1,-option)"     dnl IRIX C
118   #
119do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
120   AC_TRY_COMPILE([],[return 0;],
121   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
122done
123 FLAGS="$ac_save_[]FLAGS"
124 AC_LANG_RESTORE
125])
126case ".$VAR" in
127     .ok|.ok,*) m4_ifvaln($3,$3) ;;
128   .|.no|.no,*) m4_ifvaln($4,$4) ;;
129   *) m4_ifvaln($3,$3,[
130   if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
131   then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
132   else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
133                      m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
134   fi ]) ;;
135esac
136AS_VAR_POPDEF([VAR])dnl
137AS_VAR_POPDEF([FLAGS])dnl
138])
139
140dnl the only difference - the LANG selection... and the default FLAGS
141
142AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION_NEW], [dnl
143AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
144AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_irix_option_$1])dnl
145AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for irix/cc m4_ifval($1,$1,-option)],
146VAR,[VAR="no, unknown"
147 AC_LANG_SAVE
148 AC_LANG_CPLUSPLUS
149 ac_save_[]FLAGS="$[]FLAGS"
150for ac_arg dnl
151in "-fullwarn -use_readonly_const % m4_ifval($1,$1,-option)"     dnl IRIX C
152   #
153do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
154   AC_TRY_COMPILE([],[return 0;],
155   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
156done
157 FLAGS="$ac_save_[]FLAGS"
158 AC_LANG_RESTORE
159])
160case ".$VAR" in
161     .ok|.ok,*) m4_ifvaln($3,$3) ;;
162   .|.no|.no,*) m4_ifvaln($4,$4) ;;
163   *) m4_ifvaln($3,$3,[
164   if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
165   then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
166   else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
167                      m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
168   fi ]) ;;
169esac
170AS_VAR_POPDEF([VAR])dnl
171AS_VAR_POPDEF([FLAGS])dnl
172])
173
174AC_DEFUN([AX_CFLAGS_IRIX_OPTION],[ifelse(regexp([$2],[-]),-1,
175[AX_CFLAGS_IRIX_OPTION_NEW($@)],[AX_CFLAGS_IRIX_OPTION_OLD($@)])])
176
177AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION],[ifelse(regexp([$2],[-]),-1,
178[AX_CXXFLAGS_IRIX_OPTION_NEW($@)],[AX_CXXFLAGS_IRIX_OPTION_OLD($@)])])
179