scripts/build/companion_libs/ppl.sh
author Darcy Watkins <dwatkins@tranzeo.com>
Thu Aug 05 18:19:07 2010 +0200 (2010-08-05)
branch1.8
changeset 2073 a3b7a63dce01
parent 1893 f5dab3c43abf
child 2099 1bb063c8a0ca
permissions -rw-r--r--
cc/gcc: with static ppl, correctly link with libm

On some Fedora boxen (at least FC13), it is also required
to link with libm when static ppl is used.
(transplanted from bcd33fce4db9c18223b59ecdc96f10bf6dd574de)
yann@1324
     1
# This file adds the functions to build the PPL library
yann@1324
     2
# Copyright 2009 Yann E. MORIN
yann@1324
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@1324
     4
yann@1324
     5
do_ppl_get() { :; }
yann@1324
     6
do_ppl_extract() { :; }
yann@1324
     7
do_ppl() { :; }
yann@1324
     8
do_ppl_target() { :; }
yann@1324
     9
yann@1324
    10
# Overide functions depending on configuration
yann@1808
    11
if [ "${CT_PPL}" = "y" ]; then
yann@1324
    12
yann@1324
    13
# Download PPL
yann@1324
    14
do_ppl_get() {
yann@1324
    15
    CT_GetFile "ppl-${CT_PPL_VERSION}"                                      \
yann@1324
    16
        http://www.cs.unipr.it/ppl/Download/ftp/releases/${CT_PPL_VERSION}  \
yann@1369
    17
        ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION}            \
yann@1369
    18
        ftp://gcc.gnu.org/pub/gcc/infrastructure
yann@1324
    19
}
yann@1324
    20
yann@1324
    21
# Extract PPL
yann@1324
    22
do_ppl_extract() {
yann@1324
    23
    CT_Extract "ppl-${CT_PPL_VERSION}"
yann@1901
    24
    CT_Patch "ppl" "${CT_PPL_VERSION}"
yann@1324
    25
}
yann@1324
    26
yann@1324
    27
do_ppl() {
yann@1892
    28
    local -a ppl_opts
yann@1892
    29
yann@1324
    30
    mkdir -p "${CT_BUILD_DIR}/build-ppl"
yann@1324
    31
    cd "${CT_BUILD_DIR}/build-ppl"
yann@1324
    32
yann@1324
    33
    CT_DoStep INFO "Installing PPL"
yann@1324
    34
yann@1324
    35
    CT_DoLog EXTRA "Configuring PPL"
yann@1892
    36
yann@1892
    37
    if [ "${CT_COMPLIBS_SHARED}" = "y" ]; then
yann@1892
    38
        ppl_opts+=( --enable-shared --disable-static )
yann@1892
    39
    else
yann@1892
    40
        ppl_opts+=( --disable-shared --enable-static )
yann@1892
    41
    fi
yann@1892
    42
yann@1379
    43
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1379
    44
    CXXFLAGS="${CT_CFLAGS_FOR_HOST}"                \
yann@1324
    45
    CT_DoExecLog ALL                                \
yann@1324
    46
    "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
yann@1324
    47
        --build=${CT_BUILD}                         \
yann@1324
    48
        --host=${CT_HOST}                           \
yann@1893
    49
        --prefix="${CT_COMPLIBS_DIR}"               \
yann@1893
    50
        --with-libgmp-prefix="${CT_COMPLIBS_DIR}"   \
yann@1893
    51
        --with-libgmpxx-prefix="${CT_COMPLIBS_DIR}" \
yann@1324
    52
        --disable-debugging                         \
yann@1324
    53
        --disable-assertions                        \
yann@1324
    54
        --disable-ppl_lcdd                          \
yann@1892
    55
        --disable-ppl_lpsol                         \
yann@1892
    56
        "${ppl_opts[@]}"
yann@1324
    57
yann@1324
    58
    # Maybe-options:
yann@1324
    59
    # --enable-interfaces=...
yann@1324
    60
    # --enable-optimization=speed  or sspeed (yes, with 2 's')
yann@1324
    61
yann@1324
    62
    CT_DoLog EXTRA "Building PPL"
yann@1324
    63
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@1324
    64
yann@1890
    65
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@1324
    66
        CT_DoLog EXTRA "Checking PPL"
yann@1324
    67
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@1324
    68
    fi
yann@1324
    69
yann@1324
    70
    CT_DoLog EXTRA "Installing PPL"
yann@1324
    71
    CT_DoExecLog ALL make install
yann@1324
    72
yann@1397
    73
    # Remove spuriously installed file
yann@1397
    74
    CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/ppl-config"
yann@1397
    75
yann@1324
    76
    CT_EndStep
yann@1324
    77
}
yann@1324
    78
yann@1808
    79
fi # CT_PPL