diff --git a/bootstrap.bash b/bootstrap.bash index ca0c06256..551ba72ee 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.bootstrap.in > .soong.bootstrap - ln -sf ${SRCDIR}/build/soong/soong.bash soong + "${SRCDIR}/build/soong/soong.bootstrap.in" > .soong.bootstrap + ln -sf "${SRCDIR}/build/soong/soong.bash" soong fi -${SRCDIR}/build/blueprint/bootstrap.bash "$@" +"${SRCDIR}/build/blueprint/bootstrap.bash" "$@" diff --git a/soong.bash b/soong.bash index b282a1e79..778f5e0a3 100755 --- a/soong.bash +++ b/soong.bash @@ -3,24 +3,24 @@ # 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 +BOOTSTRAP="${BUILDDIR}/.soong.bootstrap" # The source directory path and operating system will get written to # .soong.bootstrap by the bootstrap script. -if [ ! -f ${BOOTSTRAP} ]; then +if [ ! -f "${BOOTSTRAP}" ]; then echo "Error: soong script must be located in a directory created by bootstrap.bash" exit 1 fi -source ${BOOTSTRAP} +source "${BOOTSTRAP}" if [[ ${SRCDIR_IN:0:1} == '/' ]]; then # SRCDIR_IN is an absolute path - SRCDIR=${SRCDIR_IN} + SRCDIR="${SRCDIR_IN}" else # SRCDIR_IN is a relative path - SRCDIR=${BUILDDIR}/${SRCDIR_IN} + SRCDIR="${BUILDDIR}/${SRCDIR_IN}" fi # Let Blueprint know that the Ninja we're using performs multiple passes that @@ -30,18 +30,18 @@ export BLUEPRINT_NINJA_HAS_MULTIPASS=1 # 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 +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} + rm -f "${ENVFILE}" fi else echo "Missing soong_env tool, forcing build manifest regeneration" - rm -f ${ENVFILE} + rm -f "${ENVFILE}" fi fi -${SRCDIR}/prebuilts/ninja/${PREBUILTOS}/ninja -C ${BUILDDIR} "$@" +"${SRCDIR}/prebuilts/ninja/${PREBUILTOS}/ninja" -C "${BUILDDIR}" "$@" diff --git a/soong.bootstrap.in b/soong.bootstrap.in index 5d74567ab..79e4a655d 100644 --- a/soong.bootstrap.in +++ b/soong.bootstrap.in @@ -1,2 +1,2 @@ -SRCDIR_IN=@@SrcDir@@ -PREBUILTOS=@@PrebuiltOS@@ +SRCDIR_IN="@@SrcDir@@" +PREBUILTOS="@@PrebuiltOS@@"