| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 # | 5 # |
| 6 #@ Untrusted Toolchain Manager | 6 #@ Untrusted Toolchain Manager |
| 7 #@------------------------------------------------------------------- | 7 #@------------------------------------------------------------------- |
| 8 #@ This script builds the ARM and PNaCl untrusted toolchains. | 8 #@ This script builds the ARM and PNaCl untrusted toolchains. |
| 9 #@ It MUST be run from the native_client/ directory. | 9 #@ It MUST be run from the native_client/ directory. |
| 10 ###################################################################### | 10 ###################################################################### |
| (...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1773 # libstdc++ installs a file with an abnormal name: "libstdc++*-gdb.py" | 1773 # libstdc++ installs a file with an abnormal name: "libstdc++*-gdb.py" |
| 1774 # The asterisk may be due to a bug in libstdc++ Makefile/configure. | 1774 # The asterisk may be due to a bug in libstdc++ Makefile/configure. |
| 1775 # This causes problems on the Windows bot (during cleanup, toolchain | 1775 # This causes problems on the Windows bot (during cleanup, toolchain |
| 1776 # directory delete fails due to the bad character). | 1776 # directory delete fails due to the bad character). |
| 1777 # Rename it to get rid of the asterisk. | 1777 # Rename it to get rid of the asterisk. |
| 1778 spushd "${LIBSTDCPP_INSTALL_DIR}/lib" | 1778 spushd "${LIBSTDCPP_INSTALL_DIR}/lib" |
| 1779 mv -f libstdc++'*'-gdb.py libstdc++-gdb.py | 1779 mv -f libstdc++'*'-gdb.py libstdc++-gdb.py |
| 1780 spopd | 1780 spopd |
| 1781 } | 1781 } |
| 1782 | 1782 |
| 1783 build-validator() { |
| 1784 arch=$1 |
| 1785 if [ ${arch} == 'mips' ]; then |
| 1786 targetplatform='mips32' |
| 1787 else |
| 1788 targetplatform=$arch |
| 1789 fi |
| 1790 ARCH=`echo ${arch} | tr '[:lower:]' '[:upper:]'` |
| 1791 TARGETPLATFORM=`echo ${targetplatform} | tr '[:lower:]' '[:upper:]'` |
| 1792 StepBanner "MISC-"${ARCH} "Building validator ("${TARGETPLATFORM}")" |
| 1793 spushd "${NACL_ROOT}" |
| 1794 RunWithLog ${arch}_ncval_core \ |
| 1795 ./scons MODE=opt-host \ |
| 1796 targetplatform=${targetplatform} \ |
| 1797 sysinfo=0 \ |
| 1798 ${arch}-ncval-core |
| 1799 cp ${SCONS_OUT}/opt-linux-x86-32-to-${targetplatform}/obj/src/trusted/\ |
| 1800 validator_${arch}/${arch}-ncval-core ${INSTALL_ROOT}/tools-x86 |
| 1801 spopd |
| 1802 } |
| 1803 |
| 1783 #+ misc-tools - Build and install sel_ldr and validator for ARM. | 1804 #+ misc-tools - Build and install sel_ldr and validator for ARM. |
| 1784 misc-tools() { | 1805 misc-tools() { |
| 1785 if ${PNACL_BUILD_ARM} ; then | 1806 if ${PNACL_BUILD_ARM} ; then |
| 1786 StepBanner "MISC-ARM" "Building sel_ldr (ARM)" | 1807 StepBanner "MISC-ARM" "Building sel_ldr (ARM)" |
| 1787 | 1808 |
| 1788 # TODO(robertm): revisit some of these options | 1809 # TODO(robertm): revisit some of these options |
| 1789 spushd "${NACL_ROOT}" | 1810 spushd "${NACL_ROOT}" |
| 1790 RunWithLog arm_sel_ldr \ | 1811 RunWithLog arm_sel_ldr \ |
| 1791 ./scons MODE=opt-host \ | 1812 ./scons MODE=opt-host \ |
| 1792 platform=arm \ | 1813 platform=arm \ |
| 1793 naclsdk_validate=0 \ | 1814 naclsdk_validate=0 \ |
| 1794 sysinfo=0 \ | 1815 sysinfo=0 \ |
| 1795 sel_ldr | 1816 sel_ldr |
| 1796 rm -rf "${INSTALL_ROOT}/tools-arm" | 1817 rm -rf "${INSTALL_ROOT}/tools-arm" |
| 1797 mkdir "${INSTALL_ROOT}/tools-arm" | 1818 mkdir "${INSTALL_ROOT}/tools-arm" |
| 1798 local sconsdir="${SCONS_OUT}/opt-${SCONS_BUILD_PLATFORM}-arm" | 1819 local sconsdir="${SCONS_OUT}/opt-${SCONS_BUILD_PLATFORM}-arm" |
| 1799 cp "${sconsdir}/obj/src/trusted/service_runtime/sel_ldr" \ | 1820 cp "${sconsdir}/obj/src/trusted/service_runtime/sel_ldr" \ |
| 1800 "${INSTALL_ROOT}/tools-arm" | 1821 "${INSTALL_ROOT}/tools-arm" |
| 1801 spopd | 1822 spopd |
| 1802 else | 1823 else |
| 1803 StepBanner "MISC-ARM" "Skipping ARM sel_ldr (No trusted ARM toolchain)" | 1824 StepBanner "MISC-ARM" "Skipping ARM sel_ldr (No trusted ARM toolchain)" |
| 1804 fi | 1825 fi |
| 1805 | 1826 |
| 1806 if ${BUILD_PLATFORM_LINUX} ; then | 1827 if ${BUILD_PLATFORM_LINUX} ; then |
| 1807 StepBanner "MISC-ARM" "Building validator (ARM)" | |
| 1808 spushd "${NACL_ROOT}" | |
| 1809 RunWithLog arm_ncval_core \ | |
| 1810 ./scons MODE=opt-host \ | |
| 1811 targetplatform=arm \ | |
| 1812 sysinfo=0 \ | |
| 1813 arm-ncval-core | |
| 1814 rm -rf "${INSTALL_ROOT}/tools-x86" | 1828 rm -rf "${INSTALL_ROOT}/tools-x86" |
| 1815 mkdir "${INSTALL_ROOT}/tools-x86" | 1829 mkdir "${INSTALL_ROOT}/tools-x86" |
| 1816 cp ${SCONS_OUT}/opt-linux-x86-32-to-arm/obj/src/trusted/validator_arm/\ | 1830 for target in arm mips; do |
| 1817 arm-ncval-core ${INSTALL_ROOT}/tools-x86 | 1831 build-validator $target |
| 1818 spopd | 1832 done |
| 1819 else | 1833 else |
| 1820 StepBanner "MISC-ARM" "Skipping ARM validator (Not yet supported on Mac)" | 1834 for target in ARM MIPS; do |
| 1835 StepBanner "MISC-"${target} "Skipping " ${target} " validator (Not yet sup
ported on Mac)" |
| 1836 done |
| 1821 fi | 1837 fi |
| 1822 } | 1838 } |
| 1823 | 1839 |
| 1824 ######################################################################### | 1840 ######################################################################### |
| 1825 # < LIBELF > | 1841 # < LIBELF > |
| 1826 ######################################################################### | 1842 ######################################################################### |
| 1827 #+ libelf-host - Build and install libelf (using the host CC) | 1843 #+ libelf-host - Build and install libelf (using the host CC) |
| 1828 libelf-host() { | 1844 libelf-host() { |
| 1829 StepBanner "LIBELF-HOST" "Building and installing libelf" | 1845 StepBanner "LIBELF-HOST" "Building and installing libelf" |
| 1830 | 1846 |
| (...skipping 2015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3846 #Usage | 3862 #Usage |
| 3847 echo "ERROR: unknown function '$1'." >&2 | 3863 echo "ERROR: unknown function '$1'." >&2 |
| 3848 echo "For help, try:" | 3864 echo "For help, try:" |
| 3849 echo " $0 help" | 3865 echo " $0 help" |
| 3850 exit 1 | 3866 exit 1 |
| 3851 fi | 3867 fi |
| 3852 | 3868 |
| 3853 hg-migrate | 3869 hg-migrate |
| 3854 | 3870 |
| 3855 "$@" | 3871 "$@" |
| OLD | NEW |