Merge pull request #10219 from HAMIDx9/master

Add arm64 build support
This commit is contained in:
Cheng Zhao 2017-08-22 17:02:23 +09:00 committed by GitHub
commit 1f604c0826
9 changed files with 1036 additions and 184 deletions

View file

@ -22,6 +22,8 @@ matrix:
env: TARGET_ARCH=arm
- os: linux
env: TARGET_ARCH=ia32
- os: linux
env: TARGET_ARCH=arm64
allow_failures:
- os: osx

View file

@ -34,6 +34,14 @@ LINUX_DEPS_ARM = [
'gcc-4.8-multilib-arm-linux-gnueabihf',
]
LINUX_DEPS_ARM64 = [
'binutils-aarch64-linux-gnu',
'libc6-dev-arm64-cross',
'linux-libc-dev-arm64-cross',
'g++-4.8-aarch64-linux-gnu',
'gcc-4.8-aarch64-linux-gnu',
'gcc-aarch64-linux-gnu',
]
def main():
os.environ['CI'] = '1'
@ -56,6 +64,8 @@ def main():
deps = LINUX_DEPS
if target_arch == 'arm':
deps += LINUX_DEPS_ARM
elif target_arch == 'arm64':
deps += LINUX_DEPS_ARM64
else:
deps += LINUX_DEPS_NO_ARM
execute(['sudo', 'apt-get', 'install'] + deps)

View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
export TARGET_ARCH=arm64
script/cibuild-linux

View file

@ -208,6 +208,8 @@ def strip_binaries():
def strip_binary(binary_path):
if get_target_arch() == 'arm':
strip = 'arm-linux-gnueabihf-strip'
elif get_target_arch() == 'arm64':
strip = 'aarch64-linux-gnu-strip'
else:
strip = 'strip'
execute([strip, binary_path])

View file

@ -67,6 +67,8 @@ function assetsForVersion (version) {
'electron-{{VERSION}}-darwin-x64.zip',
'electron-{{VERSION}}-linux-arm-symbols.zip',
'electron-{{VERSION}}-linux-arm.zip',
'electron-{{VERSION}}-linux-arm64-symbols.zip',
'electron-{{VERSION}}-linux-arm64.zip',
'electron-{{VERSION}}-linux-armv7l-symbols.zip',
'electron-{{VERSION}}-linux-armv7l.zip',
'electron-{{VERSION}}-linux-ia32-symbols.zip',
@ -86,6 +88,7 @@ function assetsForVersion (version) {
'electron.d.ts',
'ffmpeg-{{VERSION}}-darwin-x64.zip',
'ffmpeg-{{VERSION}}-linux-arm.zip',
'ffmpeg-{{VERSION}}-linux-arm64.zip',
'ffmpeg-{{VERSION}}-linux-armv7l.zip',
'ffmpeg-{{VERSION}}-linux-ia32.zip',
'ffmpeg-{{VERSION}}-linux-x64.zip',

View file

@ -124,7 +124,7 @@ def run_python_script(script, *args):
def get_electron_build_version():
if get_target_arch() == 'arm' or os.environ.has_key('CI'):
if get_target_arch().startswith('arm') or os.environ.has_key('CI'):
# In CI we just build as told.
return ELECTRON_VERSION
if PLATFORM == 'darwin':

View file

@ -140,7 +140,7 @@
}],
# Setup sysroot environment.
['OS=="linux" and target_arch in ["arm", "ia32", "x64"]', {
['OS=="linux" and target_arch in ["arm", "ia32", "x64", "arm64"]', {
'target_defaults': {
'target_conditions': [
['_toolset=="target"', {
@ -259,6 +259,23 @@
],
}],
],
}], # target_arch=="arm64" and _toolset=="target"
['target_arch=="arm64" and _toolset=="target"', {
'conditions': [
['clang==0', {
'cflags_cc': [
'-Wno-abi',
],
}],
['clang==1 and arm_arch!=""', {
'cflags': [
'-target aarch64-linux-gnu',
],
'ldflags': [
'-target aarch64-linux-gnu',
],
}],
],
}], # target_arch=="arm" and _toolset=="target"
],
},

2
vendor/breakpad vendored

@ -1 +1 @@
Subproject commit c566c50d81f7b1edeaee9f11f5d07bda858d6b64
Subproject commit 82f0452e6b687b3c1e14e08d172b2f3fb79ae91a

File diff suppressed because it is too large Load diff