xref: /nrf52832-nimble/rt-thread/tools/genconf.py (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZeroimport os
2*10465441SEvalZero
3*10465441SEvalZerodef genconfig() :
4*10465441SEvalZero    from SCons.Script import SCons
5*10465441SEvalZero
6*10465441SEvalZero    PreProcessor = SCons.cpp.PreProcessor()
7*10465441SEvalZero
8*10465441SEvalZero    try:
9*10465441SEvalZero        f = open('rtconfig.h', 'r')
10*10465441SEvalZero        contents = f.read()
11*10465441SEvalZero        f.close()
12*10465441SEvalZero    except :
13*10465441SEvalZero        print("Open rtconfig.h file failed.")
14*10465441SEvalZero
15*10465441SEvalZero    PreProcessor.process_contents(contents)
16*10465441SEvalZero    options = PreProcessor.cpp_namespace
17*10465441SEvalZero
18*10465441SEvalZero    try:
19*10465441SEvalZero        f = open('.config', 'w')
20*10465441SEvalZero        for (opt, value) in options.items():
21*10465441SEvalZero            if type(value) == type(1):
22*10465441SEvalZero                f.write("CONFIG_%s=%d\n" % (opt, value))
23*10465441SEvalZero
24*10465441SEvalZero            if type(value) == type('') and value == '':
25*10465441SEvalZero                f.write("CONFIG_%s=y\n" % opt)
26*10465441SEvalZero            elif type(value) == type('str'):
27*10465441SEvalZero                f.write("CONFIG_%s=%s\n" % (opt, value))
28*10465441SEvalZero
29*10465441SEvalZero        print("Generate .config done!")
30*10465441SEvalZero        f.close()
31*10465441SEvalZero    except:
32*10465441SEvalZero        print("Generate .config file failed.")
33