~vcs-imports/gawk/master

731.11.329 by Arnold D. Robbins
Make extension directory fully gettextized. Fixes autoreconf problems.
1
# intl.m4 serial 29 (gettext-0.19)
408.19.33 by Arnold D. Robbins
Update autotools.
2
dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
34 by Arnold D. Robbins
Move to gawk-3.1.6.
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
dnl
731.11.329 by Arnold D. Robbins
Make extension directory fully gettextized. Fixes autoreconf problems.
7
dnl This file can be used in projects which are not available under
34 by Arnold D. Robbins
Move to gawk-3.1.6.
8
dnl the GNU General Public License or the GNU Library General Public
9
dnl License but which still want to provide support for the GNU gettext
10
dnl functionality.
11
dnl Please note that the actual code of the GNU gettext library is covered
12
dnl by the GNU Library General Public License, and the rest of the GNU
731.11.329 by Arnold D. Robbins
Make extension directory fully gettextized. Fixes autoreconf problems.
13
dnl gettext package is covered by the GNU General Public License.
34 by Arnold D. Robbins
Move to gawk-3.1.6.
14
dnl They are *not* in the public domain.
15
16
dnl Authors:
17
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
18
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2009.
34 by Arnold D. Robbins
Move to gawk-3.1.6.
19
408.19.33 by Arnold D. Robbins
Update autotools.
20
AC_PREREQ([2.60])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
21
22
dnl Checks for all prerequisites of the intl subdirectory,
23
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
24
dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
25
AC_DEFUN([AM_INTL_SUBDIR],
26
[
27
  AC_REQUIRE([AC_PROG_INSTALL])dnl
277.1.171 by Arnold D. Robbins
Upgrade to Automake 1.12.4 and dist bugfix.
28
  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
34 by Arnold D. Robbins
Move to gawk-3.1.6.
29
  AC_REQUIRE([AC_PROG_CC])dnl
30
  AC_REQUIRE([AC_CANONICAL_HOST])dnl
31
  AC_REQUIRE([gt_GLIBC2])dnl
32
  AC_REQUIRE([AC_PROG_RANLIB])dnl
33
  AC_REQUIRE([gl_VISIBILITY])dnl
34
  AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
35
  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
36
  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
37
  AC_REQUIRE([gt_TYPE_WINT_T])dnl
38
  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
39
  AC_REQUIRE([gt_TYPE_INTMAX_T])
40
  AC_REQUIRE([gt_PRINTF_POSIX])
41
  AC_REQUIRE([gl_GLIBC21])dnl
42
  AC_REQUIRE([gl_XSIZE])dnl
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
43
  AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl
34 by Arnold D. Robbins
Move to gawk-3.1.6.
44
  AC_REQUIRE([gt_INTL_MACOSX])dnl
408.19.33 by Arnold D. Robbins
Update autotools.
45
  AC_REQUIRE([gl_EXTERN_INLINE])dnl
46
  AC_REQUIRE([gt_GL_ATTRIBUTE])dnl
34 by Arnold D. Robbins
Move to gawk-3.1.6.
47
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
48
  dnl Support for automake's --enable-silent-rules.
49
  case "$enable_silent_rules" in
50
    yes) INTL_DEFAULT_VERBOSITY=0;;
51
    no)  INTL_DEFAULT_VERBOSITY=1;;
52
    *)   INTL_DEFAULT_VERBOSITY=1;;
53
  esac
54
  AC_SUBST([INTL_DEFAULT_VERBOSITY])
55
34 by Arnold D. Robbins
Move to gawk-3.1.6.
56
  AC_CHECK_TYPE([ptrdiff_t], ,
57
    [AC_DEFINE([ptrdiff_t], [long],
58
       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
59
    ])
408.19.33 by Arnold D. Robbins
Update autotools.
60
  AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h])
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
61
  AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
62
    snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
63
64
  dnl Use the _snprintf function only if it is declared (because on NetBSD it
65
  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
408.19.33 by Arnold D. Robbins
Update autotools.
66
  AC_CHECK_DECLS([_snprintf, _snwprintf], , , [#include <stdio.h>])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
67
68
  dnl Use the *_unlocked functions only if they are declared.
69
  dnl (because some of them were defined without being declared in Solaris
70
  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
71
  dnl on Solaris 2.5.1 to run on Solaris 2.6).
408.19.33 by Arnold D. Robbins
Update autotools.
72
  AC_CHECK_DECLS([getc_unlocked], , , [#include <stdio.h>])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
73
74
  case $gt_cv_func_printf_posix in
75
    *yes) HAVE_POSIX_PRINTF=1 ;;
76
    *) HAVE_POSIX_PRINTF=0 ;;
77
  esac
78
  AC_SUBST([HAVE_POSIX_PRINTF])
79
  if test "$ac_cv_func_asprintf" = yes; then
80
    HAVE_ASPRINTF=1
81
  else
82
    HAVE_ASPRINTF=0
83
  fi
84
  AC_SUBST([HAVE_ASPRINTF])
85
  if test "$ac_cv_func_snprintf" = yes; then
86
    HAVE_SNPRINTF=1
87
  else
88
    HAVE_SNPRINTF=0
89
  fi
90
  AC_SUBST([HAVE_SNPRINTF])
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
91
  if test "$ac_cv_func_newlocale" = yes; then
92
    HAVE_NEWLOCALE=1
93
  else
94
    HAVE_NEWLOCALE=0
95
  fi
96
  AC_SUBST([HAVE_NEWLOCALE])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
97
  if test "$ac_cv_func_wprintf" = yes; then
98
    HAVE_WPRINTF=1
99
  else
100
    HAVE_WPRINTF=0
101
  fi
102
  AC_SUBST([HAVE_WPRINTF])
103
104
  AM_LANGINFO_CODESET
105
  gt_LC_MESSAGES
106
107
  dnl Compilation on mingw and Cygwin needs special Makefile rules, because
108
  dnl 1. when we install a shared library, we must arrange to export
109
  dnl    auxiliary pointer variables for every exported variable,
110
  dnl 2. when we install a shared library and a static library simultaneously,
111
  dnl    the include file specifies __declspec(dllimport) and therefore we
112
  dnl    must arrange to define the auxiliary pointer variables for the
113
  dnl    exported variables _also_ in the static library.
114
  if test "$enable_shared" = yes; then
115
    case "$host_os" in
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
116
      mingw* | cygwin*) is_woe32dll=yes ;;
34 by Arnold D. Robbins
Move to gawk-3.1.6.
117
      *) is_woe32dll=no ;;
118
    esac
119
  else
120
    is_woe32dll=no
121
  fi
122
  WOE32DLL=$is_woe32dll
123
  AC_SUBST([WOE32DLL])
124
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
125
  dnl On mingw and Cygwin, we can activate special Makefile rules which add
126
  dnl version information to the shared libraries and executables.
127
  case "$host_os" in
128
    mingw* | cygwin*) is_woe32=yes ;;
129
    *) is_woe32=no ;;
130
  esac
131
  WOE32=$is_woe32
132
  AC_SUBST([WOE32])
133
  if test $WOE32 = yes; then
134
    dnl Check for a program that compiles Windows resource files.
135
    AC_CHECK_TOOL([WINDRES], [windres])
136
  fi
137
138
  dnl Determine whether when creating a library, "-lc" should be passed to
139
  dnl libtool or not. On many platforms, it is required for the libtool option
140
  dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool
141
  dnl in the *.la files - makes it impossible to create multithreaded programs,
142
  dnl because libtool also reorders the -lc to come before the -pthread, and
143
  dnl this disables pthread_create() <http://docs.hp.com/en/1896/pthreads.html>.
144
  case "$host_os" in
145
    hpux*) LTLIBC="" ;;
146
    *)     LTLIBC="-lc" ;;
147
  esac
148
  AC_SUBST([LTLIBC])
149
34 by Arnold D. Robbins
Move to gawk-3.1.6.
150
  dnl Rename some macros and functions used for locking.
151
  AH_BOTTOM([
152
#define __libc_lock_t                   gl_lock_t
153
#define __libc_lock_define              gl_lock_define
154
#define __libc_lock_define_initialized  gl_lock_define_initialized
155
#define __libc_lock_init                gl_lock_init
156
#define __libc_lock_lock                gl_lock_lock
157
#define __libc_lock_unlock              gl_lock_unlock
158
#define __libc_lock_recursive_t                   gl_recursive_lock_t
159
#define __libc_lock_define_recursive              gl_recursive_lock_define
160
#define __libc_lock_define_initialized_recursive  gl_recursive_lock_define_initialized
161
#define __libc_lock_init_recursive                gl_recursive_lock_init
162
#define __libc_lock_lock_recursive                gl_recursive_lock_lock
163
#define __libc_lock_unlock_recursive              gl_recursive_lock_unlock
164
#define glthread_in_use  libintl_thread_in_use
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
165
#define glthread_lock_init_func     libintl_lock_init_func
166
#define glthread_lock_lock_func     libintl_lock_lock_func
167
#define glthread_lock_unlock_func   libintl_lock_unlock_func
168
#define glthread_lock_destroy_func  libintl_lock_destroy_func
169
#define glthread_rwlock_init_multithreaded     libintl_rwlock_init_multithreaded
170
#define glthread_rwlock_init_func              libintl_rwlock_init_func
171
#define glthread_rwlock_rdlock_multithreaded   libintl_rwlock_rdlock_multithreaded
172
#define glthread_rwlock_rdlock_func            libintl_rwlock_rdlock_func
173
#define glthread_rwlock_wrlock_multithreaded   libintl_rwlock_wrlock_multithreaded
174
#define glthread_rwlock_wrlock_func            libintl_rwlock_wrlock_func
175
#define glthread_rwlock_unlock_multithreaded   libintl_rwlock_unlock_multithreaded
176
#define glthread_rwlock_unlock_func            libintl_rwlock_unlock_func
177
#define glthread_rwlock_destroy_multithreaded  libintl_rwlock_destroy_multithreaded
178
#define glthread_rwlock_destroy_func           libintl_rwlock_destroy_func
179
#define glthread_recursive_lock_init_multithreaded     libintl_recursive_lock_init_multithreaded
180
#define glthread_recursive_lock_init_func              libintl_recursive_lock_init_func
181
#define glthread_recursive_lock_lock_multithreaded     libintl_recursive_lock_lock_multithreaded
182
#define glthread_recursive_lock_lock_func              libintl_recursive_lock_lock_func
183
#define glthread_recursive_lock_unlock_multithreaded   libintl_recursive_lock_unlock_multithreaded
184
#define glthread_recursive_lock_unlock_func            libintl_recursive_lock_unlock_func
185
#define glthread_recursive_lock_destroy_multithreaded  libintl_recursive_lock_destroy_multithreaded
186
#define glthread_recursive_lock_destroy_func           libintl_recursive_lock_destroy_func
187
#define glthread_once_func            libintl_once_func
34 by Arnold D. Robbins
Move to gawk-3.1.6.
188
#define glthread_once_singlethreaded  libintl_once_singlethreaded
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
189
#define glthread_once_multithreaded   libintl_once_multithreaded
34 by Arnold D. Robbins
Move to gawk-3.1.6.
190
])
191
])
192
193
194
dnl Checks for the core files of the intl subdirectory:
195
dnl   dcigettext.c
196
dnl   eval-plural.h
197
dnl   explodename.c
198
dnl   finddomain.c
199
dnl   gettextP.h
200
dnl   gmo.h
201
dnl   hash-string.h hash-string.c
202
dnl   l10nflist.c
203
dnl   libgnuintl.h.in (except the *printf stuff)
204
dnl   loadinfo.h
205
dnl   loadmsgcat.c
206
dnl   localealias.c
207
dnl   log.c
208
dnl   plural-exp.h plural-exp.c
209
dnl   plural.y
210
dnl Used by libglocale.
211
AC_DEFUN([gt_INTL_SUBDIR_CORE],
212
[
213
  AC_REQUIRE([AC_C_INLINE])dnl
214
  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
215
  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
216
  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
217
  AC_REQUIRE([AC_FUNC_MMAP])dnl
218
  AC_REQUIRE([gt_INTDIV0])dnl
219
  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
220
  AC_REQUIRE([gt_INTTYPES_PRI])dnl
221
  AC_REQUIRE([gl_LOCK])dnl
222
408.19.33 by Arnold D. Robbins
Update autotools.
223
  AC_LINK_IFELSE(
224
    [AC_LANG_PROGRAM(
225
       [[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }]],
226
       [[]])],
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
227
    [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
34 by Arnold D. Robbins
Move to gawk-3.1.6.
228
       [Define to 1 if the compiler understands __builtin_expect.])])
229
230
  AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
231
  AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
277.1.135 by Arnold D. Robbins
Upgrade infrastructure to autoconf 2.69, automake 1.12.
232
    stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \
233
    argz_stringify argz_next __fsetlocking])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
234
731.11.329 by Arnold D. Robbins
Make extension directory fully gettextized. Fixes autoreconf problems.
235
  dnl Solaris 12 provides getlocalename_l, while Illumos doesn't have
236
  dnl it nor the equivalent.
237
  if test $ac_cv_func_uselocale = yes; then
238
    AC_CHECK_FUNCS([getlocalename_l])
239
  fi
240
34 by Arnold D. Robbins
Move to gawk-3.1.6.
241
  dnl Use the *_unlocked functions only if they are declared.
242
  dnl (because some of them were defined without being declared in Solaris
243
  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
244
  dnl on Solaris 2.5.1 to run on Solaris 2.6).
408.19.33 by Arnold D. Robbins
Update autotools.
245
  AC_CHECK_DECLS([feof_unlocked, fgets_unlocked], , , [#include <stdio.h>])
34 by Arnold D. Robbins
Move to gawk-3.1.6.
246
247
  AM_ICONV
248
249
  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
250
  dnl because plural.y uses bison specific features. It requires at least
408.19.33 by Arnold D. Robbins
Update autotools.
251
  dnl bison-2.7 for %define api.pure.
34 by Arnold D. Robbins
Move to gawk-3.1.6.
252
  dnl bison is only needed for the maintainer (who touches plural.y). But in
253
  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
254
  dnl the rule in general Makefile. Now, some people carelessly touch the
255
  dnl files or have a broken "make" program, hence the plural.c rule will
256
  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
257
  dnl present or too old.
258
  AC_CHECK_PROGS([INTLBISON], [bison])
259
  if test -z "$INTLBISON"; then
260
    ac_verc_fail=yes
261
  else
262
    dnl Found it, now check the version.
263
    AC_MSG_CHECKING([version of bison])
264
changequote(<<,>>)dnl
265
    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
266
    case $ac_prog_version in
267
      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
408.19.33 by Arnold D. Robbins
Update autotools.
268
      2.[7-9]* | [3-9].*)
34 by Arnold D. Robbins
Move to gawk-3.1.6.
269
changequote([,])dnl
270
         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
271
      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
272
    esac
273
    AC_MSG_RESULT([$ac_prog_version])
274
  fi
275
  if test $ac_verc_fail = yes; then
276
    INTLBISON=:
277
  fi
278
])
279
408.19.33 by Arnold D. Robbins
Update autotools.
280
dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from
281
dnl gnulib-common.m4 as a fallback, if the project isn't using Gnulib.
282
AC_DEFUN([gt_GL_ATTRIBUTE], [
283
  m4_ifndef([gl_[]COMMON],
284
    AH_VERBATIM([gt_gl_attribute],
285
[/* Define as a marker that can be attached to declarations that might not
286
    be used.  This helps to reduce warnings, such as from
287
    GCC -Wunused-parameter.  */
288
#ifndef _GL_UNUSED
289
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
290
#  define _GL_UNUSED __attribute__ ((__unused__))
291
# else
292
#  define _GL_UNUSED
293
# endif
294
#endif
34 by Arnold D. Robbins
Move to gawk-3.1.6.
295
408.19.33 by Arnold D. Robbins
Update autotools.
296
/* The __pure__ attribute was added in gcc 2.96.  */
297
#ifndef _GL_ATTRIBUTE_PURE
298
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
299
#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
300
# else
301
#  define _GL_ATTRIBUTE_PURE /* empty */
302
# endif
34 by Arnold D. Robbins
Move to gawk-3.1.6.
303
#endif
408.19.33 by Arnold D. Robbins
Update autotools.
304
]))])