Fix po directory handling.
* configure.ac: Create po/Makefile.in rather than po/Makefile. * grub-core/gnulib/Makefile.am: Import gettext module. * m4/gnulib-cache.m4: Likewise. * m4/gnulib-comp.m4: Likewise. * m4/gettext.m4: New file, from gnulib. * m4/glibc2.m4: Likewise. * m4/iconv.m4: Likewise. * m4/intdiv0.m4: Likewise. * m4/intl.m4: Likewise. * m4/intldir.m4: Likewise. * m4/intlmacosx.m4: Likewise. * m4/intmax.m4: Likewise. * m4/inttypes-pri.m4: Likewise. * m4/lcmessage.m4: Likewise. * m4/lib-ld.m4: Likewise. * m4/lib-link.m4: Likewise. * m4/lib-prefix.m4: Likewise. * m4/lock.m4: Likewise. * m4/nls.m4: Likewise. * m4/po.m4: Likewise. * m4/printf-posix.m4: Likewise. * m4/progtest.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/uintmax_t.m4: Likewise. * m4/visibility.m4: Likewise. * po/Makefile.am: Remove. * po/Makefile.in.in: New file, from gettext. ($(DOMAIN).pot-update): Support POTFILES-shell. * po/Makevars: New file. * po/POTFILES-shell: Rename to ... * po/POTFILES-shell.in: ... this. Update. * po/POTFILES: Rename to ... * po/POTFILES.in: ... this. Update. * po/Rules-quot: New file, from gettext. * po/boldquot.sed: Likewise. * po/en@boldquot.header: Likewise. * po/en@quot.header: Likewise. * po/insert-header.sin: Likewise. * po/quot.sed: Likewise. * po/remove-potcdate.sin: Likewise.
This commit is contained in:
parent
3e0fa5d0e0
commit
269004c158
39 changed files with 4376 additions and 83 deletions
45
ChangeLog
45
ChangeLog
|
@ -1,3 +1,48 @@
|
||||||
|
2010-09-21 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
Fix po directory handling.
|
||||||
|
|
||||||
|
* configure.ac: Create po/Makefile.in rather than po/Makefile.
|
||||||
|
* grub-core/gnulib/Makefile.am: Import gettext module.
|
||||||
|
* m4/gnulib-cache.m4: Likewise.
|
||||||
|
* m4/gnulib-comp.m4: Likewise.
|
||||||
|
* m4/gettext.m4: New file, from gnulib.
|
||||||
|
* m4/glibc2.m4: Likewise.
|
||||||
|
* m4/iconv.m4: Likewise.
|
||||||
|
* m4/intdiv0.m4: Likewise.
|
||||||
|
* m4/intl.m4: Likewise.
|
||||||
|
* m4/intldir.m4: Likewise.
|
||||||
|
* m4/intlmacosx.m4: Likewise.
|
||||||
|
* m4/intmax.m4: Likewise.
|
||||||
|
* m4/inttypes-pri.m4: Likewise.
|
||||||
|
* m4/lcmessage.m4: Likewise.
|
||||||
|
* m4/lib-ld.m4: Likewise.
|
||||||
|
* m4/lib-link.m4: Likewise.
|
||||||
|
* m4/lib-prefix.m4: Likewise.
|
||||||
|
* m4/lock.m4: Likewise.
|
||||||
|
* m4/nls.m4: Likewise.
|
||||||
|
* m4/po.m4: Likewise.
|
||||||
|
* m4/printf-posix.m4: Likewise.
|
||||||
|
* m4/progtest.m4: Likewise.
|
||||||
|
* m4/threadlib.m4: Likewise.
|
||||||
|
* m4/uintmax_t.m4: Likewise.
|
||||||
|
* m4/visibility.m4: Likewise.
|
||||||
|
* po/Makefile.am: Remove.
|
||||||
|
* po/Makefile.in.in: New file, from gettext.
|
||||||
|
($(DOMAIN).pot-update): Support POTFILES-shell.
|
||||||
|
* po/Makevars: New file.
|
||||||
|
* po/POTFILES-shell: Rename to ...
|
||||||
|
* po/POTFILES-shell.in: ... this. Update.
|
||||||
|
* po/POTFILES: Rename to ...
|
||||||
|
* po/POTFILES.in: ... this. Update.
|
||||||
|
* po/Rules-quot: New file, from gettext.
|
||||||
|
* po/boldquot.sed: Likewise.
|
||||||
|
* po/en@boldquot.header: Likewise.
|
||||||
|
* po/en@quot.header: Likewise.
|
||||||
|
* po/insert-header.sin: Likewise.
|
||||||
|
* po/quot.sed: Likewise.
|
||||||
|
* po/remove-potcdate.sin: Likewise.
|
||||||
|
|
||||||
2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
|
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
|
||||||
|
|
|
@ -934,7 +934,7 @@ fi
|
||||||
AC_CONFIG_FILES([Makefile])
|
AC_CONFIG_FILES([Makefile])
|
||||||
AC_CONFIG_FILES([grub-core/Makefile])
|
AC_CONFIG_FILES([grub-core/Makefile])
|
||||||
AC_CONFIG_FILES([grub-core/gnulib/Makefile])
|
AC_CONFIG_FILES([grub-core/gnulib/Makefile])
|
||||||
AC_CONFIG_FILES([po/Makefile])
|
AC_CONFIG_FILES([po/Makefile.in])
|
||||||
AC_CONFIG_FILES([docs/Makefile])
|
AC_CONFIG_FILES([docs/Makefile])
|
||||||
AC_CONFIG_FILES([util/bash-completion.d/Makefile])
|
AC_CONFIG_FILES([util/bash-completion.d/Makefile])
|
||||||
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
# the same distribution terms as the rest of that program.
|
# the same distribution terms as the rest of that program.
|
||||||
#
|
#
|
||||||
# Generated by gnulib-tool.
|
# Generated by gnulib-tool.
|
||||||
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline progname regex
|
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = 1.5 gnits
|
AUTOMAKE_OPTIONS = 1.5 gnits
|
||||||
|
|
||||||
|
@ -322,12 +322,35 @@ EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
|
||||||
|
|
||||||
## end gnulib module getopt-posix
|
## end gnulib module getopt-posix
|
||||||
|
|
||||||
|
## begin gnulib module gettext
|
||||||
|
|
||||||
|
# This is for those projects which use "gettextize --intl" to put a source-code
|
||||||
|
# copy of libintl into their package. In such projects, every Makefile.am needs
|
||||||
|
# -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory.
|
||||||
|
# For the Makefile.ams in other directories it is the maintainer's
|
||||||
|
# responsibility; for the one from gnulib we do it here.
|
||||||
|
# This option has no effect when the user disables NLS (because then the intl
|
||||||
|
# directory contains no libintl.h file) or when the project does not use
|
||||||
|
# "gettextize --intl".
|
||||||
|
AM_CPPFLAGS += -I$(top_builddir)/intl
|
||||||
|
|
||||||
|
EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
|
||||||
|
|
||||||
|
## end gnulib module gettext
|
||||||
|
|
||||||
## begin gnulib module gettext-h
|
## begin gnulib module gettext-h
|
||||||
|
|
||||||
libgnu_a_SOURCES += gettext.h
|
libgnu_a_SOURCES += gettext.h
|
||||||
|
|
||||||
## end gnulib module gettext-h
|
## end gnulib module gettext-h
|
||||||
|
|
||||||
|
## begin gnulib module havelib
|
||||||
|
|
||||||
|
|
||||||
|
EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
|
||||||
|
|
||||||
|
## end gnulib module havelib
|
||||||
|
|
||||||
## begin gnulib module intprops
|
## begin gnulib module intprops
|
||||||
|
|
||||||
|
|
||||||
|
|
401
m4/gettext.m4
Normal file
401
m4/gettext.m4
Normal file
|
@ -0,0 +1,401 @@
|
||||||
|
# gettext.m4 serial 64 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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-2006, 2008-2010.
|
||||||
|
|
||||||
|
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(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
|
||||||
|
[AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
|
||||||
|
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],
|
||||||
|
ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
|
||||||
|
[yes]))
|
||||||
|
define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
|
||||||
|
gt_NEEDS_INIT
|
||||||
|
AM_GNU_GETTEXT_NEED([$2])
|
||||||
|
|
||||||
|
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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "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 Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
|
||||||
|
gt_INTL_MACOSX
|
||||||
|
|
||||||
|
dnl Set USE_NLS.
|
||||||
|
AC_REQUIRE([AM_NLS])
|
||||||
|
|
||||||
|
ifelse(gt_included_intl, yes, [
|
||||||
|
BUILD_INCLUDED_LIBINTL=no
|
||||||
|
USE_INCLUDED_LIBINTL=no
|
||||||
|
])
|
||||||
|
LIBINTL=
|
||||||
|
LTLIBINTL=
|
||||||
|
POSUB=
|
||||||
|
|
||||||
|
dnl Add a version number to the cache macros.
|
||||||
|
case " $gt_needs " in
|
||||||
|
*" need-formatstring-macros "*) gt_api_version=3 ;;
|
||||||
|
*" need-ngettext "*) gt_api_version=2 ;;
|
||||||
|
*) gt_api_version=1 ;;
|
||||||
|
esac
|
||||||
|
gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
|
||||||
|
gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
if test $gt_api_version -ge 3; then
|
||||||
|
gt_revision_test_code='
|
||||||
|
#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
|
||||||
|
'
|
||||||
|
else
|
||||||
|
gt_revision_test_code=
|
||||||
|
fi
|
||||||
|
if test $gt_api_version -ge 2; then
|
||||||
|
gt_expression_test_code=' + * ngettext ("", "", 0)'
|
||||||
|
else
|
||||||
|
gt_expression_test_code=
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
|
||||||
|
[AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <libintl.h>
|
||||||
|
$gt_revision_test_code
|
||||||
|
extern int _nl_msg_cat_cntr;
|
||||||
|
extern int *_nl_domain_bindings;
|
||||||
|
]],
|
||||||
|
[[
|
||||||
|
bindtextdomain ("", "");
|
||||||
|
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
|
||||||
|
]])],
|
||||||
|
[eval "$gt_func_gnugettext_libc=yes"],
|
||||||
|
[eval "$gt_func_gnugettext_libc=no"])])
|
||||||
|
|
||||||
|
if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "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_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_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <libintl.h>
|
||||||
|
$gt_revision_test_code
|
||||||
|
extern int _nl_msg_cat_cntr;
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
const char *_nl_expand_alias (const char *);
|
||||||
|
]],
|
||||||
|
[[
|
||||||
|
bindtextdomain ("", "");
|
||||||
|
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
|
||||||
|
]])],
|
||||||
|
[eval "$gt_func_gnugettext_libintl=yes"],
|
||||||
|
[eval "$gt_func_gnugettext_libintl=no"])
|
||||||
|
dnl Now see whether libintl exists and depends on libiconv.
|
||||||
|
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
|
||||||
|
LIBS="$LIBS $LIBICONV"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <libintl.h>
|
||||||
|
$gt_revision_test_code
|
||||||
|
extern int _nl_msg_cat_cntr;
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
const char *_nl_expand_alias (const char *);
|
||||||
|
]],
|
||||||
|
[[
|
||||||
|
bindtextdomain ("", "");
|
||||||
|
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
|
||||||
|
]])],
|
||||||
|
[LIBINTL="$LIBINTL $LIBICONV"
|
||||||
|
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
|
||||||
|
eval "$gt_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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
|
||||||
|
|| { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "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 $LIBTHREAD"
|
||||||
|
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
|
||||||
|
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
CATOBJEXT=
|
||||||
|
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 -n "$INTL_MACOSX_LIBS"; then
|
||||||
|
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||||
|
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||||
|
dnl Some extra flags are needed during linking.
|
||||||
|
LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
|
||||||
|
LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
|
||||||
|
fi
|
||||||
|
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 { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "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 { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "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.
|
||||||
|
INTLOBJS=
|
||||||
|
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 gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
|
||||||
|
m4_define([gt_NEEDS_INIT],
|
||||||
|
[
|
||||||
|
m4_divert_text([DEFAULTS], [gt_needs=])
|
||||||
|
m4_define([gt_NEEDS_INIT], [])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
|
||||||
|
AC_DEFUN([AM_GNU_GETTEXT_NEED],
|
||||||
|
[
|
||||||
|
m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
|
||||||
|
AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
|
30
m4/glibc2.m4
Normal file
30
m4/glibc2.m4
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# glibc2.m4 serial 2
|
||||||
|
dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# Test for the GNU C Library, version 2.0 or newer.
|
||||||
|
# From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_GLIBC2],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer],
|
||||||
|
[ac_cv_gnu_library_2],
|
||||||
|
[AC_EGREP_CPP([Lucky GNU user],
|
||||||
|
[
|
||||||
|
#include <features.h>
|
||||||
|
#ifdef __GNU_LIBRARY__
|
||||||
|
#if (__GLIBC__ >= 2)
|
||||||
|
Lucky GNU user
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[ac_cv_gnu_library_2=yes],
|
||||||
|
[ac_cv_gnu_library_2=no])
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_SUBST([GLIBC2])
|
||||||
|
GLIBC2="$ac_cv_gnu_library_2"
|
||||||
|
]
|
||||||
|
)
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
|
|
||||||
# Specification in the form of a command-line invocation:
|
# Specification in the form of a command-line invocation:
|
||||||
# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline progname regex
|
# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
|
||||||
|
|
||||||
# Specification in the form of a few gnulib-tool.m4 macro invocations:
|
# Specification in the form of a few gnulib-tool.m4 macro invocations:
|
||||||
gl_LOCAL_DIR([])
|
gl_LOCAL_DIR([])
|
||||||
|
@ -25,6 +25,7 @@ gl_MODULES([
|
||||||
fnmatch
|
fnmatch
|
||||||
getdelim
|
getdelim
|
||||||
getline
|
getline
|
||||||
|
gettext
|
||||||
progname
|
progname
|
||||||
regex
|
regex
|
||||||
])
|
])
|
||||||
|
|
|
@ -45,7 +45,9 @@ AC_DEFUN([gl_EARLY],
|
||||||
# Code from module getline:
|
# Code from module getline:
|
||||||
# Code from module getopt-gnu:
|
# Code from module getopt-gnu:
|
||||||
# Code from module getopt-posix:
|
# Code from module getopt-posix:
|
||||||
|
# Code from module gettext:
|
||||||
# Code from module gettext-h:
|
# Code from module gettext-h:
|
||||||
|
# Code from module havelib:
|
||||||
# Code from module include_next:
|
# Code from module include_next:
|
||||||
# Code from module intprops:
|
# Code from module intprops:
|
||||||
# Code from module langinfo:
|
# Code from module langinfo:
|
||||||
|
@ -150,9 +152,13 @@ AC_DEFUN([gl_INIT],
|
||||||
gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
|
gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
|
||||||
# Code from module getopt-posix:
|
# Code from module getopt-posix:
|
||||||
gl_FUNC_GETOPT_POSIX
|
gl_FUNC_GETOPT_POSIX
|
||||||
|
# Code from module gettext:
|
||||||
|
dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac.
|
||||||
|
AM_GNU_GETTEXT_VERSION([0.18.1])
|
||||||
# Code from module gettext-h:
|
# Code from module gettext-h:
|
||||||
AC_SUBST([LIBINTL])
|
AC_SUBST([LIBINTL])
|
||||||
AC_SUBST([LTLIBINTL])
|
AC_SUBST([LTLIBINTL])
|
||||||
|
# Code from module havelib:
|
||||||
# Code from module include_next:
|
# Code from module include_next:
|
||||||
# Code from module intprops:
|
# Code from module intprops:
|
||||||
# Code from module langinfo:
|
# Code from module langinfo:
|
||||||
|
@ -400,6 +406,7 @@ AC_DEFUN([gltests_LIBSOURCES], [
|
||||||
AC_DEFUN([gl_FILE_LIST], [
|
AC_DEFUN([gl_FILE_LIST], [
|
||||||
build-aux/arg-nonnull.h
|
build-aux/arg-nonnull.h
|
||||||
build-aux/c++defs.h
|
build-aux/c++defs.h
|
||||||
|
build-aux/config.rpath
|
||||||
build-aux/warn-on-use.h
|
build-aux/warn-on-use.h
|
||||||
lib/alloca.c
|
lib/alloca.c
|
||||||
lib/alloca.in.h
|
lib/alloca.in.h
|
||||||
|
@ -517,16 +524,30 @@ AC_DEFUN([gl_FILE_LIST], [
|
||||||
m4/getdelim.m4
|
m4/getdelim.m4
|
||||||
m4/getline.m4
|
m4/getline.m4
|
||||||
m4/getopt.m4
|
m4/getopt.m4
|
||||||
|
m4/gettext.m4
|
||||||
|
m4/glibc2.m4
|
||||||
m4/glibc21.m4
|
m4/glibc21.m4
|
||||||
m4/gnulib-common.m4
|
m4/gnulib-common.m4
|
||||||
|
m4/iconv.m4
|
||||||
m4/include_next.m4
|
m4/include_next.m4
|
||||||
|
m4/intdiv0.m4
|
||||||
|
m4/intl.m4
|
||||||
|
m4/intldir.m4
|
||||||
|
m4/intlmacosx.m4
|
||||||
|
m4/intmax.m4
|
||||||
m4/intmax_t.m4
|
m4/intmax_t.m4
|
||||||
|
m4/inttypes-pri.m4
|
||||||
m4/inttypes_h.m4
|
m4/inttypes_h.m4
|
||||||
m4/langinfo_h.m4
|
m4/langinfo_h.m4
|
||||||
|
m4/lcmessage.m4
|
||||||
|
m4/lib-ld.m4
|
||||||
|
m4/lib-link.m4
|
||||||
|
m4/lib-prefix.m4
|
||||||
m4/localcharset.m4
|
m4/localcharset.m4
|
||||||
m4/locale-fr.m4
|
m4/locale-fr.m4
|
||||||
m4/locale-ja.m4
|
m4/locale-ja.m4
|
||||||
m4/locale-zh.m4
|
m4/locale-zh.m4
|
||||||
|
m4/lock.m4
|
||||||
m4/longlong.m4
|
m4/longlong.m4
|
||||||
m4/malloc.m4
|
m4/malloc.m4
|
||||||
m4/mbrtowc.m4
|
m4/mbrtowc.m4
|
||||||
|
@ -538,7 +559,11 @@ AC_DEFUN([gl_FILE_LIST], [
|
||||||
m4/mmap-anon.m4
|
m4/mmap-anon.m4
|
||||||
m4/multiarch.m4
|
m4/multiarch.m4
|
||||||
m4/nl_langinfo.m4
|
m4/nl_langinfo.m4
|
||||||
|
m4/nls.m4
|
||||||
|
m4/po.m4
|
||||||
|
m4/printf-posix.m4
|
||||||
m4/printf.m4
|
m4/printf.m4
|
||||||
|
m4/progtest.m4
|
||||||
m4/rawmemchr.m4
|
m4/rawmemchr.m4
|
||||||
m4/realloc.m4
|
m4/realloc.m4
|
||||||
m4/regex.m4
|
m4/regex.m4
|
||||||
|
@ -560,8 +585,11 @@ AC_DEFUN([gl_FILE_LIST], [
|
||||||
m4/strnlen.m4
|
m4/strnlen.m4
|
||||||
m4/sys_wait_h.m4
|
m4/sys_wait_h.m4
|
||||||
m4/sysexits.m4
|
m4/sysexits.m4
|
||||||
|
m4/threadlib.m4
|
||||||
|
m4/uintmax_t.m4
|
||||||
m4/unistd_h.m4
|
m4/unistd_h.m4
|
||||||
m4/vasnprintf.m4
|
m4/vasnprintf.m4
|
||||||
|
m4/visibility.m4
|
||||||
m4/vsnprintf.m4
|
m4/vsnprintf.m4
|
||||||
m4/warn-on-use.m4
|
m4/warn-on-use.m4
|
||||||
m4/wchar_h.m4
|
m4/wchar_h.m4
|
||||||
|
|
256
m4/iconv.m4
Normal file
256
m4/iconv.m4
Normal file
|
@ -0,0 +1,256 @@
|
||||||
|
# iconv.m4 serial 15 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
|
||||||
|
[
|
||||||
|
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
|
||||||
|
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
|
||||||
|
dnl accordingly.
|
||||||
|
AC_LIB_LINKFLAGS_BODY([iconv])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([AM_ICONV_LINK],
|
||||||
|
[
|
||||||
|
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
|
||||||
|
dnl those with the standalone portable GNU libiconv installed).
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||||
|
|
||||||
|
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
|
||||||
|
dnl accordingly.
|
||||||
|
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||||
|
|
||||||
|
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
|
||||||
|
dnl because if the user has installed libiconv and not disabled its use
|
||||||
|
dnl via --without-libiconv-prefix, he wants to use it. The first
|
||||||
|
dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
|
||||||
|
am_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
|
||||||
|
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||||||
|
am_cv_lib_iconv=no
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <iconv.h>
|
||||||
|
]],
|
||||||
|
[[iconv_t cd = iconv_open("","");
|
||||||
|
iconv(cd,NULL,NULL,NULL,NULL);
|
||||||
|
iconv_close(cd);]])],
|
||||||
|
[am_cv_func_iconv=yes])
|
||||||
|
if test "$am_cv_func_iconv" != yes; then
|
||||||
|
am_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $LIBICONV"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <iconv.h>
|
||||||
|
]],
|
||||||
|
[[iconv_t cd = iconv_open("","");
|
||||||
|
iconv(cd,NULL,NULL,NULL,NULL);
|
||||||
|
iconv_close(cd);]])],
|
||||||
|
[am_cv_lib_iconv=yes]
|
||||||
|
[am_cv_func_iconv=yes])
|
||||||
|
LIBS="$am_save_LIBS"
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "$am_cv_func_iconv" = yes; then
|
||||||
|
AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
|
||||||
|
dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
|
||||||
|
dnl Solaris 10.
|
||||||
|
am_save_LIBS="$LIBS"
|
||||||
|
if test $am_cv_lib_iconv = yes; then
|
||||||
|
LIBS="$LIBS $LIBICONV"
|
||||||
|
fi
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[
|
||||||
|
#include <iconv.h>
|
||||||
|
#include <string.h>
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
/* Test against AIX 5.1 bug: Failures are not distinguishable from successful
|
||||||
|
returns. */
|
||||||
|
{
|
||||||
|
iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
|
||||||
|
if (cd_utf8_to_88591 != (iconv_t)(-1))
|
||||||
|
{
|
||||||
|
static const char input[] = "\342\202\254"; /* EURO SIGN */
|
||||||
|
char buf[10];
|
||||||
|
const char *inptr = input;
|
||||||
|
size_t inbytesleft = strlen (input);
|
||||||
|
char *outptr = buf;
|
||||||
|
size_t outbytesleft = sizeof (buf);
|
||||||
|
size_t res = iconv (cd_utf8_to_88591,
|
||||||
|
(char **) &inptr, &inbytesleft,
|
||||||
|
&outptr, &outbytesleft);
|
||||||
|
if (res == 0)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Test against Solaris 10 bug: Failures are not distinguishable from
|
||||||
|
successful returns. */
|
||||||
|
{
|
||||||
|
iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
|
||||||
|
if (cd_ascii_to_88591 != (iconv_t)(-1))
|
||||||
|
{
|
||||||
|
static const char input[] = "\263";
|
||||||
|
char buf[10];
|
||||||
|
const char *inptr = input;
|
||||||
|
size_t inbytesleft = strlen (input);
|
||||||
|
char *outptr = buf;
|
||||||
|
size_t outbytesleft = sizeof (buf);
|
||||||
|
size_t res = iconv (cd_ascii_to_88591,
|
||||||
|
(char **) &inptr, &inbytesleft,
|
||||||
|
&outptr, &outbytesleft);
|
||||||
|
if (res == 0)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Test against AIX 6.1..7.1 bug: Buffer overrun. */
|
||||||
|
{
|
||||||
|
iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
|
||||||
|
if (cd_88591_to_utf8 != (iconv_t)(-1))
|
||||||
|
{
|
||||||
|
static const char input[] = "\304";
|
||||||
|
static char buf[2] = { (char)0xDE, (char)0xAD };
|
||||||
|
const char *inptr = input;
|
||||||
|
size_t inbytesleft = 1;
|
||||||
|
char *outptr = buf;
|
||||||
|
size_t outbytesleft = 1;
|
||||||
|
size_t res = iconv (cd_88591_to_utf8,
|
||||||
|
(char **) &inptr, &inbytesleft,
|
||||||
|
&outptr, &outbytesleft);
|
||||||
|
if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if 0 /* This bug could be worked around by the caller. */
|
||||||
|
/* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
|
||||||
|
{
|
||||||
|
iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
|
||||||
|
if (cd_88591_to_utf8 != (iconv_t)(-1))
|
||||||
|
{
|
||||||
|
static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
|
||||||
|
char buf[50];
|
||||||
|
const char *inptr = input;
|
||||||
|
size_t inbytesleft = strlen (input);
|
||||||
|
char *outptr = buf;
|
||||||
|
size_t outbytesleft = sizeof (buf);
|
||||||
|
size_t res = iconv (cd_88591_to_utf8,
|
||||||
|
(char **) &inptr, &inbytesleft,
|
||||||
|
&outptr, &outbytesleft);
|
||||||
|
if ((int)res > 0)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
/* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
|
||||||
|
provided. */
|
||||||
|
if (/* Try standardized names. */
|
||||||
|
iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
|
||||||
|
/* Try IRIX, OSF/1 names. */
|
||||||
|
&& iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
|
||||||
|
/* Try AIX names. */
|
||||||
|
&& iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
|
||||||
|
/* Try HP-UX names. */
|
||||||
|
&& iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}]])],
|
||||||
|
[am_cv_func_iconv_works=yes],
|
||||||
|
[am_cv_func_iconv_works=no],
|
||||||
|
[
|
||||||
|
changequote(,)dnl
|
||||||
|
case "$host_os" in
|
||||||
|
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
|
||||||
|
*) am_cv_func_iconv_works="guessing yes" ;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
])
|
||||||
|
LIBS="$am_save_LIBS"
|
||||||
|
])
|
||||||
|
case "$am_cv_func_iconv_works" in
|
||||||
|
*no) am_func_iconv=no am_cv_lib_iconv=no ;;
|
||||||
|
*) am_func_iconv=yes ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
am_func_iconv=no am_cv_lib_iconv=no
|
||||||
|
fi
|
||||||
|
if test "$am_func_iconv" = yes; then
|
||||||
|
AC_DEFINE([HAVE_ICONV], [1],
|
||||||
|
[Define if you have the iconv() function and it works.])
|
||||||
|
fi
|
||||||
|
if test "$am_cv_lib_iconv" = yes; then
|
||||||
|
AC_MSG_CHECKING([how to link with libiconv])
|
||||||
|
AC_MSG_RESULT([$LIBICONV])
|
||||||
|
else
|
||||||
|
dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
|
||||||
|
dnl either.
|
||||||
|
CPPFLAGS="$am_save_CPPFLAGS"
|
||||||
|
LIBICONV=
|
||||||
|
LTLIBICONV=
|
||||||
|
fi
|
||||||
|
AC_SUBST([LIBICONV])
|
||||||
|
AC_SUBST([LTLIBICONV])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
|
||||||
|
dnl avoid warnings like
|
||||||
|
dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
|
||||||
|
dnl This is tricky because of the way 'aclocal' is implemented:
|
||||||
|
dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
|
||||||
|
dnl Otherwise aclocal's initial scan pass would miss the macro definition.
|
||||||
|
dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
|
||||||
|
dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
|
||||||
|
dnl warnings.
|
||||||
|
m4_define([gl_iconv_AC_DEFUN],
|
||||||
|
m4_version_prereq([2.64],
|
||||||
|
[[AC_DEFUN_ONCE(
|
||||||
|
[$1], [$2])]],
|
||||||
|
[m4_ifdef([gl_00GNULIB],
|
||||||
|
[[AC_DEFUN_ONCE(
|
||||||
|
[$1], [$2])]],
|
||||||
|
[[AC_DEFUN(
|
||||||
|
[$1], [$2])]])]))
|
||||||
|
gl_iconv_AC_DEFUN([AM_ICONV],
|
||||||
|
[
|
||||||
|
AM_ICONV_LINK
|
||||||
|
if test "$am_cv_func_iconv" = yes; then
|
||||||
|
AC_MSG_CHECKING([for iconv declaration])
|
||||||
|
AC_CACHE_VAL([am_cv_proto_iconv], [
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <iconv.h>
|
||||||
|
extern
|
||||||
|
#ifdef __cplusplus
|
||||||
|
"C"
|
||||||
|
#endif
|
||||||
|
#if defined(__STDC__) || defined(__cplusplus)
|
||||||
|
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
|
||||||
|
#else
|
||||||
|
size_t iconv();
|
||||||
|
#endif
|
||||||
|
]],
|
||||||
|
[[]])],
|
||||||
|
[am_cv_proto_iconv_arg1=""],
|
||||||
|
[am_cv_proto_iconv_arg1="const"])
|
||||||
|
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
|
||||||
|
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
|
||||||
|
AC_MSG_RESULT([
|
||||||
|
$am_cv_proto_iconv])
|
||||||
|
AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
|
||||||
|
[Define as const if the declaration of iconv() needs const.])
|
||||||
|
fi
|
||||||
|
])
|
87
m4/intdiv0.m4
Normal file
87
m4/intdiv0.m4
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
# intdiv0.m4 serial 4 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2002, 2007-2008, 2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_INTDIV0],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
|
||||||
|
gt_cv_int_divbyzero_sigfpe,
|
||||||
|
[
|
||||||
|
gt_cv_int_divbyzero_sigfpe=
|
||||||
|
changequote(,)dnl
|
||||||
|
case "$host_os" in
|
||||||
|
macos* | darwin[6-9]* | darwin[1-9][0-9]*)
|
||||||
|
# On MacOS X 10.2 or newer, just assume the same as when cross-
|
||||||
|
# compiling. If we were to perform the real test, 1 Crash Report
|
||||||
|
# dialog window would pop up.
|
||||||
|
case "$host_cpu" in
|
||||||
|
i[34567]86 | x86_64)
|
||||||
|
gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
if test -z "$gt_cv_int_divbyzero_sigfpe"; then
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
static void
|
||||||
|
sigfpe_handler (int sig)
|
||||||
|
{
|
||||||
|
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
|
||||||
|
exit (sig != SIGFPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
int x = 1;
|
||||||
|
int y = 0;
|
||||||
|
int z;
|
||||||
|
int nan;
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
signal (SIGFPE, sigfpe_handler);
|
||||||
|
/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
|
||||||
|
#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
|
||||||
|
signal (SIGTRAP, sigfpe_handler);
|
||||||
|
#endif
|
||||||
|
/* Linux/SPARC yields signal SIGILL. */
|
||||||
|
#if defined (__sparc__) && defined (__linux__)
|
||||||
|
signal (SIGILL, sigfpe_handler);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
z = x / y;
|
||||||
|
nan = y / y;
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
]])],
|
||||||
|
[gt_cv_int_divbyzero_sigfpe=yes],
|
||||||
|
[gt_cv_int_divbyzero_sigfpe=no],
|
||||||
|
[
|
||||||
|
# Guess based on the CPU.
|
||||||
|
changequote(,)dnl
|
||||||
|
case "$host_cpu" in
|
||||||
|
alpha* | i[34567]86 | x86_64 | m68k | s390*)
|
||||||
|
gt_cv_int_divbyzero_sigfpe="guessing yes";;
|
||||||
|
*)
|
||||||
|
gt_cv_int_divbyzero_sigfpe="guessing no";;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
case "$gt_cv_int_divbyzero_sigfpe" in
|
||||||
|
*yes) value=1;;
|
||||||
|
*) value=0;;
|
||||||
|
esac
|
||||||
|
AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
|
||||||
|
[Define if integer division by zero raises signal SIGFPE.])
|
||||||
|
])
|
300
m4/intl.m4
Normal file
300
m4/intl.m4
Normal file
|
@ -0,0 +1,300 @@
|
||||||
|
# intl.m4 serial 17b
|
||||||
|
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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-2009.
|
||||||
|
|
||||||
|
AC_PREREQ([2.53])
|
||||||
|
|
||||||
|
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_PROG_MKDIR_P])dnl defined by automake
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
AC_REQUIRE([gt_GLIBC2])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||||
|
AC_REQUIRE([gl_VISIBILITY])dnl
|
||||||
|
AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
|
||||||
|
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
|
||||||
|
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
|
||||||
|
AC_REQUIRE([gt_TYPE_WINT_T])dnl
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||||
|
AC_REQUIRE([gt_TYPE_INTMAX_T])
|
||||||
|
AC_REQUIRE([gt_PRINTF_POSIX])
|
||||||
|
AC_REQUIRE([gl_GLIBC21])dnl
|
||||||
|
AC_REQUIRE([gl_XSIZE])dnl
|
||||||
|
AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl
|
||||||
|
AC_REQUIRE([gt_INTL_MACOSX])dnl
|
||||||
|
|
||||||
|
dnl Support for automake's --enable-silent-rules.
|
||||||
|
case "$enable_silent_rules" in
|
||||||
|
yes) INTL_DEFAULT_VERBOSITY=0;;
|
||||||
|
no) INTL_DEFAULT_VERBOSITY=1;;
|
||||||
|
*) INTL_DEFAULT_VERBOSITY=1;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([INTL_DEFAULT_VERBOSITY])
|
||||||
|
|
||||||
|
AC_CHECK_TYPE([ptrdiff_t], ,
|
||||||
|
[AC_DEFINE([ptrdiff_t], [long],
|
||||||
|
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
|
||||||
|
])
|
||||||
|
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
|
||||||
|
AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
|
||||||
|
snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
|
||||||
|
|
||||||
|
dnl Use the _snprintf function only if it is declared (because on NetBSD it
|
||||||
|
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
|
||||||
|
gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
|
||||||
|
gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
|
||||||
|
|
||||||
|
dnl Use the *_unlocked functions only if they are declared.
|
||||||
|
dnl (because some of them were defined without being declared in Solaris
|
||||||
|
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
|
||||||
|
dnl on Solaris 2.5.1 to run on Solaris 2.6).
|
||||||
|
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
|
||||||
|
gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
|
||||||
|
|
||||||
|
case $gt_cv_func_printf_posix in
|
||||||
|
*yes) HAVE_POSIX_PRINTF=1 ;;
|
||||||
|
*) HAVE_POSIX_PRINTF=0 ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([HAVE_POSIX_PRINTF])
|
||||||
|
if test "$ac_cv_func_asprintf" = yes; then
|
||||||
|
HAVE_ASPRINTF=1
|
||||||
|
else
|
||||||
|
HAVE_ASPRINTF=0
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_ASPRINTF])
|
||||||
|
if test "$ac_cv_func_snprintf" = yes; then
|
||||||
|
HAVE_SNPRINTF=1
|
||||||
|
else
|
||||||
|
HAVE_SNPRINTF=0
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_SNPRINTF])
|
||||||
|
if test "$ac_cv_func_newlocale" = yes; then
|
||||||
|
HAVE_NEWLOCALE=1
|
||||||
|
else
|
||||||
|
HAVE_NEWLOCALE=0
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_NEWLOCALE])
|
||||||
|
if test "$ac_cv_func_wprintf" = yes; then
|
||||||
|
HAVE_WPRINTF=1
|
||||||
|
else
|
||||||
|
HAVE_WPRINTF=0
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_WPRINTF])
|
||||||
|
|
||||||
|
AM_LANGINFO_CODESET
|
||||||
|
gt_LC_MESSAGES
|
||||||
|
|
||||||
|
dnl Compilation on mingw and Cygwin needs special Makefile rules, because
|
||||||
|
dnl 1. when we install a shared library, we must arrange to export
|
||||||
|
dnl auxiliary pointer variables for every exported variable,
|
||||||
|
dnl 2. when we install a shared library and a static library simultaneously,
|
||||||
|
dnl the include file specifies __declspec(dllimport) and therefore we
|
||||||
|
dnl must arrange to define the auxiliary pointer variables for the
|
||||||
|
dnl exported variables _also_ in the static library.
|
||||||
|
if test "$enable_shared" = yes; then
|
||||||
|
case "$host_os" in
|
||||||
|
mingw* | cygwin*) is_woe32dll=yes ;;
|
||||||
|
*) is_woe32dll=no ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
is_woe32dll=no
|
||||||
|
fi
|
||||||
|
WOE32DLL=$is_woe32dll
|
||||||
|
AC_SUBST([WOE32DLL])
|
||||||
|
|
||||||
|
dnl On mingw and Cygwin, we can activate special Makefile rules which add
|
||||||
|
dnl version information to the shared libraries and executables.
|
||||||
|
case "$host_os" in
|
||||||
|
mingw* | cygwin*) is_woe32=yes ;;
|
||||||
|
*) is_woe32=no ;;
|
||||||
|
esac
|
||||||
|
WOE32=$is_woe32
|
||||||
|
AC_SUBST([WOE32])
|
||||||
|
if test $WOE32 = yes; then
|
||||||
|
dnl Check for a program that compiles Windows resource files.
|
||||||
|
AC_CHECK_TOOL([WINDRES], [windres])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Determine whether when creating a library, "-lc" should be passed to
|
||||||
|
dnl libtool or not. On many platforms, it is required for the libtool option
|
||||||
|
dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool
|
||||||
|
dnl in the *.la files - makes it impossible to create multithreaded programs,
|
||||||
|
dnl because libtool also reorders the -lc to come before the -pthread, and
|
||||||
|
dnl this disables pthread_create() <http://docs.hp.com/en/1896/pthreads.html>.
|
||||||
|
case "$host_os" in
|
||||||
|
hpux*) LTLIBC="" ;;
|
||||||
|
*) LTLIBC="-lc" ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([LTLIBC])
|
||||||
|
|
||||||
|
dnl Rename some macros and functions used for locking.
|
||||||
|
AH_BOTTOM([
|
||||||
|
#define __libc_lock_t gl_lock_t
|
||||||
|
#define __libc_lock_define gl_lock_define
|
||||||
|
#define __libc_lock_define_initialized gl_lock_define_initialized
|
||||||
|
#define __libc_lock_init gl_lock_init
|
||||||
|
#define __libc_lock_lock gl_lock_lock
|
||||||
|
#define __libc_lock_unlock gl_lock_unlock
|
||||||
|
#define __libc_lock_recursive_t gl_recursive_lock_t
|
||||||
|
#define __libc_lock_define_recursive gl_recursive_lock_define
|
||||||
|
#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
|
||||||
|
#define __libc_lock_init_recursive gl_recursive_lock_init
|
||||||
|
#define __libc_lock_lock_recursive gl_recursive_lock_lock
|
||||||
|
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
|
||||||
|
#define glthread_in_use libintl_thread_in_use
|
||||||
|
#define glthread_lock_init_func libintl_lock_init_func
|
||||||
|
#define glthread_lock_lock_func libintl_lock_lock_func
|
||||||
|
#define glthread_lock_unlock_func libintl_lock_unlock_func
|
||||||
|
#define glthread_lock_destroy_func libintl_lock_destroy_func
|
||||||
|
#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded
|
||||||
|
#define glthread_rwlock_init_func libintl_rwlock_init_func
|
||||||
|
#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded
|
||||||
|
#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func
|
||||||
|
#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded
|
||||||
|
#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func
|
||||||
|
#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded
|
||||||
|
#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func
|
||||||
|
#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded
|
||||||
|
#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func
|
||||||
|
#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded
|
||||||
|
#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func
|
||||||
|
#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded
|
||||||
|
#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func
|
||||||
|
#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded
|
||||||
|
#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func
|
||||||
|
#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded
|
||||||
|
#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func
|
||||||
|
#define glthread_once_func libintl_once_func
|
||||||
|
#define glthread_once_singlethreaded libintl_once_singlethreaded
|
||||||
|
#define glthread_once_multithreaded libintl_once_multithreaded
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Checks for the core files of the intl subdirectory:
|
||||||
|
dnl dcigettext.c
|
||||||
|
dnl eval-plural.h
|
||||||
|
dnl explodename.c
|
||||||
|
dnl finddomain.c
|
||||||
|
dnl gettextP.h
|
||||||
|
dnl gmo.h
|
||||||
|
dnl hash-string.h hash-string.c
|
||||||
|
dnl l10nflist.c
|
||||||
|
dnl libgnuintl.h.in (except the *printf stuff)
|
||||||
|
dnl loadinfo.h
|
||||||
|
dnl loadmsgcat.c
|
||||||
|
dnl localealias.c
|
||||||
|
dnl log.c
|
||||||
|
dnl plural-exp.h plural-exp.c
|
||||||
|
dnl plural.y
|
||||||
|
dnl Used by libglocale.
|
||||||
|
AC_DEFUN([gt_INTL_SUBDIR_CORE],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_C_INLINE])dnl
|
||||||
|
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||||
|
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||||
|
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||||
|
AC_REQUIRE([gt_INTDIV0])dnl
|
||||||
|
AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
|
||||||
|
AC_REQUIRE([gt_INTTYPES_PRI])dnl
|
||||||
|
AC_REQUIRE([gl_LOCK])dnl
|
||||||
|
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }]],
|
||||||
|
[[]])],
|
||||||
|
[AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
|
||||||
|
[Define to 1 if the compiler understands __builtin_expect.])])
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
|
||||||
|
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
|
||||||
|
stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \
|
||||||
|
argz_stringify argz_next __fsetlocking])
|
||||||
|
|
||||||
|
dnl Use the *_unlocked functions only if they are declared.
|
||||||
|
dnl (because some of them were defined without being declared in Solaris
|
||||||
|
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
|
||||||
|
dnl on Solaris 2.5.1 to run on Solaris 2.6).
|
||||||
|
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
|
||||||
|
gt_CHECK_DECL([feof_unlocked], [#include <stdio.h>])
|
||||||
|
gt_CHECK_DECL([fgets_unlocked], [#include <stdio.h>])
|
||||||
|
|
||||||
|
AM_ICONV
|
||||||
|
|
||||||
|
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 gt_CHECK_DECL(FUNC, INCLUDES)
|
||||||
|
dnl Check whether a function is declared.
|
||||||
|
AC_DEFUN([gt_CHECK_DECL],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1],
|
||||||
|
[AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[$2]],
|
||||||
|
[[
|
||||||
|
#ifndef $1
|
||||||
|
char *p = (char *) $1;
|
||||||
|
#endif
|
||||||
|
]])],
|
||||||
|
[ac_cv_have_decl_$1=yes],
|
||||||
|
[ac_cv_have_decl_$1=no])])
|
||||||
|
if test $ac_cv_have_decl_$1 = yes; then
|
||||||
|
gt_value=1
|
||||||
|
else
|
||||||
|
gt_value=0
|
||||||
|
fi
|
||||||
|
AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
|
||||||
|
[Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
|
||||||
|
])
|
19
m4/intldir.m4
Normal file
19
m4/intldir.m4
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# intldir.m4 serial 2 (gettext-0.18)
|
||||||
|
dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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.
|
||||||
|
|
||||||
|
AC_PREREQ([2.52])
|
||||||
|
|
||||||
|
dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory.
|
||||||
|
AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], [])
|
56
m4/intlmacosx.m4
Normal file
56
m4/intlmacosx.m4
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# intlmacosx.m4 serial 4 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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 Checks for special options needed on MacOS X.
|
||||||
|
dnl Defines INTL_MACOSX_LIBS.
|
||||||
|
AC_DEFUN([gt_INTL_MACOSX],
|
||||||
|
[
|
||||||
|
dnl Check for API introduced in MacOS X 10.2.
|
||||||
|
AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
|
||||||
|
[gt_cv_func_CFPreferencesCopyAppValue],
|
||||||
|
[gt_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[#include <CoreFoundation/CFPreferences.h>]],
|
||||||
|
[[CFPreferencesCopyAppValue(NULL, NULL)]])],
|
||||||
|
[gt_cv_func_CFPreferencesCopyAppValue=yes],
|
||||||
|
[gt_cv_func_CFPreferencesCopyAppValue=no])
|
||||||
|
LIBS="$gt_save_LIBS"])
|
||||||
|
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
|
||||||
|
AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
|
||||||
|
[Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
|
||||||
|
fi
|
||||||
|
dnl Check for API introduced in MacOS X 10.3.
|
||||||
|
AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
|
||||||
|
[gt_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[#include <CoreFoundation/CFLocale.h>]],
|
||||||
|
[[CFLocaleCopyCurrent();]])],
|
||||||
|
[gt_cv_func_CFLocaleCopyCurrent=yes],
|
||||||
|
[gt_cv_func_CFLocaleCopyCurrent=no])
|
||||||
|
LIBS="$gt_save_LIBS"])
|
||||||
|
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||||
|
AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
|
||||||
|
[Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
|
||||||
|
fi
|
||||||
|
INTL_MACOSX_LIBS=
|
||||||
|
if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||||
|
INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||||
|
fi
|
||||||
|
AC_SUBST([INTL_MACOSX_LIBS])
|
||||||
|
])
|
36
m4/intmax.m4
Normal file
36
m4/intmax.m4
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# intmax.m4 serial 6 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2002-2005, 2008-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
dnl Test whether the system has the 'intmax_t' type, but don't attempt to
|
||||||
|
dnl find a replacement if it is lacking.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_TYPE_INTMAX_T],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||||
|
AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
|
||||||
|
[AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#if HAVE_STDINT_H_WITH_UINTMAX
|
||||||
|
#include <stdint.h>
|
||||||
|
#endif
|
||||||
|
#if HAVE_INTTYPES_H_WITH_UINTMAX
|
||||||
|
#include <inttypes.h>
|
||||||
|
#endif
|
||||||
|
]],
|
||||||
|
[[intmax_t x = -1;
|
||||||
|
return !x;]])],
|
||||||
|
[gt_cv_c_intmax_t=yes],
|
||||||
|
[gt_cv_c_intmax_t=no])])
|
||||||
|
if test $gt_cv_c_intmax_t = yes; then
|
||||||
|
AC_DEFINE([HAVE_INTMAX_T], [1],
|
||||||
|
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
|
||||||
|
fi
|
||||||
|
])
|
42
m4/inttypes-pri.m4
Normal file
42
m4/inttypes-pri.m4
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# inttypes-pri.m4 serial 7 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_PREREQ([2.53])
|
||||||
|
|
||||||
|
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
|
||||||
|
# macros to non-string values. This is the case on AIX 4.3.3.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_INTTYPES_PRI],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS([inttypes.h])
|
||||||
|
if test $ac_cv_header_inttypes_h = yes; then
|
||||||
|
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
|
||||||
|
[gt_cv_inttypes_pri_broken],
|
||||||
|
[
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <inttypes.h>
|
||||||
|
#ifdef PRId32
|
||||||
|
char *p = PRId32;
|
||||||
|
#endif
|
||||||
|
]],
|
||||||
|
[[]])],
|
||||||
|
[gt_cv_inttypes_pri_broken=no],
|
||||||
|
[gt_cv_inttypes_pri_broken=yes])
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
if test "$gt_cv_inttypes_pri_broken" = yes; then
|
||||||
|
AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
|
||||||
|
[Define if <inttypes.h> exists and defines unusable PRI* macros.])
|
||||||
|
PRI_MACROS_BROKEN=1
|
||||||
|
else
|
||||||
|
PRI_MACROS_BROKEN=0
|
||||||
|
fi
|
||||||
|
AC_SUBST([PRI_MACROS_BROKEN])
|
||||||
|
])
|
35
m4/lcmessage.m4
Normal file
35
m4/lcmessage.m4
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# lcmessage.m4 serial 7 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation,
|
||||||
|
dnl Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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.
|
||||||
|
|
||||||
|
# Check whether LC_MESSAGES is available in <locale.h>.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_LC_MESSAGES],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES],
|
||||||
|
[AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[#include <locale.h>]],
|
||||||
|
[[return LC_MESSAGES]])],
|
||||||
|
[gt_cv_val_LC_MESSAGES=yes],
|
||||||
|
[gt_cv_val_LC_MESSAGES=no])])
|
||||||
|
if test $gt_cv_val_LC_MESSAGES = yes; then
|
||||||
|
AC_DEFINE([HAVE_LC_MESSAGES], [1],
|
||||||
|
[Define if your <locale.h> file defines LC_MESSAGES.])
|
||||||
|
fi
|
||||||
|
])
|
109
m4/lib-ld.m4
Normal file
109
m4/lib-ld.m4
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
# lib-ld.m4 serial 5 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl Subroutines of libtool.m4,
|
||||||
|
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
||||||
|
dnl with libtool.m4.
|
||||||
|
|
||||||
|
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
|
||||||
|
AC_DEFUN([AC_LIB_PROG_LD_GNU],
|
||||||
|
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
|
||||||
|
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||||
|
case `$LD -v 2>&1 </dev/null` in
|
||||||
|
*GNU* | *'with BFD'*)
|
||||||
|
acl_cv_prog_gnu_ld=yes ;;
|
||||||
|
*)
|
||||||
|
acl_cv_prog_gnu_ld=no ;;
|
||||||
|
esac])
|
||||||
|
with_gnu_ld=$acl_cv_prog_gnu_ld
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl From libtool-1.4. Sets the variable LD.
|
||||||
|
AC_DEFUN([AC_LIB_PROG_LD],
|
||||||
|
[AC_ARG_WITH([gnu-ld],
|
||||||
|
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||||
|
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
# Prepare PATH_SEPARATOR.
|
||||||
|
# The user is always right.
|
||||||
|
if test "${PATH_SEPARATOR+set}" != set; then
|
||||||
|
# Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
|
||||||
|
# contains only /bin. Note that ksh looks also at the FPATH variable,
|
||||||
|
# so we have to set that as well for the test.
|
||||||
|
PATH_SEPARATOR=:
|
||||||
|
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
|
||||||
|
&& { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
|
||||||
|
|| PATH_SEPARATOR=';'
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
ac_prog=ld
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
# Check if gcc -print-prog-name=ld gives a path.
|
||||||
|
AC_MSG_CHECKING([for ld used by GCC])
|
||||||
|
case $host in
|
||||||
|
*-*-mingw*)
|
||||||
|
# gcc leaves a trailing carriage return which upsets mingw
|
||||||
|
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||||
|
*)
|
||||||
|
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
|
||||||
|
esac
|
||||||
|
case $ac_prog in
|
||||||
|
# Accept absolute paths.
|
||||||
|
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||||
|
[re_direlt='/[^/][^/]*/\.\./']
|
||||||
|
# Canonicalize the path of ld
|
||||||
|
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||||
|
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||||
|
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||||
|
done
|
||||||
|
test -z "$LD" && LD="$ac_prog"
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
# If it fails, then pretend we aren't using GCC.
|
||||||
|
ac_prog=ld
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# If it is relative, then search for the first ld in PATH.
|
||||||
|
with_gnu_ld=unknown
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif test "$with_gnu_ld" = yes; then
|
||||||
|
AC_MSG_CHECKING([for GNU ld])
|
||||||
|
else
|
||||||
|
AC_MSG_CHECKING([for non-GNU ld])
|
||||||
|
fi
|
||||||
|
AC_CACHE_VAL([acl_cv_path_LD],
|
||||||
|
[if test -z "$LD"; then
|
||||||
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||||
|
for ac_dir in $PATH; do
|
||||||
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||||
|
acl_cv_path_LD="$ac_dir/$ac_prog"
|
||||||
|
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||||
|
# but apparently some GNU ld's only accept -v.
|
||||||
|
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||||
|
case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
|
||||||
|
*GNU* | *'with BFD'*)
|
||||||
|
test "$with_gnu_ld" != no && break ;;
|
||||||
|
*)
|
||||||
|
test "$with_gnu_ld" != yes && break ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$ac_save_ifs"
|
||||||
|
else
|
||||||
|
acl_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||||
|
fi])
|
||||||
|
LD="$acl_cv_path_LD"
|
||||||
|
if test -n "$LD"; then
|
||||||
|
AC_MSG_RESULT([$LD])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||||
|
AC_LIB_PROG_LD_GNU
|
||||||
|
])
|
775
m4/lib-link.m4
Normal file
775
m4/lib-link.m4
Normal file
|
@ -0,0 +1,775 @@
|
||||||
|
# lib-link.m4 serial 25 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_PREREQ([2.54])
|
||||||
|
|
||||||
|
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
||||||
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
||||||
|
dnl augments the CPPFLAGS variable.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
|
||||||
|
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
pushdef([Name],[m4_translit([$1],[./+-], [____])])
|
||||||
|
pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
|
||||||
|
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
||||||
|
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
|
||||||
|
])
|
||||||
|
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
|
||||||
|
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
|
||||||
|
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
|
||||||
|
LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
||||||
|
AC_SUBST([LIB]NAME)
|
||||||
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME[_PREFIX])
|
||||||
|
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
|
||||||
|
dnl results of this search when this library appears as a dependency.
|
||||||
|
HAVE_LIB[]NAME=yes
|
||||||
|
popdef([NAME])
|
||||||
|
popdef([Name])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
|
||||||
|
dnl searches for libname and the libraries corresponding to explicit and
|
||||||
|
dnl implicit dependencies, together with the specified include files and
|
||||||
|
dnl the ability to compile and link the specified testcode. The missing-message
|
||||||
|
dnl defaults to 'no' and may contain additional hints for the user.
|
||||||
|
dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
|
||||||
|
dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
|
||||||
|
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
|
||||||
|
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
|
||||||
|
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
|
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
pushdef([Name],[m4_translit([$1],[./+-], [____])])
|
||||||
|
pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
|
||||||
|
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
|
||||||
|
dnl accordingly.
|
||||||
|
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
||||||
|
|
||||||
|
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
|
||||||
|
dnl because if the user has installed lib[]Name and not disabled its use
|
||||||
|
dnl via --without-lib[]Name-prefix, he wants to use it.
|
||||||
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
|
||||||
|
ac_save_LIBS="$LIBS"
|
||||||
|
dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
|
||||||
|
dnl because these -l options might require -L options that are present in
|
||||||
|
dnl LIBS. -l options benefit only from the -L options listed before it.
|
||||||
|
dnl Otherwise, add it to the front of LIBS, because it may be a static
|
||||||
|
dnl library that depends on another static library that is present in LIBS.
|
||||||
|
dnl Static libraries benefit only from the static libraries listed after
|
||||||
|
dnl it.
|
||||||
|
case " $LIB[]NAME" in
|
||||||
|
*" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
|
||||||
|
*) LIBS="$LIB[]NAME $LIBS" ;;
|
||||||
|
esac
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[$3]], [[$4]])],
|
||||||
|
[ac_cv_lib[]Name=yes],
|
||||||
|
[ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
|
||||||
|
LIBS="$ac_save_LIBS"
|
||||||
|
])
|
||||||
|
if test "$ac_cv_lib[]Name" = yes; then
|
||||||
|
HAVE_LIB[]NAME=yes
|
||||||
|
AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
|
||||||
|
AC_MSG_CHECKING([how to link with lib[]$1])
|
||||||
|
AC_MSG_RESULT([$LIB[]NAME])
|
||||||
|
else
|
||||||
|
HAVE_LIB[]NAME=no
|
||||||
|
dnl If $LIB[]NAME didn't lead to a usable library, we don't need
|
||||||
|
dnl $INC[]NAME either.
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||||
|
LIB[]NAME=
|
||||||
|
LTLIB[]NAME=
|
||||||
|
LIB[]NAME[]_PREFIX=
|
||||||
|
fi
|
||||||
|
AC_SUBST([HAVE_LIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME)
|
||||||
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME[_PREFIX])
|
||||||
|
popdef([NAME])
|
||||||
|
popdef([Name])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Determine the platform dependent parameters needed to use rpath:
|
||||||
|
dnl acl_libext,
|
||||||
|
dnl acl_shlibext,
|
||||||
|
dnl acl_hardcode_libdir_flag_spec,
|
||||||
|
dnl acl_hardcode_libdir_separator,
|
||||||
|
dnl acl_hardcode_direct,
|
||||||
|
dnl acl_hardcode_minus_L.
|
||||||
|
AC_DEFUN([AC_LIB_RPATH],
|
||||||
|
[
|
||||||
|
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
|
||||||
|
m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
|
||||||
|
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
|
||||||
|
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
|
||||||
|
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
|
||||||
|
AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
|
||||||
|
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
|
||||||
|
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
|
||||||
|
. ./conftest.sh
|
||||||
|
rm -f ./conftest.sh
|
||||||
|
acl_cv_rpath=done
|
||||||
|
])
|
||||||
|
wl="$acl_cv_wl"
|
||||||
|
acl_libext="$acl_cv_libext"
|
||||||
|
acl_shlibext="$acl_cv_shlibext"
|
||||||
|
acl_libname_spec="$acl_cv_libname_spec"
|
||||||
|
acl_library_names_spec="$acl_cv_library_names_spec"
|
||||||
|
acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
|
||||||
|
acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
|
||||||
|
acl_hardcode_direct="$acl_cv_hardcode_direct"
|
||||||
|
acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
|
||||||
|
dnl Determine whether the user wants rpath handling at all.
|
||||||
|
AC_ARG_ENABLE([rpath],
|
||||||
|
[ --disable-rpath do not hardcode runtime library paths],
|
||||||
|
:, enable_rpath=yes)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_FROMPACKAGE(name, package)
|
||||||
|
dnl declares that libname comes from the given package. The configure file
|
||||||
|
dnl will then not have a --with-libname-prefix option but a
|
||||||
|
dnl --with-package-prefix option. Several libraries can come from the same
|
||||||
|
dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
|
||||||
|
dnl macro call that searches for libname.
|
||||||
|
AC_DEFUN([AC_LIB_FROMPACKAGE],
|
||||||
|
[
|
||||||
|
pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
define([acl_frompackage_]NAME, [$2])
|
||||||
|
popdef([NAME])
|
||||||
|
pushdef([PACK],[$2])
|
||||||
|
pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
define([acl_libsinpackage_]PACKUP,
|
||||||
|
m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
|
||||||
|
popdef([PACKUP])
|
||||||
|
popdef([PACK])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
|
||||||
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
|
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
||||||
|
dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
|
||||||
|
dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
|
pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
|
||||||
|
pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
|
||||||
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
|
||||||
|
pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
|
||||||
|
dnl Autoconf >= 2.61 supports dots in --with options.
|
||||||
|
pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
|
||||||
|
dnl By default, look in $includedir and $libdir.
|
||||||
|
use_additional=yes
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
AC_ARG_WITH(P_A_C_K[-prefix],
|
||||||
|
[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
|
||||||
|
--without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
|
||||||
|
[
|
||||||
|
if test "X$withval" = "Xno"; then
|
||||||
|
use_additional=no
|
||||||
|
else
|
||||||
|
if test "X$withval" = "X"; then
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
else
|
||||||
|
additional_includedir="$withval/include"
|
||||||
|
additional_libdir="$withval/$acl_libdirstem"
|
||||||
|
if test "$acl_libdirstem2" != "$acl_libdirstem" \
|
||||||
|
&& ! test -d "$withval/$acl_libdirstem"; then
|
||||||
|
additional_libdir="$withval/$acl_libdirstem2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
dnl Search the library and its dependencies in $additional_libdir and
|
||||||
|
dnl $LDFLAGS. Using breadth-first-seach.
|
||||||
|
LIB[]NAME=
|
||||||
|
LTLIB[]NAME=
|
||||||
|
INC[]NAME=
|
||||||
|
LIB[]NAME[]_PREFIX=
|
||||||
|
dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
|
||||||
|
dnl computed. So it has to be reset here.
|
||||||
|
HAVE_LIB[]NAME=
|
||||||
|
rpathdirs=
|
||||||
|
ltrpathdirs=
|
||||||
|
names_already_handled=
|
||||||
|
names_next_round='$1 $2'
|
||||||
|
while test -n "$names_next_round"; do
|
||||||
|
names_this_round="$names_next_round"
|
||||||
|
names_next_round=
|
||||||
|
for name in $names_this_round; do
|
||||||
|
already_handled=
|
||||||
|
for n in $names_already_handled; do
|
||||||
|
if test "$n" = "$name"; then
|
||||||
|
already_handled=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$already_handled"; then
|
||||||
|
names_already_handled="$names_already_handled $name"
|
||||||
|
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
|
||||||
|
dnl or AC_LIB_HAVE_LINKFLAGS call.
|
||||||
|
uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
|
||||||
|
eval value=\"\$HAVE_LIB$uppername\"
|
||||||
|
if test -n "$value"; then
|
||||||
|
if test "$value" = yes; then
|
||||||
|
eval value=\"\$LIB$uppername\"
|
||||||
|
test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
|
||||||
|
eval value=\"\$LTLIB$uppername\"
|
||||||
|
test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
|
||||||
|
else
|
||||||
|
dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
|
||||||
|
dnl that this library doesn't exist. So just drop it.
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Search the library lib$name in $additional_libdir and $LDFLAGS
|
||||||
|
dnl and the already constructed $LIBNAME/$LTLIBNAME.
|
||||||
|
found_dir=
|
||||||
|
found_la=
|
||||||
|
found_so=
|
||||||
|
found_a=
|
||||||
|
eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
|
||||||
|
if test -n "$acl_shlibext"; then
|
||||||
|
shrext=".$acl_shlibext" # typically: shrext=.so
|
||||||
|
else
|
||||||
|
shrext=
|
||||||
|
fi
|
||||||
|
if test $use_additional = yes; then
|
||||||
|
dir="$additional_libdir"
|
||||||
|
dnl The same code as in the loop below:
|
||||||
|
dnl First look for a shared library.
|
||||||
|
if test -n "$acl_shlibext"; then
|
||||||
|
if test -f "$dir/$libname$shrext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext"
|
||||||
|
else
|
||||||
|
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||||
|
ver=`(cd "$dir" && \
|
||||||
|
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||||
|
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||||
|
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||||
|
| sed 1q ) 2>/dev/null`
|
||||||
|
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext.$ver"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
eval library_names=\"$acl_library_names_spec\"
|
||||||
|
for f in $library_names; do
|
||||||
|
if test -f "$dir/$f"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Then look for a static library.
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
if test -f "$dir/$libname.$acl_libext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_a="$dir/$libname.$acl_libext"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
if test -f "$dir/$libname.la"; then
|
||||||
|
found_la="$dir/$libname.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
case "$x" in
|
||||||
|
-L*)
|
||||||
|
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
||||||
|
dnl First look for a shared library.
|
||||||
|
if test -n "$acl_shlibext"; then
|
||||||
|
if test -f "$dir/$libname$shrext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext"
|
||||||
|
else
|
||||||
|
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||||
|
ver=`(cd "$dir" && \
|
||||||
|
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||||
|
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||||
|
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||||
|
| sed 1q ) 2>/dev/null`
|
||||||
|
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext.$ver"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
eval library_names=\"$acl_library_names_spec\"
|
||||||
|
for f in $library_names; do
|
||||||
|
if test -f "$dir/$f"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Then look for a static library.
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
if test -f "$dir/$libname.$acl_libext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_a="$dir/$libname.$acl_libext"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
if test -f "$dir/$libname.la"; then
|
||||||
|
found_la="$dir/$libname.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
dnl Found the library.
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
|
||||||
|
if test "X$found_so" != "X"; then
|
||||||
|
dnl Linking with a shared library. We attempt to hardcode its
|
||||||
|
dnl directory into the executable's runpath, unless it's the
|
||||||
|
dnl standard /usr/lib.
|
||||||
|
if test "$enable_rpath" = no \
|
||||||
|
|| test "X$found_dir" = "X/usr/$acl_libdirstem" \
|
||||||
|
|| test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
|
||||||
|
dnl No hardcoding is needed.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
dnl Use an explicit option to hardcode DIR into the resulting
|
||||||
|
dnl binary.
|
||||||
|
dnl Potentially add DIR to ltrpathdirs.
|
||||||
|
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $ltrpathdirs; do
|
||||||
|
if test "X$x" = "X$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
ltrpathdirs="$ltrpathdirs $found_dir"
|
||||||
|
fi
|
||||||
|
dnl The hardcoding into $LIBNAME is system dependent.
|
||||||
|
if test "$acl_hardcode_direct" = yes; then
|
||||||
|
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
|
||||||
|
dnl resulting binary.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
|
||||||
|
dnl Use an explicit option to hardcode DIR into the resulting
|
||||||
|
dnl binary.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
dnl Potentially add DIR to rpathdirs.
|
||||||
|
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $rpathdirs; do
|
||||||
|
if test "X$x" = "X$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
rpathdirs="$rpathdirs $found_dir"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Rely on "-L$found_dir".
|
||||||
|
dnl But don't add it if it's already contained in the LDFLAGS
|
||||||
|
dnl or the already constructed $LIBNAME
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$found_dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
|
||||||
|
fi
|
||||||
|
if test "$acl_hardcode_minus_L" != no; then
|
||||||
|
dnl FIXME: Not sure whether we should use
|
||||||
|
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
||||||
|
dnl here.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
|
else
|
||||||
|
dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
|
||||||
|
dnl here, because this doesn't fit in flags passed to the
|
||||||
|
dnl compiler. So give up. No hardcoding. This affects only
|
||||||
|
dnl very old systems.
|
||||||
|
dnl FIXME: Not sure whether we should use
|
||||||
|
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
||||||
|
dnl here.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test "X$found_a" != "X"; then
|
||||||
|
dnl Linking with a static library.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
|
||||||
|
else
|
||||||
|
dnl We shouldn't come here, but anyway it's good to have a
|
||||||
|
dnl fallback.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Assume the include files are nearby.
|
||||||
|
additional_includedir=
|
||||||
|
case "$found_dir" in
|
||||||
|
*/$acl_libdirstem | */$acl_libdirstem/)
|
||||||
|
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
|
||||||
|
if test "$name" = '$1'; then
|
||||||
|
LIB[]NAME[]_PREFIX="$basedir"
|
||||||
|
fi
|
||||||
|
additional_includedir="$basedir/include"
|
||||||
|
;;
|
||||||
|
*/$acl_libdirstem2 | */$acl_libdirstem2/)
|
||||||
|
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
|
||||||
|
if test "$name" = '$1'; then
|
||||||
|
LIB[]NAME[]_PREFIX="$basedir"
|
||||||
|
fi
|
||||||
|
additional_includedir="$basedir/include"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test "X$additional_includedir" != "X"; then
|
||||||
|
dnl Potentially add $additional_includedir to $INCNAME.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/include,
|
||||||
|
dnl 2. if it's /usr/local/include and we are using GCC on Linux,
|
||||||
|
dnl 3. if it's already present in $CPPFLAGS or the already
|
||||||
|
dnl constructed $INCNAME,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_includedir" != "X/usr/include"; then
|
||||||
|
haveit=
|
||||||
|
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
for x in $CPPFLAGS $INC[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-I$additional_includedir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_includedir"; then
|
||||||
|
dnl Really add $additional_includedir to $INCNAME.
|
||||||
|
INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Look for dependencies.
|
||||||
|
if test -n "$found_la"; then
|
||||||
|
dnl Read the .la file. It defines the variables
|
||||||
|
dnl dlname, library_names, old_library, dependency_libs, current,
|
||||||
|
dnl age, revision, installed, dlopen, dlpreopen, libdir.
|
||||||
|
save_libdir="$libdir"
|
||||||
|
case "$found_la" in
|
||||||
|
*/* | *\\*) . "$found_la" ;;
|
||||||
|
*) . "./$found_la" ;;
|
||||||
|
esac
|
||||||
|
libdir="$save_libdir"
|
||||||
|
dnl We use only dependency_libs.
|
||||||
|
for dep in $dependency_libs; do
|
||||||
|
case "$dep" in
|
||||||
|
-L*)
|
||||||
|
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
|
||||||
|
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/lib,
|
||||||
|
dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
|
||||||
|
dnl 3. if it's already present in $LDFLAGS or the already
|
||||||
|
dnl constructed $LIBNAME,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
|
||||||
|
&& test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
|
||||||
|
haveit=
|
||||||
|
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
|
||||||
|
|| test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LIBNAME.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LTLIBNAME.
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-R*)
|
||||||
|
dir=`echo "X$dep" | sed -e 's/^X-R//'`
|
||||||
|
if test "$enable_rpath" != no; then
|
||||||
|
dnl Potentially add DIR to rpathdirs.
|
||||||
|
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $rpathdirs; do
|
||||||
|
if test "X$x" = "X$dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
dnl Potentially add DIR to ltrpathdirs.
|
||||||
|
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
||||||
|
haveit=
|
||||||
|
for x in $ltrpathdirs; do
|
||||||
|
if test "X$x" = "X$dir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
ltrpathdirs="$ltrpathdirs $dir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
dnl Handle this in the next round.
|
||||||
|
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
|
||||||
|
;;
|
||||||
|
*.la)
|
||||||
|
dnl Handle this in the next round. Throw away the .la's
|
||||||
|
dnl directory; it is already contained in a preceding -L
|
||||||
|
dnl option.
|
||||||
|
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
dnl Most likely an immediate library name.
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dnl Didn't find the library; assume it is in the system directories
|
||||||
|
dnl known to the linker and runtime loader. (All the system
|
||||||
|
dnl directories known to the linker should also be known to the
|
||||||
|
dnl runtime loader, otherwise the system is severely misconfigured.)
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
if test "X$rpathdirs" != "X"; then
|
||||||
|
if test -n "$acl_hardcode_libdir_separator"; then
|
||||||
|
dnl Weird platform: only the last -rpath option counts, the user must
|
||||||
|
dnl pass all path elements in one option. We can arrange that for a
|
||||||
|
dnl single library, but not when more than one $LIBNAMEs are used.
|
||||||
|
alldirs=
|
||||||
|
for found_dir in $rpathdirs; do
|
||||||
|
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
|
||||||
|
done
|
||||||
|
dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$alldirs"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
|
else
|
||||||
|
dnl The -rpath options are cumulative.
|
||||||
|
for found_dir in $rpathdirs; do
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$found_dir"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$ltrpathdirs" != "X"; then
|
||||||
|
dnl When using libtool, the option that works for both libraries and
|
||||||
|
dnl executables is -R. The -R options are cumulative.
|
||||||
|
for found_dir in $ltrpathdirs; do
|
||||||
|
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
popdef([P_A_C_K])
|
||||||
|
popdef([PACKLIBS])
|
||||||
|
popdef([PACKUP])
|
||||||
|
popdef([PACK])
|
||||||
|
popdef([NAME])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
|
||||||
|
dnl unless already present in VAR.
|
||||||
|
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
|
||||||
|
dnl contains two or three consecutive elements that belong together.
|
||||||
|
AC_DEFUN([AC_LIB_APPENDTOVAR],
|
||||||
|
[
|
||||||
|
for element in [$2]; do
|
||||||
|
haveit=
|
||||||
|
for x in $[$1]; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X$element"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
[$1]="${[$1]}${[$1]:+ }$element"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl For those cases where a variable contains several -L and -l options
|
||||||
|
dnl referring to unknown libraries and directories, this macro determines the
|
||||||
|
dnl necessary additional linker options for the runtime path.
|
||||||
|
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
|
||||||
|
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
|
||||||
|
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
|
||||||
|
dnl otherwise linking without libtool is assumed.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
|
$1=
|
||||||
|
if test "$enable_rpath" != no; then
|
||||||
|
if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
|
||||||
|
dnl Use an explicit option to hardcode directories into the resulting
|
||||||
|
dnl binary.
|
||||||
|
rpathdirs=
|
||||||
|
next=
|
||||||
|
for opt in $2; do
|
||||||
|
if test -n "$next"; then
|
||||||
|
dir="$next"
|
||||||
|
dnl No need to hardcode the standard /usr/lib.
|
||||||
|
if test "X$dir" != "X/usr/$acl_libdirstem" \
|
||||||
|
&& test "X$dir" != "X/usr/$acl_libdirstem2"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
next=
|
||||||
|
else
|
||||||
|
case $opt in
|
||||||
|
-L) next=yes ;;
|
||||||
|
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
|
||||||
|
dnl No need to hardcode the standard /usr/lib.
|
||||||
|
if test "X$dir" != "X/usr/$acl_libdirstem" \
|
||||||
|
&& test "X$dir" != "X/usr/$acl_libdirstem2"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
next= ;;
|
||||||
|
*) next= ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test "X$rpathdirs" != "X"; then
|
||||||
|
if test -n ""$3""; then
|
||||||
|
dnl libtool is used for linking. Use -R options.
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
$1="${$1}${$1:+ }-R$dir"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
dnl The linker is used for linking directly.
|
||||||
|
if test -n "$acl_hardcode_libdir_separator"; then
|
||||||
|
dnl Weird platform: only the last -rpath option counts, the user
|
||||||
|
dnl must pass all path elements in one option.
|
||||||
|
alldirs=
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
|
||||||
|
done
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$alldirs"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
$1="$flag"
|
||||||
|
else
|
||||||
|
dnl The -rpath options are cumulative.
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$dir"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
$1="${$1}${$1:+ }$flag"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([$1])
|
||||||
|
])
|
224
m4/lib-prefix.m4
Normal file
224
m4/lib-prefix.m4
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
# lib-prefix.m4 serial 7 (gettext-0.18)
|
||||||
|
dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
|
||||||
|
dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
|
||||||
|
dnl require excessive bracketing.
|
||||||
|
ifdef([AC_HELP_STRING],
|
||||||
|
[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
|
||||||
|
[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
|
||||||
|
|
||||||
|
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
|
||||||
|
dnl to access previously installed libraries. The basic assumption is that
|
||||||
|
dnl a user will want packages to use other packages he previously installed
|
||||||
|
dnl with the same --prefix option.
|
||||||
|
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
|
||||||
|
dnl libraries, but is otherwise very convenient.
|
||||||
|
AC_DEFUN([AC_LIB_PREFIX],
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
||||||
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
|
dnl By default, look in $includedir and $libdir.
|
||||||
|
use_additional=yes
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
AC_LIB_ARG_WITH([lib-prefix],
|
||||||
|
[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
|
||||||
|
--without-lib-prefix don't search for libraries in includedir and libdir],
|
||||||
|
[
|
||||||
|
if test "X$withval" = "Xno"; then
|
||||||
|
use_additional=no
|
||||||
|
else
|
||||||
|
if test "X$withval" = "X"; then
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
|
eval additional_includedir=\"$includedir\"
|
||||||
|
eval additional_libdir=\"$libdir\"
|
||||||
|
])
|
||||||
|
else
|
||||||
|
additional_includedir="$withval/include"
|
||||||
|
additional_libdir="$withval/$acl_libdirstem"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test $use_additional = yes; then
|
||||||
|
dnl Potentially add $additional_includedir to $CPPFLAGS.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/include,
|
||||||
|
dnl 2. if it's already present in $CPPFLAGS,
|
||||||
|
dnl 3. if it's /usr/local/include and we are using GCC on Linux,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_includedir" != "X/usr/include"; then
|
||||||
|
haveit=
|
||||||
|
for x in $CPPFLAGS; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-I$additional_includedir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_includedir"; then
|
||||||
|
dnl Really add $additional_includedir to $CPPFLAGS.
|
||||||
|
CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
dnl Potentially add $additional_libdir to $LDFLAGS.
|
||||||
|
dnl But don't add it
|
||||||
|
dnl 1. if it's the standard /usr/lib,
|
||||||
|
dnl 2. if it's already present in $LDFLAGS,
|
||||||
|
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
||||||
|
dnl 4. if it doesn't exist as a directory.
|
||||||
|
if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
|
||||||
|
haveit=
|
||||||
|
for x in $LDFLAGS; do
|
||||||
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
|
if test "X$x" = "X-L$additional_libdir"; then
|
||||||
|
haveit=yes
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
case $host_os in
|
||||||
|
linux*) haveit=yes;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$haveit"; then
|
||||||
|
if test -d "$additional_libdir"; then
|
||||||
|
dnl Really add $additional_libdir to $LDFLAGS.
|
||||||
|
LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
|
||||||
|
dnl acl_final_exec_prefix, containing the values to which $prefix and
|
||||||
|
dnl $exec_prefix will expand at the end of the configure script.
|
||||||
|
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
|
||||||
|
[
|
||||||
|
dnl Unfortunately, prefix and exec_prefix get only finally determined
|
||||||
|
dnl at the end of configure.
|
||||||
|
if test "X$prefix" = "XNONE"; then
|
||||||
|
acl_final_prefix="$ac_default_prefix"
|
||||||
|
else
|
||||||
|
acl_final_prefix="$prefix"
|
||||||
|
fi
|
||||||
|
if test "X$exec_prefix" = "XNONE"; then
|
||||||
|
acl_final_exec_prefix='${prefix}'
|
||||||
|
else
|
||||||
|
acl_final_exec_prefix="$exec_prefix"
|
||||||
|
fi
|
||||||
|
acl_save_prefix="$prefix"
|
||||||
|
prefix="$acl_final_prefix"
|
||||||
|
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
|
||||||
|
prefix="$acl_save_prefix"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
|
||||||
|
dnl variables prefix and exec_prefix bound to the values they will have
|
||||||
|
dnl at the end of the configure script.
|
||||||
|
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
||||||
|
[
|
||||||
|
acl_save_prefix="$prefix"
|
||||||
|
prefix="$acl_final_prefix"
|
||||||
|
acl_save_exec_prefix="$exec_prefix"
|
||||||
|
exec_prefix="$acl_final_exec_prefix"
|
||||||
|
$1
|
||||||
|
exec_prefix="$acl_save_exec_prefix"
|
||||||
|
prefix="$acl_save_prefix"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_PREPARE_MULTILIB creates
|
||||||
|
dnl - a variable acl_libdirstem, containing the basename of the libdir, either
|
||||||
|
dnl "lib" or "lib64" or "lib/64",
|
||||||
|
dnl - a variable acl_libdirstem2, as a secondary possible value for
|
||||||
|
dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
|
||||||
|
dnl "lib/amd64".
|
||||||
|
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
|
||||||
|
[
|
||||||
|
dnl There is no formal standard regarding lib and lib64.
|
||||||
|
dnl On glibc systems, the current practice is that on a system supporting
|
||||||
|
dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
|
||||||
|
dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
|
||||||
|
dnl the compiler's default mode by looking at the compiler's library search
|
||||||
|
dnl path. If at least one of its elements ends in /lib64 or points to a
|
||||||
|
dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
|
||||||
|
dnl Otherwise we use the default, namely "lib".
|
||||||
|
dnl On Solaris systems, the current practice is that on a system supporting
|
||||||
|
dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
|
||||||
|
dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
|
||||||
|
dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
acl_libdirstem=lib
|
||||||
|
acl_libdirstem2=
|
||||||
|
case "$host_os" in
|
||||||
|
solaris*)
|
||||||
|
dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
|
||||||
|
dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
|
||||||
|
dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
|
||||||
|
dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
|
||||||
|
dnl symlink is missing, so we set acl_libdirstem2 too.
|
||||||
|
AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
|
||||||
|
[AC_EGREP_CPP([sixtyfour bits], [
|
||||||
|
#ifdef _LP64
|
||||||
|
sixtyfour bits
|
||||||
|
#endif
|
||||||
|
], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
|
||||||
|
])
|
||||||
|
if test $gl_cv_solaris_64bit = yes; then
|
||||||
|
acl_libdirstem=lib/64
|
||||||
|
case "$host_cpu" in
|
||||||
|
sparc*) acl_libdirstem2=lib/sparcv9 ;;
|
||||||
|
i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
|
||||||
|
if test -n "$searchpath"; then
|
||||||
|
acl_save_IFS="${IFS= }"; IFS=":"
|
||||||
|
for searchdir in $searchpath; do
|
||||||
|
if test -d "$searchdir"; then
|
||||||
|
case "$searchdir" in
|
||||||
|
*/lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
|
||||||
|
*/../ | */.. )
|
||||||
|
# Better ignore directories of this form. They are misleading.
|
||||||
|
;;
|
||||||
|
*) searchdir=`cd "$searchdir" && pwd`
|
||||||
|
case "$searchdir" in
|
||||||
|
*/lib64 ) acl_libdirstem=lib64 ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$acl_save_IFS"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
|
||||||
|
])
|
41
m4/lock.m4
Normal file
41
m4/lock.m4
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# lock.m4 serial 11 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_LOCK],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_THREADLIB])
|
||||||
|
if test "$gl_threads_api" = posix; then
|
||||||
|
# OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
|
||||||
|
# pthread_rwlock_* functions.
|
||||||
|
AC_CHECK_TYPE([pthread_rwlock_t],
|
||||||
|
[AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
|
||||||
|
[Define if the POSIX multithreading library has read/write locks.])],
|
||||||
|
[],
|
||||||
|
[#include <pthread.h>])
|
||||||
|
# glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
|
||||||
|
AC_COMPILE_IFELSE([
|
||||||
|
AC_LANG_PROGRAM(
|
||||||
|
[[#include <pthread.h>]],
|
||||||
|
[[
|
||||||
|
#if __FreeBSD__ == 4
|
||||||
|
error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
|
||||||
|
#else
|
||||||
|
int x = (int)PTHREAD_MUTEX_RECURSIVE;
|
||||||
|
return !x;
|
||||||
|
#endif
|
||||||
|
]])],
|
||||||
|
[AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1],
|
||||||
|
[Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
|
||||||
|
fi
|
||||||
|
gl_PREREQ_LOCK
|
||||||
|
])
|
||||||
|
|
||||||
|
# Prerequisites of lib/lock.c.
|
||||||
|
AC_DEFUN([gl_PREREQ_LOCK], [
|
||||||
|
AC_REQUIRE([AC_C_INLINE])
|
||||||
|
])
|
32
m4/nls.m4
Normal file
32
m4/nls.m4
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# nls.m4 serial 5 (gettext-0.18)
|
||||||
|
dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
|
||||||
|
dnl Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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.
|
||||||
|
|
||||||
|
AC_PREREQ([2.50])
|
||||||
|
|
||||||
|
AC_DEFUN([AM_NLS],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([whether NLS is requested])
|
||||||
|
dnl Default is enabled NLS
|
||||||
|
AC_ARG_ENABLE([nls],
|
||||||
|
[ --disable-nls do not use Native Language Support],
|
||||||
|
USE_NLS=$enableval, USE_NLS=yes)
|
||||||
|
AC_MSG_RESULT([$USE_NLS])
|
||||||
|
AC_SUBST([USE_NLS])
|
||||||
|
])
|
449
m4/po.m4
Normal file
449
m4/po.m4
Normal file
|
@ -0,0 +1,449 @@
|
||||||
|
# po.m4 serial 17 (gettext-0.18)
|
||||||
|
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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.
|
||||||
|
|
||||||
|
AC_PREREQ([2.50])
|
||||||
|
|
||||||
|
dnl Checks for all prerequisites of the po subdirectory.
|
||||||
|
AC_DEFUN([AM_PO_SUBDIRS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||||
|
AC_REQUIRE([AM_NLS])dnl
|
||||||
|
|
||||||
|
dnl Release version of the gettext macros. This is used to ensure that
|
||||||
|
dnl the gettext macros and po/Makefile.in.in are in sync.
|
||||||
|
AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
|
||||||
|
|
||||||
|
dnl Perform the following tests also if --disable-nls has been given,
|
||||||
|
dnl because they are needed for "make dist" to work.
|
||||||
|
|
||||||
|
dnl Search for GNU msgfmt in the PATH.
|
||||||
|
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
|
||||||
|
dnl The second test excludes FreeBSD msgfmt.
|
||||||
|
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||||
|
[$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
|
||||||
|
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||||
|
:)
|
||||||
|
AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
|
||||||
|
|
||||||
|
dnl Test whether it is GNU msgfmt >= 0.15.
|
||||||
|
changequote(,)dnl
|
||||||
|
case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
|
||||||
|
*) MSGFMT_015=$MSGFMT ;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST([MSGFMT_015])
|
||||||
|
changequote(,)dnl
|
||||||
|
case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
|
||||||
|
*) GMSGFMT_015=$GMSGFMT ;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST([GMSGFMT_015])
|
||||||
|
|
||||||
|
dnl Search for GNU xgettext 0.12 or newer in the PATH.
|
||||||
|
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
|
||||||
|
dnl The second test excludes FreeBSD xgettext.
|
||||||
|
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||||
|
[$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
|
||||||
|
(if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||||
|
:)
|
||||||
|
dnl Remove leftover from FreeBSD xgettext call.
|
||||||
|
rm -f messages.po
|
||||||
|
|
||||||
|
dnl Test whether it is GNU xgettext >= 0.15.
|
||||||
|
changequote(,)dnl
|
||||||
|
case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
|
||||||
|
*) XGETTEXT_015=$XGETTEXT ;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST([XGETTEXT_015])
|
||||||
|
|
||||||
|
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
|
||||||
|
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
|
||||||
|
[$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
|
||||||
|
|
||||||
|
dnl Installation directories.
|
||||||
|
dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
|
||||||
|
dnl have to define it here, so that it can be used in po/Makefile.
|
||||||
|
test -n "$localedir" || localedir='${datadir}/locale'
|
||||||
|
AC_SUBST([localedir])
|
||||||
|
|
||||||
|
dnl Support for AM_XGETTEXT_OPTION.
|
||||||
|
test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
|
||||||
|
AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
|
||||||
|
|
||||||
|
AC_CONFIG_COMMANDS([po-directories], [[
|
||||||
|
for ac_file in $CONFIG_FILES; do
|
||||||
|
# Support "outfile[:infile[:infile...]]"
|
||||||
|
case "$ac_file" in
|
||||||
|
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||||
|
esac
|
||||||
|
# PO directories have a Makefile.in generated from Makefile.in.in.
|
||||||
|
case "$ac_file" in */Makefile.in)
|
||||||
|
# Adjust a relative srcdir.
|
||||||
|
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||||
|
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||||
|
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||||
|
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||||
|
# In autoconf-2.50 it is called $srcdir.
|
||||||
|
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
|
||||||
|
/*) top_srcdir="$ac_given_srcdir" ;;
|
||||||
|
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||||
|
esac
|
||||||
|
# Treat a directory as a PO directory if and only if it has a
|
||||||
|
# POTFILES.in file. This allows packages to have multiple PO
|
||||||
|
# directories under different names or in different locations.
|
||||||
|
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
|
||||||
|
rm -f "$ac_dir/POTFILES"
|
||||||
|
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
|
||||||
|
cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
|
||||||
|
POMAKEFILEDEPS="POTFILES.in"
|
||||||
|
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
|
||||||
|
# on $ac_dir but don't depend on user-specified configuration
|
||||||
|
# parameters.
|
||||||
|
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
|
||||||
|
# The LINGUAS file contains the set of available languages.
|
||||||
|
if test -n "$OBSOLETE_ALL_LINGUAS"; then
|
||||||
|
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
|
||||||
|
fi
|
||||||
|
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||||
|
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||||
|
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||||
|
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
|
||||||
|
else
|
||||||
|
# The set of available languages was given in configure.in.
|
||||||
|
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||||
|
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
|
||||||
|
fi
|
||||||
|
# Compute POFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
|
||||||
|
# Compute UPDATEPOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
|
||||||
|
# Compute DUMMYPOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
|
||||||
|
# Compute GMOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) srcdirpre= ;;
|
||||||
|
*) srcdirpre='$(srcdir)/' ;;
|
||||||
|
esac
|
||||||
|
POFILES=
|
||||||
|
UPDATEPOFILES=
|
||||||
|
DUMMYPOFILES=
|
||||||
|
GMOFILES=
|
||||||
|
for lang in $ALL_LINGUAS; do
|
||||||
|
POFILES="$POFILES $srcdirpre$lang.po"
|
||||||
|
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
|
||||||
|
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
|
||||||
|
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
||||||
|
done
|
||||||
|
# CATALOGS depends on both $ac_dir and the user's LINGUAS
|
||||||
|
# environment variable.
|
||||||
|
INST_LINGUAS=
|
||||||
|
if test -n "$ALL_LINGUAS"; then
|
||||||
|
for presentlang in $ALL_LINGUAS; do
|
||||||
|
useit=no
|
||||||
|
if test "%UNSET%" != "$LINGUAS"; then
|
||||||
|
desiredlanguages="$LINGUAS"
|
||||||
|
else
|
||||||
|
desiredlanguages="$ALL_LINGUAS"
|
||||||
|
fi
|
||||||
|
for desiredlang in $desiredlanguages; do
|
||||||
|
# Use the presentlang catalog if desiredlang is
|
||||||
|
# a. equal to presentlang, or
|
||||||
|
# b. a variant of presentlang (because in this case,
|
||||||
|
# presentlang can be used as a fallback for messages
|
||||||
|
# which are not translated in the desiredlang catalog).
|
||||||
|
case "$desiredlang" in
|
||||||
|
"$presentlang"*) useit=yes;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $useit = yes; then
|
||||||
|
INST_LINGUAS="$INST_LINGUAS $presentlang"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
CATALOGS=
|
||||||
|
if test -n "$INST_LINGUAS"; then
|
||||||
|
for lang in $INST_LINGUAS; do
|
||||||
|
CATALOGS="$CATALOGS $lang.gmo"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
|
||||||
|
sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
|
||||||
|
for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
|
||||||
|
if test -f "$f"; then
|
||||||
|
case "$f" in
|
||||||
|
*.orig | *.bak | *~) ;;
|
||||||
|
*) cat "$f" >> "$ac_dir/Makefile" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done]],
|
||||||
|
[# Capture the value of obsolete ALL_LINGUAS because we need it to compute
|
||||||
|
# POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
|
||||||
|
# from automake < 1.5.
|
||||||
|
eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
|
||||||
|
# Capture the value of LINGUAS because we need it to compute CATALOGS.
|
||||||
|
LINGUAS="${LINGUAS-%UNSET%}"
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Postprocesses a Makefile in a directory containing PO files.
|
||||||
|
AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
|
||||||
|
[
|
||||||
|
# When this code is run, in config.status, two variables have already been
|
||||||
|
# set:
|
||||||
|
# - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
|
||||||
|
# - LINGUAS is the value of the environment variable LINGUAS at configure
|
||||||
|
# time.
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
# Adjust a relative srcdir.
|
||||||
|
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||||
|
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||||
|
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||||
|
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||||
|
# In autoconf-2.50 it is called $srcdir.
|
||||||
|
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
|
||||||
|
/*) top_srcdir="$ac_given_srcdir" ;;
|
||||||
|
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Find a way to echo strings without interpreting backslash.
|
||||||
|
if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
|
||||||
|
gt_echo='echo'
|
||||||
|
else
|
||||||
|
if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
|
||||||
|
gt_echo='printf %s\n'
|
||||||
|
else
|
||||||
|
echo_func () {
|
||||||
|
cat <<EOT
|
||||||
|
$*
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
gt_echo='echo_func'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A sed script that extracts the value of VARIABLE from a Makefile.
|
||||||
|
sed_x_variable='
|
||||||
|
# Test if the hold space is empty.
|
||||||
|
x
|
||||||
|
s/P/P/
|
||||||
|
x
|
||||||
|
ta
|
||||||
|
# Yes it was empty. Look if we have the expected variable definition.
|
||||||
|
/^[ ]*VARIABLE[ ]*=/{
|
||||||
|
# Seen the first line of the variable definition.
|
||||||
|
s/^[ ]*VARIABLE[ ]*=//
|
||||||
|
ba
|
||||||
|
}
|
||||||
|
bd
|
||||||
|
:a
|
||||||
|
# Here we are processing a line from the variable definition.
|
||||||
|
# Remove comment, more precisely replace it with a space.
|
||||||
|
s/#.*$/ /
|
||||||
|
# See if the line ends in a backslash.
|
||||||
|
tb
|
||||||
|
:b
|
||||||
|
s/\\$//
|
||||||
|
# Print the line, without the trailing backslash.
|
||||||
|
p
|
||||||
|
tc
|
||||||
|
# There was no trailing backslash. The end of the variable definition is
|
||||||
|
# reached. Clear the hold space.
|
||||||
|
s/^.*$//
|
||||||
|
x
|
||||||
|
bd
|
||||||
|
:c
|
||||||
|
# A trailing backslash means that the variable definition continues in the
|
||||||
|
# next line. Put a nonempty string into the hold space to indicate this.
|
||||||
|
s/^.*$/P/
|
||||||
|
x
|
||||||
|
:d
|
||||||
|
'
|
||||||
|
changequote([,])dnl
|
||||||
|
|
||||||
|
# Set POTFILES to the value of the Makefile variable POTFILES.
|
||||||
|
sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
|
||||||
|
POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
|
||||||
|
# Compute POTFILES_DEPS as
|
||||||
|
# $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
|
||||||
|
POTFILES_DEPS=
|
||||||
|
for file in $POTFILES; do
|
||||||
|
POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
|
||||||
|
done
|
||||||
|
POMAKEFILEDEPS=""
|
||||||
|
|
||||||
|
if test -n "$OBSOLETE_ALL_LINGUAS"; then
|
||||||
|
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
|
||||||
|
fi
|
||||||
|
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
|
||||||
|
# The LINGUAS file contains the set of available languages.
|
||||||
|
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||||
|
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
|
||||||
|
else
|
||||||
|
# Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
|
||||||
|
sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
|
||||||
|
ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
|
||||||
|
fi
|
||||||
|
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||||
|
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||||
|
# Compute POFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
|
||||||
|
# Compute UPDATEPOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
|
||||||
|
# Compute DUMMYPOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
|
||||||
|
# Compute GMOFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
|
||||||
|
# Compute PROPERTIESFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
|
||||||
|
# Compute CLASSFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
|
||||||
|
# Compute QMFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
|
||||||
|
# Compute MSGFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
|
||||||
|
# Compute RESOURCESDLLFILES
|
||||||
|
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
|
||||||
|
case "$ac_given_srcdir" in
|
||||||
|
.) srcdirpre= ;;
|
||||||
|
*) srcdirpre='$(srcdir)/' ;;
|
||||||
|
esac
|
||||||
|
POFILES=
|
||||||
|
UPDATEPOFILES=
|
||||||
|
DUMMYPOFILES=
|
||||||
|
GMOFILES=
|
||||||
|
PROPERTIESFILES=
|
||||||
|
CLASSFILES=
|
||||||
|
QMFILES=
|
||||||
|
MSGFILES=
|
||||||
|
RESOURCESDLLFILES=
|
||||||
|
for lang in $ALL_LINGUAS; do
|
||||||
|
POFILES="$POFILES $srcdirpre$lang.po"
|
||||||
|
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
|
||||||
|
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
|
||||||
|
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
||||||
|
PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
|
||||||
|
CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
|
||||||
|
QMFILES="$QMFILES $srcdirpre$lang.qm"
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||||
|
MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||||
|
RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
|
||||||
|
done
|
||||||
|
# CATALOGS depends on both $ac_dir and the user's LINGUAS
|
||||||
|
# environment variable.
|
||||||
|
INST_LINGUAS=
|
||||||
|
if test -n "$ALL_LINGUAS"; then
|
||||||
|
for presentlang in $ALL_LINGUAS; do
|
||||||
|
useit=no
|
||||||
|
if test "%UNSET%" != "$LINGUAS"; then
|
||||||
|
desiredlanguages="$LINGUAS"
|
||||||
|
else
|
||||||
|
desiredlanguages="$ALL_LINGUAS"
|
||||||
|
fi
|
||||||
|
for desiredlang in $desiredlanguages; do
|
||||||
|
# Use the presentlang catalog if desiredlang is
|
||||||
|
# a. equal to presentlang, or
|
||||||
|
# b. a variant of presentlang (because in this case,
|
||||||
|
# presentlang can be used as a fallback for messages
|
||||||
|
# which are not translated in the desiredlang catalog).
|
||||||
|
case "$desiredlang" in
|
||||||
|
"$presentlang"*) useit=yes;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if test $useit = yes; then
|
||||||
|
INST_LINGUAS="$INST_LINGUAS $presentlang"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
CATALOGS=
|
||||||
|
JAVACATALOGS=
|
||||||
|
QTCATALOGS=
|
||||||
|
TCLCATALOGS=
|
||||||
|
CSHARPCATALOGS=
|
||||||
|
if test -n "$INST_LINGUAS"; then
|
||||||
|
for lang in $INST_LINGUAS; do
|
||||||
|
CATALOGS="$CATALOGS $lang.gmo"
|
||||||
|
JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
|
||||||
|
QTCATALOGS="$QTCATALOGS $lang.qm"
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||||
|
TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||||
|
CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
|
||||||
|
if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
|
||||||
|
# Add dependencies that cannot be formulated as a simple suffix rule.
|
||||||
|
for lang in $ALL_LINGUAS; do
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||||
|
cat >> "$ac_file.tmp" <<EOF
|
||||||
|
$frobbedlang.msg: $lang.po
|
||||||
|
@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
|
||||||
|
\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
|
||||||
|
# Add dependencies that cannot be formulated as a simple suffix rule.
|
||||||
|
for lang in $ALL_LINGUAS; do
|
||||||
|
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||||
|
cat >> "$ac_file.tmp" <<EOF
|
||||||
|
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
|
||||||
|
@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
|
||||||
|
\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if test -n "$POMAKEFILEDEPS"; then
|
||||||
|
cat >> "$ac_file.tmp" <<EOF
|
||||||
|
Makefile: $POMAKEFILEDEPS
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
mv "$ac_file.tmp" "$ac_file"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
|
||||||
|
AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
|
||||||
|
[
|
||||||
|
XGETTEXT_EXTRA_OPTIONS=
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Registers an option to be passed to xgettext in the po subdirectory.
|
||||||
|
AC_DEFUN([AM_XGETTEXT_OPTION],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
|
||||||
|
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
|
||||||
|
])
|
48
m4/printf-posix.m4
Normal file
48
m4/printf-posix.m4
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# printf-posix.m4 serial 6 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2003, 2007, 2009-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
dnl Test whether the printf() function supports POSIX/XSI format strings with
|
||||||
|
dnl positions.
|
||||||
|
|
||||||
|
AC_DEFUN([gt_PRINTF_POSIX],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
|
||||||
|
gt_cv_func_printf_posix,
|
||||||
|
[
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
/* The string "%2$d %1$d", with dollar characters protected from the shell's
|
||||||
|
dollar expansion (possibly an autoconf bug). */
|
||||||
|
static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
|
||||||
|
static char buf[100];
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
sprintf (buf, format, 33, 55);
|
||||||
|
return (strcmp (buf, "55 33") != 0);
|
||||||
|
}]])],
|
||||||
|
[gt_cv_func_printf_posix=yes],
|
||||||
|
[gt_cv_func_printf_posix=no],
|
||||||
|
[
|
||||||
|
AC_EGREP_CPP([notposix], [
|
||||||
|
#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
|
||||||
|
notposix
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[gt_cv_func_printf_posix="guessing no"],
|
||||||
|
[gt_cv_func_printf_posix="guessing yes"])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
case $gt_cv_func_printf_posix in
|
||||||
|
*yes)
|
||||||
|
AC_DEFINE([HAVE_POSIX_PRINTF], [1],
|
||||||
|
[Define if your printf() function supports format strings with positions.])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
91
m4/progtest.m4
Normal file
91
m4/progtest.m4
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
# progtest.m4 serial 7 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
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>, 1996.
|
||||||
|
|
||||||
|
AC_PREREQ([2.50])
|
||||||
|
|
||||||
|
# Search path for a program which passes the given test.
|
||||||
|
|
||||||
|
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
||||||
|
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
|
||||||
|
AC_DEFUN([AM_PATH_PROG_WITH_TEST],
|
||||||
|
[
|
||||||
|
# Prepare PATH_SEPARATOR.
|
||||||
|
# The user is always right.
|
||||||
|
if test "${PATH_SEPARATOR+set}" != set; then
|
||||||
|
# Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
|
||||||
|
# contains only /bin. Note that ksh looks also at the FPATH variable,
|
||||||
|
# so we have to set that as well for the test.
|
||||||
|
PATH_SEPARATOR=:
|
||||||
|
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
|
||||||
|
&& { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
|
||||||
|
|| PATH_SEPARATOR=';'
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find out how to test for executable files. Don't use a zero-byte file,
|
||||||
|
# as systems may use methods other than mode bits to determine executability.
|
||||||
|
cat >conf$$.file <<_ASEOF
|
||||||
|
#! /bin/sh
|
||||||
|
exit 0
|
||||||
|
_ASEOF
|
||||||
|
chmod +x conf$$.file
|
||||||
|
if test -x conf$$.file >/dev/null 2>&1; then
|
||||||
|
ac_executable_p="test -x"
|
||||||
|
else
|
||||||
|
ac_executable_p="test -f"
|
||||||
|
fi
|
||||||
|
rm -f conf$$.file
|
||||||
|
|
||||||
|
# Extract the first word of "$2", so it can be a program name with args.
|
||||||
|
set dummy $2; ac_word=[$]2
|
||||||
|
AC_MSG_CHECKING([for $ac_word])
|
||||||
|
AC_CACHE_VAL([ac_cv_path_$1],
|
||||||
|
[case "[$]$1" in
|
||||||
|
[[\\/]]* | ?:[[\\/]]*)
|
||||||
|
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
|
||||||
|
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||||||
|
IFS="$ac_save_IFS"
|
||||||
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
|
||||||
|
if [$3]; then
|
||||||
|
ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS="$ac_save_IFS"
|
||||||
|
dnl If no 4th arg is given, leave the cache variable unset,
|
||||||
|
dnl so AC_PATH_PROGS will keep looking.
|
||||||
|
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||||
|
])dnl
|
||||||
|
;;
|
||||||
|
esac])dnl
|
||||||
|
$1="$ac_cv_path_$1"
|
||||||
|
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
||||||
|
AC_MSG_RESULT([$][$1])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
AC_SUBST([$1])dnl
|
||||||
|
])
|
362
m4/threadlib.m4
Normal file
362
m4/threadlib.m4
Normal file
|
@ -0,0 +1,362 @@
|
||||||
|
# threadlib.m4 serial 6 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
dnl gl_THREADLIB
|
||||||
|
dnl ------------
|
||||||
|
dnl Tests for a multithreading library to be used.
|
||||||
|
dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
|
||||||
|
dnl USE_PTH_THREADS, USE_WIN32_THREADS
|
||||||
|
dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
|
||||||
|
dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
|
||||||
|
dnl libtool).
|
||||||
|
dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
|
||||||
|
dnl programs that really need multithread functionality. The difference
|
||||||
|
dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
|
||||||
|
dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
|
||||||
|
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
|
||||||
|
dnl multithread-safe programs.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_THREADLIB_EARLY],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_THREADLIB_EARLY_BODY],
|
||||||
|
[
|
||||||
|
dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
|
||||||
|
dnl influences the result of the autoconf tests that test for *_unlocked
|
||||||
|
dnl declarations, on AIX 5 at least. Therefore it must come early.
|
||||||
|
AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
|
||||||
|
AC_BEFORE([$0], [gl_ARGP])dnl
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
|
||||||
|
dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
|
||||||
|
dnl AC_GNU_SOURCE.
|
||||||
|
m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
|
||||||
|
[AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
|
||||||
|
[AC_REQUIRE([AC_GNU_SOURCE])])
|
||||||
|
dnl Check for multithreading.
|
||||||
|
m4_divert_text([DEFAULTS], [gl_use_threads_default=])
|
||||||
|
AC_ARG_ENABLE([threads],
|
||||||
|
AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
|
||||||
|
AC_HELP_STRING([--disable-threads], [build without multithread safety]),
|
||||||
|
[gl_use_threads=$enableval],
|
||||||
|
[if test -n "$gl_use_threads_default"; then
|
||||||
|
gl_use_threads="$gl_use_threads_default"
|
||||||
|
else
|
||||||
|
changequote(,)dnl
|
||||||
|
case "$host_os" in
|
||||||
|
dnl Disable multithreading by default on OSF/1, because it interferes
|
||||||
|
dnl with fork()/exec(): When msgexec is linked with -lpthread, its
|
||||||
|
dnl child process gets an endless segmentation fault inside execvp().
|
||||||
|
dnl Disable multithreading by default on Cygwin 1.5.x, because it has
|
||||||
|
dnl bugs that lead to endless loops or crashes. See
|
||||||
|
dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
|
||||||
|
osf*) gl_use_threads=no ;;
|
||||||
|
cygwin*)
|
||||||
|
case `uname -r` in
|
||||||
|
1.[0-5].*) gl_use_threads=no ;;
|
||||||
|
*) gl_use_threads=yes ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*) gl_use_threads=yes ;;
|
||||||
|
esac
|
||||||
|
changequote([,])dnl
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
|
||||||
|
# For using <pthread.h>:
|
||||||
|
case "$host_os" in
|
||||||
|
osf*)
|
||||||
|
# On OSF/1, the compiler needs the flag -D_REENTRANT so that it
|
||||||
|
# groks <pthread.h>. cc also understands the flag -pthread, but
|
||||||
|
# we don't use it because 1. gcc-2.95 doesn't understand -pthread,
|
||||||
|
# 2. putting a flag into CPPFLAGS that has an effect on the linker
|
||||||
|
# causes the AC_LINK_IFELSE test below to succeed unexpectedly,
|
||||||
|
# leading to wrong values of LIBTHREAD and LTLIBTHREAD.
|
||||||
|
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# Some systems optimize for single-threaded programs by default, and
|
||||||
|
# need special flags to disable these optimizations. For example, the
|
||||||
|
# definition of 'errno' in <errno.h>.
|
||||||
|
case "$host_os" in
|
||||||
|
aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
|
||||||
|
solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl The guts of gl_THREADLIB. Needs to be expanded only once.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_THREADLIB_BODY],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
|
||||||
|
gl_threads_api=none
|
||||||
|
LIBTHREAD=
|
||||||
|
LTLIBTHREAD=
|
||||||
|
LIBMULTITHREAD=
|
||||||
|
LTLIBMULTITHREAD=
|
||||||
|
if test "$gl_use_threads" != no; then
|
||||||
|
dnl Check whether the compiler and linker support weak declarations.
|
||||||
|
AC_CACHE_CHECK([whether imported symbols can be declared weak],
|
||||||
|
[gl_cv_have_weak],
|
||||||
|
[gl_cv_have_weak=no
|
||||||
|
dnl First, test whether the compiler accepts it syntactically.
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[extern void xyzzy ();
|
||||||
|
#pragma weak xyzzy]],
|
||||||
|
[[xyzzy();]])],
|
||||||
|
[gl_cv_have_weak=maybe])
|
||||||
|
if test $gl_cv_have_weak = maybe; then
|
||||||
|
dnl Second, test whether it actually works. On Cygwin 1.7.2, with
|
||||||
|
dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[
|
||||||
|
#include <stdio.h>
|
||||||
|
#pragma weak fputs
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
return (fputs == NULL);
|
||||||
|
}]])],
|
||||||
|
[gl_cv_have_weak=yes],
|
||||||
|
[gl_cv_have_weak=no],
|
||||||
|
[dnl When cross-compiling, assume that only ELF platforms support
|
||||||
|
dnl weak symbols.
|
||||||
|
AC_EGREP_CPP([Extensible Linking Format],
|
||||||
|
[#ifdef __ELF__
|
||||||
|
Extensible Linking Format
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
[gl_cv_have_weak="guessing yes"],
|
||||||
|
[gl_cv_have_weak="guessing no"])
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
|
||||||
|
# On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
|
||||||
|
# it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
|
||||||
|
AC_CHECK_HEADER([pthread.h],
|
||||||
|
[gl_have_pthread_h=yes], [gl_have_pthread_h=no])
|
||||||
|
if test "$gl_have_pthread_h" = yes; then
|
||||||
|
# Other possible tests:
|
||||||
|
# -lpthreads (FSU threads, PCthreads)
|
||||||
|
# -lgthreads
|
||||||
|
gl_have_pthread=
|
||||||
|
# Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
|
||||||
|
# in libc. IRIX 6.5 has the first one in both libc and libpthread, but
|
||||||
|
# the second one only in libpthread, and lock.c needs it.
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[#include <pthread.h>]],
|
||||||
|
[[pthread_mutex_lock((pthread_mutex_t*)0);
|
||||||
|
pthread_mutexattr_init((pthread_mutexattr_t*)0);]])],
|
||||||
|
[gl_have_pthread=yes])
|
||||||
|
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
|
||||||
|
# since it is defined as a macro on OSF/1.)
|
||||||
|
if test -n "$gl_have_pthread"; then
|
||||||
|
# The program links fine without libpthread. But it may actually
|
||||||
|
# need to link with libpthread in order to create multiple threads.
|
||||||
|
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||||
|
[LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
|
||||||
|
# On Solaris and HP-UX, most pthread functions exist also in libc.
|
||||||
|
# Therefore pthread_in_use() needs to actually try to create a
|
||||||
|
# thread: pthread_create from libc will fail, whereas
|
||||||
|
# pthread_create will actually create a thread.
|
||||||
|
case "$host_os" in
|
||||||
|
solaris* | hpux*)
|
||||||
|
AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
|
||||||
|
[Define if the pthread_in_use() detection is hard.])
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
else
|
||||||
|
# Some library is needed. Try libpthread and libc_r.
|
||||||
|
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||||
|
[gl_have_pthread=yes
|
||||||
|
LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
|
||||||
|
LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
|
||||||
|
if test -z "$gl_have_pthread"; then
|
||||||
|
# For FreeBSD 4.
|
||||||
|
AC_CHECK_LIB([c_r], [pthread_kill],
|
||||||
|
[gl_have_pthread=yes
|
||||||
|
LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
|
||||||
|
LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -n "$gl_have_pthread"; then
|
||||||
|
gl_threads_api=posix
|
||||||
|
AC_DEFINE([USE_POSIX_THREADS], [1],
|
||||||
|
[Define if the POSIX multithreading library can be used.])
|
||||||
|
if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
|
||||||
|
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||||
|
AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
|
||||||
|
[Define if references to the POSIX multithreading library should be made weak.])
|
||||||
|
LIBTHREAD=
|
||||||
|
LTLIBTHREAD=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$gl_have_pthread"; then
|
||||||
|
if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
|
||||||
|
gl_have_solaristhread=
|
||||||
|
gl_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -lthread"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[
|
||||||
|
#include <thread.h>
|
||||||
|
#include <synch.h>
|
||||||
|
]],
|
||||||
|
[[thr_self();]])],
|
||||||
|
[gl_have_solaristhread=yes])
|
||||||
|
LIBS="$gl_save_LIBS"
|
||||||
|
if test -n "$gl_have_solaristhread"; then
|
||||||
|
gl_threads_api=solaris
|
||||||
|
LIBTHREAD=-lthread
|
||||||
|
LTLIBTHREAD=-lthread
|
||||||
|
LIBMULTITHREAD="$LIBTHREAD"
|
||||||
|
LTLIBMULTITHREAD="$LTLIBTHREAD"
|
||||||
|
AC_DEFINE([USE_SOLARIS_THREADS], [1],
|
||||||
|
[Define if the old Solaris multithreading library can be used.])
|
||||||
|
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||||
|
AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
|
||||||
|
[Define if references to the old Solaris multithreading library should be made weak.])
|
||||||
|
LIBTHREAD=
|
||||||
|
LTLIBTHREAD=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "$gl_use_threads" = pth; then
|
||||||
|
gl_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_LIB_LINKFLAGS([pth])
|
||||||
|
gl_have_pth=
|
||||||
|
gl_save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -lpth"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])],
|
||||||
|
[gl_have_pth=yes])
|
||||||
|
LIBS="$gl_save_LIBS"
|
||||||
|
if test -n "$gl_have_pth"; then
|
||||||
|
gl_threads_api=pth
|
||||||
|
LIBTHREAD="$LIBPTH"
|
||||||
|
LTLIBTHREAD="$LTLIBPTH"
|
||||||
|
LIBMULTITHREAD="$LIBTHREAD"
|
||||||
|
LTLIBMULTITHREAD="$LTLIBTHREAD"
|
||||||
|
AC_DEFINE([USE_PTH_THREADS], [1],
|
||||||
|
[Define if the GNU Pth multithreading library can be used.])
|
||||||
|
if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
|
||||||
|
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||||
|
AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
|
||||||
|
[Define if references to the GNU Pth multithreading library should be made weak.])
|
||||||
|
LIBTHREAD=
|
||||||
|
LTLIBTHREAD=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
CPPFLAGS="$gl_save_CPPFLAGS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$gl_have_pthread"; then
|
||||||
|
if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
|
||||||
|
if { case "$host_os" in
|
||||||
|
mingw*) true;;
|
||||||
|
*) false;;
|
||||||
|
esac
|
||||||
|
}; then
|
||||||
|
gl_threads_api=win32
|
||||||
|
AC_DEFINE([USE_WIN32_THREADS], [1],
|
||||||
|
[Define if the Win32 multithreading API can be used.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_MSG_CHECKING([for multithread API to use])
|
||||||
|
AC_MSG_RESULT([$gl_threads_api])
|
||||||
|
AC_SUBST([LIBTHREAD])
|
||||||
|
AC_SUBST([LTLIBTHREAD])
|
||||||
|
AC_SUBST([LIBMULTITHREAD])
|
||||||
|
AC_SUBST([LTLIBMULTITHREAD])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([gl_THREADLIB],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_THREADLIB_EARLY])
|
||||||
|
AC_REQUIRE([gl_THREADLIB_BODY])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl gl_DISABLE_THREADS
|
||||||
|
dnl ------------------
|
||||||
|
dnl Sets the gl_THREADLIB default so that threads are not used by default.
|
||||||
|
dnl The user can still override it at installation time, by using the
|
||||||
|
dnl configure option '--enable-threads'.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_DISABLE_THREADS], [
|
||||||
|
m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Survey of platforms:
|
||||||
|
dnl
|
||||||
|
dnl Platform Available Compiler Supports test-lock
|
||||||
|
dnl flavours option weak result
|
||||||
|
dnl --------------- --------- --------- -------- ---------
|
||||||
|
dnl Linux 2.4/glibc posix -lpthread Y OK
|
||||||
|
dnl
|
||||||
|
dnl GNU Hurd/glibc posix
|
||||||
|
dnl
|
||||||
|
dnl FreeBSD 5.3 posix -lc_r Y
|
||||||
|
dnl posix -lkse ? Y
|
||||||
|
dnl posix -lpthread ? Y
|
||||||
|
dnl posix -lthr Y
|
||||||
|
dnl
|
||||||
|
dnl FreeBSD 5.2 posix -lc_r Y
|
||||||
|
dnl posix -lkse Y
|
||||||
|
dnl posix -lthr Y
|
||||||
|
dnl
|
||||||
|
dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
|
||||||
|
dnl
|
||||||
|
dnl NetBSD 1.6 --
|
||||||
|
dnl
|
||||||
|
dnl OpenBSD 3.4 posix -lpthread Y OK
|
||||||
|
dnl
|
||||||
|
dnl MacOS X 10.[123] posix -lpthread Y OK
|
||||||
|
dnl
|
||||||
|
dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||||
|
dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||||
|
dnl
|
||||||
|
dnl HP-UX 11 posix -lpthread N (cc) OK
|
||||||
|
dnl Y (gcc)
|
||||||
|
dnl
|
||||||
|
dnl IRIX 6.5 posix -lpthread Y 0.5
|
||||||
|
dnl
|
||||||
|
dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
|
||||||
|
dnl
|
||||||
|
dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
|
||||||
|
dnl -lpthread (gcc) Y
|
||||||
|
dnl
|
||||||
|
dnl Cygwin posix -lpthread Y OK
|
||||||
|
dnl
|
||||||
|
dnl Any of the above pth -lpth 0.0
|
||||||
|
dnl
|
||||||
|
dnl Mingw win32 N OK
|
||||||
|
dnl
|
||||||
|
dnl BeOS 5 --
|
||||||
|
dnl
|
||||||
|
dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
|
||||||
|
dnl turned off:
|
||||||
|
dnl OK if all three tests terminate OK,
|
||||||
|
dnl 0.5 if the first test terminates OK but the second one loops endlessly,
|
||||||
|
dnl 0.0 if the first test already loops endlessly.
|
30
m4/uintmax_t.m4
Normal file
30
m4/uintmax_t.m4
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# uintmax_t.m4 serial 12
|
||||||
|
dnl Copyright (C) 1997-2004, 2007-2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Paul Eggert.
|
||||||
|
|
||||||
|
AC_PREREQ([2.13])
|
||||||
|
|
||||||
|
# Define uintmax_t to 'unsigned long' or 'unsigned long long'
|
||||||
|
# if it is not already defined in <stdint.h> or <inttypes.h>.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_AC_TYPE_UINTMAX_T],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||||
|
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||||
|
if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
|
||||||
|
AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
|
||||||
|
test $ac_cv_type_unsigned_long_long_int = yes \
|
||||||
|
&& ac_type='unsigned long long' \
|
||||||
|
|| ac_type='unsigned long'
|
||||||
|
AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type],
|
||||||
|
[Define to unsigned long or unsigned long long
|
||||||
|
if <stdint.h> and <inttypes.h> don't define.])
|
||||||
|
else
|
||||||
|
AC_DEFINE([HAVE_UINTMAX_T], [1],
|
||||||
|
[Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
|
||||||
|
fi
|
||||||
|
])
|
77
m4/visibility.m4
Normal file
77
m4/visibility.m4
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
# visibility.m4 serial 4 (gettext-0.18.2)
|
||||||
|
dnl Copyright (C) 2005, 2008, 2010 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
|
dnl Tests whether the compiler supports the command-line option
|
||||||
|
dnl -fvisibility=hidden and the function and variable attributes
|
||||||
|
dnl __attribute__((__visibility__("hidden"))) and
|
||||||
|
dnl __attribute__((__visibility__("default"))).
|
||||||
|
dnl Does *not* test for __visibility__("protected") - which has tricky
|
||||||
|
dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
|
||||||
|
dnl MacOS X.
|
||||||
|
dnl Does *not* test for __visibility__("internal") - which has processor
|
||||||
|
dnl dependent semantics.
|
||||||
|
dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
|
||||||
|
dnl "really only recommended for legacy code".
|
||||||
|
dnl Set the variable CFLAG_VISIBILITY.
|
||||||
|
dnl Defines and sets the variable HAVE_VISIBILITY.
|
||||||
|
|
||||||
|
AC_DEFUN([gl_VISIBILITY],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
|
CFLAG_VISIBILITY=
|
||||||
|
HAVE_VISIBILITY=0
|
||||||
|
if test -n "$GCC"; then
|
||||||
|
dnl First, check whether -Werror can be added to the command line, or
|
||||||
|
dnl whether it leads to an error because of some other option that the
|
||||||
|
dnl user has put into $CC $CFLAGS $CPPFLAGS.
|
||||||
|
AC_MSG_CHECKING([whether the -Werror option is usable])
|
||||||
|
AC_CACHE_VAL([gl_cv_cc_vis_werror], [
|
||||||
|
gl_save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[]], [[]])],
|
||||||
|
[gl_cv_cc_vis_werror=yes],
|
||||||
|
[gl_cv_cc_vis_werror=no])
|
||||||
|
CFLAGS="$gl_save_CFLAGS"])
|
||||||
|
AC_MSG_RESULT([$gl_cv_cc_vis_werror])
|
||||||
|
dnl Now check whether visibility declarations are supported.
|
||||||
|
AC_MSG_CHECKING([for simple visibility declarations])
|
||||||
|
AC_CACHE_VAL([gl_cv_cc_visibility], [
|
||||||
|
gl_save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
||||||
|
dnl We use the option -Werror and a function dummyfunc, because on some
|
||||||
|
dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
|
||||||
|
dnl "visibility attribute not supported in this configuration; ignored"
|
||||||
|
dnl at the first function definition in every compilation unit, and we
|
||||||
|
dnl don't want to use the option in this case.
|
||||||
|
if test $gl_cv_cc_vis_werror = yes; then
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
fi
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
|
||||||
|
extern __attribute__((__visibility__("default"))) int exportedvar;
|
||||||
|
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
|
||||||
|
extern __attribute__((__visibility__("default"))) int exportedfunc (void);
|
||||||
|
void dummyfunc (void) {}
|
||||||
|
]],
|
||||||
|
[[]])],
|
||||||
|
[gl_cv_cc_visibility=yes],
|
||||||
|
[gl_cv_cc_visibility=no])
|
||||||
|
CFLAGS="$gl_save_CFLAGS"])
|
||||||
|
AC_MSG_RESULT([$gl_cv_cc_visibility])
|
||||||
|
if test $gl_cv_cc_visibility = yes; then
|
||||||
|
CFLAG_VISIBILITY="-fvisibility=hidden"
|
||||||
|
HAVE_VISIBILITY=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([CFLAG_VISIBILITY])
|
||||||
|
AC_SUBST([HAVE_VISIBILITY])
|
||||||
|
AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
|
||||||
|
[Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
|
||||||
|
])
|
464
po/Makefile.in.in
Normal file
464
po/Makefile.in.in
Normal file
|
@ -0,0 +1,464 @@
|
||||||
|
# Makefile for PO directory in any package using GNU gettext.
|
||||||
|
# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||||
|
#
|
||||||
|
# This file can be copied and used freely without restrictions. It can
|
||||||
|
# be used in projects which are not available under the GNU General Public
|
||||||
|
# License but which still want to provide support for the GNU gettext
|
||||||
|
# functionality.
|
||||||
|
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||||
|
# General Public License and is *not* in the public domain.
|
||||||
|
#
|
||||||
|
# Origin: gettext-0.18
|
||||||
|
GETTEXT_MACRO_VERSION = 0.18
|
||||||
|
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
localedir = @localedir@
|
||||||
|
gettextsrcdir = $(datadir)/gettext/po
|
||||||
|
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
|
||||||
|
# We use $(mkdir_p).
|
||||||
|
# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
|
||||||
|
# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
|
||||||
|
# @install_sh@ does not start with $(SHELL), so we add it.
|
||||||
|
# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
|
||||||
|
# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
|
||||||
|
# versions, $(mkinstalldirs) and $(install_sh) are unused.
|
||||||
|
mkinstalldirs = $(SHELL) @install_sh@ -d
|
||||||
|
install_sh = $(SHELL) @install_sh@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
|
||||||
|
GMSGFMT_ = @GMSGFMT@
|
||||||
|
GMSGFMT_no = @GMSGFMT@
|
||||||
|
GMSGFMT_yes = @GMSGFMT_015@
|
||||||
|
GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
|
||||||
|
MSGFMT_ = @MSGFMT@
|
||||||
|
MSGFMT_no = @MSGFMT@
|
||||||
|
MSGFMT_yes = @MSGFMT_015@
|
||||||
|
MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
|
||||||
|
XGETTEXT_ = @XGETTEXT@
|
||||||
|
XGETTEXT_no = @XGETTEXT@
|
||||||
|
XGETTEXT_yes = @XGETTEXT_015@
|
||||||
|
XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
|
||||||
|
MSGMERGE = msgmerge
|
||||||
|
MSGMERGE_UPDATE = @MSGMERGE@ --update
|
||||||
|
MSGINIT = msginit
|
||||||
|
MSGCONV = msgconv
|
||||||
|
MSGFILTER = msgfilter
|
||||||
|
|
||||||
|
POFILES = @POFILES@
|
||||||
|
GMOFILES = @GMOFILES@
|
||||||
|
UPDATEPOFILES = @UPDATEPOFILES@
|
||||||
|
DUMMYPOFILES = @DUMMYPOFILES@
|
||||||
|
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
|
||||||
|
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
|
||||||
|
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
|
||||||
|
$(POFILES) $(GMOFILES) \
|
||||||
|
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
|
||||||
|
|
||||||
|
POTFILES = \
|
||||||
|
|
||||||
|
CATALOGS = @CATALOGS@
|
||||||
|
|
||||||
|
# Makevars gets inserted here. (Don't remove this line!)
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
|
||||||
|
|
||||||
|
.po.mo:
|
||||||
|
@echo "$(MSGFMT) -c -o $@ $<"; \
|
||||||
|
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
|
||||||
|
|
||||||
|
.po.gmo:
|
||||||
|
@lang=`echo $* | sed -e 's,.*/,,'`; \
|
||||||
|
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||||
|
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
|
||||||
|
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
|
||||||
|
|
||||||
|
.sin.sed:
|
||||||
|
sed -e '/^#/d' $< > t-$@
|
||||||
|
mv t-$@ $@
|
||||||
|
|
||||||
|
|
||||||
|
all: check-macro-version all-@USE_NLS@
|
||||||
|
|
||||||
|
all-yes: stamp-po
|
||||||
|
all-no:
|
||||||
|
|
||||||
|
# Ensure that the gettext macros and this Makefile.in.in are in sync.
|
||||||
|
check-macro-version:
|
||||||
|
@test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
|
||||||
|
|| { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
|
||||||
|
exit 1; \
|
||||||
|
}
|
||||||
|
|
||||||
|
# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
|
||||||
|
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
|
||||||
|
# we don't want to bother translators with empty POT files). We assume that
|
||||||
|
# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
|
||||||
|
# In this case, stamp-po is a nop (i.e. a phony target).
|
||||||
|
|
||||||
|
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
|
||||||
|
# been loosely updated. Its purpose is that when a developer or translator
|
||||||
|
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
|
||||||
|
# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
|
||||||
|
# invocations of "make" will do nothing. This timestamp would not be necessary
|
||||||
|
# if updating the $(CATALOGS) would always touch them; however, the rule for
|
||||||
|
# $(POFILES) has been designed to not touch files that don't need to be
|
||||||
|
# changed.
|
||||||
|
stamp-po: $(srcdir)/$(DOMAIN).pot
|
||||||
|
test ! -f $(srcdir)/$(DOMAIN).pot || \
|
||||||
|
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
|
||||||
|
@test ! -f $(srcdir)/$(DOMAIN).pot || { \
|
||||||
|
echo "touch stamp-po" && \
|
||||||
|
echo timestamp > stamp-poT && \
|
||||||
|
mv stamp-poT stamp-po; \
|
||||||
|
}
|
||||||
|
|
||||||
|
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
|
||||||
|
# otherwise packages like GCC can not be built if only parts of the source
|
||||||
|
# have been downloaded.
|
||||||
|
|
||||||
|
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
|
||||||
|
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
|
||||||
|
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in $(srcdir)/POTFILES-shell.in remove-potcdate.sed
|
||||||
|
if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
|
||||||
|
package_gnu='GNU '; \
|
||||||
|
else \
|
||||||
|
package_gnu=''; \
|
||||||
|
fi; \
|
||||||
|
if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
|
||||||
|
msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
|
||||||
|
else \
|
||||||
|
msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
|
||||||
|
fi; \
|
||||||
|
case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
|
||||||
|
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||||
|
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
|
||||||
|
--files-from=$(srcdir)/POTFILES.in \
|
||||||
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||||
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||||
|
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
|
||||||
|
--files-from=$(srcdir)/POTFILES.in \
|
||||||
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||||
|
--package-name="$${package_gnu}@PACKAGE@" \
|
||||||
|
--package-version='@VERSION@' \
|
||||||
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
|
||||||
|
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||||
|
--add-comments=TRANSLATORS: @XGETTEXT_EXTRA_OPTIONS@ \
|
||||||
|
--files-from=$(srcdir)/POTFILES-shell.in \
|
||||||
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||||
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
|
--join-existing --language=Shell --keyword=gettext_quoted \
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||||
|
--add-comments=TRANSLATORS: @XGETTEXT_EXTRA_OPTIONS@ \
|
||||||
|
--files-from=$(srcdir)/POTFILES-shell.in \
|
||||||
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||||
|
--package-name="$${package_gnu}@PACKAGE@" \
|
||||||
|
--package-version='@VERSION@' \
|
||||||
|
--msgid-bugs-address="$$msgid_bugs_address" \
|
||||||
|
--join-existing --language=Shell --keyword=gettext_quoted \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
test ! -f $(DOMAIN).po || { \
|
||||||
|
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||||
|
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
||||||
|
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
||||||
|
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
|
||||||
|
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
|
||||||
|
else \
|
||||||
|
rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
|
||||||
|
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
|
||||||
|
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
|
||||||
|
# every "make" invocation, only create it when it is missing.
|
||||||
|
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
|
||||||
|
$(srcdir)/$(DOMAIN).pot:
|
||||||
|
$(MAKE) $(DOMAIN).pot-update
|
||||||
|
|
||||||
|
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
|
||||||
|
# Note that a PO file is not touched if it doesn't need to be changed.
|
||||||
|
$(POFILES): $(srcdir)/$(DOMAIN).pot
|
||||||
|
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
|
||||||
|
if test -f "$(srcdir)/$${lang}.po"; then \
|
||||||
|
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||||
|
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
|
||||||
|
cd $(srcdir) \
|
||||||
|
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
|
||||||
|
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
|
||||||
|
*) \
|
||||||
|
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
|
||||||
|
esac; \
|
||||||
|
}; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $${lang}.po-create; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
install: install-exec install-data
|
||||||
|
install-exec:
|
||||||
|
install-data: install-data-@USE_NLS@
|
||||||
|
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||||
|
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||||
|
for file in $(DISTFILES.common) Makevars.template; do \
|
||||||
|
$(INSTALL_DATA) $(srcdir)/$$file \
|
||||||
|
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||||
|
done; \
|
||||||
|
for file in Makevars; do \
|
||||||
|
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||||
|
done; \
|
||||||
|
else \
|
||||||
|
: ; \
|
||||||
|
fi
|
||||||
|
install-data-no: all
|
||||||
|
install-data-yes: all
|
||||||
|
@catalogs='$(CATALOGS)'; \
|
||||||
|
for cat in $$catalogs; do \
|
||||||
|
cat=`basename $$cat`; \
|
||||||
|
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||||
|
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||||
|
$(mkdir_p) $(DESTDIR)$$dir; \
|
||||||
|
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
|
||||||
|
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
|
||||||
|
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
|
||||||
|
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||||
|
if test -n "$$lc"; then \
|
||||||
|
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||||
|
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||||
|
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||||
|
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||||
|
for file in *; do \
|
||||||
|
if test -f $$file; then \
|
||||||
|
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||||
|
fi; \
|
||||||
|
done); \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||||
|
else \
|
||||||
|
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||||
|
:; \
|
||||||
|
else \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||||
|
ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||||
|
ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
||||||
|
cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||||
|
echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-strip: install
|
||||||
|
|
||||||
|
installdirs: installdirs-exec installdirs-data
|
||||||
|
installdirs-exec:
|
||||||
|
installdirs-data: installdirs-data-@USE_NLS@
|
||||||
|
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||||
|
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||||
|
else \
|
||||||
|
: ; \
|
||||||
|
fi
|
||||||
|
installdirs-data-no:
|
||||||
|
installdirs-data-yes:
|
||||||
|
@catalogs='$(CATALOGS)'; \
|
||||||
|
for cat in $$catalogs; do \
|
||||||
|
cat=`basename $$cat`; \
|
||||||
|
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||||
|
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||||
|
$(mkdir_p) $(DESTDIR)$$dir; \
|
||||||
|
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||||
|
if test -n "$$lc"; then \
|
||||||
|
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||||
|
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
||||||
|
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||||
|
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
||||||
|
for file in *; do \
|
||||||
|
if test -f $$file; then \
|
||||||
|
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
||||||
|
fi; \
|
||||||
|
done); \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
||||||
|
else \
|
||||||
|
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
||||||
|
:; \
|
||||||
|
else \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# Define this as empty until I found a useful application.
|
||||||
|
installcheck:
|
||||||
|
|
||||||
|
uninstall: uninstall-exec uninstall-data
|
||||||
|
uninstall-exec:
|
||||||
|
uninstall-data: uninstall-data-@USE_NLS@
|
||||||
|
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||||
|
for file in $(DISTFILES.common) Makevars.template; do \
|
||||||
|
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||||
|
done; \
|
||||||
|
else \
|
||||||
|
: ; \
|
||||||
|
fi
|
||||||
|
uninstall-data-no:
|
||||||
|
uninstall-data-yes:
|
||||||
|
catalogs='$(CATALOGS)'; \
|
||||||
|
for cat in $$catalogs; do \
|
||||||
|
cat=`basename $$cat`; \
|
||||||
|
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||||
|
for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
|
||||||
|
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
check: all
|
||||||
|
|
||||||
|
info dvi ps pdf html tags TAGS ctags CTAGS ID:
|
||||||
|
|
||||||
|
mostlyclean:
|
||||||
|
rm -f remove-potcdate.sed
|
||||||
|
rm -f stamp-poT
|
||||||
|
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
|
||||||
|
rm -fr *.o
|
||||||
|
|
||||||
|
clean: mostlyclean
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f Makefile Makefile.in POTFILES *.mo
|
||||||
|
|
||||||
|
maintainer-clean: distclean
|
||||||
|
@echo "This command is intended for maintainers to use;"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
rm -f stamp-po $(GMOFILES)
|
||||||
|
|
||||||
|
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||||
|
dist distdir:
|
||||||
|
$(MAKE) update-po
|
||||||
|
@$(MAKE) dist2
|
||||||
|
# This is a separate target because 'update-po' must be executed before.
|
||||||
|
dist2: stamp-po $(DISTFILES)
|
||||||
|
dists="$(DISTFILES)"; \
|
||||||
|
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||||
|
dists="$$dists Makevars.template"; \
|
||||||
|
fi; \
|
||||||
|
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||||
|
dists="$$dists $(DOMAIN).pot stamp-po"; \
|
||||||
|
fi; \
|
||||||
|
if test -f $(srcdir)/ChangeLog; then \
|
||||||
|
dists="$$dists ChangeLog"; \
|
||||||
|
fi; \
|
||||||
|
for i in 0 1 2 3 4 5 6 7 8 9; do \
|
||||||
|
if test -f $(srcdir)/ChangeLog.$$i; then \
|
||||||
|
dists="$$dists ChangeLog.$$i"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
|
||||||
|
for file in $$dists; do \
|
||||||
|
if test -f $$file; then \
|
||||||
|
cp -p $$file $(distdir) || exit 1; \
|
||||||
|
else \
|
||||||
|
cp -p $(srcdir)/$$file $(distdir) || exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
update-po: Makefile
|
||||||
|
$(MAKE) $(DOMAIN).pot-update
|
||||||
|
test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
|
||||||
|
$(MAKE) update-gmo
|
||||||
|
|
||||||
|
# General rule for creating PO files.
|
||||||
|
|
||||||
|
.nop.po-create:
|
||||||
|
@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
|
||||||
|
echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
# General rule for updating PO files.
|
||||||
|
|
||||||
|
.nop.po-update:
|
||||||
|
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
|
||||||
|
if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
|
||||||
|
tmpdir=`pwd`; \
|
||||||
|
echo "$$lang:"; \
|
||||||
|
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||||
|
echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
|
||||||
|
cd $(srcdir); \
|
||||||
|
if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||||
|
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
|
||||||
|
$(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
|
||||||
|
*) \
|
||||||
|
$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
|
||||||
|
esac; \
|
||||||
|
}; then \
|
||||||
|
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||||
|
rm -f $$tmpdir/$$lang.new.po; \
|
||||||
|
else \
|
||||||
|
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||||
|
:; \
|
||||||
|
else \
|
||||||
|
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
echo "msgmerge for $$lang.po failed!" 1>&2; \
|
||||||
|
rm -f $$tmpdir/$$lang.new.po; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
$(DUMMYPOFILES):
|
||||||
|
|
||||||
|
update-gmo: Makefile $(GMOFILES)
|
||||||
|
@:
|
||||||
|
|
||||||
|
# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
|
||||||
|
# because execution permission bits may not work on the current file system.
|
||||||
|
# Use @SHELL@, which is the shell determined by autoconf for the use by its
|
||||||
|
# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
|
||||||
|
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
|
||||||
|
cd $(top_builddir) \
|
||||||
|
&& @SHELL@ ./config.status $(subdir)/$@.in po-directories
|
||||||
|
|
||||||
|
force:
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
41
po/Makevars
Normal file
41
po/Makevars
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# Makefile variables for PO directory in any package using GNU gettext.
|
||||||
|
|
||||||
|
# Usually the message domain is the same as the package name.
|
||||||
|
DOMAIN = $(PACKAGE)
|
||||||
|
|
||||||
|
# These two variables depend on the location of this directory.
|
||||||
|
subdir = po
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
# These options get passed to xgettext.
|
||||||
|
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
|
||||||
|
|
||||||
|
# This is the copyright holder that gets inserted into the header of the
|
||||||
|
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||||
|
# package. (Note that the msgstr strings, extracted from the package's
|
||||||
|
# sources, belong to the copyright holder of the package.) Translators are
|
||||||
|
# expected to transfer the copyright for their translations to this person
|
||||||
|
# or entity, or to disclaim their copyright. The empty string stands for
|
||||||
|
# the public domain; in this case the translators are expected to disclaim
|
||||||
|
# their copyright.
|
||||||
|
COPYRIGHT_HOLDER = Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This is the email address or URL to which the translators shall report
|
||||||
|
# bugs in the untranslated strings:
|
||||||
|
# - Strings which are not entire sentences, see the maintainer guidelines
|
||||||
|
# in the GNU gettext documentation, section 'Preparing Strings'.
|
||||||
|
# - Strings which use unclear terms or require additional context to be
|
||||||
|
# understood.
|
||||||
|
# - Strings which make invalid assumptions about notation of date, time or
|
||||||
|
# money.
|
||||||
|
# - Pluralisation problems.
|
||||||
|
# - Incorrect English spelling.
|
||||||
|
# - Incorrect formatting.
|
||||||
|
# It can be your email address, or a mailing list address where translators
|
||||||
|
# can write to without being subscribed, or the URL of a web page through
|
||||||
|
# which the translators can contact you.
|
||||||
|
MSGID_BUGS_ADDRESS = bug-grub@gnu.org
|
||||||
|
|
||||||
|
# This is the list of locale categories, beyond LC_MESSAGES, for which the
|
||||||
|
# message catalogs shall be used. It is usually empty.
|
||||||
|
EXTRA_LOCALE_CATEGORIES =
|
80
po/POTFILES
80
po/POTFILES
|
@ -1,80 +0,0 @@
|
||||||
# List of files which contain translatable strings.
|
|
||||||
commands/acpi.c
|
|
||||||
commands/blocklist.c
|
|
||||||
commands/boot.c
|
|
||||||
commands/cat.c
|
|
||||||
commands/cmp.c
|
|
||||||
commands/configfile.c
|
|
||||||
commands/crc.c
|
|
||||||
commands/date.c
|
|
||||||
commands/echo.c
|
|
||||||
commands/efi/fixvideo.c
|
|
||||||
commands/efi/loadbios.c
|
|
||||||
commands/gptsync.c
|
|
||||||
commands/halt.c
|
|
||||||
commands/hdparm.c
|
|
||||||
commands/help.c
|
|
||||||
commands/hexdump.c
|
|
||||||
commands/i386/cpuid.c
|
|
||||||
commands/i386/pc/drivemap.c
|
|
||||||
commands/i386/pc/halt.c
|
|
||||||
commands/i386/pc/play.c
|
|
||||||
commands/i386/pc/pxecmd.c
|
|
||||||
commands/i386/pc/vbeinfo.c
|
|
||||||
commands/i386/pc/vbetest.c
|
|
||||||
commands/ieee1275/suspend.c
|
|
||||||
commands/keystatus.c
|
|
||||||
commands/loadenv.c
|
|
||||||
commands/ls.c
|
|
||||||
commands/lsmmap.c
|
|
||||||
commands/lspci.c
|
|
||||||
commands/memrw.c
|
|
||||||
commands/minicmd.c
|
|
||||||
commands/parttool.c
|
|
||||||
commands/password.c
|
|
||||||
commands/probe.c
|
|
||||||
commands/read.c
|
|
||||||
commands/reboot.c
|
|
||||||
commands/search.c
|
|
||||||
commands/search_file.c
|
|
||||||
commands/search_label.c
|
|
||||||
commands/search_uuid.c
|
|
||||||
commands/sleep.c
|
|
||||||
commands/test.c
|
|
||||||
commands/true.c
|
|
||||||
commands/usbtest.c
|
|
||||||
commands/videotest.c
|
|
||||||
commands/xnu_uuid.c
|
|
||||||
|
|
||||||
disk/loopback.c
|
|
||||||
|
|
||||||
hello/hello.c
|
|
||||||
|
|
||||||
lib/arg.c
|
|
||||||
|
|
||||||
loader/efi/appleloader.c
|
|
||||||
loader/efi/chainloader.c
|
|
||||||
loader/i386/bsd.c
|
|
||||||
loader/i386/efi/linux.c
|
|
||||||
loader/i386/ieee1275/linux.c
|
|
||||||
loader/i386/linux.c
|
|
||||||
loader/i386/pc/chainloader.c
|
|
||||||
loader/i386/pc/linux.c
|
|
||||||
loader/i386/xnu.c
|
|
||||||
loader/multiboot.c
|
|
||||||
loader/powerpc/ieee1275/linux.c
|
|
||||||
loader/sparc64/ieee1275/linux.c
|
|
||||||
loader/xnu.c
|
|
||||||
|
|
||||||
normal/auth.c
|
|
||||||
normal/color.c
|
|
||||||
normal/dyncmd.c
|
|
||||||
normal/main.c
|
|
||||||
normal/menu_entry.c
|
|
||||||
normal/menu_text.c
|
|
||||||
normal/misc.c
|
|
||||||
|
|
||||||
term/serial.c
|
|
||||||
|
|
||||||
util/grub-mkimage.c
|
|
||||||
util/i386/pc/grub-setup.c
|
|
|
@ -1,5 +1,7 @@
|
||||||
# List of files which contain translatable strings. Only files written in
|
# List of files which contain translatable strings. Only files written in
|
||||||
# Shell language are included here.
|
# Shell language are included here.
|
||||||
|
util/grub.d/10_hurd.in
|
||||||
util/grub.d/10_kfreebsd.in
|
util/grub.d/10_kfreebsd.in
|
||||||
util/grub.d/10_linux.in
|
util/grub.d/10_linux.in
|
||||||
util/grub.d/10_netbsd.in
|
util/grub.d/10_netbsd.in
|
||||||
|
util/grub.d/20_linux_xen.in
|
117
po/POTFILES.in
Normal file
117
po/POTFILES.in
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
# List of files which contain translatable strings.
|
||||||
|
grub-core/commands/acpi.c
|
||||||
|
grub-core/commands/blocklist.c
|
||||||
|
grub-core/commands/boot.c
|
||||||
|
grub-core/commands/cat.c
|
||||||
|
grub-core/commands/cmp.c
|
||||||
|
grub-core/commands/configfile.c
|
||||||
|
grub-core/commands/date.c
|
||||||
|
grub-core/commands/echo.c
|
||||||
|
grub-core/commands/efi/fixvideo.c
|
||||||
|
grub-core/commands/efi/loadbios.c
|
||||||
|
grub-core/commands/gptsync.c
|
||||||
|
grub-core/commands/halt.c
|
||||||
|
grub-core/commands/hashsum.c
|
||||||
|
grub-core/commands/hdparm.c
|
||||||
|
grub-core/commands/help.c
|
||||||
|
grub-core/commands/hexdump.c
|
||||||
|
grub-core/commands/i386/cpuid.c
|
||||||
|
grub-core/commands/i386/pc/drivemap.c
|
||||||
|
grub-core/commands/i386/pc/halt.c
|
||||||
|
grub-core/commands/i386/pc/lsapm.c
|
||||||
|
grub-core/commands/i386/pc/play.c
|
||||||
|
grub-core/commands/i386/pc/pxecmd.c
|
||||||
|
grub-core/commands/ieee1275/suspend.c
|
||||||
|
grub-core/commands/iorw.c
|
||||||
|
grub-core/commands/keylayouts.c
|
||||||
|
grub-core/commands/keystatus.c
|
||||||
|
grub-core/commands/legacycfg.c
|
||||||
|
grub-core/commands/loadenv.c
|
||||||
|
grub-core/commands/ls.c
|
||||||
|
grub-core/commands/lsacpi.c
|
||||||
|
grub-core/commands/lsmmap.c
|
||||||
|
grub-core/commands/lspci.c
|
||||||
|
grub-core/commands/memrw.c
|
||||||
|
grub-core/commands/menuentry.c
|
||||||
|
grub-core/commands/minicmd.c
|
||||||
|
grub-core/commands/parttool.c
|
||||||
|
grub-core/commands/password.c
|
||||||
|
grub-core/commands/password_pbkdf2.c
|
||||||
|
grub-core/commands/probe.c
|
||||||
|
grub-core/commands/read.c
|
||||||
|
grub-core/commands/reboot.c
|
||||||
|
grub-core/commands/regexp.c
|
||||||
|
grub-core/commands/search.c
|
||||||
|
grub-core/commands/search_file.c
|
||||||
|
grub-core/commands/search_label.c
|
||||||
|
grub-core/commands/search_uuid.c
|
||||||
|
grub-core/commands/search_wrap.c
|
||||||
|
grub-core/commands/setpci.c
|
||||||
|
grub-core/commands/sleep.c
|
||||||
|
grub-core/commands/terminal.c
|
||||||
|
grub-core/commands/test.c
|
||||||
|
grub-core/commands/testload.c
|
||||||
|
grub-core/commands/true.c
|
||||||
|
grub-core/commands/usbtest.c
|
||||||
|
grub-core/commands/videoinfo.c
|
||||||
|
grub-core/commands/videotest.c
|
||||||
|
grub-core/commands/xnu_uuid.c
|
||||||
|
|
||||||
|
grub-core/disk/loopback.c
|
||||||
|
|
||||||
|
grub-core/efiemu/main.c
|
||||||
|
|
||||||
|
grub-core/font/font_cmd.c
|
||||||
|
|
||||||
|
grub-core/gettext/gettext.c
|
||||||
|
|
||||||
|
grub-core/gfxmenu/gui_progress_bar.c
|
||||||
|
|
||||||
|
grub-core/hello/hello.c
|
||||||
|
|
||||||
|
grub-core/kern/corecmd.c
|
||||||
|
grub-core/kern/emu/hostdisk.c
|
||||||
|
grub-core/kern/emu/misc.c
|
||||||
|
grub-core/kern/err.c
|
||||||
|
|
||||||
|
grub-core/lib/arg.c
|
||||||
|
|
||||||
|
grub-core/loader/efi/appleloader.c
|
||||||
|
grub-core/loader/efi/chainloader.c
|
||||||
|
grub-core/loader/i386/bsd.c
|
||||||
|
grub-core/loader/i386/linux.c
|
||||||
|
grub-core/loader/i386/pc/chainloader.c
|
||||||
|
grub-core/loader/i386/pc/linux.c
|
||||||
|
grub-core/loader/i386/pc/ntldr.c
|
||||||
|
grub-core/loader/i386/xnu.c
|
||||||
|
grub-core/loader/mips/linux.c
|
||||||
|
grub-core/loader/multiboot.c
|
||||||
|
grub-core/loader/powerpc/ieee1275/linux.c
|
||||||
|
grub-core/loader/sparc64/ieee1275/linux.c
|
||||||
|
grub-core/loader/xnu.c
|
||||||
|
|
||||||
|
grub-core/mmap/mmap.c
|
||||||
|
|
||||||
|
grub-core/normal/auth.c
|
||||||
|
grub-core/normal/cmdline.c
|
||||||
|
grub-core/normal/color.c
|
||||||
|
grub-core/normal/context.c
|
||||||
|
grub-core/normal/dyncmd.c
|
||||||
|
grub-core/normal/main.c
|
||||||
|
grub-core/normal/menu.c
|
||||||
|
grub-core/normal/menu_entry.c
|
||||||
|
grub-core/normal/menu_text.c
|
||||||
|
grub-core/normal/misc.c
|
||||||
|
|
||||||
|
grub-core/script/main.c
|
||||||
|
|
||||||
|
grub-core/term/gfxterm.c
|
||||||
|
grub-core/term/serial.c
|
||||||
|
grub-core/term/terminfo.c
|
||||||
|
|
||||||
|
grub-core/tests/test_blockarg.c
|
||||||
|
|
||||||
|
util/grub-editenv.c
|
||||||
|
util/grub-fstest.c
|
||||||
|
util/grub-mkimage.c
|
||||||
|
util/grub-setup.c
|
47
po/Rules-quot
Normal file
47
po/Rules-quot
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# Special Makefile rules for English message catalogs with quotation marks.
|
||||||
|
|
||||||
|
DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
|
||||||
|
|
||||||
|
.SUFFIXES: .insert-header .po-update-en
|
||||||
|
|
||||||
|
en@quot.po-create:
|
||||||
|
$(MAKE) en@quot.po-update
|
||||||
|
en@boldquot.po-create:
|
||||||
|
$(MAKE) en@boldquot.po-update
|
||||||
|
|
||||||
|
en@quot.po-update: en@quot.po-update-en
|
||||||
|
en@boldquot.po-update: en@boldquot.po-update-en
|
||||||
|
|
||||||
|
.insert-header.po-update-en:
|
||||||
|
@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
|
||||||
|
if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
|
||||||
|
tmpdir=`pwd`; \
|
||||||
|
echo "$$lang:"; \
|
||||||
|
ll=`echo $$lang | sed -e 's/@.*//'`; \
|
||||||
|
LC_ALL=C; export LC_ALL; \
|
||||||
|
cd $(srcdir); \
|
||||||
|
if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
|
||||||
|
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||||
|
rm -f $$tmpdir/$$lang.new.po; \
|
||||||
|
else \
|
||||||
|
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||||
|
:; \
|
||||||
|
else \
|
||||||
|
echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
echo "creation of $$lang.po failed!" 1>&2; \
|
||||||
|
rm -f $$tmpdir/$$lang.new.po; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
en@quot.insert-header: insert-header.sin
|
||||||
|
sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
|
||||||
|
|
||||||
|
en@boldquot.insert-header: insert-header.sin
|
||||||
|
sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-quot
|
||||||
|
mostlyclean-quot:
|
||||||
|
rm -f *.insert-header
|
10
po/boldquot.sed
Normal file
10
po/boldquot.sed
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
s/"\([^"]*\)"/“\1”/g
|
||||||
|
s/`\([^`']*\)'/‘\1’/g
|
||||||
|
s/ '\([^`']*\)' / ‘\1’ /g
|
||||||
|
s/ '\([^`']*\)'$/ ‘\1’/g
|
||||||
|
s/^'\([^`']*\)' /‘\1’ /g
|
||||||
|
s/“”/""/g
|
||||||
|
s/“/“[1m/g
|
||||||
|
s/”/[0m”/g
|
||||||
|
s/‘/‘[1m/g
|
||||||
|
s/’/[0m’/g
|
25
po/en@boldquot.header
Normal file
25
po/en@boldquot.header
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# All this catalog "translates" are quotation characters.
|
||||||
|
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||||
|
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||||
|
# and double quote (0x22). These substitutes look strange; see
|
||||||
|
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||||
|
#
|
||||||
|
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||||
|
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||||
|
# It also translates pairs of apostrophe (0x27) to
|
||||||
|
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||||
|
# and pairs of quotation mark (0x22) to
|
||||||
|
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||||
|
#
|
||||||
|
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||||
|
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||||
|
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||||
|
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||||
|
# transliterated to 0x22.
|
||||||
|
# When output to an ASCII terminal, the single quotation marks are
|
||||||
|
# transliterated to apostrophes, and the double quotation marks are
|
||||||
|
# transliterated to 0x22.
|
||||||
|
#
|
||||||
|
# This catalog furthermore displays the text between the quotation marks in
|
||||||
|
# bold face, assuming the VT100/XTerm escape sequences.
|
||||||
|
#
|
22
po/en@quot.header
Normal file
22
po/en@quot.header
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# All this catalog "translates" are quotation characters.
|
||||||
|
# The msgids must be ASCII and therefore cannot contain real quotation
|
||||||
|
# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
|
||||||
|
# and double quote (0x22). These substitutes look strange; see
|
||||||
|
# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
|
||||||
|
#
|
||||||
|
# This catalog translates grave accent (0x60) and apostrophe (0x27) to
|
||||||
|
# left single quotation mark (U+2018) and right single quotation mark (U+2019).
|
||||||
|
# It also translates pairs of apostrophe (0x27) to
|
||||||
|
# left single quotation mark (U+2018) and right single quotation mark (U+2019)
|
||||||
|
# and pairs of quotation mark (0x22) to
|
||||||
|
# left double quotation mark (U+201C) and right double quotation mark (U+201D).
|
||||||
|
#
|
||||||
|
# When output to an UTF-8 terminal, the quotation characters appear perfectly.
|
||||||
|
# When output to an ISO-8859-1 terminal, the single quotation marks are
|
||||||
|
# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
|
||||||
|
# grave/acute accent (by libiconv), and the double quotation marks are
|
||||||
|
# transliterated to 0x22.
|
||||||
|
# When output to an ASCII terminal, the single quotation marks are
|
||||||
|
# transliterated to apostrophes, and the double quotation marks are
|
||||||
|
# transliterated to 0x22.
|
||||||
|
#
|
23
po/insert-header.sin
Normal file
23
po/insert-header.sin
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# Sed script that inserts the file called HEADER before the header entry.
|
||||||
|
#
|
||||||
|
# At each occurrence of a line starting with "msgid ", we execute the following
|
||||||
|
# commands. At the first occurrence, insert the file. At the following
|
||||||
|
# occurrences, do nothing. The distinction between the first and the following
|
||||||
|
# occurrences is achieved by looking at the hold space.
|
||||||
|
/^msgid /{
|
||||||
|
x
|
||||||
|
# Test if the hold space is empty.
|
||||||
|
s/m/m/
|
||||||
|
ta
|
||||||
|
# Yes it was empty. First occurrence. Read the file.
|
||||||
|
r HEADER
|
||||||
|
# Output the file's contents by reading the next line. But don't lose the
|
||||||
|
# current line while doing this.
|
||||||
|
g
|
||||||
|
N
|
||||||
|
bb
|
||||||
|
:a
|
||||||
|
# The hold space was nonempty. Following occurrences. Do nothing.
|
||||||
|
x
|
||||||
|
:b
|
||||||
|
}
|
6
po/quot.sed
Normal file
6
po/quot.sed
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
s/"\([^"]*\)"/“\1”/g
|
||||||
|
s/`\([^`']*\)'/‘\1’/g
|
||||||
|
s/ '\([^`']*\)' / ‘\1’ /g
|
||||||
|
s/ '\([^`']*\)'$/ ‘\1’/g
|
||||||
|
s/^'\([^`']*\)' /‘\1’ /g
|
||||||
|
s/“”/""/g
|
19
po/remove-potcdate.sin
Normal file
19
po/remove-potcdate.sin
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Sed script that remove the POT-Creation-Date line in the header entry
|
||||||
|
# from a POT file.
|
||||||
|
#
|
||||||
|
# The distinction between the first and the following occurrences of the
|
||||||
|
# pattern is achieved by looking at the hold space.
|
||||||
|
/^"POT-Creation-Date: .*"$/{
|
||||||
|
x
|
||||||
|
# Test if the hold space is empty.
|
||||||
|
s/P/P/
|
||||||
|
ta
|
||||||
|
# Yes it was empty. First occurrence. Remove the line.
|
||||||
|
g
|
||||||
|
d
|
||||||
|
bb
|
||||||
|
:a
|
||||||
|
# The hold space was nonempty. Following occurrences. Do nothing.
|
||||||
|
x
|
||||||
|
:b
|
||||||
|
}
|
Loading…
Reference in a new issue