scripts/build/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Oct 10 14:30:44 2008 +0000 (2008-10-10)
changeset 916 68af6b83ff7e
parent 655 35b22b8c0a92
child 1112 c72aecd1a9ef
permissions -rw-r--r--
Simplify the Tools and Debug facilities menu entries:
- each config file no longer have to define their own 'menuconfig foo - if FOO - endif' gym
- each build script no longer has to say wether they are enabled
- generation of the 'menuconfig' entries for the Tools and Debug facilities now uses the same code
Some re-ordering of the code to be consistent with the steps ordering (tools, then debug).

/trunk/kconfig/kconfig.mk | 66 43 23 0 +++++++++++++++++++++++-------------
/trunk/scripts/build/debug.sh | 14 9 5 0 +++++---
/trunk/scripts/build/tools/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/tools/100-libelf.sh | 3 0 3 0 --
/trunk/scripts/build/tools/200-sstrip.sh | 2 0 2 0 -
/trunk/scripts/build/debug/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/debug/100-dmalloc.sh | 3 0 3 0 --
/trunk/scripts/build/debug/400-ltrace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/300-gdb.sh | 3 0 3 0 --
/trunk/scripts/build/debug/500-strace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/200-duma.sh | 3 0 3 0 --
/trunk/scripts/build/tools.sh | 14 9 5 0 +++++---
/trunk/scripts/crosstool.sh | 2 1 1 0
/trunk/config/debug/ltrace.in | 14 3 11 0 ++------
/trunk/config/debug/dmalloc.in | 9 1 8 0 +----
/trunk/config/debug/gdb.in | 9 1 8 0 +----
/trunk/config/debug/strace.in | 10 1 9 0 -----
/trunk/config/debug/duma.in | 10 1 9 0 -----
/trunk/config/tools/libelf.in | 12 2 10 0 +------
/trunk/config/tools/sstrip.in | 10 1 9 0 -----
/trunk/config/config.in | 4 2 2 0 +-
21 files changed, 74 insertions(+), 134 deletions(-)
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_print_filename() { :; }
yann@602
     6
do_gmp_get() { :; }
yann@602
     7
do_gmp_extract() { :; }
yann@602
     8
do_gmp() { :; }
yann@602
     9
do_gmp_target() { :; }
yann@602
    10
yann@602
    11
# Overide functions depending on configuration
yann@602
    12
if [ "${CT_GMP_MPFR}" = "y" ]; then
yann@468
    13
yann@466
    14
do_print_filename() {
yann@602
    15
    [ "${CT_GMP_MPFR}" = "y" ] || return 0
yann@466
    16
    echo "gmp-${CT_GMP_VERSION}"
yann@466
    17
}
yann@466
    18
yann@466
    19
# Download GMP
yann@466
    20
do_gmp_get() {
yann@486
    21
    CT_GetFile "${CT_GMP_FILE}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
yann@466
    22
}
yann@466
    23
yann@466
    24
# Extract GMP
yann@466
    25
do_gmp_extract() {
yann@466
    26
    CT_ExtractAndPatch "${CT_GMP_FILE}"
yann@466
    27
}
yann@466
    28
yann@466
    29
do_gmp() {
yann@466
    30
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    31
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    32
yann@466
    33
    CT_DoStep INFO "Installing GMP"
yann@466
    34
yann@466
    35
    CT_DoLog EXTRA "Configuring GMP"
yann@466
    36
    CFLAGS="${CT_CFLAGS_FOR_HOST}"              \
yann@655
    37
    CT_DoExecLog ALL                            \
yann@466
    38
    "${CT_SRC_DIR}/${CT_GMP_FILE}/configure"    \
yann@466
    39
        --build=${CT_BUILD}                     \
yann@466
    40
        --host=${CT_HOST}                       \
yann@466
    41
        --prefix="${CT_PREFIX_DIR}"             \
yann@466
    42
        --disable-shared --enable-static        \
yann@666
    43
        --enable-fft --enable-mpbsd
yann@466
    44
yann@466
    45
    CT_DoLog EXTRA "Building GMP"
yann@655
    46
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@466
    47
yann@466
    48
    if [ "${CT_GMP_CHECK}" = "y" ]; then
yann@466
    49
        CT_DoLog EXTRA "Checking GMP"
yann@655
    50
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@466
    51
    fi
yann@466
    52
yann@466
    53
    CT_DoLog EXTRA "Installing GMP"
yann@655
    54
    CT_DoExecLog ALL make install
yann@466
    55
yann@466
    56
    CT_EndStep
yann@466
    57
}
yann@468
    58
yann@602
    59
if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
yann@468
    60
yann@602
    61
do_gmp_target() {
yann@602
    62
    mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
yann@602
    63
    cd "${CT_BUILD_DIR}/build-gmp-target"
yann@468
    64
yann@602
    65
    CT_DoStep INFO "Installing GMP for the target"
yann@602
    66
yann@602
    67
    CT_DoLog EXTRA "Configuring GMP"
yann@602
    68
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"            \
yann@655
    69
    CT_DoExecLog ALL                            \
yann@602
    70
    "${CT_SRC_DIR}/${CT_GMP_FILE}/configure"    \
yann@602
    71
        --build=${CT_BUILD}                     \
yann@602
    72
        --host=${CT_TARGET}                     \
yann@602
    73
        --prefix=/usr                           \
yann@602
    74
        --disable-shared --enable-static        \
yann@666
    75
        --enable-fft --enable-mpbsd
yann@602
    76
yann@602
    77
    CT_DoLog EXTRA "Building GMP"
yann@666
    78
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@602
    79
yann@602
    80
    # Not possible to check MPFR while X-compiling
yann@602
    81
yann@602
    82
    CT_DoLog EXTRA "Installing GMP"
yann@666
    83
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@602
    84
yann@602
    85
    CT_EndStep
yann@602
    86
}
yann@602
    87
yann@602
    88
fi # CT_GMP_MPFR_TARGET == y
yann@602
    89
yann@602
    90
fi # CT_GMP_MPFR == y