summaryrefslogtreecommitdiffstats
path: root/PCbuild
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2014-11-01 23:42:46 (GMT)
committerZachary Ware <zachary.ware@gmail.com>2014-11-01 23:42:46 (GMT)
commite470d092cb8ea1fc6a3d528f40799dca9cf86f17 (patch)
treefc78f5ed78649b50d93c5c582999537a6f583414 /PCbuild
parentbac47773f1c30ec8e6ab0279f06970d679272580 (diff)
downloadcpython-e470d092cb8ea1fc6a3d528f40799dca9cf86f17.zip
cpython-e470d092cb8ea1fc6a3d528f40799dca9cf86f17.tar.gz
cpython-e470d092cb8ea1fc6a3d528f40799dca9cf86f17.tar.bz2
Issue #17717: Pull NASM from svn.python.org for OpenSSL build.
Diffstat (limited to 'PCbuild')
-rw-r--r--PCbuild/get_externals.bat8
-rw-r--r--PCbuild/pyproject.props4
-rw-r--r--PCbuild/readme.txt8
-rw-r--r--PCbuild/ssl.vcxproj8
4 files changed, 21 insertions, 7 deletions
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 8436051..662bfcf 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -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
diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props
index 9f2b0e5..c7087cc 100644
--- a/PCbuild/pyproject.props
+++ b/PCbuild/pyproject.props
@@ -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>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 1b6a594..535ea00 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -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
diff --git a/PCbuild/ssl.vcxproj b/PCbuild/ssl.vcxproj
index 5f318d0..f6796b6 100644
--- a/PCbuild/ssl.vcxproj
+++ b/PCbuild/ssl.vcxproj
@@ -119,6 +119,7 @@
<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