menuconfig.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import os
  2. # make rtconfig.h from .config
  3. def mk_rtconfig(filename):
  4. try:
  5. config = file(filename)
  6. except:
  7. print 'open .config failed'
  8. return
  9. rtconfig = file('rtconfig.h', 'w')
  10. rtconfig.write('#ifndef RT_CONFIG_H__\n')
  11. rtconfig.write('#define RT_CONFIG_H__\n\n')
  12. empty_line = 1
  13. for line in config:
  14. line = line.lstrip(' ').replace('\n', '').replace('\r', '')
  15. if len(line) == 0: continue
  16. if line[0] == '#':
  17. if len(line) == 1:
  18. if empty_line:
  19. continue
  20. rtconfig.write('\n')
  21. empty_line = 1
  22. continue
  23. rtconfig.write('/*%s */\n' % line[1:])
  24. empty_line = 0
  25. else:
  26. empty_line = 0
  27. setting = line.split('=')
  28. if len(setting) >= 2:
  29. if setting[0].startswith('CONFIG_'):
  30. setting[0] = setting[0][7:]
  31. if setting[1] == 'y':
  32. rtconfig.write('#define %s\n' % setting[0])
  33. else:
  34. rtconfig.write('#define %s %s\n' % (setting[0], setting[1]))
  35. rtconfig.write('#endif\n')
  36. rtconfig.close()
  37. def config():
  38. mk_rtconfig('.config')