diff options
-rw-r--r-- | Lib/decimal.py | 111 | ||||
-rw-r--r-- | PC/dl_nt.c | 3 | ||||
-rw-r--r-- | PCbuild9/debug.vsprops | 11 | ||||
-rw-r--r-- | PCbuild9/make_buildinfo.vcproj | 8 | ||||
-rw-r--r-- | PCbuild9/make_versioninfo.vcproj | 16 | ||||
-rw-r--r-- | PCbuild9/pyd.vsprops | 3 | ||||
-rw-r--r-- | PCbuild9/pyd_d.vsprops | 3 | ||||
-rw-r--r-- | PCbuild9/pyproject.vsprops | 2 | ||||
-rw-r--r-- | PCbuild9/python.vcproj | 32 | ||||
-rw-r--r-- | PCbuild9/pythoncore.vcproj | 32 | ||||
-rw-r--r-- | PCbuild9/pythonw.vcproj | 32 | ||||
-rw-r--r-- | PCbuild9/readme.txt | 30 | ||||
-rw-r--r-- | PCbuild9/release.vsprops | 11 | ||||
-rw-r--r-- | PCbuild9/w9xpopen.vcproj | 24 |
14 files changed, 172 insertions, 146 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py index 7842cb2..2c97dbd 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -540,21 +540,47 @@ class Decimal(object): # digits. self = object.__new__(cls) - self._is_special = False - # From an internal working value - if isinstance(value, _WorkRep): - self._sign = value.sign - self._int = str(value.int) - self._exp = int(value.exp) - return self + # From a string + # REs insist on real strings, so we can too. + if isinstance(value, str): + m = _parser(value) + if m is None: + if context is None: + context = getcontext() + return context._raise_error(ConversionSyntax, + "Invalid literal for Decimal: %r" % value) - # From another decimal - if isinstance(value, Decimal): - self._exp = value._exp - self._sign = value._sign - self._int = value._int - self._is_special = value._is_special + if m.group('sign') == "-": + self._sign = 1 + else: + self._sign = 0 + intpart = m.group('int') + if intpart is not None: + # finite number + fracpart = m.group('frac') + exp = int(m.group('exp') or '0') + if fracpart is not None: + self._int = (intpart+fracpart).lstrip('0') or '0' + self._exp = exp - len(fracpart) + else: + self._int = intpart.lstrip('0') or '0' + self._exp = exp + self._is_special = False + else: + diag = m.group('diag') + if diag is not None: + # NaN + self._int = diag.lstrip('0') + if m.group('signal'): + self._exp = 'N' + else: + self._exp = 'n' + else: + # infinity + self._int = '0' + self._exp = 'F' + self._is_special = True return self # From an integer @@ -565,6 +591,23 @@ class Decimal(object): self._sign = 1 self._exp = 0 self._int = str(abs(value)) + self._is_special = False + return self + + # From another decimal + if isinstance(value, Decimal): + self._exp = value._exp + self._sign = value._sign + self._int = value._int + self._is_special = value._is_special + return self + + # From an internal working value + if isinstance(value, _WorkRep): + self._sign = value.sign + self._int = str(value.int) + self._exp = int(value.exp) + self._is_special = False return self # tuple/list conversion (possibly from as_tuple()) @@ -616,48 +659,6 @@ class Decimal(object): raise TypeError("Cannot convert float to Decimal. " + "First convert the float to a string") - # From a string - # REs insist on real strings, so we can too. - if isinstance(value, str): - m = _parser(value) - if m is None: - if context is None: - context = getcontext() - return context._raise_error(ConversionSyntax, - "Invalid literal for Decimal: %r" % value) - - if m.group('sign') == "-": - self._sign = 1 - else: - self._sign = 0 - intpart = m.group('int') - if intpart is not None: - # finite number - fracpart = m.group('frac') - exp = int(m.group('exp') or '0') - if fracpart is not None: - self._int = (intpart+fracpart).lstrip('0') or '0' - self._exp = exp - len(fracpart) - else: - self._int = intpart.lstrip('0') or '0' - self._exp = exp - self._is_special = False - else: - diag = m.group('diag') - if diag is not None: - # NaN - self._int = diag.lstrip('0') - if m.group('signal'): - self._exp = 'N' - else: - self._exp = 'n' - else: - # infinity - self._int = '0' - self._exp = 'F' - self._is_special = True - return self - raise TypeError("Cannot convert %r to Decimal" % value) def _isnan(self): @@ -11,6 +11,7 @@ forgotten) from the programmer. #include "Python.h" #include "windows.h" +#ifdef Py_ENABLE_SHARED char dllVersionBuffer[16] = ""; // a private buffer // Python Globals @@ -35,3 +36,5 @@ BOOL WINAPI DllMain (HANDLE hInst, } return TRUE; } + +#endif /* Py_ENABLE_SHARED */ diff --git a/PCbuild9/debug.vsprops b/PCbuild9/debug.vsprops new file mode 100644 index 0000000..59acd90 --- /dev/null +++ b/PCbuild9/debug.vsprops @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="debug" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_DEBUG" + /> +</VisualStudioPropertySheet>
\ No newline at end of file diff --git a/PCbuild9/make_buildinfo.vcproj b/PCbuild9/make_buildinfo.vcproj index 8ba5c49..c42229c 100644 --- a/PCbuild9/make_buildinfo.vcproj +++ b/PCbuild9/make_buildinfo.vcproj @@ -22,7 +22,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" CharacterSet="0" > <Tool @@ -44,7 +44,7 @@ Name="VCCLCompilerTool" Optimization="0" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" RuntimeLibrary="0" /> <Tool @@ -87,7 +87,7 @@ <Configuration Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -106,7 +106,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" /> <Tool Name="VCManagedResourceCompilerTool" diff --git a/PCbuild9/make_versioninfo.vcproj b/PCbuild9/make_versioninfo.vcproj index 61feabb..dcb922b 100644 --- a/PCbuild9/make_versioninfo.vcproj +++ b/PCbuild9/make_versioninfo.vcproj @@ -21,7 +21,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -50,7 +50,7 @@ InlineFunctionExpansion="1" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -99,7 +99,7 @@ <Configuration Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -124,7 +124,7 @@ Optimization="2" InlineFunctionExpansion="1" EnableIntrinsicFunctions="true" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" /> <Tool Name="VCManagedResourceCompilerTool" @@ -165,7 +165,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="0" @@ -194,7 +194,7 @@ InlineFunctionExpansion="1" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="" - PreprocessorDefinitions="_DEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -243,7 +243,7 @@ <Configuration Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\debug.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -269,7 +269,7 @@ Optimization="0" InlineFunctionExpansion="1" EnableIntrinsicFunctions="false" - PreprocessorDefinitions="_DEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" /> <Tool Name="VCManagedResourceCompilerTool" diff --git a/PCbuild9/pyd.vsprops b/PCbuild9/pyd.vsprops index 2a69d95..2e21a80 100644 --- a/PCbuild9/pyd.vsprops +++ b/PCbuild9/pyd.vsprops @@ -3,11 +3,10 @@ ProjectType="Visual C++" Version="8.00" Name="pyd" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" > <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="NDEBUG" RuntimeLibrary="2" /> <Tool diff --git a/PCbuild9/pyd_d.vsprops b/PCbuild9/pyd_d.vsprops index f0dc87c..b8f98f6 100644 --- a/PCbuild9/pyd_d.vsprops +++ b/PCbuild9/pyd_d.vsprops @@ -3,14 +3,13 @@ ProjectType="Visual C++" Version="8.00" Name="pyd_d" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" > <Tool Name="VCCLCompilerTool" Optimization="0" InlineFunctionExpansion="0" EnableIntrinsicFunctions="false" - PreprocessorDefinitions="_DEBUG" RuntimeLibrary="3" /> <Tool diff --git a/PCbuild9/pyproject.vsprops b/PCbuild9/pyproject.vsprops index 3582f32..0078044 100644 --- a/PCbuild9/pyproject.vsprops +++ b/PCbuild9/pyproject.vsprops @@ -12,7 +12,7 @@ InlineFunctionExpansion="1" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\Include; ..\PC" - PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE" + PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE" StringPooling="true" ExceptionHandling="0" RuntimeLibrary="0" diff --git a/PCbuild9/python.vcproj b/PCbuild9/python.vcproj index 8381dcf..7efa98d 100644 --- a/PCbuild9/python.vcproj +++ b/PCbuild9/python.vcproj @@ -20,7 +20,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -43,7 +43,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -93,7 +93,7 @@ <Configuration Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -117,7 +117,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -167,7 +167,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="0" @@ -192,7 +192,7 @@ Optimization="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="" - PreprocessorDefinitions="_DEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" RuntimeLibrary="3" BrowseInformation="1" CompileAs="0" @@ -242,7 +242,7 @@ <Configuration Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -268,7 +268,7 @@ Optimization="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="" - PreprocessorDefinitions="_DEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" RuntimeLibrary="3" BrowseInformation="1" CompileAs="0" @@ -318,7 +318,7 @@ <Configuration Name="PGInstrument|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -341,7 +341,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -392,7 +392,7 @@ <Configuration Name="PGInstrument|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -416,7 +416,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -468,7 +468,7 @@ <Configuration Name="PGUpdate|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -491,7 +491,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -542,7 +542,7 @@ <Configuration Name="PGUpdate|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -566,7 +566,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_CONSOLE" + PreprocessorDefinitions="_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" diff --git a/PCbuild9/pythoncore.vcproj b/PCbuild9/pythoncore.vcproj index 878d391..1df98d4 100644 --- a/PCbuild9/pythoncore.vcproj +++ b/PCbuild9/pythoncore.vcproj @@ -21,7 +21,7 @@ <Configuration Name="Release|Win32" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -44,7 +44,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool @@ -95,7 +95,7 @@ <Configuration Name="Release|x64" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -119,7 +119,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool @@ -170,7 +170,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="0" @@ -197,7 +197,7 @@ InlineFunctionExpansion="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="3" /> <Tool @@ -248,7 +248,7 @@ <Configuration Name="Debug|x64" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -275,7 +275,7 @@ InlineFunctionExpansion="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="3" /> <Tool @@ -326,7 +326,7 @@ <Configuration Name="PGInstrument|Win32" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -349,7 +349,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool @@ -400,7 +400,7 @@ <Configuration Name="PGInstrument|x64" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -424,7 +424,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool @@ -476,7 +476,7 @@ <Configuration Name="PGUpdate|Win32" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -499,7 +499,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool @@ -550,7 +550,7 @@ <Configuration Name="PGUpdate|x64" ConfigurationType="2" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -574,7 +574,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/Zm200 " AdditionalIncludeDirectories="..\Python;..\Modules\zlib" - PreprocessorDefinitions="NDEBUG;USE_DL_EXPORT;_USRDLL" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED" RuntimeLibrary="2" /> <Tool diff --git a/PCbuild9/pythonw.vcproj b/PCbuild9/pythonw.vcproj index 1bc1dad..0013e9c 100644 --- a/PCbuild9/pythonw.vcproj +++ b/PCbuild9/pythonw.vcproj @@ -20,7 +20,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="0" @@ -45,7 +45,7 @@ Optimization="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="" - PreprocessorDefinitions="_DEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" RuntimeLibrary="3" CompileAs="0" /> @@ -92,7 +92,7 @@ <Configuration Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -117,7 +117,7 @@ Optimization="0" EnableIntrinsicFunctions="false" AdditionalIncludeDirectories="" - PreprocessorDefinitions="_DEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" RuntimeLibrary="3" CompileAs="0" /> @@ -163,7 +163,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -185,7 +185,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -234,7 +234,7 @@ <Configuration Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -257,7 +257,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -305,7 +305,7 @@ <Configuration Name="PGInstrument|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -327,7 +327,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -377,7 +377,7 @@ <Configuration Name="PGInstrument|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -400,7 +400,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -450,7 +450,7 @@ <Configuration Name="PGUpdate|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -472,7 +472,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -522,7 +522,7 @@ <Configuration Name="PGUpdate|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" > @@ -545,7 +545,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="NDEBUG;_WINDOWS" + PreprocessorDefinitions="_WINDOWS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" diff --git a/PCbuild9/readme.txt b/PCbuild9/readme.txt index 025684b..668a86b 100644 --- a/PCbuild9/readme.txt +++ b/PCbuild9/readme.txt @@ -23,8 +23,8 @@ cross compiling x64 builds on a 32bit OS possible the x64 builds require a 32bit version of Python. -note: - you probably don't want to build most of the other subprojects, unless +NOTE: + You probably don't want to build most of the other subprojects, unless you're building an entire Python distribution from scratch, or specifically making changes to the subsystems they implement, or are running a Python core buildbot test slave; see SUBPROJECTS below) @@ -209,16 +209,16 @@ _ssl You can (theoretically) use any version of OpenSSL you like - the build process will automatically select the latest version. - You must also install ActivePerl from + You must install the NASM assembler from + http://www.kernel.org/pub/software/devel/nasm/binaries/win32/ + for x86 builds. Put nasmw.exe anywhere in your PATH. + + You can also install ActivePerl from http://www.activestate.com/Products/ActivePerl/ if you like to use the official sources instead of the files from python's subversion repository. The svn version contains pre-build makefiles and assembly files. - You also need the NASM assembler - from http://www.kernel.org/pub/software/devel/nasm/binaries/win32/ - Put nasmw.exe anywhere in your PATH. - The build process makes sure that no patented algorithms are included. For now RC5, MDC2 and IDEA are excluded from the build. You may have to manually remove $(OBJ_D)\i_*.obj from ms\nt.mak if the build process @@ -265,15 +265,25 @@ have to set x64 as platform. Building Python Using the free MS Toolkit Compiler -------------------------------------------------- -Note that Microsoft have withdrawn the free MS Toolkit Compiler, so this can -no longer be considered a supported option. Instead you can use the free -VS C++ Express Edition +Microsoft has withdrawn the free MS Toolkit Compiler, so this can no longer +be considered a supported option. Instead you can use the free VS C++ Express +Edition. Profile Guided Optimization --------------------------- http://msdn2.microsoft.com/en-us/library/e7k32f4k(VS.90).aspx +Static library +-------------- + +The solution has no configuration for static libraries. However it is easy +it build a static library instead of a DLL. You simply have to set the +"Configuration Type" to "Static Library (.lib)" and alter the preprocessor +macro "Py_ENABLE_SHARED" to "Py_NO_ENABLE_SHARED". You may also have to +change the "Runtime Library" from "Multi-threaded DLL (/MD)" to +"Multi-threaded (/MT)". + YOUR OWN EXTENSION DLLs ----------------------- If you want to create your own extension module DLL, there's an example diff --git a/PCbuild9/release.vsprops b/PCbuild9/release.vsprops new file mode 100644 index 0000000..4bbda68 --- /dev/null +++ b/PCbuild9/release.vsprops @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="release" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="NDEBUG" + /> +</VisualStudioPropertySheet> diff --git a/PCbuild9/w9xpopen.vcproj b/PCbuild9/w9xpopen.vcproj index d00cef4..2397366 100644 --- a/PCbuild9/w9xpopen.vcproj +++ b/PCbuild9/w9xpopen.vcproj @@ -21,7 +21,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="0" @@ -44,7 +44,6 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - PreprocessorDefinitions="_DEBUG" BasicRuntimeChecks="3" RuntimeLibrary="1" /> @@ -86,7 +85,7 @@ <Configuration Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\debug.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -110,7 +109,6 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - PreprocessorDefinitions="_DEBUG" BasicRuntimeChecks="3" RuntimeLibrary="1" /> @@ -152,7 +150,7 @@ <Configuration Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -176,7 +174,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -220,7 +217,7 @@ <Configuration Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -245,7 +242,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -289,7 +285,7 @@ <Configuration Name="PGInstrument|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -313,7 +309,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -358,7 +353,7 @@ <Configuration Name="PGInstrument|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -383,7 +378,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -429,7 +423,7 @@ <Configuration Name="PGUpdate|Win32" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -453,7 +447,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -498,7 +491,7 @@ <Configuration Name="PGUpdate|x64" ConfigurationType="1" - InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops" + InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -523,7 +516,6 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - PreprocessorDefinitions="NDEBUG" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" |