Browse Source

deploy-ng: Include all encodings by default

For Python 3.7 on 64bit Linux, this adds about 300-400KB to built
applications.
Mitchell Stokes 7 years ago
parent
commit
18c1e242f8
1 changed files with 4 additions and 6 deletions
  1. 4 6
      direct/src/showutil/FreezeTool.py

+ 4 - 6
direct/src/showutil/FreezeTool.py

@@ -35,16 +35,14 @@ isDebugBuild = (python.lower().endswith('_d'))
 # NB. if encodings are removed, be sure to remove them from the shortcut in
 # NB. if encodings are removed, be sure to remove them from the shortcut in
 # deploy-stub.c.
 # deploy-stub.c.
 startupModules = [
 startupModules = [
-    'encodings', 'encodings.aliases', 'encodings.undefined', 'encodings.ascii',
-    'encodings.cp1252', 'encodings.latin_1', 'encodings.utf_8',
-    'encodings.mbcs', 'encodings.cp850', 'encodings.cp437', 'imp',
-    ]
+    'imp', 'encodings', 'encodings.*',
+]
 if sys.version_info >= (3, 0):
 if sys.version_info >= (3, 0):
     # Modules specific to Python 3
     # Modules specific to Python 3
     startupModules += ['io', 'marshal', 'importlib.machinery', 'importlib.util']
     startupModules += ['io', 'marshal', 'importlib.machinery', 'importlib.util']
 else:
 else:
     # Modules specific to Python 2
     # Modules specific to Python 2
-    startupModules += ['encodings.string_escape']
+    startupModules += []
 
 
 # These are some special init functions for some built-in Python modules that
 # These are some special init functions for some built-in Python modules that
 # deviate from the standard naming convention.  A value of None means that a
 # deviate from the standard naming convention.  A value of None means that a
@@ -1048,7 +1046,7 @@ class Freezer:
 
 
             for moduleName in startupModules:
             for moduleName in startupModules:
                 if moduleName not in self.modules:
                 if moduleName not in self.modules:
-                    self.modules[moduleName] = self.ModuleDef(moduleName, implicit = True)
+                    self.addModule(moduleName, implicit = True)
 
 
         # Excluding a parent module also excludes all its
         # Excluding a parent module also excludes all its
         # (non-explicit) children, unless the parent has allowChildren
         # (non-explicit) children, unless the parent has allowChildren