crosstool-ng/scripts/build/companion_tools/200-autoconf.sh
Alexey Neyman 87bfd55b3b Give companion tools some love.
Allow selection of make/m4/... version. Support imports of new versions
via addToolVersion.sh. Import newest versions of the companion tools.

One non-trivial change is the handling of make versions. Existing code
was not handling make companion tool as described (see the previous
commit). However, since most modern systems have make 4.x, that previous
commit made crosstool-ng always build make as a companion tool.

This traces back to the commit dd15c93 from 2014. That commit's log message
says that actually it was 3.81 which broke the build for certain component
(it was originally breaking eglibc, but I noticed it was breaking current
glibc on powerpc64), and introduced an option to force using 3.81 by
"components that really need it". It looks like in 2.5 years we haven't
seen any such components that really need make 3.81, and (given that make
has already had a few releases since 3.81) we're unlikely to see them
in the future.

Hence, the configure check is changed from "exactly 3.81" to "3.81 or newer".
In its current form, configure will accept make 3.80+, and will not require
make as a companion tool for 3.81+. We might want to bump the latter check
to even newer version given the claim from dd15c93. Killed
COMP_TOOLS_make_3_81_NEEDED.

Anyway, I retained 3.81 just in case; ditto for m4 1.14.3, autoconf 2.65
and automake 1.11.1.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-21 23:03:03 -08:00

32 lines
1.0 KiB
Bash

# Build script for autoconf
do_companion_tools_autoconf_get() {
CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \
{http,ftp,https}://ftp.gnu.org/gnu/autoconf
}
do_companion_tools_autoconf_extract() {
CT_Extract "autoconf-${CT_AUTOCONF_VERSION}"
CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}"
CT_Patch "autoconf" "${CT_AUTOCONF_VERSION}"
}
do_companion_tools_autoconf_build() {
CT_DoStep EXTRA "Installing autoconf"
mkdir -p "${CT_BUILD_DIR}/build-autoconf"
CT_Pushd "${CT_BUILD_DIR}/build-autoconf"
# Ensure configure gets run using the CONFIG_SHELL as configure seems to
# have trouble when CONFIG_SHELL is set and /bin/sh isn't bash
# For reference see:
# http://www.gnu.org/software/autoconf/manual/autoconf.html#CONFIG_005fSHELL
CT_DoExecLog CFG ${CONFIG_SHELL} \
"${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
--prefix="${CT_BUILDTOOLS_PREFIX_DIR}"
CT_DoExecLog ALL make
CT_DoExecLog ALL make install
CT_Popd
CT_EndStep
}