Cache data for included files in the multiprocess load codepath
Cache data for included files in the multiprocess load codepath

When running gyp with --no-parallel, the build file data for included gypi
files is cached in the 'data' dict, so we never load gypi files more than once.

However, when running in parallel mode, the |data| and |aux_data| parameters
passed to CallLoadTargetBuildFile are always empty.  That means gypi files are
reloaded for every single gyp file.

This commit changes CallLoadTargetBuildFile to use a global |per_process_data|
and |per_process_aux_data|, instead of accepting them as parameters.  This
allows each subprocess to get gypi file data from this per-process cache if it
has already encountered the gypi file when loading a previous target build
file.

Another minor change in this commit is to remove aux_data from ParallelState.
The aux_data is only ever used within the scope of LoadTargetBuildFile, so we
don't need to communicate it back to the main process.

BUG=
R=scottmg@chromium.org

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

git-svn-id: e7e1075985beda50ea81ac4472467b4f6e91fc78@2012 78cadc50-ecff-11dd-a971-7dbc132099af

mapbox/gyp,mapbox/gyp,mapbox/gyp,mapbox/gyp,mapbox/gyp