Index: docs/windows_build_instructions.md |
diff --git a/docs/windows_build_instructions.md b/docs/windows_build_instructions.md |
index 826a4c42ef554c21e6e56b9c9b7a190558705e8c..0c3d6de2ef99bd76e41a0c1edb13d0f054ef8724 100644 |
--- a/docs/windows_build_instructions.md |
+++ b/docs/windows_build_instructions.md |
@@ -1,5 +1,12 @@ |
# Windows Build Instructions |
+## Common checkout instructions |
+ |
+This page covers Windows-specific setup and configuration. The |
+[general checkout |
+instructions](http://dev.chromium.org/developers/how-tos/get-the-code) cover |
+installing depot tools and checking out the code via git. |
+ |
## Setting up Windows |
You must set your Windows system locale to English, or else you may get |
@@ -13,11 +20,7 @@ supported. |
You must have Windows 7 x64 or later. x86 OSs are unsupported. |
-## Step 1: Getting depot_tools |
- |
-Get [depot\_tools](http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up). |
- |
-## Step 2: Getting the compiler toolchain |
+## Getting the compiler toolchain |
Follow the appropriate path below: |
@@ -48,8 +51,7 @@ authentication instructions. **Note that you must authenticate with your |
@google.com credentials**, not @chromium.org. Enter "0" if asked for a |
project-id. |
-Once you've done this, the toolchain will be installed automatically for |
-you in Step 3, below (near the end of the step). |
+Run: `gclient sync` again to download and install the toolchain automatically. |
The toolchain will be in `depot_tools\win_toolchain\vs_files\<hash>`, and windbg |
can be found in `depot_tools\win_toolchain\vs_files\<hash>\win_sdk\Debuggers`. |
@@ -57,31 +59,35 @@ can be found in `depot_tools\win_toolchain\vs_files\<hash>\win_sdk\Debuggers`. |
If you want the IDE for debugging and editing, you will need to install |
it separately, but this is optional and not needed to build Chromium. |
-## Step 3: Getting the Code |
+## Using the Visual Studio IDE |
-Follow the steps to [check out the |
-code](https://www.chromium.org/developers/how-tos/get-the-code) (largely |
-`fetch chromium`). |
+If you want to use the Visual Studio IDE, use the `--ide` command line |
+argument to `gn gen` when you generate your output directory (as described on |
+the [get the code](http://dev.chromium.org/developers/how-tos/get-the-code) |
+page): |
-## Step 4: Building |
+```gn gen --ide=vs out\Default |
+devenv out\Default\all.sln |
+``` |
-Build the target you are interested in. |
+GN will produce a file `all.sln` in your build directory. It will internally |
+use Ninja to compile while still allowing most IDE functions to work (there is |
+no native Visual Studio compilation mode). If you manually run "gen" again you |
+will need to resupply this argument, but normally GN will keep the build and |
+IDE files up-to-date automatically when you build. |
-```shell |
-ninja -C out\Debug chrome |
-``` |
+The generated solution will contain several thousand projects and will be very |
+slow to load. Use the `--filters` argument to restrict generating project files |
+for only the code you're interested in, although this will also limit what |
+files appear in the project explorer. A minimal solution that will let you |
+compile and run Chrome in the IDE but will not show any source files is: |
+ |
+```gn gen --ide=vs --filters=//chrome out\Default``` |
-Alternative (Graphical user interface): Open a generated .sln |
-file such as chrome.sln, right-click the chrome project and select build. |
-This will invoke the real step 4 above. Do not build the whole solution |
-since that conflicts with ninja's build management and everything will |
-explode. |
-Substitute the build directory given to `-C` with `out\Debug_x64` for |
-[64-bit |
-builds](https://www.chromium.org/developers/design-documents/64-bit-support) |
-in GYP, or whatever build directory you have configured if using GN. |
+There are other options for controlling how the solution is generated, run `gn |
+help gen` for the current documentation. |
-### Performance tips |
+## Performance tips |
1. Have a lot of fast CPU cores and enough RAM to keep them all busy. |
(Minimum recommended is 4-8 fast cores and 16-32 GB of RAM) |
@@ -89,11 +95,9 @@ in GYP, or whatever build directory you have configured if using GN. |
antivirus and indexing software. |
3. Store the build tree on a fast disk (preferably SSD). |
4. If you are primarily going to be doing debug development builds, you |
- should use the component build: |
- - for [GYP](https://www.chromium.org/developers/gyp-environment-variables) |
- set `GYP_DEFINES=component=shared_library` |
- - for [GN](https://www.chromium.org/developers/gn-build-configuration), |
- set the build arg `is_component_build = true`. |
+ should use the component build. Set the [build |
+ arg](https://www.chromium.org/developers/gn-build-configuration) |
+ `is_component_build = true`. |
This will generate many DLLs and enable incremental linking, which makes |
linking **much** faster in Debug. |