summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-05 22:04:20 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-05 22:04:20 (GMT)
commita0cf91e83ba73841a4ad810af8df7bf5c8dc0ab4 (patch)
tree18b00b5b0c5b2cff83bb5c23ba0b92f5050fc0ea /scripts
parent524095a6fab05ff14ca7003dfc0dd6c8e648ab33 (diff)
Add support for building PPL:
- PPL will be needed to correctly build gcc-4.4+ for the GRAPHITE loop optimisation -------- diffstat follows -------- /trunk/scripts/build/companion_libs/ppl.sh | 66 66 0 0 ++++++++++++++++++++++++++++++++++++ /trunk/scripts/build/companion_libs/gmp.sh | 24 19 5 0 ++++++++++--- /trunk/scripts/addToolVersion.sh | 3 2 1 0 +- /trunk/scripts/crosstool-NG.sh.in | 3 3 0 0 ++ /trunk/steps.mk | 1 1 0 0 + /trunk/config/companion_libs/ppl.in | 33 33 0 0 ++++++++++++++++++ /trunk/config/companion_libs.in | 22 19 3 0 ++++++++++-- 7 files changed, 143 insertions(+), 9 deletions(-)
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/addToolVersion.sh3
-rw-r--r--scripts/build/companion_libs/gmp.sh24
-rw-r--r--scripts/build/companion_libs/ppl.sh66
-rw-r--r--scripts/crosstool-NG.sh.in3
4 files changed, 90 insertions, 6 deletions
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh
index 21f4e9e..8e0446e 100755
--- a/scripts/addToolVersion.sh
+++ b/scripts/addToolVersion.sh
@@ -13,7 +13,7 @@ Usage: ${myname} <tool> <[options] version [...]> ...
'tool' in one of:
--gcc, --binutils, --glibc, --eglibc, --uClibc, --linux,
--gdb, --dmalloc, --duma, --strace, --ltrace, --libelf
- --gmp, --mpfr
+ --gmp, --mpfr, --ppl
Valid options for all tools:
--stable, -s, +x (default)
@@ -133,6 +133,7 @@ while [ $# -gt 0 ]; do
--libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=tools;;
--gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs;;
--mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs;;
+ --ppl) EXP=; OBS=; cat=PPL; tool=ppl; tool_prefix=companion_libs;;
# Tools options:
-x|--experimental|+s) EXP=1;;
diff --git a/scripts/build/companion_libs/gmp.sh b/scripts/build/companion_libs/gmp.sh
index 51134da..a3dd4a0 100644
--- a/scripts/build/companion_libs/gmp.sh
+++ b/scripts/build/companion_libs/gmp.sh
@@ -22,20 +22,32 @@ do_gmp_extract() {
}
do_gmp() {
+ local opts
+ local cflags
+
mkdir -p "${CT_BUILD_DIR}/build-gmp"
cd "${CT_BUILD_DIR}/build-gmp"
CT_DoStep INFO "Installing GMP"
CT_DoLog EXTRA "Configuring GMP"
- CFLAGS="${CT_CFLAGS_FOR_HOST}" \
+
+ if [ "${CT_PPL_CLOOG}" = "y" ]; then
+ opts="--enable-cxx"
+ cflags="-fexceptions"
+ fi
+
+ CFLAGS="${CT_CFLAGS_FOR_HOST} ${cflags}" \
CT_DoExecLog ALL \
"${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
--prefix="${CT_PREFIX_DIR}" \
- --disable-shared --enable-static \
- --enable-fft --enable-mpbsd
+ --disable-shared \
+ --enable-static \
+ --enable-fft \
+ --enable-mpbsd \
+ ${opts}
CT_DoLog EXTRA "Building GMP"
CT_DoExecLog ALL make ${PARALLELMFLAGS}
@@ -66,8 +78,10 @@ do_gmp_target() {
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--prefix=/usr \
- --disable-shared --enable-static \
- --enable-fft --enable-mpbsd
+ --disable-shared \
+ --enable-static \
+ --enable-fft \
+ --enable-mpbsd \
CT_DoLog EXTRA "Building GMP"
CT_DoExecLog ALL make ${PARALLELMFLAGS}
diff --git a/scripts/build/companion_libs/ppl.sh b/scripts/build/companion_libs/ppl.sh
new file mode 100644
index 0000000..d3246f9
--- /dev/null
+++ b/scripts/build/companion_libs/ppl.sh
@@ -0,0 +1,66 @@
+# This file adds the functions to build the PPL library
+# Copyright 2009 Yann E. MORIN
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+do_ppl_get() { :; }
+do_ppl_extract() { :; }
+do_ppl() { :; }
+do_ppl_target() { :; }
+
+# Overide functions depending on configuration
+if [ "${CT_PPL_CLOOG}" = "y" ]; then
+
+# Download PPL
+do_ppl_get() {
+ CT_GetFile "ppl-${CT_PPL_VERSION}" \
+ http://www.cs.unipr.it/ppl/Download/ftp/releases/${CT_PPL_VERSION} \
+ ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION}
+}
+
+# Extract PPL
+do_ppl_extract() {
+ CT_Extract "ppl-${CT_PPL_VERSION}"
+ CT_Patch "ppl-${CT_PPL_VERSION}"
+}
+
+do_ppl() {
+ mkdir -p "${CT_BUILD_DIR}/build-ppl"
+ cd "${CT_BUILD_DIR}/build-ppl"
+
+ CT_DoStep INFO "Installing PPL"
+
+ CT_DoLog EXTRA "Configuring PPL"
+ CFLAGS="${CT_CFLAGS_FOR_HOST}" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_HOST} \
+ --prefix="${CT_PREFIX_DIR}" \
+ --with-libgmp-prefix="${CT_PREFIX_DIR}" \
+ --with-libgmpxx-prefix="${CT_PREFIX_DIR}" \
+ --disable-shared \
+ --enable-static \
+ --disable-debugging \
+ --disable-assertions \
+ --disable-ppl_lcdd \
+ --disable-ppl_lpsol
+
+ # Maybe-options:
+ # --enable-interfaces=...
+ # --enable-optimization=speed or sspeed (yes, with 2 's')
+
+ CT_DoLog EXTRA "Building PPL"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ if [ "${CT_PPL_CHECK}" = "y" ]; then
+ CT_DoLog EXTRA "Checking PPL"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
+ fi
+
+ CT_DoLog EXTRA "Installing PPL"
+ CT_DoExecLog ALL make install
+
+ CT_EndStep
+}
+
+fi # CT_PPL_CLOOG
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index 8b8ac4b..49b0aff 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -90,6 +90,7 @@ CT_DoLog INFO "Building environment variables"
. "${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"
+. "${CT_LIB_DIR}/scripts/build/companion_libs/ppl.sh"
. "${CT_LIB_DIR}/scripts/build/binutils.sh"
. "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh"
. "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh"
@@ -444,6 +445,7 @@ if [ -z "${CT_RESTART}" ]; then
do_kernel_get
do_gmp_get
do_mpfr_get
+ do_ppl_get
do_binutils_get
do_cc_get
do_libc_get
@@ -460,6 +462,7 @@ if [ -z "${CT_RESTART}" ]; then
do_kernel_extract
do_gmp_extract
do_mpfr_extract
+ do_ppl_extract
do_binutils_extract
do_cc_extract
do_libc_extract