diff options
Diffstat (limited to 'gl/m4/gnulib-common.m4')
-rw-r--r-- | gl/m4/gnulib-common.m4 | 105 |
1 files changed, 87 insertions, 18 deletions
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index c8fda20..9cc519e 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # gnulib-common.m4 serial 11 | 1 | # gnulib-common.m4 serial 18 |
2 | dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
@@ -23,23 +23,77 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
23 | # define __GNUC_STDC_INLINE__ 1 | 23 | # define __GNUC_STDC_INLINE__ 1 |
24 | #endif]) | 24 | #endif]) |
25 | AH_VERBATIM([unused_parameter], | 25 | AH_VERBATIM([unused_parameter], |
26 | [/* Define as a marker that can be attached to function parameter declarations | 26 | [/* Define as a marker that can be attached to declarations that might not |
27 | for parameters that are not used. This helps to reduce warnings, such as | 27 | be used. This helps to reduce warnings, such as from |
28 | from GCC -Wunused-parameter. */ | 28 | GCC -Wunused-parameter. */ |
29 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) | 29 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) |
30 | # define _UNUSED_PARAMETER_ __attribute__ ((__unused__)) | 30 | # define _GL_UNUSED __attribute__ ((__unused__)) |
31 | #else | 31 | #else |
32 | # define _UNUSED_PARAMETER_ | 32 | # define _GL_UNUSED |
33 | #endif | 33 | #endif |
34 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name | ||
35 | is a misnomer outside of parameter lists. */ | ||
36 | #define _UNUSED_PARAMETER_ _GL_UNUSED | ||
34 | ]) | 37 | ]) |
35 | ]) | 38 | ]) |
36 | 39 | ||
40 | # gl_MODULE_INDICATOR_CONDITION | ||
41 | # expands to a C preprocessor expression that evaluates to 1 or 0, depending | ||
42 | # whether a gnulib module that has been requested shall be considered present | ||
43 | # or not. | ||
44 | AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) | ||
45 | |||
46 | # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) | ||
47 | # sets the shell variable that indicates the presence of the given module to | ||
48 | # a C preprocessor expression that will evaluate to 1. | ||
49 | AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], | ||
50 | [ | ||
51 | GNULIB_[]m4_translit([[$1]], | ||
52 | [abcdefghijklmnopqrstuvwxyz./-], | ||
53 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION | ||
54 | ]) | ||
55 | |||
37 | # gl_MODULE_INDICATOR([modulename]) | 56 | # gl_MODULE_INDICATOR([modulename]) |
38 | # defines a C macro indicating the presence of the given module. | 57 | # defines a C macro indicating the presence of the given module |
58 | # in a location where it can be used. | ||
59 | # | Value | Value | | ||
60 | # | in lib/ | in tests/ | | ||
61 | # --------------------------------------------+---------+-----------+ | ||
62 | # Module present among main modules: | 1 | 1 | | ||
63 | # --------------------------------------------+---------+-----------+ | ||
64 | # Module present among tests-related modules: | 0 | 1 | | ||
65 | # --------------------------------------------+---------+-----------+ | ||
66 | # Module not present at all: | 0 | 0 | | ||
67 | # --------------------------------------------+---------+-----------+ | ||
39 | AC_DEFUN([gl_MODULE_INDICATOR], | 68 | AC_DEFUN([gl_MODULE_INDICATOR], |
40 | [ | 69 | [ |
41 | AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], | 70 | AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], |
42 | [Define to 1 when using the gnulib module ]$1[.]) | 71 | [abcdefghijklmnopqrstuvwxyz./-], |
72 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), | ||
73 | [gl_MODULE_INDICATOR_CONDITION], | ||
74 | [Define to a C preprocessor expression that evaluates to 1 or 0, | ||
75 | depending whether the gnulib module $1 shall be considered present.]) | ||
76 | ]) | ||
77 | |||
78 | # gl_MODULE_INDICATOR_FOR_TESTS([modulename]) | ||
79 | # defines a C macro indicating the presence of the given module | ||
80 | # in lib or tests. This is useful to determine whether the module | ||
81 | # should be tested. | ||
82 | # | Value | Value | | ||
83 | # | in lib/ | in tests/ | | ||
84 | # --------------------------------------------+---------+-----------+ | ||
85 | # Module present among main modules: | 1 | 1 | | ||
86 | # --------------------------------------------+---------+-----------+ | ||
87 | # Module present among tests-related modules: | 1 | 1 | | ||
88 | # --------------------------------------------+---------+-----------+ | ||
89 | # Module not present at all: | 0 | 0 | | ||
90 | # --------------------------------------------+---------+-----------+ | ||
91 | AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], | ||
92 | [ | ||
93 | AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], | ||
94 | [abcdefghijklmnopqrstuvwxyz./-], | ||
95 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], | ||
96 | [Define to 1 when the gnulib module $1 should be tested.]) | ||
43 | ]) | 97 | ]) |
44 | 98 | ||
45 | # m4_foreach_w | 99 | # m4_foreach_w |
@@ -49,10 +103,25 @@ m4_ifndef([m4_foreach_w], | |||
49 | [m4_define([m4_foreach_w], | 103 | [m4_define([m4_foreach_w], |
50 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) | 104 | [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
51 | 105 | ||
106 | # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) | ||
107 | # ---------------------------------------------------- | ||
108 | # Backport of autoconf-2.63b's macro. | ||
109 | # Remove this macro when we can assume autoconf >= 2.64. | ||
110 | m4_ifndef([AS_VAR_IF], | ||
111 | [m4_define([AS_VAR_IF], | ||
112 | [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) | ||
113 | |||
52 | # AC_PROG_MKDIR_P | 114 | # AC_PROG_MKDIR_P |
53 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. | 115 | # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix |
54 | # Remove this macro when we can assume autoconf >= 2.60. | 116 | # for interoperability with automake-1.9.6 from autoconf-2.62. |
55 | m4_ifdef([AC_PROG_MKDIR_P], [], [ | 117 | # Remove this macro when we can assume autoconf >= 2.62 or |
118 | # autoconf >= 2.60 && automake >= 1.10. | ||
119 | m4_ifdef([AC_PROG_MKDIR_P], [ | ||
120 | dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. | ||
121 | m4_define([AC_PROG_MKDIR_P], | ||
122 | m4_defn([AC_PROG_MKDIR_P])[ | ||
123 | AC_SUBST([MKDIR_P])])], [ | ||
124 | dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. | ||
56 | AC_DEFUN_ONCE([AC_PROG_MKDIR_P], | 125 | AC_DEFUN_ONCE([AC_PROG_MKDIR_P], |
57 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 126 | [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
58 | MKDIR_P='$(mkdir_p)' | 127 | MKDIR_P='$(mkdir_p)' |
@@ -70,13 +139,13 @@ AC_DEFUN([AC_C_RESTRICT], | |||
70 | for ac_kw in __restrict __restrict__ _Restrict restrict; do | 139 | for ac_kw in __restrict __restrict__ _Restrict restrict; do |
71 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( | 140 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
72 | [[typedef int * int_ptr; | 141 | [[typedef int * int_ptr; |
73 | int foo (int_ptr $ac_kw ip) { | 142 | int foo (int_ptr $ac_kw ip) { |
74 | return ip[0]; | 143 | return ip[0]; |
75 | }]], | 144 | }]], |
76 | [[int s[1]; | 145 | [[int s[1]; |
77 | int * $ac_kw t = s; | 146 | int * $ac_kw t = s; |
78 | t[0] = 0; | 147 | t[0] = 0; |
79 | return foo(t)]])], | 148 | return foo(t)]])], |
80 | [ac_cv_c_restrict=$ac_kw]) | 149 | [ac_cv_c_restrict=$ac_kw]) |
81 | test "$ac_cv_c_restrict" != no && break | 150 | test "$ac_cv_c_restrict" != no && break |
82 | done | 151 | done |