sim: nltvals: switch output mode to a directory

In preparation for this script generating more files, change the output
argument to specify a directory.  This drops the stdout behavior, but
since no one really runs this tool directly, it's not a big deal.
This commit is contained in:
Mike Frysinger 2021-07-06 21:18:58 -04:00
parent f28b723787
commit 082cf6944a
3 changed files with 10 additions and 9 deletions

View File

@ -55,8 +55,7 @@ SIM_ALL_RECURSIVE_DEPS =
# An alternative is to slurp in the tables at runtime.
.PHONY: nltvals
nltvals:
$(abs_srcdir)/common/gennltvals.py --cpp "$(CPP)" --output nltvals.def --srcroot $(srcroot)
$(SHELL) $(srcroot)/move-if-change nltvals.def $(abs_srcdir)/common/nltvals.def
$(srcdir)/common/gennltvals.py --cpp "$(CPP)"
pkginclude_HEADERS = \
$(srcroot)/include/sim/callback.h \

View File

@ -1747,8 +1747,7 @@ uninstall-am: uninstall-pkgincludeHEADERS
# An alternative is to slurp in the tables at runtime.
.PHONY: nltvals
nltvals:
$(abs_srcdir)/common/gennltvals.py --cpp "$(CPP)" --output nltvals.def --srcroot $(srcroot)
$(SHELL) $(srcroot)/move-if-change nltvals.def $(abs_srcdir)/common/nltvals.def
$(srcdir)/common/gennltvals.py --cpp "$(CPP)"
common/version.c: common/version.c-stamp ; @true
common/version.c-stamp: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/common/create-version.sh

View File

@ -160,7 +160,7 @@ def get_parser() -> argparse.ArgumentParser:
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument(
'-o', '--output', type=Path,
help='write to the specified file instead of stdout')
help='write to the specified directory')
parser.add_argument(
'--cpp', type=str, default='cpp',
help='the preprocessor to use')
@ -178,8 +178,14 @@ def parse_args(argv: List[str]) -> argparse.Namespace:
parser = get_parser()
opts = parser.parse_args(argv)
if opts.output is None:
# Default to where the script lives.
opts.output = Path(__file__).resolve().parent
if opts.srcroot is None:
opts.srcroot = Path(__file__).resolve().parent.parent.parent
else:
opts.srcroot = opts.srcroot.resolve()
if opts.newlib is None:
# Try to find newlib relative to our source tree.
@ -202,10 +208,7 @@ def main(argv: List[str]) -> int:
"""The main entry point for scripts."""
opts = parse_args(argv)
if opts.output is not None:
output = open(opts.output, 'w', encoding='utf-8')
else:
output = sys.stdout
output = (opts.output / 'nltvals.def').open('w', encoding='utf-8')
gen(output, opts.newlib, opts.cpp)
return 0