Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Unified Diff: pylib/gyp/generator/ninja.py

Issue 406523005: ninja/win: Put common msvs_system_include_dirs into %INCLUDE% (Closed) Base URL: https://chromium.googlesource.com/external/gyp.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pylib/gyp/msvs_emulation.py » ('j') | pylib/gyp/msvs_emulation.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pylib/gyp/generator/ninja.py
diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
index f31068a9bf44a89b1c83e61afccc01d284e06fc8..639fda5455822aca3ff72e2c0a1bd8fe07e074aa 100644
--- a/pylib/gyp/generator/ninja.py
+++ b/pylib/gyp/generator/ninja.py
@@ -1777,8 +1777,26 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
wrappers[key_prefix] = os.path.join(build_to_root, value)
if flavor == 'win':
+ # Extract msvs_system_include_dirs that are common to all targets.
+ all_system_includes = set(
+ target_dicts[target_list[0]]['configurations'][config_name].get(
+ 'msvs_system_include_dirs', []))
+ for qualified_target in target_list:
scottmg 2014/07/19 18:49:36 is this target_list everything? how does it relate
Nico 2014/07/19 23:05:35 as far as I understand, all_targets gets everythin
+ config = target_dicts[qualified_target]['configurations'][config_name]
+ system_includes = config.get('msvs_system_include_dirs', [])
+ all_system_includes = all_system_includes & set(system_includes)
+ #print 'env:', all_system_includes
+ if all_system_includes:
+ for qualified_target in target_list:
+ config = target_dicts[qualified_target]['configurations'][config_name]
+ includes = config.get('msvs_system_include_dirs', [])
+ if includes:
+ new_includes = [i for i in includes if i not in all_system_includes]
+ config['msvs_system_include_dirs'] = new_includes
+ # FIXME: Need to expand ms macros in all_system_includes too
+
cl_paths = gyp.msvs_emulation.GenerateEnvironmentFiles(
- toplevel_build, generator_flags, OpenOutput)
+ toplevel_build, generator_flags, all_system_includes, OpenOutput)
for arch, path in cl_paths.iteritems():
if clang_cl:
# If we have selected clang-cl, use that instead.
« no previous file with comments | « no previous file | pylib/gyp/msvs_emulation.py » ('j') | pylib/gyp/msvs_emulation.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698