From 8840e5a00f52dd087fb1d3253efdfc927052991a Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Tue, 8 Mar 2016 23:21:09 +0000 Subject: [PATCH] Move ``mk_pat_db_internal()`` from ``mk_util.py`` to ``mk_genfile_common.py`` and adapt ``mk_util.py`` and ``mk_pat_db.py`` to use the code at its new location. Whilst I'm here reindent ``mk_mem_initializer_cpp.py``. The purpose of this change is to have Python code common to the Python and CMake build systems separate from Python code that is only used for the Python build system. --- scripts/mk_genfile_common.py | 15 +++++++++++++++ scripts/mk_pat_db.py | 31 +++++++++++++------------------ scripts/mk_util.py | 12 ++---------- 3 files changed, 30 insertions(+), 28 deletions(-) diff --git a/scripts/mk_genfile_common.py b/scripts/mk_genfile_common.py index 4c7565dac..943d4052a 100644 --- a/scripts/mk_genfile_common.py +++ b/scripts/mk_genfile_common.py @@ -376,3 +376,18 @@ def mk_mem_initializer_cpp_internal(component_src_dirs, path): fout.write('}\n') fout.close() return fullname + +############################################################################### +# Functions for generating ``database.h`` +############################################################################### + +def mk_pat_db_internal(inputFilePath, outputFilePath): + """ + Generate ``g_pattern_database[]`` declaration header file. + """ + with open(inputFilePath, 'r') as fin: + with open(outputFilePath, 'w') as fout: + fout.write('static char const g_pattern_database[] =\n') + for line in fin: + fout.write('"%s\\n"\n' % line.strip('\n')) + fout.write(';\n') diff --git a/scripts/mk_pat_db.py b/scripts/mk_pat_db.py index 3f2e7c507..76dc7ba48 100755 --- a/scripts/mk_pat_db.py +++ b/scripts/mk_pat_db.py @@ -3,32 +3,27 @@ Reads a pattern database and generates the corresponding header file. """ -import mk_util +import mk_genfile_common import argparse import logging import os import sys def main(args): - logging.basicConfig(level=logging.INFO) - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("db_file", help="pattern database file") - parser.add_argument("output_file", help="output header file path") - pargs = parser.parse_args(args) + logging.basicConfig(level=logging.INFO) + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("db_file", help="pattern database file") + parser.add_argument("output_file", help="output header file path") + pargs = parser.parse_args(args) - if not os.path.exists(pargs.db_file): - logging.error('"{}" does not exist'.format(pargs.db_file)) - return 1 + if not os.path.exists(pargs.db_file): + logging.error('"{}" does not exist'.format(pargs.db_file)) + return 1 - if (os.path.exists(pargs.output_file) and - not os.path.isfile(pargs.output_file)): - logging.error('Refusing to overwrite "{}"'.format( - pargs.output_file)) - return 1 - - mk_util.mk_pat_db_internal(pargs.db_file, pargs.output_file) - return 0 + mk_genfile_common.mk_pat_db_internal(pargs.db_file, pargs.output_file) + logging.info('Generated "{}"'.format(pargs.output_file)) + return 0 if __name__ == '__main__': - sys.exit(main(sys.argv[1:])) + sys.exit(main(sys.argv[1:])) diff --git a/scripts/mk_util.py b/scripts/mk_util.py index 913914fef..47afa2251 100644 --- a/scripts/mk_util.py +++ b/scripts/mk_util.py @@ -2621,17 +2621,9 @@ def mk_pat_db(): c = get_component(PATTERN_COMPONENT) fin = os.path.join(c.src_dir, 'database.smt2') fout = os.path.join(c.src_dir, 'database.h') - mk_pat_db_internal(fin, fout) - -def mk_pat_db_internal(inputFilePath, outputFilePath): - with open(inputFilePath, 'r') as fin: - with open(outputFilePath, 'w') as fout: - fout.write('static char const g_pattern_database[] =\n') - for line in fin: - fout.write('"%s\\n"\n' % line.strip('\n')) - fout.write(';\n') + mk_genfile_common.mk_pat_db_internal(fin, fout) if VERBOSE: - print("Generated '%s'" % outputFilePath) + print("Generated '{}'".format(fout)) # Update version numbers def update_version():