complibs: introduce generic multi-complibs infrastructure
authorYann Diorcet (diorcet.yann@gmail.com)
Fri Nov 16 14:59:27 2012 +0100 (2012-11-16)
changeset 31151c68438f44f7
parent 3114 8453ccdc5098
child 3116 f7a40ba0b651
complibs: introduce generic multi-complibs infrastructure

Use the same method as companion tools for providing generic and
extendable companion libs.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local>
Patchwork-Id: 199613
scripts/build/companion_libs.sh
scripts/build/companion_libs/100-gmp.sh
scripts/build/companion_libs/110-mpfr.sh
scripts/build/companion_libs/120-ppl.sh
scripts/build/companion_libs/130-cloog.sh
scripts/build/companion_libs/140-mpc.sh
scripts/build/companion_libs/200-libelf.sh
scripts/build/companion_libs/cloog.sh
scripts/build/companion_libs/gmp.sh
scripts/build/companion_libs/libelf.sh
scripts/build/companion_libs/mpc.sh
scripts/build/companion_libs/mpfr.sh
scripts/build/companion_libs/ppl.sh
scripts/crosstool-NG.sh.in
steps.mk
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/scripts/build/companion_libs.sh	Fri Nov 16 14:59:27 2012 +0100
     1.3 @@ -0,0 +1,39 @@
     1.4 +# Wrapper to build the companion libs facilities
     1.5 +
     1.6 +# List all companion tools facilities, and parse their scripts
     1.7 +CT_COMP_LIBS_FACILITY_LIST=
     1.8 +for f in "${CT_LIB_DIR}/scripts/build/companion_libs/"*.sh; do
     1.9 +    _f="$(basename "${f}" .sh)"
    1.10 +    _f="${_f#???-}"
    1.11 +    . "${f}"
    1.12 +    CT_COMP_LIBS_FACILITY_LIST="${CT_COMP_LIBS_FACILITY_LIST} ${_f}"
    1.13 +done
    1.14 +
    1.15 +# Download the companion libs facilities
    1.16 +do_companion_libs_get() {
    1.17 +    for f in ${CT_COMP_LIBS_FACILITY_LIST}; do
    1.18 +        do_${f}_get
    1.19 +    done
    1.20 +}
    1.21 +
    1.22 +# Extract and patch the companion libs facilities
    1.23 +do_companion_libs_extract() {
    1.24 +    for f in ${CT_COMP_LIBS_FACILITY_LIST}; do
    1.25 +        do_${f}_extract
    1.26 +    done
    1.27 +}
    1.28 +
    1.29 +# Build the companion libs facilities for build
    1.30 +do_companion_libs_for_build() {
    1.31 +    for f in ${CT_COMP_LIBS_FACILITY_LIST}; do
    1.32 +        do_${f}_for_build
    1.33 +    done
    1.34 +}
    1.35 +
    1.36 +# Build the companion libs facilities for host
    1.37 +do_companion_libs_for_host() {
    1.38 +    for f in ${CT_COMP_LIBS_FACILITY_LIST}; do
    1.39 +        do_${f}_for_host
    1.40 +    done
    1.41 +}
    1.42 +
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/scripts/build/companion_libs/100-gmp.sh	Fri Nov 16 14:59:27 2012 +0100
     2.3 @@ -0,0 +1,103 @@
     2.4 +# This file adds the functions to build the GMP library
     2.5 +# Copyright 2008 Yann E. MORIN
     2.6 +# Licensed under the GPL v2. See COPYING in the root of this package
     2.7 +
     2.8 +do_gmp_get() { :; }
     2.9 +do_gmp_extract() { :; }
    2.10 +do_gmp_for_build() { :; }
    2.11 +do_gmp_for_host() { :; }
    2.12 +
    2.13 +# Overide functions depending on configuration
    2.14 +if [ "${CT_GMP}" = "y" ]; then
    2.15 +
    2.16 +# Download GMP
    2.17 +do_gmp_get() {
    2.18 +    CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
    2.19 +}
    2.20 +
    2.21 +# Extract GMP
    2.22 +do_gmp_extract() {
    2.23 +    CT_Extract "gmp-${CT_GMP_VERSION}"
    2.24 +    CT_Patch "gmp" "${CT_GMP_VERSION}"
    2.25 +}
    2.26 +
    2.27 +# Build GMP for running on build
    2.28 +# - always build statically
    2.29 +# - we do not have build-specific CFLAGS
    2.30 +# - install in build-tools prefix
    2.31 +do_gmp_for_build() {
    2.32 +    local -a gmp_opts
    2.33 +
    2.34 +    case "${CT_TOOLCHAIN_TYPE}" in
    2.35 +        native|cross)   return 0;;
    2.36 +    esac
    2.37 +
    2.38 +    CT_DoStep INFO "Installing GMP for build"
    2.39 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-gmp-build-${CT_BUILD}"
    2.40 +
    2.41 +    gmp_opts+=( "host=${CT_BUILD}" )
    2.42 +    gmp_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    2.43 +    do_gmp_backend "${gmp_opts[@]}"
    2.44 +
    2.45 +    CT_Popd
    2.46 +    CT_EndStep
    2.47 +}
    2.48 +
    2.49 +# Build GMP for running on host
    2.50 +do_gmp_for_host() {
    2.51 +    local -a gmp_opts
    2.52 +
    2.53 +    CT_DoStep INFO "Installing GMP for host"
    2.54 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-gmp-host-${CT_HOST}"
    2.55 +
    2.56 +    gmp_opts+=( "host=${CT_HOST}" )
    2.57 +    gmp_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    2.58 +    gmp_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    2.59 +    do_gmp_backend "${gmp_opts[@]}"
    2.60 +
    2.61 +    CT_Popd
    2.62 +    CT_EndStep
    2.63 +}
    2.64 +
    2.65 +# Build GMP
    2.66 +#     Parameter     : description               : type      : default
    2.67 +#     host          : machine to run on         : tuple     : (none)
    2.68 +#     prefix        : prefix to install into    : dir       : (none)
    2.69 +#     cflags        : host cflags to use        : string    : (empty)
    2.70 +do_gmp_backend() {
    2.71 +    local host
    2.72 +    local prefix
    2.73 +    local cflags
    2.74 +    local arg
    2.75 +
    2.76 +    for arg in "$@"; do
    2.77 +        eval "${arg// /\\ }"
    2.78 +    done
    2.79 +
    2.80 +    CT_DoLog EXTRA "Configuring GMP"
    2.81 +
    2.82 +    CT_DoExecLog CFG                                \
    2.83 +    CFLAGS="${cflags} -fexceptions"                 \
    2.84 +    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
    2.85 +        --build=${CT_BUILD}                         \
    2.86 +        --host=${host}                              \
    2.87 +        --prefix="${prefix}"                        \
    2.88 +        --enable-fft                                \
    2.89 +        --enable-mpbsd                              \
    2.90 +        --enable-cxx                                \
    2.91 +        --disable-shared                            \
    2.92 +        --enable-static
    2.93 +
    2.94 +    CT_DoLog EXTRA "Building GMP"
    2.95 +    CT_DoExecLog ALL make ${JOBSFLAGS}
    2.96 +
    2.97 +    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
    2.98 +        CT_DoLog EXTRA "Checking GMP"
    2.99 +        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   2.100 +    fi
   2.101 +
   2.102 +    CT_DoLog EXTRA "Installing GMP"
   2.103 +    CT_DoExecLog ALL make install
   2.104 +}
   2.105 +
   2.106 +fi # CT_GMP
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/scripts/build/companion_libs/110-mpfr.sh	Fri Nov 16 14:59:27 2012 +0100
     3.3 @@ -0,0 +1,152 @@
     3.4 +# This file adds the functions to build the MPFR library
     3.5 +# Copyright 2008 Yann E. MORIN
     3.6 +# Licensed under the GPL v2. See COPYING in the root of this package
     3.7 +
     3.8 +do_mpfr_get() { :; }
     3.9 +do_mpfr_extract() { :; }
    3.10 +do_mpfr_for_build() { :; }
    3.11 +do_mpfr_for_host() { :; }
    3.12 +
    3.13 +# Overide function depending on configuration
    3.14 +if [ "${CT_MPFR}" = "y" ]; then
    3.15 +
    3.16 +# Download MPFR
    3.17 +do_mpfr_get() {
    3.18 +    CT_GetFile "mpfr-${CT_MPFR_VERSION}" http://www.mpfr.org/mpfr-current/  \
    3.19 +                                 http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
    3.20 +}
    3.21 +
    3.22 +# Extract MPFR
    3.23 +do_mpfr_extract() {
    3.24 +    CT_Extract "mpfr-${CT_MPFR_VERSION}"
    3.25 +    CT_Patch "mpfr" "${CT_MPFR_VERSION}"
    3.26 +
    3.27 +    # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
    3.28 +    # same version number. Unfortunately, some tarballs of MPFR are not
    3.29 +    # built sanely, and thus ./configure fails on Gentoo.
    3.30 +    # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
    3.31 +    # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
    3.32 +    # This hack is not bad per se, but the MPFR guys would be better not to
    3.33 +    # do that in the future...
    3.34 +    # It seems that MPFR >= 2.4.0 do not need this...
    3.35 +    case "${CT_MPFR_VERSION}" in
    3.36 +        2.4.*)
    3.37 +            CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
    3.38 +            if [ ! -f .autoreconf.ct-ng ]; then
    3.39 +                CT_DoLog DEBUG "Running autoreconf"
    3.40 +                CT_DoExecLog ALL autoreconf
    3.41 +                touch .autoreconf.ct-ng
    3.42 +            fi
    3.43 +            CT_Popd
    3.44 +            ;;
    3.45 +        1.*|2.0.*|2.1.*|2.2.*|2.3.*)
    3.46 +            CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
    3.47 +            if [ ! -f .autotools.ct-ng ]; then
    3.48 +                CT_DoLog DEBUG "Re-building autotools files"
    3.49 +                CT_DoExecLog ALL autoreconf -fi
    3.50 +                # Starting with libtool-1.9f, config.{guess,sub} are no longer
    3.51 +                # installed without -i, but starting with libtool-2.2.6, they
    3.52 +                # are no longer removed without -i. Sight... Just use -i with
    3.53 +                # libtool >=2
    3.54 +                # See: http://sourceware.org/ml/crossgcc/2008-11/msg00046.html
    3.55 +                # and: http://sourceware.org/ml/crossgcc/2008-11/msg00048.html
    3.56 +                libtoolize_opt=
    3.57 +                case "$(libtoolize --version |head -n 1 |awk '{ print $(NF); }')" in
    3.58 +                    0.*)    ;;
    3.59 +                    1.*)    ;;
    3.60 +                    *)      libtoolize_opt=-i;;
    3.61 +                esac
    3.62 +                CT_DoExecLog ALL libtoolize -f ${libtoolize_opt}
    3.63 +                touch .autotools.ct-ng
    3.64 +            fi
    3.65 +            CT_Popd
    3.66 +            ;;
    3.67 +    esac
    3.68 +}
    3.69 +
    3.70 +# Build MPFR for running on build
    3.71 +# - always build statically
    3.72 +# - we do not have build-specific CFLAGS
    3.73 +# - install in build-tools prefix
    3.74 +do_mpfr_for_build() {
    3.75 +    local -a mpfr_opts
    3.76 +
    3.77 +    case "${CT_TOOLCHAIN_TYPE}" in
    3.78 +        native|cross)   return 0;;
    3.79 +    esac
    3.80 +
    3.81 +    CT_DoStep INFO "Installing MPFR for build"
    3.82 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-build-${CT_BUILD}"
    3.83 +
    3.84 +    mpfr_opts+=( "host=${CT_BUILD}" )
    3.85 +    mpfr_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    3.86 +    do_mpfr_backend "${mpfr_opts[@]}"
    3.87 +
    3.88 +    CT_Popd
    3.89 +    CT_EndStep
    3.90 +}
    3.91 +
    3.92 +# Build MPFR for running on host
    3.93 +do_mpfr_for_host() {
    3.94 +    local -a mpfr_opts
    3.95 +
    3.96 +    CT_DoStep INFO "Installing MPFR for host"
    3.97 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-host-${CT_HOST}"
    3.98 +
    3.99 +    mpfr_opts+=( "host=${CT_HOST}" )
   3.100 +    mpfr_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
   3.101 +    mpfr_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
   3.102 +    do_mpfr_backend "${mpfr_opts[@]}"
   3.103 +
   3.104 +    CT_Popd
   3.105 +    CT_EndStep
   3.106 +}
   3.107 +
   3.108 +# Build MPFR
   3.109 +#     Parameter     : description               : type      : default
   3.110 +#     host          : machine to run on         : tuple     : (none)
   3.111 +#     prefix        : prefix to install into    : dir       : (none)
   3.112 +#     cflags        : host cflags to use        : string    : (empty)
   3.113 +do_mpfr_backend() {
   3.114 +    local host
   3.115 +    local prefix
   3.116 +    local cflags
   3.117 +    local arg
   3.118 +
   3.119 +    for arg in "$@"; do
   3.120 +        eval "${arg// /\\ }"
   3.121 +    done
   3.122 +
   3.123 +    # Under Cygwin, we can't build a thread-safe library
   3.124 +    case "${CT_HOST}" in
   3.125 +        *cygwin*)   mpfr_opts+=( --disable-thread-safe );;
   3.126 +        *mingw*)    mpfr_opts+=( --disable-thread-safe );;
   3.127 +        *darwin*)   mpfr_opts+=( --disable-thread-safe );;
   3.128 +        *)          mpfr_opts+=( --enable-thread-safe  );;
   3.129 +    esac
   3.130 +
   3.131 +    CT_DoLog EXTRA "Configuring MPFR"
   3.132 +    CT_DoExecLog CFG                                    \
   3.133 +    CC="${host}-gcc"                                    \
   3.134 +    CFLAGS="${CT_CFLAGS_FOR_HOST}"                      \
   3.135 +    "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure"   \
   3.136 +        --build=${CT_BUILD}                             \
   3.137 +        --host=${host}                                  \
   3.138 +        --prefix="${prefix}"                            \
   3.139 +        --with-gmp="${prefix}"                          \
   3.140 +        --disable-shared                                \
   3.141 +        --enable-static
   3.142 +
   3.143 +    CT_DoLog EXTRA "Building MPFR"
   3.144 +    CT_DoExecLog ALL make ${JOBSFLAGS}
   3.145 +
   3.146 +    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
   3.147 +        CT_DoLog EXTRA "Checking MPFR"
   3.148 +        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   3.149 +    fi
   3.150 +
   3.151 +    CT_DoLog EXTRA "Installing MPFR"
   3.152 +    CT_DoExecLog ALL make install
   3.153 +}
   3.154 +
   3.155 +fi # CT_MPFR
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/scripts/build/companion_libs/120-ppl.sh	Fri Nov 16 14:59:27 2012 +0100
     4.3 @@ -0,0 +1,119 @@
     4.4 +# This file adds the functions to build the PPL library
     4.5 +# Copyright 2009 Yann E. MORIN
     4.6 +# Licensed under the GPL v2. See COPYING in the root of this package
     4.7 +
     4.8 +do_ppl_get() { :; }
     4.9 +do_ppl_extract() { :; }
    4.10 +do_ppl_for_build() { :; }
    4.11 +do_ppl_for_host() { :; }
    4.12 +
    4.13 +# Overide functions depending on configuration
    4.14 +if [ "${CT_PPL}" = "y" ]; then
    4.15 +
    4.16 +# Download PPL
    4.17 +do_ppl_get() {
    4.18 +    CT_GetFile "ppl-${CT_PPL_VERSION}"                                      \
    4.19 +        http://www.cs.unipr.it/ppl/Download/ftp/releases/${CT_PPL_VERSION}  \
    4.20 +        ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION}            \
    4.21 +        ftp://gcc.gnu.org/pub/gcc/infrastructure
    4.22 +}
    4.23 +
    4.24 +# Extract PPL
    4.25 +do_ppl_extract() {
    4.26 +    CT_Extract "ppl-${CT_PPL_VERSION}"
    4.27 +    CT_Patch "ppl" "${CT_PPL_VERSION}"
    4.28 +}
    4.29 +
    4.30 +# Build PPL for running on build
    4.31 +# - always build statically
    4.32 +# - we do not have build-specific CFLAGS
    4.33 +# - install in build-tools prefix
    4.34 +do_ppl_for_build() {
    4.35 +    local -a ppl_opts
    4.36 +
    4.37 +    case "${CT_TOOLCHAIN_TYPE}" in
    4.38 +        native|cross)   return 0;;
    4.39 +    esac
    4.40 +
    4.41 +    CT_DoStep INFO "Installing PPL for build"
    4.42 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-build-${CT_BUILD}"
    4.43 +
    4.44 +    ppl_opts+=( "host=${CT_BUILD}" )
    4.45 +    ppl_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    4.46 +    do_ppl_backend "${ppl_opts[@]}"
    4.47 +
    4.48 +    CT_Popd
    4.49 +    CT_EndStep
    4.50 +}
    4.51 +
    4.52 +# Build PPL for running on host
    4.53 +do_ppl_for_host() {
    4.54 +    local -a ppl_opts
    4.55 +
    4.56 +    CT_DoStep INFO "Installing PPL for host"
    4.57 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_HOST}"
    4.58 +
    4.59 +    ppl_opts+=( "host=${CT_HOST}" )
    4.60 +    ppl_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    4.61 +    ppl_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    4.62 +    do_ppl_backend "${ppl_opts[@]}"
    4.63 +
    4.64 +    CT_Popd
    4.65 +    CT_EndStep
    4.66 +}
    4.67 +
    4.68 +# Build PPL
    4.69 +#     Parameter     : description               : type      : default
    4.70 +#     host          : machine to run on         : tuple     : (none)
    4.71 +#     prefix        : prefix to install into    : dir       : (none)
    4.72 +#     cflags        : host cflags to use        : string    : (empty)
    4.73 +do_ppl_backend() {
    4.74 +    local host
    4.75 +    local prefix
    4.76 +    local cflags
    4.77 +    local arg
    4.78 +
    4.79 +    for arg in "$@"; do
    4.80 +        eval "${arg// /\\ }"
    4.81 +    done
    4.82 +
    4.83 +    CT_DoLog EXTRA "Configuring PPL"
    4.84 +
    4.85 +    CT_DoExecLog CFG                                \
    4.86 +    CFLAGS="${cflags}"                              \
    4.87 +    CXXFLAGS="${cflags}"                            \
    4.88 +    "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
    4.89 +        --build=${CT_BUILD}                         \
    4.90 +        --host=${host}                              \
    4.91 +        --prefix="${prefix}"                        \
    4.92 +        --with-libgmp-prefix="${prefix}"            \
    4.93 +        --with-libgmpxx-prefix="${prefix}"          \
    4.94 +        --with-gmp-prefix="${prefix}"               \
    4.95 +        --enable-watchdog                           \
    4.96 +        --disable-debugging                         \
    4.97 +        --disable-assertions                        \
    4.98 +        --disable-ppl_lcdd                          \
    4.99 +        --disable-ppl_lpsol                         \
   4.100 +        --disable-shared                            \
   4.101 +        --enable-interfaces='c c++'                 \
   4.102 +        --enable-static
   4.103 +
   4.104 +    # Maybe-options:
   4.105 +    # --enable-optimization=speed  or sspeed (yes, with 2 's')
   4.106 +
   4.107 +    CT_DoLog EXTRA "Building PPL"
   4.108 +    CT_DoExecLog ALL make ${JOBSFLAGS}
   4.109 +
   4.110 +    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
   4.111 +        CT_DoLog EXTRA "Checking PPL"
   4.112 +        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   4.113 +    fi
   4.114 +
   4.115 +    CT_DoLog EXTRA "Installing PPL"
   4.116 +    CT_DoExecLog ALL make install
   4.117 +
   4.118 +    # Remove spuriously installed file
   4.119 +    CT_DoExecLog ALL rm -f "${prefix}/bin/ppl-config"
   4.120 +}
   4.121 +
   4.122 +fi # CT_PPL
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/scripts/build/companion_libs/130-cloog.sh	Fri Nov 16 14:59:27 2012 +0100
     5.3 @@ -0,0 +1,122 @@
     5.4 +# This file adds the functions to build the CLooG library
     5.5 +# Copyright 2009 Yann E. MORIN
     5.6 +# Licensed under the GPL v2. See COPYING in the root of this package
     5.7 +
     5.8 +do_cloog_get() { :; }
     5.9 +do_cloog_extract() { :; }
    5.10 +do_cloog_for_build() { :; }
    5.11 +do_cloog_for_host() { :; }
    5.12 +
    5.13 +# Overide functions depending on configuration
    5.14 +if [ "${CT_CLOOG}" = "y" ]; then
    5.15 +
    5.16 +# Download CLooG
    5.17 +do_cloog_get() {
    5.18 +    CT_GetFile "cloog-ppl-${CT_CLOOG_VERSION}"  \
    5.19 +        ftp://gcc.gnu.org/pub/gcc/infrastructure
    5.20 +}
    5.21 +
    5.22 +# Extract CLooG
    5.23 +do_cloog_extract() {
    5.24 +    local _t
    5.25 +
    5.26 +    # Version 0.15.3 has a dirname 'cloog-ppl' (with no version in it!)
    5.27 +    # while versions 0.15.4 onward do have the version in the dirname.
    5.28 +    # But, because the infrastructure properly creates the extracted
    5.29 +    # directories (with tar's --strip-components), we can live safely...
    5.30 +    CT_Extract "cloog-ppl-${CT_CLOOG_VERSION}"
    5.31 +    CT_Patch "cloog-ppl" "${CT_CLOOG_VERSION}"
    5.32 +
    5.33 +    # Help the autostuff in case it thinks there are things to regenerate...
    5.34 +    CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}/m4"
    5.35 +
    5.36 +    if [ "${CT_CLOOG_NEEDS_AUTORECONF}" = "y" ]; then
    5.37 +        CT_Pushd "${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}"
    5.38 +        CT_DoExecLog CFG ./autogen.sh
    5.39 +        CT_Popd
    5.40 +    fi
    5.41 +}
    5.42 +
    5.43 +# Build CLooG/PPL for running on build
    5.44 +# - always build statically
    5.45 +# - we do not have build-specific CFLAGS
    5.46 +# - install in build-tools prefix
    5.47 +do_cloog_for_build() {
    5.48 +    local -a cloog_opts
    5.49 +
    5.50 +    case "${CT_TOOLCHAIN_TYPE}" in
    5.51 +        native|cross)   return 0;;
    5.52 +    esac
    5.53 +
    5.54 +    CT_DoStep INFO "Installing CLooG/PPL for build"
    5.55 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-cloog-ppl-build-${CT_BUILD}"
    5.56 +
    5.57 +    cloog_opts+=( "host=${CT_BUILD}" )
    5.58 +    cloog_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    5.59 +    do_cloog_backend "${cloog_opts[@]}"
    5.60 +
    5.61 +    CT_Popd
    5.62 +    CT_EndStep
    5.63 +}
    5.64 +
    5.65 +# Build CLooG/PPL for running on host
    5.66 +do_cloog_for_host() {
    5.67 +    local -a cloog_opts
    5.68 +
    5.69 +    CT_DoStep INFO "Installing CLooG/PPL for host"
    5.70 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-cloog-ppl-host-${CT_HOST}"
    5.71 +
    5.72 +    cloog_opts+=( "host=${CT_HOST}" )
    5.73 +    cloog_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    5.74 +    cloog_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    5.75 +    do_cloog_backend "${cloog_opts[@]}"
    5.76 +
    5.77 +    CT_Popd
    5.78 +    CT_EndStep
    5.79 +}
    5.80 +
    5.81 +# Build ClooG/PPL
    5.82 +#     Parameter     : description               : type      : default
    5.83 +#     host          : machine to run on         : tuple     : (none)
    5.84 +#     prefix        : prefix to install into    : dir       : (none)
    5.85 +#     cflags        : host cflags to use        : string    : (empty)
    5.86 +do_cloog_backend() {
    5.87 +    local host
    5.88 +    local prefix
    5.89 +    local cflags
    5.90 +    local cloog_src_dir="${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}"
    5.91 +    local arg
    5.92 +
    5.93 +    for arg in "$@"; do
    5.94 +        eval "${arg// /\\ }"
    5.95 +    done
    5.96 +
    5.97 +    CT_DoLog EXTRA "Configuring CLooG/ppl"
    5.98 +
    5.99 +    CT_DoExecLog CFG                            \
   5.100 +    CFLAGS="${cflags}"                          \
   5.101 +    LIBS="-lm"                                  \
   5.102 +    "${cloog_src_dir}/configure"                \
   5.103 +        --build=${CT_BUILD}                     \
   5.104 +        --host=${host}                          \
   5.105 +        --prefix="${prefix}"                    \
   5.106 +        --with-gmp="${prefix}"                  \
   5.107 +        --with-ppl="${prefix}"                  \
   5.108 +        --with-bits=gmp                         \
   5.109 +        --with-host-libstdcxx='-lstdc++'        \
   5.110 +        --disable-shared                        \
   5.111 +        --enable-static
   5.112 +
   5.113 +    CT_DoLog EXTRA "Building CLooG/ppl"
   5.114 +    CT_DoExecLog ALL make ${JOBSFLAGS} libcloog.la
   5.115 +
   5.116 +    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
   5.117 +        CT_DoLog EXTRA "Checking CLooG/ppl"
   5.118 +        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   5.119 +    fi
   5.120 +
   5.121 +    CT_DoLog EXTRA "Installing CLooG/ppl"
   5.122 +    CT_DoExecLog ALL make install-libLTLIBRARIES install-pkgincludeHEADERS
   5.123 +}
   5.124 +
   5.125 +fi # CT_CLOOG
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/scripts/build/companion_libs/140-mpc.sh	Fri Nov 16 14:59:27 2012 +0100
     6.3 @@ -0,0 +1,103 @@
     6.4 +# This file adds the functions to build the MPC library
     6.5 +# Copyright 2009 Yann E. MORIN
     6.6 +# Licensed under the GPL v2. See COPYING in the root of this package
     6.7 +
     6.8 +do_mpc_get() { :; }
     6.9 +do_mpc_extract() { :; }
    6.10 +do_mpc_for_build() { :; }
    6.11 +do_mpc_for_host() { :; }
    6.12 +
    6.13 +# Overide functions depending on configuration
    6.14 +if [ "${CT_MPC}" = "y" ]; then
    6.15 +
    6.16 +# Download MPC
    6.17 +do_mpc_get() {
    6.18 +    CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz      \
    6.19 +        http://www.multiprecision.org/mpc/download
    6.20 +}
    6.21 +
    6.22 +# Extract MPC
    6.23 +do_mpc_extract() {
    6.24 +    CT_Extract "mpc-${CT_MPC_VERSION}"
    6.25 +    CT_Patch "mpc" "${CT_MPC_VERSION}"
    6.26 +}
    6.27 +
    6.28 +# Build MPC for running on build
    6.29 +# - always build statically
    6.30 +# - we do not have build-specific CFLAGS
    6.31 +# - install in build-tools prefix
    6.32 +do_mpc_for_build() {
    6.33 +    local -a mpc_opts
    6.34 +
    6.35 +    case "${CT_TOOLCHAIN_TYPE}" in
    6.36 +        native|cross)   return 0;;
    6.37 +    esac
    6.38 +
    6.39 +    CT_DoStep INFO "Installing MPC for build"
    6.40 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-build-${CT_BUILD}"
    6.41 +
    6.42 +    mpc_opts+=( "host=${CT_BUILD}" )
    6.43 +    mpc_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    6.44 +    do_mpc_backend "${mpc_opts[@]}"
    6.45 +
    6.46 +    CT_Popd
    6.47 +    CT_EndStep
    6.48 +}
    6.49 +
    6.50 +# Build MPC for running on host
    6.51 +do_mpc_for_host() {
    6.52 +    local -a mpc_opts
    6.53 +
    6.54 +    CT_DoStep INFO "Installing MPC for host"
    6.55 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-host-${CT_HOST}"
    6.56 +
    6.57 +    mpc_opts+=( "host=${CT_HOST}" )
    6.58 +    mpc_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    6.59 +    mpc_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    6.60 +    do_mpc_backend "${mpc_opts[@]}"
    6.61 +
    6.62 +    CT_Popd
    6.63 +    CT_EndStep
    6.64 +}
    6.65 +
    6.66 +# Build MPC
    6.67 +#     Parameter     : description               : type      : default
    6.68 +#     host          : machine to run on         : tuple     : (none)
    6.69 +#     prefix        : prefix to install into    : dir       : (none)
    6.70 +#     cflags        : host cflags to use        : string    : (empty)
    6.71 +do_mpc_backend() {
    6.72 +    local host
    6.73 +    local prefix
    6.74 +    local cflags
    6.75 +    local arg
    6.76 +
    6.77 +    for arg in "$@"; do
    6.78 +        eval "${arg// /\\ }"
    6.79 +    done
    6.80 +
    6.81 +    CT_DoLog EXTRA "Configuring MPC"
    6.82 +
    6.83 +    CT_DoExecLog CFG                                \
    6.84 +    CFLAGS="${cflags}"                              \
    6.85 +    "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
    6.86 +        --build=${CT_BUILD}                         \
    6.87 +        --host=${host}                              \
    6.88 +        --prefix="${prefix}"                        \
    6.89 +        --with-gmp="${prefix}"                      \
    6.90 +        --with-mpfr="${prefix}"                     \
    6.91 +        --disable-shared                            \
    6.92 +        --enable-static
    6.93 +
    6.94 +    CT_DoLog EXTRA "Building MPC"
    6.95 +    CT_DoExecLog ALL make ${JOBSFLAGS}
    6.96 +
    6.97 +    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
    6.98 +        CT_DoLog EXTRA "Checking MPC"
    6.99 +        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   6.100 +    fi
   6.101 +
   6.102 +    CT_DoLog EXTRA "Installing MPC"
   6.103 +    CT_DoExecLog ALL make install
   6.104 +}
   6.105 +
   6.106 +fi # CT_MPC
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/scripts/build/companion_libs/200-libelf.sh	Fri Nov 16 14:59:27 2012 +0100
     7.3 @@ -0,0 +1,135 @@
     7.4 +# Build script for libelf
     7.5 +
     7.6 +do_libelf_get() { :; }
     7.7 +do_libelf_extract() { :; }
     7.8 +do_libelf_for_build() { :; }
     7.9 +do_libelf_for_host() { :; }
    7.10 +do_libelf_for_target() { :; }
    7.11 +
    7.12 +if [ "${CT_LIBELF}" = "y" -o "${CT_LIBELF_TARGET}" = "y" ]; then
    7.13 +
    7.14 +do_libelf_get() {
    7.15 +    # The server hosting libelf will return an "HTTP 300 : Multiple Choices"
    7.16 +    # error code if we try to download a file that does not exists there.
    7.17 +    # So we have to request the file with an explicit extension.
    7.18 +    CT_GetFile "libelf-${CT_LIBELF_VERSION}" .tar.gz http://www.mr511.de/software/
    7.19 +}
    7.20 +
    7.21 +do_libelf_extract() {
    7.22 +    CT_Extract "libelf-${CT_LIBELF_VERSION}"
    7.23 +    CT_Patch "libelf" "${CT_LIBELF_VERSION}"
    7.24 +}
    7.25 +
    7.26 +if [ "${CT_LIBELF}" = "y" ]; then
    7.27 +
    7.28 +# Build libelf for running on build
    7.29 +# - always build statically
    7.30 +# - we do not have build-specific CFLAGS
    7.31 +# - install in build-tools prefix
    7.32 +do_libelf_for_build() {
    7.33 +    local -a libelf_opts
    7.34 +
    7.35 +    case "${CT_TOOLCHAIN_TYPE}" in
    7.36 +        native|cross)   return 0;;
    7.37 +    esac
    7.38 +
    7.39 +    CT_DoStep INFO "Installing libelf for build"
    7.40 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-build-${CT_BUILD}"
    7.41 +
    7.42 +    libelf_opts+=( "host=${CT_BUILD}" )
    7.43 +    libelf_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    7.44 +    do_libelf_backend "${libelf_opts[@]}"
    7.45 +
    7.46 +    CT_Popd
    7.47 +    CT_EndStep
    7.48 +}
    7.49 +
    7.50 +# Build libelf for running on host
    7.51 +do_libelf_for_host() {
    7.52 +    local -a libelf_opts
    7.53 +
    7.54 +    CT_DoStep INFO "Installing libelf for host"
    7.55 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-host-${CT_HOST}"
    7.56 +
    7.57 +    libelf_opts+=( "host=${CT_HOST}" )
    7.58 +    libelf_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    7.59 +    libelf_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    7.60 +    do_libelf_backend "${libelf_opts[@]}"
    7.61 +
    7.62 +    CT_Popd
    7.63 +    CT_EndStep
    7.64 +}
    7.65 +
    7.66 +fi # CT_LIBELF
    7.67 +
    7.68 +if [ "${CT_LIBELF_TARGET}" = "y" ]; then
    7.69 +
    7.70 +do_libelf_for_target() {
    7.71 +    local -a libelf_opts
    7.72 +
    7.73 +    CT_DoStep INFO "Installing libelf for the target"
    7.74 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-target-${CT_TARGET}"
    7.75 +
    7.76 +    libelf_opts+=( "destdir=${CT_SYSROOT_DIR}" )
    7.77 +    libelf_opts+=( "host=${CT_TARGET}" )
    7.78 +    libelf_opts+=( "prefix=/usr" )
    7.79 +    libelf_opts+=( "shared=y" )
    7.80 +    do_libelf_backend "${libelf_opts[@]}"
    7.81 +
    7.82 +    CT_Popd
    7.83 +    CT_EndStep
    7.84 +}
    7.85 +
    7.86 +fi # CT_LIBELF_TARGET
    7.87 +
    7.88 +# Build libelf
    7.89 +#     Parameter     : description               : type      : default
    7.90 +#     destdir       : out-of-tree install dir   : string    : /
    7.91 +#     host          : machine to run on         : tuple     : (none)
    7.92 +#     prefix        : prefix to install into    : dir       : (none)
    7.93 +#     cflags        : host cflags to use        : string    : (empty)
    7.94 +#     shared        : also buils shared lib     : bool      : n
    7.95 +do_libelf_backend() {
    7.96 +    local destdir="/"
    7.97 +    local host
    7.98 +    local prefix
    7.99 +    local cflags
   7.100 +    local shared
   7.101 +    local -a extra_config
   7.102 +    local arg
   7.103 +
   7.104 +    for arg in "$@"; do
   7.105 +        eval "${arg// /\\ }"
   7.106 +    done
   7.107 +
   7.108 +    CT_DoLog EXTRA "Configuring libelf"
   7.109 +
   7.110 +    if [ "${shared}" = "y" ]; then
   7.111 +        extra_config+=( --enable-shared )
   7.112 +    else
   7.113 +        extra_config+=( --disable-shared )
   7.114 +    fi
   7.115 +
   7.116 +    CT_DoExecLog CFG                                        \
   7.117 +    CC="${host}-gcc"                                        \
   7.118 +    RANLIB="${host}-ranlib"                                 \
   7.119 +    CFLAGS="${cflags} -fPIC"                                \
   7.120 +    "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure"   \
   7.121 +        --build=${CT_BUILD}                                 \
   7.122 +        --host=${host}                                      \
   7.123 +        --target=${CT_TARGET}                               \
   7.124 +        --prefix="${prefix}"                                \
   7.125 +        --enable-compat                                     \
   7.126 +        --enable-elf64                                      \
   7.127 +        --enable-extended-format                            \
   7.128 +        --enable-static                                     \
   7.129 +        "${extra_config[@]}"
   7.130 +
   7.131 +    CT_DoLog EXTRA "Building libelf"
   7.132 +    CT_DoExecLog ALL make
   7.133 +
   7.134 +    CT_DoLog EXTRA "Installing libelf"
   7.135 +    CT_DoExecLog ALL make instroot="${destdir}" install
   7.136 +}
   7.137 +
   7.138 +fi # CT_LIBELF || CT_LIBELF_TARGET
     8.1 --- a/scripts/build/companion_libs/cloog.sh	Thu Nov 15 20:51:31 2012 +0100
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,122 +0,0 @@
     8.4 -# This file adds the functions to build the CLooG library
     8.5 -# Copyright 2009 Yann E. MORIN
     8.6 -# Licensed under the GPL v2. See COPYING in the root of this package
     8.7 -
     8.8 -do_cloog_get() { :; }
     8.9 -do_cloog_extract() { :; }
    8.10 -do_cloog_for_build() { :; }
    8.11 -do_cloog_for_host() { :; }
    8.12 -
    8.13 -# Overide functions depending on configuration
    8.14 -if [ "${CT_CLOOG}" = "y" ]; then
    8.15 -
    8.16 -# Download CLooG
    8.17 -do_cloog_get() {
    8.18 -    CT_GetFile "cloog-ppl-${CT_CLOOG_VERSION}"  \
    8.19 -        ftp://gcc.gnu.org/pub/gcc/infrastructure
    8.20 -}
    8.21 -
    8.22 -# Extract CLooG
    8.23 -do_cloog_extract() {
    8.24 -    local _t
    8.25 -
    8.26 -    # Version 0.15.3 has a dirname 'cloog-ppl' (with no version in it!)
    8.27 -    # while versions 0.15.4 onward do have the version in the dirname.
    8.28 -    # But, because the infrastructure properly creates the extracted
    8.29 -    # directories (with tar's --strip-components), we can live safely...
    8.30 -    CT_Extract "cloog-ppl-${CT_CLOOG_VERSION}"
    8.31 -    CT_Patch "cloog-ppl" "${CT_CLOOG_VERSION}"
    8.32 -
    8.33 -    # Help the autostuff in case it thinks there are things to regenerate...
    8.34 -    CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}/m4"
    8.35 -
    8.36 -    if [ "${CT_CLOOG_NEEDS_AUTORECONF}" = "y" ]; then
    8.37 -        CT_Pushd "${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}"
    8.38 -        CT_DoExecLog CFG ./autogen.sh
    8.39 -        CT_Popd
    8.40 -    fi
    8.41 -}
    8.42 -
    8.43 -# Build CLooG/PPL for running on build
    8.44 -# - always build statically
    8.45 -# - we do not have build-specific CFLAGS
    8.46 -# - install in build-tools prefix
    8.47 -do_cloog_for_build() {
    8.48 -    local -a cloog_opts
    8.49 -
    8.50 -    case "${CT_TOOLCHAIN_TYPE}" in
    8.51 -        native|cross)   return 0;;
    8.52 -    esac
    8.53 -
    8.54 -    CT_DoStep INFO "Installing CLooG/PPL for build"
    8.55 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-cloog-ppl-build-${CT_BUILD}"
    8.56 -
    8.57 -    cloog_opts+=( "host=${CT_BUILD}" )
    8.58 -    cloog_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    8.59 -    do_cloog_backend "${cloog_opts[@]}"
    8.60 -
    8.61 -    CT_Popd
    8.62 -    CT_EndStep
    8.63 -}
    8.64 -
    8.65 -# Build CLooG/PPL for running on host
    8.66 -do_cloog_for_host() {
    8.67 -    local -a cloog_opts
    8.68 -
    8.69 -    CT_DoStep INFO "Installing CLooG/PPL for host"
    8.70 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-cloog-ppl-host-${CT_HOST}"
    8.71 -
    8.72 -    cloog_opts+=( "host=${CT_HOST}" )
    8.73 -    cloog_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    8.74 -    cloog_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    8.75 -    do_cloog_backend "${cloog_opts[@]}"
    8.76 -
    8.77 -    CT_Popd
    8.78 -    CT_EndStep
    8.79 -}
    8.80 -
    8.81 -# Build ClooG/PPL
    8.82 -#     Parameter     : description               : type      : default
    8.83 -#     host          : machine to run on         : tuple     : (none)
    8.84 -#     prefix        : prefix to install into    : dir       : (none)
    8.85 -#     cflags        : host cflags to use        : string    : (empty)
    8.86 -do_cloog_backend() {
    8.87 -    local host
    8.88 -    local prefix
    8.89 -    local cflags
    8.90 -    local cloog_src_dir="${CT_SRC_DIR}/cloog-ppl-${CT_CLOOG_VERSION}"
    8.91 -    local arg
    8.92 -
    8.93 -    for arg in "$@"; do
    8.94 -        eval "${arg// /\\ }"
    8.95 -    done
    8.96 -
    8.97 -    CT_DoLog EXTRA "Configuring CLooG/ppl"
    8.98 -
    8.99 -    CT_DoExecLog CFG                            \
   8.100 -    CFLAGS="${cflags}"                          \
   8.101 -    LIBS="-lm"                                  \
   8.102 -    "${cloog_src_dir}/configure"                \
   8.103 -        --build=${CT_BUILD}                     \
   8.104 -        --host=${host}                          \
   8.105 -        --prefix="${prefix}"                    \
   8.106 -        --with-gmp="${prefix}"                  \
   8.107 -        --with-ppl="${prefix}"                  \
   8.108 -        --with-bits=gmp                         \
   8.109 -        --with-host-libstdcxx='-lstdc++'        \
   8.110 -        --disable-shared                        \
   8.111 -        --enable-static
   8.112 -
   8.113 -    CT_DoLog EXTRA "Building CLooG/ppl"
   8.114 -    CT_DoExecLog ALL make ${JOBSFLAGS} libcloog.la
   8.115 -
   8.116 -    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
   8.117 -        CT_DoLog EXTRA "Checking CLooG/ppl"
   8.118 -        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   8.119 -    fi
   8.120 -
   8.121 -    CT_DoLog EXTRA "Installing CLooG/ppl"
   8.122 -    CT_DoExecLog ALL make install-libLTLIBRARIES install-pkgincludeHEADERS
   8.123 -}
   8.124 -
   8.125 -fi # CT_CLOOG
     9.1 --- a/scripts/build/companion_libs/gmp.sh	Thu Nov 15 20:51:31 2012 +0100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,103 +0,0 @@
     9.4 -# This file adds the functions to build the GMP library
     9.5 -# Copyright 2008 Yann E. MORIN
     9.6 -# Licensed under the GPL v2. See COPYING in the root of this package
     9.7 -
     9.8 -do_gmp_get() { :; }
     9.9 -do_gmp_extract() { :; }
    9.10 -do_gmp_for_build() { :; }
    9.11 -do_gmp_for_host() { :; }
    9.12 -
    9.13 -# Overide functions depending on configuration
    9.14 -if [ "${CT_GMP}" = "y" ]; then
    9.15 -
    9.16 -# Download GMP
    9.17 -do_gmp_get() {
    9.18 -    CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
    9.19 -}
    9.20 -
    9.21 -# Extract GMP
    9.22 -do_gmp_extract() {
    9.23 -    CT_Extract "gmp-${CT_GMP_VERSION}"
    9.24 -    CT_Patch "gmp" "${CT_GMP_VERSION}"
    9.25 -}
    9.26 -
    9.27 -# Build GMP for running on build
    9.28 -# - always build statically
    9.29 -# - we do not have build-specific CFLAGS
    9.30 -# - install in build-tools prefix
    9.31 -do_gmp_for_build() {
    9.32 -    local -a gmp_opts
    9.33 -
    9.34 -    case "${CT_TOOLCHAIN_TYPE}" in
    9.35 -        native|cross)   return 0;;
    9.36 -    esac
    9.37 -
    9.38 -    CT_DoStep INFO "Installing GMP for build"
    9.39 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-gmp-build-${CT_BUILD}"
    9.40 -
    9.41 -    gmp_opts+=( "host=${CT_BUILD}" )
    9.42 -    gmp_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
    9.43 -    do_gmp_backend "${gmp_opts[@]}"
    9.44 -
    9.45 -    CT_Popd
    9.46 -    CT_EndStep
    9.47 -}
    9.48 -
    9.49 -# Build GMP for running on host
    9.50 -do_gmp_for_host() {
    9.51 -    local -a gmp_opts
    9.52 -
    9.53 -    CT_DoStep INFO "Installing GMP for host"
    9.54 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-gmp-host-${CT_HOST}"
    9.55 -
    9.56 -    gmp_opts+=( "host=${CT_HOST}" )
    9.57 -    gmp_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
    9.58 -    gmp_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    9.59 -    do_gmp_backend "${gmp_opts[@]}"
    9.60 -
    9.61 -    CT_Popd
    9.62 -    CT_EndStep
    9.63 -}
    9.64 -
    9.65 -# Build GMP
    9.66 -#     Parameter     : description               : type      : default
    9.67 -#     host          : machine to run on         : tuple     : (none)
    9.68 -#     prefix        : prefix to install into    : dir       : (none)
    9.69 -#     cflags        : host cflags to use        : string    : (empty)
    9.70 -do_gmp_backend() {
    9.71 -    local host
    9.72 -    local prefix
    9.73 -    local cflags
    9.74 -    local arg
    9.75 -
    9.76 -    for arg in "$@"; do
    9.77 -        eval "${arg// /\\ }"
    9.78 -    done
    9.79 -
    9.80 -    CT_DoLog EXTRA "Configuring GMP"
    9.81 -
    9.82 -    CT_DoExecLog CFG                                \
    9.83 -    CFLAGS="${cflags} -fexceptions"                 \
    9.84 -    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
    9.85 -        --build=${CT_BUILD}                         \
    9.86 -        --host=${host}                              \
    9.87 -        --prefix="${prefix}"                        \
    9.88 -        --enable-fft                                \
    9.89 -        --enable-mpbsd                              \
    9.90 -        --enable-cxx                                \
    9.91 -        --disable-shared                            \
    9.92 -        --enable-static
    9.93 -
    9.94 -    CT_DoLog EXTRA "Building GMP"
    9.95 -    CT_DoExecLog ALL make ${JOBSFLAGS}
    9.96 -
    9.97 -    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
    9.98 -        CT_DoLog EXTRA "Checking GMP"
    9.99 -        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
   9.100 -    fi
   9.101 -
   9.102 -    CT_DoLog EXTRA "Installing GMP"
   9.103 -    CT_DoExecLog ALL make install
   9.104 -}
   9.105 -
   9.106 -fi # CT_GMP
    10.1 --- a/scripts/build/companion_libs/libelf.sh	Thu Nov 15 20:51:31 2012 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,135 +0,0 @@
    10.4 -# Build script for libelf
    10.5 -
    10.6 -do_libelf_get() { :; }
    10.7 -do_libelf_extract() { :; }
    10.8 -do_libelf_for_build() { :; }
    10.9 -do_libelf_for_host() { :; }
   10.10 -do_libelf_for_target() { :; }
   10.11 -
   10.12 -if [ "${CT_LIBELF}" = "y" -o "${CT_LIBELF_TARGET}" = "y" ]; then
   10.13 -
   10.14 -do_libelf_get() {
   10.15 -    # The server hosting libelf will return an "HTTP 300 : Multiple Choices"
   10.16 -    # error code if we try to download a file that does not exists there.
   10.17 -    # So we have to request the file with an explicit extension.
   10.18 -    CT_GetFile "libelf-${CT_LIBELF_VERSION}" .tar.gz http://www.mr511.de/software/
   10.19 -}
   10.20 -
   10.21 -do_libelf_extract() {
   10.22 -    CT_Extract "libelf-${CT_LIBELF_VERSION}"
   10.23 -    CT_Patch "libelf" "${CT_LIBELF_VERSION}"
   10.24 -}
   10.25 -
   10.26 -if [ "${CT_LIBELF}" = "y" ]; then
   10.27 -
   10.28 -# Build libelf for running on build
   10.29 -# - always build statically
   10.30 -# - we do not have build-specific CFLAGS
   10.31 -# - install in build-tools prefix
   10.32 -do_libelf_for_build() {
   10.33 -    local -a libelf_opts
   10.34 -
   10.35 -    case "${CT_TOOLCHAIN_TYPE}" in
   10.36 -        native|cross)   return 0;;
   10.37 -    esac
   10.38 -
   10.39 -    CT_DoStep INFO "Installing libelf for build"
   10.40 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-build-${CT_BUILD}"
   10.41 -
   10.42 -    libelf_opts+=( "host=${CT_BUILD}" )
   10.43 -    libelf_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
   10.44 -    do_libelf_backend "${libelf_opts[@]}"
   10.45 -
   10.46 -    CT_Popd
   10.47 -    CT_EndStep
   10.48 -}
   10.49 -
   10.50 -# Build libelf for running on host
   10.51 -do_libelf_for_host() {
   10.52 -    local -a libelf_opts
   10.53 -
   10.54 -    CT_DoStep INFO "Installing libelf for host"
   10.55 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-host-${CT_HOST}"
   10.56 -
   10.57 -    libelf_opts+=( "host=${CT_HOST}" )
   10.58 -    libelf_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
   10.59 -    libelf_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
   10.60 -    do_libelf_backend "${libelf_opts[@]}"
   10.61 -
   10.62 -    CT_Popd
   10.63 -    CT_EndStep
   10.64 -}
   10.65 -
   10.66 -fi # CT_LIBELF
   10.67 -
   10.68 -if [ "${CT_LIBELF_TARGET}" = "y" ]; then
   10.69 -
   10.70 -do_libelf_for_target() {
   10.71 -    local -a libelf_opts
   10.72 -
   10.73 -    CT_DoStep INFO "Installing libelf for the target"
   10.74 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-libelf-target-${CT_TARGET}"
   10.75 -
   10.76 -    libelf_opts+=( "destdir=${CT_SYSROOT_DIR}" )
   10.77 -    libelf_opts+=( "host=${CT_TARGET}" )
   10.78 -    libelf_opts+=( "prefix=/usr" )
   10.79 -    libelf_opts+=( "shared=y" )
   10.80 -    do_libelf_backend "${libelf_opts[@]}"
   10.81 -
   10.82 -    CT_Popd
   10.83 -    CT_EndStep
   10.84 -}
   10.85 -
   10.86 -fi # CT_LIBELF_TARGET
   10.87 -
   10.88 -# Build libelf
   10.89 -#     Parameter     : description               : type      : default
   10.90 -#     destdir       : out-of-tree install dir   : string    : /
   10.91 -#     host          : machine to run on         : tuple     : (none)
   10.92 -#     prefix        : prefix to install into    : dir       : (none)
   10.93 -#     cflags        : host cflags to use        : string    : (empty)
   10.94 -#     shared        : also buils shared lib     : bool      : n
   10.95 -do_libelf_backend() {
   10.96 -    local destdir="/"
   10.97 -    local host
   10.98 -    local prefix
   10.99 -    local cflags
  10.100 -    local shared
  10.101 -    local -a extra_config
  10.102 -    local arg
  10.103 -
  10.104 -    for arg in "$@"; do
  10.105 -        eval "${arg// /\\ }"
  10.106 -    done
  10.107 -
  10.108 -    CT_DoLog EXTRA "Configuring libelf"
  10.109 -
  10.110 -    if [ "${shared}" = "y" ]; then
  10.111 -        extra_config+=( --enable-shared )
  10.112 -    else
  10.113 -        extra_config+=( --disable-shared )
  10.114 -    fi
  10.115 -
  10.116 -    CT_DoExecLog CFG                                        \
  10.117 -    CC="${host}-gcc"                                        \
  10.118 -    RANLIB="${host}-ranlib"                                 \
  10.119 -    CFLAGS="${cflags} -fPIC"                                \
  10.120 -    "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure"   \
  10.121 -        --build=${CT_BUILD}                                 \
  10.122 -        --host=${host}                                      \
  10.123 -        --target=${CT_TARGET}                               \
  10.124 -        --prefix="${prefix}"                                \
  10.125 -        --enable-compat                                     \
  10.126 -        --enable-elf64                                      \
  10.127 -        --enable-extended-format                            \
  10.128 -        --enable-static                                     \
  10.129 -        "${extra_config[@]}"
  10.130 -
  10.131 -    CT_DoLog EXTRA "Building libelf"
  10.132 -    CT_DoExecLog ALL make
  10.133 -
  10.134 -    CT_DoLog EXTRA "Installing libelf"
  10.135 -    CT_DoExecLog ALL make instroot="${destdir}" install
  10.136 -}
  10.137 -
  10.138 -fi # CT_LIBELF || CT_LIBELF_TARGET
    11.1 --- a/scripts/build/companion_libs/mpc.sh	Thu Nov 15 20:51:31 2012 +0100
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,103 +0,0 @@
    11.4 -# This file adds the functions to build the MPC library
    11.5 -# Copyright 2009 Yann E. MORIN
    11.6 -# Licensed under the GPL v2. See COPYING in the root of this package
    11.7 -
    11.8 -do_mpc_get() { :; }
    11.9 -do_mpc_extract() { :; }
   11.10 -do_mpc_for_build() { :; }
   11.11 -do_mpc_for_host() { :; }
   11.12 -
   11.13 -# Overide functions depending on configuration
   11.14 -if [ "${CT_MPC}" = "y" ]; then
   11.15 -
   11.16 -# Download MPC
   11.17 -do_mpc_get() {
   11.18 -    CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz      \
   11.19 -        http://www.multiprecision.org/mpc/download
   11.20 -}
   11.21 -
   11.22 -# Extract MPC
   11.23 -do_mpc_extract() {
   11.24 -    CT_Extract "mpc-${CT_MPC_VERSION}"
   11.25 -    CT_Patch "mpc" "${CT_MPC_VERSION}"
   11.26 -}
   11.27 -
   11.28 -# Build MPC for running on build
   11.29 -# - always build statically
   11.30 -# - we do not have build-specific CFLAGS
   11.31 -# - install in build-tools prefix
   11.32 -do_mpc_for_build() {
   11.33 -    local -a mpc_opts
   11.34 -
   11.35 -    case "${CT_TOOLCHAIN_TYPE}" in
   11.36 -        native|cross)   return 0;;
   11.37 -    esac
   11.38 -
   11.39 -    CT_DoStep INFO "Installing MPC for build"
   11.40 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-build-${CT_BUILD}"
   11.41 -
   11.42 -    mpc_opts+=( "host=${CT_BUILD}" )
   11.43 -    mpc_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
   11.44 -    do_mpc_backend "${mpc_opts[@]}"
   11.45 -
   11.46 -    CT_Popd
   11.47 -    CT_EndStep
   11.48 -}
   11.49 -
   11.50 -# Build MPC for running on host
   11.51 -do_mpc_for_host() {
   11.52 -    local -a mpc_opts
   11.53 -
   11.54 -    CT_DoStep INFO "Installing MPC for host"
   11.55 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-host-${CT_HOST}"
   11.56 -
   11.57 -    mpc_opts+=( "host=${CT_HOST}" )
   11.58 -    mpc_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
   11.59 -    mpc_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
   11.60 -    do_mpc_backend "${mpc_opts[@]}"
   11.61 -
   11.62 -    CT_Popd
   11.63 -    CT_EndStep
   11.64 -}
   11.65 -
   11.66 -# Build MPC
   11.67 -#     Parameter     : description               : type      : default
   11.68 -#     host          : machine to run on         : tuple     : (none)
   11.69 -#     prefix        : prefix to install into    : dir       : (none)
   11.70 -#     cflags        : host cflags to use        : string    : (empty)
   11.71 -do_mpc_backend() {
   11.72 -    local host
   11.73 -    local prefix
   11.74 -    local cflags
   11.75 -    local arg
   11.76 -
   11.77 -    for arg in "$@"; do
   11.78 -        eval "${arg// /\\ }"
   11.79 -    done
   11.80 -
   11.81 -    CT_DoLog EXTRA "Configuring MPC"
   11.82 -
   11.83 -    CT_DoExecLog CFG                                \
   11.84 -    CFLAGS="${cflags}"                              \
   11.85 -    "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
   11.86 -        --build=${CT_BUILD}                         \
   11.87 -        --host=${host}                              \
   11.88 -        --prefix="${prefix}"                        \
   11.89 -        --with-gmp="${prefix}"                      \
   11.90 -        --with-mpfr="${prefix}"                     \
   11.91 -        --disable-shared                            \
   11.92 -        --enable-static
   11.93 -
   11.94 -    CT_DoLog EXTRA "Building MPC"
   11.95 -    CT_DoExecLog ALL make ${JOBSFLAGS}
   11.96 -
   11.97 -    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
   11.98 -        CT_DoLog EXTRA "Checking MPC"
   11.99 -        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
  11.100 -    fi
  11.101 -
  11.102 -    CT_DoLog EXTRA "Installing MPC"
  11.103 -    CT_DoExecLog ALL make install
  11.104 -}
  11.105 -
  11.106 -fi # CT_MPC
    12.1 --- a/scripts/build/companion_libs/mpfr.sh	Thu Nov 15 20:51:31 2012 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,152 +0,0 @@
    12.4 -# This file adds the functions to build the MPFR library
    12.5 -# Copyright 2008 Yann E. MORIN
    12.6 -# Licensed under the GPL v2. See COPYING in the root of this package
    12.7 -
    12.8 -do_mpfr_get() { :; }
    12.9 -do_mpfr_extract() { :; }
   12.10 -do_mpfr_for_build() { :; }
   12.11 -do_mpfr_for_host() { :; }
   12.12 -
   12.13 -# Overide function depending on configuration
   12.14 -if [ "${CT_MPFR}" = "y" ]; then
   12.15 -
   12.16 -# Download MPFR
   12.17 -do_mpfr_get() {
   12.18 -    CT_GetFile "mpfr-${CT_MPFR_VERSION}" http://www.mpfr.org/mpfr-current/  \
   12.19 -                                 http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
   12.20 -}
   12.21 -
   12.22 -# Extract MPFR
   12.23 -do_mpfr_extract() {
   12.24 -    CT_Extract "mpfr-${CT_MPFR_VERSION}"
   12.25 -    CT_Patch "mpfr" "${CT_MPFR_VERSION}"
   12.26 -
   12.27 -    # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
   12.28 -    # same version number. Unfortunately, some tarballs of MPFR are not
   12.29 -    # built sanely, and thus ./configure fails on Gentoo.
   12.30 -    # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
   12.31 -    # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
   12.32 -    # This hack is not bad per se, but the MPFR guys would be better not to
   12.33 -    # do that in the future...
   12.34 -    # It seems that MPFR >= 2.4.0 do not need this...
   12.35 -    case "${CT_MPFR_VERSION}" in
   12.36 -        2.4.*)
   12.37 -            CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
   12.38 -            if [ ! -f .autoreconf.ct-ng ]; then
   12.39 -                CT_DoLog DEBUG "Running autoreconf"
   12.40 -                CT_DoExecLog ALL autoreconf
   12.41 -                touch .autoreconf.ct-ng
   12.42 -            fi
   12.43 -            CT_Popd
   12.44 -            ;;
   12.45 -        1.*|2.0.*|2.1.*|2.2.*|2.3.*)
   12.46 -            CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
   12.47 -            if [ ! -f .autotools.ct-ng ]; then
   12.48 -                CT_DoLog DEBUG "Re-building autotools files"
   12.49 -                CT_DoExecLog ALL autoreconf -fi
   12.50 -                # Starting with libtool-1.9f, config.{guess,sub} are no longer
   12.51 -                # installed without -i, but starting with libtool-2.2.6, they
   12.52 -                # are no longer removed without -i. Sight... Just use -i with
   12.53 -                # libtool >=2
   12.54 -                # See: http://sourceware.org/ml/crossgcc/2008-11/msg00046.html
   12.55 -                # and: http://sourceware.org/ml/crossgcc/2008-11/msg00048.html
   12.56 -                libtoolize_opt=
   12.57 -                case "$(libtoolize --version |head -n 1 |awk '{ print $(NF); }')" in
   12.58 -                    0.*)    ;;
   12.59 -                    1.*)    ;;
   12.60 -                    *)      libtoolize_opt=-i;;
   12.61 -                esac
   12.62 -                CT_DoExecLog ALL libtoolize -f ${libtoolize_opt}
   12.63 -                touch .autotools.ct-ng
   12.64 -            fi
   12.65 -            CT_Popd
   12.66 -            ;;
   12.67 -    esac
   12.68 -}
   12.69 -
   12.70 -# Build MPFR for running on build
   12.71 -# - always build statically
   12.72 -# - we do not have build-specific CFLAGS
   12.73 -# - install in build-tools prefix
   12.74 -do_mpfr_for_build() {
   12.75 -    local -a mpfr_opts
   12.76 -
   12.77 -    case "${CT_TOOLCHAIN_TYPE}" in
   12.78 -        native|cross)   return 0;;
   12.79 -    esac
   12.80 -
   12.81 -    CT_DoStep INFO "Installing MPFR for build"
   12.82 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-build-${CT_BUILD}"
   12.83 -
   12.84 -    mpfr_opts+=( "host=${CT_BUILD}" )
   12.85 -    mpfr_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
   12.86 -    do_mpfr_backend "${mpfr_opts[@]}"
   12.87 -
   12.88 -    CT_Popd
   12.89 -    CT_EndStep
   12.90 -}
   12.91 -
   12.92 -# Build MPFR for running on host
   12.93 -do_mpfr_for_host() {
   12.94 -    local -a mpfr_opts
   12.95 -
   12.96 -    CT_DoStep INFO "Installing MPFR for host"
   12.97 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpfr-host-${CT_HOST}"
   12.98 -
   12.99 -    mpfr_opts+=( "host=${CT_HOST}" )
  12.100 -    mpfr_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
  12.101 -    mpfr_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
  12.102 -    do_mpfr_backend "${mpfr_opts[@]}"
  12.103 -
  12.104 -    CT_Popd
  12.105 -    CT_EndStep
  12.106 -}
  12.107 -
  12.108 -# Build MPFR
  12.109 -#     Parameter     : description               : type      : default
  12.110 -#     host          : machine to run on         : tuple     : (none)
  12.111 -#     prefix        : prefix to install into    : dir       : (none)
  12.112 -#     cflags        : host cflags to use        : string    : (empty)
  12.113 -do_mpfr_backend() {
  12.114 -    local host
  12.115 -    local prefix
  12.116 -    local cflags
  12.117 -    local arg
  12.118 -
  12.119 -    for arg in "$@"; do
  12.120 -        eval "${arg// /\\ }"
  12.121 -    done
  12.122 -
  12.123 -    # Under Cygwin, we can't build a thread-safe library
  12.124 -    case "${CT_HOST}" in
  12.125 -        *cygwin*)   mpfr_opts+=( --disable-thread-safe );;
  12.126 -        *mingw*)    mpfr_opts+=( --disable-thread-safe );;
  12.127 -        *darwin*)   mpfr_opts+=( --disable-thread-safe );;
  12.128 -        *)          mpfr_opts+=( --enable-thread-safe  );;
  12.129 -    esac
  12.130 -
  12.131 -    CT_DoLog EXTRA "Configuring MPFR"
  12.132 -    CT_DoExecLog CFG                                    \
  12.133 -    CC="${host}-gcc"                                    \
  12.134 -    CFLAGS="${CT_CFLAGS_FOR_HOST}"                      \
  12.135 -    "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure"   \
  12.136 -        --build=${CT_BUILD}                             \
  12.137 -        --host=${host}                                  \
  12.138 -        --prefix="${prefix}"                            \
  12.139 -        --with-gmp="${prefix}"                          \
  12.140 -        --disable-shared                                \
  12.141 -        --enable-static
  12.142 -
  12.143 -    CT_DoLog EXTRA "Building MPFR"
  12.144 -    CT_DoExecLog ALL make ${JOBSFLAGS}
  12.145 -
  12.146 -    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
  12.147 -        CT_DoLog EXTRA "Checking MPFR"
  12.148 -        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
  12.149 -    fi
  12.150 -
  12.151 -    CT_DoLog EXTRA "Installing MPFR"
  12.152 -    CT_DoExecLog ALL make install
  12.153 -}
  12.154 -
  12.155 -fi # CT_MPFR
    13.1 --- a/scripts/build/companion_libs/ppl.sh	Thu Nov 15 20:51:31 2012 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,119 +0,0 @@
    13.4 -# This file adds the functions to build the PPL library
    13.5 -# Copyright 2009 Yann E. MORIN
    13.6 -# Licensed under the GPL v2. See COPYING in the root of this package
    13.7 -
    13.8 -do_ppl_get() { :; }
    13.9 -do_ppl_extract() { :; }
   13.10 -do_ppl_for_build() { :; }
   13.11 -do_ppl_for_host() { :; }
   13.12 -
   13.13 -# Overide functions depending on configuration
   13.14 -if [ "${CT_PPL}" = "y" ]; then
   13.15 -
   13.16 -# Download PPL
   13.17 -do_ppl_get() {
   13.18 -    CT_GetFile "ppl-${CT_PPL_VERSION}"                                      \
   13.19 -        http://www.cs.unipr.it/ppl/Download/ftp/releases/${CT_PPL_VERSION}  \
   13.20 -        ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION}            \
   13.21 -        ftp://gcc.gnu.org/pub/gcc/infrastructure
   13.22 -}
   13.23 -
   13.24 -# Extract PPL
   13.25 -do_ppl_extract() {
   13.26 -    CT_Extract "ppl-${CT_PPL_VERSION}"
   13.27 -    CT_Patch "ppl" "${CT_PPL_VERSION}"
   13.28 -}
   13.29 -
   13.30 -# Build PPL for running on build
   13.31 -# - always build statically
   13.32 -# - we do not have build-specific CFLAGS
   13.33 -# - install in build-tools prefix
   13.34 -do_ppl_for_build() {
   13.35 -    local -a ppl_opts
   13.36 -
   13.37 -    case "${CT_TOOLCHAIN_TYPE}" in
   13.38 -        native|cross)   return 0;;
   13.39 -    esac
   13.40 -
   13.41 -    CT_DoStep INFO "Installing PPL for build"
   13.42 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-build-${CT_BUILD}"
   13.43 -
   13.44 -    ppl_opts+=( "host=${CT_BUILD}" )
   13.45 -    ppl_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
   13.46 -    do_ppl_backend "${ppl_opts[@]}"
   13.47 -
   13.48 -    CT_Popd
   13.49 -    CT_EndStep
   13.50 -}
   13.51 -
   13.52 -# Build PPL for running on host
   13.53 -do_ppl_for_host() {
   13.54 -    local -a ppl_opts
   13.55 -
   13.56 -    CT_DoStep INFO "Installing PPL for host"
   13.57 -    CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_HOST}"
   13.58 -
   13.59 -    ppl_opts+=( "host=${CT_HOST}" )
   13.60 -    ppl_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
   13.61 -    ppl_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
   13.62 -    do_ppl_backend "${ppl_opts[@]}"
   13.63 -
   13.64 -    CT_Popd
   13.65 -    CT_EndStep
   13.66 -}
   13.67 -
   13.68 -# Build PPL
   13.69 -#     Parameter     : description               : type      : default
   13.70 -#     host          : machine to run on         : tuple     : (none)
   13.71 -#     prefix        : prefix to install into    : dir       : (none)
   13.72 -#     cflags        : host cflags to use        : string    : (empty)
   13.73 -do_ppl_backend() {
   13.74 -    local host
   13.75 -    local prefix
   13.76 -    local cflags
   13.77 -    local arg
   13.78 -
   13.79 -    for arg in "$@"; do
   13.80 -        eval "${arg// /\\ }"
   13.81 -    done
   13.82 -
   13.83 -    CT_DoLog EXTRA "Configuring PPL"
   13.84 -
   13.85 -    CT_DoExecLog CFG                                \
   13.86 -    CFLAGS="${cflags}"                              \
   13.87 -    CXXFLAGS="${cflags}"                            \
   13.88 -    "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
   13.89 -        --build=${CT_BUILD}                         \
   13.90 -        --host=${host}                              \
   13.91 -        --prefix="${prefix}"                        \
   13.92 -        --with-libgmp-prefix="${prefix}"            \
   13.93 -        --with-libgmpxx-prefix="${prefix}"          \
   13.94 -        --with-gmp-prefix="${prefix}"               \
   13.95 -        --enable-watchdog                           \
   13.96 -        --disable-debugging                         \
   13.97 -        --disable-assertions                        \
   13.98 -        --disable-ppl_lcdd                          \
   13.99 -        --disable-ppl_lpsol                         \
  13.100 -        --disable-shared                            \
  13.101 -        --enable-interfaces='c c++'                 \
  13.102 -        --enable-static
  13.103 -
  13.104 -    # Maybe-options:
  13.105 -    # --enable-optimization=speed  or sspeed (yes, with 2 's')
  13.106 -
  13.107 -    CT_DoLog EXTRA "Building PPL"
  13.108 -    CT_DoExecLog ALL make ${JOBSFLAGS}
  13.109 -
  13.110 -    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
  13.111 -        CT_DoLog EXTRA "Checking PPL"
  13.112 -        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
  13.113 -    fi
  13.114 -
  13.115 -    CT_DoLog EXTRA "Installing PPL"
  13.116 -    CT_DoExecLog ALL make install
  13.117 -
  13.118 -    # Remove spuriously installed file
  13.119 -    CT_DoExecLog ALL rm -f "${prefix}/bin/ppl-config"
  13.120 -}
  13.121 -
  13.122 -fi # CT_PPL
    14.1 --- a/scripts/crosstool-NG.sh.in	Thu Nov 15 20:51:31 2012 +0100
    14.2 +++ b/scripts/crosstool-NG.sh.in	Fri Nov 16 14:59:27 2012 +0100
    14.3 @@ -126,12 +126,7 @@
    14.4  . "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh"
    14.5  . "${CT_LIB_DIR}/scripts/build/companion_tools.sh"
    14.6  . "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh"
    14.7 -. "${CT_LIB_DIR}/scripts/build/companion_libs/gmp.sh"
    14.8 -. "${CT_LIB_DIR}/scripts/build/companion_libs/mpfr.sh"
    14.9 -. "${CT_LIB_DIR}/scripts/build/companion_libs/ppl.sh"
   14.10 -. "${CT_LIB_DIR}/scripts/build/companion_libs/cloog.sh"
   14.11 -. "${CT_LIB_DIR}/scripts/build/companion_libs/mpc.sh"
   14.12 -. "${CT_LIB_DIR}/scripts/build/companion_libs/libelf.sh"
   14.13 +. "${CT_LIB_DIR}/scripts/build/companion_libs.sh"
   14.14  . "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh"
   14.15  . "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh"
   14.16  . "${CT_LIB_DIR}/scripts/build/binutils/sstrip.sh"
   14.17 @@ -539,12 +534,7 @@
   14.18      CT_DoStep INFO "Retrieving needed toolchain components' tarballs"
   14.19      do_companion_tools_get
   14.20      do_kernel_get
   14.21 -    do_gmp_get
   14.22 -    do_mpfr_get
   14.23 -    do_ppl_get
   14.24 -    do_cloog_get
   14.25 -    do_mpc_get
   14.26 -    do_libelf_get
   14.27 +    do_companion_libs_get
   14.28      do_binutils_get
   14.29      do_elf2flt_get
   14.30      do_sstrip_get
   14.31 @@ -569,12 +559,7 @@
   14.32  
   14.33          CT_DoStep INFO "Extracting and patching toolchain components"
   14.34          do_kernel_extract
   14.35 -        do_gmp_extract
   14.36 -        do_mpfr_extract
   14.37 -        do_ppl_extract
   14.38 -        do_cloog_extract
   14.39 -        do_mpc_extract
   14.40 -        do_libelf_extract
   14.41 +        do_companion_libs_extract
   14.42          do_binutils_extract
   14.43          do_elf2flt_extract
   14.44          do_sstrip_extract
    15.1 --- a/steps.mk	Thu Nov 15 20:51:31 2012 +0100
    15.2 +++ b/steps.mk	Fri Nov 16 14:59:27 2012 +0100
    15.3 @@ -18,37 +18,27 @@
    15.4  # but are actual steps for canadian and cross-native.
    15.5  # Please keep the last line with a '\' and keep the following empy line:
    15.6  # it helps when diffing and merging.
    15.7 -CT_STEPS := libc_check_config   \
    15.8 -            gmp_for_build       \
    15.9 -            mpfr_for_build      \
   15.10 -            ppl_for_build       \
   15.11 -            cloog_for_build     \
   15.12 -            mpc_for_build       \
   15.13 -            libelf_for_build    \
   15.14 -            binutils_for_build  \
   15.15 -            elf2flt_for_build   \
   15.16 -            gmp_for_host        \
   15.17 -            mpfr_for_host       \
   15.18 -            ppl_for_host        \
   15.19 -            cloog_for_host      \
   15.20 -            mpc_for_host        \
   15.21 -            libelf_for_host     \
   15.22 -            binutils_for_host   \
   15.23 -            elf2flt_for_host    \
   15.24 -            sstrip_for_host     \
   15.25 -            cc_core_pass_1      \
   15.26 -            kernel_headers      \
   15.27 -            libc_start_files    \
   15.28 -            cc_core_pass_2      \
   15.29 -            libc                \
   15.30 -            cc_for_build        \
   15.31 -            cc_for_host         \
   15.32 -            libc_finish         \
   15.33 -            libelf_for_target   \
   15.34 -            binutils_for_target \
   15.35 -            debug               \
   15.36 -            test_suite          \
   15.37 -            finish              \
   15.38 +CT_STEPS := libc_check_config        \
   15.39 +            companion_libs_for_build \
   15.40 +            binutils_for_build       \
   15.41 +            elf2flt_for_build        \
   15.42 +            companion_libs_for_host  \
   15.43 +            binutils_for_host        \
   15.44 +            elf2flt_for_host         \
   15.45 +            sstrip_for_host          \
   15.46 +            cc_core_pass_1           \
   15.47 +            kernel_headers           \
   15.48 +            libc_start_files         \
   15.49 +            cc_core_pass_2           \
   15.50 +            libc                     \
   15.51 +            cc_for_build             \
   15.52 +            cc_for_host              \
   15.53 +            libc_finish              \
   15.54 +            libelf_for_target        \
   15.55 +            binutils_for_target      \
   15.56 +            debug                    \
   15.57 +            test_suite               \
   15.58 +            finish                   \
   15.59  
   15.60  # Keep an empty line above this comment, so the last
   15.61  # back-slash terminated line works as expected.