diff options
| author | Guido van Rossum <guido@python.org> | 2001-10-18 19:15:32 +0000 |
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2001-10-18 19:15:32 +0000 |
| commit | 03f7f088743bbab2dd5aa426670a41fd643112cd (patch) | |
| tree | b1427132d21ba0eb5f14120e1d91b6425e9b0826 /Tools/freeze/makefreeze.py | |
| parent | db7287c0f5b197bbfaf624d181333a92135ec261 (diff) | |
| download | cpython-git-03f7f088743bbab2dd5aa426670a41fd643112cd.tar.gz | |
Part 2/2 of SF patch #416704: More robust freeze, by Toby Dickenson.
(With slight cosmetic improvements to shorten lines and a grammar fix
to a docstring.)
This addes -X and -E options to freeze. From the docstring:
-X module Like -x, except the module can never be imported by
the frozen binary.
-E: Freeze will fail if any modules can't be found (that
were not excluded using -x or -X).
Diffstat (limited to 'Tools/freeze/makefreeze.py')
| -rw-r--r-- | Tools/freeze/makefreeze.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Tools/freeze/makefreeze.py b/Tools/freeze/makefreeze.py index b7bf9fda4e..ac59a9cbd9 100644 --- a/Tools/freeze/makefreeze.py +++ b/Tools/freeze/makefreeze.py @@ -32,7 +32,7 @@ main(argc, argv) """ -def makefreeze(base, dict, debug=0, entry_point = None): +def makefreeze(base, dict, debug=0, entry_point=None, fail_import=()): if entry_point is None: entry_point = default_entry_point done = [] files = [] @@ -63,6 +63,13 @@ def makefreeze(base, dict, debug=0, entry_point = None): outfp.write(header) for mod, mangled, size in done: outfp.write('\t{"%s", M_%s, %d},\n' % (mod, mangled, size)) + outfp.write('\n') + # The following modules have a NULL code pointer, indicating + # that the prozen program should not search for them on the host + # system. Importing them will *always* raise an ImportError. + # The zero value size is never used. + for mod in fail_import: + outfp.write('\t{"%s", NULL, 0},\n' % (mod,)) outfp.write(trailer) outfp.write(entry_point) outfp.close() |
