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

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

Issue 10538055: Fix make backend to correctly handle rules with output files of the same name (Closed) Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 8 years, 6 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 | test/same-rule-output-file-name/gyptest-all.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pylib/gyp/generator/make.py
===================================================================
--- pylib/gyp/generator/make.py (revision 1412)
+++ pylib/gyp/generator/make.py (working copy)
@@ -950,12 +950,6 @@
rule_source_dirname)
for out in rule['outputs']]
- # If an output is just the file name, turn it into a path so
- # FixupArgPath() will know to Absolutify() it.
- outputs = map(
- lambda x : os.path.dirname(x) and x or os.path.join('.', x),
- outputs)
-
for out in outputs:
dir = os.path.dirname(out)
if dir:
@@ -964,7 +958,6 @@
extra_sources += outputs
if int(rule.get('process_outputs_as_mac_bundle_resources', False)):
extra_mac_bundle_resources += outputs
- all_outputs += outputs
inputs = map(Sourceify, map(self.Absolutify, [rule_source] +
rule.get('inputs', [])))
actions = ['$(call do_cmd,%s_%d)' % (name, count)]
@@ -978,6 +971,8 @@
# amount of pain.
actions += ['@touch --no-create $@']
+ outputs = map(self.Absolutify, outputs)
+ all_outputs += outputs
# Only write the 'obj' and 'builddir' rules for the "primary" output
# (:1); it's superfluous for the "extra outputs", and this avoids
# accidentally writing duplicate dummy rules for those outputs.
@@ -1838,12 +1833,6 @@
return os.path.normpath(os.path.join(self.path, path))
- def FixupArgPath(self, arg):
- if '/' in arg or '.h.' in arg:
- return self.Absolutify(arg)
- return arg
-
-
def ExpandInputRoot(self, template, expansion, dirname):
if '%(INPUT_ROOT)s' not in template and '%(INPUT_DIRNAME)s' not in template:
return template
« no previous file with comments | « no previous file | test/same-rule-output-file-name/gyptest-all.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698