diff options
author | 2020-08-24 22:01:39 +0200 | |
---|---|---|
committer | 2020-08-24 22:01:38 +0200 | |
commit | 8335c1bed5d96ddfe07d53894ac742a078262b48 (patch) | |
tree | 771ab8b256ccbb1f3a8b86808c0d454419922329 /src/lib/netlist/build/create_lib_entries.py | |
parent | 2880eea644c9fa32638b1e9c936c1e141ae97f7b (diff) |
netlist: build system improvements
* Medium term this will significantly ease adding devices to netlist.
Diffstat (limited to 'src/lib/netlist/build/create_lib_entries.py')
-rw-r--r-- | src/lib/netlist/build/create_lib_entries.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/lib/netlist/build/create_lib_entries.py b/src/lib/netlist/build/create_lib_entries.py new file mode 100644 index 00000000000..461d5e2038b --- /dev/null +++ b/src/lib/netlist/build/create_lib_entries.py @@ -0,0 +1,57 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Couriersud + +import os +import os.path +import re +import sys +import xml.sax +import xml.sax.saxutils +import zlib + + +# workaround for version incompatibility +if sys.version_info > (3, ): + long = int + +# globals +devices = [] + +def process_file(srcfile): + src = open(srcfile,'r') + lines = src.readlines() + for line in lines: + ls = re.sub("\s+","",line.strip()) + ls = re.sub("^\s*//.*","",ls) + m = re.match(r"NETLIB_DEVICE_IMPL\((\w+),", ls) + #print("Line{}: {}".format(count, line.strip())) + if m != None: + n = m.group(1) + devices.append(n) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_ALIAS\((\w+),", ls) + if m != None: + n = m.group(1) + devices.append(n) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_NS\((\w+),(\w+),", ls) + if m != None: + n = m.group(2) + devices.append(n) + src.close() + +if __name__ == '__main__': + if (len(sys.argv) == 0): + print('Usage:') + print(' extract files ...') + sys.exit(0) + + for argno in range(1, len(sys.argv)): + process_file(sys.argv[argno]) + + devices.sort() + for d in devices: + print("LIB_ENTRY({})".format(d)) +
\ No newline at end of file |