numam-spdk/scripts/genconfig.py
Jim Harris 840b922551 genconfig.py: only use CONFIG.local
Everything we need is in CONFIG.local - so just use that
file.  This allows us to remove the for loop as well.

CONFIG.local is currently a symlink to mk/config.mk - that
will be changed in the patch that removes the symlink.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia7f84eac85d322f2873f089ab62c99a69c4d9ef9

Reviewed-on: https://review.gerrithub.io/429947
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-10-19 14:26:14 +00:00

47 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import os
import re
import sys
comment = re.compile('^\s*#')
assign = re.compile('^\s*([a-zA-Z_]+)\s*(\?)?=\s*([^#]*)')
args = os.environ.copy()
for arg in sys.argv:
m = assign.match(arg)
if m:
var = m.group(1).strip()
val = m.group(3).strip()
args[var] = val
defs = {}
try:
with open("CONFIG.local") as f:
for line in f:
line = line.strip()
if not comment.match(line):
m = assign.match(line)
if m:
var = m.group(1).strip()
default = m.group(3).strip()
val = default
if var in args:
val = args[var]
if default.lower() == 'y' or default.lower() == 'n':
if val.lower() == 'y':
defs["SPDK_{0}".format(var)] = 1
else:
defs["SPDK_{0}".format(var)] = 0
else:
strval = val.replace('"', '\"')
defs["SPDK_{0}".format(var)] = strval
except IOError:
print("CONFIG.local not found")
for key, value in sorted(defs.items()):
if value == 0:
print("#undef {0}".format(key))
else:
print("#define {0} {1}".format(key, value))