diff --git a/Build.py b/Build.py index bb4f78c..47643ff 100644 --- a/Build.py +++ b/Build.py @@ -483,22 +483,24 @@ class ELFEXE(Target): print "rebuilding %s because pkg is more recent" % outnm return 1 return 0 - def assemble(self): - print "building ELFEXE", os.path.basename(self.out) - trash = [] - outf = open(self.name, 'wb') + def _bootloader_postfix(self, exe): if iswin: - exe = 'support/loader/run_' + exe = exe + "_" is24 = hasattr(sys, "version_info") and sys.version_info[:2] >= (2,4) exe = exe + "67"[is24] exe = exe + "rd"[self.debug] exe = exe + "wc"[self.console] else: - exe = 'support/loader/run' if not self.console: exe = exe + 'w' if self.debug: exe = exe + '_d' + return exe + def assemble(self): + print "building ELFEXE", os.path.basename(self.out) + trash = [] + outf = open(self.name, 'wb') + exe = self._bootloader_postfix('support/loader/run') exe = os.path.join(HOMEPATH, exe) if iswin or cygwin: exe = exe + '.exe' @@ -541,9 +543,7 @@ class DLL(ELFEXE): def assemble(self): print "building DLL", os.path.basename(self.out) outf = open(self.name, 'wb') - dll = 'support/loader/inprocsrvr' - if self.debug: - dll = dll + '_d' + dll = self._bootloader_postfix('support/loader/inprocsrvr') dll = os.path.join(HOMEPATH, dll) + '.dll' self.copy(dll, outf) self.copy(self.pkg.name, outf) diff --git a/doc/CHANGES.txt b/doc/CHANGES.txt index 8827274..33ec14b 100644 --- a/doc/CHANGES.txt +++ b/doc/CHANGES.txt @@ -8,6 +8,8 @@ Current changes since PyInstaller 1.0 + Fix problem with rare encodings introduced in newer Python versions: now all the encodings are automatically found and included, so this problem should be gone forever. + + Fix building of COM servers (was broken in 1.0 because of the new build + system). + Mimic Python 2.4 behaviour with broken imports: sys.modules is cleaned up afterwise. This allows to package SQLObject applications under Windows with Python 2.4 and above.