gecko/dom/imptests/writeBuildFiles.py
Gregory Szorc c0f7a6b9ad Bug 784841 - Part 15: Produce moz.build files for dom imported tests; r=Ms2ger
--HG--
rename : dom/imptests/writeMakefile.py => dom/imptests/writeBuildFiles.py
2013-02-25 12:46:50 -08:00

64 lines
1.5 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import unicode_literals
import string
makefile_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT
DEPTH := @DEPTH@
topsrcdir := @top_srcdir@
srcdir := @srcdir@
VPATH := @srcdir@
relativesrcdir := @relativesrcdir@
include $$(DEPTH)/config/autoconf.mk
${files}
include $$(topsrcdir)/config/rules.mk
"""
mozbuild_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT
${dirs}
"""
def makefileString(entries):
if not len(entries):
return " $(NULL)"
return "\n".join([" %s \\" % (entry, ) for entry in entries]) + "\n $(NULL)"
def assignList(variable, entries):
return "%s := \\\n%s" % (variable, makefileString(entries))
def mozbuildDirs(dirs):
"""Obtain a DIRS assignment string for mozbuild files."""
parts = ['DIRS += [']
for d in dirs:
parts.append(" '%s'," % d)
parts.append(']')
return '\n'.join(parts)
def substMakefile(caller, files):
return string.Template(makefile_template).substitute({
"caller": caller,
"files": assignList("MOCHITEST_FILES", files) if files else ""
})
def substMozbuild(caller, dirs):
return string.Template(mozbuild_template).substitute({
"caller": caller,
"dirs": mozbuildDirs(dirs),
})