+++ /dev/null
-import re\r
-import sys\r
-\r
-# Write the config.c file\r
-\r
-never = ['marshal', '__main__', '__builtin__', 'sys', 'exceptions', '_warnings']\r
-\r
-def makeconfig(infp, outfp, modules, with_ifdef=0):\r
- m1 = re.compile('-- ADDMODULE MARKER 1 --')\r
- m2 = re.compile('-- ADDMODULE MARKER 2 --')\r
- while 1:\r
- line = infp.readline()\r
- if not line: break\r
- outfp.write(line)\r
- if m1 and m1.search(line):\r
- m1 = None\r
- for mod in modules:\r
- if mod in never:\r
- continue\r
- if with_ifdef:\r
- outfp.write("#ifndef init%s\n"%mod)\r
- outfp.write('extern void init%s(void);\n' % mod)\r
- if with_ifdef:\r
- outfp.write("#endif\n")\r
- elif m2 and m2.search(line):\r
- m2 = None\r
- for mod in modules:\r
- if mod in never:\r
- continue\r
- outfp.write('\t{"%s", init%s},\n' %\r
- (mod, mod))\r
- if m1:\r
- sys.stderr.write('MARKER 1 never found\n')\r
- elif m2:\r
- sys.stderr.write('MARKER 2 never found\n')\r
-\r
-\r
-# Test program.\r
-\r
-def test():\r
- if not sys.argv[3:]:\r
- print 'usage: python makeconfig.py config.c.in outputfile',\r
- print 'modulename ...'\r
- sys.exit(2)\r
- if sys.argv[1] == '-':\r
- infp = sys.stdin\r
- else:\r
- infp = open(sys.argv[1])\r
- if sys.argv[2] == '-':\r
- outfp = sys.stdout\r
- else:\r
- outfp = open(sys.argv[2], 'w')\r
- makeconfig(infp, outfp, sys.argv[3:])\r
- if outfp != sys.stdout:\r
- outfp.close()\r
- if infp != sys.stdin:\r
- infp.close()\r
-\r
-if __name__ == '__main__':\r
- test()\r