https://hg.python.org/cpython/rev/f7ed3e058fca changeset: 93339:f7ed3e058fca branch: 3.4 parent: 93333:f6a906541476 user: Zachary Ware <zachary.ware@gmail.com> date: Sat Nov 01 17:11:08 2014 -0500 summary: Issue #17717: Pull NASM from svn.python.org for OpenSSL build. files: Misc/NEWS | 3 +++ PCbuild/build_ssl.py | 11 +++++++++++ PCbuild/readme.txt | 4 +++- Tools/buildbot/external-common.bat | 4 ++++ 4 files changed, 21 insertions(+), 1 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS --- a/Misc/NEWS +++ b/Misc/NEWS @@ -126,6 +126,9 @@ 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 --- a/PCbuild/build_ssl.py +++ b/PCbuild/build_ssl.py @@ -182,6 +182,17 @@ 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 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -182,7 +182,9 @@ 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 --- a/Tools/buildbot/external-common.bat +++ b/Tools/buildbot/external-common.bat @@ -20,6 +20,10 @@ 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 -- Repository URL: https://hg.python.org/cpython