]>
Commit | Line | Data |
---|---|---|
a033b415 | 1 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Include/pylifecycle.h Python-3.5.0/Include/pylifecycle.h |
ea93f05f | 2 | --- Python-3.5.0.orig/Include/pylifecycle.h 2015-09-13 13:41:20.000000000 +0200 |
a033b415 | 3 | +++ Python-3.5.0/Include/pylifecycle.h 2015-12-02 20:55:26.865642310 +0100 |
ea93f05f | 4 | @@ -65,6 +65,8 @@ |
e684db95 AM |
5 | /* In their own files */ |
6 | PyAPI_FUNC(const char *) Py_GetVersion(void); | |
7 | PyAPI_FUNC(const char *) Py_GetPlatform(void); | |
8 | +PyAPI_FUNC(const char *) Py_GetArch(void); | |
9 | +PyAPI_FUNC(const char *) Py_GetLib(void); | |
10 | PyAPI_FUNC(const char *) Py_GetCopyright(void); | |
11 | PyAPI_FUNC(const char *) Py_GetCompiler(void); | |
12 | PyAPI_FUNC(const char *) Py_GetBuildInfo(void); | |
a033b415 | 13 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Lib/distutils/command/install.py Python-3.5.0/Lib/distutils/command/install.py |
ea93f05f | 14 | --- Python-3.5.0.orig/Lib/distutils/command/install.py 2015-09-13 13:41:20.000000000 +0200 |
a033b415 | 15 | +++ Python-3.5.0/Lib/distutils/command/install.py 2015-12-02 20:55:26.865642310 +0100 |
ea93f05f | 16 | @@ -19,6 +19,8 @@ |
38874ce8 AM |
17 | from site import USER_SITE |
18 | HAS_USER_SITE = True | |
e684db95 AM |
19 | |
20 | +libname = sys.lib | |
21 | + | |
38874ce8 AM |
22 | WINDOWS_SCHEME = { |
23 | 'purelib': '$base/Lib/site-packages', | |
24 | 'platlib': '$base/Lib/site-packages', | |
ea93f05f JK |
25 | @@ -29,15 +31,15 @@ |
26 | ||
e684db95 AM |
27 | INSTALL_SCHEMES = { |
28 | 'unix_prefix': { | |
ea93f05f | 29 | - 'purelib': '$base/lib/python$py_version_short/site-packages', |
e684db95 | 30 | - 'platlib': '$platbase/lib/python$py_version_short/site-packages', |
ea93f05f | 31 | + 'purelib': '$base/'+libname+'/python$py_version_short/site-packages', |
e684db95 | 32 | + 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages', |
e3852288 | 33 | 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', |
e684db95 AM |
34 | 'scripts': '$base/bin', |
35 | 'data' : '$base', | |
36 | }, | |
37 | 'unix_home': { | |
ea93f05f | 38 | - 'purelib': '$base/lib/python', |
e684db95 | 39 | - 'platlib': '$base/lib/python', |
ea93f05f | 40 | + 'purelib': '$base/'+libname+'/python', |
e684db95 AM |
41 | + 'platlib': '$base/'+libname+'/python', |
42 | 'headers': '$base/include/python/$dist_name', | |
43 | 'scripts': '$base/bin', | |
44 | 'data' : '$base', | |
a033b415 | 45 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Lib/distutils/sysconfig.py Python-3.5.0/Lib/distutils/sysconfig.py |
ea93f05f | 46 | --- Python-3.5.0.orig/Lib/distutils/sysconfig.py 2015-09-13 13:41:21.000000000 +0200 |
a033b415 | 47 | +++ Python-3.5.0/Lib/distutils/sysconfig.py 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f JK |
48 | @@ -132,8 +132,12 @@ |
49 | prefix = plat_specific and EXEC_PREFIX or PREFIX | |
e684db95 AM |
50 | |
51 | if os.name == "posix": | |
52 | + if plat_specific: | |
53 | + lib = sys.lib | |
54 | + else: | |
55 | + lib = 'lib' | |
56 | libpython = os.path.join(prefix, | |
57 | - "lib", "python" + get_python_version()) | |
58 | + lib, "python" + get_python_version()) | |
59 | if standard_lib: | |
60 | return libpython | |
61 | else: | |
a033b415 | 62 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Lib/distutils/tests/test_install.py Python-3.5.0/Lib/distutils/tests/test_install.py |
ea93f05f | 63 | --- Python-3.5.0.orig/Lib/distutils/tests/test_install.py 2015-09-13 13:41:21.000000000 +0200 |
a033b415 | 64 | +++ Python-3.5.0/Lib/distutils/tests/test_install.py 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f JK |
65 | @@ -55,7 +55,7 @@ |
66 | expected = os.path.normpath(expected) | |
e684db95 AM |
67 | self.assertEqual(got, expected) |
68 | ||
ea93f05f JK |
69 | - libdir = os.path.join(destination, "lib", "python") |
70 | + libdir = os.path.join(destination, sys.lib, "python") | |
e684db95 | 71 | check_path(cmd.install_lib, libdir) |
ea93f05f | 72 | check_path(cmd.install_platlib, libdir) |
e684db95 | 73 | check_path(cmd.install_purelib, libdir) |
a033b415 | 74 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Lib/site.py Python-3.5.0/Lib/site.py |
ea93f05f | 75 | --- Python-3.5.0.orig/Lib/site.py 2015-09-13 13:41:21.000000000 +0200 |
a033b415 | 76 | +++ Python-3.5.0/Lib/site.py 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f | 77 | @@ -303,12 +303,16 @@ |
38874ce8 AM |
78 | seen.add(prefix) |
79 | ||
80 | if os.sep == '/': | |
e3852288 JB |
81 | - sitepackages.append(os.path.join(prefix, "lib", |
82 | + sitepackages.append(os.path.join(prefix, sys.lib, | |
04df829f | 83 | "python" + sys.version[:3], |
84 | "site-packages")) | |
e3852288 | 85 | + sitepackages.append(os.path.join(prefix, sys.lib, "site-python")) |
04df829f | 86 | + if sys.lib != 'lib': |
e3852288 | 87 | + sitepackages.append(os.path.join(prefix, "lib", "python" + sys.version[:3], "site-packages")) |
ea93f05f | 88 | + sitepackages.append(os.path.join(prefix, "share", "python" + sys.version[:3], "site-packages")) |
04df829f | 89 | else: |
e3852288 JB |
90 | sitepackages.append(prefix) |
91 | - sitepackages.append(os.path.join(prefix, "lib", "site-packages")) | |
92 | + sitepackages.append(os.path.join(prefix, sys.lib, "site-packages")) | |
04df829f | 93 | if sys.platform == "darwin": |
94 | # for framework builds *only* we add the standard Apple | |
e3852288 | 95 | # locations. |
a033b415 | 96 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Lib/sysconfig.py Python-3.5.0/Lib/sysconfig.py |
ea93f05f | 97 | --- Python-3.5.0.orig/Lib/sysconfig.py 2015-09-13 13:41:21.000000000 +0200 |
a033b415 | 98 | +++ Python-3.5.0/Lib/sysconfig.py 2015-12-02 20:56:37.266116742 +0100 |
ea93f05f | 99 | @@ -20,10 +20,10 @@ |
75257062 | 100 | |
101 | _INSTALL_SCHEMES = { | |
102 | 'posix_prefix': { | |
b88f500a | 103 | - 'stdlib': '{installed_base}/lib/python{py_version_short}', |
75257062 | 104 | - 'platstdlib': '{platbase}/lib/python{py_version_short}', |
ea93f05f JK |
105 | - 'purelib': '{base}/lib/python{py_version_short}/site-packages', |
106 | - 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', | |
b88f500a | 107 | + 'stdlib': '{installed_base}/' + sys.lib + '/python{py_version_short}', |
75257062 | 108 | + 'platstdlib': '{platbase}/' + sys.lib + '/python{py_version_short}', |
ea93f05f | 109 | + 'purelib': '{base}/' + sys.lib + '/python{py_version_short}/site-packages', |
75257062 | 110 | + 'platlib': '{platbase}/' + sys.lib + '/python{py_version_short}/site-packages', |
111 | 'include': | |
b88f500a | 112 | '{installed_base}/include/python{py_version_short}{abiflags}', |
75257062 | 113 | 'platinclude': |
ea93f05f | 114 | @@ -32,10 +32,10 @@ |
75257062 | 115 | 'data': '{base}', |
116 | }, | |
117 | 'posix_home': { | |
b88f500a | 118 | - 'stdlib': '{installed_base}/lib/python', |
75257062 | 119 | - 'platstdlib': '{base}/lib/python', |
ea93f05f JK |
120 | - 'purelib': '{base}/lib/python', |
121 | - 'platlib': '{base}/lib/python', | |
b88f500a | 122 | + 'stdlib': '{installed_base}/' + sys.lib + '/python', |
b9c7955e | 123 | + 'platstdlib': '{base}/' + sys.lib + '/python', |
ea93f05f | 124 | + 'purelib': '{base}/' + sys.lib + '/python', |
75257062 | 125 | + 'platlib': '{base}/' + sys.lib + '/python', |
b88f500a AM |
126 | 'include': '{installed_base}/include/python', |
127 | 'platinclude': '{installed_base}/include/python', | |
75257062 | 128 | 'scripts': '{base}/bin', |
a033b415 JK |
129 | @@ -459,7 +459,11 @@ |
130 | else: | |
131 | inc_dir = _sys_home or _PROJECT_BASE | |
132 | else: | |
133 | - inc_dir = get_path('platinclude') | |
134 | + if hasattr(sys, 'abiflags'): | |
135 | + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) | |
136 | + else: | |
137 | + config_dir_name = 'config' | |
138 | + inc_dir = os.path.join(get_path('stdlib'), config_dir_name) | |
139 | return os.path.join(inc_dir, 'pyconfig.h') | |
140 | ||
141 | ||
142 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Makefile.pre.in Python-3.5.0/Makefile.pre.in | |
ea93f05f | 143 | --- Python-3.5.0.orig/Makefile.pre.in 2015-09-13 13:41:23.000000000 +0200 |
a033b415 | 144 | +++ Python-3.5.0/Makefile.pre.in 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f | 145 | @@ -101,6 +101,8 @@ |
e684db95 AM |
146 | |
147 | # Machine-dependent subdirectories | |
148 | MACHDEP= @MACHDEP@ | |
149 | +LIB= @LIB@ | |
150 | +ARCH= @ARCH@ | |
151 | ||
ea93f05f JK |
152 | # Multiarch directory (may be empty) |
153 | MULTIARCH= @MULTIARCH@ | |
154 | @@ -120,7 +122,7 @@ | |
e684db95 AM |
155 | MANDIR= @mandir@ |
156 | INCLUDEDIR= @includedir@ | |
157 | CONFINCLUDEDIR= $(exec_prefix)/include | |
158 | -SCRIPTDIR= $(prefix)/lib | |
159 | +SCRIPTDIR= $(prefix)/$(LIB) | |
e3852288 | 160 | ABIFLAGS= @ABIFLAGS@ |
e684db95 AM |
161 | |
162 | # Detailed destination directories | |
ea93f05f | 163 | @@ -796,7 +798,7 @@ |
e3852288 | 164 | Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) |
e684db95 AM |
165 | |
166 | Python/getplatform.o: $(srcdir)/Python/getplatform.c | |
e3852288 JB |
167 | - $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c |
168 | + $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c | |
e684db95 AM |
169 | |
170 | Python/importdl.o: $(srcdir)/Python/importdl.c | |
e3852288 | 171 | $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c |
ea93f05f JK |
172 | @@ -1362,8 +1364,8 @@ |
173 | if test "$(SHLIB_SUFFIX)" = .dll; then \ | |
174 | $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ | |
175 | else \ | |
176 | - $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ | |
177 | - $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ | |
178 | + $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBDIR)/$(LIBRARY) ; \ | |
179 | + $(RANLIB) $(DESTDIR)$(LIBDIR)/$(LIBRARY) ; \ | |
180 | fi; \ | |
181 | else \ | |
182 | echo Skip install of $(LIBRARY) - use make frameworkinstall; \ | |
a033b415 | 183 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Modules/getpath.c Python-3.5.0/Modules/getpath.c |
ea93f05f | 184 | --- Python-3.5.0.orig/Modules/getpath.c 2015-09-13 13:41:24.000000000 +0200 |
a033b415 | 185 | +++ Python-3.5.0/Modules/getpath.c 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f | 186 | @@ -117,9 +117,21 @@ |
e684db95 AM |
187 | #define EXEC_PREFIX PREFIX |
188 | #endif | |
189 | ||
190 | +#ifndef LIB_PYTHON | |
191 | +#if defined(__x86_64__) || (defined(__sparc__) && defined(__arch64__)) || defined(__powerpc64__) || defined(__s390x__) | |
58274b36 JR |
192 | +#if defined(__ILP32__) |
193 | +#define LIB_PYTHON "libx32/python" | |
194 | +#else | |
38874ce8 | 195 | +#define LIB_PYTHON "lib64/python" |
58274b36 | 196 | +#endif |
e684db95 | 197 | +#else |
38874ce8 | 198 | +#define LIB_PYTHON "lib/python" |
e684db95 AM |
199 | +#endif |
200 | +#endif | |
201 | + | |
202 | #ifndef PYTHONPATH | |
203 | -#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ | |
204 | - EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" | |
205 | +#define PYTHONPATH PREFIX "/" LIB_PYTHON VERSION ":" \ | |
206 | + EXEC_PREFIX "/" LIB_PYTHON VERSION "/lib-dynload:" | |
207 | #endif | |
208 | ||
209 | #ifndef LANDMARK | |
ea93f05f | 210 | @@ -511,7 +523,7 @@ |
ac674191 AM |
211 | _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL); |
212 | _prefix = Py_DecodeLocale(PREFIX, NULL); | |
213 | _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL); | |
214 | - lib_python = Py_DecodeLocale("lib/python" VERSION, NULL); | |
215 | + lib_python = Py_DecodeLocale(LIB_PYTHON VERSION, NULL); | |
04df829f | 216 | |
38874ce8 AM |
217 | if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) { |
218 | Py_FatalError( | |
ea93f05f JK |
219 | @@ -700,7 +712,7 @@ |
220 | } | |
221 | else | |
222 | wcsncpy(zip_path, _prefix, MAXPATHLEN); | |
223 | - joinpath(zip_path, L"lib/python00.zip"); | |
224 | + joinpath(zip_path, L"" LIB_PYTHON "00.zip"); | |
225 | bufsz = wcslen(zip_path); /* Replace "00" with version */ | |
226 | zip_path[bufsz - 6] = VERSION[0]; | |
227 | zip_path[bufsz - 5] = VERSION[2]; | |
a033b415 | 228 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Python/getplatform.c Python-3.5.0/Python/getplatform.c |
ea93f05f | 229 | --- Python-3.5.0.orig/Python/getplatform.c 2015-09-13 13:41:26.000000000 +0200 |
a033b415 | 230 | +++ Python-3.5.0/Python/getplatform.c 2015-12-02 20:55:26.868975666 +0100 |
e684db95 AM |
231 | @@ -10,3 +10,23 @@ |
232 | { | |
233 | return PLATFORM; | |
234 | } | |
235 | + | |
236 | +#ifndef ARCH | |
237 | +#define ARCH "unknown" | |
238 | +#endif | |
239 | + | |
240 | +const char * | |
241 | +Py_GetArch(void) | |
242 | +{ | |
243 | + return ARCH; | |
244 | +} | |
245 | + | |
246 | +#ifndef LIB | |
247 | +#define LIB "lib" | |
248 | +#endif | |
249 | + | |
250 | +const char * | |
251 | +Py_GetLib(void) | |
252 | +{ | |
253 | + return LIB; | |
254 | +} | |
a033b415 | 255 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/Python/sysmodule.c Python-3.5.0/Python/sysmodule.c |
ea93f05f | 256 | --- Python-3.5.0.orig/Python/sysmodule.c 2015-09-13 13:41:26.000000000 +0200 |
a033b415 | 257 | +++ Python-3.5.0/Python/sysmodule.c 2015-12-02 20:55:26.868975666 +0100 |
ea93f05f | 258 | @@ -1767,6 +1767,10 @@ |
e3852288 JB |
259 | PyUnicode_FromString(Py_GetCopyright())); |
260 | SET_SYS_FROM_STRING("platform", | |
261 | PyUnicode_FromString(Py_GetPlatform())); | |
262 | + SET_SYS_FROM_STRING("arch", | |
263 | + PyUnicode_FromString(Py_GetArch())); | |
264 | + SET_SYS_FROM_STRING("lib", | |
265 | + PyUnicode_FromString(Py_GetLib())); | |
266 | SET_SYS_FROM_STRING("executable", | |
267 | PyUnicode_FromWideChar( | |
268 | Py_GetProgramFullPath(), -1)); | |
a033b415 JK |
269 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/configure.ac Python-3.5.0/configure.ac |
270 | --- Python-3.5.0.orig/configure.ac 2015-12-02 20:54:45.102025846 +0100 | |
271 | +++ Python-3.5.0/configure.ac 2015-12-02 20:55:26.868975666 +0100 | |
ea93f05f JK |
272 | @@ -722,6 +722,45 @@ |
273 | ]) | |
274 | fi | |
275 | ||
276 | +AC_SUBST(ARCH) | |
277 | +AC_MSG_CHECKING(ARCH) | |
278 | +ARCH=`uname -m` | |
279 | +case $ARCH in | |
280 | +i?86) ARCH=i386;; | |
281 | +esac | |
282 | +AC_MSG_RESULT($ARCH) | |
283 | + | |
284 | +AC_SUBST(LIB) | |
285 | +AC_MSG_CHECKING(LIB) | |
286 | +case $ac_sys_system in | |
287 | +Linux*) | |
288 | + # Test if the compiler is 64bit | |
289 | + echo 'int i;' > conftest.$ac_ext | |
290 | + python_cv_cc_64bit_output=no | |
291 | + if AC_TRY_EVAL(ac_compile); then | |
292 | + case `/usr/bin/file conftest.$ac_objext` in | |
293 | + *"ELF 64"*) | |
294 | + python_cv_cc_64bit_output=yes | |
295 | + ;; | |
296 | + esac | |
297 | + fi | |
298 | + rm -rf conftest* | |
299 | + ;; | |
300 | +esac | |
301 | + | |
302 | +case $ARCH:$python_cv_cc_64bit_output in | |
303 | +powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes) | |
304 | + LIB="lib64" | |
305 | + ;; | |
306 | +x86_64:no) | |
307 | + LIB="libx32" | |
308 | + ;; | |
309 | +*:*) | |
310 | + LIB="lib" | |
311 | + ;; | |
312 | +esac | |
313 | +AC_MSG_RESULT($LIB) | |
314 | + | |
315 | ||
316 | MULTIARCH=$($CC --print-multiarch 2>/dev/null) | |
317 | AC_SUBST(MULTIARCH) | |
318 | @@ -4331,7 +4370,7 @@ | |
319 | ||
320 | dnl define LIBPL after ABIFLAGS and LDVERSION is defined. | |
321 | AC_SUBST(PY_ENABLE_SHARED) | |
322 | -LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" | |
323 | +LIBPL='$(LIBDIR)/python'"${VERSION}/config-${LDVERSION}" | |
324 | AC_SUBST(LIBPL) | |
325 | ||
326 | # Check whether right shifting a negative integer extends the sign bit | |
a033b415 | 327 | diff -durN -x '*~' -x '*.orig' Python-3.5.0.orig/setup.py Python-3.5.0/setup.py |
ea93f05f | 328 | --- Python-3.5.0.orig/setup.py 2015-09-13 13:41:26.000000000 +0200 |
a033b415 | 329 | +++ Python-3.5.0/setup.py 2015-12-02 20:55:26.872309022 +0100 |
ea93f05f | 330 | @@ -526,8 +526,7 @@ |
e684db95 | 331 | # be assumed that no additional -I,-L directives are needed. |
b88f500a AM |
332 | if not cross_compiling: |
333 | lib_dirs = self.compiler.library_dirs + [ | |
334 | - '/lib64', '/usr/lib64', | |
335 | - '/lib', '/usr/lib', | |
08dc552f | 336 | + '/' + sys.lib, '/usr/' + sys.lib |
b88f500a AM |
337 | ] |
338 | inc_dirs = self.compiler.include_dirs + ['/usr/include'] | |
ea93f05f JK |
339 | else: |
340 | @@ -750,11 +749,11 @@ | |
e3852288 JB |
341 | elif curses_library: |
342 | readline_libs.append(curses_library) | |
e684db95 | 343 | elif self.compiler.find_library_file(lib_dirs + |
e3852288 | 344 | - ['/usr/lib/termcap'], |
cc48af34 | 345 | + ['/usr/' + sys.lib + '/termcap'], |
e3852288 | 346 | 'termcap'): |
e684db95 AM |
347 | readline_libs.append('termcap') |
348 | exts.append( Extension('readline', ['readline.c'], | |
349 | - library_dirs=['/usr/lib/termcap'], | |
cc48af34 | 350 | + library_dirs=['/usr/' + sys.lib + '/termcap'], |
e684db95 AM |
351 | extra_link_args=readline_extra_link_args, |
352 | libraries=readline_libs) ) | |
e3852288 | 353 | else: |