]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/scripts/genconfig.py
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / scripts / genconfig.py
1 #!/usr/bin/env python3
2
3 import os
4 import re
5 import sys
6
7 comment = re.compile(r'^\s*#')
8 assign = re.compile(r'^\s*([a-zA-Z0-9_]+)\s*(\?)?=\s*([^#]*)')
9
10 args = os.environ.copy()
11 for arg in sys.argv:
12 m = assign.match(arg)
13 if m:
14 var = m.group(1).strip()
15 val = m.group(3).strip()
16 args[var] = val
17
18 defs = {}
19 try:
20 with open("mk/config.mk") as f:
21 for line in f:
22 line = line.strip()
23 if not comment.match(line):
24 m = assign.match(line)
25 if m:
26 var = m.group(1).strip()
27 default = m.group(3).strip()
28 val = default
29 if var in args:
30 val = args[var]
31 if default.lower() == 'y' or default.lower() == 'n':
32 if val.lower() == 'y':
33 defs["SPDK_{0}".format(var)] = 1
34 else:
35 defs["SPDK_{0}".format(var)] = 0
36 else:
37 strval = val.replace('"', '\"')
38 defs["SPDK_{0}".format(var)] = strval
39 except IOError:
40 print("mk/config.mk not found")
41
42 for key, value in sorted(defs.items()):
43 if value == 0:
44 print("#undef {0}".format(key))
45 else:
46 print("#define {0} {1}".format(key, value))