Commit ede328a7 by Dan Committed by Wenzel Jakob

Allow writing output to file instead of stdout.

parent a33212df
...@@ -230,7 +230,7 @@ class ExtractionThread(Thread): ...@@ -230,7 +230,7 @@ class ExtractionThread(Thread):
job_semaphore.release() job_semaphore.release()
def mkdoc(args): def mkdoc(args, out_file=sys.stdout):
parameters = [] parameters = []
filenames = [] filenames = []
if "-x" not in args: if "-x" not in args:
...@@ -298,7 +298,7 @@ def mkdoc(args): ...@@ -298,7 +298,7 @@ def mkdoc(args):
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable" #pragma GCC diagnostic ignored "-Wunused-variable"
#endif #endif
''') ''', file=out_file)
output.clear() output.clear()
for filename in filenames: for filename in filenames:
...@@ -319,18 +319,33 @@ def mkdoc(args): ...@@ -319,18 +319,33 @@ def mkdoc(args):
name_prev = name name_prev = name
name_ctr = 1 name_ctr = 1
print('\nstatic const char *%s =%sR"doc(%s)doc";' % print('\nstatic const char *%s =%sR"doc(%s)doc";' %
(name, '\n' if '\n' in comment else ' ', comment)) (name, '\n' if '\n' in comment else ' ', comment), file=out_file)
print(''' print('''
#if defined(__GNUG__) #if defined(__GNUG__)
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif
''') ''', file=out_file)
if __name__ == '__main__': if __name__ == '__main__':
args = sys.argv[1:]
out_path = None
for idx, arg in enumerate(args):
if arg.startswith("-o"):
args.remove(arg)
try: try:
mkdoc(sys.argv[1:]) out_path = arg[2:] or args.pop(idx)
except IndexError:
print("-o flag requires an argument")
exit(-1)
break
try:
if out_path:
with open(out_path, 'w') as out_file:
mkdoc(args, out_file)
else:
mkdoc(args)
except NoFilenamesError: except NoFilenamesError:
print('Syntax: %s [.. a list of header files ..]' % sys.argv[0]) print('Syntax: %s [.. a list of header files ..]' % sys.argv[0])
exit(-1) exit(-1)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment