diff options
author | Colin Cross <ccross@android.com> | 2015-03-25 14:09:02 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2015-03-25 14:09:02 -0700 |
commit | f7531f1a21aaa56ef53cb1714e954e487528109f (patch) | |
tree | 600dc39036442c0952a4446f6ebf7ea932e3c14b /soong.bash | |
parent | 82df943c5ae6214206875dd38af77ac54e780cfb (diff) | |
download | build_soong-f7531f1a21aaa56ef53cb1714e954e487528109f.tar.gz build_soong-f7531f1a21aaa56ef53cb1714e954e487528109f.tar.bz2 build_soong-f7531f1a21aaa56ef53cb1714e954e487528109f.zip |
Replace soong script with a symlink
bootstrap.bash creates a soong script in the output directory using
build/soong/soong.in. This requires a manual rebootstrap any time
soong.in changes. Instead, have bootstrap.bash symlink
build/soong/soong.bash to soong in the output directory, and create
a file called .soong.bootstrap in the output directory that contains
the variables that bootstrap.bash sets.
Change-Id: I5e6e54c2e8bdde876941e2e082f9ba177c757cbf
Diffstat (limited to 'soong.bash')
-rwxr-xr-x | soong.bash | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/soong.bash b/soong.bash new file mode 100755 index 00000000..fc330d0b --- /dev/null +++ b/soong.bash @@ -0,0 +1,30 @@ +#!/bin/bash + +# Determine the build directory location based on the location of this script. +BPBUILD="${BASH_SOURCE[0]}" +BUILDDIR=`dirname "${BASH_SOURCE[0]}"` +BOOTSTRAP=${BUILDDIR}/.soong.bootstrap + +# The source directory path and operating system will get written to +# .soong.bootstrap by the bootstrap script. + +if [ ! -f ${BUILDDIR}/${BOOTSTRAP} ]; then + echo "Error: soong script must be located in a directory created by bootstrap.bash" + exit 1 +fi + +source ${BUILDDIR}/.soong.bootstrap + +if [[ ${SRCDIR_IN:0:1} == '/' ]]; then + # SRCDIR_IN is an absolute path + SRCDIR=${SRCDIR_IN} +else + # SRCDIR_IN is a relative path + SRCDIR=${BUILDDIR}/${SRCDIR_IN} +fi + +# Let Blueprint know that the Ninja we're using performs multiple passes that +# can regenerate the build manifest. +export BLUEPRINT_NINJA_HAS_MULTIPASS=1 + +${SRCDIR}/prebuilts/ninja/${PREBUILTOS}/ninja -C ${BUILDDIR} "$@" |