[Python-checkins] cpython (merge default -> default): merge heads

martin.v.loewis python-checkins at python.org
Fri May 18 14:25:58 CEST 2012


http://hg.python.org/cpython/rev/d2a847cd7d5a
changeset:   77026:d2a847cd7d5a
parent:      77020:565734c9b66d
parent:      77025:b46b7da9f5fa
user:        Martin v. Löwis <martin at v.loewis.de>
date:        Fri May 18 14:23:13 2012 +0200
summary:
  merge heads

files:
  PCbuild/build_ssl.py |  42 ++++++-------------------------
  1 files changed, 9 insertions(+), 33 deletions(-)


diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py
--- a/PCbuild/build_ssl.py
+++ b/PCbuild/build_ssl.py
@@ -46,7 +46,7 @@
 # is available.
 def find_working_perl(perls):
     for perl in perls:
-        fh = os.popen('"%s" -e "use Win32;"' % perl)
+        fh = os.popen('""%s" -e "use Win32;""' % perl)
         fh.read()
         rc = fh.close()
         if rc:
@@ -63,37 +63,13 @@
     print(" Please install ActivePerl and ensure it appears on your path")
     return None
 
-# Locate the best SSL directory given a few roots to look into.
-def find_best_ssl_dir(sources):
-    candidates = []
-    for s in sources:
-        try:
-            # note: do not abspath s; the build will fail if any
-            # higher up directory name has spaces in it.
-            fnames = os.listdir(s)
-        except os.error:
-            fnames = []
-        for fname in fnames:
-            fqn = os.path.join(s, fname)
-            if os.path.isdir(fqn) and fname.startswith("openssl-"):
-                candidates.append(fqn)
-    # Now we have all the candidates, locate the best.
-    best_parts = []
-    best_name = None
-    for c in candidates:
-        parts = re.split("[.-]", os.path.basename(c))[1:]
-        # eg - openssl-0.9.7-beta1 - ignore all "beta" or any other qualifiers
-        if len(parts) >= 4:
-            continue
-        if parts > best_parts:
-            best_parts = parts
-            best_name = c
-    if best_name is not None:
-        print("Found an SSL directory at '%s'" % (best_name,))
-    else:
-        print("Could not find an SSL directory in '%s'" % (sources,))
-    sys.stdout.flush()
-    return best_name
+# Fetch SSL directory from VC properties
+def get_ssl_dir():
+    propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.props'))
+    with open(propfile) as f:
+        m = re.search('openssl-([^<]+)<', f.read())
+        return "..\..\openssl-"+m.group(1)
+
 
 def create_makefile64(makefile, m32):
     """Create and fix makefile for 64bit
@@ -202,7 +178,7 @@
         print("No Perl installation was found. Existing Makefiles are used.")
     sys.stdout.flush()
     # Look for SSL 2 levels up from pcbuild - ie, same place zlib etc all live.
-    ssl_dir = find_best_ssl_dir(("..\\..",))
+    ssl_dir = get_ssl_dir()
     if ssl_dir is None:
         sys.exit(1)
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list