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
+
|