Merged revisions 59234-59238 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r59237 | facundo.batista | 2007-11-30 18:15:25 +0100 (Fri, 30 Nov 2007) | 4 lines Reordering of __new__ to minimize isinstance() calls to most used types. Thanks Mark Dickinson. ........ r59238 | christian.heimes | 2007-11-30 20:18:08 +0100 (Fri, 30 Nov 2007) | 6 lines Removed or replaced some more deprecated preprocessor macros. Moved the _DEBUG and NDEBUG macros to two new property files. Fixed #1527 Problem with static libs on Windows Updated README.txt ........
This commit is contained in:
parent
45031dfd1c
commit
d59c64c49f
113
Lib/decimal.py
113
Lib/decimal.py
|
@ -540,21 +540,47 @@ class Decimal(object):
|
|||
# digits.
|
||||
|
||||
self = object.__new__(cls)
|
||||
|
||||
# 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
|
||||
|
||||
# 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 another decimal
|
||||
if isinstance(value, Decimal):
|
||||
self._exp = value._exp
|
||||
self._sign = value._sign
|
||||
self._int = value._int
|
||||
self._is_special = value._is_special
|
||||
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 */
|
||||
|
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue