~ubuntu-branches/ubuntu/hardy/libnss-db/hardy-updates

« back to all changes in this revision

Viewing changes to m4/intl.m4~

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-07-31 18:37:38 UTC
  • Revision ID: james.westby@ubuntu.com-20070731183738-f4u1l3m69i05473u
Tags: 2.2.3pre1-2ubuntu1
debian/rules: explicitely use bash for the install.

Show diffs side-by-side

added added

removed removed

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