Scripts to upload and update the mac toolchain.

The following two scripts allow for the update and roll of the mac
toolchain (Xcode) via DEPS instead of thru an infrastructure install
script.  The upload / download nature of the script follows somewhat
what Windows does with visual studio files and what Mac already does
for clang rolls.

build/package_mac_toolchain.py takes an Xcode.app directory
and packages up what the parts the Mac build uses into a tar file
and uploads it to gs://chrome-mac-sdk/

build/mac_toolchain.py runs as part of hooks, downloads
and decompresses the mac toolchain, and points system files to this
new directory with the DEVELOPER_DIR environment variable.

Setting DEVELOPER_DIR throughout gyp-ninja requires this GYP CL:
   https://codereview.chromium.org/1806733002/

BUG=474373

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

Cr-Commit-Position: refs/heads/master@{#383461}
diff --git a/build/gyp_chromium.py b/build/gyp_chromium.py
index 15fa3f6c..3c975d6 100644
--- a/build/gyp_chromium.py
+++ b/build/gyp_chromium.py
@@ -10,6 +10,7 @@
 import gc
 import glob
 import gyp_environment
+import mac_toolchain
 import os
 import re
 import shlex
@@ -315,6 +316,10 @@
 
   args.extend(['-D', 'gyp_output_dir=' + GetOutputDirectory()])
 
+  mac_toolchain_dir = mac_toolchain.GetToolchainDirectory()
+  if mac_toolchain_dir:
+    args.append('-Gmac_toolchain_dir=' + mac_toolchain_dir)
+
   if not use_analyzer:
     print 'Updating projects from gyp files...'
     sys.stdout.flush()