]> granicus.if.org Git - python/commitdiff
Issue #1706: Require Windows 2000+
authorChristian Heimes <christian@cheimes.de>
Sat, 9 Feb 2008 19:55:22 +0000 (19:55 +0000)
committerChristian Heimes <christian@cheimes.de>
Sat, 9 Feb 2008 19:55:22 +0000 (19:55 +0000)
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
PC/pyconfig.h
PC/readme.txt
PCbuild/build.bat
PCbuild/pyd.vsprops
PCbuild/pyd_d.vsprops
PCbuild/readme.txt

index d3d04a5c33f0e4e1fee03e019f3b00efe7a16304..4610a4dab9a40c8c8293b43678342e45bfcb0669 100644 (file)
--- 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.
 
index 560818f542e4496b12b30cf945a4d02250cd9c05..1892cf1ea5868e9ea046ef4a5854c49376512830 100644 (file)
@@ -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
index f1db9d37670cab523bab33b84475d339faac62a2..b5a5a8711861b89b951a678cf0cb1b29fb9b23aa 100644 (file)
@@ -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
 ==================================
index d181daf802b82ff62394f2464170db254491fe50..a73560ebbff3721b9d73fe50b7854544e1c5295c 100644 (file)
@@ -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%
index 2e21a8068a2d163af251c9d2fa1fb8788de72afd..726cebd1b0089b0daef3901dc856534bd1153e65 100644 (file)
@@ -7,6 +7,7 @@
        >
        <Tool
                Name="VCCLCompilerTool"
+               PreprocessorDefinitions="Py_BUILD_CORE_MODULE"
                RuntimeLibrary="2"
        />
        <Tool
index b8f98f686aef91976dba30fc98f33e6f0f5033f1..f838b67d8ad0cb8863ab74c195919e965a6fd950 100644 (file)
@@ -10,6 +10,7 @@
                Optimization="0"
                InlineFunctionExpansion="0"
                EnableIntrinsicFunctions="false"
+               PreprocessorDefinitions="Py_BUILD_CORE_MODULE"
                RuntimeLibrary="3"
        />
        <Tool
index 2b2d1f861c289c767afbbdbd416bdf7611a2ae99..f8b3f65062aa0b70f6133ab5800f954ff62a2555 100644 (file)
@@ -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