[GN]: BUILD file housecleaning

+ Turn on precompiled headers on Mac.
+ Change the toolchains to use asmflags instead of cflags and cflags_c.
+ Remove a TODO to hardcode the Mac SDK since the location of the SDK is not always guaranteed (on bots, for example).
+ GN: .S or .asm files no longer trigger cflags or cflags_c to be written to the ninja file.

BUG=none

Review URL: https://codereview.chromium.org/1368223002

Cr-Original-Commit-Position: refs/heads/master@{#351202}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7a73be6eb4963662a1e9455dcdab0d5130324901
diff --git a/tools/gn/ninja_binary_target_writer.cc b/tools/gn/ninja_binary_target_writer.cc
index b7dace7..ae46760 100644
--- a/tools/gn/ninja_binary_target_writer.cc
+++ b/tools/gn/ninja_binary_target_writer.cc
@@ -420,16 +420,12 @@
     WriteOneFlag(SUBSTITUTION_ASMFLAGS, false, Toolchain::TYPE_NONE,
                  &ConfigValues::asmflags, opts);
   }
-  // TODO(andybons): Remove SOURCE_S and SOURCE_ASM checks once asmflags is
-  // used.
   if (used_types.Get(SOURCE_C) || used_types.Get(SOURCE_CPP) ||
-      used_types.Get(SOURCE_M) || used_types.Get(SOURCE_MM) ||
-      used_types.Get(SOURCE_S) || used_types.Get(SOURCE_ASM)) {
+      used_types.Get(SOURCE_M) || used_types.Get(SOURCE_MM)) {
     WriteOneFlag(SUBSTITUTION_CFLAGS, false, Toolchain::TYPE_NONE,
                  &ConfigValues::cflags, opts);
   }
-  if (used_types.Get(SOURCE_C) || used_types.Get(SOURCE_S) ||
-      used_types.Get(SOURCE_ASM)) {
+  if (used_types.Get(SOURCE_C)) {
     WriteOneFlag(SUBSTITUTION_CFLAGS_C, has_precompiled_headers,
                  Toolchain::TYPE_CC, &ConfigValues::cflags_c, opts);
   }