Index: tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh |
diff --git a/tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh b/tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh |
deleted file mode 100755 |
index 94709f0766554d6ae2dbc31dcd6d8387acd5162b..0000000000000000000000000000000000000000 |
--- a/tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh |
+++ /dev/null |
@@ -1,663 +0,0 @@ |
-#!/bin/bash |
-# Copyright (c) 2012 The Native Client Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
-# |
-#@ This script creates the mips trusted SDK. |
-#@ It must be run from the native_client directory. |
- |
-# This script is intended to build a mipsel-linux-gnu cross compilation |
-# toolchain that runs on x86 linux and generates code for a little-endian, |
-# hard-float, mips32 target. |
-# |
-# It expects the host machine to have relatively recent versions of GMP (4.2.0 |
-# or later), MPFR (2.4.2), and MPC (0.8.1) in order to build the GCC. |
-# |
-# Common way to get those is: |
-# sudo apt-get install libmpfr-dev libmpc-dev libgmp3-dev |
- |
-###################################################################### |
-# Config |
-###################################################################### |
- |
-set -o nounset |
-set -o errexit |
-set -o xtrace |
- |
-readonly SCRIPT_DIR=$(dirname $0) |
- |
-readonly MAKE_OPTS="-j8" |
-readonly ARCH="mips32" |
- |
-readonly GCC_URL="http://ftp.gnu.org/gnu/gcc/gcc-4.7.2/gcc-4.7.2.tar.bz2" |
-readonly GCC_SHA1SUM="a464ba0f26eef24c29bcd1e7489421117fb9ee35" |
- |
-readonly BINUTILS_URL="http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2" |
-readonly BINUTILS_SHA1SUM="65b304a0b9a53a686ce50a01173d1f40f8efe404" |
- |
-readonly KERNEL_URL="http://www.linux-mips.org/pub/linux/mips/kernel/v2.6/linux-2.6.38.4.tar.gz" |
-readonly KERNEL_SHA1SUM="377fa5cf5f1d0c396759b1c4d147330e7e5b6d7f" |
- |
-readonly GDB_URL="http://ftp.gnu.org/gnu/gdb/gdb-7.5.tar.bz2" |
-readonly GDB_SHA1SUM="79b61152813e5730fa670c89e5fc3c04b670b02c" |
- |
-readonly EGLIBC_SVN_URL="svn://svn.eglibc.org/branches/eglibc-2_14" |
-readonly EGLIBC_REVISION="20996" |
- |
-readonly DOWNLOAD_QEMU_URL="http://download.savannah.gnu.org/releases/qemu/qemu-0.12.5.tar.gz" |
- |
-readonly INSTALL_ROOT=$(pwd)/toolchain/linux_mips-trusted |
- |
-readonly TMP=$(pwd)/toolchain/tmp/crosstool-trusted |
- |
-readonly BUILD_DIR=${TMP}/build |
- |
-readonly PATCH_MIPS32=$(readlink -f ../third_party/qemu/qemu-0.12.5.patch_mips) |
- |
-readonly JAIL_MIPS32=${INSTALL_ROOT}/sysroot |
- |
-readonly CROSS_TARBALL="chromesdk_linux_mipsel" |
- |
-# These are simple compiler wrappers to force 32bit builds. |
-readonly CC32=$(readlink -f pnacl/scripts/mygcc32) |
-readonly CXX32=$(readlink -f pnacl/scripts/myg++32) |
- |
-###################################################################### |
-# Helper |
-###################################################################### |
- |
-Banner() { |
- echo "######################################################################" |
- echo $* |
- echo "######################################################################" |
-} |
- |
-SubBanner() { |
- echo "......................................................................" |
- echo $* |
- echo "......................................................................" |
-} |
- |
-Usage() { |
- echo |
- echo "$0 <nacl_sdk|chrome_sdk>" |
- echo |
- echo "nacl_sdk - Build nacl toolchain and package it" |
- echo "chrome_sdk - Build chrome toolchain and package it" |
- echo |
-} |
- |
-CheckoutOrCopy() { |
- local url=$1 |
- local revision=$2 |
- local filename="${TMP}/${url##*/}" |
- local filetype="${url%%:*}" |
- |
- if [ "${filename}" == "" ]; then |
- echo "Unknown error occured. Aborting." |
- exit 1 |
- fi |
- |
- if [ "${filetype}" == "svn" ]; then |
- SubBanner "checkout from ${url} -> ${filename}" |
- svn --force export -r ${revision} ${url} ${filename} |
- else |
- SubBanner "copying from ${url}" |
- cp ${url} ${filename} |
- fi |
-} |
- |
-DownloadOrCopy() { |
- local url=$1 |
- local filename="${TMP}/${url##*/}" |
- local filetype="${url%%:*}" |
- |
- if [ "${filename}" == "" ]; then |
- echo "Unknown error occured. Aborting." |
- exit 1 |
- fi |
- |
- if [[ "${filetype}" == "http" || ${filetype} == "https" ]] ; then |
- if [ ! -f "${filename}" ]; then |
- SubBanner "downloading from ${url} -> ${filename}" |
- wget ${url} -O ${filename} |
- fi |
- else |
- SubBanner "copying from ${url}" |
- cp ${url} ${filename} |
- fi |
-} |
- |
-DownloadOrCopyAndVerify() { |
- local url=$1 |
- local checksum=$2 |
- local filename="${TMP}/${url##*/}" |
- local filetype="${url%%:*}" |
- |
- if [ "${filename}" == "" ]; then |
- echo "Unknown error occured. Aborting." |
- exit 1 |
- fi |
- |
- if [[ "${filetype}" == "http" || ${filetype} == "https" ]] ; then |
- if [ ! -f "${filename}" ]; then |
- SubBanner "downloading from ${url} -> ${filename}" |
- wget ${url} -O ${filename} |
- fi |
- if [ "${checksum}" != "nochecksum" ]; then |
- if [ "$(sha1sum ${filename} | cut -d ' ' -f 1)" != "${checksum}" ]; then |
- echo "${filename} sha1sum failed. Deleting file and aborting." |
- rm -f ${filename} |
- exit 1 |
- fi |
- fi |
- else |
- SubBanner "copying from ${url}" |
- cp ${url} ${filename} |
- fi |
-} |
- |
-###################################################################### |
-# |
-###################################################################### |
- |
-# some sanity checks to make sure this script is run from the right place |
-# with the right tools. |
-SanityCheck() { |
- Banner "Sanity Checks" |
- if [[ $(basename $(pwd)) != "native_client" ]] ; then |
- echo "ERROR: run this script from the native_client/ dir" |
- exit -1 |
- fi |
- |
- if ! mkdir -p "${INSTALL_ROOT}" ; then |
- echo "ERROR: ${INSTALL_ROOT} can't be created." |
- exit -1 |
- fi |
- |
- for tool in cleanlinks wget ; do |
- if ! which ${tool} ; then |
- echo "Required binary $tool not found." |
- echo "Exiting." |
- exit 1 |
- fi |
- done |
-} |
- |
- |
-ClearInstallDir() { |
- Banner "clearing dirs in ${INSTALL_ROOT}" |
- rm -rf ${INSTALL_ROOT}/* |
- mkdir -p ${JAIL_MIPS32} |
-} |
- |
-ClearBuildDir() { |
- Banner "clearing dirs in ${BUILD_DIR}" |
- rm -rf ${BUILD_DIR}/* |
-} |
- |
-CreateTarBall() { |
- local tarball=$1 |
- Banner "creating tar ball ${tarball}" |
- tar cfz ${tarball}.tgz -C ${INSTALL_ROOT} . |
-} |
- |
- |
-# Download the toolchain source tarballs or use a local copy when available. |
-DownloadOrCopyAndInstallToolchain() { |
- Banner "Installing toolchain" |
- |
- local tarball="${TMP}/${BINUTILS_URL##*/}" |
- DownloadOrCopyAndVerify ${BINUTILS_URL} ${BINUTILS_SHA1SUM} |
- SubBanner "extracting from ${tarball}" |
- tar jxf ${tarball} -C ${TMP} |
- |
- tarball="${TMP}/${GCC_URL##*/}" |
- DownloadOrCopyAndVerify ${GCC_URL} ${GCC_SHA1SUM} |
- SubBanner "extracting from ${tarball}" |
- tar jxf ${tarball} -C ${TMP} |
- |
- tarball="${TMP}/${GDB_URL##*/}" |
- DownloadOrCopyAndVerify ${GDB_URL} ${GDB_SHA1SUM} |
- SubBanner "extracting from ${tarball}" |
- tar jxf ${tarball} -C ${TMP} |
- |
- tarball="${TMP}/${KERNEL_URL##*/}" |
- DownloadOrCopyAndVerify ${KERNEL_URL} ${KERNEL_SHA1SUM} |
- SubBanner "extracting from ${tarball}" |
- tar zxf ${tarball} -C ${TMP} |
- |
- local eglibc_dir="${TMP}/${EGLIBC_SVN_URL##*/}" |
- CheckoutOrCopy ${EGLIBC_SVN_URL} ${EGLIBC_REVISION} |
- |
- |
- Banner "Preparing the code" |
- |
- if [ ! -d "${TMP}/eglibc-2_14/libc/ports" ]; then |
- ln -s ${TMP}/eglibc-2_14/ports ${TMP}/eglibc-2_14/libc/ports |
- fi |
- |
- # Fix a minor syntax issue in tc-mips.c. |
- local OLD_TEXT="as_warn_where (fragp->fr_file, fragp->fr_line, msg);" |
- local NEW_TEXT="as_warn_where (fragp->fr_file, fragp->fr_line, \"%s\", msg);" |
- local FILE_NAME="${TMP}/binutils-2.22/gas/config/tc-mips.c" |
- sed -i "s/${OLD_TEXT}/${NEW_TEXT}/g" "${FILE_NAME}" |
- |
- export PATH=${INSTALL_ROOT}/bin:$PATH |
- |
- |
- Banner "Building binutils" |
- |
- mkdir -p ${BUILD_DIR}/binutils/ |
- pushd ${BUILD_DIR}/binutils/ |
- |
- SubBanner "Configuring" |
- ${TMP}/binutils-2.22/configure \ |
- --prefix=${INSTALL_ROOT} \ |
- --target=mipsel-linux-gnu \ |
- --with-sysroot=${JAIL_MIPS32} |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all-binutils all-gas all-ld |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install-binutils install-gas install-ld |
- |
- popd |
- |
- |
- Banner "Building GCC (initial)" |
- |
- mkdir -p ${BUILD_DIR}/gcc/initial |
- pushd ${BUILD_DIR}/gcc/initial |
- |
- SubBanner "Configuring" |
- ${TMP}/gcc-4.7.2/configure \ |
- --prefix=${INSTALL_ROOT} \ |
- --disable-libssp \ |
- --disable-libgomp \ |
- --disable-libmudflap \ |
- --disable-fixed-point \ |
- --disable-decimal-float \ |
- --with-mips-plt \ |
- --with-endian=little \ |
- --with-arch=${ARCH} \ |
- --enable-languages=c \ |
- --with-newlib \ |
- --without-headers \ |
- --disable-shared \ |
- --disable-threads \ |
- --disable-libquadmath \ |
- --disable-libatomic \ |
- --target=mipsel-linux-gnu |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install |
- |
- popd |
- |
- |
- Banner "Installing Linux kernel headers" |
- pushd ${TMP}/linux-2.6.38.4 |
- make headers_install ARCH=mips INSTALL_HDR_PATH=${JAIL_MIPS32}/usr |
- popd |
- |
- |
- Banner "Building EGLIBC (initial)" |
- |
- mkdir -p ${JAIL_MIPS32}/usr/lib |
- mkdir -p ${BUILD_DIR}/eglibc/initial |
- pushd ${BUILD_DIR}/eglibc/initial |
- |
- SubBanner "Configuring" |
- BUILD_CC=gcc \ |
- AR=mipsel-linux-gnu-ar \ |
- RANLIB=mipsel-linux-gnu-ranlib \ |
- CC=mipsel-linux-gnu-gcc \ |
- CXX=mipsel-linux-gnu-g++ \ |
- ${TMP}/eglibc-2_14/libc/configure \ |
- --prefix=/usr \ |
- --enable-add-ons \ |
- --build=i686-pc-linux-gnu \ |
- --host=mipsel-linux-gnu \ |
- --disable-profile \ |
- --without-gd \ |
- --without-cvs \ |
- --with-headers=${JAIL_MIPS32}/usr/include |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install-headers install_root=${JAIL_MIPS32} \ |
- install-bootstrap-headers=yes |
- |
- make csu/subdir_lib && \ |
- cp csu/crt1.o csu/crti.o csu/crtn.o ${JAIL_MIPS32}/usr/lib |
- |
- mipsel-linux-gnu-gcc -nostdlib \ |
- -nostartfiles \ |
- -shared \ |
- -x c /dev/null \ |
- -o ${JAIL_MIPS32}/usr/lib/libc.so |
- |
- popd |
- |
- |
- Banner "Building GCC (intermediate)" |
- |
- mkdir -p ${BUILD_DIR}/gcc/intermediate |
- pushd ${BUILD_DIR}/gcc/intermediate |
- |
- SubBanner "Configuring" |
- ${TMP}/gcc-4.7.2/configure \ |
- --prefix=${INSTALL_ROOT} \ |
- --disable-libssp \ |
- --disable-libgomp \ |
- --disable-libmudflap \ |
- --disable-fixed-point \ |
- --disable-decimal-float \ |
- --with-mips-plt \ |
- --with-endian=little \ |
- --with-arch=${ARCH} \ |
- --target=mipsel-linux-gnu \ |
- --enable-languages=c \ |
- --disable-libquadmath \ |
- --disable-libatomic \ |
- --with-sysroot=${JAIL_MIPS32} |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install |
- |
- popd |
- |
- |
- Banner "Building EGLIBC (final)" |
- |
- mkdir -p ${BUILD_DIR}/eglibc/final |
- pushd ${BUILD_DIR}/eglibc/final |
- |
- BUILD_CC=gcc \ |
- AR=mipsel-linux-gnu-ar \ |
- RANLIB=mipsel-linux-gnu-ranlibi \ |
- CC=mipsel-linux-gnu-gcc \ |
- CXX=mipsel-linux-gnu-g++ \ |
- ${TMP}/eglibc-2_14/libc/configure \ |
- --prefix=/usr \ |
- --enable-add-ons \ |
- --host=mipsel-linux-gnu \ |
- --disable-profile \ |
- --without-gd \ |
- --without-cvs \ |
- --build=i686-pc-linux-gnu \ |
- --with-headers=${JAIL_MIPS32}/usr/include |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install install_root=${JAIL_MIPS32} |
- |
- popd |
- |
- |
- Banner "Building GCC (final)" |
- |
- mkdir -p ${BUILD_DIR}/gcc/final |
- pushd ${BUILD_DIR}/gcc/final |
- |
- ${TMP}/gcc-4.7.2/configure \ |
- --prefix=${INSTALL_ROOT} \ |
- --disable-libssp \ |
- --disable-libgomp \ |
- --disable-libmudflap \ |
- --disable-fixed-point \ |
- --disable-decimal-float \ |
- --with-mips-plt \ |
- --with-endian=little \ |
- --with-arch=${ARCH} \ |
- --target=mipsel-linux-gnu \ |
- --enable-__cxa_atexit \ |
- --enable-languages=c,c++ \ |
- --with-sysroot=${JAIL_MIPS32} |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install |
- |
- popd |
- |
- |
- Banner "Building GDB" |
- |
- mkdir -p ${BUILD_DIR}/gdb/ |
- pushd ${BUILD_DIR}/gdb/ |
- |
- ${TMP}/gdb-7.5/configure \ |
- --prefix=${INSTALL_ROOT} \ |
- --target=mipsel-linux-gnu |
- |
- SubBanner "Make" |
- make ${MAKE_OPTS} all-gdb |
- |
- SubBanner "Install" |
- make ${MAKE_OPTS} install-gdb |
- |
- popd |
-} |
- |
- |
-InstallTrustedLinkerScript() { |
- local trusted_ld_script=${INSTALL_ROOT}/ld_script_mips_trusted |
- # We are using the output of "ld --verbose" which contains |
- # the linker script delimited by "=========". |
- # We are changing the image start address to 70000000 |
- # to move the sel_ldr and other images "out of the way" |
- Banner "installing trusted linker script to ${trusted_ld_script}" |
- |
- ${INSTALL_ROOT}/bin/mipsel-linux-gnu-ld --verbose |\ |
- grep -A 10000 "=======" |\ |
- grep -v "=======" |\ |
- sed -e 's/0400000/70000000/g' > ${trusted_ld_script} |
-} |
- |
- |
-# ---------------------------------------------------------------------- |
-# mips32 deb files to complete our code sourcery jail |
-# ---------------------------------------------------------------------- |
- |
-readonly REPO_DEBIAN=http://ftp.debian.org/debian |
-readonly MIPS32_PACKAGES=${REPO_DEBIAN}/dists/squeeze/main/binary-mipsel/Packages.bz2 |
- |
-readonly BASE_PACKAGELIST_MIPS32=${SCRIPT_DIR}/packagelist.squeeze.mipsel.base |
-readonly EXTRA_PACKAGELIST_MIPS32=${SCRIPT_DIR}/packagelist.squeeze.mipsel.extra |
-readonly TMP_BASE_PKG_MIPS32=${TMP}/packagelist.generated.squeeze.mipsel.base |
-readonly TMP_EXTRA_PKG_MIPS32=${TMP}/packagelist.generated.squeeze.mipsel.extra |
- |
-GeneratePackageLists() { |
- local sdk_target=$1 |
- local packages= |
- local TMP_PACKAGELIST= |
- Banner "generating ${sdk_target} package lists for mips32" |
- DownloadOrCopy ${MIPS32_PACKAGES} |
- bzcat ${TMP}/Packages.bz2\ |
- | egrep '^(Package:|Filename:)' > ${TMP}/Packages_mipsel |
- |
- if [ ${sdk_target} == "nacl_sdk" ] ; then |
- echo -n > ${TMP_BASE_PKG_MIPS32} |
- TMP_PACKAGELIST=${TMP_BASE_PKG_MIPS32} |
- packages=$(cat ${BASE_PACKAGELIST_MIPS32}) |
- elif [ ${sdk_target} == "chrome_sdk" ] ; then |
- echo -n > ${TMP_EXTRA_PKG_MIPS32} |
- TMP_PACKAGELIST=${TMP_EXTRA_PKG_MIPS32} |
- packages=$(cat ${EXTRA_PACKAGELIST_MIPS32}) |
- else |
- Banner "ERROR: Packages for \"${sdk_taget}\" not defined." |
- exit -1 |
- fi |
- |
- for pkg in ${packages} ; do |
- grep -A 1 "${pkg}\$" ${TMP}/Packages_mipsel\ |
- | egrep -o "pool/.*" >> ${TMP_PACKAGELIST} |
- done |
-} |
- |
-InstallMissingLibraries() { |
- local sdk_target=$1 |
- local DEP_FILES_NEEDED_MIPS32= |
- |
- if [ ${sdk_target} == "nacl_sdk" ] ; then |
- DEP_FILES_NEEDED_MIPS32=$(cat ${TMP_BASE_PKG_MIPS32}) |
- elif [ ${sdk_target} == "chrome_sdk" ] ; then |
- DEP_FILES_NEEDED_MIPS32=$(cat ${TMP_EXTRA_PKG_MIPS32}) |
- else |
- Banner "ERROR: Target \"${sdk_taget}\" not defined." |
- exit -1 |
- fi |
- |
- for file in ${DEP_FILES_NEEDED_MIPS32} ; do |
- local package="${TMP}/${file##*/}" |
- Banner "installing ${file}" |
- DownloadOrCopy ${REPO_DEBIAN}/${file} |
- SubBanner "extracting to ${JAIL_MIPS32}" |
- dpkg --fsys-tarfile ${package}\ |
- | tar -xvf - --exclude=./usr/share -C ${JAIL_MIPS32} |
- done |
- |
- Banner "some cleanup" |
- |
- pushd ${JAIL_MIPS32}/usr/lib/ |
- cleanlinks > /dev/null 2> /dev/null |
- FixLibs |
- popd |
-} |
- |
-FixLibs() { |
- Banner "Fixing libraries" |
- |
- rm -f libbz2.so |
- ln -s ../../lib/libbz2.so.1 libbz2.so |
- |
- rm -f libm.so |
- ln -s ../../lib/libm.so.6 libm.so |
- |
- rm -f libdl.so |
- ln -s ../../lib/libdl.so.2 libdl.so |
- |
- rm -f librt.so |
- ln -s ../../lib/librt.so.1 librt.so |
- |
- rm -f libpcre.so |
- ln -s ../../lib/libpcre.so.3 libpcre.so |
- |
- rm -f libresolv.so |
- ln -s ../../lib/libresolv.so.2 libresolv.so |
- |
- rm -f libglib-2.0.so |
- ln -s ../../lib/libglib-2.0.so.0 libglib-2.0.so |
- |
- rm -f libudev.so |
- ln -s ../../lib/libudev.so.0 libudev.so |
- |
- rm -f libcom_err.so |
- ln -s ../../lib/libcom_err.so.2 libcom_err.so |
- |
- rm -f libXdmcp.so |
- ln -s ../../lib/libXdmcp.so.6 libXdmcp.so |
- |
- rm -f libstdc++.so* |
- ln -s ../../../mipsel-linux-gnu/lib/libstdc++.so.6.0.17 . |
- ln -s libstdc++.so.6.0.17 libstdc++.so.6 |
- ln -s libstdc++.so.6.0.17 libstdc++.so |
- |
- rm -f libgcc_s.so* |
- ln -s ../../../mipsel-linux-gnu/lib/libgcc_s.so.1 . |
- ln -s libgcc_s.so.1 libgcc_s.so |
-} |
- |
-BuildAndInstallQemu() { |
- local saved_dir=$(pwd) |
- local tmpdir="${TMP}/qemu-mips.nacl" |
- local tarball="qemu-0.12.5.tar.gz" |
- |
- Banner "Building qemu in ${tmpdir}" |
- |
- rm -rf ${tmpdir} |
- mkdir ${tmpdir} |
- cd ${tmpdir} |
- |
- SubBanner "Downloading" |
- wget -c ${DOWNLOAD_QEMU_URL} |
- |
- SubBanner "Untarring" |
- tar zxf ${tarball} |
- cd qemu-0.12.5 |
- SubBanner "Patching" |
- patch -p1 < ${PATCH_MIPS32} |
- |
- echo |
- echo "NOTE: on 64 bit systems you will need to the following 32bit libs:" |
- echo "lib32z1-dev" |
- echo |
- |
- SubBanner "Configuring" |
- env -i PATH=/usr/bin/:/bin \ |
- ./configure \ |
- --cc=${CC32} \ |
- --disable-system \ |
- --enable-linux-user \ |
- --disable-darwin-user \ |
- --disable-bsd-user \ |
- --target-list=mipsel-linux-user \ |
- --disable-sdl \ |
- --disable-linux-aio \ |
- --static |
- |
- SubBanner "Make" |
- env -i PATH=/usr/bin/:/bin \ |
- make MAKE_OPTS=${MAKE_OPTS} |
- |
- SubBanner "Install" |
- cp mipsel-linux-user/qemu-mipsel ${INSTALL_ROOT}/qemu-mips32 |
- cd ${saved_dir} |
- cp tools/trusted_cross_toolchains/qemu_tool_mips32.sh ${INSTALL_ROOT} |
- ln -sf qemu_tool_mips32.sh ${INSTALL_ROOT}/run_under_qemu_mips32 |
-} |
- |
-###################################################################### |
-# Main |
-###################################################################### |
- |
-if [[ $# -eq 0 ]] ; then |
- echo "you must specify a mode on the commandline:" |
- echo |
- Usage |
- exit -1 |
- |
-elif [[ $1 == "nacl_sdk" || $1 == "chrome_sdk" ]] ; then |
- mkdir -p ${TMP} |
- SanityCheck |
- ClearInstallDir |
- ClearBuildDir |
- DownloadOrCopyAndInstallToolchain |
- GeneratePackageLists $1 |
- InstallMissingLibraries $1 |
- if [[ $1 == "nacl_sdk" ]] ; then |
- InstallTrustedLinkerScript |
- BuildAndInstallQemu |
- CreateTarBall $1 |
- else |
- CreateTarBall ${CROSS_TARBALL} |
- fi |
- |
-else |
- Usage |
- exit -1 |
- |
-fi |
- |