]> 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 22:11:08 +0000 (17:11 -0500)
committerZachary Ware <zachary.ware@gmail.com>
Sat, 1 Nov 2014 22:11:08 +0000 (17:11 -0500)
Misc/NEWS
PCbuild/build_ssl.py
PCbuild/readme.txt
Tools/buildbot/external-common.bat

index 97bb398e3af7844ed80edaa4a246fdf002426f85..b541e160954e46811da1f8739041125d83ff94f3 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -126,6 +126,9 @@ Build
 Windows
 -------
 
+- Issue #17717: The Windows build scripts now use a copy of NASM pulled from
+  svn.python.org to build OpenSSL.
+
 - Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j.
 
 What's New in Python 3.4.2?
index 260cbf3d60c52d057093e731bdcb44f41ea8bbef..f3c65fcb884d7be15a295c89186d62bc07f19e69 100644 (file)
@@ -182,6 +182,17 @@ def main():
     if ssl_dir is None:
         sys.exit(1)
 
+    # add our copy of NASM to PATH.  It will be on the same level as openssl
+    for dir in os.listdir(os.path.join(ssl_dir, os.pardir)):
+        if dir.startswith('nasm'):
+            nasm_dir = os.path.join(ssl_dir, os.pardir, dir)
+            nasm_dir = os.path.abspath(nasm_dir)
+            os.environ['PATH'] += os.pathsep.join(['', nasm_dir])
+            break
+    else:
+        print('NASM was not found, make sure it is on PATH')
+
+
     old_cd = os.getcwd()
     try:
         os.chdir(ssl_dir)
index 3a30bc8ca90dd82042806522c4b6941d7a79cefd..2193c84e52748ac6963fb05821017debd262a8dc 100644 (file)
@@ -182,7 +182,9 @@ _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.  If you use the Tools\buildbot\external(-amd64).bat method
+    for getting sources, it also downloads a version of NASM which the
+    ssl build script will add to PATH.
 
     If you like to use the official sources instead of the files from
     python.org's subversion repository, Perl is required to build the
index d1933c25431f1514baa76f8bebc76d5438e4bc43..5e4002b95a44d6f78b19c6adfb4a2377b13028f4 100644 (file)
@@ -20,6 +20,10 @@ if not exist bzip2-1.0.6 (
   svn export http://svn.python.org/projects/external/bzip2-1.0.6
 )
 
+@rem NASM, for OpenSSL build
+@rem if exist nasm-2.11.06 rd /s/q nasm-2.11.06
+if not exist nasm-2.11.06 svn export http://svn.python.org/projects/external/nasm-2.11.06
+
 @rem OpenSSL
 if not exist openssl-1.0.1j (
     rd /s/q openssl-1.0.1i