1*b1cdbd2cSJim Jagielskidiff -ur misc/Python-2.7.18/setup.py misc/build/Python-2.7.18/setup.py
2*b1cdbd2cSJim Jagielski--- misc/Python-2.7.18/setup.py	2016-06-25 16:49:32.000000000 -0500
3*b1cdbd2cSJim Jagielski+++ misc/build/Python-2.7.18/setup.py	2016-09-02 17:09:20.687419000 -0500
4*b1cdbd2cSJim Jagielski@@ -126,39 +126,41 @@
5*b1cdbd2cSJim Jagielski         # system, but with only header files and libraries.
6*b1cdbd2cSJim Jagielski         sysroot = macosx_sdk_root()
7*b1cdbd2cSJim Jagielski
8*b1cdbd2cSJim Jagielski-    # Check the standard locations
9*b1cdbd2cSJim Jagielski-    for dir in std_dirs:
10*b1cdbd2cSJim Jagielski+    # Check the standard directories
11*b1cdbd2cSJim Jagielski+    for dir in paths:
12*b1cdbd2cSJim Jagielski         f = os.path.join(dir, filename)
13*b1cdbd2cSJim Jagielski
14*b1cdbd2cSJim Jagielski         if host_platform == 'darwin' and is_macosx_sdk_path(dir):
15*b1cdbd2cSJim Jagielski             f = os.path.join(sysroot, dir[1:], filename)
16*b1cdbd2cSJim Jagielski
17*b1cdbd2cSJim Jagielski-        if os.path.exists(f): return []
18*b1cdbd2cSJim Jagielski+        if os.path.exists(f):
19*b1cdbd2cSJim Jagielski+	    return [dir]
20*b1cdbd2cSJim Jagielski
21*b1cdbd2cSJim Jagielski-    # Check the additional directories
22*b1cdbd2cSJim Jagielski-    for dir in paths:
23*b1cdbd2cSJim Jagielski+    # Check the standard locations
24*b1cdbd2cSJim Jagielski+    for dir in std_dirs:
25*b1cdbd2cSJim Jagielski         f = os.path.join(dir, filename)
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski         if host_platform == 'darwin' and is_macosx_sdk_path(dir):
28*b1cdbd2cSJim Jagielski             f = os.path.join(sysroot, dir[1:], filename)
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski         if os.path.exists(f):
31*b1cdbd2cSJim Jagielski-            return [dir]
32*b1cdbd2cSJim Jagielski+            return []
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski     # Not found anywhere
35*b1cdbd2cSJim Jagielski     return None
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski def find_library_file(compiler, libname, std_dirs, paths):
38*b1cdbd2cSJim Jagielski-    result = compiler.find_library_file(std_dirs + paths, libname)
39*b1cdbd2cSJim Jagielski+    result = compiler.find_library_file(paths+std_dirs, libname)
40*b1cdbd2cSJim Jagielski     if result is None:
41*b1cdbd2cSJim Jagielski         return None
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski     if host_platform == 'darwin':
44*b1cdbd2cSJim Jagielski         sysroot = macosx_sdk_root()
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski-    # Check whether the found file is in one of the standard directories
47*b1cdbd2cSJim Jagielski     dirname = os.path.dirname(result)
48*b1cdbd2cSJim Jagielski-    for p in std_dirs:
49*b1cdbd2cSJim Jagielski+    # Otherwise, it must have been in one of the additional directories,
50*b1cdbd2cSJim Jagielski+    # so we have to figure out which one.
51*b1cdbd2cSJim Jagielski+    for p in paths:
52*b1cdbd2cSJim Jagielski         # Ensure path doesn't end with path separator
53*b1cdbd2cSJim Jagielski         p = p.rstrip(os.sep)
54*b1cdbd2cSJim Jagielski
55*b1cdbd2cSJim Jagielski@@ -180,23 +180,22 @@
56*b1cdbd2cSJim Jagielski             # vs
57*b1cdbd2cSJim Jagielski             #   /usr/lib/libedit.dylib
58*b1cdbd2cSJim Jagielski             if os.path.join(sysroot, p[1:]) == dirname:
59*b1cdbd2cSJim Jagielski-                return [ ]
60*b1cdbd2cSJim Jagielski+                return [ p ]
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski         if p == dirname:
63*b1cdbd2cSJim Jagielski-            return [ ]
64*b1cdbd2cSJim Jagielski+            return [ p ]
65*b1cdbd2cSJim Jagielski
66*b1cdbd2cSJim Jagielski-    # Otherwise, it must have been in one of the additional directories,
67*b1cdbd2cSJim Jagielski-    # so we have to figure out which one.
68*b1cdbd2cSJim Jagielski-    for p in paths:
69*b1cdbd2cSJim Jagielski+    # Check whether the found file is in one of the standard directories
70*b1cdbd2cSJim Jagielski+    for p in std_dirs:
71*b1cdbd2cSJim Jagielski         # Ensure path doesn't end with path separator
72*b1cdbd2cSJim Jagielski         p = p.rstrip(os.sep)
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski         if host_platform == 'darwin' and is_macosx_sdk_path(p):
75*b1cdbd2cSJim Jagielski             if os.path.join(sysroot, p[1:]) == dirname:
76*b1cdbd2cSJim Jagielski-                return [ p ]
77*b1cdbd2cSJim Jagielski+                return [ ]
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski         if p == dirname:
80*b1cdbd2cSJim Jagielski-            return [p]
81*b1cdbd2cSJim Jagielski+            return [ ]
82*b1cdbd2cSJim Jagielski     else:
83*b1cdbd2cSJim Jagielski         assert False, "Internal error: Path not found in std_dirs or paths"
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski@@ -891,6 +892,7 @@
86*b1cdbd2cSJim Jagielski             exts.append( Extension('_ssl', ['_ssl.c'],
87*b1cdbd2cSJim Jagielski                                    include_dirs = ssl_incs,
88*b1cdbd2cSJim Jagielski                                    library_dirs = ssl_libs,
89*b1cdbd2cSJim Jagielski+                                   extra_link_args = ['-Wl,--exclude-libs,ALL'],
90*b1cdbd2cSJim Jagielski                                    libraries = ['ssl', 'crypto'],
91*b1cdbd2cSJim Jagielski                                    depends = ['socketmodule.h']), )
92*b1cdbd2cSJim Jagielski         else:
93*b1cdbd2cSJim Jagielski@@ -930,6 +931,7 @@
94*b1cdbd2cSJim Jagielski                 exts.append( Extension('_hashlib', ['_hashopenssl.c'],
95*b1cdbd2cSJim Jagielski                                        include_dirs = ssl_incs,
96*b1cdbd2cSJim Jagielski                                        library_dirs = ssl_libs,
97*b1cdbd2cSJim Jagielski+                                       extra_link_args = ['-Wl,--exclude-libs,ALL'],
98*b1cdbd2cSJim Jagielski                                        libraries = ['ssl', 'crypto']) )
99*b1cdbd2cSJim Jagielski             else:
100*b1cdbd2cSJim Jagielski                 print ("warning: openssl 0x%08x is too old for _hashlib" %
101