yann@466: # This file adds the functions to build the GMP library yann@466: # Copyright 2008 Yann E. MORIN yann@466: # Licensed under the GPL v2. See COPYING in the root of this package yann@466: yann@602: do_print_filename() { :; } yann@602: do_gmp_get() { :; } yann@602: do_gmp_extract() { :; } yann@602: do_gmp() { :; } yann@602: do_gmp_target() { :; } yann@602: yann@602: # Overide functions depending on configuration yann@602: if [ "${CT_GMP_MPFR}" = "y" ]; then yann@468: yann@466: do_print_filename() { yann@602: [ "${CT_GMP_MPFR}" = "y" ] || return 0 yann@466: echo "gmp-${CT_GMP_VERSION}" yann@466: } yann@466: yann@466: # Download GMP yann@466: do_gmp_get() { yann@486: CT_GetFile "${CT_GMP_FILE}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp yann@466: } yann@466: yann@466: # Extract GMP yann@466: do_gmp_extract() { yann@466: CT_ExtractAndPatch "${CT_GMP_FILE}" yann@466: } yann@466: yann@466: do_gmp() { yann@466: mkdir -p "${CT_BUILD_DIR}/build-gmp" yann@466: cd "${CT_BUILD_DIR}/build-gmp" yann@466: yann@466: CT_DoStep INFO "Installing GMP" yann@466: yann@466: CT_DoLog EXTRA "Configuring GMP" yann@466: CFLAGS="${CT_CFLAGS_FOR_HOST}" \ yann@655: CT_DoExecLog ALL \ yann@466: "${CT_SRC_DIR}/${CT_GMP_FILE}/configure" \ yann@466: --build=${CT_BUILD} \ yann@466: --host=${CT_HOST} \ yann@466: --prefix="${CT_PREFIX_DIR}" \ yann@466: --disable-shared --enable-static \ yann@666: --enable-fft --enable-mpbsd yann@466: yann@466: CT_DoLog EXTRA "Building GMP" yann@655: CT_DoExecLog ALL make ${PARALLELMFLAGS} yann@466: yann@466: if [ "${CT_GMP_CHECK}" = "y" ]; then yann@466: CT_DoLog EXTRA "Checking GMP" yann@655: CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check yann@466: fi yann@466: yann@466: CT_DoLog EXTRA "Installing GMP" yann@655: CT_DoExecLog ALL make install yann@466: yann@466: CT_EndStep yann@466: } yann@468: yann@602: if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then yann@468: yann@602: do_gmp_target() { yann@602: mkdir -p "${CT_BUILD_DIR}/build-gmp-target" yann@602: cd "${CT_BUILD_DIR}/build-gmp-target" yann@468: yann@602: CT_DoStep INFO "Installing GMP for the target" yann@602: yann@602: CT_DoLog EXTRA "Configuring GMP" yann@602: CFLAGS="${CT_CFLAGS_FOR_TARGET}" \ yann@655: CT_DoExecLog ALL \ yann@602: "${CT_SRC_DIR}/${CT_GMP_FILE}/configure" \ yann@602: --build=${CT_BUILD} \ yann@602: --host=${CT_TARGET} \ yann@602: --prefix=/usr \ yann@602: --disable-shared --enable-static \ yann@666: --enable-fft --enable-mpbsd yann@602: yann@602: CT_DoLog EXTRA "Building GMP" yann@666: CT_DoExecLog ALL make ${PARALLELMFLAGS} yann@602: yann@602: # Not possible to check MPFR while X-compiling yann@602: yann@602: CT_DoLog EXTRA "Installing GMP" yann@666: CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install yann@602: yann@602: CT_EndStep yann@602: } yann@602: yann@602: fi # CT_GMP_MPFR_TARGET == y yann@602: yann@602: fi # CT_GMP_MPFR == y