Bug 1319563 - Provide actual output filenames in compiler command-lines; r?glandium draft
authorMike Shal <mshal@mozilla.com>
Tue, 22 Nov 2016 17:15:48 -0500
changeset 443149 aae518d317f6fc80126bd8fe1eb7ce878cd5456a
parent 443148 a53afa33df5ade4be5fdde50f51c333c60b26f73
child 537980 64fd8b40ec06791dc024a20d408107453ebeb129
push id36915
push userbmo:mshal@mozilla.com
push dateWed, 23 Nov 2016 23:38:19 +0000
reviewersglandium
bugs1319563
milestone53.0a1
Bug 1319563 - Provide actual output filenames in compiler command-lines; r?glandium
python/mozbuild/mozbuild/backend/common.py
--- a/python/mozbuild/mozbuild/backend/common.py
+++ b/python/mozbuild/mozbuild/backend/common.py
@@ -691,17 +691,18 @@ class CommonBackend(BuildBackend):
         '.cpp': 'CXXFLAGS',
         '.m': 'CFLAGS',
         '.mm': 'CXXFLAGS',
     }
 
     def _build_compiler_line(self, objdir, reldir, cenv, filename, canonical_suffix):
         if canonical_suffix not in self.COMPILERS:
             return None
-        cmdline = cenv.substs[self.COMPILERS[canonical_suffix]].split() + ['-o', '/dev/null', '-c']
+        output_filename = mozpath.splitext(mozpath.basename(filename))[0] + '.o'
+        cmdline = cenv.substs[self.COMPILERS[canonical_suffix]].split() + ['-o', output_filename, '-c']
         reldir = reldir or mozpath.relpath(objdir, cenv.topobjdir)
 
         def append_var(name):
             value = cenv.substs.get(name)
             if not value:
                 return None
             if isinstance(value, types.StringTypes):
                 value = value.split()