diff options
| author | Andrew Scheller <github@loowis.durge.org> | 2014-04-11 00:02:10 +0100 |
|---|---|---|
| committer | Andrew Scheller <github@loowis.durge.org> | 2014-04-16 02:41:26 +0100 |
| commit | 1452221aca8851df029702e8a71be339005bd5fd (patch) | |
| tree | 1d310c209c57b3b8d2e0add4125fec5fb001b49d /tools/file2h.py | |
| parent | 2822d4e6ce9cdb29fcf4646212519447da338678 (diff) | |
Auto-generate the stmhal/pybcdc_inf header file from static files
The USB VID&PID are automatically extracted from usbd_desc_cdc_msc.c
and inserted into pybcdc_inf.template, ensuring that the same USB
IDs get used everywhere
Diffstat (limited to 'tools/file2h.py')
| -rw-r--r-- | tools/file2h.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/file2h.py b/tools/file2h.py new file mode 100644 index 000000000..fb5bd1a4b --- /dev/null +++ b/tools/file2h.py @@ -0,0 +1,28 @@ +# Reads in a text file, and performs the necessary escapes so that it +# can be #included as a static string like: +# static const char string_from_textfile[] = +# #include "build/textfile.h" +# ; +# This script simply prints the escaped string straight to stdout + +from __future__ import print_function + +import sys + +# Can either be set explicitly, or left blank to auto-detect +line_end = '' + +if __name__ == "__main__": + filename = sys.argv[1] + for line in open(filename, 'r').readlines(): + if not line_end: + for ending in ('\r\n', '\r', '\n'): + if line.endswith(ending): + line_end = ending.replace('\r', '\\r').replace('\n', '\\n') + break + if not line_end: + raise Exception("Couldn't auto-detect line-ending of %s" % filename) + line = line.rstrip('\r\n') + line = line.replace('\\', '\\\\') + line = line.replace('"', '\\"') + print('"%s%s"' % (line, line_end)) |
