diff options
author | Dan Willemsen <dwillemsen@google.com> | 2017-08-04 16:04:04 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2017-08-18 10:13:22 -0700 |
commit | 99a75cd2a5102e72b07a7614e84f8624d3c2ddd1 (patch) | |
tree | 37cf7ebfe1dcbc192d496a72833dd4fc27a9e0d4 /soong.bash | |
parent | fd697f425657d6f443def3f0b1862888b0095bac (diff) | |
download | build_soong-99a75cd2a5102e72b07a7614e84f8624d3c2ddd1.tar.gz build_soong-99a75cd2a5102e72b07a7614e84f8624d3c2ddd1.tar.bz2 build_soong-99a75cd2a5102e72b07a7614e84f8624d3c2ddd1.zip |
Obsolete bootstrap.bash and ./soong wrappers
We can call directly into the blueprint bootstrap.bash using values that
soong_ui has already calculated.
Instead of calling into blueprint.bash, build minibp with microfactory,
and directly run ninja. This allows us to get individual tracing data
from each component.
Test: m -j blueprint_tools
Test: m clean; m -j blueprint_tools
Change-Id: I2239943c9a8a3ad6e1a40fa0dc914421f4b5202c
Diffstat (limited to 'soong.bash')
-rwxr-xr-x | soong.bash | 52 |
1 files changed, 6 insertions, 46 deletions
@@ -1,48 +1,8 @@ #!/bin/bash -set -e - -# Switch to the build directory -cd $(dirname "${BASH_SOURCE[0]}") - -if [ -z "$NO_DEPRECATION_WARNING" ]; then - echo '== WARNING: bootstrap.bash & ./soong are deprecated ==' >&2 - echo 'Use `m --skip-make` with a standalone OUT_DIR instead.' >&2 - echo 'Without envsetup.sh, use:' >&2 - echo ' build/soong/soong_ui.bash --make-mode --skip-make' >&2 - echo '======================================================' >&2 -fi - -# The source directory path and operating system will get written to -# .soong.bootstrap by the bootstrap script. - -BOOTSTRAP=".soong.bootstrap" -if [ ! -f "${BOOTSTRAP}" ]; then - echo "Error: soong script must be located in a directory created by bootstrap.bash" - exit 1 -fi - -source "${BOOTSTRAP}" - -# Now switch to the source directory so that all the relative paths from -# $BOOTSTRAP are correct -cd ${SRCDIR_FROM_BUILDDIR} - -# Ninja can't depend on environment variables, so do a manual comparison -# of the relevant environment variables from the last build using the -# soong_env tool and trigger a build manifest regeneration if necessary -ENVFILE="${BUILDDIR}/.soong.environment" -ENVTOOL="${BUILDDIR}/.bootstrap/bin/soong_env" -if [ -f "${ENVFILE}" ]; then - if [ -x "${ENVTOOL}" ]; then - if ! "${ENVTOOL}" "${ENVFILE}"; then - echo "forcing build manifest regeneration" - rm -f "${ENVFILE}" - fi - else - echo "Missing soong_env tool, forcing build manifest regeneration" - rm -f "${ENVFILE}" - fi -fi - -BUILDDIR="${BUILDDIR}" NINJA="prebuilts/build-tools/${PREBUILTOS}/bin/ninja" build/blueprint/blueprint.bash "$@" +echo '==== ERROR: bootstrap.bash & ./soong are obsolete ====' >&2 +echo 'Use `m --skip-make` with a standalone OUT_DIR instead.' >&2 +echo 'Without envsetup.sh, use:' >&2 +echo ' build/soong/soong_ui.bash --make-mode --skip-make' >&2 +echo '======================================================' >&2 +exit 1 |