diff options
author | Tom Rini <trini@konsulko.com> | 2022-04-02 18:18:57 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-04-02 18:18:57 -0400 |
commit | 25b8acee2ea11a9edc100c42a61f5d6187eb6167 (patch) | |
tree | 9ef7799b64b242ee0531e3c5af0f522778dc89e0 /tools | |
parent | 10d615f2fcc0d2ef1d611844eb6032fe0fca8afd (diff) | |
download | u-boot-25b8acee2ea11a9edc100c42a61f5d6187eb6167.tar.gz |
Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support"WIP/02Apr2022-next
Unfortunately, we require additional logic to buildman to support this
removal and still use SYS_SOC, etc, for build targets.
This reverts commit eeec00072d7a0b5b91896d014618e558ce438738.
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/genboardscfg.py | 12 | ||||
-rwxr-xr-x | tools/moveconfig.py | 65 |
2 files changed, 76 insertions, 1 deletions
diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py index ecdc166d7b9..07bf681d1d9 100755 --- a/tools/genboardscfg.py +++ b/tools/genboardscfg.py @@ -111,6 +111,7 @@ class KconfigScanner: 'vendor' : 'SYS_VENDOR', 'board' : 'SYS_BOARD', 'config' : 'SYS_CONFIG_NAME', + 'options' : 'SYS_EXTRA_OPTIONS' } def __init__(self): @@ -148,6 +149,7 @@ class KconfigScanner: 'board': <board_name>, 'target': <target_name>, 'config': <config_header_name>, + 'options': <extra_options> } """ # strip special prefixes and save it in a temporary file @@ -183,6 +185,14 @@ class KconfigScanner: if params['arch'] == 'arm' and params['cpu'] == 'armv8': params['arch'] = 'aarch64' + # fix-up options field. It should have the form: + # <config name>[:comma separated config options] + if params['options'] != '-': + params['options'] = params['config'] + ':' + \ + params['options'].replace(r'\"', '"') + elif params['config'] != params['target']: + params['options'] = params['config'] + return params def scan_defconfigs_for_multiprocess(queue, defconfigs): @@ -368,7 +378,7 @@ def format_and_output(params_list, output): output: The path to the output file """ FIELDS = ('status', 'arch', 'cpu', 'soc', 'vendor', 'board', 'target', - 'maintainers') + 'options', 'maintainers') # First, decide the width of each column max_length = dict([ (f, 0) for f in FIELDS]) diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 09617a07f91..84bc875fff8 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -443,6 +443,70 @@ def cleanup_headers(configs, args): cleanup_one_header(header_path, patterns, args) cleanup_empty_blocks(header_path, args) +def cleanup_one_extra_option(defconfig_path, configs, args): + """Delete config defines in CONFIG_SYS_EXTRA_OPTIONS in one defconfig file. + + Args: + defconfig_path: path to the cleaned defconfig file. + configs: A list of CONFIGs to remove. + args (Namespace): program arguments + """ + + start = 'CONFIG_SYS_EXTRA_OPTIONS="' + end = '"' + + lines = read_file(defconfig_path) + + for i, line in enumerate(lines): + if line.startswith(start) and line.endswith(end): + break + else: + # CONFIG_SYS_EXTRA_OPTIONS was not found in this defconfig + return + + old_tokens = line[len(start):-len(end)].split(',') + new_tokens = [] + + for token in old_tokens: + pos = token.find('=') + if not (token[:pos] if pos >= 0 else token) in configs: + new_tokens.append(token) + + if new_tokens == old_tokens: + return + + tolines = copy.copy(lines) + + if new_tokens: + tolines[i] = start + ','.join(new_tokens) + end + else: + tolines.pop(i) + + show_diff(lines, tolines, defconfig_path, args.color) + + if args.dry_run: + return + + write_file(defconfig_path, tolines) + +def cleanup_extra_options(configs, args): + """Delete config defines in CONFIG_SYS_EXTRA_OPTIONS in defconfig files. + + Args: + configs: A list of CONFIGs to remove. + args (Namespace): program arguments + """ + if not confirm(args, 'Clean up CONFIG_SYS_EXTRA_OPTIONS?'): + return + + configs = [ config[len('CONFIG_'):] for config in configs ] + + defconfigs = get_all_defconfigs() + + for defconfig in defconfigs: + cleanup_one_extra_option(os.path.join('configs', defconfig), configs, + args) + def cleanup_whitelist(configs, args): """Delete config whitelist entries @@ -1739,6 +1803,7 @@ doc/develop/moveconfig.rst for documentation.''' if configs: cleanup_headers(configs, args) + cleanup_extra_options(configs, args) cleanup_whitelist(configs, args) cleanup_readme(configs, args) |