OLD | NEW |
(Empty) | |
| 1 # gnulib-common.m4 serial 6 |
| 2 dnl Copyright (C) 2007-2008 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_COMMON_BODY]) |
| 12 ]) |
| 13 AC_DEFUN([gl_COMMON_BODY], [ |
| 14 AH_VERBATIM([isoc99_inline], |
| 15 [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports |
| 16 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of |
| 17 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. |
| 18 __APPLE__ && __MACH__ test for MacOS X. |
| 19 __APPLE_CC__ tests for the Apple compiler and its version. |
| 20 __STDC_VERSION__ tests for the C99 mode. */ |
| 21 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __
cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ |
| 22 # define __GNUC_STDC_INLINE__ 1 |
| 23 #endif]) |
| 24 AH_VERBATIM([unused_parameter], |
| 25 [/* Define as a marker that can be attached to function parameter declarations |
| 26 for parameters that are not used. This helps to reduce warnings, such as |
| 27 from GCC -Wunused-parameter. */ |
| 28 #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) |
| 29 # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) |
| 30 #else |
| 31 # define _UNUSED_PARAMETER_ |
| 32 #endif |
| 33 ]) |
| 34 ]) |
| 35 |
| 36 # gl_MODULE_INDICATOR([modulename]) |
| 37 # defines a C macro indicating the presence of the given module. |
| 38 AC_DEFUN([gl_MODULE_INDICATOR], |
| 39 [ |
| 40 AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKL
MNOPQRSTUVWXYZ___]), [1], |
| 41 [Define to 1 when using the gnulib module ]$1[.]) |
| 42 ]) |
| 43 |
| 44 # m4_foreach_w |
| 45 # is a backport of autoconf-2.59c's m4_foreach_w. |
| 46 # Remove this macro when we can assume autoconf >= 2.60. |
| 47 m4_ifndef([m4_foreach_w], |
| 48 [m4_define([m4_foreach_w], |
| 49 [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
| 50 |
| 51 # AC_PROG_MKDIR_P |
| 52 # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. |
| 53 # Remove this macro when we can assume autoconf >= 2.60. |
| 54 m4_ifdef([AC_PROG_MKDIR_P], [], [ |
| 55 AC_DEFUN([AC_PROG_MKDIR_P], |
| 56 [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
| 57 MKDIR_P='$(mkdir_p)' |
| 58 AC_SUBST([MKDIR_P])])]) |
| 59 |
| 60 # AC_C_RESTRICT |
| 61 # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, |
| 62 # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ |
| 63 # works. |
| 64 # This definition can be removed once autoconf >= 2.62 can be assumed. |
| 65 AC_DEFUN([AC_C_RESTRICT], |
| 66 [AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, |
| 67 [ac_cv_c_restrict=no |
| 68 # The order here caters to the fact that C++ does not require restrict. |
| 69 for ac_kw in __restrict __restrict__ _Restrict restrict; do |
| 70 AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
| 71 [[typedef int * int_ptr; |
| 72 int foo (int_ptr $ac_kw ip) { |
| 73 return ip[0]; |
| 74 }]], |
| 75 [[int s[1]; |
| 76 int * $ac_kw t = s; |
| 77 t[0] = 0; |
| 78 return foo(t)]])], |
| 79 [ac_cv_c_restrict=$ac_kw]) |
| 80 test "$ac_cv_c_restrict" != no && break |
| 81 done |
| 82 ]) |
| 83 AH_VERBATIM([restrict], |
| 84 [/* Define to the equivalent of the C99 'restrict' keyword, or to |
| 85 nothing if this is not supported. Do not define if restrict is |
| 86 supported directly. */ |
| 87 #undef restrict |
| 88 /* Work around a bug in Sun C++: it does not support _Restrict, even |
| 89 though the corresponding Sun C compiler does, which causes |
| 90 "#define restrict _Restrict" in the previous line. Perhaps some future |
| 91 version of Sun C++ will work with _Restrict; if so, it'll probably |
| 92 define __RESTRICT, just as Sun C does. */ |
| 93 #if defined __SUNPRO_CC && !defined __RESTRICT |
| 94 # define _Restrict |
| 95 #endif]) |
| 96 case $ac_cv_c_restrict in |
| 97 restrict) ;; |
| 98 no) AC_DEFINE([restrict], []) ;; |
| 99 *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; |
| 100 esac |
| 101 ]) |
OLD | NEW |