summaryrefslogtreecommitdiffstats
path: root/gl/m4/gnulib-common.m4
diff options
context:
space:
mode:
Diffstat (limited to 'gl/m4/gnulib-common.m4')
-rw-r--r--gl/m4/gnulib-common.m4105
1 files changed, 87 insertions, 18 deletions
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4
index c8fda203..9cc519e7 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
2dnl Copyright (C) 2007-2009 Free Software Foundation, Inc. 2dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl 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.
44AC_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.
49AC_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# --------------------------------------------+---------+-----------+
39AC_DEFUN([gl_MODULE_INDICATOR], 68AC_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# --------------------------------------------+---------+-----------+
91AC_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.
110m4_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.
55m4_ifdef([AC_PROG_MKDIR_P], [], [ 117# Remove this macro when we can assume autoconf >= 2.62 or
118# autoconf >= 2.60 && automake >= 1.10.
119m4_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