1830 lines
59 KiB
Plaintext
1830 lines
59 KiB
Plaintext
# aclocal.m4 generated automatically by aclocal 1.5
|
|
|
|
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
|
# Free Software Foundation, Inc.
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
# Do all the work for Automake. This macro actually does too much --
|
|
# some checks are only needed if your package does certain things.
|
|
# But this isn't really a big deal.
|
|
|
|
# serial 5
|
|
|
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
|
# written in clear, in which case automake, when reading aclocal.m4,
|
|
# will think it sees a *use*, and therefore will trigger all it's
|
|
# C support machinery. Also note that it means that autoscan, seeing
|
|
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
|
|
|
|
|
# We require 2.13 because we rely on SHELL being computed by configure.
|
|
AC_PREREQ([2.13])
|
|
|
|
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
|
# -----------------------------------------------------------
|
|
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
|
|
# The purpose of this macro is to provide the user with a means to
|
|
# check macros which are provided without letting her know how the
|
|
# information is coded.
|
|
# If this macro is not defined by Autoconf, define it here.
|
|
ifdef([AC_PROVIDE_IFELSE],
|
|
[],
|
|
[define([AC_PROVIDE_IFELSE],
|
|
[ifdef([AC_PROVIDE_$1],
|
|
[$2], [$3])])])
|
|
|
|
|
|
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
|
|
# ----------------------------------------------
|
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
|
[AC_REQUIRE([AC_PROG_INSTALL])dnl
|
|
# test to see if srcdir already configured
|
|
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
|
|
test -f $srcdir/config.status; then
|
|
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
|
|
fi
|
|
|
|
# Define the identity of the package.
|
|
PACKAGE=$1
|
|
AC_SUBST(PACKAGE)dnl
|
|
VERSION=$2
|
|
AC_SUBST(VERSION)dnl
|
|
ifelse([$3],,
|
|
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
|
|
|
|
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
|
# the ones we care about.
|
|
ifdef([m4_pattern_allow],
|
|
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
|
|
|
|
# Autoconf 2.50 always computes EXEEXT. However we need to be
|
|
# compatible with 2.13, for now. So we always define EXEEXT, but we
|
|
# don't compute it.
|
|
AC_SUBST(EXEEXT)
|
|
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
|
|
# requests that it be used. This is a bit dumb.
|
|
: ${OBJEXT=o}
|
|
AC_SUBST(OBJEXT)
|
|
|
|
# Some tools Automake needs.
|
|
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
|
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
|
AM_MISSING_PROG(ACLOCAL, aclocal)
|
|
AM_MISSING_PROG(AUTOCONF, autoconf)
|
|
AM_MISSING_PROG(AUTOMAKE, automake)
|
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
|
AM_MISSING_PROG(AMTAR, tar)
|
|
AM_PROG_INSTALL_SH
|
|
AM_PROG_INSTALL_STRIP
|
|
# We need awk for the "check" target. The system "awk" is bad on
|
|
# some platforms.
|
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
|
AC_REQUIRE([AM_SET_DEPDIR])dnl
|
|
AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
|
[_AM_DEPENDENCIES(CC)],
|
|
[define([AC_PROG_][CC],
|
|
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
|
|
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
|
[_AM_DEPENDENCIES(CXX)],
|
|
[define([AC_PROG_][CXX],
|
|
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
|
])
|
|
|
|
#
|
|
# Check to make sure that the build environment is sane.
|
|
#
|
|
|
|
# serial 3
|
|
|
|
# AM_SANITY_CHECK
|
|
# ---------------
|
|
AC_DEFUN([AM_SANITY_CHECK],
|
|
[AC_MSG_CHECKING([whether build environment is sane])
|
|
# Just in case
|
|
sleep 1
|
|
echo timestamp > conftest.file
|
|
# Do `set' in a subshell so we don't clobber the current shell's
|
|
# arguments. Must try -L first in case configure is actually a
|
|
# symlink; some systems play weird games with the mod time of symlinks
|
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
|
# directory).
|
|
if (
|
|
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
|
|
if test "$[*]" = "X"; then
|
|
# -L didn't work.
|
|
set X `ls -t $srcdir/configure conftest.file`
|
|
fi
|
|
rm -f conftest.file
|
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
|
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
|
|
|
# If neither matched, then we have a broken ls. This can happen
|
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
|
# broken ls alias from the environment. This has actually
|
|
# happened. Such a system could not be considered "sane".
|
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
|
alias in your environment])
|
|
fi
|
|
|
|
test "$[2]" = conftest.file
|
|
)
|
|
then
|
|
# Ok.
|
|
:
|
|
else
|
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
|
Check your system clock])
|
|
fi
|
|
AC_MSG_RESULT(yes)])
|
|
|
|
|
|
# serial 2
|
|
|
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
|
# ------------------------------
|
|
AC_DEFUN([AM_MISSING_PROG],
|
|
[AC_REQUIRE([AM_MISSING_HAS_RUN])
|
|
$1=${$1-"${am_missing_run}$2"}
|
|
AC_SUBST($1)])
|
|
|
|
|
|
# AM_MISSING_HAS_RUN
|
|
# ------------------
|
|
# Define MISSING if not defined so far and test if it supports --run.
|
|
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --run true"; then
|
|
am_missing_run="$MISSING --run "
|
|
else
|
|
am_missing_run=
|
|
am_backtick='`'
|
|
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
|
|
fi
|
|
])
|
|
|
|
# AM_AUX_DIR_EXPAND
|
|
|
|
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
|
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
|
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
|
#
|
|
# Of course, Automake must honor this variable whenever it calls a
|
|
# tool from the auxiliary directory. The problem is that $srcdir (and
|
|
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
|
# depending on how configure is run. This is pretty annoying, since
|
|
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
|
# source directory, any form will work fine, but in subdirectories a
|
|
# relative path needs to be adjusted first.
|
|
#
|
|
# $ac_aux_dir/missing
|
|
# fails when called from a subdirectory if $ac_aux_dir is relative
|
|
# $top_srcdir/$ac_aux_dir/missing
|
|
# fails if $ac_aux_dir is absolute,
|
|
# fails when called from a subdirectory in a VPATH build with
|
|
# a relative $ac_aux_dir
|
|
#
|
|
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
|
# are both prefixed by $srcdir. In an in-source build this is usually
|
|
# harmless because $srcdir is `.', but things will broke when you
|
|
# start a VPATH build or use an absolute $srcdir.
|
|
#
|
|
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
|
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
|
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
|
# and then we would define $MISSING as
|
|
# MISSING="\${SHELL} $am_aux_dir/missing"
|
|
# This will work as long as MISSING is not called from configure, because
|
|
# unfortunately $(top_srcdir) has no meaning in configure.
|
|
# However there are other variables, like CC, which are often used in
|
|
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
|
#
|
|
# Another solution, used here, is to always expand $ac_aux_dir to an
|
|
# absolute PATH. The drawback is that using absolute paths prevent a
|
|
# configured tree to be moved without reconfiguration.
|
|
|
|
AC_DEFUN([AM_AUX_DIR_EXPAND], [
|
|
# expand $ac_aux_dir to an absolute path
|
|
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
|
|
])
|
|
|
|
# AM_PROG_INSTALL_SH
|
|
# ------------------
|
|
# Define $install_sh.
|
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
|
AC_SUBST(install_sh)])
|
|
|
|
# One issue with vendor `install' (even GNU) is that you can't
|
|
# specify the program used to strip binaries. This is especially
|
|
# annoying in cross-compiling environments, where the build's strip
|
|
# is unlikely to handle the host's binaries.
|
|
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
|
# always use install-sh in `make install-strip', and initialize
|
|
# STRIPPROG with the value of the STRIP variable (set by the user).
|
|
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
|
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
|
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
# serial 4 -*- Autoconf -*-
|
|
|
|
|
|
|
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
|
# written in clear, in which case automake, when reading aclocal.m4,
|
|
# will think it sees a *use*, and therefore will trigger all it's
|
|
# C support machinery. Also note that it means that autoscan, seeing
|
|
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
|
|
|
|
|
|
|
# _AM_DEPENDENCIES(NAME)
|
|
# ---------------------
|
|
# See how the compiler implements dependency checking.
|
|
# NAME is "CC", "CXX" or "OBJC".
|
|
# We try a few techniques and use that to set a single cache variable.
|
|
#
|
|
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
|
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
|
# dependency, and given that the user is not expected to run this macro,
|
|
# just rely on AC_PROG_CC.
|
|
AC_DEFUN([_AM_DEPENDENCIES],
|
|
[AC_REQUIRE([AM_SET_DEPDIR])dnl
|
|
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
|
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
|
|
|
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
|
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
|
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
|
|
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
|
[depcc="$$1" am_compiler_list=])
|
|
|
|
AC_CACHE_CHECK([dependency style of $depcc],
|
|
[am_cv_$1_dependencies_compiler_type],
|
|
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
|
# We make a subdir and do the tests there. Otherwise we can end up
|
|
# making bogus files that we don't know about and never remove. For
|
|
# instance it was reported that on HP-UX the gcc test will end up
|
|
# making a dummy file named `D' -- because `-MD' means `put the output
|
|
# in D'.
|
|
mkdir conftest.dir
|
|
# Copy depcomp to subdir because otherwise we won't find it if we're
|
|
# using a relative directory.
|
|
cp "$am_depcomp" conftest.dir
|
|
cd conftest.dir
|
|
|
|
am_cv_$1_dependencies_compiler_type=none
|
|
if test "$am_compiler_list" = ""; then
|
|
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
|
fi
|
|
for depmode in $am_compiler_list; do
|
|
# We need to recreate these files for each test, as the compiler may
|
|
# overwrite some of them when testing with obscure command lines.
|
|
# This happens at least with the AIX C compiler.
|
|
echo '#include "conftest.h"' > conftest.c
|
|
echo 'int i;' > conftest.h
|
|
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
|
|
|
|
case $depmode in
|
|
nosideeffect)
|
|
# after this tag, mechanisms are not by side-effect, so they'll
|
|
# only be used when explicitly requested
|
|
if test "x$enable_dependency_tracking" = xyes; then
|
|
continue
|
|
else
|
|
break
|
|
fi
|
|
;;
|
|
none) break ;;
|
|
esac
|
|
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
|
# mode. It turns out that the SunPro C++ compiler does not properly
|
|
# handle `-M -o', and we need to detect this.
|
|
if depmode=$depmode \
|
|
source=conftest.c object=conftest.o \
|
|
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
|
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
|
|
grep conftest.h conftest.Po > /dev/null 2>&1 &&
|
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
|
am_cv_$1_dependencies_compiler_type=$depmode
|
|
break
|
|
fi
|
|
done
|
|
|
|
cd ..
|
|
rm -rf conftest.dir
|
|
else
|
|
am_cv_$1_dependencies_compiler_type=none
|
|
fi
|
|
])
|
|
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
|
|
AC_SUBST([$1DEPMODE])
|
|
])
|
|
|
|
|
|
# AM_SET_DEPDIR
|
|
# -------------
|
|
# Choose a directory name for dependency files.
|
|
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
|
AC_DEFUN([AM_SET_DEPDIR],
|
|
[rm -f .deps 2>/dev/null
|
|
mkdir .deps 2>/dev/null
|
|
if test -d .deps; then
|
|
DEPDIR=.deps
|
|
else
|
|
# MS-DOS does not allow filenames that begin with a dot.
|
|
DEPDIR=_deps
|
|
fi
|
|
rmdir .deps 2>/dev/null
|
|
AC_SUBST(DEPDIR)
|
|
])
|
|
|
|
|
|
# AM_DEP_TRACK
|
|
# ------------
|
|
AC_DEFUN([AM_DEP_TRACK],
|
|
[AC_ARG_ENABLE(dependency-tracking,
|
|
[ --disable-dependency-tracking Speeds up one-time builds
|
|
--enable-dependency-tracking Do not reject slow dependency extractors])
|
|
if test "x$enable_dependency_tracking" != xno; then
|
|
am_depcomp="$ac_aux_dir/depcomp"
|
|
AMDEPBACKSLASH='\'
|
|
fi
|
|
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
|
pushdef([subst], defn([AC_SUBST]))
|
|
subst(AMDEPBACKSLASH)
|
|
popdef([subst])
|
|
])
|
|
|
|
# Generate code to set up dependency tracking.
|
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
|
# Usage:
|
|
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
|
|
#
|
|
# This code is only required when automatic dependency tracking
|
|
# is enabled. FIXME. This creates each `.P' file that we will
|
|
# need in order to bootstrap the dependency handling code.
|
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
|
|
AC_OUTPUT_COMMANDS([
|
|
test x"$AMDEP_TRUE" != x"" ||
|
|
for mf in $CONFIG_FILES; do
|
|
case "$mf" in
|
|
Makefile) dirpart=.;;
|
|
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
|
|
*) continue;;
|
|
esac
|
|
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
|
|
# Extract the definition of DEP_FILES from the Makefile without
|
|
# running `make'.
|
|
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
|
|
test -z "$DEPDIR" && continue
|
|
# When using ansi2knr, U may be empty or an underscore; expand it
|
|
U=`sed -n -e '/^U = / s///p' < "$mf"`
|
|
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
|
|
# We invoke sed twice because it is the simplest approach to
|
|
# changing $(DEPDIR) to its actual value in the expansion.
|
|
for file in `sed -n -e '
|
|
/^DEP_FILES = .*\\\\$/ {
|
|
s/^DEP_FILES = //
|
|
:loop
|
|
s/\\\\$//
|
|
p
|
|
n
|
|
/\\\\$/ b loop
|
|
p
|
|
}
|
|
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
|
|
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
|
# Make sure the directory exists.
|
|
test -f "$dirpart/$file" && continue
|
|
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
|
|
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
|
|
# echo "creating $dirpart/$file"
|
|
echo '# dummy' > "$dirpart/$file"
|
|
done
|
|
done
|
|
], [AMDEP_TRUE="$AMDEP_TRUE"
|
|
ac_aux_dir="$ac_aux_dir"])])
|
|
|
|
# AM_MAKE_INCLUDE()
|
|
# -----------------
|
|
# Check to see how make treats includes.
|
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
|
[am_make=${MAKE-make}
|
|
cat > confinc << 'END'
|
|
doit:
|
|
@echo done
|
|
END
|
|
# If we don't find an include directive, just comment out the code.
|
|
AC_MSG_CHECKING([for style of include used by $am_make])
|
|
am__include='#'
|
|
am__quote=
|
|
_am_result=none
|
|
# First try GNU make style include.
|
|
echo "include confinc" > confmf
|
|
# We grep out `Entering directory' and `Leaving directory'
|
|
# messages which can occur if `w' ends up in MAKEFLAGS.
|
|
# In particular we don't look at `^make:' because GNU make might
|
|
# be invoked under some other name (usually "gmake"), in which
|
|
# case it prints its new name instead of `make'.
|
|
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
|
|
am__include=include
|
|
am__quote=
|
|
_am_result=GNU
|
|
fi
|
|
# Now try BSD make style include.
|
|
if test "$am__include" = "#"; then
|
|
echo '.include "confinc"' > confmf
|
|
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
|
am__include=.include
|
|
am__quote='"'
|
|
_am_result=BSD
|
|
fi
|
|
fi
|
|
AC_SUBST(am__include)
|
|
AC_SUBST(am__quote)
|
|
AC_MSG_RESULT($_am_result)
|
|
rm -f confinc confmf
|
|
])
|
|
|
|
# serial 3
|
|
|
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
|
# -------------------------------------
|
|
# Define a conditional.
|
|
#
|
|
# FIXME: Once using 2.50, use this:
|
|
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
|
|
AC_DEFUN([AM_CONDITIONAL],
|
|
[ifelse([$1], [TRUE],
|
|
[errprint(__file__:__line__: [$0: invalid condition: $1
|
|
])dnl
|
|
m4exit(1)])dnl
|
|
ifelse([$1], [FALSE],
|
|
[errprint(__file__:__line__: [$0: invalid condition: $1
|
|
])dnl
|
|
m4exit(1)])dnl
|
|
AC_SUBST([$1_TRUE])
|
|
AC_SUBST([$1_FALSE])
|
|
if $2; then
|
|
$1_TRUE=
|
|
$1_FALSE='#'
|
|
else
|
|
$1_TRUE='#'
|
|
$1_FALSE=
|
|
fi])
|
|
|
|
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
|
|
|
# serial 3
|
|
|
|
# When config.status generates a header, we must update the stamp-h file.
|
|
# This file resides in the same directory as the config header
|
|
# that is generated. We must strip everything past the first ":",
|
|
# and everything past the last "/".
|
|
|
|
AC_PREREQ([2.12])
|
|
|
|
AC_DEFUN([AM_CONFIG_HEADER],
|
|
[ifdef([AC_FOREACH],dnl
|
|
[dnl init our file count if it isn't already
|
|
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
|
|
dnl prepare to store our destination file list for use in config.status
|
|
AC_FOREACH([_AM_File], [$1],
|
|
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
|
|
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
|
|
dnl and add it to the list of files AC keeps track of, along
|
|
dnl with our hook
|
|
AC_CONFIG_HEADERS(_AM_File,
|
|
dnl COMMANDS, [, INIT-CMDS]
|
|
[# update the timestamp
|
|
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
|
|
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
|
|
m4_popdef([_AM_Dest])])],dnl
|
|
[AC_CONFIG_HEADER([$1])
|
|
AC_OUTPUT_COMMANDS(
|
|
ifelse(patsubst([$1], [[^ ]], []),
|
|
[],
|
|
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
|
|
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
|
|
[am_indx=1
|
|
for am_file in $1; do
|
|
case " \$CONFIG_HEADERS " in
|
|
*" \$am_file "*)
|
|
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
|
|
if test -n "\$am_dir"; then
|
|
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
|
|
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
|
|
am_tmpdir=\$am_tmpdir\$am_subdir/
|
|
if test ! -d \$am_tmpdir; then
|
|
mkdir \$am_tmpdir
|
|
fi
|
|
done
|
|
fi
|
|
echo timestamp > "\$am_dir"stamp-h\$am_indx
|
|
;;
|
|
esac
|
|
am_indx=\`expr \$am_indx + 1\`
|
|
done])
|
|
])]) # AM_CONFIG_HEADER
|
|
|
|
# _AM_DIRNAME(PATH)
|
|
# -----------------
|
|
# Like AS_DIRNAME, only do it during macro expansion
|
|
AC_DEFUN([_AM_DIRNAME],
|
|
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
|
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
|
|
m4_if(m4_regexp([$1], [^/.*]), -1,
|
|
[.],
|
|
m4_patsubst([$1], [^\(/\).*], [\1])),
|
|
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
|
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
|
]) # _AM_DIRNAME
|
|
|
|
#serial 6
|
|
|
|
dnl By default, many hosts won't let programs access large files;
|
|
dnl one must use special compiler options to get large-file access to work.
|
|
dnl For more details about this brain damage please see:
|
|
dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
|
|
|
|
dnl Written by Paul Eggert <eggert@twinsun.com>.
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_FLAGS],
|
|
[AC_CACHE_CHECK([for $1 value to request large file support],
|
|
ac_cv_sys_largefile_$1,
|
|
[if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2
|
|
then
|
|
ac_cv_sys_largefile_$1=`cat conftest.1`
|
|
else
|
|
ac_cv_sys_largefile_$1=no
|
|
ifelse($1, CFLAGS,
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1.
|
|
changequote(, )dnl
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
changequote([, ])dnl
|
|
if test "$GCC" = yes; then
|
|
ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__
|
|
fi
|
|
;;
|
|
# IRIX 6.2 and later require cc -n32.
|
|
changequote(, )dnl
|
|
irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
|
|
changequote([, ])dnl
|
|
if test "$GCC" != yes; then
|
|
ac_cv_sys_largefile_CFLAGS=-n32
|
|
fi
|
|
esac
|
|
if test "$ac_cv_sys_largefile_CFLAGS" != no; then
|
|
ac_save_CC="$CC"
|
|
CC="$CC $ac_cv_sys_largefile_CFLAGS"
|
|
AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
|
|
CC="$ac_save_CC"
|
|
fi])
|
|
fi
|
|
rm -f conftest*])])
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_SPACE_APPEND],
|
|
[case $2 in
|
|
no) ;;
|
|
?*)
|
|
case "[$]$1" in
|
|
'') $1=$2 ;;
|
|
*) $1=[$]$1' '$2 ;;
|
|
esac ;;
|
|
esac])
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE],
|
|
[AC_CACHE_CHECK([for $1], $2,
|
|
[$2=no
|
|
changequote(, )dnl
|
|
$4
|
|
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
|
|
case "$ac_flag" in
|
|
-D$1)
|
|
$2=1 ;;
|
|
-D$1=*)
|
|
$2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
|
|
esac
|
|
done
|
|
changequote([, ])dnl
|
|
])
|
|
if test "[$]$2" != no; then
|
|
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
|
|
fi])
|
|
|
|
AC_DEFUN([AC_SYS_LARGEFILE],
|
|
[AC_REQUIRE([AC_CANONICAL_HOST])
|
|
AC_ARG_ENABLE(largefile,
|
|
[ --disable-largefile omit support for large files])
|
|
if test "$enable_largefile" != no; then
|
|
AC_CHECK_TOOL(GETCONF, getconf)
|
|
AC_SYS_LARGEFILE_FLAGS(CFLAGS)
|
|
AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
|
|
AC_SYS_LARGEFILE_FLAGS(LIBS)
|
|
|
|
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
|
|
case "$ac_flag" in
|
|
no) ;;
|
|
-D_FILE_OFFSET_BITS=*) ;;
|
|
-D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
|
|
-D_LARGE_FILES | -D_LARGE_FILES=*) ;;
|
|
-D?* | -I?*)
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
|
|
*)
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
|
|
esac
|
|
done
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
|
|
AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
|
|
ac_cv_sys_file_offset_bits,
|
|
[Number of bits in a file offset, on hosts where this is settable.],
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 and later
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
ac_cv_sys_file_offset_bits=64 ;;
|
|
esac])
|
|
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
|
|
ac_cv_sys_largefile_source,
|
|
[Define to make fseeko etc. visible, on some hosts.],
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 and later
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
ac_cv_sys_largefile_source=1 ;;
|
|
esac])
|
|
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
|
|
ac_cv_sys_large_files,
|
|
[Define for large files, on AIX-style hosts.],
|
|
[case "$host_os" in
|
|
# AIX 4.2 and later
|
|
aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
|
|
ac_cv_sys_large_files=1 ;;
|
|
esac])
|
|
fi
|
|
])
|
|
|
|
|
|
# serial 1
|
|
|
|
AC_DEFUN([AM_C_PROTOTYPES],
|
|
[AC_REQUIRE([AM_PROG_CC_STDC])
|
|
AC_REQUIRE([AC_PROG_CPP])
|
|
AC_MSG_CHECKING([for function prototypes])
|
|
if test "$am_cv_prog_cc_stdc" != no; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
|
|
U= ANSI2KNR=
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
U=_ ANSI2KNR=./ansi2knr
|
|
fi
|
|
# Ensure some checks needed by ansi2knr itself.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(string.h)
|
|
AC_SUBST(U)dnl
|
|
AC_SUBST(ANSI2KNR)dnl
|
|
])
|
|
|
|
|
|
# serial 1
|
|
|
|
# @defmac AC_PROG_CC_STDC
|
|
# @maindex PROG_CC_STDC
|
|
# @ovindex CC
|
|
# If the C compiler in not in ANSI C mode by default, try to add an option
|
|
# to output variable @code{CC} to make it so. This macro tries various
|
|
# options that select ANSI C on some system or another. It considers the
|
|
# compiler to be in ANSI C mode if it handles function prototypes correctly.
|
|
#
|
|
# If you use this macro, you should check after calling it whether the C
|
|
# compiler has been set to accept ANSI C; if not, the shell variable
|
|
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
|
|
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
|
|
# program @code{ansi2knr}, which comes with Ghostscript.
|
|
# @end defmac
|
|
|
|
AC_DEFUN([AM_PROG_CC_STDC],
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_BEFORE([$0], [AC_C_INLINE])
|
|
AC_BEFORE([$0], [AC_C_CONST])
|
|
dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
|
|
dnl a magic option to avoid problems with ANSI preprocessor commands
|
|
dnl like #elif.
|
|
dnl FIXME: can't do this because then AC_AIX won't work due to a
|
|
dnl circular dependency.
|
|
dnl AC_BEFORE([$0], [AC_PROG_CPP])
|
|
AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
|
|
AC_CACHE_VAL(am_cv_prog_cc_stdc,
|
|
[am_cv_prog_cc_stdc=no
|
|
ac_save_CC="$CC"
|
|
# Don't try gcc -ansi; that turns off useful extensions and
|
|
# breaks some systems' header files.
|
|
# AIX -qlanglvl=ansi
|
|
# Ultrix and OSF/1 -std1
|
|
# HP-UX 10.20 and later -Ae
|
|
# HP-UX older versions -Aa -D_HPUX_SOURCE
|
|
# SVR4 -Xc -D__EXTENSIONS__
|
|
for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
|
|
do
|
|
CC="$ac_save_CC $ac_arg"
|
|
AC_TRY_COMPILE(
|
|
[#include <stdarg.h>
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
|
struct buf { int x; };
|
|
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
|
static char *e (p, i)
|
|
char **p;
|
|
int i;
|
|
{
|
|
return p[i];
|
|
}
|
|
static char *f (char * (*g) (char **, int), char **p, ...)
|
|
{
|
|
char *s;
|
|
va_list v;
|
|
va_start (v,p);
|
|
s = g (p, va_arg (v,int));
|
|
va_end (v);
|
|
return s;
|
|
}
|
|
int test (int i, double x);
|
|
struct s1 {int (*f) (int a);};
|
|
struct s2 {int (*f) (double a);};
|
|
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
|
|
int argc;
|
|
char **argv;
|
|
], [
|
|
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
|
|
],
|
|
[am_cv_prog_cc_stdc="$ac_arg"; break])
|
|
done
|
|
CC="$ac_save_CC"
|
|
])
|
|
if test -z "$am_cv_prog_cc_stdc"; then
|
|
AC_MSG_RESULT([none needed])
|
|
else
|
|
AC_MSG_RESULT([$am_cv_prog_cc_stdc])
|
|
fi
|
|
case "x$am_cv_prog_cc_stdc" in
|
|
x|xno) ;;
|
|
*) CC="$CC $am_cv_prog_cc_stdc" ;;
|
|
esac
|
|
])
|
|
|
|
#serial 5
|
|
|
|
dnl From Paul Eggert.
|
|
|
|
AC_PREREQ(2.13)
|
|
|
|
# Define uintmax_t to `unsigned long' or `unsigned long long'
|
|
# if <inttypes.h> does not exist.
|
|
|
|
AC_DEFUN(jm_AC_TYPE_UINTMAX_T,
|
|
[
|
|
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
|
if test $jm_ac_cv_header_inttypes_h = no; then
|
|
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
|
test $ac_cv_type_unsigned_long_long = 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 <inttypes.h> doesn't define.])
|
|
fi
|
|
])
|
|
|
|
#serial 3
|
|
|
|
dnl From Paul Eggert.
|
|
|
|
# Define HAVE_INTTYPES_H if <inttypes.h> exists,
|
|
# doesn't clash with <sys/types.h>, and declares uintmax_t.
|
|
|
|
AC_DEFUN(jm_AC_HEADER_INTTYPES_H,
|
|
[
|
|
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
|
|
[AC_TRY_COMPILE(
|
|
[#include <sys/types.h>
|
|
#include <inttypes.h>],
|
|
[uintmax_t i = (uintmax_t) -1;],
|
|
jm_ac_cv_header_inttypes_h=yes,
|
|
jm_ac_cv_header_inttypes_h=no)])
|
|
if test $jm_ac_cv_header_inttypes_h = yes; then
|
|
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
|
|
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
|
|
and declares uintmax_t. ])
|
|
fi
|
|
])
|
|
|
|
#serial 2
|
|
|
|
dnl From Paul Eggert.
|
|
|
|
AC_DEFUN(jm_AC_TYPE_UNSIGNED_LONG_LONG,
|
|
[
|
|
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
|
|
[AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
|
|
[unsigned long long ullmax = (unsigned long long) -1;
|
|
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
|
|
ac_cv_type_unsigned_long_long=yes,
|
|
ac_cv_type_unsigned_long_long=no)])
|
|
if test $ac_cv_type_unsigned_long_long = yes; then
|
|
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
|
|
[Define if you have the unsigned long long type.])
|
|
fi
|
|
])
|
|
|
|
# serial 8
|
|
|
|
# From Paul Eggert.
|
|
|
|
# BeOS 5 has <wchar.h> but does not define mbstate_t,
|
|
# so you can't declare an object of that type.
|
|
# Check for this incompatibility with Standard C.
|
|
|
|
# Include stdlib.h first, because otherwise this test would fail on Linux
|
|
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
|
|
# a syntax error in wchar.h due to the use of undefined __int32_t.
|
|
|
|
AC_DEFUN(AC_MBSTATE_T,
|
|
[
|
|
AC_CHECK_HEADERS(stdlib.h)
|
|
|
|
AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
|
|
[AC_TRY_COMPILE([
|
|
#if HAVE_STDLIB_H
|
|
# include <stdlib.h>
|
|
#endif
|
|
#include <wchar.h>],
|
|
[mbstate_t x; return sizeof x;],
|
|
ac_cv_type_mbstate_t=yes,
|
|
ac_cv_type_mbstate_t=no)])
|
|
if test $ac_cv_type_mbstate_t = no; then
|
|
AC_DEFINE(mbstate_t, int,
|
|
[Define to a type if <wchar.h> does not define.])
|
|
fi])
|
|
|
|
#serial 2
|
|
|
|
# autoconf tests required for use of xstrtoumax.c
|
|
|
|
AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,
|
|
[
|
|
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
|
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
|
AC_CHECK_HEADERS(stdlib.h)
|
|
|
|
AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
|
|
jm_cv_func_strtoumax_macro,
|
|
AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
|
|
#ifdef strtoumax
|
|
inttypes_h_defines_strtoumax
|
|
#endif],
|
|
jm_cv_func_strtoumax_macro=yes,
|
|
jm_cv_func_strtoumax_macro=no))
|
|
|
|
if test "$jm_cv_func_strtoumax_macro" != yes; then
|
|
AC_REPLACE_FUNCS(strtoumax)
|
|
fi
|
|
|
|
dnl We don't need (and can't compile) the replacement strtoull
|
|
dnl unless the type `unsigned long long' exists.
|
|
dnl Also, only the replacement strtoumax invokes strtoull,
|
|
dnl so we need the replacement strtoull only if strtoumax does not exist.
|
|
case "$ac_cv_type_unsigned_long_long,$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
|
|
yes,no,no)
|
|
AC_REPLACE_FUNCS(strtoull)
|
|
;;
|
|
esac
|
|
|
|
])
|
|
|
|
#serial 5
|
|
|
|
AC_DEFUN(jm_CHECK_DECLARATION,
|
|
[
|
|
AC_MSG_CHECKING([whether $1 is declared])
|
|
AC_CACHE_VAL(jm_cv_func_decl_$1,
|
|
[AC_TRY_COMPILE([$2],
|
|
[
|
|
#ifndef $1
|
|
char *(*pfn) = (char *(*)) $1
|
|
#endif
|
|
],
|
|
eval "jm_cv_func_decl_$1=yes",
|
|
eval "jm_cv_func_decl_$1=no")])
|
|
|
|
if eval "test \"`echo '$jm_cv_func_decl_'$1`\" = yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
ifelse([$3], , :, [$3])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
ifelse([$4], , , [$4
|
|
])dnl
|
|
fi
|
|
])dnl
|
|
|
|
dnl jm_CHECK_DECLARATIONS(INCLUDES, FUNCTION... [, ACTION-IF-DECLARED
|
|
dnl [, ACTION-IF-NOT-DECLARED]])
|
|
AC_DEFUN(jm_CHECK_DECLARATIONS,
|
|
[
|
|
for jm_func in $2
|
|
do
|
|
jm_CHECK_DECLARATION($jm_func, [$1],
|
|
[
|
|
jm_tr_func=HAVE_DECL_`echo $jm_func | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
|
AC_DEFINE_UNQUOTED($jm_tr_func, 1, [Define if your system declares $1]) $3], [$4])dnl
|
|
done
|
|
])
|
|
|
|
# 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 or the GNU Library General Public License but which still want
|
|
# to provide support for the GNU gettext functionality.
|
|
# Please note that the actual code of the GNU gettext library is covered
|
|
# by the GNU Library General Public License, and the rest of the GNU
|
|
# gettext package package is covered by the GNU General Public License.
|
|
# They are *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])
|
|
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)
|
|
])
|
|
|
|
# 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 or the GNU Library General Public License but which still want
|
|
# to provide support for the GNU gettext functionality.
|
|
# Please note that the actual code of the GNU gettext library is covered
|
|
# by the GNU Library General Public License, and the rest of the GNU
|
|
# gettext package package is covered by the GNU General Public License.
|
|
# They are *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
|
|
])
|
|
|
|
#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"])
|
|
]
|
|
)
|
|
|
|
#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 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
|
|
])
|
|
|
|
# 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 or the GNU Library General Public License but which still want
|
|
# to provide support for the GNU gettext functionality.
|
|
# Please note that the actual code of the GNU gettext library is covered
|
|
# by the GNU Library General Public License, and the rest of the GNU
|
|
# gettext package package is covered by the GNU General Public License.
|
|
# They are *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])
|
|
|
|
# Check to see if we use dir\file name conventtion
|
|
# If so, set macro HAVE_DOS_FILE_NAMES
|
|
# Also set the macro HAVE_DOS_FILE_CONTENTS for now,
|
|
# since don't know of a good way to independently check this.
|
|
dnl AC_DOSFILE()
|
|
AC_DEFUN(AC_DOSFILE,
|
|
[
|
|
AC_CACHE_CHECK([for dos file convention], ac_cv_dosfile,
|
|
[if test -d ".\."; then
|
|
ac_cv_dosfile=yes
|
|
else
|
|
ac_cv_dosfile=no
|
|
fi
|
|
])
|
|
|
|
if test $ac_cv_dosfile = yes; then
|
|
AC_DEFINE(HAVE_DOS_FILE_NAMES, 1, [Define if your OS uses backslashes as directory separators])
|
|
AC_DEFINE(HAVE_DOS_FILE_CONTENTS, 1,
|
|
[Define if text file lines end in CRLF.])
|
|
fi
|
|
])
|
|
|
|
# Check to see the separator for the environment variables
|
|
# and set SEP to ";" or default ":"
|
|
|
|
dnl AM_SEP()
|
|
dnl SEP
|
|
AC_DEFUN(AM_SEP,
|
|
[AC_REQUIRE([AC_CYGWIN])
|
|
AC_REQUIRE([AC_MINGW32])
|
|
AC_REQUIRE([AC_DJGPP])
|
|
AC_MSG_CHECKING([for environ variable separator])
|
|
AC_CACHE_VAL(ac_cv_sep,
|
|
[if test "$CYGWIN" = yes || test "$MINGW32" = yes || test "$DJ_GPP" = yes ; then
|
|
ac_cv_sep=yes
|
|
else
|
|
ac_cv_sep=no
|
|
fi])
|
|
SEP=":"
|
|
test x"$ac_cv_sep" = xyes && SEP=";"
|
|
AC_MSG_RESULT(${SEP})
|
|
AC_SUBST(SEP)])
|
|
|
|
dnl Check for DJGPP. we use DJ_GPP as the variable
|
|
dnl EXEEXXT
|
|
AC_DEFUN(AC_DJGPP,
|
|
[AC_CACHE_CHECK(for DJGPP environment, ac_cv_djgpp,
|
|
[AC_TRY_COMPILE(,[ return __DJGPP__;],
|
|
ac_cv_djgpp=yes, ac_cv_djgpp=no)
|
|
rm -f conftest*])
|
|
DJ_GPP=
|
|
test "$ac_cv_djgpp" = yes && DJ_GPP=yes])
|
|
|
|
#serial 5001
|
|
|
|
dnl Initially derived from code in GNU grep.
|
|
dnl Mostly written by Jim Meyering.
|
|
|
|
dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
|
|
dnl
|
|
AC_DEFUN(jm_INCLUDED_REGEX,
|
|
[
|
|
dnl Even packages that don't use regex.c can use this macro.
|
|
dnl Of course, for them it doesn't do anything.
|
|
|
|
# Assume we'll default to using the included regex.c.
|
|
ac_use_included_regex=yes
|
|
|
|
# However, if the system regex support is good enough that it passes the
|
|
# the following run test, then default to *not* using the included regex.c.
|
|
# If cross compiling, assume the test would fail and use the included
|
|
# regex.c. The first failing regular expression is from `Spencer ere
|
|
# test #75' in grep-2.3.
|
|
AC_CACHE_CHECK([for working re_compile_pattern],
|
|
jm_cv_func_working_re_compile_pattern,
|
|
AC_TRY_RUN(
|
|
changequote(<<, >>)dnl
|
|
<<
|
|
#include <stdio.h>
|
|
#include <regex.h>
|
|
int
|
|
main ()
|
|
{
|
|
static struct re_pattern_buffer regex;
|
|
const char *s;
|
|
re_set_syntax (RE_SYNTAX_POSIX_EGREP);
|
|
/* Add this third left square bracket, [, to balance the
|
|
three right ones below. Otherwise autoconf-2.14 chokes. */
|
|
s = re_compile_pattern ("a[[:]:]]b\n", 9, ®ex);
|
|
/* This should fail with _Invalid character class name_ error. */
|
|
if (!s)
|
|
exit (1);
|
|
|
|
/* This should succeed, but doesn't for e.g. glibc-2.1.3. */
|
|
s = re_compile_pattern ("{1", 2, ®ex);
|
|
|
|
exit (s ? 1 : 0);
|
|
}
|
|
>>,
|
|
changequote([, ])dnl
|
|
|
|
jm_cv_func_working_re_compile_pattern=yes,
|
|
jm_cv_func_working_re_compile_pattern=no,
|
|
dnl When crosscompiling, assume it's broken.
|
|
jm_cv_func_working_re_compile_pattern=no))
|
|
if test $jm_cv_func_working_re_compile_pattern = yes; then
|
|
ac_use_included_regex=no
|
|
fi
|
|
|
|
test -n "$1" || AC_MSG_ERROR([missing argument])
|
|
syscmd([test -f $1])
|
|
ifelse(sysval, 0,
|
|
[
|
|
|
|
AC_ARG_WITH(included-regex,
|
|
[ --without-included-regex don't compile regex; this is the default on
|
|
systems with version 2 of the GNU C library
|
|
(use with caution on other system)],
|
|
jm_with_regex=$withval,
|
|
jm_with_regex=$ac_use_included_regex)
|
|
if test "$jm_with_regex" = yes; then
|
|
AC_LIBOBJ(regex)
|
|
fi
|
|
],
|
|
)
|
|
]
|
|
)
|
|
|
|
#serial 1002, but ported to autoconf 2.13 by eggert
|
|
# Experimental replacement for the function in the latest CVS autoconf.
|
|
# If the compile-test says strerror_r doesn't work, then resort to a
|
|
# `run'-test that works on BeOS and segfaults on DEC Unix.
|
|
# Use with the error.c file in ../lib.
|
|
|
|
undefine([AC_FUNC_STRERROR_R])
|
|
|
|
# AC_FUNC_STRERROR_R
|
|
# ------------------
|
|
AC_DEFUN([AC_FUNC_STRERROR_R],
|
|
[jm_CHECK_DECLARATION(strerror_r, [#include <string.h>])
|
|
test $jm_cv_func_decl_strerror_r != yes
|
|
AC_DEFINE_UNQUOTED(HAVE_DECL_STRERROR_R, $?,
|
|
[Define to 1 if strerror_r is declared.])
|
|
AC_CHECK_FUNCS([strerror_r])
|
|
if test $ac_cv_func_strerror_r = yes; then
|
|
AC_CHECK_HEADERS(string.h)
|
|
AC_CACHE_CHECK([for working strerror_r],
|
|
ac_cv_func_strerror_r_works,
|
|
[
|
|
AC_TRY_COMPILE(
|
|
[
|
|
# include <stdio.h>
|
|
# if HAVE_STRING_H
|
|
# include <string.h>
|
|
# endif
|
|
],
|
|
[
|
|
char buf[100];
|
|
char x = *strerror_r (0, buf, sizeof buf);
|
|
],
|
|
ac_cv_func_strerror_r_works=yes,
|
|
ac_cv_func_strerror_r_works=no
|
|
)
|
|
if test $ac_cv_func_strerror_r_works = no; then
|
|
# strerror_r seems not to work, but now we have to choose between
|
|
# systems that have relatively inaccessible declarations for the
|
|
# function. BeOS and DEC UNIX 4.0 fall in this category, but the
|
|
# former has a strerror_r that returns char*, while the latter
|
|
# has a strerror_r that returns int.
|
|
# This test should segfault on the DEC system.
|
|
AC_TRY_RUN(
|
|
[
|
|
# include <stdio.h>
|
|
# include <string.h>
|
|
# include <ctype.h>
|
|
|
|
extern char *strerror_r ();
|
|
|
|
int
|
|
main ()
|
|
{
|
|
char buf[100];
|
|
char x = *strerror_r (0, buf, sizeof buf);
|
|
exit (!isalpha (x));
|
|
}
|
|
],
|
|
ac_cv_func_strerror_r_works=yes,
|
|
ac_cv_func_strerror_r_works=no,
|
|
ac_cv_func_strerror_r_works=no)
|
|
fi
|
|
])
|
|
if test $ac_cv_func_strerror_r_works = yes; then
|
|
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1,
|
|
[Define to 1 if strerror_r returns a string.])
|
|
fi
|
|
fi
|
|
])# AC_FUNC_STRERROR_R
|
|
|
|
#serial 1
|
|
|
|
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
|
dnl directory -- otherwise, they'll conflict with existing files.
|
|
|
|
dnl These are the prerequisite macros for GNU's error.c file.
|
|
AC_DEFUN(jm_PREREQ_ERROR,
|
|
[
|
|
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
|
|
AC_HEADER_STDC
|
|
])
|
|
|
|
#serial 3
|
|
|
|
dnl From Jim Meyering.
|
|
dnl Determine whether malloc accepts 0 as its argument.
|
|
dnl If it doesn't, arrange to use the replacement function.
|
|
dnl
|
|
|
|
AC_DEFUN(jm_FUNC_MALLOC,
|
|
[
|
|
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
|
dnl mistakenly use a broken malloc -- as it might if this test were omitted.
|
|
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
|
[Define if the malloc check has been performed. ])
|
|
|
|
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
|
|
[AC_TRY_RUN([
|
|
char *malloc ();
|
|
int
|
|
main ()
|
|
{
|
|
exit (malloc (0) ? 0 : 1);
|
|
}
|
|
],
|
|
jm_cv_func_working_malloc=yes,
|
|
jm_cv_func_working_malloc=no,
|
|
dnl When crosscompiling, assume malloc is broken.
|
|
jm_cv_func_working_malloc=no)
|
|
])
|
|
if test $jm_cv_func_working_malloc = no; then
|
|
AC_LIBOBJ(malloc)
|
|
AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
|
|
[Define to rpl_malloc if the replacement function should be used.])
|
|
fi
|
|
])
|
|
|
|
#serial 3
|
|
|
|
dnl From Jim Meyering.
|
|
dnl Determine whether realloc works when both arguments are 0.
|
|
dnl If it doesn't, arrange to use the replacement function.
|
|
dnl
|
|
|
|
AC_DEFUN(jm_FUNC_REALLOC,
|
|
[
|
|
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
|
dnl mistakenly use a broken realloc -- as it might if this test were omitted.
|
|
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
|
[Define if the realloc check has been performed. ])
|
|
|
|
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
|
|
[AC_TRY_RUN([
|
|
char *realloc ();
|
|
int
|
|
main ()
|
|
{
|
|
exit (realloc (0, 0) ? 0 : 1);
|
|
}
|
|
],
|
|
jm_cv_func_working_realloc=yes,
|
|
jm_cv_func_working_realloc=no,
|
|
dnl When crosscompiling, assume realloc is broken.
|
|
jm_cv_func_working_realloc=no)
|
|
])
|
|
if test $jm_cv_func_working_realloc = no; then
|
|
AC_LIBOBJ(realloc)
|
|
AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
|
|
[Define to rpl_realloc if the replacement function should be used.])
|
|
fi
|
|
])
|
|
|