aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers.py31
-rw-r--r--mesonbuild/coredata.py2
-rw-r--r--mesonbuild/mintro.py3
3 files changed, 25 insertions, 11 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index 884732f..b3ca455 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -59,12 +59,15 @@ gnulike_buildtype_args = {'plain' : [],
# See https://github.com/mesonbuild/meson/pull/509
'debug' : ['-O0', '-g'],
'debugoptimized' : ['-O2', '-g'],
- 'release' : ['-O3']}
+ 'release' : ['-O3'],
+ 'minsize' : ['-Os', '-g']}
msvc_buildtype_args = {'plain' : [],
'debug' : ["/MDd", "/ZI", "/Ob0", "/Od", "/RTC1"],
'debugoptimized' : ["/MD", "/Zi", "/O2", "/Ob1"],
- 'release' : ["/MD", "/O2", "/Ob2"]}
+ 'release' : ["/MD", "/O2", "/Ob2"],
+ 'minsize' : ["/MD", "/Zi", "/Os", "/Ob1"],
+ }
gnulike_buildtype_linker_args = {}
@@ -74,38 +77,50 @@ if mesonlib.is_osx():
'debug' : [],
'debugoptimized' : [],
'release' : [],
+ 'minsize' : [],
})
else:
gnulike_buildtype_linker_args.update({'plain' : [],
'debug' : [],
'debugoptimized' : [],
'release' : ['-Wl,-O1'],
+ 'minsize' : [],
})
msvc_buildtype_linker_args = {'plain' : [],
'debug' : [],
'debugoptimized' : [],
- 'release' : []}
+ 'release' : [],
+ 'minsize' : [],
+ }
java_buildtype_args = {'plain' : [],
'debug' : ['-g'],
'debugoptimized' : ['-g'],
- 'release' : []}
+ 'release' : [],
+ 'minsize' : [],
+ }
rust_buildtype_args = {'plain' : [],
'debug' : ['-g'],
'debugoptimized' : ['-g', '--opt-level', '2'],
- 'release' : ['--opt-level', '3']}
+ 'release' : ['--opt-level', '3'],
+ 'minsize' : [],
+ }
mono_buildtype_args = {'plain' : [],
'debug' : ['-debug'],
'debugoptimized': ['-debug', '-optimize+'],
- 'release' : ['-optimize+']}
+ 'release' : ['-optimize+'],
+ 'minsize' : [],
+ }
swift_buildtype_args = {'plain' : [],
'debug' : ['-g'],
'debugoptimized': ['-g', '-O'],
- 'release' : ['-O']}
+ 'release' : ['-O'],
+ 'minsize' : [],
+ }
gnu_winlibs = ['-lkernel32', '-luser32', '-lgdi32', '-lwinspool', '-lshell32',
'-lole32', '-loleaut32', '-luuid', '-lcomdlg32', '-ladvapi32']
@@ -1228,7 +1243,7 @@ class ValaCompiler(Compiler):
return suffix in ('vala', 'vapi')
def get_buildtype_args(self, buildtype):
- if buildtype == 'debug' or buildtype == 'debugoptimized':
+ if buildtype == 'debug' or buildtype == 'debugoptimized' or buildtype == 'minsize':
return ['--debug']
return []
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 494c89f..21b907e 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -198,7 +198,7 @@ def get_builtin_option_default(optname):
raise RuntimeError('Tried to get the default value for an unknown builtin option \'%s\'.' % optname)
builtin_options = {
- 'buildtype' : [ UserComboOption, 'Build type to use.', [ 'plain', 'debug', 'debugoptimized', 'release' ], 'debug' ],
+ 'buildtype' : [ UserComboOption, 'Build type to use.', [ 'plain', 'debug', 'debugoptimized', 'release', 'minsize' ], 'debug' ],
'strip' : [ UserBooleanOption, 'Strip targets on install.', False ],
'unity' : [ UserBooleanOption, 'Unity build.', False ],
'prefix' : [ UserStringOption, 'Installation prefix.', default_prefix() ],
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py
index 955d12b..629b0fc 100644
--- a/mesonbuild/mintro.py
+++ b/mesonbuild/mintro.py
@@ -79,7 +79,6 @@ def list_target_files(target_name, coredata, builddata):
try:
t = builddata.targets[target_name]
sources = t.sources + t.extra_files
- subdir = t.subdir
except KeyError:
print("Unknown target %s." % target_name)
sys.exit(1)
@@ -87,7 +86,7 @@ def list_target_files(target_name, coredata, builddata):
print(json.dumps(sources))
def list_buildoptions(coredata, builddata):
- buildtype= {'choices': ['plain', 'debug', 'debugoptimized', 'release'],
+ buildtype= {'choices': ['plain', 'debug', 'debugoptimized', 'release', 'minsize'],
'type' : 'combo',
'value' : coredata.get_builtin_option('buildtype'),
'description' : 'Build type',