BuildGN.sh 817 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env bash
  2. # This script builds the GN meta-build system
  3. set -e
  4. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  5. # shellcheck source=/dev/null
  6. . "${DIR}/../Meta/shell_include.sh"
  7. exit_if_running_as_root "Do not run BuildGN.sh as root, parts of your Toolchain directory will become root-owned"
  8. NPROC=$(get_number_of_processing_units)
  9. [ -z "$MAKEJOBS" ] && MAKEJOBS=${NPROC}
  10. GIT_REPO=https://gn.googlesource.com/gn
  11. GIT_REV=fae280eabe5d31accc53100137459ece19a7a295
  12. BUILD_DIR="$DIR"/Build/gn
  13. PREFIX_DIR="$DIR/Local/gn"
  14. mkdir -p "$DIR"/Tarballs
  15. pushd "$DIR"/Tarballs
  16. [ ! -d gn ] && git clone $GIT_REPO
  17. cd gn
  18. git fetch origin
  19. git checkout $GIT_REV
  20. ./build/gen.py --out-path="$BUILD_DIR" --allow-warnings
  21. ninja -C "$BUILD_DIR"
  22. mkdir -p "$PREFIX_DIR/bin"
  23. cp "$BUILD_DIR/gn" "$PREFIX_DIR/bin"
  24. popd