Chromium Code Reviews| 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 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 169 readonly LLVM_INSTALL_DIR="${INSTALL_PKG}/llvm" | 169 readonly LLVM_INSTALL_DIR="${INSTALL_PKG}/llvm" |
| 170 readonly GCC_INSTALL_DIR="${INSTALL_PKG}/gcc" | 170 readonly GCC_INSTALL_DIR="${INSTALL_PKG}/gcc" |
| 171 readonly GMP_INSTALL_DIR="${INSTALL_PKG}/gmp" | 171 readonly GMP_INSTALL_DIR="${INSTALL_PKG}/gmp" |
| 172 readonly MPFR_INSTALL_DIR="${INSTALL_PKG}/mpfr" | 172 readonly MPFR_INSTALL_DIR="${INSTALL_PKG}/mpfr" |
| 173 readonly MPC_INSTALL_DIR="${INSTALL_PKG}/mpc" | 173 readonly MPC_INSTALL_DIR="${INSTALL_PKG}/mpc" |
| 174 readonly BINUTILS_INSTALL_DIR="${INSTALL_PKG}/binutils" | 174 readonly BINUTILS_INSTALL_DIR="${INSTALL_PKG}/binutils" |
| 175 readonly BFD_PLUGIN_DIR="${BINUTILS_INSTALL_DIR}/lib/bfd-plugins" | 175 readonly BFD_PLUGIN_DIR="${BINUTILS_INSTALL_DIR}/lib/bfd-plugins" |
| 176 readonly SYSROOT_DIR="${INSTALL_NEWLIB}/sysroot" | 176 readonly SYSROOT_DIR="${INSTALL_NEWLIB}/sysroot" |
| 177 readonly FAKE_INSTALL_DIR="${INSTALL_PKG}/fake" | 177 readonly FAKE_INSTALL_DIR="${INSTALL_PKG}/fake" |
| 178 | 178 |
| 179 readonly LLVM_GOLD_PLUGIN_DIR="${LLVM_INSTALL_DIR}"/plugin | |
| 180 readonly LLVM_GOLD_PLUGIN="${LLVM_GOLD_PLUGIN_DIR}"/gold-plugin-static.o | |
| 181 | |
| 179 # TODO(pdox): Consider getting rid of pnacl-ld libmode bias, | 182 # TODO(pdox): Consider getting rid of pnacl-ld libmode bias, |
| 180 # and merging these two. | 183 # and merging these two. |
| 181 readonly PNACL_LD_NEWLIB="${INSTALL_NEWLIB_BIN}/pnacl-ld" | 184 readonly PNACL_LD_NEWLIB="${INSTALL_NEWLIB_BIN}/pnacl-ld" |
| 182 readonly PNACL_LD_GLIBC="${INSTALL_GLIBC_BIN}/pnacl-ld" | 185 readonly PNACL_LD_GLIBC="${INSTALL_GLIBC_BIN}/pnacl-ld" |
| 183 | 186 |
| 184 # These driver tools are always pulled from newlib/bin, | 187 # These driver tools are always pulled from newlib/bin, |
| 185 # but this should not introduce a bias. | 188 # but this should not introduce a bias. |
| 186 readonly PNACL_PP="${INSTALL_NEWLIB_BIN}/pnacl-clang -E" | 189 readonly PNACL_PP="${INSTALL_NEWLIB_BIN}/pnacl-clang -E" |
| 187 readonly PNACL_AR="${INSTALL_NEWLIB_BIN}/pnacl-ar" | 190 readonly PNACL_AR="${INSTALL_NEWLIB_BIN}/pnacl-ar" |
| 188 readonly PNACL_RANLIB="${INSTALL_NEWLIB_BIN}/pnacl-ranlib" | 191 readonly PNACL_RANLIB="${INSTALL_NEWLIB_BIN}/pnacl-ranlib" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 247 # which can then be translated to each individual architecture. | 250 # which can then be translated to each individual architecture. |
| 248 SBTC_PRODUCTION=${SBTC_PRODUCTION:-false} | 251 SBTC_PRODUCTION=${SBTC_PRODUCTION:-false} |
| 249 | 252 |
| 250 # Which toolchain to use for each arch. | 253 # Which toolchain to use for each arch. |
| 251 SBTC_BUILD_WITH_PNACL="arm x8632 x8664" | 254 SBTC_BUILD_WITH_PNACL="arm x8632 x8664" |
| 252 if ${PNACL_IN_CROS_CHROOT}; then | 255 if ${PNACL_IN_CROS_CHROOT}; then |
| 253 SBTC_BUILD_WITH_PNACL="arm" | 256 SBTC_BUILD_WITH_PNACL="arm" |
| 254 fi | 257 fi |
| 255 | 258 |
| 256 # Current milestones in each repo | 259 # Current milestones in each repo |
| 257 readonly UPSTREAM_REV=${UPSTREAM_REV:-1de82863028c} | 260 readonly UPSTREAM_REV=${UPSTREAM_REV:-fb48564375b4} |
| 258 | 261 |
| 259 readonly NEWLIB_REV=346ea38d142f | 262 readonly NEWLIB_REV=346ea38d142f |
| 260 readonly BINUTILS_REV=ae568f8eb6e0 | 263 readonly BINUTILS_REV=3cd8f04ea3b2 |
| 261 readonly COMPILER_RT_REV=1a3a6ffb31ea | 264 readonly COMPILER_RT_REV=1a3a6ffb31ea |
| 262 | 265 |
| 263 readonly LLVM_PROJECT_REV=${LLVM_PROJECT_REV:-147864} | 266 readonly LLVM_PROJECT_REV=${LLVM_PROJECT_REV:-147864} |
| 264 readonly LLVM_MASTER_REV=${LLVM_PROJECT_REV} | 267 readonly LLVM_MASTER_REV=${LLVM_PROJECT_REV} |
| 265 readonly CLANG_REV=${LLVM_PROJECT_REV} | 268 readonly CLANG_REV=${LLVM_PROJECT_REV} |
| 266 readonly DRAGONEGG_REV=${LLVM_PROJECT_REV} | 269 readonly DRAGONEGG_REV=${LLVM_PROJECT_REV} |
| 267 | 270 |
| 268 # Repositories | 271 # Repositories |
| 269 readonly REPO_UPSTREAM="nacl-llvm-branches.upstream" | 272 readonly REPO_UPSTREAM="nacl-llvm-branches.upstream" |
| 270 readonly REPO_NEWLIB="nacl-llvm-branches.newlib" | 273 readonly REPO_NEWLIB="nacl-llvm-branches.newlib" |
| 271 readonly REPO_BINUTILS="nacl-llvm-branches.binutils" | 274 readonly REPO_BINUTILS="nacl-llvm-branches.binutils" |
| 272 readonly REPO_COMPILER_RT="nacl-llvm-branches.compiler-rt" | 275 readonly REPO_COMPILER_RT="nacl-llvm-branches.compiler-rt" |
| 273 | 276 |
| 274 # LLVM repos (svn) | 277 # LLVM repos (svn) |
| 275 readonly REPO_LLVM_MASTER="http://llvm.org/svn/llvm-project/llvm/trunk" | 278 readonly REPO_LLVM_MASTER="http://llvm.org/svn/llvm-project/llvm/trunk" |
| 276 readonly REPO_CLANG="http://llvm.org/svn/llvm-project/cfe/trunk" | 279 readonly REPO_CLANG="http://llvm.org/svn/llvm-project/cfe/trunk" |
| 277 readonly REPO_DRAGONEGG="http://llvm.org/svn/llvm-project/dragonegg/trunk" | 280 readonly REPO_DRAGONEGG="http://llvm.org/svn/llvm-project/dragonegg/trunk" |
| 278 | 281 |
| 279 CC=${CC:-gcc} | 282 CC=${CC:-gcc} |
| 280 CXX=${CXX:-g++} | 283 CXX=${CXX:-g++} |
| 284 AR=${AR:-ar} | |
| 281 if ${HOST_ARCH_X8632} ; then | 285 if ${HOST_ARCH_X8632} ; then |
| 282 # These are simple compiler wrappers to force 32bit builds | 286 # These are simple compiler wrappers to force 32bit builds |
| 283 # For bots and releases we build the toolchains | 287 # For bots and releases we build the toolchains |
| 284 # on the oldest system we care to support. Currently | 288 # on the oldest system we care to support. Currently |
| 285 # that is a 32 bit hardy. The advantage of this is that we can build | 289 # that is a 32 bit hardy. The advantage of this is that we can build |
| 286 # the toolchain shared, reducing its size and allowing the use of | 290 # the toolchain shared, reducing its size and allowing the use of |
| 287 # plugins. You can test them on your system by setting the | 291 # plugins. You can test them on your system by setting the |
| 288 # environment variable HOST_ARCH=x86_32 on a 64 bit system. | 292 # environment variable HOST_ARCH=x86_32 on a 64 bit system. |
| 289 # Make sure you clean all your build dirs | 293 # Make sure you clean all your build dirs |
| 290 # before switching arches. | 294 # before switching arches. |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 796 mkdir -p "${INSTALL_ROOT}" | 800 mkdir -p "${INSTALL_ROOT}" |
| 797 # This is needed to build misc-tools and run ARM tests. | 801 # This is needed to build misc-tools and run ARM tests. |
| 798 # We check this early so that there are no surprises later, and we can | 802 # We check this early so that there are no surprises later, and we can |
| 799 # handle all user interaction early. | 803 # handle all user interaction early. |
| 800 check-for-trusted | 804 check-for-trusted |
| 801 | 805 |
| 802 clean-install | 806 clean-install |
| 803 | 807 |
| 804 clean-logs | 808 clean-logs |
| 805 | 809 |
| 810 llvm | |
| 806 binutils | 811 binutils |
| 807 llvm | |
| 808 driver | 812 driver |
| 809 | 813 |
| 810 libs | 814 libs |
| 811 | 815 |
| 812 # NOTE: we delay the tool building till after the sdk is essentially | 816 # NOTE: we delay the tool building till after the sdk is essentially |
| 813 # complete, so that sdk sanity checks don't fail | 817 # complete, so that sdk sanity checks don't fail |
| 814 misc-tools | 818 misc-tools |
| 815 verify | 819 verify |
| 816 } | 820 } |
| 817 | 821 |
| (...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1233 #+ llvm-install - Install LLVM | 1237 #+ llvm-install - Install LLVM |
| 1234 llvm-install() { | 1238 llvm-install() { |
| 1235 StepBanner "LLVM" "Install" | 1239 StepBanner "LLVM" "Install" |
| 1236 | 1240 |
| 1237 spushd "${TC_BUILD_LLVM}" | 1241 spushd "${TC_BUILD_LLVM}" |
| 1238 llvm-link-clang | 1242 llvm-link-clang |
| 1239 RunWithLog llvm.install \ | 1243 RunWithLog llvm.install \ |
| 1240 make ${MAKE_OPTS} install | 1244 make ${MAKE_OPTS} install |
| 1241 spopd | 1245 spopd |
| 1242 | 1246 |
| 1243 llvm-install-links | 1247 llvm-install-plugin |
| 1244 } | 1248 } |
| 1245 | 1249 |
| 1246 llvm-install-links() { | 1250 # Produces gold-plugin-static.o, which is the gold plugin |
| 1247 local makelink="ln -sf" | 1251 # with all LLVM dependencies statically linked in. |
| 1252 llvm-install-plugin() { | |
| 1253 StepBanner "LLVM" "Installing plugin" | |
| 1254 mkdir -p "${LLVM_GOLD_PLUGIN_DIR}" | |
| 1248 | 1255 |
| 1249 # On Windows, these can't be symlinks. | 1256 # This pulls every LLVM dependency needed for gold-plugin.o and libLTO. |
| 1250 if ${BUILD_PLATFORM_WIN}; then | 1257 local components="x86 arm linker analysis ipo bitwriter" |
| 1251 makelink="cp -a" | |
| 1252 fi | |
| 1253 | 1258 |
| 1254 mkdir -p "${BFD_PLUGIN_DIR}" | 1259 ${CC} -r -nostdlib \ |
| 1260 "${TC_BUILD_LLVM}"/tools/gold/Release+Asserts/gold-plugin.o \ | |
| 1261 -L "${TC_BUILD_LLVM}"/Release+Asserts/lib \ | |
| 1262 -Wl,-Bstatic \ | |
| 1263 -lLTO \ | |
| 1264 $("${LLVM_INSTALL_DIR}"/bin/llvm-config --libs ${components}) \ | |
| 1265 -o "${LLVM_GOLD_PLUGIN}" | |
|
jvoung - send to chromium...
2012/06/22 19:58:49
Perhaps this shouldn't have been a single .o file
| |
| 1255 | 1266 |
| 1256 # TODO(pdox): These may no longer be necessary. | 1267 # Force re-link of ld, gold, ar, ranlib, nm |
| 1257 if [ -f "${BFD_PLUGIN_DIR}/../../../llvm/${SO_DIR}/LLVMgold${SO_EXT}" ]; then | 1268 rm -f "${TC_BUILD_BINUTILS}"/binutils/ar |
| 1258 # this is to make sure whatever name LLVMgold.so is, it is always | 1269 rm -f "${TC_BUILD_BINUTILS}"/binutils/nm-new |
| 1259 # libLLVMgold.so as far as PNaCl is concerned | 1270 rm -f "${TC_BUILD_BINUTILS}"/binutils/ranlib |
| 1260 | 1271 rm -f "${TC_BUILD_BINUTILS}"/gold/ld-new |
| 1261 StepBanner "Symlinking LLVMgold.so to libLLVMgold.so in " \ | 1272 rm -f "${TC_BUILD_BINUTILS}"/ld/ld-new |
| 1262 "${BFD_PLUGIN_DIR}/../../../llvm/${SO_DIR}" | |
| 1263 | |
| 1264 (cd "${BFD_PLUGIN_DIR}/../../../llvm/${SO_DIR}"; | |
| 1265 ${makelink} "LLVMgold${SO_EXT}" "${SO_PREFIX}LLVMgold${SO_EXT}"; | |
| 1266 ) | |
| 1267 fi | |
| 1268 | |
| 1269 spushd "${BFD_PLUGIN_DIR}" | |
| 1270 | |
| 1271 ${makelink} ../../../llvm/${SO_DIR}/${SO_PREFIX}LLVMgold${SO_EXT} . | |
| 1272 ${makelink} ../../../llvm/${SO_DIR}/${SO_PREFIX}LTO${SO_EXT} . | |
| 1273 spopd | |
| 1274 | |
| 1275 spushd "${BINUTILS_INSTALL_DIR}/${SO_DIR}" | |
| 1276 ${makelink} ../../llvm/${SO_DIR}/${SO_PREFIX}LTO${SO_EXT} . | |
| 1277 ${makelink} ../../llvm/${SO_DIR}/${SO_PREFIX}LLVMgold${SO_EXT} . | |
| 1278 spopd | |
| 1279 } | 1273 } |
| 1280 | 1274 |
| 1281 ######################################################################### | 1275 ######################################################################### |
| 1282 ######################################################################### | 1276 ######################################################################### |
| 1283 # GCC/DragonEgg based front-end | 1277 # GCC/DragonEgg based front-end |
| 1284 ######################################################################### | 1278 ######################################################################### |
| 1285 ######################################################################### | 1279 ######################################################################### |
| 1286 | 1280 |
| 1287 ############################### GMP ############################### | 1281 ############################### GMP ############################### |
| 1288 #+ gmp - Build and install gmp | 1282 #+ gmp - Build and install gmp |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1955 | 1949 |
| 1956 assert-dir "${srcdir}" "You need to checkout binutils." | 1950 assert-dir "${srcdir}" "You need to checkout binutils." |
| 1957 | 1951 |
| 1958 if binutils-needs-configure; then | 1952 if binutils-needs-configure; then |
| 1959 binutils-clean | 1953 binutils-clean |
| 1960 binutils-configure | 1954 binutils-configure |
| 1961 else | 1955 else |
| 1962 SkipBanner "BINUTILS" "configure" | 1956 SkipBanner "BINUTILS" "configure" |
| 1963 fi | 1957 fi |
| 1964 | 1958 |
| 1965 if binutils-needs-make; then | 1959 binutils-dlwrap |
| 1966 binutils-make | 1960 binutils-make |
| 1967 else | |
| 1968 SkipBanner "BINUTILS" "make" | |
| 1969 fi | |
| 1970 | |
| 1971 binutils-install | 1961 binutils-install |
| 1972 } | 1962 } |
| 1973 | 1963 |
| 1974 #+ binutils-clean - Clean binutils | 1964 #+ binutils-clean - Clean binutils |
| 1975 binutils-clean() { | 1965 binutils-clean() { |
| 1976 StepBanner "BINUTILS" "Clean" | 1966 StepBanner "BINUTILS" "Clean" |
| 1977 local objdir="${TC_BUILD_BINUTILS}" | 1967 local objdir="${TC_BUILD_BINUTILS}" |
| 1978 rm -rf ${objdir} | 1968 rm -rf ${objdir} |
| 1979 } | 1969 } |
| 1980 | 1970 |
| 1971 binutils-dlwrap() { | |
| 1972 local srcdir="${TC_SRC_BINUTILS}" | |
| 1973 local objdir="${TC_BUILD_BINUTILS}" | |
| 1974 | |
| 1975 if ! [ -f "${LLVM_GOLD_PLUGIN}" ]; then | |
| 1976 Fatal "LLVM must be installed before building binutils." | |
| 1977 fi | |
| 1978 | |
| 1979 # Build libdlwrap.a | |
| 1980 mkdir -p "${objdir}/dlwrap" | |
| 1981 spushd "${objdir}/dlwrap" | |
| 1982 ${CC} -c "${srcdir}"/dlwrap/dlwrap.c -o dlwrap.o | |
| 1983 cp "${LLVM_GOLD_PLUGIN}" gold_plugin_static.o | |
| 1984 ${AR} crs libdlwrap.a dlwrap.o gold_plugin_static.o | |
| 1985 spopd | |
| 1986 } | |
| 1987 | |
| 1981 #+ binutils-configure- Configure binutils for ARM | 1988 #+ binutils-configure- Configure binutils for ARM |
| 1982 binutils-configure() { | 1989 binutils-configure() { |
| 1983 StepBanner "BINUTILS" "Configure" | 1990 StepBanner "BINUTILS" "Configure" |
| 1984 | 1991 |
| 1985 local srcdir="${TC_SRC_BINUTILS}" | 1992 local srcdir="${TC_SRC_BINUTILS}" |
| 1986 local objdir="${TC_BUILD_BINUTILS}" | 1993 local objdir="${TC_BUILD_BINUTILS}" |
| 1987 | 1994 |
| 1988 # enable multiple targets so that we can use the same ar with all .o files | 1995 # enable multiple targets so that we can use the same ar with all .o files |
| 1989 local targ="arm-pc-nacl,i686-pc-nacl,x86_64-pc-nacl" | 1996 local targ="arm-pc-nacl,i686-pc-nacl,x86_64-pc-nacl" |
| 1990 mkdir -p "${objdir}" | 1997 mkdir -p "${objdir}" |
| 1991 spushd "${objdir}" | 1998 spushd "${objdir}" |
| 1992 | 1999 |
| 1993 # The --enable-gold and --enable-plugins options are on so that we | 2000 # The --enable-gold and --enable-plugins options are on so that we |
| 1994 # can use gold's support for plugin to link PNaCl modules. | 2001 # can use gold's support for plugin to link PNaCl modules. |
| 1995 | 2002 |
| 1996 # TODO(pdox): Building binutils for nacl/nacl64 target currently requires | 2003 # TODO(pdox): Building binutils for nacl/nacl64 target currently requires |
| 1997 # providing NACL_ALIGN_* defines. This should really be defined inside | 2004 # providing NACL_ALIGN_* defines. This should really be defined inside |
| 1998 # binutils instead. | 2005 # binutils instead. |
| 2006 local flags="-DNACL_ALIGN_BYTES=32 -DNACL_ALIGN_POW2=5 \ | |
| 2007 -I${TC_SRC_BINUTILS}/dlwrap -DENABLE_DLWRAP" | |
| 1999 RunWithLog binutils.configure \ | 2008 RunWithLog binutils.configure \ |
| 2000 env -i \ | 2009 env -i \ |
| 2001 PATH="/usr/bin:/bin" \ | 2010 PATH="/usr/bin:/bin" \ |
| 2002 CC="${CC}" \ | 2011 CC="${CC}" \ |
| 2003 CXX="${CXX}" \ | 2012 CXX="${CXX}" \ |
| 2004 CFLAGS="-DNACL_ALIGN_BYTES=32 -DNACL_ALIGN_POW2=5" \ | 2013 LDFLAGS="-L${objdir}/dlwrap" \ |
| 2014 CFLAGS="${flags}" \ | |
| 2015 CXXFLAGS="${flags}" \ | |
| 2005 ${srcdir}/binutils-2.20/configure --prefix="${BINUTILS_INSTALL_DIR}" \ | 2016 ${srcdir}/binutils-2.20/configure --prefix="${BINUTILS_INSTALL_DIR}" \ |
| 2006 --target=${BINUTILS_TARGET} \ | 2017 --target=${BINUTILS_TARGET} \ |
| 2007 --enable-targets=${targ} \ | 2018 --enable-targets=${targ} \ |
| 2008 --enable-gold=yes \ | 2019 --enable-gold=yes \ |
| 2009 --enable-ld=yes \ | 2020 --enable-ld=yes \ |
| 2010 --enable-plugins \ | 2021 --enable-plugins \ |
| 2011 --disable-werror \ | 2022 --disable-werror \ |
| 2012 --with-sysroot="${NONEXISTENT_PATH}" | 2023 --with-sysroot="${NONEXISTENT_PATH}" |
| 2013 # There's no point in setting the correct path as sysroot, because we | 2024 # There's no point in setting the correct path as sysroot, because we |
| 2014 # want the toolchain to be relocatable. The driver will use ld command-line | 2025 # want the toolchain to be relocatable. The driver will use ld command-line |
| 2015 # option --sysroot= to override this value and set it to the correct path. | 2026 # option --sysroot= to override this value and set it to the correct path. |
| 2016 # However, we need to include --with-sysroot during configure to get this | 2027 # However, we need to include --with-sysroot during configure to get this |
| 2017 # option. So fill in a non-sense, non-existent path. | 2028 # option. So fill in a non-sense, non-existent path. |
| 2018 | 2029 |
| 2019 spopd | 2030 spopd |
| 2020 } | 2031 } |
| 2021 | 2032 |
| 2022 binutils-needs-configure() { | 2033 binutils-needs-configure() { |
| 2023 [ ! -f "${TC_BUILD_BINUTILS}/config.status" ] | 2034 [ ! -f "${TC_BUILD_BINUTILS}/config.status" ] |
| 2024 return $? | 2035 return $? |
| 2025 } | 2036 } |
| 2026 | 2037 |
| 2027 binutils-needs-make() { | |
| 2028 local srcdir="${TC_SRC_BINUTILS}" | |
| 2029 local objdir="${TC_BUILD_BINUTILS}" | |
| 2030 local ret=1 | |
| 2031 binutils-mess-hide | |
| 2032 ts-modified "$srcdir" "$objdir" && ret=0 | |
| 2033 binutils-mess-unhide | |
| 2034 return ${ret} | |
| 2035 } | |
| 2036 | |
| 2037 #+ binutils-make - Make binutils for ARM | 2038 #+ binutils-make - Make binutils for ARM |
| 2038 binutils-make() { | 2039 binutils-make() { |
| 2039 StepBanner "BINUTILS" "Make" | 2040 StepBanner "BINUTILS" "Make" |
| 2040 local srcdir="${TC_SRC_BINUTILS}" | 2041 local srcdir="${TC_SRC_BINUTILS}" |
| 2041 local objdir="${TC_BUILD_BINUTILS}" | 2042 local objdir="${TC_BUILD_BINUTILS}" |
| 2042 spushd "${objdir}" | 2043 spushd "${objdir}" |
| 2043 | 2044 |
| 2044 ts-touch-open "${objdir}" | 2045 ts-touch-open "${objdir}" |
| 2045 | 2046 |
| 2046 RunWithLog binutils.make \ | 2047 RunWithLog binutils.make \ |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2598 env -i \ | 2599 env -i \ |
| 2599 PATH="/usr/bin:/bin" \ | 2600 PATH="/usr/bin:/bin" \ |
| 2600 ${srcdir}/binutils-2.20/configure \ | 2601 ${srcdir}/binutils-2.20/configure \ |
| 2601 "${BINUTILS_SB_CONFIGURE_ENV[@]}" \ | 2602 "${BINUTILS_SB_CONFIGURE_ENV[@]}" \ |
| 2602 --prefix=${installdir} \ | 2603 --prefix=${installdir} \ |
| 2603 --host=nacl \ | 2604 --host=nacl \ |
| 2604 --target=${BINUTILS_TARGET} \ | 2605 --target=${BINUTILS_TARGET} \ |
| 2605 --enable-targets=${BINUTILS_SB_ELF_TARGETS} \ | 2606 --enable-targets=${BINUTILS_SB_ELF_TARGETS} \ |
| 2606 --disable-nls \ | 2607 --disable-nls \ |
| 2607 --disable-werror \ | 2608 --disable-werror \ |
| 2609 --disable-plugins \ | |
| 2608 --enable-static \ | 2610 --enable-static \ |
| 2609 --enable-shared=no | 2611 --enable-shared=no |
| 2610 spopd | 2612 spopd |
| 2611 } | 2613 } |
| 2612 | 2614 |
| 2613 binutils-sb-needs-make() { | 2615 binutils-sb-needs-make() { |
| 2614 binutils-sb-setup "$@" | 2616 binutils-sb-setup "$@" |
| 2615 ts-modified "${TC_SRC_BINUTILS}" "${BINUTILS_SB_OBJDIR}" | 2617 ts-modified "${TC_SRC_BINUTILS}" "${BINUTILS_SB_OBJDIR}" |
| 2616 return $? | 2618 return $? |
| 2617 } | 2619 } |
| (...skipping 1274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3892 #Usage | 3894 #Usage |
| 3893 echo "ERROR: unknown function '$1'." >&2 | 3895 echo "ERROR: unknown function '$1'." >&2 |
| 3894 echo "For help, try:" | 3896 echo "For help, try:" |
| 3895 echo " $0 help" | 3897 echo " $0 help" |
| 3896 exit 1 | 3898 exit 1 |
| 3897 fi | 3899 fi |
| 3898 | 3900 |
| 3899 hg-migrate | 3901 hg-migrate |
| 3900 | 3902 |
| 3901 "$@" | 3903 "$@" |
| OLD | NEW |