MCPcopy Create free account
hub / github.com/HelenOS/helenos / main

Function main

tools/mkarray.py:57–190  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

55 yield string[start:start + length]
56
57def main():
58 arg_check()
59
60 if sys.argv[1] == "--deflate":
61 sys.argv.pop(1)
62 arg_check()
63 compress = True
64 else:
65 compress = False
66
67 dest = sys.argv[1]
68 label = sys.argv[2]
69 as_prolog = sys.argv[3]
70 section = sys.argv[4]
71
72 timestamp = (1980, 1, 1, 0, 0, 0)
73
74 header_ctx = []
75 desc_ctx = []
76 size_ctx = []
77 data_ctx = []
78
79 src_cnt = 0
80
81 archive = zipfile.ZipFile("%s.zip" % dest, "w", zipfile.ZIP_STORED)
82
83 for src in sys.argv[5:]:
84 basename = os.path.basename(src)
85 plainname = os.path.splitext(basename)[0]
86 symbol = basename.replace(".", "_")
87
88 print("%s -> %s" % (src, symbol))
89
90 src_in = open(src, "rb")
91 src_data = src_in.read()
92 src_in.close()
93
94 length = len(src_data)
95
96 if compress:
97 src_data = deflate(src_data)
98 src_fname = os.path.basename("%s.deflate" % src)
99 zipinfo = zipfile.ZipInfo(src_fname, timestamp)
100 archive.writestr(zipinfo, src_data)
101 else:
102 src_fname = src
103
104 if sys.version_info < (3,):
105 src_data = bytearray(src_data)
106
107 length_out = len(src_data)
108
109 header_ctx.append("extern uint8_t %s[];" % symbol)
110 header_ctx.append("extern size_t %s_size;" % symbol)
111
112 data_ctx.append(".globl %s" % symbol)
113 data_ctx.append(".balign 8")
114 data_ctx.append(".size %s, %u" % (symbol, length_out))

Callers 1

mkarray.pyFile · 0.70

Calls 7

arg_checkFunction · 0.85
openFunction · 0.85
deflateFunction · 0.85
popMethod · 0.45
closeMethod · 0.45
appendMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected