[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The AM_GNU_GETTEXT
macro tests for the presence of the GNU gettext
function family in either the C library or a separate libintl
library (shared or static libraries are both supported) or in the package's
`intl/' directory.
AM_GNU_GETTEXT
accepts up to three optional arguments. The general
syntax is
AM_GNU_GETTEXT([intlsymbol], [needsymbol], [intldir]) |
intlsymbol can be one of `external', `no-libtool',
`use-libtool'. The default (if it is not specified or empty) is
`no-libtool'. intlsymbol should be `external' for packages
with no `intl/' directory, and `no-libtool' or `use-libtool'
for packages with an `intl/' directory. If intlsymbol is
`use-libtool', then a libtool library
$(top_builddir)/intl/libintl.la
will be created (shared and/or static,
depending on --{enable,disable}-{shared,static}
and on the
presence of AM_DISABLE_SHARED
). If intlsymbol is
`no-libtool', a static library
$(top_builddir)/intl/libintl.a
will be created.
If needsymbol is specified and is `need-ngettext', then GNU
gettext implementations (in libc or libintl) without the ngettext()
function will be ignored.
intldir is used to find the intl libraries. If empty, the value `$(top_builddir)/intl/' is used.
The AM_GNU_GETTEXT
macro determines whether GNU gettext is
available and should be used. If so, it sets the USE_NLS
variable
to `yes'; it defines ENABLE_NLS
to 1 in the autoconf
generated configuration file (usually called `config.h'); it sets
the variables LIBINTL
and LTLIBINTL
to the linker options
for use in a Makefile (LIBINTL
for use without libtool,
LTLIBINTL
for use with libtool); it adds an `-I' option to
CPPFLAGS
if necessary. In the negative case, it sets
USE_NLS
to `no'; it sets LIBINTL
and LTLIBINTL
to empty and doesn't change CPPFLAGS
.
The complexities that AM_GNU_GETTEXT
deals with are the following:
gettext
in the C library, for example
glibc. Some have it in a separate library libintl
. GNU libintl
might have been installed as part of the GNU gettext
package.
libintl
, if installed, is not necessarily already in the search
path (CPPFLAGS
for the include file search path, LDFLAGS
for
the library search path).
gettext
cannot
exploit the GNU mo files, doesn't have the necessary locale dependency
features, and cannot convert messages from the catalog's text encoding
to the user's locale encoding.
libintl
, if installed, is not necessarily already in the
run time library search path. To avoid the need for setting an environment
variable like LD_LIBRARY_PATH
, the macro adds the appropriate
run time search path options to the LIBINTL
and LTLIBINTL
variables. This works on most systems, but not on some operating systems
with limited shared library support, like SCO.
libintl
relies on POSIX iconv
. The macro checks for
linker options needed to use iconv and appends them to the LIBINTL
and LTLIBINTL
variables.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |