nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # gnulib-common.m4 serial 29 |
2 | dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. |
||
3 | dnl This file is free software; the Free Software Foundation |
||
4 | dnl gives unlimited permission to copy and/or distribute it, |
||
5 | dnl with or without modifications, as long as this notice is preserved. |
||
6 | |||
7 | # gl_COMMON |
||
8 | # is expanded unconditionally through gnulib-tool magic. |
||
9 | AC_DEFUN([gl_COMMON], [ |
||
10 | dnl Use AC_REQUIRE here, so that the code is expanded once only. |
||
11 | AC_REQUIRE([gl_00GNULIB]) |
||
12 | AC_REQUIRE([gl_COMMON_BODY]) |
||
13 | ]) |
||
14 | AC_DEFUN([gl_COMMON_BODY], [ |
||
15 | AH_VERBATIM([_Noreturn], |
||
16 | [/* The _Noreturn keyword of draft C1X. */ |
||
17 | #ifndef _Noreturn |
||
18 | # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ |
||
19 | || 0x5110 <= __SUNPRO_C) |
||
20 | # define _Noreturn __attribute__ ((__noreturn__)) |
||
21 | # elif 1200 <= _MSC_VER |
||
22 | # define _Noreturn __declspec (noreturn) |
||
23 | # else |
||
24 | # define _Noreturn |
||
25 | # endif |
||
26 | #endif |
||
27 | ]) |
||
28 | AH_VERBATIM([isoc99_inline], |
||
29 | [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports |
||
30 | the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of |
||
31 | earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. |
||
32 | __APPLE__ && __MACH__ test for MacOS X. |
||
33 | __APPLE_CC__ tests for the Apple compiler and its version. |
||
34 | __STDC_VERSION__ tests for the C99 mode. */ |
||
35 | #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ |
||
36 | # define __GNUC_STDC_INLINE__ 1 |
||
37 | #endif]) |
||
38 | AH_VERBATIM([unused_parameter], |
||
39 | [/* Define as a marker that can be attached to declarations that might not |
||
40 | be used. This helps to reduce warnings, such as from |
||
41 | GCC -Wunused-parameter. */ |
||
42 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) |
||
43 | # define _GL_UNUSED __attribute__ ((__unused__)) |
||
44 | #else |
||
45 | # define _GL_UNUSED |
||
46 | #endif |
||
47 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name |
||
48 | is a misnomer outside of parameter lists. */ |
||
49 | #define _UNUSED_PARAMETER_ _GL_UNUSED |
||
50 | |||
51 | /* The __pure__ attribute was added in gcc 2.96. */ |
||
52 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) |
||
53 | # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) |
||
54 | #else |
||
55 | # define _GL_ATTRIBUTE_PURE /* empty */ |
||
56 | #endif |
||
57 | |||
58 | /* The __const__ attribute was added in gcc 2.95. */ |
||
59 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) |
||
60 | # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) |
||
61 | #else |
||
62 | # define _GL_ATTRIBUTE_CONST /* empty */ |
||
63 | #endif |
||
64 | ]) |
||
65 | dnl Preparation for running test programs: |
||
66 | dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not |
||
67 | dnl to /dev/tty, so they can be redirected to log files. Such diagnostics |
||
68 | dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. |
||
69 | LIBC_FATAL_STDERR_=1 |
||
70 | export LIBC_FATAL_STDERR_ |
||
71 | ]) |
||
72 | |||
73 | # gl_MODULE_INDICATOR_CONDITION |
||
74 | # expands to a C preprocessor expression that evaluates to 1 or 0, depending |
||
75 | # whether a gnulib module that has been requested shall be considered present |
||
76 | # or not. |
||
77 | m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) |
||
78 | |||
79 | # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) |
||
80 | # sets the shell variable that indicates the presence of the given module to |
||
81 | # a C preprocessor expression that will evaluate to 1. |
||
82 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], |
||
83 | [ |
||
84 | gl_MODULE_INDICATOR_SET_VARIABLE_AUX( |
||
85 | [GNULIB_[]m4_translit([[$1]], |
||
86 | [abcdefghijklmnopqrstuvwxyz./-], |
||
87 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], |
||
88 | [gl_MODULE_INDICATOR_CONDITION]) |
||
89 | ]) |
||
90 | |||
91 | # gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) |
||
92 | # modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. |
||
93 | # The shell variable's value is a C preprocessor expression that evaluates |
||
94 | # to 0 or 1. |
||
95 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], |
||
96 | [ |
||
97 | m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], |
||
98 | [ |
||
99 | dnl Simplify the expression VALUE || 1 to 1. |
||
100 | $1=1 |
||
101 | ], |
||
102 | [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], |
||
103 | [gl_MODULE_INDICATOR_CONDITION])]) |
||
104 | ]) |
||
105 | |||
106 | # gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) |
||
107 | # modifies the shell variable to include the given condition. The shell |
||
108 | # variable's value is a C preprocessor expression that evaluates to 0 or 1. |
||
109 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], |
||
110 | [ |
||
111 | dnl Simplify the expression 1 || CONDITION to 1. |
||
112 | if test "$[]$1" != 1; then |
||
113 | dnl Simplify the expression 0 || CONDITION to CONDITION. |
||
114 | if test "$[]$1" = 0; then |
||
115 | $1=$2 |
||
116 | else |
||
117 | $1="($[]$1 || $2)" |
||
118 | fi |
||
119 | fi |
||
120 | ]) |
||
121 | |||
122 | # gl_MODULE_INDICATOR([modulename]) |
||
123 | # defines a C macro indicating the presence of the given module |
||
124 | # in a location where it can be used. |
||
125 | # | Value | Value | |
||
126 | # | in lib/ | in tests/ | |
||
127 | # --------------------------------------------+---------+-----------+ |
||
128 | # Module present among main modules: | 1 | 1 | |
||
129 | # --------------------------------------------+---------+-----------+ |
||
130 | # Module present among tests-related modules: | 0 | 1 | |
||
131 | # --------------------------------------------+---------+-----------+ |
||
132 | # Module not present at all: | 0 | 0 | |
||
133 | # --------------------------------------------+---------+-----------+ |
||
134 | AC_DEFUN([gl_MODULE_INDICATOR], |
||
135 | [ |
||
136 | AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], |
||
137 | [abcdefghijklmnopqrstuvwxyz./-], |
||
138 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), |
||
139 | [gl_MODULE_INDICATOR_CONDITION], |
||
140 | [Define to a C preprocessor expression that evaluates to 1 or 0, |
||
141 | depending whether the gnulib module $1 shall be considered present.]) |
||
142 | ]) |
||
143 | |||
144 | # gl_MODULE_INDICATOR_FOR_TESTS([modulename]) |
||
145 | # defines a C macro indicating the presence of the given module |
||
146 | # in lib or tests. This is useful to determine whether the module |
||
147 | # should be tested. |
||
148 | # | Value | Value | |
||
149 | # | in lib/ | in tests/ | |
||
150 | # --------------------------------------------+---------+-----------+ |
||
151 | # Module present among main modules: | 1 | 1 | |
||
152 | # --------------------------------------------+---------+-----------+ |
||
153 | # Module present among tests-related modules: | 1 | 1 | |
||
154 | # --------------------------------------------+---------+-----------+ |
||
155 | # Module not present at all: | 0 | 0 | |
||
156 | # --------------------------------------------+---------+-----------+ |
||
157 | AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], |
||
158 | [ |
||
159 | AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], |
||
160 | [abcdefghijklmnopqrstuvwxyz./-], |
||
161 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], |
||
162 | [Define to 1 when the gnulib module $1 should be tested.]) |
||
163 | ]) |
||
164 | |||
165 | # gl_ASSERT_NO_GNULIB_POSIXCHECK |
||
166 | # asserts that there will never be a need to #define GNULIB_POSIXCHECK. |
||
167 | # and thereby enables an optimization of configure and config.h. |
||
168 | # Used by Emacs. |
||
169 | AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], |
||
170 | [ |
||
171 | dnl Override gl_WARN_ON_USE_PREPARE. |
||
172 | dnl But hide this definition from 'aclocal'. |
||
173 | AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) |
||
174 | ]) |
||
175 | |||
176 | # gl_ASSERT_NO_GNULIB_TESTS |
||
177 | # asserts that there will be no gnulib tests in the scope of the configure.ac |
||
178 | # and thereby enables an optimization of config.h. |
||
179 | # Used by Emacs. |
||
180 | AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], |
||
181 | [ |
||
182 | dnl Override gl_MODULE_INDICATOR_FOR_TESTS. |
||
183 | AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) |
||
184 | ]) |
||
185 | |||
186 | # Test whether <features.h> exists. |
||
187 | # Set HAVE_FEATURES_H. |
||
188 | AC_DEFUN([gl_FEATURES_H], |
||
189 | [ |
||
190 | AC_CHECK_HEADERS_ONCE([features.h]) |
||
191 | if test $ac_cv_header_features_h = yes; then |
||
192 | HAVE_FEATURES_H=1 |
||
193 | else |
||
194 | HAVE_FEATURES_H=0 |
||
195 | fi |
||
196 | AC_SUBST([HAVE_FEATURES_H]) |
||
197 | ]) |
||
198 | |||
199 | # m4_foreach_w |
||
200 | # is a backport of autoconf-2.59c's m4_foreach_w. |
||
201 | # Remove this macro when we can assume autoconf >= 2.60. |
||
202 | m4_ifndef([m4_foreach_w], |
||
203 | [m4_define([m4_foreach_w], |
||
204 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
||
205 | |||
206 | # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) |
||
207 | # ---------------------------------------------------- |
||
208 | # Backport of autoconf-2.63b's macro. |
||
209 | # Remove this macro when we can assume autoconf >= 2.64. |
||
210 | m4_ifndef([AS_VAR_IF], |
||
211 | [m4_define([AS_VAR_IF], |
||
212 | [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) |
||
213 | |||
214 | # gl_PROG_AR_RANLIB |
||
215 | # Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. |
||
216 | AC_DEFUN([gl_PROG_AR_RANLIB], |
||
217 | [ |
||
218 | dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler |
||
219 | dnl as "cc", and GCC as "gcc". They have different object file formats and |
||
220 | dnl library formats. In particular, the GNU binutils programs ar, ranlib |
||
221 | dnl produce libraries that work only with gcc, not with cc. |
||
222 | AC_REQUIRE([AC_PROG_CC]) |
||
223 | AC_EGREP_CPP([Amsterdam], |
||
224 | [ |
||
225 | #ifdef __ACK__ |
||
226 | Amsterdam |
||
227 | #endif |
||
228 | ], |
||
229 | [AR='cc -c.a' |
||
230 | ARFLAGS='-o' |
||
231 | RANLIB=':' |
||
232 | ], |
||
233 | [dnl Use the Automake-documented default values for AR and ARFLAGS. |
||
234 | AR='ar' |
||
235 | ARFLAGS='cru' |
||
236 | dnl Use the ranlib program if it is available. |
||
237 | AC_PROG_RANLIB |
||
238 | ]) |
||
239 | AC_SUBST([AR]) |
||
240 | AC_SUBST([ARFLAGS]) |
||
241 | ]) |
||
242 | |||
243 | # AC_PROG_MKDIR_P |
||
244 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix |
||
245 | # for interoperability with automake-1.9.6 from autoconf-2.62. |
||
246 | # Remove this macro when we can assume autoconf >= 2.62 or |
||
247 | # autoconf >= 2.60 && automake >= 1.10. |
||
248 | m4_ifdef([AC_PROG_MKDIR_P], [ |
||
249 | dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. |
||
250 | m4_define([AC_PROG_MKDIR_P], |
||
251 | m4_defn([AC_PROG_MKDIR_P])[ |
||
252 | AC_SUBST([MKDIR_P])])], [ |
||
253 | dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. |
||
254 | AC_DEFUN_ONCE([AC_PROG_MKDIR_P], |
||
255 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
||
256 | MKDIR_P='$(mkdir_p)' |
||
257 | AC_SUBST([MKDIR_P])])]) |
||
258 | |||
259 | # AC_C_RESTRICT |
||
260 | # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, |
||
261 | # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ |
||
262 | # works. |
||
263 | # This definition can be removed once autoconf >= 2.62 can be assumed. |
||
264 | m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[ |
||
265 | AC_DEFUN([AC_C_RESTRICT], |
||
266 | [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], |
||
267 | [ac_cv_c_restrict=no |
||
268 | # The order here caters to the fact that C++ does not require restrict. |
||
269 | for ac_kw in __restrict __restrict__ _Restrict restrict; do |
||
270 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
||
271 | [[typedef int * int_ptr; |
||
272 | int foo (int_ptr $ac_kw ip) { |
||
273 | return ip[0]; |
||
274 | }]], |
||
275 | [[int s[1]; |
||
276 | int * $ac_kw t = s; |
||
277 | t[0] = 0; |
||
278 | return foo(t)]])], |
||
279 | [ac_cv_c_restrict=$ac_kw]) |
||
280 | test "$ac_cv_c_restrict" != no && break |
||
281 | done |
||
282 | ]) |
||
283 | AH_VERBATIM([restrict], |
||
284 | [/* Define to the equivalent of the C99 'restrict' keyword, or to |
||
285 | nothing if this is not supported. Do not define if restrict is |
||
286 | supported directly. */ |
||
287 | #undef restrict |
||
288 | /* Work around a bug in Sun C++: it does not support _Restrict, even |
||
289 | though the corresponding Sun C compiler does, which causes |
||
290 | "#define restrict _Restrict" in the previous line. Perhaps some future |
||
291 | version of Sun C++ will work with _Restrict; if so, it'll probably |
||
292 | define __RESTRICT, just as Sun C does. */ |
||
293 | #if defined __SUNPRO_CC && !defined __RESTRICT |
||
294 | # define _Restrict |
||
295 | #endif]) |
||
296 | case $ac_cv_c_restrict in |
||
297 | restrict) ;; |
||
298 | no) AC_DEFINE([restrict], []) ;; |
||
299 | *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; |
||
300 | esac |
||
301 | ]) |
||
302 | ]) |
||
303 | |||
304 | # gl_BIGENDIAN |
||
305 | # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. |
||
306 | # Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some |
||
307 | # macros invoke AC_C_BIGENDIAN with arguments. |
||
308 | AC_DEFUN([gl_BIGENDIAN], |
||
309 | [ |
||
310 | AC_C_BIGENDIAN |
||
311 | ]) |
||
312 | |||
313 | # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) |
||
314 | # is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not |
||
315 | # output a spurious "(cached)" mark in the midst of other configure output. |
||
316 | # This macro should be used instead of AC_CACHE_VAL when it is not surrounded |
||
317 | # by an AC_MSG_CHECKING/AC_MSG_RESULT pair. |
||
318 | AC_DEFUN([gl_CACHE_VAL_SILENT], |
||
319 | [ |
||
320 | saved_as_echo_n="$as_echo_n" |
||
321 | as_echo_n=':' |
||
322 | AC_CACHE_VAL([$1], [$2]) |
||
323 | as_echo_n="$saved_as_echo_n" |
||
324 | ]) |