From f5525e8ddb341ddf96feaefb8cba0e95d28f226b Mon Sep 17 00:00:00 2001 From: Laszlo Csomor Date: Mon, 30 Jan 2017 18:11:58 +0000 Subject: Bazel bootstrapping: make it work on Windows again In this change: (1) add a sanity check to verify that GNU bintools are on the PATH (2) correct the PATH on Windows if (1) failed (3) use "/My Documents/Temp" as the default temp directory instead of "%windir%/Temp", because the latter is non-writable Motivated by: https://github.com/bazelbuild/bazel/issues/2431 https://github.com/bazelbuild/bazel/issues/2449 -- PiperOrigin-RevId: 146006796 MOS_MIGRATED_REVID=146006796 --- scripts/bootstrap/buildenv.sh | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'scripts') diff --git a/scripts/bootstrap/buildenv.sh b/scripts/bootstrap/buildenv.sh index 502f2c1690..60a375d05a 100755 --- a/scripts/bootstrap/buildenv.sh +++ b/scripts/bootstrap/buildenv.sh @@ -84,20 +84,15 @@ msys*|mingw*) JAVA_HOME="${JAVA_HOME:-$(ls -d /c/Program\ Files/Java/jdk* | sort | tail -n 1)}" esac -# Extension for executables. EXE_EXT="" -case "${PLATFORM}" in -msys*|mingw*) +if [ "${PLATFORM}" == "mingw" ]; then + # Extension for executables. EXE_EXT=".exe" -esac -# Fix TMPDIR on msys -case "${PLATFORM}" in -msys*|mingw*) - default_tmp=${TMP:-$(cygpath -W)/Temp} + # Fix TMPDIR on msys + default_tmp=${TMP:-$(cygpath -mO)/Temp} TMPDIR=$(cygpath -ml "${TMPDIR:-$default_tmp}") -esac - +fi # Whether we display build messages or not. We set this conditionally because # the file including us or the user may already have defined VERBOSE to their @@ -118,6 +113,11 @@ function atexit() { ATEXIT_HANDLERS="${ATEXIT_HANDLERS} ${handler}" } +function restore_saved_path() { + export PATH=$BAZEL_OLD_PATH + export BAZEL_OLD_PATH= +} + # Exit routine to run all registered atexit handlers. # # If the program exited with an error, this exit routine will also exit with the @@ -146,6 +146,7 @@ function run_atexit_handlers() { function tempdir() { local tmp=${TMPDIR:-/tmp} + mkdir -p ${tmp} local DIR="$(mktemp -d ${tmp%%/}/bazel_XXXXXXXX)" mkdir -p "${DIR}" local DIRBASE=$(basename "${DIR}") @@ -164,6 +165,7 @@ function cleanup_phasefile() { } atexit cleanup_phasefile +atexit restore_saved_path # Excutes a command respecting the current verbosity settings. # -- cgit v1.2.3