aboutsummaryrefslogtreecommitdiff
path: root/mesonintrospect.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-10-15 22:20:45 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-10-15 22:20:45 +0300
commit172fa2f8ddac5a53ea6fa6632e0cfaeb53344b64 (patch)
tree9c0653bf0e7718f754051555d9e56cd4119280b1 /mesonintrospect.py
parentc5788548d225b1cf5561244e24da8a8cd6d7f488 (diff)
parent0d56955e9cda7993ef07894fb58bb90ba5b463e6 (diff)
downloadmeson-172fa2f8ddac5a53ea6fa6632e0cfaeb53344b64.zip
meson-172fa2f8ddac5a53ea6fa6632e0cfaeb53344b64.tar.gz
meson-172fa2f8ddac5a53ea6fa6632e0cfaeb53344b64.tar.bz2
Merge pull request #275 from mesonbuild/compileroptions
Compiler options
Diffstat (limited to 'mesonintrospect.py')
-rwxr-xr-xmesonintrospect.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/mesonintrospect.py b/mesonintrospect.py
index ffdd320..3ef2ab5 100755
--- a/mesonintrospect.py
+++ b/mesonintrospect.py
@@ -22,7 +22,7 @@ Currently only works for the Ninja backend. Others use generated
project files and don't need this info."""
import json, pickle
-import coredata, build, optinterpreter
+import coredata, build, mesonlib
import argparse
import sys, os
@@ -107,7 +107,11 @@ def list_buildoptions(coredata, builddata):
'description' : 'Unity build',
'name' : 'unity'}
optlist = [buildtype, strip, coverage, pch, unity]
- options = coredata.user_options
+ add_keys(optlist, coredata.user_options)
+ add_keys(optlist, coredata.compiler_options)
+ print(json.dumps(optlist))
+
+def add_keys(optlist, options):
keys = list(options.keys())
keys.sort()
for key in keys:
@@ -115,19 +119,20 @@ def list_buildoptions(coredata, builddata):
optdict = {}
optdict['name'] = key
optdict['value'] = opt.value
- if isinstance(opt, optinterpreter.UserStringOption):
+ if isinstance(opt, mesonlib.UserStringOption):
typestr = 'string'
- elif isinstance(opt, optinterpreter.UserBooleanOption):
+ elif isinstance(opt, mesonlib.UserBooleanOption):
typestr = 'boolean'
- elif isinstance(opt, optinterpreter.UserComboOption):
+ elif isinstance(opt, mesonlib.UserComboOption):
optdict['choices'] = opt.choices
typestr = 'combo'
+ elif isinstance(opt, mesonlib.UserStringArrayOption):
+ typestr = 'stringarray'
else:
raise RuntimeError("Unknown option type")
optdict['type'] = typestr
optdict['description'] = opt.description
optlist.append(optdict)
- print(json.dumps(optlist))
def list_buildsystem_files(coredata, builddata):
src_dir = builddata.environment.get_source_dir()