Ninja on mac and win should also read CFLAGS/CXXFLAGS.
Enable the code on Win/Mac as well as Linux.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/22929009
git-svn-id: http://gyp.googlecode.com/svn/trunk@1699 78cadc50-ecff-11dd-a971-7dbc132099af
diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
index a459aec..25f5780 100644
--- a/pylib/gyp/generator/ninja.py
+++ b/pylib/gyp/generator/ninja.py
@@ -806,20 +806,16 @@
self.WriteVariableList(ninja_file, 'pchprefix', [self.name])
else:
cflags = config.get('cflags', [])
+ cflags_c = config.get('cflags_c', [])
+ cflags_cc = config.get('cflags_cc', [])
- cflags_c = []
- cflags_cc = []
-
- # Respect environment variables related to build, but target-specific
- # flags can still override them.
- if self.toolset == 'target':
- cflags_c = (os.environ.get('CPPFLAGS', '').split() +
- os.environ.get('CFLAGS', '').split())
- cflags_cc = (os.environ.get('CPPFLAGS', '').split() +
- os.environ.get('CXXFLAGS', '').split())
-
- cflags_c.extend(config.get('cflags_c', []))
- cflags_cc.extend(config.get('cflags_cc', []))
+ # Respect environment variables related to build, but target-specific
+ # flags can still override them.
+ if self.toolset == 'target':
+ cflags_c = (os.environ.get('CPPFLAGS', '').split() +
+ os.environ.get('CFLAGS', '').split() + cflags_c)
+ cflags_cc = (os.environ.get('CPPFLAGS', '').split() +
+ os.environ.get('CXXFLAGS', '').split() + cflags_cc)
defines = config.get('defines', []) + extra_defines
self.WriteVariableList(ninja_file, 'defines',
diff --git a/test/cflags/gyptest-cflags.py b/test/cflags/gyptest-cflags.py
index ff81eca..f897a70 100755
--- a/test/cflags/gyptest-cflags.py
+++ b/test/cflags/gyptest-cflags.py
@@ -24,10 +24,7 @@
os.environ.clear()
os.environ.update(env_stack.pop())
-formats = ['make']
-if sys.platform.startswith('linux'):
- # Only Linux ninja generator supports CFLAGS.
- formats.append('ninja')
+formats = ['make', 'ninja']
test = TestGyp.TestGyp(formats=formats)