mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-19 21:07:54 +00:00
Meet our new companion tool, bison
Which is here courtesy of CentOS6, which only has bison 2.4 - while new glibc requires 2.7. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
da11216f8d
commit
b3cce054ef
1
config/comp_tools/bison.in
Normal file
1
config/comp_tools/bison.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
# GNU bison
|
@ -39,6 +39,9 @@ config CONFIGURE_has_gnu_m4_1_4_12_or_newer
|
|||||||
config CONFIGURE_has_python_3_4_or_newer
|
config CONFIGURE_has_python_3_4_or_newer
|
||||||
@KCONFIG_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
|
config CONFIGURE_has_python
|
||||||
@KCONFIG_python@
|
@KCONFIG_python@
|
||||||
|
|
||||||
|
@ -35,6 +35,20 @@ config GLIBC_DEP_BINUTILS
|
|||||||
select BINUTILS_REQUIRE_2_25_or_later if GLIBC_2_26_or_later
|
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
|
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
|
# 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.
|
# we build 'make' as a companion tool if host's make isn't new enough.
|
||||||
config GLIBC_DEP_PYTHON
|
config GLIBC_DEP_PYTHON
|
||||||
|
@ -113,7 +113,6 @@ AC_PROG_RANLIB
|
|||||||
CTNG_PATH_TOOL_REQ([OBJCOPY], [gobjcopy objcopy], [objcopy])
|
CTNG_PATH_TOOL_REQ([OBJCOPY], [gobjcopy objcopy], [objcopy])
|
||||||
CTNG_PATH_TOOL_REQ([OBJDUMP], [gobjdump objdump], [objdump])
|
CTNG_PATH_TOOL_REQ([OBJDUMP], [gobjdump objdump], [objdump])
|
||||||
CTNG_PATH_TOOL_REQ([READELF], [greadelf readelf], [readelf])
|
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([flex], [flex])
|
||||||
CTNG_CHECK_PROGS_REQ([makeinfo], [makeinfo])
|
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-9]|[1-9][0-9]+)\.],
|
||||||
[python_3_4_or_newer])
|
[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])
|
AC_SUBST([kconfig_options])
|
||||||
|
|
||||||
|
8
packages/bison/3.0.5/chksum
vendored
Normal file
8
packages/bison/3.0.5/chksum
vendored
Normal file
@ -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
|
0
packages/bison/3.0.5/version.desc
vendored
Normal file
0
packages/bison/3.0.5/version.desc
vendored
Normal file
8
packages/bison/3.1/chksum
vendored
Normal file
8
packages/bison/3.1/chksum
vendored
Normal file
@ -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
|
0
packages/bison/3.1/version.desc
vendored
Normal file
0
packages/bison/3.1/version.desc
vendored
Normal file
8
packages/bison/3.2.4/chksum
vendored
Normal file
8
packages/bison/3.2.4/chksum
vendored
Normal file
@ -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
|
0
packages/bison/3.2.4/version.desc
vendored
Normal file
0
packages/bison/3.2.4/version.desc
vendored
Normal file
8
packages/bison/3.3.2/chksum
vendored
Normal file
8
packages/bison/3.3.2/chksum
vendored
Normal file
@ -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
|
0
packages/bison/3.3.2/version.desc
vendored
Normal file
0
packages/bison/3.3.2/version.desc
vendored
Normal file
6
packages/bison/package.desc
Normal file
6
packages/bison/package.desc
Normal file
@ -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'
|
66
scripts/build/companion_tools/510-bison.sh
Normal file
66
scripts/build/companion_tools/510-bison.sh
Normal file
@ -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
|
||||||
|
}
|
@ -458,6 +458,7 @@ if [ -z "${CT_RESTART}" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Not all tools are available for all platforms, but some are required.
|
# 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
|
if [ -n "${where}" ]; then
|
||||||
CT_DoLog DEBUG " '${!v}-${tool}' -> '${where}'"
|
CT_DoLog DEBUG " '${!v}-${tool}' -> '${where}'"
|
||||||
printf "#${BANG}${CT_CONFIG_SHELL}\nexec '${where}' \"\${@}\"\n" >"${CT_BUILDTOOLS_PREFIX_DIR}/bin/${!v}-${tool}"
|
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)
|
ar|as|gcc|ld|nm|objcopy|objdump|ranlib)
|
||||||
CT_Abort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!"
|
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
|
# Add them in alphabetical (C locale) ordering
|
||||||
g++)
|
g++)
|
||||||
# g++ (needed for companion lib), only needed for HOST
|
# g++ (needed for companion lib), only needed for HOST
|
||||||
|
Loading…
Reference in New Issue
Block a user