m4_pattern_forbid([^MAN_])
# Initialise and check we're in the correct directory.
-AC_INIT([man-db], [2.7.1], [cjwatson@debian.org])
+AC_INIT([man-db], [2.9.4], [cjwatson@debian.org])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.11 -Wall -Wno-override -Werror foreign dist-xz no-dist-gzip parallel-tests])
AM_MAINTAINER_MODE
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AC_PREREQ([2.59])
+AM_SILENT_RULES([yes])
+AC_PREREQ([2.63])
AC_CONFIG_SRCDIR([src/man.c])
AC_GNU_SOURCE
-m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
-LT_INIT([disable-static])
-
-if test ! -f "$srcdir/gnulib/po/Makefile.in.in"; then
- AC_MSG_ERROR([you must run ./autogen.sh before ./configure when building from revision control])
-fi
+MAN_TAR_SORT_NAME
AC_CONFIG_HEADER([config.h])
AC_CANONICAL_HOST
# Define below date and version information to be put into man pages etc.
-date=2014-11-07
+date=2021-02-08
AC_SUBST([date])dnl
roff_version=`echo AC_PACKAGE_VERSION | sed 's/-/\\-/g'`
AC_SUBST([roff_version])dnl
+# Explicitly check for pkg-config early on, since otherwise the conditional
+# calls in MAN_ARG_SYSTEMDTMPFILESDIR and MAN_ARG_SYSTEMDSYSTEMUNITDIR are
+# problematic.
+PKG_PROG_PKG_CONFIG
+
# We have to be a bit naughty here and supply options.
# The autoconf literature states that only features that can be separately
# 'built' should use --enable and friends. Oh well...
+MAN_ARG_CACHE_OWNER
MAN_ARG_SETUID
MAN_ARG_UNDOC
MAN_ARG_DEVICE
MAN_ARG_CATS
MAN_ARG_OVERRIDE_DIR
MAN_ARG_SYSTEMDTMPFILESDIR
+MAN_ARG_SYSTEMDSYSTEMUNITDIR
MAN_ARG_MANDIRS
+MAN_ARG_MANUAL
# Check $PATH for the following programs and append suitable options.
AC_PROG_CC
CFLAGS="$CFLAGS -YPOSIX"
;;
esac
-if test "$GCC" = yes
-then
- gl_WARN_ADD([-W])
- gl_WARN_ADD([-Wpointer-arith])
- gl_WARN_ADD([-Wwrite-strings])
- gl_WARN_ADD([-Wstrict-prototypes])
- gl_WARN_ADD([-Wshadow])
- gl_WARN_ADD([-Wformat-security])
- gl_WARN_ADD([-Wredundant-decls])
- gl_WARN_ADD([-Wno-missing-field-initializers])
-fi
+
+# Enable all reasonable GCC warnings.
+gl_MANYWARN_ALL_GCC([warnings])
+nw=
+nw="$nw -Wsystem-headers"
+nw="$nw -Wmissing-field-initializers"
+nw="$nw -Winline"
+gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$nw])
+for w in $warnings; do
+ gl_WARN_ADD([$w])
+done
+gl_WARN_ADD([-Wno-missing-field-initializers])
+# Disable use of VLAs by Gnulib to avoid tripping over -Wvla.
+AC_DEFINE([GNULIB_NO_VLA], [1], [Define to 1 to disable use of VLAs.])
+
AC_PROG_INSTALL
AC_PROG_LN_S
+AM_PROG_AR
+LT_INIT([disable-static])
AC_CHECK_PROGS([cat], [cat])
MAN_CHECK_PROGS([browser], [BROWSER], [use BROWSER as default web browser], [www-browser lynx elinks w3m])
test -n "$browser" && browser="exec $browser"
AC_CHECK_PROGS([tr], [tr])
AC_CHECK_PROGS([grep], [grep])
MAN_CHECK_PROGS([pager], [PAGER], [use PAGER as default pager], [pager less more])
-test -n "$pager" && pager="$pager -s"
# Define below (in list of preference) *roff macros to check for.
macros="andoc an doc"
else
troff="(troff not installed)"
fi
+dnl We want to end up with "-" written as "\-" in manual pages. This
+dnl requires additional \-escaping corresponding to the following quote
+dnl removal steps:
+dnl 1) the following sed command
+dnl 2) the following assignment
+dnl 2) sed running on the substituted version of man/replace.sin.in
+troff_as_troff_input=`echo "$troff" | sed 's/-/\\\\\\\\-/g'`
+AC_SUBST([troff_as_troff_input])
if test -n "$nroff"
then
then
unlzip="$lzip -dc"
fi
-if test -n "$gzip" || test -n "$compress" || test -n "$bzip2" || test -n "$xz" || test -n "$lzip" || test -n "$lzma"
+MAN_CHECK_PROGS([zstd], [ZSTD], [use ZSTD as LZ77/entropy-coding compression utility], [zstd])
+if test -n "$zstd"
+then
+ unzstd="$zstd -dc"
+fi
+if test -n "$compressor"
then
AC_DEFINE([COMP_CAT], [1], [Define if you have compressors and want to support compressed cat files.])
- AC_DEFINE([COMP_SRC], [1], [Define if you have compressors and want to support compressed manual source.])
fi
AC_SUBST([compressor])
AC_SUBST([compress_ext])
AC_SUBST([unlzma])
AC_SUBST([unxz])
AC_SUBST([unlzip])
+AC_SUBST([unzstd])
MAN_COMPRESS_LIB([z], [gzopen])
dnl To add more decompressors just follow the scheme above.
AC_ISC_POSIX
dnl AC_PROG_LEX calls AC_TRY_LINK: must come after above 3
AC_PROG_LEX
+if test "$LEX" = ":" && (test ! -e src/lexgrog.c || test ! -e src/zsoelim.c)
+then
+ AC_MSG_ERROR([flex is required when building from revision control])
+fi
gl_INIT
-AC_CHECK_HEADERS([fcntl.h sys/file.h linux/fiemap.h])
+AC_CHECK_HEADERS([sys/file.h linux/fiemap.h])
AC_CHECK_FUNCS([posix_fadvise])
# Internationalization support.
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.18.1])
+AM_GNU_GETTEXT_VERSION([0.18.3])
AC_SUBST([LINGUAS])
AM_ICONV
MAN_PO4A
AC_TYPE_SIZE_T
# Check for pipeline library.
-PKG_CHECK_MODULES([libpipeline], [libpipeline >= 1.4.0])
+PKG_CHECK_MODULES([libpipeline], [libpipeline >= 1.5.0])
# Find a suitable database interface header and library.
#
AC_SUBST([DBTYPE], [ndbm])]
db=yes, db=no)
test "$db" = "yes" && break
+ done], db=no)
+ if test "$db" = no
+ then
+ AC_CHECK_HEADER([gdbm-ndbm.h], [
+ for lib in gdbm_compat c dbm
+ do
+ AC_CHECK_LIB([$lib], [dbm_fetch],
+ test "$lib" = "c" || DBLIBS="-l$lib"
+ [AC_DEFINE([NDBM], [1], [Define if you have, and want to use, ndbm interface routines.])
+ AC_SUBST([DBTYPE], [ndbm])]
+ db=yes, db=no)
+ test "$db" = "yes" && break
done], db=no)
+ fi
fi
if test "$db" != "yes"
fi
AC_SUBST([DBLIBS])
+# Check for libseccomp library.
+MAN_LIBSECCOMP
+
dnl MAN_ECHO_VAR(ENV-VARIABLE)
define([MAN_ECHO_VAR], [AC_MSG_NOTICE([default $1 = "$$1"])])dnl
dnl
MAN_TRANS_SUBST([catman])
MAN_TRANS_SUBST([lexgrog])
MAN_TRANS_SUBST([man])
+MAN_TRANS_SUBST([man-recode])
MAN_TRANS_SUBST([manconv])
MAN_TRANS_SUBST([mandb])
MAN_TRANS_SUBST([manpath])
# If we're cross-compiling, tests won't work.
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = xyes])
+# Are Gnulib translations available?
+AM_CONDITIONAL([HAVE_GNULIB_PO], [test -f "$srcdir/gl/po/POTFILES.in"])
+
AC_CONFIG_FILES([Makefile
- gnulib/lib/Makefile
- gnulib/po/Makefile.in
+ gl/lib/Makefile
init/Makefile
init/systemd/Makefile
lib/Makefile
man/ja/Makefile
man/nl/Makefile
man/pl/Makefile
+ man/pt/Makefile
+ man/pt_BR/Makefile
+ man/ro/Makefile
man/ru/Makefile
+ man/sr/Makefile
+ man/sv/Makefile
+ man/tr/Makefile
man/zh_CN/Makefile
manual/Makefile
libdb/Makefile
include/comp_src.h
include/manconfig.h
po/Makefile.in])
+if test -f "$srcdir/gl/po/Makefile.in.in"; then
+ AC_CONFIG_FILES([gl/po/Makefile.in])
+fi
AC_OUTPUT