summaryrefslogtreecommitdiffstats
path: root/PCbuild
diff options
context:
space:
mode:
authorTim Golden <mail@timgolden.me.uk>2014-05-09 17:01:19 (GMT)
committerTim Golden <mail@timgolden.me.uk>2014-05-09 17:01:19 (GMT)
commit9c18fcf16141558616ecf201e5eaac0e8f899a44 (patch)
treedb4622fb3eb51fb8b35dec6992af71ef296fca56 /PCbuild
parent062fcac9a41fb6c89c8edc423ee4d364b79edcf5 (diff)
downloadcpython-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.py18
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():