aboutsummaryrefslogtreecommitdiff
path: root/meson.py
diff options
context:
space:
mode:
Diffstat (limited to 'meson.py')
-rwxr-xr-xmeson.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/meson.py b/meson.py
index a17c377..da7b12f 100755
--- a/meson.py
+++ b/meson.py
@@ -28,6 +28,7 @@ parser = argparse.ArgumentParser()
backendlist = ['ninja', 'vs2010', 'xcode']
build_types = ['plain', 'debug', 'debugoptimized', 'release']
+layouts = ['mirror', 'flat']
warning_levels = ['1', '2', '3']
default_warning = '1'
@@ -71,6 +72,8 @@ parser.add_argument('--unity', action='store_true', dest='unity', default=False,
help='unity build')
parser.add_argument('--werror', action='store_true', dest='werror', default=False,\
help='Treat warnings as errors')
+parser.add_argument('--layout', choices=layouts, dest='layout', default='mirror',\
+ help='Build directory layout.')
parser.add_argument('--warnlevel', default=default_warning, dest='warning_level', choices=warning_levels,\
help='Level of compiler warnings to use (larger is more, default is %(default)s)')
parser.add_argument('--cross-file', default=None, dest='cross_file',
@@ -141,24 +144,24 @@ itself as required.'''
else:
mlog.log('Build type:', mlog.bold('native build'))
b = build.Build(env)
- intr = interpreter.Interpreter(b)
- mlog.log('Build machine cpu:', mlog.bold(intr.builtin['build_machine'].cpu_method([], {})))
if env.is_cross_build():
mlog.log('Host machine cpu:', mlog.bold(intr.builtin['host_machine'].cpu_method([], {})))
mlog.log('Target machine cpu:', mlog.bold(intr.builtin['target_machine'].cpu_method([], {})))
- intr.run()
if self.options.backend == 'ninja':
import ninjabackend
- g = ninjabackend.NinjaBackend(b, intr)
+ g = ninjabackend.NinjaBackend(b)
elif self.options.backend == 'vs2010':
import vs2010backend
- g = vs2010backend.Vs2010Backend(b, intr)
+ g = vs2010backend.Vs2010Backend(b)
elif self.options.backend == 'xcode':
import xcodebackend
- g = xcodebackend.XCodeBackend(b, intr)
+ g = xcodebackend.XCodeBackend(b)
else:
raise RuntimeError('Unknown backend "%s".' % self.options.backend)
- g.generate()
+ intr = interpreter.Interpreter(b, g)
+ mlog.log('Build machine cpu:', mlog.bold(intr.builtin['build_machine'].cpu_method([], {})))
+ intr.run()
+ g.generate(intr)
env.generating_finished()
dumpfile = os.path.join(env.get_scratch_dir(), 'build.dat')
pickle.dump(b, open(dumpfile, 'wb'))