Clone of official tools
Diff: get_config.py
- Revision:
- 43:2a7da56ebd24
- Parent:
- 40:7d3fa6b99b2b
--- a/get_config.py Mon Nov 06 13:17:14 2017 -0600 +++ b/get_config.py Tue Sep 25 13:43:09 2018 -0500 @@ -16,9 +16,9 @@ limitations under the License. """ +from __future__ import print_function import sys -from os.path import isdir, abspath, dirname, join -from os import _exit +from os.path import abspath, dirname, join # Be sure that the tools directory is in the search path ROOT = abspath(join(dirname(__file__), "..")) @@ -28,22 +28,23 @@ from tools.options import get_default_options_parser from tools.options import extract_mcus from tools.build_api import get_config -from config import Config -from utils import argparse_filestring_type -try: - import tools.private_settings as ps -except: - ps = object() +from tools.config import Config +from tools.utils import argparse_filestring_type if __name__ == '__main__': # Parse Options - parser = get_default_options_parser(add_clean=False, add_options=False) - parser.add_argument("--source", dest="source_dir", type=argparse_filestring_type, required=True, - default=[], help="The source (input) directory", action="append") - parser.add_argument("--prefix", dest="prefix", action="append", - default=[], help="Restrict listing to parameters that have this prefix") - parser.add_argument("-v", "--verbose", action="store_true", dest="verbose", - default=False, help="Verbose diagnostic output") + parser = get_default_options_parser(add_clean=False, add_options=False, + add_app_config=True) + parser.add_argument( + "--source", dest="source_dir", type=argparse_filestring_type, + required=True, default=[], help="The source (input) directory", + action="append") + parser.add_argument( + "--prefix", dest="prefix", action="append", default=[], + help="Restrict listing to parameters that have this prefix") + parser.add_argument( + "-v", "--verbose", action="store_true", dest="verbose", default=False, + help="Verbose diagnostic output") options = parser.parse_args() @@ -52,41 +53,42 @@ args_error(parser, "argument -m/--mcu is required") target = extract_mcus(parser, options)[0] - # Toolchain - if options.tool is None: - args_error(parser, "argument -t/--toolchain is required") - toolchain = options.tool[0] - options.prefix = options.prefix or [""] try: - params, macros, features = get_config(options.source_dir, target, toolchain) + params, macros, features = get_config( + options.source_dir, + target, + options.tool[0] if options.tool else None, + app_config=options.app_config + ) if not params and not macros: - print "No configuration data available." - _exit(0) + print("No configuration data available.") + sys.exit(0) if params: - print "Configuration parameters" - print "------------------------" - for p in sorted(params): - for s in options.prefix: - if p.startswith(s): - print(str(params[p]) if not options.verbose else params[p].get_verbose_description()) - break - print "" + print("Configuration parameters") + print("------------------------") + for p in sorted(list(params.keys())): + if any(p.startswith(s) for s in options.prefix): + if options.verbose: + print(params[p].get_verbose_description()) + else: + print(str(params[p])) + print("") - print "Macros" - print "------" - if macros: - print 'Defined with "macros":', Config.config_macros_to_macros(macros) - print "Generated from configuration parameters:", Config.parameters_to_macros(params) + print("Macros") + print("------") + for m in Config.config_macros_to_macros(macros): + if any(m.startswith(s) for s in options.prefix): + print(m) - except KeyboardInterrupt, e: - print "\n[CTRL+c] exit" - except Exception,e: + except KeyboardInterrupt as e: + print("\n[CTRL+c] exit") + except Exception as e: if options.verbose: import traceback traceback.print_exc(file=sys.stdout) else: - print "[ERROR] %s" % str(e) + print("[ERROR] %s" % str(e)) sys.exit(1)