Bug 1417264 - Refactor code for writing mozconfig make file; r=nalexander
Upcoming commits need to move more logic from client.mk. It will
be easier if we have a list of lines in the mozconfig as a local
variable.
MozReview-Commit-ID: 1wFZTfWLGP9
--- a/python/mozbuild/mozbuild/controller/building.py
+++ b/python/mozbuild/mozbuild/controller/building.py
@@ -1332,31 +1332,36 @@ class BuildDriver(MozbuildObject):
append_env['CONFIG_GUESS'] = self.resolve_config_guess()
mozconfig = self.mozconfig
if self._check_clobber(mozconfig, os.environ):
return 1
+ mozconfig_make_lines = []
+ for arg in mozconfig['make_extra'] or []:
+ mozconfig_make_lines.append(arg)
+
+ if mozconfig['make_flags']:
+ mozconfig_make_lines.append(b'MOZ_MAKE_FLAGS=%s' %
+ b' '.join(mozconfig['make_flags']))
+ objdir = mozpath.normsep(self.topobjdir)
+ mozconfig_make_lines.append(b'MOZ_OBJDIR=%s' % objdir)
+ mozconfig_make_lines.append(b'OBJDIR=%s' % objdir)
+
+ if mozconfig['path']:
+ mozconfig_make_lines.append(b'FOUND_MOZCONFIG=%s' %
+ mozpath.normsep(mozconfig['path']))
+ mozconfig_make_lines.append(b'export FOUND_MOZCONFIG')
+
mozconfig_client_mk = os.path.join(self.topobjdir,
'.mozconfig-client-mk')
with FileAvoidWrite(mozconfig_client_mk) as fh:
- for arg in mozconfig['make_extra'] or []:
- fh.write(arg)
- fh.write(b'\n')
- if mozconfig['make_flags']:
- fh.write(b'MOZ_MAKE_FLAGS=%s\n' % b' '.join(mozconfig['make_flags']))
- objdir = mozpath.normsep(self.topobjdir)
- fh.write(b'MOZ_OBJDIR=%s\n' % objdir)
- fh.write(b'OBJDIR=%s\n' % objdir)
- if mozconfig['path']:
- fh.write(b'FOUND_MOZCONFIG=%s\n' %
- mozpath.normsep(mozconfig['path']))
- fh.write(b'export FOUND_MOZCONFIG\n')
+ fh.write(b'\n'.join(mozconfig_make_lines))
append_env['OBJDIR'] = mozpath.normsep(self.topobjdir)
return self._run_make(srcdir=True,
filename='client.mk',
allow_parallel=False,
ensure_exit_code=False,
print_directory=False,