summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-01-12 20:09:30 (GMT)
committerRichard Strand <richard.strand@icomera.com>2010-01-12 20:09:30 (GMT)
commitdf2e088c8fe673df3de1623e32ed027e8b2a1d6e (patch)
treec6dddaada7d54524700877442c5dc9537aa9dc99 /scripts
parent72e623bbc7a658f03cea6875392b9b40eebe8a01 (diff)
companion_tools/autoconf: add autoconf tool
Initial version of adding autoconf as a companion tool. Signed-off-by: Richard Strand <richard.strand@icomera.com> [yann.morin.1998@anciens.enib.fr: use generic overide tools dir] [yann.morin.1998@anciens.enib.fr: update menu entries] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/companion_tools.sh38
-rw-r--r--scripts/build/companion_tools/200-autoconf.sh32
-rw-r--r--scripts/crosstool-NG.sh.in10
3 files changed, 80 insertions, 0 deletions
diff --git a/scripts/build/companion_tools.sh b/scripts/build/companion_tools.sh
new file mode 100644
index 0000000..b703c41
--- /dev/null
+++ b/scripts/build/companion_tools.sh
@@ -0,0 +1,38 @@
+# Wrapper to build the companion tools facilities
+
+# List all companion tools facilities, and parse their scripts
+CT_COMP_TOOLS_FACILITY_LIST=
+for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
+ _f="$(basename "${f}" .sh)"
+ _f="${_f#???-}"
+ __f="CT_COMP_TOOLS_${_f}"
+ if [ "${!__f}" = "y" ]; then
+ CT_DoLog DEBUG "Enabling companion tools '${_f}'"
+ . "${f}"
+ CT_COMP_TOOLS_FACILITY_LIST="${CT_COMP_TOOLS_FACILITY_LIST} ${_f}"
+ else
+ CT_DoLog DEBUG "Disabling companion tools '${_f}'"
+ fi
+done
+
+# Download the companion tools facilities
+do_companion_tools_get() {
+ for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+ do_companion_tools_${f}_get
+ done
+}
+
+# Extract and patch the companion tools facilities
+do_companion_tools_extract() {
+ for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+ do_companion_tools_${f}_extract
+ done
+}
+
+# Build the companion tools facilities
+do_companion_tools() {
+ for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+ do_companion_tools_${f}_build
+ done
+}
+
diff --git a/scripts/build/companion_tools/200-autoconf.sh b/scripts/build/companion_tools/200-autoconf.sh
new file mode 100644
index 0000000..6b404c4
--- /dev/null
+++ b/scripts/build/companion_tools/200-autoconf.sh
@@ -0,0 +1,32 @@
+# Build script for autoconf
+
+CT_AUTOCONF_VERSION=2.65
+
+do_companion_tools_autoconf_get() {
+ CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \
+ {ftp,http}://ftp.gnu.org/gnu/autoconf
+}
+
+do_companion_tools_autoconf_extract() {
+ CT_Extract "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_005fSHEL
+
+ CT_DoExecLog ALL ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
+ --prefix="${CT_TOOLS_OVERIDE_DIR}"
+ CT_DoExecLog ALL make
+ CT_DoExecLog ALL make install
+ CT_Popd
+ CT_EndStep
+}
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index 1243445..50db26f 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -114,6 +114,7 @@ CT_DoLog INFO "Building environment variables"
# export any variable, nor re-parse the configuration and functions files.
. "${CT_LIB_DIR}/scripts/build/internals.sh"
. "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh"
+. "${CT_LIB_DIR}/scripts/build/companion_tools.sh"
. "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh"
. "${CT_LIB_DIR}/scripts/build/companion_libs/gmp.sh"
. "${CT_LIB_DIR}/scripts/build/companion_libs/mpfr.sh"
@@ -493,6 +494,7 @@ if [ -z "${CT_RESTART}" ]; then
CT_DoLog INFO "Downloading forbidden by configuration, skipping downloads"
else
CT_DoStep INFO "Retrieving needed toolchain components' tarballs"
+ do_companion_tools_get
do_kernel_get
do_gmp_get
do_mpfr_get
@@ -512,6 +514,14 @@ if [ -z "${CT_RESTART}" ]; then
CT_DoForceRmdir "${CT_SRC_DIR}"
CT_DoExecLog ALL mkdir -p "${CT_SRC_DIR}"
fi
+
+ if [ "${CT_COMP_TOOLS}" = "y" ]; then
+ CT_DoStep INFO "Extracting, patching and installing companion tools"
+ do_companion_tools_extract
+ do_companion_tools
+ CT_EndStep
+ fi
+
CT_DoStep INFO "Extracting and patching toolchain components"
do_kernel_extract
do_gmp_extract