home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / aclocal / intl.m4 < prev    next >
Encoding:
M4 Source File  |  2010-09-19  |  11.5 KB  |  295 lines

  1. # intl.m4 serial 17 (gettext-0.18)
  2. dnl Copyright (C) 1995-2009 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-2009.
  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([gl_FCNTL_O_FLAGS])dnl
  44.   AC_REQUIRE([gt_INTL_MACOSX])dnl
  45.  
  46.   dnl Support for automake's --enable-silent-rules.
  47.   case "$enable_silent_rules" in
  48.     yes) INTL_DEFAULT_VERBOSITY=0;;
  49.     no)  INTL_DEFAULT_VERBOSITY=1;;
  50.     *)   INTL_DEFAULT_VERBOSITY=1;;
  51.   esac
  52.   AC_SUBST([INTL_DEFAULT_VERBOSITY])
  53.  
  54.   AC_CHECK_TYPE([ptrdiff_t], ,
  55.     [AC_DEFINE([ptrdiff_t], [long],
  56.        [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
  57.     ])
  58.   AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
  59.   AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
  60.     snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
  61.  
  62.   dnl Use the _snprintf function only if it is declared (because on NetBSD it
  63.   dnl is defined as a weak alias of snprintf; we prefer to use the latter).
  64.   gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
  65.   gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
  66.  
  67.   dnl Use the *_unlocked functions only if they are declared.
  68.   dnl (because some of them were defined without being declared in Solaris
  69.   dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
  70.   dnl on Solaris 2.5.1 to run on Solaris 2.6).
  71.   dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
  72.   gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
  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])
  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])
  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
  116.       mingw* | cygwin*) is_woe32dll=yes ;;
  117.       *) is_woe32dll=no ;;
  118.     esac
  119.   else
  120.     is_woe32dll=no
  121.   fi
  122.   WOE32DLL=$is_woe32dll
  123.   AC_SUBST([WOE32DLL])
  124.  
  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.  
  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
  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
  188. #define glthread_once_singlethreaded  libintl_once_singlethreaded
  189. #define glthread_once_multithreaded   libintl_once_multithreaded
  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.  
  223.   AC_TRY_LINK(
  224.     [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
  225.     [],
  226.     [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
  227.        [Define to 1 if the compiler understands __builtin_expect.])])
  228.  
  229.   AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
  230.   AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
  231.     stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \
  232.     argz_stringify argz_next __fsetlocking])
  233.  
  234.   dnl Use the *_unlocked functions only if they are declared.
  235.   dnl (because some of them were defined without being declared in Solaris
  236.   dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
  237.   dnl on Solaris 2.5.1 to run on Solaris 2.6).
  238.   dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
  239.   gt_CHECK_DECL([feof_unlocked], [#include <stdio.h>])
  240.   gt_CHECK_DECL([fgets_unlocked], [#include <stdio.h>])
  241.  
  242.   AM_ICONV
  243.  
  244.   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
  245.   dnl because plural.y uses bison specific features. It requires at least
  246.   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
  247.   dnl compile.
  248.   dnl bison is only needed for the maintainer (who touches plural.y). But in
  249.   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
  250.   dnl the rule in general Makefile. Now, some people carelessly touch the
  251.   dnl files or have a broken "make" program, hence the plural.c rule will
  252.   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
  253.   dnl present or too old.
  254.   AC_CHECK_PROGS([INTLBISON], [bison])
  255.   if test -z "$INTLBISON"; then
  256.     ac_verc_fail=yes
  257.   else
  258.     dnl Found it, now check the version.
  259.     AC_MSG_CHECKING([version of bison])
  260. changequote(<<,>>)dnl
  261.     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
  262.     case $ac_prog_version in
  263.       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
  264.       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
  265. changequote([,])dnl
  266.          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
  267.       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
  268.     esac
  269.     AC_MSG_RESULT([$ac_prog_version])
  270.   fi
  271.   if test $ac_verc_fail = yes; then
  272.     INTLBISON=:
  273.   fi
  274. ])
  275.  
  276.  
  277. dnl gt_CHECK_DECL(FUNC, INCLUDES)
  278. dnl Check whether a function is declared.
  279. AC_DEFUN([gt_CHECK_DECL],
  280. [
  281.   AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1],
  282.     [AC_TRY_COMPILE([$2], [
  283. #ifndef $1
  284.   char *p = (char *) $1;
  285. #endif
  286. ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
  287.   if test $ac_cv_have_decl_$1 = yes; then
  288.     gt_value=1
  289.   else
  290.     gt_value=0
  291.   fi
  292.   AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
  293.     [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
  294. ])
  295.