Add support of cross-building the engine for ARM64 Linux Host (#20254)

Added cross-building Flutter Engine for ARM64 Linux platforms. This PR is part of ARM64 Linux support in the Flutter SDK.
This commit is contained in:
Hidenori Matsubayashi 2020-09-17 13:42:57 -07:00 committed by GitHub
parent f16657faeb
commit 101d85a53c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 5 deletions

View File

@ -15,4 +15,5 @@ Simon Lightfoot <simon@devangels.london>
Dwayne Slater <ds84182@gmail.com>
Tetsuhiro Ueda <najeira@gmail.com>
shoryukenn <naifu.guan@gmail.com>
SOTEC GmbH & Co. KG <sotec-contributors@sotec.eu>
SOTEC GmbH & Co. KG <sotec-contributors@sotec.eu>
Hidenori Matsubayashi <Hidenori.Matsubayashi@sony.com>

View File

@ -45,6 +45,11 @@ group("flutter") {
"//flutter/sky",
]
# Flutter SDK artifacts should only be built when either doing host builds, or
# for cross-compiled desktop targets.
build_engine_artifacts =
current_toolchain == host_toolchain || (is_linux && !is_chromeos)
# If enbaled, compile the SDK / snapshot.
if (!is_fuchsia) {
public_deps += [
@ -52,7 +57,7 @@ group("flutter") {
"//flutter/lib/snapshot:kernel_platform_files",
]
if (current_toolchain == host_toolchain) {
if (build_engine_artifacts) {
public_deps += [
"//flutter/flutter_frontend_server:frontend_server",
"//third_party/dart:create_sdk",
@ -64,8 +69,7 @@ group("flutter") {
}
}
# If on the host, compile tools.
if (current_toolchain == host_toolchain) {
if (build_engine_artifacts) {
public_deps += [
"//flutter/shell/testing",
"//flutter/tools/const_finder",

11
DEPS
View File

@ -616,7 +616,7 @@ hooks = [
],
},
{
'name': 'linux_sysroot',
'name': 'linux_sysroot_x64',
'pattern': '.',
'condition': 'download_linux_deps',
'action': [
@ -624,6 +624,15 @@ hooks = [
'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x64'],
},
{
'name': 'linux_sysroot_arm64',
'pattern': '.',
'condition': 'download_linux_deps',
'action': [
'python',
'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=arm64'],
},
{
'name': 'dart package config',
'pattern': '.',