summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2019-03-02 23:45:37 (GMT)
committerAlexey Neyman <stilor@att.net>2019-03-02 23:45:37 (GMT)
commit862c35457d2cb95124d802d5dbeddb4815dc08c1 (patch)
treee9a44a2349106ca8adb442b1073763df8c681454 /config
parentc4126d9397353a74ca5aff602dd2c0c527e1dd07 (diff)
Fix build of glibc 2.29 on systems with obsolete host programs
- Force building make as a companion tool if host make is older than 4.0 (CentOS 7 currently has 3.82) - Disable 2.29 as a choice if host python is older than 3.4 (CentOS 7 has 2.6 unless python from EPEL is installed) - Python2 emits its version information to STDERR. Ugh. While there, also use the detected host Python for GDB configuration. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'config')
-rw-r--r--config/comp_tools/make.in7
-rw-r--r--config/configure.in.in9
-rw-r--r--config/libc/glibc.in17
3 files changed, 28 insertions, 5 deletions
diff --git a/config/comp_tools/make.in b/config/comp_tools/make.in
index 8d0ac29..ca7996b 100644
--- a/config/comp_tools/make.in
+++ b/config/comp_tools/make.in
@@ -3,6 +3,7 @@
## default y if !CONFIGURE_has_make_3_81_or_newer
config MAKE_GMAKE_SYMLINK
- bool
- prompt "Add gmake symlink to companion gnu/make"
- depends on COMP_TOOLS_MAKE
+ bool "Create 'gmake' symlink"
+
+config MAKE_GNUMAKE_SYMLINK
+ bool "Create 'gnumake' symlink"
diff --git a/config/configure.in.in b/config/configure.in.in
index 49fdb2e..c8df5a3 100644
--- a/config/configure.in.in
+++ b/config/configure.in.in
@@ -15,6 +15,9 @@ config CONFIGURE_has_curl
config CONFIGURE_has_make_3_81_or_newer
@KCONFIG_make_3_81_or_newer@
+config CONFIGURE_has_make_4_0_or_newer
+ @KCONFIG_make_4_0_or_newer@
+
config CONFIGURE_has_libtool_2_4_or_newer
@KCONFIG_libtool_2_4_or_newer@
@@ -33,6 +36,12 @@ config CONFIGURE_has_automake_1_15_or_newer
config CONFIGURE_has_gnu_m4_1_4_12_or_newer
@KCONFIG_gnu_m4_1_4_12_or_newer@
+config CONFIGURE_has_python_3_4_or_newer
+ @KCONFIG_python_3_4_or_newer@
+
+config CONFIGURE_has_python
+ @KCONFIG_python@
+
config CONFIGURE_has_dtc
@KCONFIG_dtc@
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index 6598c31..e27a4f6 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -23,8 +23,8 @@ endif
# Glibc has some dependencies on the kernel headers:
config GLIBC_DEP_KERNEL_HEADERS_VERSION
- def_bool y
- select LINUX_REQUIRE_3_2_or_later if GLIBC_2_24_or_later
+ def_bool y
+ select LINUX_REQUIRE_3_2_or_later if GLIBC_2_24_or_later
# Glibc 2.26 requires at least binutils 2.25.
# Also, binutils 2.30 fail while compiling aarch64 glibc; fixed in 2.27
@@ -35,6 +35,19 @@ config GLIBC_DEP_BINUTILS
select BINUTILS_REQUIRE_2_25_or_later if GLIBC_2_26_or_later
select BINUTILS_REQUIRE_older_than_2_30 if GLIBC_older_than_2_26 && ARCH_ARM && ARCH_64
+# Glibc 2.29 now requires Python 3.4 or later, and make 4.0 or later. Ensure
+# we build 'make' as a companion tool if host's make isn't new enough.
+config GLIBC_DEP_PYTHON
+ def_bool y
+ select GLIBC_REQUIRE_older_than_2_29 if !CONFIGURE_has_python_3_4_or_newer
+
+config GLIBC_DEP_MAKE_4_0
+ def_bool y
+ depends on GLIBC_2_29_or_later && !CONFIGURE_has_make_4_0_or_newer
+ select COMP_TOOLS_MAKE
+ select MAKE_REQUIRE_4_0_or_later
+ select MAKE_GNUMAKE_SYMLINK # Override old host make in .build/tools/bin
+
config GLIBC_DEP_GCC
def_bool y
select GCC_REQUIRE_4_9_or_later if GLIBC_2_26_or_later