#!/bin/bash set -e set +x trap "cd $(pwd -P)" EXIT cd "$(dirname $0)" USAGE=$(cat<./out/Default/args.gn is_debug = false symbol_level = 0 EOF if [[ $1 == "--compile-mac-arm64" ]]; then echo 'target_cpu = "arm64"' >> ./out/Default/args.gn fi # Compile Chromium with correct Xcode version. gn gen out/Default autoninja -C out/Default chrome # Prepare resulting archive. cd "$SCRIPT_PATH" rm -rf output mkdir -p "output/${CHROMIUM_FOLDER_NAME}" # On Mac, use 'ditto' to copy directories instead of 'cp'. COPY_COMMAND="cp -R" if [[ $(uname) == "Darwin" ]]; then COPY_COMMAND="ditto" fi for file in ${CHROMIUM_FILES_TO_ARCHIVE[@]}; do $COPY_COMMAND "${CR_CHECKOUT_PATH}/src/out/Default/${file}" "output/${CHROMIUM_FOLDER_NAME}/${file}" done cd output zip --symlinks -r build.zip "${CHROMIUM_FOLDER_NAME}" } mirror_chromium() { cd "$SCRIPT_PATH" rm -rf output mkdir -p output cd output CHROMIUM_URL="" CHROMIUM_FOLDER_NAME="" CHROMIUM_FILES_TO_REMOVE=() PLATFORM="$1" if [[ "${PLATFORM}" == "--mirror" ]]; then CURRENT_HOST_OS="$(uname)" if [[ "${CURRENT_HOST_OS}" == "Darwin" ]]; then PLATFORM="--mirror-mac" elif [[ "${CURRENT_HOST_OS}" == "Linux" ]]; then PLATFORM="--mirror-linux" elif [[ "${CURRENT_HOST_OS}" == MINGW* ]]; then PLATFORM="--mirror-win64" else echo "ERROR: unsupported host platform - ${CURRENT_HOST_OS}" exit 1 fi fi if [[ "${PLATFORM}" == "--mirror-win32" ]]; then CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Win/${CRREV}/chrome-win.zip" CHROMIUM_FOLDER_NAME="chrome-win" CHROMIUM_FILES_TO_REMOVE+=("chrome-win/interactive_ui_tests.exe") elif [[ "${PLATFORM}" == "--mirror-win64" ]]; then CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/${CRREV}/chrome-win.zip" CHROMIUM_FOLDER_NAME="chrome-win" CHROMIUM_FILES_TO_REMOVE+=("chrome-win/interactive_ui_tests.exe") elif [[ "${PLATFORM}" == "--mirror-mac" ]]; then CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Mac/${CRREV}/chrome-mac.zip" CHROMIUM_FOLDER_NAME="chrome-mac" elif [[ "${PLATFORM}" == "--mirror-linux" ]]; then CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/${CRREV}/chrome-linux.zip" CHROMIUM_FOLDER_NAME="chrome-linux" else echo "ERROR: unknown platform to build: $1" exit 1 fi echo "--> Pulling Chromium ${CRREV} for ${PLATFORM#--}" curl --output chromium-upstream.zip "${CHROMIUM_URL}" unzip chromium-upstream.zip for file in ${CHROMIUM_FILES_TO_REMOVE[@]}; do rm -f "${file}" done zip --symlinks -r build.zip "${CHROMIUM_FOLDER_NAME}" } main $1