scripts/build/companion_libs/gmp.sh
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
parent 1893 f5dab3c43abf
child 2099 1bb063c8a0ca
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
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@1810
    11
if [ "${CT_GMP}" = "y" -o "${CT_GMP_TARGET}" = "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@1901
    21
    CT_Patch "gmp" "${CT_GMP_VERSION}"
yann@466
    22
}
yann@466
    23
yann@1810
    24
if [ "${CT_GMP}" = "y" ]; then
yann@1810
    25
yann@466
    26
do_gmp() {
yann@1892
    27
    local -a gmp_opts
yann@1324
    28
yann@466
    29
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    30
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    31
yann@466
    32
    CT_DoStep INFO "Installing GMP"
yann@466
    33
yann@466
    34
    CT_DoLog EXTRA "Configuring GMP"
yann@1324
    35
yann@1892
    36
    if [ "${CT_COMPLIBS_SHARED}" = "y" ]; then
yann@1892
    37
        gmp_opts+=( --enable-shared --disable-static )
yann@1892
    38
    else
yann@1892
    39
        gmp_opts+=( --disable-shared --enable-static )
yann@1892
    40
    fi
yann@1892
    41
yann@1383
    42
    CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions"     \
yann@1119
    43
    CT_DoExecLog ALL                                \
yann@1119
    44
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    45
        --build=${CT_BUILD}                         \
yann@1119
    46
        --host=${CT_HOST}                           \
yann@1893
    47
        --prefix="${CT_COMPLIBS_DIR}"               \
yann@1324
    48
        --enable-fft                                \
yann@1324
    49
        --enable-mpbsd                              \
yann@1892
    50
        --enable-cxx                                \
yann@1892
    51
        "${gmp_opts[@]}"
yann@466
    52
yann@466
    53
    CT_DoLog EXTRA "Building GMP"
yann@655
    54
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@466
    55
yann@1890
    56
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@466
    57
        CT_DoLog EXTRA "Checking GMP"
yann@655
    58
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@466
    59
    fi
yann@466
    60
yann@466
    61
    CT_DoLog EXTRA "Installing GMP"
yann@655
    62
    CT_DoExecLog ALL make install
yann@466
    63
yann@466
    64
    CT_EndStep
yann@466
    65
}
yann@468
    66
yann@1810
    67
fi # CT_GMP
yann@1810
    68
yann@1810
    69
if [ "${CT_GMP_TARGET}" = "y" ]; then
yann@468
    70
yann@602
    71
do_gmp_target() {
yann@602
    72
    mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
yann@602
    73
    cd "${CT_BUILD_DIR}/build-gmp-target"
yann@468
    74
yann@602
    75
    CT_DoStep INFO "Installing GMP for the target"
yann@602
    76
yann@602
    77
    CT_DoLog EXTRA "Configuring GMP"
yann@1119
    78
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"                \
yann@1119
    79
    CT_DoExecLog ALL                                \
yann@1119
    80
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    81
        --build=${CT_BUILD}                         \
yann@1119
    82
        --host=${CT_TARGET}                         \
yann@1119
    83
        --prefix=/usr                               \
yann@1324
    84
        --disable-shared                            \
yann@1324
    85
        --enable-static                             \
yann@1324
    86
        --enable-fft                                \
yann@1324
    87
        --enable-mpbsd                              \
yann@602
    88
yann@602
    89
    CT_DoLog EXTRA "Building GMP"
yann@666
    90
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@602
    91
yann@602
    92
    # Not possible to check MPFR while X-compiling
yann@602
    93
yann@602
    94
    CT_DoLog EXTRA "Installing GMP"
yann@666
    95
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@602
    96
yann@602
    97
    CT_EndStep
yann@602
    98
}
yann@602
    99
yann@1810
   100
fi # CT_GMP_TARGET
yann@602
   101
yann@1810
   102
fi # CT_GMP || CT_GMP_TARGET