| Index: build/gyp_chromium
 | 
| diff --git a/build/gyp_chromium b/build/gyp_chromium
 | 
| index 34860c70ad0a9501243dcf9e68f30066104fe45d..4bc114628b229e8c5544223226a2de358588d93d 100755
 | 
| --- a/build/gyp_chromium
 | 
| +++ b/build/gyp_chromium
 | 
| @@ -13,6 +13,7 @@ import os
 | 
|  import pipes
 | 
|  import shlex
 | 
|  import subprocess
 | 
| +import string
 | 
|  import sys
 | 
|  
 | 
|  script_dir = os.path.dirname(os.path.realpath(__file__))
 | 
| @@ -62,6 +63,15 @@ def GetSupplementalFiles():
 | 
|    return glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi'))
 | 
|  
 | 
|  
 | 
| +def FormatKeyForGN(key):
 | 
| +  """Returns the given GYP key reformatted for GN.
 | 
| +
 | 
| +  GYP dictionary keys can be almost anything, but in GN they are identifiers
 | 
| +  and must follow the same rules. This reformats such keys to be valid GN
 | 
| +  identifiers."""
 | 
| +  return ''.join([c if c in string.ascii_letters else '_' for c in key])
 | 
| +
 | 
| +
 | 
|  def GetVarsStringForGN(supplemental_files):
 | 
|    vars_dict = {}
 | 
|  
 | 
| @@ -81,7 +91,7 @@ def GetVarsStringForGN(supplemental_files):
 | 
|    for item in items:
 | 
|      tokens = item.split('=', 1)
 | 
|      # Some GYP variables have hyphens, which we don't support.
 | 
| -    key = tokens[0].replace("-", "_")
 | 
| +    key = FormatKeyForGN(tokens[0])
 | 
|      if len(tokens) == 2:
 | 
|        # Escape $ characters which have special meaning to GN.
 | 
|        vars_dict[key] = '"' + tokens[1].replace("$", "\\$") + '"'
 | 
| @@ -206,10 +216,8 @@ if __name__ == '__main__':
 | 
|  
 | 
|    supplemental_includes = GetSupplementalFiles()
 | 
|  
 | 
| -  # Temporarily disabled until it is debugged.
 | 
| -  # TODO(brettw) re-enable this code.
 | 
| -  #if not RunGN(supplemental_includes):
 | 
| -  #  sys.exit(1)
 | 
| +  if not RunGN(supplemental_includes):
 | 
| +    sys.exit(1)
 | 
|  
 | 
|    args.extend(
 | 
|        ['-I' + i for i in additional_include_files(supplemental_includes, args)])
 | 
| 
 |