From 95d644708e17761916435d9e2125950a75ac0508 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sat, 9 Feb 2008 19:55:22 +0000 Subject: 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 --- Misc/NEWS | 4 ++++ PC/pyconfig.h | 13 +++++++++---- PC/readme.txt | 20 ++++++++++---------- PCbuild/build.bat | 7 ++++--- PCbuild/pyd.vsprops | 1 + PCbuild/pyd_d.vsprops | 1 + PCbuild/readme.txt | 9 ++++++--- 7 files changed, 35 insertions(+), 20 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index d3d04a5..4610a4d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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. diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 560818f..1892cf1 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -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 diff --git a/PC/readme.txt b/PC/readme.txt index f1db9d3..b5a5a87 100644 --- a/PC/readme.txt +++ b/PC/readme.txt @@ -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 ================================== diff --git a/PCbuild/build.bat b/PCbuild/build.bat index d181daf..a73560e 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat @@ -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% diff --git a/PCbuild/pyd.vsprops b/PCbuild/pyd.vsprops index 2e21a80..726cebd 100644 --- a/PCbuild/pyd.vsprops +++ b/PCbuild/pyd.vsprops @@ -7,6 +7,7 @@ > 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 -- cgit v0.12