From aa3ea7ee78f35f1b88801b6a00833dcae384dc37 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Sat, 1 Nov 2014 17:11:08 -0500 Subject: Issue #17717: Pull NASM from svn.python.org for OpenSSL build. --- Misc/NEWS | 3 +++ PCbuild/build_ssl.py | 11 +++++++++++ PCbuild/readme.txt | 4 +++- Tools/buildbot/external-common.bat | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index 97bb398..b541e16 100644 --- 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? diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py index 260cbf3..f3c65fc 100644 --- a/PCbuild/build_ssl.py +++ b/PCbuild/build_ssl.py @@ -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) diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 3a30bc8..2193c84 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -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 diff --git a/Tools/buildbot/external-common.bat b/Tools/buildbot/external-common.bat index d1933c2..5e4002b 100644 --- a/Tools/buildbot/external-common.bat +++ b/Tools/buildbot/external-common.bat @@ -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 -- cgit v0.12