Commit e470d092 authored by Zachary Ware's avatar Zachary Ware

Issue #17717: Pull NASM from svn.python.org for OpenSSL build.

parent bac47773
...@@ -1383,6 +1383,9 @@ Tools/Demos ...@@ -1383,6 +1383,9 @@ Tools/Demos
Windows Windows
------- -------
- Issue #17717: The Windows build scripts now use a copy of NASM pulled from
svn.python.org to build OpenSSL.
- Issue #21907: Improved the batch scripts provided for building Python. - Issue #21907: Improved the batch scripts provided for building Python.
- Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j. - Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j.
......
...@@ -20,6 +20,7 @@ echo.Cleaning up external libraries. ...@@ -20,6 +20,7 @@ echo.Cleaning up external libraries.
for /D %%d in ( for /D %%d in (
bzip2-* bzip2-*
db-* db-*
nasm-*
openssl-* openssl-*
tcl-* tcl-*
tcltk* tcltk*
...@@ -51,6 +52,7 @@ echo.Fetching external libraries... ...@@ -51,6 +52,7 @@ echo.Fetching external libraries...
for %%e in ( for %%e in (
bzip2-1.0.6 bzip2-1.0.6
nasm-2.11.06
openssl-1.0.1j openssl-1.0.1j
tcl-8.6.1.0 tcl-8.6.1.0
tk-8.6.1.0 tk-8.6.1.0
...@@ -87,9 +89,9 @@ echo. ...@@ -87,9 +89,9 @@ echo.
echo.**WARNING**: the cleaning options unconditionally remove any directory echo.**WARNING**: the cleaning options unconditionally remove any directory
echo.that is a child of echo.that is a child of
echo. %CD% echo. %CD%
echo.and matches wildcard patterns beginning with bzip2-, db-, openssl-, tcl-, echo.and matches wildcard patterns beginning with bzip2-, db-, nasm-, openssl-,
echo.tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential to be echo.tcl-, tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential
echo.very destructive if you are not aware of what it is doing. Use with echo.to be very destructive if you are not aware of what it is doing. Use with
echo.caution! echo.caution!
popd popd
exit /b -1 exit /b -1
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<sqlite3Dir>$(externalsDir)\sqlite-3.8.3.1</sqlite3Dir> <sqlite3Dir>$(externalsDir)\sqlite-3.8.3.1</sqlite3Dir>
<bz2Dir>$(externalsDir)\bzip2-1.0.6</bz2Dir> <bz2Dir>$(externalsDir)\bzip2-1.0.6</bz2Dir>
<lzmaDir>$(externalsDir)\xz-5.0.5</lzmaDir> <lzmaDir>$(externalsDir)\xz-5.0.5</lzmaDir>
<nasmDir>$(externalsDir)\nasm-2.11.06</nasmDir>
<opensslDir>$(externalsDir)\openssl-1.0.1j</opensslDir> <opensslDir>$(externalsDir)\openssl-1.0.1j</opensslDir>
<tclDir>$(externalsDir)\tcl-8.6.1.0</tclDir> <tclDir>$(externalsDir)\tcl-8.6.1.0</tclDir>
<tkDir>$(externalsDir)\tk-8.6.1.0</tkDir> <tkDir>$(externalsDir)\tk-8.6.1.0</tkDir>
...@@ -77,6 +78,9 @@ ...@@ -77,6 +78,9 @@
<BuildMacro Include="lzmaDir"> <BuildMacro Include="lzmaDir">
<Value>$(lzmaDir)</Value> <Value>$(lzmaDir)</Value>
</BuildMacro> </BuildMacro>
<BuildMacro Include="nasmDir">
<Value>$(nasmDir)</Value>
</BuildMacro>
<BuildMacro Include="opensslDir"> <BuildMacro Include="opensslDir">
<Value>$(opensslDir)</Value> <Value>$(opensslDir)</Value>
</BuildMacro> </BuildMacro>
......
...@@ -3,9 +3,8 @@ Quick Start Guide ...@@ -3,9 +3,8 @@ Quick Start Guide
1. Install Microsoft Visual C++ 2010 SP1, any edition. 1. Install Microsoft Visual C++ 2010 SP1, any edition.
2. Install Subversion, and make sure 'svn.exe' is on your PATH. 2. Install Subversion, and make sure 'svn.exe' is on your PATH.
3. Install NASM, and make sure 'nasm.exe' is on your PATH. 3. Run "build.bat -e" to build Python in 32-bit Release configuration.
4. Run "build.bat -e" to build Python in 32-bit Release configuration. 4. (Optional, but recommended) Run the test suite with "rt.bat -q".
5. (Optional, but recommended) Run the test suite with "rt.bat -q".
Building Python using Microsoft Visual C++ Building Python using Microsoft Visual C++
...@@ -225,7 +224,8 @@ _ssl ...@@ -225,7 +224,8 @@ _ssl
to be somewhere on your PATH. More recent versions of OpenSSL may to be somewhere on your PATH. More recent versions of OpenSSL may
need a later version of NASM. If OpenSSL's self tests don't pass, need a later version of NASM. If OpenSSL's self tests don't pass,
you should first try to update NASM and do a full rebuild of you should first try to update NASM and do a full rebuild of
OpenSSL. OpenSSL. get_externals.py also downloads a snapshot of NASM, and the
ssl sub-project includes that version of nasm.exe on PATH.
The ssl sub-project expects your OpenSSL sources to have already The ssl sub-project expects your OpenSSL sources to have already
been configured and be ready to build. If you get your sources been configured and be ready to build. If you get your sources
......
...@@ -119,6 +119,7 @@ ...@@ -119,6 +119,7 @@
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
copy /Y crypto\buildinf_x86.h crypto\buildinf.h copy /Y crypto\buildinf_x86.h crypto\buildinf.h
copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
...@@ -133,6 +134,7 @@ nmake /nologo -f "ms\nt.mak" ...@@ -133,6 +134,7 @@ nmake /nologo -f "ms\nt.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
copy /Y crypto\buildinf_amd64.h crypto\buildinf.h copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
...@@ -148,6 +150,7 @@ nmake /nologo -f "ms\nt64.mak" ...@@ -148,6 +150,7 @@ nmake /nologo -f "ms\nt64.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
copy /Y crypto\buildinf_x86.h crypto\buildinf.h copy /Y crypto\buildinf_x86.h crypto\buildinf.h
copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
...@@ -162,6 +165,7 @@ nmake /nologo -f "ms\nt.mak" ...@@ -162,6 +165,7 @@ nmake /nologo -f "ms\nt.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
copy /Y crypto\buildinf_amd64.h crypto\buildinf.h copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
...@@ -177,6 +181,7 @@ nmake /nologo -f "ms\nt64.mak" ...@@ -177,6 +181,7 @@ nmake /nologo -f "ms\nt64.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
copy /Y crypto\buildinf_x86.h crypto\buildinf.h copy /Y crypto\buildinf_x86.h crypto\buildinf.h
copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
...@@ -191,6 +196,7 @@ nmake /nologo -f "ms\nt.mak" ...@@ -191,6 +196,7 @@ nmake /nologo -f "ms\nt.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
copy /Y crypto\buildinf_amd64.h crypto\buildinf.h copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
...@@ -206,6 +212,7 @@ nmake /nologo -f "ms\nt64.mak" ...@@ -206,6 +212,7 @@ nmake /nologo -f "ms\nt64.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
copy /Y crypto\buildinf_x86.h crypto\buildinf.h copy /Y crypto\buildinf_x86.h crypto\buildinf.h
copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
...@@ -220,6 +227,7 @@ nmake /nologo -f "ms\nt.mak" ...@@ -220,6 +227,7 @@ nmake /nologo -f "ms\nt.mak"
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'"> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
path %PATH%;$(SolutionDir)$(nasmDir)
cd "$(SolutionDir)$(opensslDir)" cd "$(SolutionDir)$(opensslDir)"
nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
copy /Y crypto\buildinf_amd64.h crypto\buildinf.h copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment