diff options
author | Explorer09 <explorer09@gmail.com> | 2018-07-27 10:04:32 +0800 |
---|---|---|
committer | Explorer09 <explorer09@gmail.com> | 2018-10-25 06:44:30 +0800 |
commit | 0954f389d3eb50f0d39eba06eb0f2730d2ad3d50 (patch) | |
tree | 33f814f2b008661f43809804496c1290166f3d77 | |
parent | 4c7e3a5a676cfb98cc33382715dc6f6929688fdd (diff) | |
download | flex-git-0954f389d3eb50f0d39eba06eb0f2730d2ad3d50.tar.gz |
build: correct and document minimum Autotools reqirement in configure.ac
A build test is done to determine the minimum versions of the configure
tools (Autoconf, Automake, Libtool & gettext) that can successfully
build flex in the current state of the code. This commit would help
builders to figure out whether their build tools are still compatible
for building flex, or they need tools upgrade, especially when they
patch flex and need to regenerate configure script for any reason.
This commit resolves version requirement debates as in #374.
A summary of version requirements: Autoconf 2.62, Libtool 2.2,
Automake 1.11.3 and gettext 0.19.6.
Signed-off-by: Kang-che Sung <explorer09@gmail.com>
-rw-r--r-- | configure.ac | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 9c53590..b93eb38 100644 --- a/configure.ac +++ b/configure.ac @@ -24,13 +24,22 @@ # autoconf requirements and initialization +dnl We recommend builders to regenerate configure and auxiliary scripts with +dnl exact versions of tools that generate flex release tarball, or latest +dnl versions of tools for flex development. The minimum feature and version +dnl requirements are provided for information only (no guarantee that the tools +dnl will work and we may bump requirements with future code changes). +dnl Uses AC_PATH_PROGS_FEATURE_CHECK. Requires autoconf-2.62 as minimum. +AC_PREREQ([2.62]) AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) -AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([src/scan.l]) AC_CONFIG_AUX_DIR([build-aux]) AC_USE_SYSTEM_EXTENSIONS +dnl "LT_*" macros and "libtoolize --install" require libtool-2.2 as minimum. +LT_PREREQ([2.2]) LT_INIT -AM_INIT_AUTOMAKE([1.15 -Wno-portability foreign std-options dist-lzip parallel-tests subdir-objects]) +dnl Uses dist-lzip. Requires automake-1.11.3 as minimum. +AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign std-options dist-lzip parallel-tests subdir-objects]) AC_CONFIG_HEADER([src/config.h]) AC_CONFIG_LIBOBJ_DIR([lib]) AC_CONFIG_MACRO_DIR([m4]) @@ -40,7 +49,15 @@ AC_SUBST(SHARED_VERSION_INFO) # checks for programs AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.19.7]) +dnl Try to pull in latest gettext infrastructure ("po" and "m4") files. +dnl Unfortunately autoreconf as of 2.69 doesn't recognize +dnl AM[_]GNU[_]GETTEXT_REQUIRE_VERSION so we provide AM[_]GNU[_]GETTEXT_VERSION +dnl as fallback. (autopoint will ignore latter if former is specified.) +dnl +dnl Bugs in gettext before 0.14 prevent building flex with it. +dnl FLEX_GNU_GETTEXT_REAL_REQUIRE_VERSION=0.14 +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6]) +AM_GNU_GETTEXT_VERSION([0.19.6]) AC_PROG_YACC AS_IF([test "$YACC" != 'bison -y'], [ YACC="\${top_srcdir}/build-aux/missing bison -y" |