]> granicus.if.org Git - python/commitdiff
Issue #19450: Update Windows builds to use SQLite 3.8.11.0
authorSteve Dower <steve.dower@microsoft.com>
Tue, 28 Jul 2015 18:09:40 +0000 (11:09 -0700)
committerSteve Dower <steve.dower@microsoft.com>
Tue, 28 Jul 2015 18:09:40 +0000 (11:09 -0700)
1  2 
Misc/NEWS
PCbuild/get_externals.bat
PCbuild/python.props
PCbuild/readme.txt

diff --cc Misc/NEWS
index 4a7aca46b66dd5ae7c177b4ce6842068365b4efe,4cf7d6d0ec953982692756eb13255ce2878e49b5..01628d3734b56fab4c21166ef95cedf3e982e673
+++ b/Misc/NEWS
@@@ -10,34 -10,58 +10,36 @@@ Release date: 2015-08-0
  Core and Builtins
  -----------------
  
 -- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
 -  object now always allocates place for trailing null byte and it's buffer now
 -  is always null-terminated.
 -
 -- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
 -  PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
 -  to check for and handle errors correctly.
 -
 -- Issue #24257: Fixed system error in the comparison of faked
 -  types.SimpleNamespace.
 -
 -- Issue #22939: Fixed integer overflow in iterator object.  Patch by
 -  Clement Rouault.
 -
 -- Issue #23985: Fix a possible buffer overrun when deleting a slice from
 -  the front of a bytearray and then appending some other bytes data.
 -
 -- Issue #24102: Fixed exception type checking in standard error handlers.
 +Library
 +-------
  
 -- Issue #23757:  PySequence_Tuple() incorrectly called the concrete list API
 -  when the data was a list subclass.
++- Issue #19450: Update Windows builds to use SQLite 3.8.11.0
 -- Issue #24407: Fix crash when dict is mutated while being updated.
 +- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
  
 -- Issue #24096: Make warnings.warn_explicit more robust against mutation of the
 -  warnings.filters list.
  
 -- Issue #23996: Avoid a crash when a delegated generator raises an
 -  unnormalized StopIteration exception.  Patch by Stefan Behnel.
 +What's New in Python 3.5.0 beta 4?
 +==================================
  
 -- Issue #24022: Fix tokenizer crash when processing undecodable source code.
 +Release date: 2015-07-26
  
 -- Issue #23309: Avoid a deadlock at shutdown if a daemon thread is aborted
 -  while it is holding a lock to a buffered I/O object, and the main thread
 -  tries to use the same I/O object (typically stdout or stderr).  A fatal
 -  error is emitted instead.
 +Core and Builtins
 +-----------------
  
 -- Issue #22977: Fixed formatting Windows error messages on Wine.
 -  Patch by Martin Panter.
 +- Issue #23573: Restored optimization of bytes.rfind() and bytearray.rfind()
 +  for single-byte argument on Linux.
  
 -- Issue #23803: Fixed str.partition() and str.rpartition() when a separator
 -  is wider then partitioned string.
 +- Issue #24569: Make PEP 448 dictionary evaluation more consistent.
  
 -- Issue #23192: Fixed generator lambdas.  Patch by Bruno Cauet.
 +- Issue #24583: Fix crash when set is mutated while being updated.
  
 -- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
 -  objects.
 +- Issue #24407: Fix crash when dict is mutated while being updated.
  
 -- Issue #24044: Fix possible null pointer dereference in list.sort in out of
 -  memory conditions.
 +- Issue #24619: New approach for tokenizing async/await. As a consequence,
 +  is is now possible to have one-line 'async def foo(): await ..' functions.
  
 -- Issue #21354: PyCFunction_New function is exposed by python DLL again.
 +- Issue #24687: Plug refleak on SyntaxError in function parameters
 +  annotations.
  
  Library
  -------
index 95b0879bd72bdde68bcaa7b6e5b21fb758f0fe1e,0b8f0b85f9ed8f07805eb6d126559abd4728c013..3037326129f4d4cd3f98fc686269fea092f63111
@@@ -55,10 -55,10 +55,10 @@@ for %%e in 
              bzip2-1.0.6\r
              nasm-2.11.06\r
              openssl-1.0.2d\r
 -            tcl-8.6.1.0\r
 -            tk-8.6.1.0\r
 +            tcl-core-8.6.4.1\r
 +            tk-8.6.4.1\r
              tix-8.4.3.4\r
-             sqlite-3.8.3.1\r
+             sqlite-3.8.11.0\r
              xz-5.0.5\r
              ) do (\r
      if exist %%e (\r
index c87ad80acbc680209bfe631e850a32c793075c65,0000000000000000000000000000000000000000..25d6d920104565b7d27ce6b6da4340b28254572f
mode 100644,000000..100644
--- /dev/null
@@@ -1,152 -1,0 +1,152 @@@
-     <sqlite3Dir>$(ExternalsDir)sqlite-3.8.3.1\</sqlite3Dir>
 +<?xml version="1.0" encoding="utf-8"?>
 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 +  <PropertyGroup>
 +    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
 +    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
 +    <!--
 +    Use the latest available version of Visual Studio to build. To override
 +    this and build with an earlier version, pass "/p:PlatformToolset=v100"
 +    (for example) when building.
 +    -->
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath14)' != ''">v140</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath12)' != ''">v120</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath11)' != ''">v110</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath10)' != ''">v100</PlatformToolset>
 +    
 +    <!--
 +    Convincing MSVC/MSBuild to prefer our platform names is too difficult,
 +    so we define our own constant ArchName and use wherever we need it.
 +    -->
 +    <ArchName Condition="'$(ArchName)' == '' and $(Platform) == 'x64'">amd64</ArchName>
 +    <ArchName Condition="'$(ArchName)' == ''">win32</ArchName>
 +    <ArchName Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(ArchName)-pgo</ArchName>
 +    
 +    <!-- Root directory of the repository -->
 +    <PySourcePath Condition="'$(PySourcePath)' == ''">$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)\..\))</PySourcePath>
 +    <PySourcePath Condition="!HasTrailingSlash($(PySourcePath))">$(PySourcePath)\</PySourcePath>
 +    
 +    <!-- Directory where build outputs are put -->
 +    <BuildPath Condition="'$(PyBuildPath)' == ''">$(PySourcePath)PCBuild\$(ArchName)\</BuildPath>
 +    <BuildPath Condition="'$(PyBuildPath)' != ''">$(PyBuildPath)</BuildPath>
 +    <BuildPath Condition="!HasTrailingSlash($(BuildPath))">$(BuildPath)\</BuildPath>
 +    
 +    <!-- Directories of external projects. tcltk is handled in tcltk.props -->
 +    <ExternalsDir>$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))</ExternalsDir>
++    <sqlite3Dir>$(ExternalsDir)sqlite-3.8.11.0\</sqlite3Dir>
 +    <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
 +    <lzmaDir>$(ExternalsDir)xz-5.0.5\</lzmaDir>
 +    <opensslDir>$(ExternalsDir)openssl-1.0.2d\</opensslDir>
 +    <nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
 +    
 +    <!-- Suffix for all binaries when building for debug -->
 +    <PyDebugExt Condition="'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'">_d</PyDebugExt>
 +    
 +    <!-- Full path of the resulting python.exe binary -->
 +    <PythonExe Condition="'$(PythonExe)' == ''">$(BuildPath)python$(PyDebugExt).exe</PythonExe>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup Condition="'$(OverrideVersion)' == ''">
 +    <!--
 +    Read version information from Include\patchlevel.h. The following properties are set:
 +    
 +        MajorVersionNumber  -   the '3' in '3.5.2a1'
 +        MinorVersionNumber  -   the '5' in '3.5.2a1'
 +        MicroVersionNumber  -   the '2' in '3.5.2a1'
 +        ReleaseSerial       -   the '1' in '3.5.2a1'
 +        ReleaseLevelName    -   the 'a1' in '3.5.2a1'
 +        PythonVersionNumber -   '3.5.2' for '3.5.2a1'
 +        PythonVersion       -   '3.5.2a1'
 +        PythonVersionHex    -   0x030502a1 for '3.5.2a1'
 +        ReleaseLevelNumber  -   10 for alpha, 11 for beta, 12 for RC (gamma), and 15 for final
 +        Field3Value         -   2101 for '3.5.2a1' (== 1000*2 + 10*10 ('a') + 1)
 +    -->
 +    <_PatchLevelContent>$([System.IO.File]::ReadAllText(`$(PySourcePath)Include\patchlevel.h`))</_PatchLevelContent>
 +    <MajorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MAJOR_VERSION\s+(\d+)`).Groups[1].Value)</MajorVersionNumber>
 +    <MinorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MINOR_VERSION\s+(\d+)`).Groups[1].Value)</MinorVersionNumber>
 +    <MicroVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MICRO_VERSION\s+(\d+)`).Groups[1].Value)</MicroVersionNumber>
 +    <_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_LEVEL\s+PY_RELEASE_LEVEL_(\w+)`).Groups[1].Value)</_ReleaseLevel>
 +    <ReleaseSerial>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_SERIAL\s+(\d+)`).Groups[1].Value)</ReleaseSerial>
 +    <ReleaseLevelNumber>15</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'ALPHA'">10</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'BETA'">11</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'GAMMA'">12</ReleaseLevelNumber>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'ALPHA'">a$(ReleaseSerial)</ReleaseLevelName>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'BETA'">b$(ReleaseSerial)</ReleaseLevelName>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'GAMMA'">rc$(ReleaseSerial)</ReleaseLevelName>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup Condition="'$(OverrideVersion)' != ''">
 +    <!--
 +    Override the version number when building by specifying OverrideVersion.
 +    For example:
 +    
 +        PCBuild\build.bat "/p:OverrideVersion=3.5.2a1"
 +    
 +    Use the -V option to check your version is valid:
 +    
 +        PCBuild\build.bat -V "/p:OverrideVersion=3.5.2a1"
 +          PythonVersionNumber: 3.5.2
 +          PythonVersion:       3.5.2a1
 +          PythonVersionHex:    0x030502A1
 +          Field3Value:         2101
 +    
 +    Note that this only affects the version numbers embedded in resources and
 +    installers, but not sys.version.
 +    -->
 +    <MajorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[1].Value)</MajorVersionNumber>
 +    <MinorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[2].Value)</MinorVersionNumber>
 +    <MicroVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[3].Value)</MicroVersionNumber>
 +    <ReleaseLevelName>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[4].Value)</ReleaseLevelName>
 +    <_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[5].Value)</_ReleaseLevel>
 +    <ReleaseSerial>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[6].Value)</ReleaseSerial>
 +    <ReleaseSerial Condition="'$(ReleaseSerial)' == ''">0</ReleaseSerial>
 +    <ReleaseLevelNumber>15</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'a'">10</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'b'">11</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'rc'">12</ReleaseLevelNumber>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup>
 +    <PythonVersionNumber>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)</PythonVersionNumber>
 +    <PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)$(ReleaseLevelName)</PythonVersion>
 +    <PythonVersionHex>$([msbuild]::BitwiseOr(
 +        $([msbuild]::Multiply($(MajorVersionNumber), 16777216)),
 +        $([msbuild]::BitwiseOr(
 +            $([msbuild]::Multiply($(MinorVersionNumber), 65536)),
 +            $([msbuild]::BitwiseOr(
 +                $([msbuild]::Multiply($(MicroVersionNumber), 256)),
 +                $([msbuild]::BitwiseOr(
 +                    $([msbuild]::Multiply($(ReleaseLevelNumber), 16)),
 +                    $(ReleaseSerial)
 +                ))
 +            ))
 +        ))
 +    ))</PythonVersionHex>
 +    <Field3Value>$([msbuild]::Add(
 +        $(ReleaseSerial),
 +        $([msbuild]::Add(
 +            $([msbuild]::Multiply($(ReleaseLevelNumber), 10)),
 +            $([msbuild]::Multiply($(MicroVersionNumber), 1000))
 +        ))
 +    ))</Field3Value>
 +    
 +    <!-- The name of the resulting pythonXY.dll (without the extension) -->
 +    <PyDllName>python$(MajorVersionNumber)$(MinorVersionNumber)$(PyDebugExt)</PyDllName>
 +
 +    <!-- The version and platform tag to include in .pyd filenames -->
 +    <PydTag Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32</PydTag>
 +    <PydTag Condition="$(Platform) == 'x64'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64</PydTag>
 +    
 +    <!-- The version number for sys.winver -->
 +    <SysWinVer>$(MajorVersionNumber).$(MinorVersionNumber)</SysWinVer>
 +    <SysWinVer Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">$(SysWinVer)-32</SysWinVer>
 +  </PropertyGroup>
 +  
 +  <!-- Displays the calculated version info -->
 +  <Target Name="ShowVersionInfo">
 +    <Message Importance="high" Text="PythonVersionNumber: $(PythonVersionNumber)" />
 +    <Message Importance="high" Text="PythonVersion:       $(PythonVersion)" />
 +    <Message Importance="high" Text="PythonVersionHex:    0x$([System.UInt32]::Parse($(PythonVersionHex)).ToString(`X08`))" />
 +    <Message Importance="high" Text="Field3Value:         $(Field3Value)" />
 +  </Target>
 +</Project>
index b045ed1eb8e85664c2f0b5febff8b73523a735bf,74a79c1d6fc07c77371f9c5eb74955bdf2ecbb02..9d5f342e9e729be3f2389c2e94e38131729cca73
@@@ -210,29 -184,37 +210,29 @@@ _ss
      you should first try to update NASM and do a full rebuild of\r
      OpenSSL.  If you use the PCbuild\get_externals.bat method\r
      for getting sources, it also downloads a version of NASM which the\r
 -    ssl build script will add to PATH.\r
 +    libeay/ssleay sub-projects use.\r
 +\r
 +    The libeay/ssleay sub-projects expect your OpenSSL sources to have\r
 +    already been configured and be ready to build.  If you get your sources\r
 +    from svn.python.org as suggested in the "Getting External Sources"\r
 +    section below, the OpenSSL source will already be ready to go.  If\r
 +    you want to build a different version, you will need to run\r
  \r
 -    If you like to use the official sources instead of the files from\r
 -    python.org's subversion repository, Perl is required to build the\r
 -    necessary makefiles and assembly files.  ActivePerl is available\r
 -    from\r
 +       PCbuild\prepare_ssl.py path\to\openssl-source-dir\r
 +\r
 +    That script will prepare your OpenSSL sources in the same way that\r
 +    those available on svn.python.org have been prepared.  Note that\r
 +    Perl must be installed and available on your PATH to configure\r
 +    OpenSSL.  ActivePerl is recommended and is available from\r
          http://www.activestate.com/activeperl/\r
 -    The svn.python.org version contains pre-built makefiles and assembly\r
 -    files.\r
 -\r
 -    The build process makes sure that no patented algorithms are\r
 -    included.  For now RC5, MDC2 and IDEA are excluded from the build.\r
 -    You may have to manually remove $(OBJ_D)\i_*.obj from ms\nt.mak if\r
 -    using official sources; the svn.python.org-hosted version is already\r
 -    fixed.\r
 -\r
 -    The ssl.vcxproj sub-project simply invokes PCbuild/build_ssl.py,\r
 -    which locates and builds OpenSSL.\r
 -\r
 -    build_ssl.py attempts to catch the most common errors (such as not\r
 -    being able to find OpenSSL sources, or not being able to find a Perl\r
 -    that works with OpenSSL) and give a reasonable error message.  If\r
 -    you have a problem that doesn't seem to be handled correctly (e.g.,\r
 -    you know you have ActivePerl but we can't find it), please take a\r
 -    peek at build_ssl.py and suggest patches.  Note that build_ssl.py\r
 -    should be able to be run directly from the command-line.\r
 -\r
 -    The ssl sub-project does not have the ability to clean the OpenSSL\r
 -    build; if you need to rebuild, you'll have to clean it by hand.\r
 +\r
 +    The libeay and ssleay sub-projects will build the modules of OpenSSL\r
 +    required by _ssl and _hashlib and may need to be manually updated when\r
 +    upgrading to a newer version of OpenSSL or when adding new\r
 +    functionality to _ssl or _hashlib. They will not clean up their output\r
 +    with the normal Clean target; CleanAll should be used instead.\r
  _sqlite3\r
-     Wraps SQLite 3.8.3.1, which is itself built by sqlite3.vcxproj\r
+     Wraps SQLite 3.8.11.0, which is itself built by sqlite3.vcxproj\r
      Homepage:\r
          http://www.sqlite.org/\r
  _tkinter\r