blob: b4ce2a22e8c0b2f83347d432b80909196702393f [file] [log] [blame]
Scott Branden62711602019-12-27 12:54:28 -08001#!/usr/bin/env python3
Jens Wiklander964bdd92018-04-26 14:37:02 +02002# SPDX-License-Identifier: BSD-2-Clause
3#
4# Copyright (c) 2018, Linaro Limited
5#
6
7def get_args():
8 import argparse
9
10 parser = argparse.ArgumentParser()
11 parser.add_argument('--name', required=True,
12 help='Name of variable in C file')
13 parser.add_argument('--out', required=True, help='Name of C file')
14 parser.add_argument('--inf', required=True, help='Name of in file')
15
16 return parser.parse_args()
17
18def main():
19 import array
20
21 args = get_args()
22
23 inf = open(args.inf, 'r')
24 f = open(args.out, 'w')
25
26 f.write("/* automatically generated */\n")
27 f.write("#include <stdint.h>\n")
28 f.write("#include <stddef.h>\n\n")
29
30 f.write("const uint8_t " + args.name + "[] = {\n")
31 i = 0
Scott Branden62711602019-12-27 12:54:28 -080032 for x in array.array("B", map(ord, (inf.read()))):
Jens Wiklander964bdd92018-04-26 14:37:02 +020033 f.write("0x" + '{0:02x}'.format(x) + ",")
34 i = i + 1
35 if i % 8 == 0:
36 f.write("\n")
37 else:
38 f.write(" ")
39
Ricardo Salveti78ec4e92019-06-26 17:32:11 -030040 f.write("'\\0'};\n")
Jens Wiklander964bdd92018-04-26 14:37:02 +020041 f.write("const size_t " + args.name + "_size = sizeof(" +
Ricardo Salveti78ec4e92019-06-26 17:32:11 -030042 args.name + ") - 1;\n")
Jens Wiklander964bdd92018-04-26 14:37:02 +020043
44 f.close()
45 inf.close()
46
47if __name__ == "__main__":
48 main()