]> granicus.if.org Git - python/commitdiff
Issue #17717: Pull NASM from svn.python.org for OpenSSL build.
authorZachary Ware <zachary.ware@gmail.com>
Sat, 1 Nov 2014 23:42:46 +0000 (18:42 -0500)
committerZachary Ware <zachary.ware@gmail.com>
Sat, 1 Nov 2014 23:42:46 +0000 (18:42 -0500)
Misc/NEWS
PCbuild/get_externals.bat
PCbuild/pyproject.props
PCbuild/readme.txt
PCbuild/ssl.vcxproj

index b90a9b09d3ef7f894e80b1d4ee7a0aa489892f35..c47b3ff50a9c731f2ef6799ee8197759354e6f4a 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1383,6 +1383,9 @@ Tools/Demos
 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 #22644: The bundled version of OpenSSL has been updated to 1.0.1j.
index 84360517f80b25b8bb564f381845f11e6cd9de52..662bfcfa9a380c6758701fd83249dea8be710ece 100644 (file)
@@ -20,6 +20,7 @@ echo.Cleaning up external libraries.
 for /D %%d in (
                bzip2-*
                db-*
+               nasm-*
                openssl-*
                tcl-*
                tcltk*
@@ -51,6 +52,7 @@ echo.Fetching external libraries...
 
 for %%e in (
             bzip2-1.0.6
+            nasm-2.11.06
             openssl-1.0.1j
             tcl-8.6.1.0
             tk-8.6.1.0
@@ -87,9 +89,9 @@ echo.
 echo.**WARNING**: the cleaning options unconditionally remove any directory
 echo.that is a child of
 echo.   %CD%
-echo.and matches wildcard patterns beginning with bzip2-, db-, openssl-, tcl-,
-echo.tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential to be
-echo.very destructive if you are not aware of what it is doing.  Use with
+echo.and matches wildcard patterns beginning with bzip2-, db-, nasm-, openssl-,
+echo.tcl-, tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential
+echo.to be very destructive if you are not aware of what it is doing.  Use with
 echo.caution!
 popd
 exit /b -1
index 9f2b0e5a42865860b8af5cf1df709f4c430615f4..c7087cc4e0c40952d5876ef68a5b3b5f2a9e59a6 100644 (file)
@@ -20,6 +20,7 @@
     <sqlite3Dir>$(externalsDir)\sqlite-3.8.3.1</sqlite3Dir>
     <bz2Dir>$(externalsDir)\bzip2-1.0.6</bz2Dir>
     <lzmaDir>$(externalsDir)\xz-5.0.5</lzmaDir>
+    <nasmDir>$(externalsDir)\nasm-2.11.06</nasmDir>
     <opensslDir>$(externalsDir)\openssl-1.0.1j</opensslDir>
     <tclDir>$(externalsDir)\tcl-8.6.1.0</tclDir>
     <tkDir>$(externalsDir)\tk-8.6.1.0</tkDir>
@@ -77,6 +78,9 @@
     <BuildMacro Include="lzmaDir">
       <Value>$(lzmaDir)</Value>
     </BuildMacro>
+    <BuildMacro Include="nasmDir">
+      <Value>$(nasmDir)</Value>
+    </BuildMacro>
     <BuildMacro Include="opensslDir">
       <Value>$(opensslDir)</Value>
     </BuildMacro>
index 1b6a594c12d00f889a8206390ec2667e36e53e0d..535ea00a5141c4fba9c7b602e5d6231e688cd719 100644 (file)
@@ -3,9 +3,8 @@ Quick Start Guide
 
 1.  Install Microsoft Visual C++ 2010 SP1, any edition.
 2.  Install Subversion, and make sure 'svn.exe' is on your PATH.
-3.  Install NASM, and make sure 'nasm.exe' is on your PATH.
-4.  Run "build.bat -e" to build Python in 32-bit Release configuration.
-5.  (Optional, but recommended) Run the test suite with "rt.bat -q".
+3.  Run "build.bat -e" to build Python in 32-bit Release configuration.
+4.  (Optional, but recommended) Run the test suite with "rt.bat -q".
 
 
 Building Python using Microsoft Visual C++
@@ -225,7 +224,8 @@ _ssl
     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,
     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
     been configured and be ready to build.  If you get your sources
index 5f318d0fae5dbed8cd157f09df1a41aee6de8dbe..f6796b65091b8e59716c1c23d02be996a22031c2 100644 (file)
   <PropertyGroup>
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 copy /Y crypto\buildinf_x86.h crypto\buildinf.h
 copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
@@ -133,6 +134,7 @@ nmake /nologo -f "ms\nt.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
 copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
@@ -148,6 +150,7 @@ nmake /nologo -f "ms\nt64.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 copy /Y crypto\buildinf_x86.h crypto\buildinf.h
 copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
@@ -162,6 +165,7 @@ nmake /nologo -f "ms\nt.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
 copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
@@ -177,6 +181,7 @@ nmake /nologo -f "ms\nt64.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 copy /Y crypto\buildinf_x86.h crypto\buildinf.h
 copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
@@ -191,6 +196,7 @@ nmake /nologo -f "ms\nt.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
 copy /Y crypto\buildinf_amd64.h crypto\buildinf.h
@@ -206,6 +212,7 @@ nmake /nologo -f "ms\nt64.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 copy /Y crypto\buildinf_x86.h crypto\buildinf.h
 copy /Y crypto\opensslconf_x86.h crypto\opensslconf.h
@@ -220,6 +227,7 @@ nmake /nologo -f "ms\nt.mak"
     <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
     <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
     <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
+path %PATH%;$(SolutionDir)$(nasmDir)
 cd "$(SolutionDir)$(opensslDir)"
 nasm -f win64 -DNEAR -Ox -g ms\\uptable.asm || echo nasm failed! &amp;&amp; exit
 copy /Y crypto\buildinf_amd64.h crypto\buildinf.h