Update Skia build instructions in build.md

Adds a brief discussion of supported compiler versions, and how to pull
changes and rebuild.

Bug: NONE
Change-Id: Ibd26e623c1435953969f9e69b00612fdff601881
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270296
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/site/user/build.md b/site/user/build.md
index 8131590..1aa5e2f 100644
--- a/site/user/build.md
+++ b/site/user/build.md
@@ -44,17 +44,25 @@
 use `extra_cflags` and `extra_ldflags` to add include or library paths if
 needed.
 
-<span id="performance">A note on software backend performance</span>
---------------------------------------------------------------------
+<span id="compilers">Supported and Preferred Compilers</span>
+-------------------------------------------------------------
 
-A number of routines in Skia's software backend have been written to run
-fastest when compiled by Clang.  If you depend on software rasterization, image
-decoding, or color space conversion and compile Skia with GCC, MSVC or another
-compiler, you will see dramatically worse performance than if you use Clang.
+While Skia should compile with GCC, MSVC, and other compilers, a number of
+routines in Skia's software backend have been written to run fastest when
+compiled with Clang.  If you depend on software rasterization, image decoding,
+or color space conversion and compile Skia with a compiler other than Clang, you
+will see dramatically worse performance.  This choice was only a matter of
+prioritization; there is nothing fundamentally wrong with non-Clang compilers.
+So if this is a serious issue for you, please let us know on the mailing list.
 
-This choice was only a matter of prioritization; there is nothing fundamentally
-wrong with non-Clang compilers.  So if this is a serious issue for you, please
-let us know on the mailing list.
+Skia makes use of C++17 language features (compiles with `-std=c++17` flag) and
+thus requires a C++17 compatible compiler.  Clang 5 and later implement all of
+the features of the c++17 standard.  Older compilers that lack C++17 support may
+produce non-obvious compilation errors.  You can configure your build to use
+specific executables for `cc` and `cxx` invocations using e.g.
+`--args='cc="clang-6.0" cxx="clang++6.0"'` GN build arguments, as illustrated in
+[Quickstart](#quick).  This can be useful for building Skia without needing to
+modify your machine's default compiler toolchain.
 
 <span id="quick">Quickstart</span>
 ----------------------------------
@@ -94,6 +102,12 @@
 
     tools/install_dependencies.sh
 
+To pull new changes and rebuild:
+
+    git pull
+    python tools/git-sync-deps
+    ninja -C out/Static
+
 <span id="android">Android</span>
 ---------------------------------