devops: support Chromium Linux for Arm64 compilation (#9863)

This commit is contained in:
Andrey Lushnikov 2021-10-28 13:42:41 -07:00 committed by GitHub
parent f19608d1de
commit a8d276e223
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 3 deletions

View file

@ -103,6 +103,13 @@ elif [[ "$BUILD_FLAVOR" == "chromium-linux" ]]; then
EXPECTED_HOST_OS="Ubuntu"
EXPECTED_HOST_OS_VERSION="18.04"
BUILD_BLOB_NAME="chromium-linux.zip"
elif [[ "$BUILD_FLAVOR" == "chromium-linux-arm64" ]]; then
BROWSER_NAME="chromium"
EXTRA_BUILD_ARGS="--compile-linux-arm64"
EXTRA_ARCHIVE_ARGS="--compile-linux-arm64"
EXPECTED_HOST_OS="Ubuntu"
EXPECTED_HOST_OS_VERSION="18.04"
BUILD_BLOB_NAME="chromium-linux-arm64.zip"
# ===========================
# CHROMIUM-WITH-SYMBOLS COMPILATION
@ -142,6 +149,15 @@ elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-linux" ]]; then
EXPECTED_HOST_OS_VERSION="18.04"
BUILD_BLOB_NAME="chromium-with-symbols-linux.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-linux-arm64" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols-arm64"
EXTRA_BUILD_ARGS="--compile-linux-arm64 --symbols"
EXTRA_ARCHIVE_ARGS="--compile-linux-arm64"
EXPECTED_HOST_OS="Ubuntu"
EXPECTED_HOST_OS_VERSION="18.04"
BUILD_BLOB_NAME="chromium-with-symbols-linux-arm64.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
# ===========================

View file

@ -1,4 +1,5 @@
chromium-mac.zip
chromium-mac-arm64.zip
chromium-linux.zip
chromium-linux-arm64.zip
chromium-win64.zip

View file

@ -1,4 +1,5 @@
chromium-with-symbols-mac.zip
chromium-with-symbols-mac-arm64.zip
chromium-with-symbols-linux.zip
chromium-with-symbols-linux-arm64.zip
chromium-with-symbols-win64.zip

View file

@ -63,7 +63,7 @@ function archive_compiled_chromium() {
if [[ $1 == "--compile-mac"* ]]; then
CHROMIUM_FOLDER_NAME="chrome-mac"
CHROMIUM_FILES_TO_ARCHIVE=("Chromium.app")
elif [[ $1 == "--compile-linux" ]]; then
elif [[ $1 == "--compile-linux"* ]]; then
CHROMIUM_FOLDER_NAME="chrome-linux"
# Run python script and convert output to array.
IFS=$'\n' CHROMIUM_FILES_TO_ARCHIVE=($(python "${SCRIPT_PATH}/compute_files_to_archive.py" 64bit "${CR_CHECKOUT_PATH}/src/chrome/tools/build/linux/FILES.cfg"))

View file

@ -6,7 +6,7 @@ trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
USAGE=$(cat<<EOF
usage: $(basename "$0") [--mirror|--mirror-linux|--mirror-win64|--mirror-mac|--compile-mac-arm64|--compile-linux|--compile-win64|--compile-mac]
usage: $(basename "$0") [--mirror|--mirror-linux|--mirror-win64|--mirror-mac|--compile-mac-arm64|--compile-linux|--compile-linux-arm64|--compile-win64|--compile-mac]
Either compiles chromium or mirrors it from Chromium Continuous Builds CDN.
EOF
@ -67,6 +67,8 @@ compile_chromium() {
if [[ $1 == "--compile-mac-arm64" ]]; then
echo 'target_cpu = "arm64"' >> ./out/Default/args.gn
elif [[ $1 == "--compile-linux-arm64" ]]; then
echo 'target_cpu = "arm"' >> ./out/Default/args.gn
fi
if [[ ! -z "$USE_GOMA" ]]; then
@ -90,11 +92,15 @@ compile_chromium() {
fi
else
gn gen out/Default
if [[ $1 == "--compile-linux" ]]; then
if [[ $1 == "--compile-linux"* ]]; then
TARGETS="chrome chrome_sandbox clear_key_cdm"
else
TARGETS="chrome"
fi
if [[ $1 == "--compile-linux-arm64" ]]; then
# Install sysroot image, see https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/linux/chromium_arm.md
./build/linux/sysroot_scripts/install-sysroot.py --arch=arm
fi
if [[ -z "$USE_GOMA" ]]; then
autoninja -C out/Default $TARGETS
else