diff options
author | Yann E. MORIN <devnull@localhost> | 2009-06-17 09:38:04 (GMT) |
---|---|---|
committer | Yann E. MORIN <devnull@localhost> | 2009-06-17 09:38:04 (GMT) |
commit | 302dd084c2e782ea5fdbde1db9f1b2bcda5ac83f (patch) | |
tree | 2bd1601131ca41844086fcdcaccffcc7438a66ee /scripts/build | |
parent | a393a72f5f7b0f0f48f11782d70b255c6ca5f740 (diff) | |
parent | a7ff05b022a8db08185486fa0fbf324f2ecd9d3e (diff) |
[gcc] Merge the gcc-4.4 suport to the default branch, from 1407:83083566fdd0
Diffstat (limited to 'scripts/build')
-rw-r--r-- | scripts/build/cc/gcc.sh | 53 | ||||
-rw-r--r-- | scripts/build/companion_libs/cloog.sh | 63 | ||||
-rw-r--r-- | scripts/build/companion_libs/gmp.sh | 19 | ||||
-rw-r--r-- | scripts/build/companion_libs/mpc.sh | 57 | ||||
-rw-r--r-- | scripts/build/companion_libs/mpfr.sh | 8 | ||||
-rw-r--r-- | scripts/build/companion_libs/ppl.sh | 17 | ||||
-rw-r--r-- | scripts/build/internals.sh | 29 | ||||
-rw-r--r-- | scripts/build/libc/glibc.sh | 25 |
8 files changed, 218 insertions, 53 deletions
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index c7e1712..15dc5a5 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -4,18 +4,16 @@ # Download gcc do_cc_get() { - local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}" - # Ah! gcc folks are kind of 'different': they store the tarballs in # subdirectories of the same name! That's because gcc is such /crap/ that # it is such /big/ that it needs being splitted for distribution! Sad. :-( # Arrgghh! Some of those versions does not follow this convention: # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a # subdirectory! You bastard! - CT_GetFile "gcc-${version}" \ - {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${version}} \ - ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${version} \ - ftp://ftp.uvsq.fr/pub/gcc/snapshots/${version} + CT_GetFile "gcc-${CT_CC_VERSION}" \ + {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}} \ + ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION} \ + ftp://ftp.uvsq.fr/pub/gcc/snapshots/${CT_CC_VERSION} # Starting with GCC 4.3, ecj is used for Java, and will only be # built if the configure script finds ecj.jar at the top of the @@ -29,16 +27,14 @@ do_cc_get() { # Extract gcc do_cc_extract() { - local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}" - - CT_Extract "gcc-${version}" - CT_Patch "gcc-${version}" + CT_Extract "gcc-${CT_CC_VERSION}" + CT_Patch "gcc-${CT_CC_VERSION}" # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree - if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \ - -a ! -f "${CT_SRC_DIR}/gcc-${version}/ecj.jar" \ + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \ + -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" \ ]; then - CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${version}/ecj.jar" + CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" fi } @@ -90,7 +86,6 @@ do_cc_core() { local core_prefix_dir local extra_config local lang_opt - local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}" eval $1 eval $2 @@ -137,12 +132,20 @@ do_cc_core() { extra_config="${extra_config} ${CT_ARCH_WITH_TUNE}" extra_config="${extra_config} ${CT_ARCH_WITH_FPU}" extra_config="${extra_config} ${CT_ARCH_WITH_FLOAT}" - [ "${CT_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}" if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then extra_config="${extra_config} --enable-__cxa_atexit" else extra_config="${extra_config} --disable-__cxa_atexit" fi + if [ "${CT_GMP_MPFR}" = "y" ]; then + extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-mpfr=${CT_PREFIX_DIR}" + fi + if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then + extra_config="${extra_config} --with-ppl=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-cloog=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-mpc=${CT_PREFIX_DIR}" + fi CT_DoLog DEBUG "Extra config passed: '${extra_config}'" @@ -150,7 +153,7 @@ do_cc_core() { CC_FOR_BUILD="${CT_BUILD}-gcc" \ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ CT_DoExecLog ALL \ - "${CT_SRC_DIR}/gcc-${version}/configure" \ + "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \ --build=${CT_BUILD} \ --host=${CT_HOST} \ --target=${CT_TARGET} \ @@ -182,7 +185,7 @@ do_cc_core() { # so we configure then build it. # Next we have to configure gcc, create libgcc.mk then edit it... # So much easier if we just edit the source tree, but hey... - if [ ! -f "${CT_SRC_DIR}/gcc-${version}/gcc/BASE-VER" ]; then + if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then CT_DoExecLog ALL make configure-libiberty CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libiberty libiberty.a CT_DoExecLog ALL make configure-gcc configure-libcpp @@ -192,7 +195,7 @@ do_cc_core() { CT_DoExecLog ALL make ${PARALLELMFLAGS} all-libcpp all-build-libiberty fi # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here. - if [ -d "${CT_SRC_DIR}/gcc-${version}/libdecnumber" ]; then + if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libdecnumber" ]; then CT_DoExecLog ALL make configure-libdecnumber CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libdecnumber libdecnumber.a fi @@ -238,8 +241,6 @@ do_cc_core() { #------------------------------------------------------------------------------ # Build final gcc do_cc() { - local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}" - # If building for bare metal, nothing to be done here, the static core conpiler is enough! [ "${CT_BARE_METAL}" = "y" ] && return 0 @@ -273,7 +274,6 @@ do_cc() { extra_config="${extra_config} ${CT_ARCH_WITH_FPU}" extra_config="${extra_config} ${CT_ARCH_WITH_FLOAT}" [ "${CT_SHARED_LIBS}" = "y" ] || extra_config="${extra_config} --disable-shared" - [ "${CT_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}" [ -n "${CT_CC_PKGVERSION}" ] && extra_config="${extra_config} --with-pkgversion=${CT_CC_PKGVERSION}" [ -n "${CT_CC_BUGURL}" ] && extra_config="${extra_config} --with-bugurl=${CT_CC_BUGURL}" [ "${CT_CC_SJLJ_EXCEPTIONS_USE}" = "y" ] && extra_config="${extra_config} --enable-sjlj-exceptions" @@ -283,6 +283,15 @@ do_cc() { else extra_config="${extra_config} --disable-__cxa_atexit" fi + if [ "${CT_GMP_MPFR}" = "y" ]; then + extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-mpfr=${CT_PREFIX_DIR}" + fi + if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then + extra_config="${extra_config} --with-ppl=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-cloog=${CT_PREFIX_DIR}" + extra_config="${extra_config} --with-mpc=${CT_PREFIX_DIR}" + fi CT_DoLog DEBUG "Extra config passed: '${extra_config}'" @@ -296,7 +305,7 @@ do_cc() { CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \ CT_DoExecLog ALL \ - "${CT_SRC_DIR}/gcc-${version}/configure" \ + "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \ --build=${CT_BUILD} \ --host=${CT_HOST} \ --target=${CT_TARGET} \ diff --git a/scripts/build/companion_libs/cloog.sh b/scripts/build/companion_libs/cloog.sh new file mode 100644 index 0000000..0e6d74f --- /dev/null +++ b/scripts/build/companion_libs/cloog.sh @@ -0,0 +1,63 @@ +# This file adds the functions to build the CLooG library +# Copyright 2009 Yann E. MORIN +# Licensed under the GPL v2. See COPYING in the root of this package + +do_cloog_get() { :; } +do_cloog_extract() { :; } +do_cloog() { :; } +do_cloog_target() { :; } + +# Overide functions depending on configuration +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then + +# Download CLooG +do_cloog_get() { + CT_GetFile "cloog-ppl-${CT_CLOOG_VERSION}" \ + ftp://gcc.gnu.org/pub/gcc/infrastructure +} + +# Extract CLooG +do_cloog_extract() { + CT_Extract "cloog-ppl-${CT_CLOOG_VERSION}" + CT_Pushd "${CT_SRC_DIR}/cloog-ppl" + CT_Patch "cloog-ppl-${CT_CLOOG_VERSION}" nochdir + CT_Popd +} + +do_cloog() { + mkdir -p "${CT_BUILD_DIR}/build-cloog-ppl" + cd "${CT_BUILD_DIR}/build-cloog-ppl" + + CT_DoStep INFO "Installing CLooG/ppl" + + CT_DoLog EXTRA "Configuring CLooG/ppl" + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + CT_DoExecLog ALL \ + "${CT_SRC_DIR}/cloog-ppl/configure" \ + --build=${CT_BUILD} \ + --host=${CT_HOST} \ + --prefix="${CT_PREFIX_DIR}" \ + --with-gmp="${CT_PREFIX_DIR}" \ + --with-ppl="${CT_PREFIX_DIR}" \ + --enable-shared \ + --disable-static \ + --with-bits=gmp + + CT_DoLog EXTRA "Building CLooG/ppl" + CT_DoExecLog ALL make ${PARALLELMFLAGS} + + if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then + CT_DoLog EXTRA "Checking CLooG/ppl" + CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check + fi + + CT_DoLog EXTRA "Installing CLooG/ppl" + CT_DoExecLog ALL make install + + # Remove spuriously installed file + CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/cloog" + + CT_EndStep +} + +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/build/companion_libs/gmp.sh b/scripts/build/companion_libs/gmp.sh index a3dd4a0..6371b45 100644 --- a/scripts/build/companion_libs/gmp.sh +++ b/scripts/build/companion_libs/gmp.sh @@ -22,8 +22,6 @@ do_gmp_extract() { } do_gmp() { - local opts - local cflags mkdir -p "${CT_BUILD_DIR}/build-gmp" cd "${CT_BUILD_DIR}/build-gmp" @@ -32,27 +30,22 @@ do_gmp() { CT_DoLog EXTRA "Configuring GMP" - if [ "${CT_PPL_CLOOG}" = "y" ]; then - opts="--enable-cxx" - cflags="-fexceptions" - fi - - CFLAGS="${CT_CFLAGS_FOR_HOST} ${cflags}" \ + CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions" \ 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-shared \ + --disable-static \ --enable-fft \ --enable-mpbsd \ - ${opts} + --enable-cxx CT_DoLog EXTRA "Building GMP" CT_DoExecLog ALL make ${PARALLELMFLAGS} - if [ "${CT_GMP_CHECK}" = "y" ]; then + if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then CT_DoLog EXTRA "Checking GMP" CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check fi @@ -63,7 +56,7 @@ do_gmp() { CT_EndStep } -if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then +if [ "${CT_COMP_LIBS_TARGET}" = "y" ]; then do_gmp_target() { mkdir -p "${CT_BUILD_DIR}/build-gmp-target" diff --git a/scripts/build/companion_libs/mpc.sh b/scripts/build/companion_libs/mpc.sh new file mode 100644 index 0000000..18144a0 --- /dev/null +++ b/scripts/build/companion_libs/mpc.sh @@ -0,0 +1,57 @@ +# This file adds the functions to build the MPC library +# Copyright 2009 Yann E. MORIN +# Licensed under the GPL v2. See COPYING in the root of this package + +do_mpc_get() { :; } +do_mpc_extract() { :; } +do_mpc() { :; } +do_mpc_target() { :; } + +# Overide functions depending on configuration +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then + +# Download MPC +do_mpc_get() { + CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz \ + http://www.multiprecision.org/mpc/download +} + +# Extract MPC +do_mpc_extract() { + CT_Extract "mpc-${CT_MPC_VERSION}" + CT_Patch "mpc-${CT_MPC_VERSION}" +} + +do_mpc() { + mkdir -p "${CT_BUILD_DIR}/build-mpc" + cd "${CT_BUILD_DIR}/build-mpc" + + CT_DoStep INFO "Installing MPC" + + CT_DoLog EXTRA "Configuring MPC" + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + CT_DoExecLog ALL \ + "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \ + --build=${CT_BUILD} \ + --host=${CT_HOST} \ + --prefix="${CT_PREFIX_DIR}" \ + --with-gmp="${CT_PREFIX_DIR}" \ + --with-mpfr="${CT_PREFIX_DIR}" \ + --enable-shared \ + --disable-static \ + + CT_DoLog EXTRA "Building MPC" + CT_DoExecLog ALL make ${PARALLELMFLAGS} + + if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then + CT_DoLog EXTRA "Checking MPC" + CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check + fi + + CT_DoLog EXTRA "Installing MPC" + CT_DoExecLog ALL make install + + CT_EndStep +} + +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/build/companion_libs/mpfr.sh b/scripts/build/companion_libs/mpfr.sh index e302ff7..85d0942 100644 --- a/scripts/build/companion_libs/mpfr.sh +++ b/scripts/build/companion_libs/mpfr.sh @@ -77,14 +77,14 @@ do_mpfr() { --host=${CT_HOST} \ --prefix="${CT_PREFIX_DIR}" \ ${mpfr_opt} \ - --disable-shared \ - --enable-static \ + --enable-shared \ + --disable-static \ --with-gmp="${CT_PREFIX_DIR}" CT_DoLog EXTRA "Building MPFR" CT_DoExecLog ALL make ${PARALLELMFLAGS} - if [ "${CT_MPFR_CHECK}" = "y" ]; then + if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then CT_DoLog EXTRA "Checking MPFR" CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check fi @@ -95,7 +95,7 @@ do_mpfr() { CT_EndStep } -if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then +if [ "${CT_COMP_LIBS_TARGET}" = "y" ]; then do_mpfr_target() { mkdir -p "${CT_BUILD_DIR}/build-mpfr-target" diff --git a/scripts/build/companion_libs/ppl.sh b/scripts/build/companion_libs/ppl.sh index d3246f9..4af080b 100644 --- a/scripts/build/companion_libs/ppl.sh +++ b/scripts/build/companion_libs/ppl.sh @@ -8,13 +8,14 @@ do_ppl() { :; } do_ppl_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG}" = "y" ]; then +if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then # Download PPL do_ppl_get() { CT_GetFile "ppl-${CT_PPL_VERSION}" \ http://www.cs.unipr.it/ppl/Download/ftp/releases/${CT_PPL_VERSION} \ - ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION} + ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION} \ + ftp://gcc.gnu.org/pub/gcc/infrastructure } # Extract PPL @@ -31,6 +32,7 @@ do_ppl() { CT_DoLog EXTRA "Configuring PPL" CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + CXXFLAGS="${CT_CFLAGS_FOR_HOST}" \ CT_DoExecLog ALL \ "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \ --build=${CT_BUILD} \ @@ -38,8 +40,8 @@ do_ppl() { --prefix="${CT_PREFIX_DIR}" \ --with-libgmp-prefix="${CT_PREFIX_DIR}" \ --with-libgmpxx-prefix="${CT_PREFIX_DIR}" \ - --disable-shared \ - --enable-static \ + --enable-shared \ + --disable-static \ --disable-debugging \ --disable-assertions \ --disable-ppl_lcdd \ @@ -52,7 +54,7 @@ do_ppl() { CT_DoLog EXTRA "Building PPL" CT_DoExecLog ALL make ${PARALLELMFLAGS} - if [ "${CT_PPL_CHECK}" = "y" ]; then + if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then CT_DoLog EXTRA "Checking PPL" CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check fi @@ -60,7 +62,10 @@ do_ppl() { CT_DoLog EXTRA "Installing PPL" CT_DoExecLog ALL make install + # Remove spuriously installed file + CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/ppl-config" + CT_EndStep } -fi # CT_PPL_CLOOG +fi # CT_PPL_CLOOG_MPC diff --git a/scripts/build/internals.sh b/scripts/build/internals.sh index acaf864..a262c1d 100644 --- a/scripts/build/internals.sh +++ b/scripts/build/internals.sh @@ -4,6 +4,8 @@ # un-wanted files, to add tuple aliases, and to add the final # crosstool-NG-provided files. do_finish() { + local _t + CT_DoStep INFO "Cleaning-up the toolchain's directory" CT_DoLog EXTRA "Removing access to the build system tools" @@ -39,6 +41,33 @@ do_finish() { done CT_Popd + # If using the companion libraries, we need a wrapper + # that will set LD_LIBRARY_PATH approriately + if [ "${CT_GMP_MPFR}" = "y" \ + -o "${CT_PPL_CLOOG_MPC}" = "y" ]; then + CT_DoLog EXTRA "Installing toolchain wrappers" + CT_Pushd "${CT_PREFIX_DIR}/bin" + + # Copy the wrapper + CT_DoExecLog DEBUG install -m 0755 "${CT_LIB_DIR}/scripts/wrapper.in" \ + ".${CT_TARGET}-wrapper" + + # Replace every tools with the wrapper + # Do it unconditionally, even for those tools that happen to be shell + # scripts, we don't know if they would in the end spawn a binary... + # Just skip symlinks + for _t in "${CT_TARGET}-"*; do + if [ "$( LANG=C stat -c '%F' "${_t}" )" != "symbolic link" ]; then + CT_DoExecLog ALL mv "${t}" ".${_t}" + CT_DoExecLog ALL ln ".${CT_TARGET}-wrapper" "${_t}" + fi + done + + # Get rid of the wrapper, we're using hardlinks + CT_DoExecLog DEBUG rm -f ".${CT_TARGET}-wrapper" + CT_Popd + fi + # Remove the generated documentation files if [ "${CT_REMOVE_DOCS}" = "y" ]; then CT_DoLog EXTRA "Removing installed documentation" diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 3fcda91..9af0135 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -172,6 +172,7 @@ do_libc_headers() { CT_DoExecLog ALL \ make CFLAGS="-O -DBOOTSTRAP_GCC" \ OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ sysdeps/gnu/errlist.c mkdir -p stdio-common @@ -189,6 +190,7 @@ do_libc_headers() { CFLAGS="-O -DBOOTSTRAP_GCC" \ ${LIBC_SYSROOT_ARG} \ OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ install-headers # Two headers -- stubs.h and features.h -- aren't installed by install-headers, @@ -331,11 +333,12 @@ do_libc_start_files() { ${extra_config} \ ${CT_LIBC_GLIBC_EXTRA_CONFIG} - #TODO: should check whether slibdir has been set in configparms to */lib64 # and copy the startfiles into the appropriate libdir. CT_DoLog EXTRA "Building C library start files" - CT_DoExecLog ALL make OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" csu/subdir_lib + CT_DoExecLog ALL make OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ + csu/subdir_lib CT_DoLog EXTRA "Installing C library start files" if [ "${CT_USE_SYSROOT}" = "y" ]; then @@ -499,18 +502,19 @@ do_libc() { # then you need to set the KERNELCONFIG variable to point to a .config file for this arch. # The following architectures are known to need kernel .config: alpha, arm, ia64, s390, sh, sparc # Note: LD and RANLIB needed by glibc-2.1.3's c_stub directory, at least on macosx - # No need for PARALLELMFLAGS here, Makefile already reads this environment variable CT_DoLog EXTRA "Building C library" CT_DoExecLog ALL make LD=${CT_TARGET}-ld \ - RANLIB=${CT_TARGET}-ranlib \ - OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ - ASFLAGS="${GLIBC_INITIAL_BUILD_ASFLAGS}" \ - ${GLIBC_INITIAL_BUILD_RULE} + RANLIB=${CT_TARGET}-ranlib \ + OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + ASFLAGS="${GLIBC_INITIAL_BUILD_ASFLAGS}" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ + ${GLIBC_INITIAL_BUILD_RULE} CT_DoLog EXTRA "Installing C library" CT_DoExecLog ALL make install_root="${CT_SYSROOT_DIR}" \ ${LIBC_SYSROOT_ARG} \ OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ ${GLIBC_INITIAL_INSTALL_RULE} # This doesn't seem to work when building a crosscompiler, @@ -553,7 +557,11 @@ do_libc_finish() { cd "${CT_BUILD_DIR}/build-libc" CT_DoLog EXTRA "Re-building C library" - CT_DoExecLog ALL make LD=${CT_TARGET}-ld RANLIB=${CT_TARGET}-ranlib + CT_DoExecLog ALL make LD=${CT_TARGET}-ld \ + RANLIB=${CT_TARGET}-ranlib \ + OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + ASFLAGS="${GLIBC_INITIAL_BUILD_ASFLAGS}" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" CT_DoLog EXTRA "Installing missing C library components" # note: should do full install and then fix linker scripts, but this is faster @@ -561,6 +569,7 @@ do_libc_finish() { CT_DoExecLog ALL make install_root="${CT_SYSROOT_DIR}" \ ${LIBC_SYSROOT_ARG} \ OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \ + PARALLELMFLAGS="${PARALLELMFLAGS}" \ install-${t} done |