diff --git a/bootstrap.bash b/bootstrap.bash index 0aa073cc4..ca0c06256 100755 --- a/bootstrap.bash +++ b/bootstrap.bash @@ -27,8 +27,8 @@ fi if [[ $# -eq 0 ]]; then sed -e "s|@@SrcDir@@|${SRCDIR}|" \ -e "s|@@PrebuiltOS@@|${PREBUILTOS}|" \ - ${SRCDIR}/build/soong/soong.in > soong - chmod 0770 soong + ${SRCDIR}/build/soong/soong.bootstrap.in > .soong.bootstrap + ln -sf ${SRCDIR}/build/soong/soong.bash soong fi ${SRCDIR}/build/blueprint/bootstrap.bash "$@" diff --git a/soong.in b/soong.bash old mode 100644 new mode 100755 similarity index 62% rename from soong.in rename to soong.bash index 51882db97..fc330d0b1 --- a/soong.in +++ b/soong.bash @@ -3,10 +3,18 @@ # 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 -# The source directory path and operating system will get substituted in by -# the bootstrap script. -SRCDIR_IN=@@SrcDir@@ if [[ ${SRCDIR_IN:0:1} == '/' ]]; then # SRCDIR_IN is an absolute path SRCDIR=${SRCDIR_IN} @@ -15,8 +23,6 @@ else SRCDIR=${BUILDDIR}/${SRCDIR_IN} fi -PREBUILTOS=@@PrebuiltOS@@ - # Let Blueprint know that the Ninja we're using performs multiple passes that # can regenerate the build manifest. export BLUEPRINT_NINJA_HAS_MULTIPASS=1 diff --git a/soong.bootstrap.in b/soong.bootstrap.in new file mode 100644 index 000000000..5d74567ab --- /dev/null +++ b/soong.bootstrap.in @@ -0,0 +1,2 @@ +SRCDIR_IN=@@SrcDir@@ +PREBUILTOS=@@PrebuiltOS@@