gecko-dev/taskcluster/scripts/misc/build-gn-common.sh

49 строки
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e -v
# This is shared code for building GN.
# Each is a recent commit from chromium's master branch.
: CHROMIUM_REV ${CHROMIUM_REV:=e6ba81e00ae835946e069e5bd80bd533b11d8442}
: GTEST_REV ${GTEST_REV:=6c5116014ce51ef3273d800cbf75fcef99e798c6}
: CHROMIUM_SRC_REV ${CHROMIUM_SRC_REV:=c338d43f49c0d72e69cd6e40eeaf4c0597dbdda1}
git clone --no-checkout https://chromium.googlesource.com/chromium/src $WORKSPACE/gn-standalone
cd $WORKSPACE/gn-standalone
git checkout $CHROMIUM_SRC_REV
git clone --no-checkout https://chromium.googlesource.com/chromium/chromium chromium_checkout
cd chromium_checkout
git checkout $CHROMIUM_REV
mkdir -p ../third_party
mv third_party/libevent ../third_party
cd ..
rm -rf testing
mkdir testing
cd testing
git clone https://chromium.googlesource.com/chromium/testing/gtest
cd gtest
git checkout $GTEST_REV
cd ../..
cd tools/gn
patch -p1 < $WORKSPACE/build/src/taskcluster/scripts/misc/gn.patch
./bootstrap/bootstrap.py -s
cd ../..
STAGE=gn
mkdir -p $UPLOAD_DIR $STAGE
# At this point, the resulting binary is at:
# $WORKSPACE/out/Release/gn
if test "$MAC_CROSS" = "" -a "$(uname)" = "Linux"; then
strip out/Release/gn
fi
cp out/Release/gn $STAGE
tar -acf gn.tar.$COMPRESS_EXT $STAGE
cp gn.tar.$COMPRESS_EXT $UPLOAD_DIR