scripts/build/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jun 20 15:16:43 2008 +0000 (2008-06-20)
changeset 602 1968d150a34f
parent 486 92f6149c4275
child 655 35b22b8c0a92
permissions -rw-r--r--
GMP and MPFR are no longer a sub-component of gcc (config-wise).
Build and install GMP and MPFR for the target.
Use the target GMP and MPFR to build the native gdb.
Have separate extra_config for cross gdb, native gdb and gdbserver.
Check native GMP and MPFR in //.

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