Merge to XFA: Add support for building with goma.

TBR=thestig@chromium.org

clean merge.

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

(cherry picked from commit e35b445bee90390ea09f334cbff4a6220537bbda)

Review URL: https://codereview.chromium.org/1418453007 .
diff --git a/README.md b/README.md
index 67d8448..39f53e2 100644
--- a/README.md
+++ b/README.md
@@ -41,6 +41,16 @@
 GYP\_GENERATORS environment variable appropriately (e.g. "make", "msvs", or
 "xcode") before running the above command.
 
+### Using goma (Googlers only)
+
+If you would like to build using goma, pass `use_goma=1` to `gyp_pdfium`. If
+you installed goma in a non-standard location, you will also need to set
+`gomadir`. e.g.
+
+```
+build/gyp_pdfium -D use_goma=1 -D gomadir=path/to/goma
+```
+
 ## Building the code
 
 If you used Ninja, you can build the sample program by: `ninja -C out/Debug
diff --git a/build/standalone.gypi b/build/standalone.gypi
index a70b442..3d25669 100644
--- a/build/standalone.gypi
+++ b/build/standalone.gypi
@@ -10,6 +10,8 @@
     'clang%': 0,
     'asan%': 0,
     'sanitizer_coverage%': 0,
+    'use_goma%': 0,
+    'gomadir%': '',
     'msvs_multi_core_compile%': '1',
     'variables': {
       'variables': {
@@ -58,6 +60,12 @@
       }, {
         'clang%': 0,
       }],
+      # Set default gomadir.
+      ['OS=="win"', {
+        'gomadir%': 'c:\\goma\\goma-win',
+      }, {
+        'gomadir%': '<!(/bin/echo -n ${HOME}/goma)',
+      }],
     ],
   },
   'target_defaults': {
@@ -283,6 +291,17 @@
               '_HAS_EXCEPTIONS=0',
             ],
           }],
+          ['use_goma==1', {
+            # goma doesn't support PDB yet.
+            'msvs_settings': {
+              'VCLinkerTool': {
+                'GenerateDebugInformation': 'true',
+              },
+              'VCCLCompilerTool': {
+                'DebugInformationFormat': '1',
+              },
+            },
+          }],
         ],
       }],  # OS=="win"
       ['OS=="mac"', {
@@ -314,5 +333,11 @@
         }],
       ],
     }],  # OS=="linux" or OS=="mac"
+    ["use_goma==1", {
+      'make_global_settings': [
+        ['CC_wrapper', '<(gomadir)/gomacc'],
+        ['CXX_wrapper', '<(gomadir)/gomacc'],
+      ],
+    }],  # use_goma==1
   ],
 }