summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/comp_tools/bison.in1
-rw-r--r--config/configure.in.in3
-rw-r--r--config/libc/glibc.in14
-rw-r--r--configure.ac7
-rw-r--r--packages/bison/3.0.5/chksum8
-rw-r--r--packages/bison/3.0.5/version.desc0
-rw-r--r--packages/bison/3.1/chksum8
-rw-r--r--packages/bison/3.1/version.desc0
-rw-r--r--packages/bison/3.2.4/chksum8
-rw-r--r--packages/bison/3.2.4/version.desc0
-rw-r--r--packages/bison/3.3.2/chksum8
-rw-r--r--packages/bison/3.3.2/version.desc0
-rw-r--r--packages/bison/package.desc6
-rw-r--r--scripts/build/companion_tools/510-bison.sh66
-rw-r--r--scripts/crosstool-NG.sh3
15 files changed, 130 insertions, 2 deletions
diff --git a/config/comp_tools/bison.in b/config/comp_tools/bison.in
new file mode 100644
index 0000000..b0dc9e1
--- /dev/null
+++ b/config/comp_tools/bison.in
@@ -0,0 +1 @@
+# GNU bison
diff --git a/config/configure.in.in b/config/configure.in.in
index c8df5a3..27e9f16 100644
--- a/config/configure.in.in
+++ b/config/configure.in.in
@@ -39,6 +39,9 @@ config CONFIGURE_has_gnu_m4_1_4_12_or_newer
config CONFIGURE_has_python_3_4_or_newer
@KCONFIG_python_3_4_or_newer@
+config CONFIGURE_has_bison_2_7_or_newer
+ @KCONFIG_bison_2_7_or_newer@
+
config CONFIGURE_has_python
@KCONFIG_python@
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index e27a4f6..4138707 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -35,6 +35,20 @@ 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 requires GCC5+ or, for ppc64le, GCC6.2+. We only support the latest
+# release on GCC6 branch, so just assume it is newer than 6.2
+config GLIBC_DEP_GCC
+ def_bool y
+ select GCC_REQUIRE_5_or_later if GLIBC_2_29_or_later
+ select GCC_REQUIRE_6_or_later if GLIBC_2_29_or_later && ARCH_POWERPC && ARCH_64 && ARCH_LE
+
+# Glibc 2.29 requires bison 2.7 or later. All versions in ct-ng satisfy that
+# version requirement.
+config GLIBC_DEP_BISON
+ def_bool y
+ depends on GLIBC_2_29_or_later && !CONFIGURE_has_bison_2_7_or_newer
+ select COMP_TOOLS_BISON
+
# 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
diff --git a/configure.ac b/configure.ac
index bea1817..566b024 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,7 +113,6 @@ AC_PROG_RANLIB
CTNG_PATH_TOOL_REQ([OBJCOPY], [gobjcopy objcopy], [objcopy])
CTNG_PATH_TOOL_REQ([OBJDUMP], [gobjdump objdump], [objdump])
CTNG_PATH_TOOL_REQ([READELF], [greadelf readelf], [readelf])
-CTNG_PATH_TOOL_REQ([BISON], [bison], [bison])
CTNG_CHECK_PROGS_REQ([flex], [flex])
CTNG_CHECK_PROGS_REQ([makeinfo], [makeinfo])
@@ -246,6 +245,12 @@ CTNG_PROG_VERSION([PYTHON],
[^Python 3\.([4-9]|[1-9][0-9]+)\.],
[python_3_4_or_newer])
+CTNG_PROG_VERSION([BISON],
+ [bison >= 2.7],
+ [bison],
+ [bison],
+ [\(GNU Bison\) (2\.[7-9]|2\.[1-9][0-9]|[3-9]\.)],
+ [bison_2_7_or_newer])
AC_SUBST([kconfig_options])
diff --git a/packages/bison/3.0.5/chksum b/packages/bison/3.0.5/chksum
new file mode 100644
index 0000000..e3c010d
--- /dev/null
+++ b/packages/bison/3.0.5/chksum
@@ -0,0 +1,8 @@
+md5 bison-3.0.5.tar.xz 3e54f20988ecd1b62044e25481e5f06b
+sha1 bison-3.0.5.tar.xz 45e904d04d88c821df95833c4be4414ce5a47a4b
+sha256 bison-3.0.5.tar.xz 075cef2e814642e30e10e8155e93022e4a91ca38a65aa1d5467d4e969f97f338
+sha512 bison-3.0.5.tar.xz 00b448db8abe91b07e32ff5273c6617bc1350d806f92073a9472f4c2f0de5d22c152795674171b74f2eb9eff8d36f8173b82dacb215601bb071ae39404d4a8a2
+md5 bison-3.0.5.tar.gz 41ad57813157b61bfa47e33067a9d6f0
+sha1 bison-3.0.5.tar.gz 326135383c6ef4439781f5817475948b28501dbc
+sha256 bison-3.0.5.tar.gz cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566
+sha512 bison-3.0.5.tar.gz 2087f5ced90518a93416c0c2d914f0ddbb55fb87af94becf03c7097f5d2365a05a3c287241018e86883d8a8bc3519dd7f175606edde96a30b3a54ca0b8a84642
diff --git a/packages/bison/3.0.5/version.desc b/packages/bison/3.0.5/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/bison/3.0.5/version.desc
diff --git a/packages/bison/3.1/chksum b/packages/bison/3.1/chksum
new file mode 100644
index 0000000..9ae47fb
--- /dev/null
+++ b/packages/bison/3.1/chksum
@@ -0,0 +1,8 @@
+md5 bison-3.1.tar.xz db7e431785ad96870bfa570a15cab079
+sha1 bison-3.1.tar.xz 84e5b016fa76f6cd4246131b1ca11a0f926e7922
+sha256 bison-3.1.tar.xz 7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6
+sha512 bison-3.1.tar.xz 2a8e217ffb55ed5b1fcc989377ac348a066e62b8a4b0b0da40c3c7202f3ea487b2aab6a704a10b48d2d17673be0e22f6ff1be91fc05c4e0a57969b42a59d0152
+md5 bison-3.1.tar.gz ba1f1c7d286adc79339c0f1d0f696963
+sha1 bison-3.1.tar.gz 6d42cbe38023a3020df498f1c22dc46439ee08b3
+sha256 bison-3.1.tar.gz a7cb36b55316eeec626865c03d2a44210617a17c7d393ee63d8553e0649ee946
+sha512 bison-3.1.tar.gz 5864bcc211bf326d7bde27a0f2603385e1796d475e607ac8904e360ef50c8e069033cc3701eb010e8077eec7f265276e0921dcae8beb9c1779b42ef598e59908
diff --git a/packages/bison/3.1/version.desc b/packages/bison/3.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/bison/3.1/version.desc
diff --git a/packages/bison/3.2.4/chksum b/packages/bison/3.2.4/chksum
new file mode 100644
index 0000000..9bb466f
--- /dev/null
+++ b/packages/bison/3.2.4/chksum
@@ -0,0 +1,8 @@
+md5 bison-3.2.4.tar.xz 4c8cec0ca8b637d46f24902d032b9296
+sha1 bison-3.2.4.tar.xz 950c7fa571677828eab963126b93a4ed9d496b74
+sha256 bison-3.2.4.tar.xz 523d44419f4df68286503740c95c7b3400b748d7d8b797209195ee5d67f05634
+sha512 bison-3.2.4.tar.xz 652b54fdee969bbc17eeb04d05d65f143e8e0e1b46ac2574e3a76687b9bd916c9a0c97658b4f8357958d64e87fe2a6a2a98a6c312970f0e74fb4445962e9daae
+md5 bison-3.2.4.tar.gz eeecdf612b423097ea9182979ca3e093
+sha1 bison-3.2.4.tar.gz 5e10f5d5036907f9d58232372754bce58af651c2
+sha256 bison-3.2.4.tar.gz cb673e2298d34b5e46ba7df0641afa734da1457ce47de491863407a587eec79a
+sha512 bison-3.2.4.tar.gz 2670a5aa0d4e9a9433b4b132e11b0af42da8500fdd085fdf7c11033418baf4b0d5d6ca9e56d701c9b406c33231f2d0979a72c15f2ecdade34bc01fa31a690ce0
diff --git a/packages/bison/3.2.4/version.desc b/packages/bison/3.2.4/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/bison/3.2.4/version.desc
diff --git a/packages/bison/3.3.2/chksum b/packages/bison/3.3.2/chksum
new file mode 100644
index 0000000..23fc937
--- /dev/null
+++ b/packages/bison/3.3.2/chksum
@@ -0,0 +1,8 @@
+md5 bison-3.3.2.tar.xz c9b552dee234b2f6b66e56b27e5234c9
+sha1 bison-3.3.2.tar.xz 6a09cd588f7a0f985839fc8cecdc80da948f7de7
+sha256 bison-3.3.2.tar.xz 039ee45b61d95e5003e7e8376f9080001b4066ff357bde271b7faace53b9d804
+sha512 bison-3.3.2.tar.xz 63c67291ea1bd00f4412fc589ffb891ede3e2577253016a9a185e00fb2d702371f3862486639a8f52f8a887f340a639575ff3b7ba93c152170cbfd8c9585c1dc
+md5 bison-3.3.2.tar.gz a2d208a01a72eb98c2d7e3a2ec2bc51e
+sha1 bison-3.3.2.tar.gz 364991dad2ae8e255564fdcb6f77e8da608243d5
+sha256 bison-3.3.2.tar.gz 0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1
+sha512 bison-3.3.2.tar.gz 42cc3de5a1f349eb8677869f85ea44c8590d3c59ba2488bab04f1575c840c25f80bfb3b5650dfa9cbad530238c1e5efb9b683571fe2e87346e1b01a392a3508b
diff --git a/packages/bison/3.3.2/version.desc b/packages/bison/3.3.2/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/bison/3.3.2/version.desc
diff --git a/packages/bison/package.desc b/packages/bison/package.desc
new file mode 100644
index 0000000..b4c6cbc
--- /dev/null
+++ b/packages/bison/package.desc
@@ -0,0 +1,6 @@
+repository='git https://git.savannah.gnu.org/git/bison.git'
+bootstrap='./bootstrap'
+mirrors='$(CT_Mirrors GNU bison)'
+relevantpattern='*.*|.'
+archive_formats='.tar.xz .tar.gz'
+signature_format='packed/.sig'
diff --git a/scripts/build/companion_tools/510-bison.sh b/scripts/build/companion_tools/510-bison.sh
new file mode 100644
index 0000000..9379ea8
--- /dev/null
+++ b/scripts/build/companion_tools/510-bison.sh
@@ -0,0 +1,66 @@
+# Build script for bison
+
+do_companion_tools_bison_get()
+{
+ CT_Fetch BISON
+}
+
+do_companion_tools_bison_extract()
+{
+ CT_ExtractPatch BISON
+}
+
+do_companion_tools_bison_for_build()
+{
+ CT_DoStep INFO "Installing bison for build"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-bison-build"
+ do_bison_backend \
+ host=${CT_BUILD} \
+ prefix="${CT_BUILD_COMPTOOLS_DIR}" \
+ cflags="${CT_CFLAGS_FOR_BUILD}" \
+ ldflags="${CT_LDFLAGS_FOR_BUILD}"
+ CT_Popd
+ CT_EndStep
+}
+
+do_companion_tools_bison_for_host()
+{
+ CT_DoStep INFO "Installing bison for host"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-bison-host"
+ do_bison_backend \
+ host=${CT_HOST} \
+ prefix="${CT_PREFIX_DIR}" \
+ cflags="${CT_CFLAGS_FOR_HOST}" \
+ ldflags="${CT_LDFLAGS_FOR_HOST}"
+ CT_Popd
+ CT_EndStep
+}
+
+do_bison_backend()
+{
+ local host
+ local prefix
+ local cflags
+ local ldflags
+ local -a extra_config
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ CT_DoLog EXTRA "Configuring bison"
+ CT_DoExecLog CFG \
+ CFLAGS="${cflags}" \
+ LDFLAGS="${ldflags}" \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/bison/configure" \
+ --host="${host}" \
+ --prefix="${prefix}" \
+ "${extra_config[@]}"
+
+ CT_DoLog EXTRA "Building bison"
+ CT_DoExecLog ALL make
+
+ CT_DoLog EXTRA "Installing bison"
+ CT_DoExecLog ALL make install
+}
diff --git a/scripts/crosstool-NG.sh b/scripts/crosstool-NG.sh
index 2e60f20..db15b89 100644
--- a/scripts/crosstool-NG.sh
+++ b/scripts/crosstool-NG.sh
@@ -458,6 +458,7 @@ if [ -z "${CT_RESTART}" ]; then
fi
# Not all tools are available for all platforms, but some are required.
+ # TBD do we need these as shell wrappers? exec is slow on Cygwin, and this makes exec twice for each compiler/linker run
if [ -n "${where}" ]; then
CT_DoLog DEBUG " '${!v}-${tool}' -> '${where}'"
printf "#${BANG}${CT_CONFIG_SHELL}\nexec '${where}' \"\${@}\"\n" >"${CT_BUILDTOOLS_PREFIX_DIR}/bin/${!v}-${tool}"
@@ -468,7 +469,7 @@ if [ -z "${CT_RESTART}" ]; then
ar|as|gcc|ld|nm|objcopy|objdump|ranlib)
CT_Abort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!"
;;
- # Some are conditionnally required
+ # Some are conditionally required
# Add them in alphabetical (C locale) ordering
g++)
# g++ (needed for companion lib), only needed for HOST