668 lines
23 KiB
Plaintext
668 lines
23 KiB
Plaintext
|
dnl @synopsis AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R
|
||
|
dnl
|
||
|
dnl Provides a test to determine the correct
|
||
|
dnl way to call gethostbyname_r:
|
||
|
dnl
|
||
|
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_6 if it needs 6 arguments (e.g linux)
|
||
|
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_5 if it needs 5 arguments (e.g. solaris)
|
||
|
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_3 if it needs 3 arguments (e.g. osf/1)
|
||
|
dnl
|
||
|
dnl If used in conjunction in gethostname.c the api demonstrated
|
||
|
dnl in test.c can be used regardless of which gethostbyname_r
|
||
|
dnl exists. These example files found at
|
||
|
dnl <http://www.csn.ul.ie/~caolan/publink/gethostbyname_r>.
|
||
|
dnl
|
||
|
dnl Based on David Arnold's autoconf suggestion in the threads faq.
|
||
|
dnl
|
||
|
dnl @author Caolan McNamara <caolan@skynet.ie>
|
||
|
dnl
|
||
|
AC_DEFUN(AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R,
|
||
|
[AC_CACHE_CHECK(for which type of gethostbyname_r, ac_cv_func_which_gethostname_r, [
|
||
|
AC_CHECK_FUNC(gethostbyname_r, [
|
||
|
AC_TRY_COMPILE([
|
||
|
# include <netdb.h>
|
||
|
], [
|
||
|
|
||
|
char *name;
|
||
|
struct hostent *he;
|
||
|
struct hostent_data data;
|
||
|
(void) gethostbyname_r(name, he, &data);
|
||
|
|
||
|
],ac_cv_func_which_gethostname_r=three,
|
||
|
[
|
||
|
dnl ac_cv_func_which_gethostname_r=no
|
||
|
AC_TRY_COMPILE([
|
||
|
# include <netdb.h>
|
||
|
], [
|
||
|
char *name;
|
||
|
struct hostent *he, *res;
|
||
|
char buffer[2048];
|
||
|
int buflen = 2048;
|
||
|
int h_errnop;
|
||
|
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop)
|
||
|
],ac_cv_func_which_gethostname_r=six,
|
||
|
|
||
|
[
|
||
|
dnl ac_cv_func_which_gethostname_r=no
|
||
|
AC_TRY_COMPILE([
|
||
|
# include <netdb.h>
|
||
|
], [
|
||
|
char *name;
|
||
|
struct hostent *he;
|
||
|
char buffer[2048];
|
||
|
int buflen = 2048;
|
||
|
int h_errnop;
|
||
|
(void) gethostbyname_r(name, he, buffer, buflen, &h_errnop)
|
||
|
],ac_cv_func_which_gethostname_r=five,ac_cv_func_which_gethostname_r=no)
|
||
|
|
||
|
]
|
||
|
|
||
|
)
|
||
|
]
|
||
|
)]
|
||
|
,ac_cv_func_which_gethostname_r=no)])
|
||
|
|
||
|
if test $ac_cv_func_which_gethostname_r = six; then
|
||
|
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
|
||
|
elif test $ac_cv_func_which_gethostname_r = five; then
|
||
|
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
|
||
|
elif test $ac_cv_func_which_gethostname_r = three; then
|
||
|
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
|
||
|
|
||
|
fi
|
||
|
|
||
|
])
|
||
|
|
||
|
dnl @synopsis TYPE_SOCKLEN_T
|
||
|
dnl
|
||
|
dnl Check whether sys/socket.h defines type socklen_t. Please note
|
||
|
dnl that some systems require sys/types.h to be included before
|
||
|
dnl sys/socket.h can be compiled.
|
||
|
dnl
|
||
|
dnl @author Lars Brinkhoff <lars@nocrew.org>
|
||
|
dnl
|
||
|
AC_DEFUN([TYPE_SOCKLEN_T],
|
||
|
[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
|
||
|
[
|
||
|
AC_TRY_COMPILE(
|
||
|
[#include <sys/types.h>
|
||
|
#include <sys/socket.h>],
|
||
|
[socklen_t len = 42; return 0;],
|
||
|
ac_cv_type_socklen_t=yes,
|
||
|
ac_cv_type_socklen_t=no)
|
||
|
])
|
||
|
if test $ac_cv_type_socklen_t != yes; then
|
||
|
AC_DEFINE(socklen_t, int)
|
||
|
fi
|
||
|
])
|
||
|
|
||
|
#serial AM1
|
||
|
|
||
|
dnl From Bruno Haible.
|
||
|
|
||
|
AC_DEFUN([AM_LANGINFO_CODESET],
|
||
|
[
|
||
|
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
|
||
|
[AC_TRY_LINK([#include <langinfo.h>],
|
||
|
[char* cs = nl_langinfo(CODESET);],
|
||
|
am_cv_langinfo_codeset=yes,
|
||
|
am_cv_langinfo_codeset=no)
|
||
|
])
|
||
|
if test $am_cv_langinfo_codeset = yes; then
|
||
|
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
|
||
|
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
|
||
|
fi
|
||
|
])
|
||
|
# Macro to add for using GNU gettext.
|
||
|
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||
|
#
|
||
|
# 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.
|
||
|
|
||
|
# serial 10
|
||
|
|
||
|
dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
|
||
|
dnl If TOOLSYMBOL is specified and 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). Otherwise, 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.
|
||
|
dnl LIBDIR 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 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_WITH_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)
|
||
|
|
||
|
BUILD_INCLUDED_LIBINTL=no
|
||
|
USE_INCLUDED_LIBINTL=no
|
||
|
INTLLIBS=
|
||
|
|
||
|
dnl If we use NLS figure out what method
|
||
|
if test "$USE_NLS" = "yes"; then
|
||
|
AC_DEFINE(ENABLE_NLS, 1,
|
||
|
[Define to 1 if translation of program messages to the user's native language
|
||
|
is requested.])
|
||
|
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.
|
||
|
CATOBJEXT=NONE
|
||
|
|
||
|
dnl Add a version number to the cache macros.
|
||
|
define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
|
||
|
define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
|
||
|
|
||
|
AC_CHECK_HEADER(libintl.h,
|
||
|
[AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
|
||
|
[AC_TRY_LINK([#include <libintl.h>
|
||
|
extern int _nl_msg_cat_cntr;],
|
||
|
[bindtextdomain ("", "");
|
||
|
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
|
||
|
gt_cv_func_gnugettext_libc=yes,
|
||
|
gt_cv_func_gnugettext_libc=no)])
|
||
|
|
||
|
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
|
||
|
AC_CACHE_CHECK([for GNU gettext in libintl],
|
||
|
gt_cv_func_gnugettext_libintl,
|
||
|
[gt_save_LIBS="$LIBS"
|
||
|
LIBS="$LIBS -lintl $LIBICONV"
|
||
|
AC_TRY_LINK([#include <libintl.h>
|
||
|
extern int _nl_msg_cat_cntr;],
|
||
|
[bindtextdomain ("", "");
|
||
|
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
|
||
|
gt_cv_func_gnugettext_libintl=yes,
|
||
|
gt_cv_func_gnugettext_libintl=no)
|
||
|
LIBS="$gt_save_LIBS"])
|
||
|
fi
|
||
|
|
||
|
dnl If an already present or preinstalled GNU gettext() is found,
|
||
|
dnl use it. But if this macro is used in GNU gettext, and GNU
|
||
|
dnl gettext is already preinstalled in libintl, we update this
|
||
|
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
|
||
|
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|
||
|
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
|
||
|
&& test "$PACKAGE" != gettext; }; then
|
||
|
AC_DEFINE(HAVE_GETTEXT, 1,
|
||
|
[Define if the GNU gettext() function is already present or preinstalled.])
|
||
|
|
||
|
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
|
||
|
dnl If iconv() is in a separate libiconv library, then anyone
|
||
|
dnl linking with libintl{.a,.so} also needs to link with
|
||
|
dnl libiconv.
|
||
|
INTLLIBS="-lintl $LIBICONV"
|
||
|
fi
|
||
|
|
||
|
gt_save_LIBS="$LIBS"
|
||
|
LIBS="$LIBS $INTLLIBS"
|
||
|
AC_CHECK_FUNCS(dcgettext)
|
||
|
LIBS="$gt_save_LIBS"
|
||
|
|
||
|
dnl Search for GNU msgfmt in the PATH.
|
||
|
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||
|
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
|
||
|
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||
|
|
||
|
dnl Search for GNU xgettext in the PATH.
|
||
|
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||
|
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
|
||
|
|
||
|
CATOBJEXT=.gmo
|
||
|
fi
|
||
|
])
|
||
|
|
||
|
if test "$CATOBJEXT" = "NONE"; then
|
||
|
dnl GNU gettext is not found in the C library.
|
||
|
dnl Fall back on 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.
|
||
|
INTLOBJS="\$(GETTOBJS)"
|
||
|
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||
|
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
|
||
|
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||
|
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||
|
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
|
||
|
AC_SUBST(MSGFMT)
|
||
|
BUILD_INCLUDED_LIBINTL=yes
|
||
|
USE_INCLUDED_LIBINTL=yes
|
||
|
CATOBJEXT=.gmo
|
||
|
INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
|
||
|
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||
|
fi
|
||
|
|
||
|
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||
|
dnl Test whether we really found GNU msgfmt.
|
||
|
if test "$GMSGFMT" != ":"; then
|
||
|
dnl If it is no GNU msgfmt we define it as : so that the
|
||
|
dnl Makefiles still can work.
|
||
|
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
|
||
|
: ;
|
||
|
else
|
||
|
AC_MSG_RESULT(
|
||
|
[found msgfmt program is not GNU msgfmt; ignore it])
|
||
|
GMSGFMT=":"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||
|
dnl Test whether we really found GNU xgettext.
|
||
|
if test "$XGETTEXT" != ":"; then
|
||
|
dnl If it is no GNU xgettext we define it as : so that the
|
||
|
dnl Makefiles still can work.
|
||
|
if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
|
||
|
: ;
|
||
|
else
|
||
|
AC_MSG_RESULT(
|
||
|
[found xgettext program is not GNU xgettext; ignore it])
|
||
|
XGETTEXT=":"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl We need to process the po/ directory.
|
||
|
POSUB=po
|
||
|
fi
|
||
|
AC_OUTPUT_COMMANDS(
|
||
|
[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
|
||
|
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"
|
||
|
sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
|
||
|
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
|
||
|
sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
|
||
|
fi
|
||
|
;;
|
||
|
esac
|
||
|
done])
|
||
|
|
||
|
|
||
|
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; then
|
||
|
BUILD_INCLUDED_LIBINTL=yes
|
||
|
fi
|
||
|
|
||
|
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
|
||
|
dnl because plural.y uses bison specific features. It requires at least
|
||
|
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
|
||
|
dnl compile.
|
||
|
dnl bison is only needed for the maintainer (who touches plural.y). But in
|
||
|
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
|
||
|
dnl the rule in general Makefile. Now, some people carelessly touch the
|
||
|
dnl files or have a broken "make" program, hence the plural.c rule will
|
||
|
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
|
||
|
dnl present or too old.
|
||
|
AC_CHECK_PROGS([INTLBISON], [bison])
|
||
|
if test -z "$INTLBISON"; then
|
||
|
ac_verc_fail=yes
|
||
|
else
|
||
|
dnl Found it, now check the version.
|
||
|
AC_MSG_CHECKING([version of bison (only needed for developers)])
|
||
|
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 These rules are solely for the distribution goal. While doing this
|
||
|
dnl we only have to keep exactly one list of the available catalogs
|
||
|
dnl in configure.in.
|
||
|
for lang in $ALL_LINGUAS; do
|
||
|
GMOFILES="$GMOFILES $lang.gmo"
|
||
|
POFILES="$POFILES $lang.po"
|
||
|
done
|
||
|
|
||
|
dnl Make all variables we use known to autoconf.
|
||
|
AC_SUBST(BUILD_INCLUDED_LIBINTL)
|
||
|
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||
|
AC_SUBST(CATALOGS)
|
||
|
AC_SUBST(CATOBJEXT)
|
||
|
AC_SUBST(GMOFILES)
|
||
|
AC_SUBST(INTLLIBS)
|
||
|
AC_SUBST(INTLOBJS)
|
||
|
AC_SUBST(POFILES)
|
||
|
AC_SUBST(POSUB)
|
||
|
|
||
|
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 Usage: Just like AM_WITH_NLS, which see.
|
||
|
AC_DEFUN([AM_GNU_GETTEXT],
|
||
|
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||
|
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||
|
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||
|
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||
|
AC_REQUIRE([AC_C_CONST])dnl
|
||
|
AC_REQUIRE([AC_C_INLINE])dnl
|
||
|
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||
|
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||
|
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||
|
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||
|
AC_REQUIRE([jm_GLIBC21])dnl
|
||
|
|
||
|
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
|
||
|
stdlib.h string.h unistd.h sys/param.h])
|
||
|
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
|
||
|
getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
|
||
|
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
|
||
|
|
||
|
AM_ICONV
|
||
|
AM_LANGINFO_CODESET
|
||
|
AM_LC_MESSAGES
|
||
|
AM_WITH_NLS([$1],[$2],[$3])
|
||
|
|
||
|
if test "x$CATOBJEXT" != "x"; then
|
||
|
if test "x$ALL_LINGUAS" = "x"; then
|
||
|
LINGUAS=
|
||
|
else
|
||
|
AC_MSG_CHECKING(for catalogs to be installed)
|
||
|
NEW_LINGUAS=
|
||
|
for presentlang in $ALL_LINGUAS; do
|
||
|
useit=no
|
||
|
for desiredlang in ${LINGUAS-$ALL_LINGUAS}; 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
|
||
|
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
|
||
|
fi
|
||
|
done
|
||
|
LINGUAS=$NEW_LINGUAS
|
||
|
AC_MSG_RESULT($LINGUAS)
|
||
|
fi
|
||
|
|
||
|
dnl Construct list of names of catalog files to be constructed.
|
||
|
if test -n "$LINGUAS"; then
|
||
|
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||
|
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
|
||
|
dnl Try to locate is.
|
||
|
MKINSTALLDIRS=
|
||
|
if test -n "$ac_aux_dir"; then
|
||
|
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||
|
fi
|
||
|
if test -z "$MKINSTALLDIRS"; then
|
||
|
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||
|
fi
|
||
|
AC_SUBST(MKINSTALLDIRS)
|
||
|
|
||
|
dnl Enable libtool support if the surrounding package wishes it.
|
||
|
INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
|
||
|
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
|
||
|
])
|
||
|
#serial 2
|
||
|
|
||
|
# Test for the GNU C Library, version 2.1 or newer.
|
||
|
# From Bruno Haible.
|
||
|
|
||
|
AC_DEFUN([jm_GLIBC21],
|
||
|
[
|
||
|
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
|
||
|
ac_cv_gnu_library_2_1,
|
||
|
[AC_EGREP_CPP([Lucky GNU user],
|
||
|
[
|
||
|
#include <features.h>
|
||
|
#ifdef __GNU_LIBRARY__
|
||
|
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
|
||
|
Lucky GNU user
|
||
|
#endif
|
||
|
#endif
|
||
|
],
|
||
|
ac_cv_gnu_library_2_1=yes,
|
||
|
ac_cv_gnu_library_2_1=no)
|
||
|
]
|
||
|
)
|
||
|
AC_SUBST(GLIBC21)
|
||
|
GLIBC21="$ac_cv_gnu_library_2_1"
|
||
|
]
|
||
|
)
|
||
|
#serial AM2
|
||
|
|
||
|
dnl From Bruno Haible.
|
||
|
|
||
|
AC_DEFUN([AM_ICONV],
|
||
|
[
|
||
|
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_ARG_WITH([libiconv-prefix],
|
||
|
[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
|
||
|
for dir in `echo "$withval" | tr : ' '`; do
|
||
|
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
|
||
|
if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
|
||
|
done
|
||
|
])
|
||
|
|
||
|
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
|
||
|
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||
|
am_cv_lib_iconv=no
|
||
|
AC_TRY_LINK([#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 -liconv"
|
||
|
AC_TRY_LINK([#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_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
|
||
|
AC_MSG_CHECKING([for iconv declaration])
|
||
|
AC_CACHE_VAL(am_cv_proto_iconv, [
|
||
|
AC_TRY_COMPILE([
|
||
|
#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([$]{ac_t:-
|
||
|
}[$]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
|
||
|
LIBICONV=
|
||
|
if test "$am_cv_lib_iconv" = yes; then
|
||
|
LIBICONV="-liconv"
|
||
|
fi
|
||
|
AC_SUBST(LIBICONV)
|
||
|
])
|
||
|
#serial 1
|
||
|
# This test replaces the one in autoconf.
|
||
|
# Currently this macro should have the same name as the autoconf macro
|
||
|
# because gettext's gettext.m4 (distributed in the automake package)
|
||
|
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||
|
# give these diagnostics:
|
||
|
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||
|
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||
|
|
||
|
undefine([AC_ISC_POSIX])
|
||
|
|
||
|
AC_DEFUN([AC_ISC_POSIX],
|
||
|
[
|
||
|
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
|
||
|
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
|
||
|
]
|
||
|
)
|
||
|
# Check whether LC_MESSAGES is available in <locale.h>.
|
||
|
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||
|
#
|
||
|
# 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.
|
||
|
|
||
|
# serial 2
|
||
|
|
||
|
AC_DEFUN([AM_LC_MESSAGES],
|
||
|
[if test $ac_cv_header_locale_h = yes; then
|
||
|
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
||
|
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
||
|
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
||
|
if test $am_cv_val_LC_MESSAGES = yes; then
|
||
|
AC_DEFINE(HAVE_LC_MESSAGES, 1,
|
||
|
[Define if your <locale.h> file defines LC_MESSAGES.])
|
||
|
fi
|
||
|
fi])
|
||
|
# Search path for a program which passes the given test.
|
||
|
# Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||
|
#
|
||
|
# 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.
|
||
|
|
||
|
# serial 2
|
||
|
|
||
|
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],
|
||
|
[# 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.
|
||
|
;;
|
||
|
*)
|
||
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||
|
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||
|
test -z "$ac_dir" && ac_dir=.
|
||
|
if test -f $ac_dir/$ac_word; then
|
||
|
if [$3]; then
|
||
|
ac_cv_path_$1="$ac_dir/$ac_word"
|
||
|
break
|
||
|
fi
|
||
|
fi
|
||
|
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
|
||
|
])
|
||
|
|