From: Jan-Benedict G. <jb...@us...> - 2005-10-31 11:25:51
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20101 Modified Files: build_toolchain.sh Log Message: - With this patch, the build script also attempts to build native binutils. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- build_toolchain.sh 29 Oct 2005 20:33:17 -0000 1.23 +++ build_toolchain.sh 31 Oct 2005 11:25:43 -0000 1.24 @@ -67,6 +67,7 @@ DO_CHECKS_GCC=1 DO_CHECKS_GLIBC=1 DO_CHECKS_UCLIBC=1 +LOG_TO_FILE=0 # # @@ -176,12 +177,16 @@ shift DO_CHECKS_UCLIBC=0 ;; + --log-to-file) + shift + LOG_TO_FILE=1 + ;; -*) echo >&2 echo "Unrecognized option \"${1}\"" >&2 echo >&2 echo "Hint:" >&2 - echo "$0 [--timestamp | --{binutils,glibc,gcc,uclibc,linux}-timestamp | --omit-patches | --omit-{gcc,glibc,binutils,ports,uclibc,linux}-patches | --omit-checks | --omit-{binutils,gcc,glibc,uclibc}-checks] <target>" >&2 + echo "$0 [--timestamp | --{binutils,glibc,gcc,uclibc,linux}-timestamp | --omit-patches | --omit-{gcc,glibc,binutils,ports,uclibc,linux}-patches | --omit-checks | --omit-{binutils,gcc,glibc,uclibc}-checks] [--log-to-file] <target>" >&2 echo "Target defaults to: ${TARGET}" >&2 exit 1 ;; @@ -197,6 +202,8 @@ # [ 1 -eq 1 ] && echo " Target: ${TARGET}" [ 1 -eq 1 ] && echo " Build timestamp: ${NOW}" +[ "${LOG_TO_FILE}" -ne 0 ] && echo " Log to file: yes" +[ "${LOG_TO_FILE}" -eq 0 ] && echo " Log to file: no" [ "${DO_TIMESTAMP_BINUTILS}" -ne 0 ] && echo " Binutils timestamp: ${TIMESTAMP_BINUTILS}" [ "${DO_TIMESTAMP_BINUTILS}" -eq 0 ] && echo " Binutils timestamp: last known" [ "${DO_TIMESTAMP_GCC}" -ne 0 ] && echo " GCC timestamp: ${TIMESTAMP_GCC}" @@ -365,6 +372,7 @@ SRC_BASE="${ALL_BASE}/src" BUILD_BASE="${ALL_BASE}/build" INSTALL_BASE="${ALL_BASE}/install" +INSTALL_NATIVE_BASE="${ALL_BASE}/install-native" BINUTILS_SRC="${SRC_BASE}/binutils" GLIBC_SRC="${SRC_BASE}/glibc" @@ -378,6 +386,8 @@ GCC2_BUILD="${BUILD_BASE}/gcc2" UCLIBC_BUILD="${BUILD_BASE}/uclibc" +BINUTILS_NATIVE_BUILD="${BUILD_BASE}/binutils-native" + # # Create all the directories # @@ -395,6 +405,15 @@ mkdir "${GLIBC_BUILD}"; GLIBC_BUILD="`check_path "${GLIBC_BUILD}"`" mkdir "${GCC2_BUILD}"; GCC2_BUILD="`check_path "${GCC2_BUILD}"`" mkdir "${UCLIBC_BUILD}"; UCLIBC_BUILD="`check_path "${UCLIBC_BUILD}"`" +mkdir "${INSTALL_NATIVE_BASE}"; INSTALL_NATIVE_BASE="`check_path "${INSTALL_NATIVE_BASE}"`" +mkdir "${BINUTILS_NATIVE_BUILD}"; BINUTILS_NATIVE_BUILD="`check_path "${BINUTILS_NATIVE_BUILD}"`" + +# +# Redirect all output to a file if requested. +# +if [ ${LOG_TO_FILE} -ne 0 ]; then + exec > "${ALL_BASE}/build.log" 2>&1 +fi # # Copy pristine sources @@ -579,3 +598,34 @@ popd popd + +# +# Build binutils to run on the target system +# +pushd "${BINUTILS_NATIVE_BUILD}" + # Configure + CC="${TARGET}-gcc" LDFLAGS=-static CFLAGS=-static \ + execute "${BINUTILS_SRC}/configure" \ + --host="${TARGET}" \ + --build="`${BINUTILS_SRC}/config.guess`" \ + --target="${TARGET}" --prefix=/usr + + # Build + build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-binutils + build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-gas + build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-ld + + # Install + build "${BUILD_BINUTILS}" && \ + execute make ${MAKEFLAGS} \ + prefix="${INSTALL_NATIVE_BASE}/usr" \ + install-binutils + build "${BUILD_LD}" && \ + execute make ${MAKEFLAGS} \ + prefix="${INSTALL_NATIVE_BASE}/usr" \ + install-ld + build "${BUILD_GAS}" && \ + execute make ${MAKEFLAGS} \ + prefix="${INSTALL_NATIVE_BASE}/usr" \ + install-gas + |