diff options
author | Yun Peng <pcloudy@google.com> | 2016-08-04 08:10:56 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-08-04 09:22:48 +0000 |
commit | 43e22c4e466c39234979e90e7897bdc63607fc06 (patch) | |
tree | eb3a8b1f2a15c67d95df10c4d40ab1e54d21fd1e /site/docs/windows.md | |
parent | b8f751b305f7e373335a087d2cca4f9831dafa25 (diff) |
Update windows.md again
--
MOS_MIGRATED_REVID=129305218
Diffstat (limited to 'site/docs/windows.md')
-rw-r--r-- | site/docs/windows.md | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/site/docs/windows.md b/site/docs/windows.md index ca7f0241d9..24dfb42c58 100644 --- a/site/docs/windows.md +++ b/site/docs/windows.md @@ -10,13 +10,12 @@ Windows support is highly experimental. Known issues are [marked with label "Windows"](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+is%3Aopen+label%3AWindows) on github issues. -We currently support only 64 bit Windows 7 or higher and we can only compile -msys2 binaries. +We currently support only 64 bit Windows 7 or higher and we compile Bazel as a msys2 binary. To bootstrap Bazel on Windows, you will need: * Java JDK 8 or later -* Visual Studio (Community Edition is okay, only `CL.EXE` is needed) +* [Visual Studio](https://www.visualstudio.com/) (Community Edition is okay) * [msys2](https://msys2.github.io/) (need to be installed at ``C:\tools\msys64\``). * Several msys2 packages. Use the ``pacman`` command to install them: @@ -35,3 +34,50 @@ export BAZEL_SH=c:/tools/msys64/usr/bin/bash.exe * Run ``compile.sh`` in Bazel directory. * If all works fine, bazel will be built at ``output\bazel.exe``. + +Using Bazel on Windows +====================== + +Bazel currently supports building C++ targets and Java targets on Windows. + +### Build C++ + +To build C++ targets, you will need: + +* [Visual Studio](https://www.visualstudio.com/) +<br/>We are using MSVC as the native C++ toolchain, so please ensure you have Visual +Studio installed with the Visual C++ components +(which is NOT the default installation type of Visual Studio). + +* [Python 2.7](https://www.python.org/downloads/) +<br/>Currently, we use python wrapper scripts to call the actual MSVC compiler, so +please make sure Python is installed and its location is added into PATH. +It's also a good idea to set BAZEL\_PYTHON environment variable to tell Bazel +where python is. +<br/>For example: `export BAZEL_PYTHON=C:/Python27/python.exe` + +Bazel will auto-configure the location of Visual Studio and Python at the first +time you build any target. +If you need to auto-configure again, just run `bazel clean` then build a target. + +If everything is set up, you can build C++ target now! However, since MSVC +toolchain is not default on Windows yet, you should use flag +`--cpu=x64_windows_msvc` to enable it like this: + +```bash +$ bazel build --cpu=x64_windows_msvc examples/cpp:hello-world +$ ./bazel-bin/examples/cpp/hello-world.exe +$ bazel run --cpu=x64_windows_msvc examples/cpp:hello-world +``` + +### Build Java + +Building Java targets works well on Windows, no special configuration is needed. +Just try: + +```bash +$ bazel build examples/java-native/src/main/java/com/example/myproject:hello-world +$ ./bazel-bin/examples/java-native/src/main/java/com/example/myproject/hello-world +$ bazel run examples/java-native/src/main/java/com/example/myproject:hello-world +``` + |