diff options
author | Kristina Chodorow <kchodorow@google.com> | 2015-03-31 14:49:30 +0000 |
---|---|---|
committer | Laurent Le Brun <laurentlb@google.com> | 2015-03-31 20:09:33 +0000 |
commit | 974b20891380c26bf147c037b19ceaf6f93f1e0b (patch) | |
tree | ebde4cb7d8f87bfd56641ea88107a393dd350868 /site/docs/windows.md | |
parent | 317bf22ee2d7ceaf306e022b0fb56061c89d702e (diff) |
Improve site structure
It's a bit weird having everything under docs/, so this puts the blog and
"about" pages under / and all of the documentation under docs.
--
MOS_MIGRATED_REVID=89965504
Diffstat (limited to 'site/docs/windows.md')
-rw-r--r-- | site/docs/windows.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/site/docs/windows.md b/site/docs/windows.md new file mode 100644 index 0000000000..8e2d74072d --- /dev/null +++ b/site/docs/windows.md @@ -0,0 +1,66 @@ +--- +layout: default +--- + +Building Bazel on Windows +========================= + +Warning: Windows support on Bazel is still at a very early stage, many things +will not work. + +Since Bazel is written in Java, you will need a recent +[JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html). + +The Windows build process uses MSYS2, a POSIX-like environment on Windows. Grab +the [installer](http://sourceforge.net/projects/msys2/files/Base/x86_64/) +or an archived version and install. + +Next, open an MSYS2 shell (not the mingw32 or the mingw64 shell) either through +a shortcut or by running the `msys2_shell.bat`. Install the dependencies: + + pacman -S libarchive-devel gcc mingw-w64-x86_64-gcc zip unzip git + +The msys2 gcc will be used for building Bazel itself, the mingw-w64 gcc will +be used by Bazel for building C++. + +Grab the Bazel source code: + + git clone https://github.com/google/bazel.git + +Then, to build: + + cd bazel && ./compile.sh + +If all goes well, you should find the binary in `output/bazel`. + + +Running Bazel on Windows +======================== + +Running Bazel on Windows requires a few additional steps due to the differences +between the native POSIX environment and the Windows environment. + +First, since Blaze uses symlinks, the current Windows user needs to have the +permission to create symlinks. This permission is off by default for +non-administrator users. The easiest workaround is to run the msys2 shell +as administrator (right click shortcut -> Run As Administrator). + +Second, you need to set some environment variables: + + export MSYS=winsymlinks:nativestrict # Enable symlink support in msys2. + export BAZEL_SH="C:/msys64/usr/bin/bash" + export JAVA_HOME="$(ls -d C:/Program\ Files/Java/jdk* | sort | tail -n 1)" + +Third, you need to set some Bazel options. It's easiest to put them into your +`.bazelrc`: + + cat > ~/.bazelrc << EOF + startup --batch # Server mode is not yet supported on Windows + build --compiler=windows_msys64_mingw64 + build --nobuild_runfile_links # Not ported to Windows yet. + EOF + +This should be enough to run Bazel: + + cd base_workspace && + ../output/bazel build //cpp:hello-world |