diff options
author | Tim Golden <mail@timgolden.me.uk> | 2014-05-09 17:01:19 (GMT) |
---|---|---|
committer | Tim Golden <mail@timgolden.me.uk> | 2014-05-09 17:01:19 (GMT) |
commit | 9c18fcf16141558616ecf201e5eaac0e8f899a44 (patch) | |
tree | db4622fb3eb51fb8b35dec6992af71ef296fca56 /PCbuild | |
parent | 062fcac9a41fb6c89c8edc423ee4d364b79edcf5 (diff) | |
download | cpython-9c18fcf16141558616ecf201e5eaac0e8f899a44.zip cpython-9c18fcf16141558616ecf201e5eaac0e8f899a44.tar.gz cpython-9c18fcf16141558616ecf201e5eaac0e8f899a44.tar.bz2 |
Issue10752 Be more robust when finding a PERL interpreter to build OpenSSL. Initial patch by Gabi Davar
Diffstat (limited to 'PCbuild')
-rw-r--r-- | PCbuild/build_ssl.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py index 5a7a89e..dc51781 100644 --- a/PCbuild/build_ssl.py +++ b/PCbuild/build_ssl.py @@ -24,6 +24,7 @@ # python.exe build_ssl.py Release Win32 import os, sys, re, shutil +import subprocess # Find all "foo.exe" files on the PATH. def find_all_on_path(filename, extras = None): @@ -46,22 +47,21 @@ def find_all_on_path(filename, extras = None): # is available. def find_working_perl(perls): for perl in perls: - fh = os.popen('"%s" -e "use Win32;"' % perl) - fh.read() - rc = fh.close() - if rc: + try: + subprocess.check_output([perl, "-e", "use Win32;"]) + except subprocess.CalledProcessError: continue - return perl - print("Can not find a suitable PERL:") + else: + return perl + if perls: - print(" the following perl interpreters were found:") + print("The following perl interpreters were found:") for p in perls: print(" ", p) print(" None of these versions appear suitable for building OpenSSL") else: - print(" NO perl interpreters were found on this machine at all!") + print("NO perl interpreters were found on this machine at all!") print(" Please install ActivePerl and ensure it appears on your path") - return None # Fetch SSL directory from VC properties def get_ssl_dir(): |