From 50383d318cf5caa0b68396e1ac8f2dad465b85a0 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Wed, 26 Jul 2023 07:29:16 -0600 Subject: [PATCH] Toolchain: Add a script to build GN from source --- Toolchain/BuildGN.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Toolchain/BuildGN.sh diff --git a/Toolchain/BuildGN.sh b/Toolchain/BuildGN.sh new file mode 100644 index 00000000000..559017ef03c --- /dev/null +++ b/Toolchain/BuildGN.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# This script builds the GN meta-build system +set -e + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# shellcheck source=/dev/null +. "${DIR}/../Meta/shell_include.sh" + +exit_if_running_as_root "Do not run BuildGN.sh as root, parts of your Toolchain directory will become root-owned" + +NPROC=$(get_number_of_processing_units) +[ -z "$MAKEJOBS" ] && MAKEJOBS=${NPROC} + +GIT_REPO=https://gn.googlesource.com/gn +GIT_REV=fae280eabe5d31accc53100137459ece19a7a295 +BUILD_DIR="$DIR"/Build/gn +PREFIX_DIR="$DIR/Local/gn" + +mkdir -p "$DIR"/Tarballs +pushd "$DIR"/Tarballs + +[ ! -d gn ] && git clone $GIT_REPO + +cd gn +git fetch origin +git checkout $GIT_REV + +./build/gen.py --out-path="$BUILD_DIR" --allow-warnings +mkdir -p "$PREFIX_DIR/bin" +cp "$BUILD_DIR/gn" "$PREFIX_DIR/bin" + +popd