by bdist_wininst *must* use the same runtime libary as the Python
version.
Actually this means the Python version where the installer is run, not
the one which is used to build it. Must think about that - for now I
assume MSVC6 is used up to Python 2.3, and MSVC7.1 is used starting at
Python 2.4.
So the filename for wininst.exe is now wininst-6.exe for the Release
version and wininst-6_d.exe for the Debug version, when built with
MSVC6.
install.c: support for a 'pre-install-script', run before anything has
been installed. Provides a 'message_box' module function for use by
either the pre-install or post-install scripts.
bdist_wininst.py: support for pre-install script. Typo (build->built),
fixes so that --target-version can still work, even when the
distribution has extension modules - in this case, we insist on
--skip-build, as we still can't actually build other versions.
again. Removed the following subprojects and folded them into pythoncore,
to match what's being done under VC7. We *can* build the core DLL
under VC6 again after this:
datetime.dsp
winreg.dsp
parser.dsp
_sre.dsp
_csv.dsp
mmap.dsp
_symtable.dsp
isn't checked, and it *is* possible that a very large alloca() call is
made, e.g. when a large registry value is being read. I don't know if
alloca() in that case returns NULL or returns a pointer pointing outside
the stack, and I don't want to know -- I've simply replaced all calls to
alloca() with either PyMem_Malloc() or PyString_FromStringAndSize(NULL,)
as appropriate, followed by a size check. This addresses SF buf 851056.
Will backport to 2.3 next.
change the version number is no longer required.
Instead, a make_versioninfo.exe is compiled, which spits out an
include file for python_nt.rc.
Will backport to 2.3
- more clean up of the generated import library definiton (.DEF file)
following checking of patch 770521, and tightening of the sed regexps.
- use -O3 even with gcc 2.8.1 - worth nearly 10% with 2.3; worth
nothing with 2.2.x.
- clean up a couple of whitespace issues introduced by a cut'n'paste.
- separate the building of the core from the wrapper executables and the
external modules (.PYDs), based on the Py_BUILD_CORE define;
- clean up the generated import library definiton (.DEF file) to remove
references to a number of non-static symbols that aren't part of the
Python API and which shouldn't be exported by the core DLL;
- compile the release build with -fomit-frame-pointer, for a small
performance gain;
- make "make clean" remove byte compiled Python library files.