Added 'section' key to buildoptions introspection
This commit is contained in:
parent
1c8c888854
commit
1f48aa595d
|
@ -124,18 +124,43 @@ def list_target_files(target_name, coredata, builddata):
|
|||
|
||||
def list_buildoptions(coredata, builddata):
|
||||
optlist = []
|
||||
add_keys(optlist, coredata.user_options)
|
||||
add_keys(optlist, coredata.compiler_options)
|
||||
add_keys(optlist, coredata.base_options)
|
||||
add_keys(optlist, coredata.builtins)
|
||||
|
||||
dir_option_names = ['prefix',
|
||||
'libdir',
|
||||
'libexecdir',
|
||||
'bindir',
|
||||
'sbindir',
|
||||
'includedir',
|
||||
'datadir',
|
||||
'mandir',
|
||||
'infodir',
|
||||
'localedir',
|
||||
'sysconfdir',
|
||||
'localstatedir',
|
||||
'sharedstatedir']
|
||||
test_option_names = ['stdsplit',
|
||||
'errorlogs']
|
||||
core_option_names = [k for k in coredata.builtins if k not in dir_option_names + test_option_names]
|
||||
|
||||
dir_options = {k: o for k, o in coredata.builtins.items() if k in dir_option_names}
|
||||
test_options = {k: o for k, o in coredata.builtins.items() if k in test_option_names}
|
||||
core_options = {k: o for k, o in coredata.builtins.items() if k in core_option_names}
|
||||
|
||||
add_keys(optlist, core_options, 'core')
|
||||
add_keys(optlist, coredata.backend_options, 'backend')
|
||||
add_keys(optlist, coredata.base_options, 'base')
|
||||
add_keys(optlist, coredata.compiler_options, 'compiler')
|
||||
add_keys(optlist, dir_options, 'directory')
|
||||
add_keys(optlist, coredata.user_options, 'user')
|
||||
add_keys(optlist, test_options, 'test')
|
||||
print(json.dumps(optlist))
|
||||
|
||||
def add_keys(optlist, options):
|
||||
def add_keys(optlist, options, section):
|
||||
keys = list(options.keys())
|
||||
keys.sort()
|
||||
for key in keys:
|
||||
opt = options[key]
|
||||
optdict = {'name': key, 'value': opt.value}
|
||||
optdict = {'name': key, 'value': opt.value, 'section': section}
|
||||
if isinstance(opt, cdata.UserStringOption):
|
||||
typestr = 'string'
|
||||
elif isinstance(opt, cdata.UserBooleanOption):
|
||||
|
|
|
@ -2253,6 +2253,7 @@ int main(int argc, char **argv) {
|
|||
expected = {
|
||||
'name': 'list',
|
||||
'description': 'list',
|
||||
'section': 'user',
|
||||
'type': 'array',
|
||||
'value': ['foo', 'bar'],
|
||||
}
|
||||
|
@ -2277,6 +2278,7 @@ int main(int argc, char **argv) {
|
|||
expected = {
|
||||
'name': 'list',
|
||||
'description': 'list',
|
||||
'section': 'user',
|
||||
'type': 'array',
|
||||
'value': ['foo', 'bar'],
|
||||
}
|
||||
|
@ -2301,6 +2303,7 @@ int main(int argc, char **argv) {
|
|||
expected = {
|
||||
'name': 'list',
|
||||
'description': 'list',
|
||||
'section': 'user',
|
||||
'type': 'array',
|
||||
'value': [],
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue