scripts/build/companion_libs/ppl.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1386 7995942261f2
child 1808 a1370757e6a1
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
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@1384
    11
if [ "${CT_PPL_CLOOG_MPC}" = "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@1324
    24
    CT_Patch "ppl-${CT_PPL_VERSION}"
yann@1324
    25
}
yann@1324
    26
yann@1324
    27
do_ppl() {
yann@1324
    28
    mkdir -p "${CT_BUILD_DIR}/build-ppl"
yann@1324
    29
    cd "${CT_BUILD_DIR}/build-ppl"
yann@1324
    30
yann@1324
    31
    CT_DoStep INFO "Installing PPL"
yann@1324
    32
yann@1324
    33
    CT_DoLog EXTRA "Configuring PPL"
yann@1379
    34
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1379
    35
    CXXFLAGS="${CT_CFLAGS_FOR_HOST}"                \
yann@1324
    36
    CT_DoExecLog ALL                                \
yann@1324
    37
    "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
yann@1324
    38
        --build=${CT_BUILD}                         \
yann@1324
    39
        --host=${CT_HOST}                           \
yann@1324
    40
        --prefix="${CT_PREFIX_DIR}"                 \
yann@1324
    41
        --with-libgmp-prefix="${CT_PREFIX_DIR}"     \
yann@1324
    42
        --with-libgmpxx-prefix="${CT_PREFIX_DIR}"   \
yann@1377
    43
        --enable-shared                             \
yann@1377
    44
        --disable-static                            \
yann@1324
    45
        --disable-debugging                         \
yann@1324
    46
        --disable-assertions                        \
yann@1324
    47
        --disable-ppl_lcdd                          \
yann@1324
    48
        --disable-ppl_lpsol
yann@1324
    49
yann@1324
    50
    # Maybe-options:
yann@1324
    51
    # --enable-interfaces=...
yann@1324
    52
    # --enable-optimization=speed  or sspeed (yes, with 2 's')
yann@1324
    53
yann@1324
    54
    CT_DoLog EXTRA "Building PPL"
yann@1324
    55
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@1324
    56
yann@1386
    57
    if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then
yann@1324
    58
        CT_DoLog EXTRA "Checking PPL"
yann@1324
    59
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@1324
    60
    fi
yann@1324
    61
yann@1324
    62
    CT_DoLog EXTRA "Installing PPL"
yann@1324
    63
    CT_DoExecLog ALL make install
yann@1324
    64
yann@1397
    65
    # Remove spuriously installed file
yann@1397
    66
    CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/ppl-config"
yann@1397
    67
yann@1324
    68
    CT_EndStep
yann@1324
    69
}
yann@1324
    70
yann@1384
    71
fi # CT_PPL_CLOOG_MPC