Minimum fixes to make freeze.py do something useful.

This commit is contained in:
Georg Brandl 2010-08-02 22:25:16 +00:00
parent bf76ce168c
commit 0063958c2e
2 changed files with 7 additions and 8 deletions

View file

@ -201,7 +201,7 @@ def main():
# modules that are imported by the Python runtime
implicits = []
for module in ('site', 'warnings',):
for module in ('site', 'warnings', 'encodings.utf_8', 'encodings.latin_1'):
if module not in exclude:
implicits.append(module)

View file

@ -3,14 +3,13 @@
# Write the config.c file
never = ['marshal', '__main__', 'builtins', 'sys', 'exceptions', '_warnings']
never = ['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 --')
while 1:
line = infp.readline()
if not line: break
for line in infp:
outfp.write(line)
if m1 and m1.search(line):
m1 = None
@ -18,8 +17,8 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
if mod in never:
continue
if with_ifdef:
outfp.write("#ifndef init%s\n"%mod)
outfp.write('extern void init%s(void);\n' % mod)
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):
@ -27,7 +26,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
for mod in modules:
if mod in never:
continue
outfp.write('\t{"%s", init%s},\n' %
outfp.write('\t{"%s", PyInit_%s},\n' %
(mod, mod))
if m1:
sys.stderr.write('MARKER 1 never found\n')