summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-29 02:38:46 +0000
committersbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-29 02:38:46 +0000
commit3f85dac3fed8fc1277bea7bb091f7753966fd3ad (patch)
tree6ae624c812bfbff2f2eb32e786218c4a0d776eae
parentfd5f02fc484b3ec4348b172bb9f4660eb922adb9 (diff)
downloadchromium_src-3f85dac3fed8fc1277bea7bb091f7753966fd3ad.zip
chromium_src-3f85dac3fed8fc1277bea7bb091f7753966fd3ad.tar.gz
chromium_src-3f85dac3fed8fc1277bea7bb091f7753966fd3ad.tar.bz2
Support cross compiling for armhf variant ARM/linux.
armhf (hardware float) is the ubuntu default these days so should be used over armel in most cases. Also, the chromium ARM/linux test hardware is running armhf. This CL does not change the default or remove armel support. That is left for a future CL. BUG=308256 Review URL: https://codereview.chromium.org/27197011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231487 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--build/common.gypi3
-rwxr-xr-xbuild/install-build-deps.sh26
-rwxr-xr-xbuild/linux/install-arm-sysroot.py15
3 files changed, 30 insertions, 14 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 790ad3a..de3605e 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -225,7 +225,6 @@
# Python version.
'python_ver%': '2.6',
-
# Set NEON compilation flags.
'arm_neon%': 1,
@@ -675,7 +674,6 @@
'sysroot%': '<!(cd <(DEPTH) && pwd -P)/arm-sysroot',
}], # OS=="linux" and target_arch=="arm" and chromeos==0
-
['OS=="linux" and branding=="Chrome" and buildtype=="Official" and chromeos==0', {
'conditions': [
['target_arch=="x64"', {
@@ -1771,6 +1769,7 @@
'arm_fpu%': 'vfpv3-d16',
}],
],
+ # Change the default to hard once the armhf transition is complete.
'arm_float_abi%': 'softfp',
'arm_thumb%': 1,
}],
diff --git a/build/install-build-deps.sh b/build/install-build-deps.sh
index 2487336..872dc9f 100755
--- a/build/install-build-deps.sh
+++ b/build/install-build-deps.sh
@@ -124,14 +124,24 @@ dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libfontconfig1-dbg
libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg libxinerama1-dbg
libxrandr2-dbg libxrender1-dbg libxtst6-dbg zlib1g-dbg"
-# arm cross toolchain packages needed to build chrome on arm
-arm_list="libc6-armel-cross libc6-dev-armel-cross libgcc1-armel-cross
- libgomp1-armel-cross linux-libc-dev-armel-cross
- libgcc1-dbg-armel-cross libgomp1-dbg-armel-cross
- binutils-arm-linux-gnueabi cpp-arm-linux-gnueabi
- gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
- libmudflap0-dbg-armel-cross"
-
+# arm cross toolchain packages needed to build chrome on armhf
+arm_list="libc6-armhf-cross libc6-dev-armhf-cross libgcc1-armhf-cross
+ libgomp1-armhf-cross linux-libc-dev-armhf-cross
+ libgcc1-dbg-armhf-cross libgomp1-dbg-armhf-cross
+ binutils-arm-linux-gnueabihf cpp-arm-linux-gnueabihf
+ gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
+ libmudflap0-dbg-armhf-cross"
+
+# Old armel cross toolchain packages
+armel_list="libc6-armel-cross libc6-dev-armel-cross libgcc1-armel-cross
+ libgomp1-armel-cross linux-libc-dev-armel-cross
+ libgcc1-dbg-armel-cross libgomp1-dbg-armel-cross
+ binutils-arm-linux-gnueabi cpp-arm-linux-gnueabi
+ gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
+ libmudflap0-dbg-armel-cross"
+
+# TODO(sbc): remove armel once the armhf transition is complete
+arm_list="$arm_list $armel_list"
# Some package names have changed over time
if package_exists ttf-mscorefonts-installer; then
diff --git a/build/linux/install-arm-sysroot.py b/build/linux/install-arm-sysroot.py
index d1be1fd..5ba4411 100755
--- a/build/linux/install-arm-sysroot.py
+++ b/build/linux/install-arm-sysroot.py
@@ -22,7 +22,7 @@ Steps to rebuild the arm sysroot image:
- ./tools/trusted_cross_toolchains/trusted-toolchain-creator.armel.precise.sh \
BuildJail $SRC/out/arm-sysroot.tar.gz
- gsutil cp -a public-read $SRC/out/arm-sysroot.tar.gz \
- nativeclient-archive2/toolchain/$NACL_REV/naclsdk_linux_arm-trusted.tgz
+ nativeclient-archive2/toolchain/$NACL_REV/sysroot-arm-trusted.tgz
"""
import os
@@ -34,9 +34,13 @@ import sys
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
URL_PREFIX = 'https://commondatastorage.googleapis.com'
URL_PATH = 'nativeclient-archive2/toolchain'
-REVISION = 12203
-TARBALL = 'naclsdk_linux_arm-trusted.tgz'
+REVISION = 12292
+TARBALL = 'sysroot-arm-trusted.tgz'
+# TODO(sbc): remove armel support once the transision to armhf
+# is complete.
+REVISION_ARMEL = 12203
+TARBALL_ARMEL = 'naclsdk_linux_arm-trusted.tgz'
def main(args):
if '--linux-only' in args:
@@ -51,7 +55,10 @@ def main(args):
src_root = os.path.dirname(os.path.dirname(SCRIPT_DIR))
sysroot = os.path.join(src_root, 'arm-sysroot')
- url = "%s/%s/%s/%s" % (URL_PREFIX, URL_PATH, REVISION, TARBALL)
+ if '-gnueabihf-' in os.environ.get('CC', ''):
+ url = "%s/%s/%s/%s" % (URL_PREFIX, URL_PATH, REVISION, TARBALL)
+ else:
+ url = "%s/%s/%s/%s" % (URL_PREFIX, URL_PATH, REVISION_ARMEL, TARBALL_ARMEL)
stamp = os.path.join(sysroot, ".stamp")
if os.path.exists(stamp):