mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-31 08:25:32 +00:00
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(-)
This commit is contained in:
parent
524095a6fa
commit
a0cf91e83b
@ -9,10 +9,11 @@ config GMP_MPFR
|
||||
prompt "GMP and MPFR"
|
||||
help
|
||||
gcc 4.3.0 and above requires both GMP and MPFR to build some frontends,
|
||||
and some other components can use them as well (eg. binutils and gdb).
|
||||
and some other components can use them as well.
|
||||
|
||||
Say 'Y' here if you want to build those two libraries specifically
|
||||
for crosstool-NG.
|
||||
These will be automatically selected if you choose gcc>=4.3.0, but you
|
||||
can say 'Y' here if you want to build those two libraries for the other
|
||||
components (that don't select them by default).
|
||||
|
||||
The packages that can use GMP and MPFR are:
|
||||
- binutils
|
||||
@ -35,4 +36,19 @@ source config/companion_libs/gmp.in
|
||||
source config/companion_libs/mpfr.in
|
||||
endif
|
||||
|
||||
config PPL_CLOOG
|
||||
bool
|
||||
prompt "PPL and GLooG/PPL"
|
||||
help
|
||||
gcc-4.4.0 and above requires both PPL and CLooG/PPL to build some
|
||||
parts of the optimiser (GRAPHITE loop optimisation, to be precise).
|
||||
|
||||
These will be automatically selected if you choose gcc>=4.4.0, but you
|
||||
can say 'Y' here, although it is unknown yet if any other component
|
||||
can use them.
|
||||
|
||||
if PPL_CLOOG
|
||||
source config/companion_libs/ppl.in
|
||||
endif
|
||||
|
||||
endmenu
|
||||
|
33
config/companion_libs/ppl.in
Normal file
33
config/companion_libs/ppl.in
Normal file
@ -0,0 +1,33 @@
|
||||
# PPL options
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "PPL version"
|
||||
|
||||
config PPL_V_0_10_2
|
||||
bool
|
||||
prompt "0.10.2"
|
||||
|
||||
# CT_INSERT_VERSION_ABOVE
|
||||
# Don't remove above line!
|
||||
endchoice
|
||||
|
||||
config PPL_VERSION
|
||||
string
|
||||
default "0.10.2" if PPL_V_0_10_2
|
||||
# CT_INSERT_VERSION_STRING_ABOVE
|
||||
# Don't remove above line!
|
||||
|
||||
config PPL_CHECK
|
||||
bool
|
||||
prompt "Check PPL (!!! README !!!)"
|
||||
default n
|
||||
help
|
||||
Checking PPL is very intensive and takes a loooong time.
|
||||
The PPL folks do not recommend checking the library, but they do
|
||||
not recommend not checking it, either.
|
||||
|
||||
Checking PPL is thus disabled by default.
|
||||
|
||||
If you suspect that your PPL library is the cause for incorrectly
|
||||
generated code, you should answer 'Y' here.
|
@ -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;;
|
||||
|
@ -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}
|
||||
|
66
scripts/build/companion_libs/ppl.sh
Normal file
66
scripts/build/companion_libs/ppl.sh
Normal file
@ -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
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user