From 9d40a60efec40add9443edbd75b77cdccbbc43dc Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Mon, 15 Feb 2016 16:15:03 +0000 Subject: On Windows, build ``bazel.exe`` instead of just ``bazel``. Needed for #276. -- MOS_MIGRATED_REVID=114693711 --- compile.sh | 8 ++++---- scripts/bootstrap/buildenv.sh | 7 +++++++ scripts/bootstrap/compile.sh | 5 ----- src/BUILD | 20 ++++++++++++++++++++ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/compile.sh b/compile.sh index 3a0869ada5..341a163416 100755 --- a/compile.sh +++ b/compile.sh @@ -91,10 +91,10 @@ if [ $DO_COMPILE ]; then new_step 'Building Bazel with Bazel' display "." log "Building output/bazel" - bazel_build src:bazel - cp -f bazel-bin/src/bazel output/bazel - chmod 0755 output/bazel - BAZEL=$(pwd)/output/bazel + bazel_build "src:bazel${EXE_EXT}" + cp -f "bazel-bin/src/bazel${EXE_EXT}" "output/bazel${EXE_EXT}" + chmod 0755 "output/bazel${EXE_EXT}" + BAZEL="$(pwd)/output/bazel${EXE_EXT}" fi # diff --git a/scripts/bootstrap/buildenv.sh b/scripts/bootstrap/buildenv.sh index c2b30facf1..63d0897ba7 100755 --- a/scripts/bootstrap/buildenv.sh +++ b/scripts/bootstrap/buildenv.sh @@ -36,6 +36,13 @@ if [ "${MACHINE_TYPE}" = 'arm' -o "${MACHINE_TYPE}" = 'armv7l' -o "${MACHINE_TYP MACHINE_IS_ARM='yes' fi +# Extension for executables. +EXE_EXT="" +case "${PLATFORM}" in +msys*|mingw*) + EXE_EXT=".exe" +esac + ATEXIT_="" function atexit() { ATEXIT_="$1; ${ATEXIT_}" diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh index f9e6d31093..9195e7a48c 100755 --- a/scripts/bootstrap/compile.sh +++ b/scripts/bootstrap/compile.sh @@ -31,9 +31,6 @@ unset _JAVA_OPTIONS LDFLAGS=${LDFLAGS:-""} -# Extension for executables (.exe on Windows). -EXE_EXT="" - MSYS_DLLS="" PATHSEP=":" @@ -76,8 +73,6 @@ darwin) msys*|mingw*) # Use a simplified platform string. PLATFORM="mingw" - # Workaround for msys issue which causes omission of std::to_string. - EXE_EXT=".exe" PATHSEP=";" # Find the latest available version of the SDK. JAVA_HOME="${JAVA_HOME:-$(ls -d /c/Program\ Files/Java/jdk* | sort | tail -n 1)}" diff --git a/src/BUILD b/src/BUILD index 9741c3dc46..af54201a05 100644 --- a/src/BUILD +++ b/src/BUILD @@ -161,6 +161,26 @@ genrule( "_notools", ]] +# Build an executable named `bazel.exe`. +# Works on all platforms but only makes sense on Windows. +# Workaround for non-configurability of genrule's `outs` attribute. +[genrule( + name = "bazel-bin" + suffix + ".exe", + srcs = [":bazel-bin" + suffix], + outs = ["bazel" + suffix + ".exe"], + cmd = "cp $(location :bazel-bin" + suffix + ") $@", + executable = 1, + output_to_bindir = 1, + visibility = [ + "//scripts:__pkg__", # For bash completion generation + "//scripts/packages:__pkg__", # For installer generation + "//src/test:__subpackages__", # For integration tests + ], +) for suffix in [ + "", + "_notools", +]] + config_setting( name = "darwin", values = {"cpu": "darwin"}, -- cgit v1.2.3