~xnox/ubuntu/vivid/upstart/fix-rotate-logs

« back to all changes in this revision

Viewing changes to m4/intl.m4

  • Committer: Steve Langasek
  • Date: 2013-04-09 08:58:07 UTC
  • mfrom: (1436.1.4 upstream)
  • Revision ID: steve.langasek@canonical.com-20130409085807-xmq9xfsivf7s8zt9
Finish merging the upstream tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# intl.m4 serial 8 (gettext-0.17)
 
2
dnl Copyright (C) 1995-2007 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
dnl
 
7
dnl This file can can be used in projects which are not available under
 
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
 
13
dnl gettext package package is covered by the GNU General Public License.
 
14
dnl They are *not* in the public domain.
 
15
 
 
16
dnl Authors:
 
17
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 
18
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006.
 
19
 
 
20
AC_PREREQ(2.52)
 
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
 
28
  AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
 
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
 
43
  AC_REQUIRE([gt_INTL_MACOSX])dnl
 
44
 
 
45
  AC_CHECK_TYPE([ptrdiff_t], ,
 
46
    [AC_DEFINE([ptrdiff_t], [long],
 
47
       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
 
48
    ])
 
49
  AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
 
50
  AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
 
51
 
 
52
  dnl Use the _snprintf function only if it is declared (because on NetBSD it
 
53
  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
 
54
  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
 
55
  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
 
56
 
 
57
  dnl Use the *_unlocked functions only if they are declared.
 
58
  dnl (because some of them were defined without being declared in Solaris
 
59
  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
 
60
  dnl on Solaris 2.5.1 to run on Solaris 2.6).
 
61
  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
 
62
  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
 
63
 
 
64
  case $gt_cv_func_printf_posix in
 
65
    *yes) HAVE_POSIX_PRINTF=1 ;;
 
66
    *) HAVE_POSIX_PRINTF=0 ;;
 
67
  esac
 
68
  AC_SUBST([HAVE_POSIX_PRINTF])
 
69
  if test "$ac_cv_func_asprintf" = yes; then
 
70
    HAVE_ASPRINTF=1
 
71
  else
 
72
    HAVE_ASPRINTF=0
 
73
  fi
 
74
  AC_SUBST([HAVE_ASPRINTF])
 
75
  if test "$ac_cv_func_snprintf" = yes; then
 
76
    HAVE_SNPRINTF=1
 
77
  else
 
78
    HAVE_SNPRINTF=0
 
79
  fi
 
80
  AC_SUBST([HAVE_SNPRINTF])
 
81
  if test "$ac_cv_func_wprintf" = yes; then
 
82
    HAVE_WPRINTF=1
 
83
  else
 
84
    HAVE_WPRINTF=0
 
85
  fi
 
86
  AC_SUBST([HAVE_WPRINTF])
 
87
 
 
88
  AM_LANGINFO_CODESET
 
89
  gt_LC_MESSAGES
 
90
 
 
91
  dnl Compilation on mingw and Cygwin needs special Makefile rules, because
 
92
  dnl 1. when we install a shared library, we must arrange to export
 
93
  dnl    auxiliary pointer variables for every exported variable,
 
94
  dnl 2. when we install a shared library and a static library simultaneously,
 
95
  dnl    the include file specifies __declspec(dllimport) and therefore we
 
96
  dnl    must arrange to define the auxiliary pointer variables for the
 
97
  dnl    exported variables _also_ in the static library.
 
98
  if test "$enable_shared" = yes; then
 
99
    case "$host_os" in
 
100
      mingw* | cygwin*) is_woe32dll=yes ;;
 
101
      *) is_woe32dll=no ;;
 
102
    esac
 
103
  else
 
104
    is_woe32dll=no
 
105
  fi
 
106
  WOE32DLL=$is_woe32dll
 
107
  AC_SUBST([WOE32DLL])
 
108
 
 
109
  dnl On mingw and Cygwin, we can activate special Makefile rules which add
 
110
  dnl version information to the shared libraries and executables.
 
111
  case "$host_os" in
 
112
    mingw* | cygwin*) is_woe32=yes ;;
 
113
    *) is_woe32=no ;;
 
114
  esac
 
115
  WOE32=$is_woe32
 
116
  AC_SUBST([WOE32])
 
117
  if test $WOE32 = yes; then
 
118
    dnl Check for a program that compiles Windows resource files.
 
119
    AC_CHECK_TOOL([WINDRES], [windres])
 
120
  fi
 
121
 
 
122
  dnl Determine whether when creating a library, "-lc" should be passed to
 
123
  dnl libtool or not. On many platforms, it is required for the libtool option
 
124
  dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool
 
125
  dnl in the *.la files - makes it impossible to create multithreaded programs,
 
126
  dnl because libtool also reorders the -lc to come before the -pthread, and
 
127
  dnl this disables pthread_create() <http://docs.hp.com/en/1896/pthreads.html>.
 
128
  case "$host_os" in
 
129
    hpux*) LTLIBC="" ;;
 
130
    *)     LTLIBC="-lc" ;;
 
131
  esac
 
132
  AC_SUBST([LTLIBC])
 
133
 
 
134
  dnl Rename some macros and functions used for locking.
 
135
  AH_BOTTOM([
 
136
#define __libc_lock_t                   gl_lock_t
 
137
#define __libc_lock_define              gl_lock_define
 
138
#define __libc_lock_define_initialized  gl_lock_define_initialized
 
139
#define __libc_lock_init                gl_lock_init
 
140
#define __libc_lock_lock                gl_lock_lock
 
141
#define __libc_lock_unlock              gl_lock_unlock
 
142
#define __libc_lock_recursive_t                   gl_recursive_lock_t
 
143
#define __libc_lock_define_recursive              gl_recursive_lock_define
 
144
#define __libc_lock_define_initialized_recursive  gl_recursive_lock_define_initialized
 
145
#define __libc_lock_init_recursive                gl_recursive_lock_init
 
146
#define __libc_lock_lock_recursive                gl_recursive_lock_lock
 
147
#define __libc_lock_unlock_recursive              gl_recursive_lock_unlock
 
148
#define glthread_in_use  libintl_thread_in_use
 
149
#define glthread_lock_init     libintl_lock_init
 
150
#define glthread_lock_lock     libintl_lock_lock
 
151
#define glthread_lock_unlock   libintl_lock_unlock
 
152
#define glthread_lock_destroy  libintl_lock_destroy
 
153
#define glthread_rwlock_init     libintl_rwlock_init
 
154
#define glthread_rwlock_rdlock   libintl_rwlock_rdlock
 
155
#define glthread_rwlock_wrlock   libintl_rwlock_wrlock
 
156
#define glthread_rwlock_unlock   libintl_rwlock_unlock
 
157
#define glthread_rwlock_destroy  libintl_rwlock_destroy
 
158
#define glthread_recursive_lock_init     libintl_recursive_lock_init
 
159
#define glthread_recursive_lock_lock     libintl_recursive_lock_lock
 
160
#define glthread_recursive_lock_unlock   libintl_recursive_lock_unlock
 
161
#define glthread_recursive_lock_destroy  libintl_recursive_lock_destroy
 
162
#define glthread_once                 libintl_once
 
163
#define glthread_once_call            libintl_once_call
 
164
#define glthread_once_singlethreaded  libintl_once_singlethreaded
 
165
])
 
166
])
 
167
 
 
168
 
 
169
dnl Checks for the core files of the intl subdirectory:
 
170
dnl   dcigettext.c
 
171
dnl   eval-plural.h
 
172
dnl   explodename.c
 
173
dnl   finddomain.c
 
174
dnl   gettextP.h
 
175
dnl   gmo.h
 
176
dnl   hash-string.h hash-string.c
 
177
dnl   l10nflist.c
 
178
dnl   libgnuintl.h.in (except the *printf stuff)
 
179
dnl   loadinfo.h
 
180
dnl   loadmsgcat.c
 
181
dnl   localealias.c
 
182
dnl   log.c
 
183
dnl   plural-exp.h plural-exp.c
 
184
dnl   plural.y
 
185
dnl Used by libglocale.
 
186
AC_DEFUN([gt_INTL_SUBDIR_CORE],
 
187
[
 
188
  AC_REQUIRE([AC_C_INLINE])dnl
 
189
  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
 
190
  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
 
191
  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
 
192
  AC_REQUIRE([AC_FUNC_MMAP])dnl
 
193
  AC_REQUIRE([gt_INTDIV0])dnl
 
194
  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
 
195
  AC_REQUIRE([gt_INTTYPES_PRI])dnl
 
196
  AC_REQUIRE([gl_LOCK])dnl
 
197
 
 
198
  AC_TRY_LINK(
 
199
    [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
 
200
    [],
 
201
    [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
 
202
       [Define to 1 if the compiler understands __builtin_expect.])])
 
203
 
 
204
  AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
 
205
  AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
 
206
    stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
 
207
    argz_next __fsetlocking])
 
208
 
 
209
  dnl Use the *_unlocked functions only if they are declared.
 
210
  dnl (because some of them were defined without being declared in Solaris
 
211
  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
 
212
  dnl on Solaris 2.5.1 to run on Solaris 2.6).
 
213
  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
 
214
  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
 
215
  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
 
216
 
 
217
  AM_ICONV
 
218
 
 
219
  dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
 
220
  dnl and a _NL_LOCALE_NAME macro always.
 
221
  AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
 
222
    [AC_TRY_LINK([#include <langinfo.h>
 
223
#include <locale.h>],
 
224
      [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));
 
225
       return !cs;
 
226
      ],
 
227
      gt_cv_nl_locale_name=yes,
 
228
      gt_cv_nl_locale_name=no)
 
229
    ])
 
230
  if test $gt_cv_nl_locale_name = yes; then
 
231
    AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
 
232
      [Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
 
233
  fi
 
234
 
 
235
  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
 
236
  dnl because plural.y uses bison specific features. It requires at least
 
237
  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
 
238
  dnl compile.
 
239
  dnl bison is only needed for the maintainer (who touches plural.y). But in
 
240
  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
 
241
  dnl the rule in general Makefile. Now, some people carelessly touch the
 
242
  dnl files or have a broken "make" program, hence the plural.c rule will
 
243
  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
 
244
  dnl present or too old.
 
245
  AC_CHECK_PROGS([INTLBISON], [bison])
 
246
  if test -z "$INTLBISON"; then
 
247
    ac_verc_fail=yes
 
248
  else
 
249
    dnl Found it, now check the version.
 
250
    AC_MSG_CHECKING([version of bison])
 
251
changequote(<<,>>)dnl
 
252
    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
 
253
    case $ac_prog_version in
 
254
      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
 
255
      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
 
256
changequote([,])dnl
 
257
         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
 
258
      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
259
    esac
 
260
    AC_MSG_RESULT([$ac_prog_version])
 
261
  fi
 
262
  if test $ac_verc_fail = yes; then
 
263
    INTLBISON=:
 
264
  fi
 
265
])
 
266
 
 
267
 
 
268
dnl gt_CHECK_DECL(FUNC, INCLUDES)
 
269
dnl Check whether a function is declared.
 
270
AC_DEFUN([gt_CHECK_DECL],
 
271
[
 
272
  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
 
273
    [AC_TRY_COMPILE([$2], [
 
274
#ifndef $1
 
275
  char *p = (char *) $1;
 
276
#endif
 
277
], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
 
278
  if test $ac_cv_have_decl_$1 = yes; then
 
279
    gt_value=1
 
280
  else
 
281
    gt_value=0
 
282
  fi
 
283
  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
 
284
    [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
 
285
])