summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/mozbuild/mozbuild/mach_commands.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py
index f654db769..1bd5b8d34 100644
--- a/python/mozbuild/mozbuild/mach_commands.py
+++ b/python/mozbuild/mozbuild/mach_commands.py
@@ -541,6 +541,16 @@ class Build(MachCommandBase):
# as when doing OSX Universal builds)
pass
+ # Check if there are any unpreprocessed files in '@MOZ_OBJDIR@/dist/bin'
+ # See python/mozbuild/mozbuild/preprocessor.py#L293-L309 for the list of directives
+ # We skip if, ifdef, ifndef, else, elif, elifdef and elifndef, because they are never used alone
+ grepcmd = 'grep -E -r "^(#|%)(define|endif|error|expand|filter|include|literal|undef|unfilter)" '\
+ + '--include=\*.{css,dtd,html,js,jsm,xhtml,xml,xul,manifest,properties,rdf} '\
+ + self.topobjdir + '/dist/bin | grep -v ".css:#"'
+ grepresult = subprocess.Popen(grepcmd, stdout=subprocess.PIPE, shell=True).communicate()[0]
+ if grepresult:
+ print('\nERROR: preprocessor was not applied to the following files:\n\n' + grepresult)
+
return status
@Command('configure', category='build',