From 822fb9415e457383450c96d2432b76c8874ada49 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 24 May 2009 22:04:14 +0000 Subject: /devel/gcc-4.4: - add support for building CLooG -------- diffstat follows -------- /devel/gcc-4.4/scripts/build/companion_libs/cloog.sh | 60 60 0 0 ++++++++++++++++++++++++++++++++++ /devel/gcc-4.4/scripts/addToolVersion.sh | 3 2 1 0 +- /devel/gcc-4.4/scripts/crosstool-NG.sh.in | 3 3 0 0 ++ /devel/gcc-4.4/steps.mk | 1 1 0 0 + /devel/gcc-4.4/config/companion_libs/cloog.in | 32 32 0 0 ++++++++++++++++++ /devel/gcc-4.4/config/companion_libs.in | 1 1 0 0 + 6 files changed, 99 insertions(+), 1 deletion(-) --- scripts/crosstool-NG.sh.in | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/crosstool-NG.sh.in') diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index a2032bc4..2a9ff5ad 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -91,6 +91,7 @@ CT_DoLog INFO "Building environment variables" . "${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/companion_libs/cloog.sh" . "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh" . "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh" . "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh" @@ -447,6 +448,7 @@ if [ -z "${CT_RESTART}" ]; then do_gmp_get do_mpfr_get do_ppl_get + do_cloog_get do_binutils_get do_cc_get do_libc_get @@ -464,6 +466,7 @@ if [ -z "${CT_RESTART}" ]; then do_gmp_extract do_mpfr_extract do_ppl_extract + do_cloog_extract do_binutils_extract do_cc_extract do_libc_extract -- cgit v1.2.3 From 52e72144d782cc3fb1110aa5e6ce305a809841a9 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 25 May 2009 18:22:26 +0000 Subject: /devel/gcc-4.4: - add support for building the MPC library. -------- diffstat follows -------- /devel/gcc-4.4/scripts/build/companion_libs/ppl.sh | 4 2 2 0 +- /devel/gcc-4.4/scripts/build/companion_libs/mpc.sh | 57 57 0 0 ++++++++++++++++++++++++++++++++++ /devel/gcc-4.4/scripts/build/companion_libs/cloog.sh | 4 2 2 0 +- /devel/gcc-4.4/scripts/crosstool-NG.sh.in | 3 3 0 0 ++ /devel/gcc-4.4/steps.mk | 1 1 0 0 + /devel/gcc-4.4/config/companion_libs/mpc.in | 32 32 0 0 +++++++++++++++++++ /devel/gcc-4.4/config/companion_libs.in | 15 10 5 0 ++++++--- 7 files changed, 107 insertions(+), 9 deletions(-) --- config/companion_libs.in | 15 ++++++--- config/companion_libs/mpc.in | 32 ++++++++++++++++++++ scripts/build/companion_libs/cloog.sh | 4 +-- scripts/build/companion_libs/mpc.sh | 57 +++++++++++++++++++++++++++++++++++ scripts/build/companion_libs/ppl.sh | 4 +-- scripts/crosstool-NG.sh.in | 3 ++ steps.mk | 1 + 7 files changed, 107 insertions(+), 9 deletions(-) create mode 100644 config/companion_libs/mpc.in create mode 100644 scripts/build/companion_libs/mpc.sh (limited to 'scripts/crosstool-NG.sh.in') diff --git a/config/companion_libs.in b/config/companion_libs.in index c95418ba..46a2eded 100644 --- a/config/companion_libs.in +++ b/config/companion_libs.in @@ -36,20 +36,25 @@ source config/companion_libs/gmp.in source config/companion_libs/mpfr.in endif -config PPL_CLOOG +config PPL_CLOOG_MPC bool - prompt "PPL and GLooG/PPL" + prompt "PPL, GLooG/PPL and MPC" 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). + gcc-4.4.0 and above requires PPL and CLooG/PPL to build some parts + of the optimiser (GRAPHITE loop optimisation, to be precise). + + In addition to those, gcc-4.4 also optionally uses MPC to enable + additional optimisations on complex numbers. Although MPC is optional, + crosstool-NG requires it and uses it to build gcc >= 4.4.0. 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 +if PPL_CLOOG_MPC source config/companion_libs/ppl.in source config/companion_libs/cloog.in +source config/companion_libs/mpc.in endif endmenu diff --git a/config/companion_libs/mpc.in b/config/companion_libs/mpc.in new file mode 100644 index 00000000..7ff2c26a --- /dev/null +++ b/config/companion_libs/mpc.in @@ -0,0 +1,32 @@ +# MPC options + +choice + bool + prompt "MPC version" + +config MPC_V_0_6 + bool + prompt "0.6" + +# CT_INSERT_VERSION_ABOVE +# Don't remove above line! +endchoice + +config MPC_VERSION + string + default "0.6" if MPC_V_0_6 +# CT_INSERT_VERSION_STRING_ABOVE +# Don't remove above line! + +config MPC_CHECK + bool + prompt "Check MPC (!!! README !!!)" + default n + help + It is highly recommended to check the newly built MPC library. + Unfortunately, this is a very intensive task, and takes a loooong time. + + Checking MPC is thus disabled by default. + + If you suspect that your MPC library is the cause for incorrectly + generated code, you should answer 'Y' here. diff --git a/scripts/build/companion_libs/cloog.sh b/scripts/build/companion_libs/cloog.sh index 43ef648d..a98f9992 100644 --- a/scripts/build/companion_libs/cloog.sh +++ b/scripts/build/companion_libs/cloog.sh @@ -8,7 +8,7 @@ do_cloog() { :; } do_cloog_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG}" = "y" ]; then +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then # Download CLooG do_cloog_get() { @@ -57,4 +57,4 @@ do_cloog() { CT_EndStep } -fi # CT_PPL_CLOOG +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/build/companion_libs/mpc.sh b/scripts/build/companion_libs/mpc.sh new file mode 100644 index 00000000..f0f5ecd8 --- /dev/null +++ b/scripts/build/companion_libs/mpc.sh @@ -0,0 +1,57 @@ +# This file adds the functions to build the MPC library +# Copyright 2009 Yann E. MORIN +# Licensed under the GPL v2. See COPYING in the root of this package + +do_mpc_get() { :; } +do_mpc_extract() { :; } +do_mpc() { :; } +do_mpc_target() { :; } + +# Overide functions depending on configuration +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then + +# Download MPC +do_mpc_get() { + CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz \ + http://www.multiprecision.org/mpc/download +} + +# Extract MPC +do_mpc_extract() { + CT_Extract "mpc-${CT_MPC_VERSION}" + CT_Patch "mpc-${CT_MPC_VERSION}" +} + +do_mpc() { + mkdir -p "${CT_BUILD_DIR}/build-mpc" + cd "${CT_BUILD_DIR}/build-mpc" + + CT_DoStep INFO "Installing MPC" + + CT_DoLog EXTRA "Configuring MPC" + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + CT_DoExecLog ALL \ + "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \ + --build=${CT_BUILD} \ + --host=${CT_HOST} \ + --prefix="${CT_PREFIX_DIR}" \ + --with-gmp="${CT_PREFIX_DIR}" \ + --with-mpfr="${CT_PREFIX_DIR}" \ + --disable-shared \ + --enable-static \ + + CT_DoLog EXTRA "Building MPC" + CT_DoExecLog ALL make ${PARALLELMFLAGS} + + if [ "${CT_MPC_CHECK}" = "y" ]; then + CT_DoLog EXTRA "Checking MPC" + CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check + fi + + CT_DoLog EXTRA "Installing MPC" + CT_DoExecLog ALL make install + + CT_EndStep +} + +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/build/companion_libs/ppl.sh b/scripts/build/companion_libs/ppl.sh index 0a48dbaa..92d59de7 100644 --- a/scripts/build/companion_libs/ppl.sh +++ b/scripts/build/companion_libs/ppl.sh @@ -8,7 +8,7 @@ do_ppl() { :; } do_ppl_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG}" = "y" ]; then +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then # Download PPL do_ppl_get() { @@ -65,4 +65,4 @@ do_ppl() { CT_EndStep } -fi # CT_PPL_CLOOG +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index 2a9ff5ad..0b9b00da 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -92,6 +92,7 @@ CT_DoLog INFO "Building environment variables" . "${CT_LIB_DIR}/scripts/build/companion_libs/mpfr.sh" . "${CT_LIB_DIR}/scripts/build/companion_libs/ppl.sh" . "${CT_LIB_DIR}/scripts/build/companion_libs/cloog.sh" +. "${CT_LIB_DIR}/scripts/build/companion_libs/mpc.sh" . "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh" . "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh" . "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh" @@ -449,6 +450,7 @@ if [ -z "${CT_RESTART}" ]; then do_mpfr_get do_ppl_get do_cloog_get + do_mpc_get do_binutils_get do_cc_get do_libc_get @@ -467,6 +469,7 @@ if [ -z "${CT_RESTART}" ]; then do_mpfr_extract do_ppl_extract do_cloog_extract + do_mpc_extract do_binutils_extract do_cc_extract do_libc_extract diff --git a/steps.mk b/steps.mk index 33865485..ba90f79a 100644 --- a/steps.mk +++ b/steps.mk @@ -22,6 +22,7 @@ CT_STEPS := libc_check_config \ mpfr \ ppl \ cloog \ + mpc \ binutils \ elf2flt \ cc_core_pass_1 \ -- cgit v1.2.3 From 5801d8c588a878b05a80a78c5d4ac1752c5da470 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Wed, 27 May 2009 21:08:17 +0000 Subject: /devel/gcc-4.4: - crosstool-NG.sh.in: include prefix/lib in LD_LIBRARY_PATH -------- diffstat follows -------- /devel/gcc-4.4/scripts/crosstool-NG.sh.in | 4 4 0 0 ++++ 1 file changed, 4 insertions(+) --- scripts/crosstool-NG.sh.in | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'scripts/crosstool-NG.sh.in') diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index 0b9b00da..44c30232 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -127,6 +127,10 @@ CT_CONFIG_DIR="${CT_BUILD_DIR}/configs" CT_CC_CORE_STATIC_PREFIX_DIR="${CT_BUILD_DIR}/${CT_CC}-core-static" CT_CC_CORE_SHARED_PREFIX_DIR="${CT_BUILD_DIR}/${CT_CC}-core-shared" +# Set LD_LIBRARY_PATH to point to prefix/lib so we can find our own +# libraries; add as first path, so we get hit first by the dynamic linker +CT_SetLibPath "${CT_PREFIX_DIR}/lib" first + # We must ensure that we can restart if asked for! if [ -n "${CT_RESTART}" -a ! -d "${CT_STATE_DIR}" ]; then CT_DoLog ERROR "You asked to restart a non-restartable build" -- cgit v1.2.3