Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 190580 Details for
Bug 268887
dev-lang/python cross compilation aware
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
python 2.5.2 cross enable ctypes
python-2.5.2-cross-enable-ctypes-module.patch (text/plain), 3.74 KB, created by
Maksim 'max_posedon' Melnikau
on 2009-05-07 00:14:39 UTC
(
hide
)
Description:
python 2.5.2 cross enable ctypes
Filename:
MIME Type:
Creator:
Maksim 'max_posedon' Melnikau
Created:
2009-05-07 00:14:39 UTC
Size:
3.74 KB
patch
obsolete
>This patch was taken from gitweb.openembedded.org (Author: Michael 'mickey' Lauer) and >enables the cross compilation of the ctypes module. > >diff -Naur Python-2.5.1.orig/setup.py Python-2.5.1/setup.py >--- Python-2.5.orig/setup.py 2006-08-10 01:42:18.000000000 +0200 >+++ Python-2.5/setup.py 2007-11-21 18:00:43.000000000 +0100 >@@ -1321,16 +1329,16 @@ > ffi_configfile): > from distutils.dir_util import mkpath > mkpath(ffi_builddir) >- config_args = [] >+ config_args = ['--host=%s' % os.environ["CHOST"], ] > > # Pass empty CFLAGS because we'll just append the resulting > # CFLAGS to Python's; -g or -O2 is to be avoided. >- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ >- % (ffi_builddir, ffi_srcdir, " ".join(config_args)) >+ cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ >+ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) > > res = os.system(cmd) > if res or not os.path.exists(ffi_configfile): >- print "Failed to configure _ctypes module" >+ print "Failed to configure _ctypes module, ret %d or missing %s"% (res, ffi_configfile, ) > return False > > fficonfig = {} >diff -Naur Python-2.5.1.orig/Modules/_ctypes/callbacks.c Python-2.5.1/Modules/_ctypes/callbacks.c >--- Python-2.5.1.orig/Modules/_ctypes/callbacks.c 2006-10-17 21:41:10.000000000 +0200 >+++ Python-2.5.1/Modules/_ctypes/callbacks.c 2007-11-22 10:29:33.000000000 +0100 >@@ -273,11 +273,13 @@ > PyErr_NoMemory(); > return NULL; > } >+#if FFI_CLOSURES > p->pcl = MallocClosure(); > if (p->pcl == NULL) { > PyErr_NoMemory(); > goto error; > } >+#endif > > for (i = 0; i < nArgs; ++i) { > PyObject *cnv = PySequence_GetItem(converters, i); >@@ -315,12 +317,14 @@ > "ffi_prep_cif failed with %d", result); > goto error; > } >+#if FFI_CLOSURES > result = ffi_prep_closure(p->pcl, &p->cif, closure_fcn, p); > if (result != FFI_OK) { > PyErr_Format(PyExc_RuntimeError, > "ffi_prep_closure failed with %d", result); > goto error; > } >+#endif > > p->converters = converters; > p->callable = callable; >@@ -328,8 +332,10 @@ > > error: > if (p) { >+#if FFI_CLOSURES > if (p->pcl) > FreeClosure(p->pcl); >+#endif > PyMem_Free(p); > } > return NULL; >diff -Naur Python-2.5.1.orig/Modules/_ctypes/_ctypes.c Python-2.5.1/Modules/_ctypes/_ctypes.c >--- Python-2.5.1.orig/Modules/_ctypes/_ctypes.c 2007-03-23 20:56:45.000000000 +0100 >+++ Python-2.5.1/Modules/_ctypes/_ctypes.c 2007-11-22 10:29:01.000000000 +0100 >@@ -3419,7 +3419,9 @@ > Py_CLEAR(self->paramflags); > > if (self->thunk) { >+#if FFI_CLOSURES > FreeClosure(self->thunk->pcl); >+#endif > PyMem_Free(self->thunk); > self->thunk = NULL; > } >diff -Naur Python-2.5.1.orig/Modules/_ctypes/ctypes.h Python-2.5.1/Modules/_ctypes/ctypes.h >--- Python-2.5.1.orig/Modules/_ctypes/ctypes.h 2006-08-14 13:17:48.000000000 +0200 >+++ Python-2.5.1/Modules/_ctypes/ctypes.h 2007-11-22 10:29:44.000000000 +0100 >@@ -68,7 +68,9 @@ > }; > > typedef struct { >+#if FFI_CLOSURES > ffi_closure *pcl; /* the C callable */ >+#endif > ffi_cif cif; > PyObject *converters; > PyObject *callable; >diff -Naur Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c Python-2.5.1/Modules/_ctypes/malloc_closure.c >--- Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200 >+++ Python-2.5.1/Modules/_ctypes/malloc_closure.c 2007-11-22 10:30:17.000000000 +0100 >@@ -27,7 +27,9 @@ > /******************************************************************/ > > typedef union _tagITEM { >+#if FFI_CLOSURES > ffi_closure closure; >+#endif > union _tagITEM *next; > } ITEM; >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 268887
:
190575
|
190577
|
190579
|
190580
|
190582
|
190583
|
190585
|
190587
|
190588
|
190590
|
190591
|
190592
|
190639
|
190742
|
192741
|
311657
|
311659