diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py index d76b2c09676..b97d55bb030 100755 --- a/Mac/BuildScript/build-installer.py +++ b/Mac/BuildScript/build-installer.py @@ -162,7 +162,8 @@ def getTargetCompilers(): CC, CXX = getTargetCompilers() -PYTHON_3 = getVersionMajorMinor() >= (3, 0) +PYTHON_2 = getVersionMajorMinor()[0] == 2 +PYTHON_3 = getVersionMajorMinor()[0] == 3 USAGE = textwrap.dedent("""\ Usage: build_python [options] @@ -210,9 +211,9 @@ def library_recipes(): result.extend([ dict( - name="OpenSSL 1.0.2o", - url="https://www.openssl.org/source/openssl-1.0.2o.tar.gz", - checksum='44279b8557c3247cbe324e2322ecd114', + name="OpenSSL 1.0.2p", + url="https://www.openssl.org/source/openssl-1.0.2p.tar.gz", + checksum='ac5eb30bf5798aa14b1ae6d0e7da58df', buildrecipe=build_universal_openssl, configure=None, install=None, @@ -607,9 +608,10 @@ def checkEnvironment(): base_path = base_path + ':' + OLD_DEVELOPER_TOOLS os.environ['PATH'] = base_path print("Setting default PATH: %s"%(os.environ['PATH'])) - # Ensure we have access to sphinx-build. - # You may have to create a link in /usr/bin for it. - runCommand('sphinx-build --version') + if PYTHON_2: + # Ensure we have access to sphinx-build. + # You may have to define SDK_TOOLS_BIN and link to it there, + runCommand('sphinx-build --version') def parseOptions(args=None): """ @@ -822,6 +824,13 @@ def build_universal_openssl(basedir, archList): ] if no_asm: configure_opts.append("no-asm") + # OpenSSL 1.0.2o broke the Configure test for whether the compiler + # in use supports dependency rule generation (cc -M) with gcc-4.2 + # used for the 10.6+ installer builds. Patch Configure here to + # force use of "cc -M" rather than "makedepend". + runCommand( + """sed -i "" 's|my $cc_as_makedepend = 0|my $cc_as_makedepend = 1|g' Configure""") + runCommand(" ".join(["perl", "Configure"] + arch_opts[arch] + configure_opts)) runCommand("make depend") @@ -1055,9 +1064,14 @@ def buildPythonDocs(): curDir = os.getcwd() os.chdir(buildDir) runCommand('make clean') - # Create virtual environment for docs builds with blurb and sphinx - runCommand('make venv') - runCommand('make html PYTHON=venv/bin/python') + if PYTHON_2: + # Python 2 doc builds do not use blurb nor do they have a venv target. + # Assume sphinx-build is on our PATH, checked in checkEnvironment + runCommand('make html') + else: + # Create virtual environment for docs builds with blurb and sphinx + runCommand('make venv') + runCommand('make html PYTHON=venv/bin/python') os.chdir(curDir) if not os.path.exists(docdir): os.mkdir(docdir) diff --git a/Misc/NEWS.d/next/macOS/2018-09-11-08-47-50.bpo-34405.f1-fT5.rst b/Misc/NEWS.d/next/macOS/2018-09-11-08-47-50.bpo-34405.f1-fT5.rst new file mode 100644 index 00000000000..e9237004d23 --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2018-09-11-08-47-50.bpo-34405.f1-fT5.rst @@ -0,0 +1 @@ +Update to OpenSSL 1.0.2p for macOS installer builds.