Issue #1706: Require Windows 2000+
Added Py_BUILD_CORE_MODULES macro to set WINVER and NTDDI_VERSION to Windows 2000 for core modules, too Added -d option to build.bat (same as -c Debug) and fixed warning about /build option Updated Windows related readme.txt files
This commit is contained in:
parent
97fac3eb0a
commit
95d644708e
|
@ -1562,6 +1562,10 @@ C API
|
|||
Windows
|
||||
-------
|
||||
|
||||
- Patch #1706: Drop support for Win9x, WinME and NT4. Python now requires
|
||||
Windows 2000 or greater. The _WINVER and NTDDI_VERSION macros are set to
|
||||
Win2k for x86/32bit builds and WinXP for AMD64 builds.
|
||||
|
||||
- Conditionalize definition of _CRT_SECURE_NO_DEPRECATE
|
||||
and _CRT_NONSTDC_NO_DEPRECATE.
|
||||
|
||||
|
|
|
@ -158,10 +158,12 @@ WIN32 is still required for the locale module.
|
|||
/* set the version macros for the windows headers */
|
||||
#ifdef MS_WINX64
|
||||
/* 64 bit only runs on XP or greater */
|
||||
#define Py_WINVER 0x0501
|
||||
#define Py_WINVER _WIN32_WINNT_WINXP
|
||||
#define Py_NTDDI NTDDI_WINXP
|
||||
#else
|
||||
/* NT 4.0 or greater required otherwise */
|
||||
#define Py_WINVER 0x0400
|
||||
/* Python 2.6+ requires Windows 2000 or greater */
|
||||
#define Py_WINVER _WIN32_WINNT_WIN2K
|
||||
#define Py_NTDDI NTDDI_WIN2KSP4
|
||||
#endif
|
||||
|
||||
/* We only set these values when building Python - we don't want to force
|
||||
|
@ -171,7 +173,10 @@ WIN32 is still required for the locale module.
|
|||
structures etc so it can optionally use new Windows features if it
|
||||
determines at runtime they are available.
|
||||
*/
|
||||
#ifdef Py_BUILD_CORE
|
||||
#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_MODULE)
|
||||
#ifndef NTDDI_VERSION
|
||||
#define NTDDI_VERSION Py_NTDDI
|
||||
#endif
|
||||
#ifndef WINVER
|
||||
#define WINVER Py_WINVER
|
||||
#endif
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
Welcome to the "PC" subdirectory of the Python distribution
|
||||
***********************************************************
|
||||
|
||||
*** Note: the project files for MS VC++ 7.1 are now in the
|
||||
*** PCbuild directory. See the file readme.txt there for build
|
||||
*** instructions. There is some information below that might
|
||||
*** still be relevant.
|
||||
|
||||
This "PC" subdirectory contains complete project files to make
|
||||
several older PC ports of Python, as well as all the PC-specific
|
||||
Python source files. It should be located in the root of the
|
||||
|
@ -79,18 +74,23 @@ dllbase_nt.txt A (manually maintained) list of base addresses for
|
|||
example_nt A subdirectory showing how to build an extension as a
|
||||
DLL.
|
||||
|
||||
Visual Studio 6.0
|
||||
=================
|
||||
The subdirectory VC6 contains Visual Studio 6 project files. These
|
||||
were originally located in the PCBuild directory, but are no longer
|
||||
maintained.
|
||||
Legacy support for older versions of Visual Studio
|
||||
==================================================
|
||||
The subdirectories VC6, VS7.1 and VS8.0 contain legacy support older
|
||||
versions of Microsoft Visual Studio. See PCbuild/readme.txt.
|
||||
|
||||
EMX development tools for OS/2
|
||||
==============================
|
||||
|
||||
See os2emx/readme.txt. This platform is maintained by Andrew MacIntyre.
|
||||
|
||||
IBM VisualAge C/C++ for OS/2
|
||||
============================
|
||||
|
||||
See os2vacpp/readme.txt. This platform is supported by Jeff Rush.
|
||||
|
||||
NOTE: Support for os2vacpp may be dropped in the near future. Please move
|
||||
to EMX.
|
||||
|
||||
Note for Windows 3.x and DOS users
|
||||
==================================
|
||||
|
|
|
@ -5,12 +5,13 @@ rem just for convenience.
|
|||
setlocal
|
||||
set platf=Win32
|
||||
set conf=Release
|
||||
set build=/build
|
||||
set build=
|
||||
|
||||
:CheckOpts
|
||||
if "%1"=="-c" (set conf=%2) & shift & shift & goto CheckOpts
|
||||
if "%1"=="-c" (set conf=%2) & shift & shift & goto CheckOpts
|
||||
if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
|
||||
if "%1"=="-r" (set build=/rebuild) & shift & goto CheckOpts
|
||||
if "%1"=="-r" (set build=/rebuild) & shift & goto CheckOpts
|
||||
if "%1"=="-d" (set conf=Debug) & shift & goto CheckOpts
|
||||
|
||||
set cmd=vcbuild /useenv pcbuild.sln %build% "%conf%|%platf%"
|
||||
echo %cmd%
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="Py_BUILD_CORE_MODULE"
|
||||
RuntimeLibrary="2"
|
||||
/>
|
||||
<Tool
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
Optimization="0"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
PreprocessorDefinitions="Py_BUILD_CORE_MODULE"
|
||||
RuntimeLibrary="3"
|
||||
/>
|
||||
<Tool
|
||||
|
|
|
@ -19,7 +19,7 @@ folders or profile guided optimization (PGO). The missing bits and pieces
|
|||
won't stop you from building Python.
|
||||
|
||||
The solution is configured to build the projects in the correct order. "Build
|
||||
Solution" or F6 takes care of dependencies except for x64 builds. To make
|
||||
Solution" or F7 takes care of dependencies except for x64 builds. To make
|
||||
cross compiling x64 builds on a 32bit OS possible the x64 builds require a
|
||||
32bit version of Python.
|
||||
|
||||
|
@ -30,7 +30,8 @@ NOTE:
|
|||
running a Python core buildbot test slave; see SUBPROJECTS below)
|
||||
|
||||
When using the Debug setting, the output files have a _d added to
|
||||
their name: python30_d.dll, python_d.exe, parser_d.pyd, and so on.
|
||||
their name: python30_d.dll, python_d.exe, parser_d.pyd, and so on. Both
|
||||
the build and rt batch files accept a -d option for debug builds.
|
||||
|
||||
The 32bit builds end up in the solution folder PCbuild while the x64 builds
|
||||
land in the amd64 subfolder. The PGI and PGO builds for profile guided
|
||||
|
@ -122,6 +123,8 @@ _tkinter
|
|||
|
||||
Use x64 instead of Win32 for the x64 platform.
|
||||
|
||||
NOTE: Tcl/Tk 8.4 doesn't compile for x64.
|
||||
|
||||
Build Tcl first
|
||||
---------------
|
||||
Use "Start -> All Programs -> Microsoft Visual Studio 2008
|
||||
|
@ -285,7 +288,7 @@ Building for Itanium
|
|||
|
||||
NOTE:
|
||||
Official support for Itanium builds have been dropped from the build. Please
|
||||
contact as and provide patches if you are interested in Itanium builds.
|
||||
contact us and provide patches if you are interested in Itanium builds.
|
||||
|
||||
The project files support a ReleaseItanium configuration which creates
|
||||
Win64/Itanium binaries. For this to work, you need to install the Platform
|
||||
|
|
Loading…
Reference in New Issue