| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 | 
							- # gettext.m4 serial 20 (gettext-0.12)
 
- dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
 
- dnl This file is free software, distributed under the terms of the GNU
 
- dnl General Public License.  As a special exception to the GNU General
 
- dnl Public License, this file may be distributed as part of a program
 
- dnl that contains a configuration script generated by Autoconf, under
 
- dnl the same distribution terms as the rest of that program.
 
- dnl
 
- dnl This file can can be used in projects which are not available under
 
- dnl the GNU General Public License or the GNU Library General Public
 
- dnl License but which still want to provide support for the GNU gettext
 
- dnl functionality.
 
- dnl Please note that the actual code of the GNU gettext library is covered
 
- dnl by the GNU Library General Public License, and the rest of the GNU
 
- dnl gettext package package is covered by the GNU General Public License.
 
- dnl They are *not* in the public domain.
 
- dnl Authors:
 
- dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 
- dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
 
- dnl Macro to add for using GNU gettext.
 
- dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
 
- dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
 
- dnl    default (if it is not specified or empty) is 'no-libtool'.
 
- dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
 
- dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
 
- dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
 
- dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
 
- dnl    depending on --{enable,disable}-{shared,static} and on the presence of
 
- dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
 
- dnl    $(top_builddir)/intl/libintl.a will be created.
 
- dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
 
- dnl    implementations (in libc or libintl) without the ngettext() function
 
- dnl    will be ignored.  If NEEDSYMBOL is specified and is
 
- dnl    'need-formatstring-macros', then GNU gettext implementations that don't
 
- dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
 
- dnl INTLDIR is used to find the intl libraries.  If empty,
 
- dnl    the value `$(top_builddir)/intl/' is used.
 
- dnl
 
- dnl The result of the configuration is one of three cases:
 
- dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
 
- dnl    and used.
 
- dnl    Catalog format: GNU --> install in $(datadir)
 
- dnl    Catalog extension: .mo after installation, .gmo in source tree
 
- dnl 2) GNU gettext has been found in the system's C library.
 
- dnl    Catalog format: GNU --> install in $(datadir)
 
- dnl    Catalog extension: .mo after installation, .gmo in source tree
 
- dnl 3) No internationalization, always use English msgid.
 
- dnl    Catalog format: none
 
- dnl    Catalog extension: none
 
- dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
 
- dnl The use of .gmo is historical (it was needed to avoid overwriting the
 
- dnl GNU format catalogs when building on a platform with an X/Open gettext),
 
- dnl but we keep it in order not to force irrelevant filename changes on the
 
- dnl maintainers.
 
- dnl
 
- AC_DEFUN([AM_GNU_GETTEXT],
 
- [
 
-   dnl Argument checking.
 
-   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
 
-     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
 
- ])])])])])
 
-   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
 
-     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
 
- ])])])])
 
-   define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
 
-   define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
 
-   AC_REQUIRE([AM_PO_SUBDIRS])dnl
 
-   ifelse(gt_included_intl, yes, [
 
-     AC_REQUIRE([AM_INTL_SUBDIR])dnl
 
-   ])
 
-   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
 
-   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 
-   AC_REQUIRE([AC_LIB_RPATH])
 
-   dnl Sometimes libintl requires libiconv, so first search for libiconv.
 
-   dnl Ideally we would do this search only after the
 
-   dnl      if test "$USE_NLS" = "yes"; then
 
-   dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
 
-   dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
 
-   dnl the configure script would need to contain the same shell code
 
-   dnl again, outside any 'if'. There are two solutions:
 
-   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
 
-   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
 
-   dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
 
-   dnl documented, we avoid it.
 
-   ifelse(gt_included_intl, yes, , [
 
-     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
 
-   ])
 
-   dnl Set USE_NLS.
 
-   AM_NLS
 
-   ifelse(gt_included_intl, yes, [
 
-     BUILD_INCLUDED_LIBINTL=no
 
-     USE_INCLUDED_LIBINTL=no
 
-   ])
 
-   LIBINTL=
 
-   LTLIBINTL=
 
-   POSUB=
 
-   dnl If we use NLS figure out what method
 
-   if test "$USE_NLS" = "yes"; then
 
-     gt_use_preinstalled_gnugettext=no
 
-     ifelse(gt_included_intl, yes, [
 
-       AC_MSG_CHECKING([whether included gettext is requested])
 
-       AC_ARG_WITH(included-gettext,
 
-         [  --with-included-gettext use the GNU gettext library included here],
 
-         nls_cv_force_use_gnu_gettext=$withval,
 
-         nls_cv_force_use_gnu_gettext=no)
 
-       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
 
-       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
 
-       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
 
-     ])
 
-         dnl User does not insist on using GNU NLS library.  Figure out what
 
-         dnl to use.  If GNU gettext is available we use this.  Else we have
 
-         dnl to fall back to GNU NLS library.
 
-         dnl Add a version number to the cache macros.
 
-         define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
 
-         define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
 
-         define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
 
-         AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
 
-          [AC_TRY_LINK([#include <libintl.h>
 
- ]ifelse([$2], [need-formatstring-macros],
 
- [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 
- #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
 
- #endif
 
- changequote(,)dnl
 
- typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
 
- changequote([,])dnl
 
- ], [])[extern int _nl_msg_cat_cntr;
 
- extern int *_nl_domain_bindings;],
 
-             [bindtextdomain ("", "");
 
- return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
 
-             gt_cv_func_gnugettext_libc=yes,
 
-             gt_cv_func_gnugettext_libc=no)])
 
-         if test "$gt_cv_func_gnugettext_libc" != "yes"; then
 
-           dnl Sometimes libintl requires libiconv, so first search for libiconv.
 
-           ifelse(gt_included_intl, yes, , [
 
-             AM_ICONV_LINK
 
-           ])
 
-           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
 
-           dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
 
-           dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
 
-           dnl even if libiconv doesn't exist.
 
-           AC_LIB_LINKFLAGS_BODY([intl])
 
-           AC_CACHE_CHECK([for GNU gettext in libintl],
 
-             gt_cv_func_gnugettext_libintl,
 
-            [gt_save_CPPFLAGS="$CPPFLAGS"
 
-             CPPFLAGS="$CPPFLAGS $INCINTL"
 
-             gt_save_LIBS="$LIBS"
 
-             LIBS="$LIBS $LIBINTL"
 
-             dnl Now see whether libintl exists and does not depend on libiconv.
 
-             AC_TRY_LINK([#include <libintl.h>
 
- ]ifelse([$2], [need-formatstring-macros],
 
- [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 
- #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
 
- #endif
 
- changequote(,)dnl
 
- typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
 
- changequote([,])dnl
 
- ], [])[extern int _nl_msg_cat_cntr;
 
- extern
 
- #ifdef __cplusplus
 
- "C"
 
- #endif
 
- const char *_nl_expand_alias ();],
 
-               [bindtextdomain ("", "");
 
- return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
 
-               gt_cv_func_gnugettext_libintl=yes,
 
-               gt_cv_func_gnugettext_libintl=no)
 
-             dnl Now see whether libintl exists and depends on libiconv.
 
-             if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
 
-               LIBS="$LIBS $LIBICONV"
 
-               AC_TRY_LINK([#include <libintl.h>
 
- ]ifelse([$2], [need-formatstring-macros],
 
- [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 
- #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
 
- #endif
 
- changequote(,)dnl
 
- typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
 
- changequote([,])dnl
 
- ], [])[extern int _nl_msg_cat_cntr;
 
- extern
 
- #ifdef __cplusplus
 
- "C"
 
- #endif
 
- const char *_nl_expand_alias ();],
 
-                 [bindtextdomain ("", "");
 
- return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
 
-                [LIBINTL="$LIBINTL $LIBICONV"
 
-                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
 
-                 gt_cv_func_gnugettext_libintl=yes
 
-                ])
 
-             fi
 
-             CPPFLAGS="$gt_save_CPPFLAGS"
 
-             LIBS="$gt_save_LIBS"])
 
-         fi
 
-         dnl If an already present or preinstalled GNU gettext() is found,
 
-         dnl use it.  But if this macro is used in GNU gettext, and GNU
 
-         dnl gettext is already preinstalled in libintl, we update this
 
-         dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
 
-         if test "$gt_cv_func_gnugettext_libc" = "yes" \
 
-            || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
 
-                 && test "$PACKAGE" != gettext-runtime \
 
-                 && test "$PACKAGE" != gettext-tools; }; then
 
-           gt_use_preinstalled_gnugettext=yes
 
-         else
 
-           dnl Reset the values set by searching for libintl.
 
-           LIBINTL=
 
-           LTLIBINTL=
 
-           INCINTL=
 
-         fi
 
-     ifelse(gt_included_intl, yes, [
 
-         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
 
-           dnl GNU gettext is not found in the C library.
 
-           dnl Fall back on included GNU gettext library.
 
-           nls_cv_use_gnu_gettext=yes
 
-         fi
 
-       fi
 
-       if test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-         dnl Mark actions used to generate GNU NLS library.
 
-         BUILD_INCLUDED_LIBINTL=yes
 
-         USE_INCLUDED_LIBINTL=yes
 
-         LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
 
-         LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
 
-         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
 
-       fi
 
-       if test "$gt_use_preinstalled_gnugettext" = "yes" \
 
-          || test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-         dnl Mark actions to use GNU gettext tools.
 
-         CATOBJEXT=.gmo
 
-       fi
 
-     ])
 
-     if test "$gt_use_preinstalled_gnugettext" = "yes" \
 
-        || test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-       AC_DEFINE(ENABLE_NLS, 1,
 
-         [Define to 1 if translation of program messages to the user's native language
 
-    is requested.])
 
-     else
 
-       USE_NLS=no
 
-     fi
 
-   fi
 
-   AC_MSG_CHECKING([whether to use NLS])
 
-   AC_MSG_RESULT([$USE_NLS])
 
-   if test "$USE_NLS" = "yes"; then
 
-     AC_MSG_CHECKING([where the gettext function comes from])
 
-     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
 
-       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
 
-         gt_source="external libintl"
 
-       else
 
-         gt_source="libc"
 
-       fi
 
-     else
 
-       gt_source="included intl directory"
 
-     fi
 
-     AC_MSG_RESULT([$gt_source])
 
-   fi
 
-   if test "$USE_NLS" = "yes"; then
 
-     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
 
-       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
 
-         AC_MSG_CHECKING([how to link with libintl])
 
-         AC_MSG_RESULT([$LIBINTL])
 
-         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
 
-       fi
 
-       dnl For backward compatibility. Some packages may be using this.
 
-       AC_DEFINE(HAVE_GETTEXT, 1,
 
-        [Define if the GNU gettext() function is already present or preinstalled.])
 
-       AC_DEFINE(HAVE_DCGETTEXT, 1,
 
-        [Define if the GNU dcgettext() function is already present or preinstalled.])
 
-     fi
 
-     dnl We need to process the po/ directory.
 
-     POSUB=po
 
-   fi
 
-   ifelse(gt_included_intl, yes, [
 
-     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
 
-     dnl to 'yes' because some of the testsuite requires it.
 
-     if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
 
-       BUILD_INCLUDED_LIBINTL=yes
 
-     fi
 
-     dnl Make all variables we use known to autoconf.
 
-     AC_SUBST(BUILD_INCLUDED_LIBINTL)
 
-     AC_SUBST(USE_INCLUDED_LIBINTL)
 
-     AC_SUBST(CATOBJEXT)
 
-     dnl For backward compatibility. Some configure.ins may be using this.
 
-     nls_cv_header_intl=
 
-     nls_cv_header_libgt=
 
-     dnl For backward compatibility. Some Makefiles may be using this.
 
-     DATADIRNAME=share
 
-     AC_SUBST(DATADIRNAME)
 
-     dnl For backward compatibility. Some Makefiles may be using this.
 
-     INSTOBJEXT=.mo
 
-     AC_SUBST(INSTOBJEXT)
 
-     dnl For backward compatibility. Some Makefiles may be using this.
 
-     GENCAT=gencat
 
-     AC_SUBST(GENCAT)
 
-     dnl For backward compatibility. Some Makefiles may be using this.
 
-     if test "$USE_INCLUDED_LIBINTL" = yes; then
 
-       INTLOBJS="\$(GETTOBJS)"
 
-     fi
 
-     AC_SUBST(INTLOBJS)
 
-     dnl Enable libtool support if the surrounding package wishes it.
 
-     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
 
-     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
 
-   ])
 
-   dnl For backward compatibility. Some Makefiles may be using this.
 
-   INTLLIBS="$LIBINTL"
 
-   AC_SUBST(INTLLIBS)
 
-   dnl Make all documented variables known to autoconf.
 
-   AC_SUBST(LIBINTL)
 
-   AC_SUBST(LTLIBINTL)
 
-   AC_SUBST(POSUB)
 
- ])
 
- dnl Checks for all prerequisites of the intl subdirectory,
 
- dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
 
- dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
 
- AC_DEFUN([AM_INTL_SUBDIR],
 
- [
 
-   AC_REQUIRE([AC_PROG_INSTALL])dnl
 
-   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
 
-   AC_REQUIRE([AC_PROG_CC])dnl
 
-   AC_REQUIRE([AC_CANONICAL_HOST])dnl
 
-   AC_REQUIRE([AC_PROG_RANLIB])dnl
 
-   AC_REQUIRE([AC_ISC_POSIX])dnl
 
-   AC_REQUIRE([AC_HEADER_STDC])dnl
 
-   AC_REQUIRE([AC_C_CONST])dnl
 
-   AC_REQUIRE([AC_C_INLINE])dnl
 
-   AC_REQUIRE([AC_TYPE_OFF_T])dnl
 
-   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
 
-   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
 
-   AC_REQUIRE([AC_FUNC_MMAP])dnl
 
-   AC_REQUIRE([jm_GLIBC21])dnl
 
-   AC_REQUIRE([gt_INTDIV0])dnl
 
-   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
 
-   AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
 
-   AC_REQUIRE([gt_INTTYPES_PRI])dnl
 
-   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
 
- stdlib.h string.h unistd.h sys/param.h])
 
-   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
 
- geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
 
- strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
 
- __fsetlocking])
 
-   AM_ICONV
 
-   AM_LANGINFO_CODESET
 
-   if test $ac_cv_header_locale_h = yes; then
 
-     AM_LC_MESSAGES
 
-   fi
 
-   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
 
-   dnl because plural.y uses bison specific features. It requires at least
 
-   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
 
-   dnl compile.
 
-   dnl bison is only needed for the maintainer (who touches plural.y). But in
 
-   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
 
-   dnl the rule in general Makefile. Now, some people carelessly touch the
 
-   dnl files or have a broken "make" program, hence the plural.c rule will
 
-   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
 
-   dnl present or too old.
 
-   AC_CHECK_PROGS([INTLBISON], [bison])
 
-   if test -z "$INTLBISON"; then
 
-     ac_verc_fail=yes
 
-   else
 
-     dnl Found it, now check the version.
 
-     AC_MSG_CHECKING([version of bison])
 
- changequote(<<,>>)dnl
 
-     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
 
-     case $ac_prog_version in
 
-       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
 
-       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
 
- changequote([,])dnl
 
-          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
 
-       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
-     esac
 
-     AC_MSG_RESULT([$ac_prog_version])
 
-   fi
 
-   if test $ac_verc_fail = yes; then
 
-     INTLBISON=:
 
-   fi
 
- ])
 
- dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
 
- AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
 
 
  |