From: Zachary Ware Date: Sat, 1 Nov 2014 22:11:08 +0000 (-0500) Subject: Issue #17717: Pull NASM from svn.python.org for OpenSSL build. X-Git-Tag: v3.4.3rc1~374 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa3ea7ee78f35f1b88801b6a00833dcae384dc37;p=thirdparty%2FPython%2Fcpython.git Issue #17717: Pull NASM from svn.python.org for OpenSSL build. --- diff --git a/Misc/NEWS b/Misc/NEWS index 97bb398e3af7..b541e160954e 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 260cbf3d60c5..f3c65fcb884d 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 3a30bc8ca90d..2193c84e5274 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 d1933c25431f..5e4002b95a44 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