From 7a94c81e5bf171d1258aa60438482fd44e5f9800 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Thu, 26 Jan 2017 21:05:17 -0800 Subject: Rework configure logic wrt GNU autotools Rather than requiring them of a certain version, detect if they are present (and have sufficient version) and select an appropriate companion tool otherwise. The reason is that, for example, most recent gettext requires automake 1.15, but the newest available CentOS has 1.13. Hence, the option to "upgrade your system" does not apply, and the warning comment above the companion tools is rather scary. With this approach, it will work out of the box - either by using the host's tools, or by building them as needed. Note that the user can still change the setting in the config. While there, propagate the new version checking macro to awk/bash/host binutils, and switch from --with-foo=xxx to officially blessed FOO=xxx: the latter does not require checking for bogus values (i.e., --with-foo, --without-foo) and AC_PROG_* macros recognize the corresponding settings without further modifications. For now, I kept --with-foo=, if only to complain and steer people to the new way. To be cleaned up after a release. Signed-off-by: Alexey Neyman --- config/companion_tools.in | 24 ------------------------ config/companion_tools/autoconf.in | 5 ++++- config/companion_tools/automake.in | 1 + config/companion_tools/libtool.in | 2 ++ config/companion_tools/m4.in | 1 + config/companion_tools/make.in | 1 + 6 files changed, 9 insertions(+), 25 deletions(-) (limited to 'config') diff --git a/config/companion_tools.in b/config/companion_tools.in index 1df9802e..5291f466 100644 --- a/config/companion_tools.in +++ b/config/companion_tools.in @@ -2,28 +2,6 @@ menu "Companion tools" -config COMP_TOOLS_FORCE_make_3_81 - def_bool y - depends on ! CONFIGURE_has_make_3_81_or_newer - select COMP_TOOLS - select COMP_TOOLS_make - -comment "READ HELP before you say 'Y' below !!!" - -config COMP_TOOLS - bool - prompt "Build some companion tools" - help - Crosstool-NG relies on some external tools to be recent enough, namely: - make >= 3.81 - m4 >= 1.4.12 - autoconf >= 2.63 - automake >= 1.10.2 - libtool >= 2.2.4 - - If your system has older versions, we can build them for you, - but you are strongly encouraged to update your system instead! - config COMP_TOOLS_FOR_HOST bool prompt "Install companion tools for host" @@ -32,8 +10,6 @@ config COMP_TOOLS_FOR_HOST tools into the final toolchain (rather than just using them to build it). -if COMP_TOOLS || COMP_TOOLS_FOR_HOST source "config.gen/companion_tools.in" -endif endmenu diff --git a/config/companion_tools/autoconf.in b/config/companion_tools/autoconf.in index 3b33df61..b85e1f93 100644 --- a/config/companion_tools/autoconf.in +++ b/config/companion_tools/autoconf.in @@ -1,5 +1,7 @@ # Autoconf +## default y if !CONFIGURE_has_autoconf_2_63_or_newer +## default y if !CONFIGURE_has_autoreconf_2_63_or_newer ## help Autoconf choice @@ -14,7 +16,8 @@ config AUTOCONF_V_2_69 config AUTOCONF_V_2_65 bool - prompt "2.65" + prompt "2.65 (OBSOLETE)" + depends on OBSOLETE endchoice diff --git a/config/companion_tools/automake.in b/config/companion_tools/automake.in index 781a44a7..31d036b6 100644 --- a/config/companion_tools/automake.in +++ b/config/companion_tools/automake.in @@ -1,5 +1,6 @@ # Automake +## default y if !CONFIGURE_has_automake_1_15_or_newer ## help Automake choice diff --git a/config/companion_tools/libtool.in b/config/companion_tools/libtool.in index 62e6ee1c..5c14fa06 100644 --- a/config/companion_tools/libtool.in +++ b/config/companion_tools/libtool.in @@ -1,5 +1,7 @@ # Libtool +## default y if !CONFIGURE_has_libtool_2_4_or_newer +## default y if !CONFIGURE_has_libtoolize_2_4_or_newer ## help Libtool choice diff --git a/config/companion_tools/m4.in b/config/companion_tools/m4.in index a09e9fa0..eb6a3d30 100644 --- a/config/companion_tools/m4.in +++ b/config/companion_tools/m4.in @@ -1,5 +1,6 @@ # GNU m4 +## default y if !CONFIGURE_has_gnu_m4_1_4_12_or_newer ## help GNU m4 choice diff --git a/config/companion_tools/make.in b/config/companion_tools/make.in index e9e7997a..b6834a75 100644 --- a/config/companion_tools/make.in +++ b/config/companion_tools/make.in @@ -1,5 +1,6 @@ # GNU make +## default y if !CONFIGURE_has_make_3_81_or_newer ## help GNU make choice -- cgit v1.2.3