import reimport sys# Write the config.c filenever = ['marshal', '_imp', '_ast', '__main__', 'builtins','sys', 'gc', '_warnings']def makeconfig(infp, outfp, modules, with_ifdef=0):m1 = re.compile('-- ADDMODULE MARKER 1 --')m2 = re.compile('-- ADDMODULE MARKER 2 --')for line in infp:outfp.write(line)if m1 and m1.search(line):m1 = Nonefor mod in modules:if mod in never:continueif with_ifdef:outfp.write("#ifndef PyInit_%s\n"%mod)outfp.write('extern PyObject* PyInit_%s(void);\n' % mod)if with_ifdef:outfp.write("#endif\n")elif m2 and m2.search(line):m2 = Nonefor mod in modules:if mod in never:continueoutfp.write('\t{"%s", PyInit_%s},\n' %(mod, mod))if m1:sys.stderr.write('MARKER 1 never found\n')elif m2:sys.stderr.write('MARKER 2 never found\n')# Test program.def test():if not sys.argv[3:]:print('usage: python makeconfig.py config.c.in outputfile', end=' ')print('modulename ...')sys.exit(2)if sys.argv[1] == '-':infp = sys.stdinelse:infp = open(sys.argv[1])if sys.argv[2] == '-':outfp = sys.stdoutelse:outfp = open(sys.argv[2], 'w')makeconfig(infp, outfp, sys.argv[3:])if outfp != sys.stdout:outfp.close()if infp != sys.stdin:infp.close()if __name__ == '__main__':test()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。