scripts/build/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
parent 1119 4e7562023f3e
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


-------- diffstat follows --------
/trunk/scripts/populate.in | 76 43 33 0 +++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 33 deletions(-)
(transplanted from d7ddcb75e0f703e2ba6d17169167356389224870)
yann@466
     1
# This file adds the functions to build the GMP library
yann@466
     2
# Copyright 2008 Yann E. MORIN
yann@466
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@466
     4
yann@602
     5
do_gmp_get() { :; }
yann@602
     6
do_gmp_extract() { :; }
yann@602
     7
do_gmp() { :; }
yann@602
     8
do_gmp_target() { :; }
yann@602
     9
yann@602
    10
# Overide functions depending on configuration
yann@602
    11
if [ "${CT_GMP_MPFR}" = "y" ]; then
yann@468
    12
yann@466
    13
# Download GMP
yann@466
    14
do_gmp_get() {
yann@1119
    15
    CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
yann@466
    16
}
yann@466
    17
yann@466
    18
# Extract GMP
yann@466
    19
do_gmp_extract() {
yann@1126
    20
    CT_Extract "gmp-${CT_GMP_VERSION}"
yann@1126
    21
    CT_Patch "gmp-${CT_GMP_VERSION}"
yann@466
    22
}
yann@466
    23
yann@466
    24
do_gmp() {
yann@466
    25
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    26
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    27
yann@466
    28
    CT_DoStep INFO "Installing GMP"
yann@466
    29
yann@466
    30
    CT_DoLog EXTRA "Configuring GMP"
yann@1119
    31
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1119
    32
    CT_DoExecLog ALL                                \
yann@1119
    33
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    34
        --build=${CT_BUILD}                         \
yann@1119
    35
        --host=${CT_HOST}                           \
yann@1119
    36
        --prefix="${CT_PREFIX_DIR}"                 \
yann@1119
    37
        --disable-shared --enable-static            \
yann@666
    38
        --enable-fft --enable-mpbsd
yann@466
    39
yann@466
    40
    CT_DoLog EXTRA "Building GMP"
yann@655
    41
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@466
    42
yann@466
    43
    if [ "${CT_GMP_CHECK}" = "y" ]; then
yann@466
    44
        CT_DoLog EXTRA "Checking GMP"
yann@655
    45
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@466
    46
    fi
yann@466
    47
yann@466
    48
    CT_DoLog EXTRA "Installing GMP"
yann@655
    49
    CT_DoExecLog ALL make install
yann@466
    50
yann@466
    51
    CT_EndStep
yann@466
    52
}
yann@468
    53
yann@602
    54
if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
yann@468
    55
yann@602
    56
do_gmp_target() {
yann@602
    57
    mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
yann@602
    58
    cd "${CT_BUILD_DIR}/build-gmp-target"
yann@468
    59
yann@602
    60
    CT_DoStep INFO "Installing GMP for the target"
yann@602
    61
yann@602
    62
    CT_DoLog EXTRA "Configuring GMP"
yann@1119
    63
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"                \
yann@1119
    64
    CT_DoExecLog ALL                                \
yann@1119
    65
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    66
        --build=${CT_BUILD}                         \
yann@1119
    67
        --host=${CT_TARGET}                         \
yann@1119
    68
        --prefix=/usr                               \
yann@1119
    69
        --disable-shared --enable-static            \
yann@666
    70
        --enable-fft --enable-mpbsd
yann@602
    71
yann@602
    72
    CT_DoLog EXTRA "Building GMP"
yann@666
    73
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@602
    74
yann@602
    75
    # Not possible to check MPFR while X-compiling
yann@602
    76
yann@602
    77
    CT_DoLog EXTRA "Installing GMP"
yann@666
    78
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@602
    79
yann@602
    80
    CT_EndStep
yann@602
    81
}
yann@602
    82
yann@602
    83
fi # CT_GMP_MPFR_TARGET == y
yann@602
    84
yann@602
    85
fi # CT_GMP_MPFR == y