author | John Beck <John.Beck@Oracle.COM> |
Fri, 18 Apr 2014 16:06:16 -0700 | |
branch | s11-update |
changeset 3087 | a8a55bae43f3 |
permissions | -rw-r--r-- |
3087
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
1 |
This patch comes from upstream: http://bugs.python.org/issue5289 |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
2 |
If we ever upgrade to 2.7.4 or later, it will no longer be needed. |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
3 |
|
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
4 |
--- Python-2.7.3/Lib/ctypes/util.py~ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
5 |
+++ Python-2.7.3/Lib/ctypes/util.py |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
6 |
@@ -180,6 +180,35 @@ elif os.name == "posix": |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
7 |
res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y))) |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
8 |
return res[-1] |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
9 |
|
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
10 |
+ elif sys.platform == "sunos5": |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
11 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
12 |
+ def _findLib_crle(name, is64): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
13 |
+ if not os.path.exists('/usr/bin/crle'): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
14 |
+ return None |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
15 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
16 |
+ if is64: |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
17 |
+ cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null' |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
18 |
+ else: |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
19 |
+ cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null' |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
20 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
21 |
+ for line in os.popen(cmd).readlines(): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
22 |
+ line = line.strip() |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
23 |
+ if line.startswith('Default Library Path (ELF):'): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
24 |
+ paths = line.split()[4] |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
25 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
26 |
+ if not paths: |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
27 |
+ return None |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
28 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
29 |
+ for dir in paths.split(":"): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
30 |
+ libfile = os.path.join(dir, "lib%s.so" % name) |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
31 |
+ if os.path.exists(libfile): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
32 |
+ return libfile |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
33 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
34 |
+ return None |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
35 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
36 |
+ def find_library(name, is64 = False): |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
37 |
+ return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
38 |
+ |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
39 |
else: |
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
40 |
|
a8a55bae43f3
18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
41 |
def _findSoname_ldconfig(name): |