Chromium Code Reviews| Index: build/android/gyp/util/build_utils.py |
| diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py |
| index 8b374e6f11ecabe33a89201e169d2a6436f40e90..98d9f1b51125bc2a5ef57bedc9a988f93e10b7bd 100644 |
| --- a/build/android/gyp/util/build_utils.py |
| +++ b/build/android/gyp/util/build_utils.py |
| @@ -423,12 +423,17 @@ def AddDepfileOption(parser): |
| help='Path to depfile. Must be specified as the action\'s first output.') |
| -def WriteDepfile(path, dependencies): |
| - MakeDirectory(os.path.dirname(path)) |
| - with open(path, 'w') as depfile: |
| - depfile.write(path) |
| +def WriteDepfile(depfile_path, first_gn_output, inputs=None, add_pydeps=True): |
| + assert depfile_path != first_gn_output # http://crbug.com/646165 |
| + inputs = inputs or [] |
| + if add_pydeps: |
| + inputs = GetPythonDependencies() + inputs |
| + MakeDirectory(os.path.dirname(depfile_path)) |
| + # Ninja does not support multiple outputs in depfiles. |
| + with open(depfile_path, 'w') as depfile: |
| + depfile.write(first_gn_output.replace(' ', '\\ ')) |
|
jbudorick
2016/09/13 21:43:27
Heads up: this broke the (currently experimental)
|
| depfile.write(': ') |
| - depfile.write(' '.join(dependencies)) |
| + depfile.write(' '.join(i.replace(' ', '\\ ') for i in inputs)) |
| depfile.write('\n') |
| @@ -524,7 +529,8 @@ def CallAndWriteDepfileIfStale(function, options, record_path=None, |
| all_depfile_deps = list(python_deps) |
| if depfile_deps: |
| all_depfile_deps.extend(depfile_deps) |
| - WriteDepfile(options.depfile, all_depfile_deps) |
| + WriteDepfile(options.depfile, output_paths[0], all_depfile_deps, |
| + add_pydeps=False) |
| if stamp_file: |
| Touch(stamp_file) |