summaryrefslogtreecommitdiff
path: root/scripts/build/companion_libs
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-03 21:10:15 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-03 21:10:15 (GMT)
commit38c549d748e72ecba0dac3215b7a82596229a42f (patch)
tree3267bdab17813a2312784283278ba18bfe48db19 /scripts/build/companion_libs
parent33edeaa6a5cd89a00cdf81edb981dba9c7e4c338 (diff)
Prepare for gcc-4.4:
- add 'companion_libs/' to hold all libraries needed to build gcc-4.3+ and gcc-4.4+ - move GMP & MPFR to 'companion_libs/' -------- diffstat follows -------- /trunk/scripts/build/gmp.sh | 85 0 85 0 ---------------------------- /trunk/scripts/build/mpfr.sh | 139 0 139 0 --------------------------------------------- /trunk/scripts/addToolVersion.sh | 4 2 2 0 /trunk/scripts/crosstool-NG.sh.in | 4 2 2 0 /trunk/config/companion_libs.in | 17 10 7 0 +++--- /trunk/config/gmp_mpfr/gmp.in | 32 0 32 0 ---------- /trunk/config/gmp_mpfr/mpfr.in | 42 0 42 0 -------------- /trunk/config/config.in | 2 1 1 0 /trunk/config/gmp_mpfr.in | 35 0 35 0 ----------- 9 files changed, 15 insertions(+), 345 deletions(-)
Diffstat (limited to 'scripts/build/companion_libs')
-rw-r--r--scripts/build/companion_libs/gmp.sh85
-rw-r--r--scripts/build/companion_libs/mpfr.sh139
2 files changed, 224 insertions, 0 deletions
diff --git a/scripts/build/companion_libs/gmp.sh b/scripts/build/companion_libs/gmp.sh
new file mode 100644
index 0000000..51134da
--- /dev/null
+++ b/scripts/build/companion_libs/gmp.sh
@@ -0,0 +1,85 @@
+# This file adds the functions to build the GMP library
+# Copyright 2008 Yann E. MORIN
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+do_gmp_get() { :; }
+do_gmp_extract() { :; }
+do_gmp() { :; }
+do_gmp_target() { :; }
+
+# Overide functions depending on configuration
+if [ "${CT_GMP_MPFR}" = "y" ]; then
+
+# Download GMP
+do_gmp_get() {
+ CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
+}
+
+# Extract GMP
+do_gmp_extract() {
+ CT_Extract "gmp-${CT_GMP_VERSION}"
+ CT_Patch "gmp-${CT_GMP_VERSION}"
+}
+
+do_gmp() {
+ mkdir -p "${CT_BUILD_DIR}/build-gmp"
+ cd "${CT_BUILD_DIR}/build-gmp"
+
+ CT_DoStep INFO "Installing GMP"
+
+ CT_DoLog EXTRA "Configuring GMP"
+ CFLAGS="${CT_CFLAGS_FOR_HOST}" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_HOST} \
+ --prefix="${CT_PREFIX_DIR}" \
+ --disable-shared --enable-static \
+ --enable-fft --enable-mpbsd
+
+ CT_DoLog EXTRA "Building GMP"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ if [ "${CT_GMP_CHECK}" = "y" ]; then
+ CT_DoLog EXTRA "Checking GMP"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
+ fi
+
+ CT_DoLog EXTRA "Installing GMP"
+ CT_DoExecLog ALL make install
+
+ CT_EndStep
+}
+
+if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
+
+do_gmp_target() {
+ mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
+ cd "${CT_BUILD_DIR}/build-gmp-target"
+
+ CT_DoStep INFO "Installing GMP for the target"
+
+ CT_DoLog EXTRA "Configuring GMP"
+ CFLAGS="${CT_CFLAGS_FOR_TARGET}" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET} \
+ --prefix=/usr \
+ --disable-shared --enable-static \
+ --enable-fft --enable-mpbsd
+
+ CT_DoLog EXTRA "Building GMP"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ # Not possible to check MPFR while X-compiling
+
+ CT_DoLog EXTRA "Installing GMP"
+ CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
+
+ CT_EndStep
+}
+
+fi # CT_GMP_MPFR_TARGET == y
+
+fi # CT_GMP_MPFR == y
diff --git a/scripts/build/companion_libs/mpfr.sh b/scripts/build/companion_libs/mpfr.sh
new file mode 100644
index 0000000..e302ff7
--- /dev/null
+++ b/scripts/build/companion_libs/mpfr.sh
@@ -0,0 +1,139 @@
+# This file adds the functions to build the MPFR library
+# Copyright 2008 Yann E. MORIN
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+do_mpfr_get() { :; }
+do_mpfr_extract() { :; }
+do_mpfr() { :; }
+do_mpfr_target() { :; }
+
+# Overide function depending on configuration
+if [ "${CT_GMP_MPFR}" = "y" ]; then
+
+# Download MPFR
+do_mpfr_get() {
+ CT_GetFile "mpfr-${CT_MPFR_VERSION}" http://www.mpfr.org/mpfr-current/ \
+ http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
+}
+
+# Extract MPFR
+do_mpfr_extract() {
+ CT_Extract "mpfr-${CT_MPFR_VERSION}"
+ CT_Patch "mpfr-${CT_MPFR_VERSION}"
+
+ # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
+ # same version number. Unfortunately, some tarballs of MPFR are not
+ # built sanely, and thus ./configure fails on Gentoo.
+ # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
+ # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
+ # This hack is not bad per se, but the MPFR guys would be better not to
+ # do that in the future...
+ # It seems that MPFR >= 2.4.0 do not need this...
+ case "${CT_MPFR_VERSION}" in
+ 1.*|2.0.*|2.1.*|2.2.*|2.3.*)
+ CT_Pushd "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}"
+ if [ ! -f .autotools.ct-ng ]; then
+ CT_DoLog DEBUG "Re-building autotools files"
+ CT_DoExecLog ALL autoreconf -fi
+ # Starting with libtool-1.9f, config.{guess,sub} are no longer
+ # installed without -i, but starting with libtool-2.2.6, they
+ # are no longer removed without -i. Sight... Just use -i with
+ # libtool >=2
+ # See: http://sourceware.org/ml/crossgcc/2008-11/msg00046.html
+ # and: http://sourceware.org/ml/crossgcc/2008-11/msg00048.html
+ libtoolize_opt=
+ case "$(libtoolize --version |head -n 1 |awk '{ print $(NF); }')" in
+ 0.*) ;;
+ 1.*) ;;
+ *) libtoolize_opt=-i;;
+ esac
+ CT_DoExecLog ALL libtoolize -f ${libtoolize_opt}
+ touch .autotools.ct-ng
+ fi
+ CT_Popd
+ ;;
+ esac
+}
+
+do_mpfr() {
+ mkdir -p "${CT_BUILD_DIR}/build-mpfr"
+ cd "${CT_BUILD_DIR}/build-mpfr"
+
+ CT_DoStep INFO "Installing MPFR"
+
+ mpfr_opt=
+ # Under Cygwin, we can't build a thread-safe library
+ case "${CT_HOST}" in
+ *-cygwin) mpfr_opt="--disable-thread-safe";;
+ *) mpfr_opt="--enable-thread-safe";;
+ esac
+
+ CT_DoLog EXTRA "Configuring MPFR"
+ CC="${CT_HOST}-gcc" \
+ CFLAGS="${CT_CFLAGS_FOR_HOST}" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_HOST} \
+ --prefix="${CT_PREFIX_DIR}" \
+ ${mpfr_opt} \
+ --disable-shared \
+ --enable-static \
+ --with-gmp="${CT_PREFIX_DIR}"
+
+ CT_DoLog EXTRA "Building MPFR"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ if [ "${CT_MPFR_CHECK}" = "y" ]; then
+ CT_DoLog EXTRA "Checking MPFR"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
+ fi
+
+ CT_DoLog EXTRA "Installing MPFR"
+ CT_DoExecLog ALL make install
+
+ CT_EndStep
+}
+
+if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
+
+do_mpfr_target() {
+ mkdir -p "${CT_BUILD_DIR}/build-mpfr-target"
+ cd "${CT_BUILD_DIR}/build-mpfr-target"
+
+ CT_DoStep INFO "Installing MPFR for the target"
+
+ mpfr_opt=
+ # Under Cygwin, we can't build a thread-safe library
+ case "${CT_TARGET}" in
+ *-cygwin) mpfr_opt="--disable-thread-safe";;
+ *) mpfr_opt="--enable-thread-safe";;
+ esac
+
+ CT_DoLog EXTRA "Configuring MPFR"
+ CC="${CT_TARGET}-gcc" \
+ CFLAGS="${CT_CFLAGS_FOR_TARGET}" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET} \
+ --prefix=/usr \
+ ${mpfr_opt} \
+ --disable-shared \
+ --enable-static \
+ --with-gmp="${CT_SYSROOT_DIR}/usr"
+
+ CT_DoLog EXTRA "Building MPFR"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ # Not possible to check MPFR while X-compiling
+
+ CT_DoLog EXTRA "Installing MPFR"
+ CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
+
+ CT_EndStep
+}
+
+fi # CT_GMP_MPFR_TARGET == y
+
+fi # CT_GMP_MPFR == y