diff options
| author | Richard Purdie <rpurdie@linux.intel.com> | 2009-05-12 10:23:41 +0100 | 
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-05-12 10:23:41 +0100 | 
| commit | 9db2b57fcaf3a93cbaa1971309da80304d25d5b4 (patch) | |
| tree | b06191df7a23b4df5928a6583884106842dc3094 /meta/packages/python/python-native-2.5.1 | |
| parent | 06e878caadb7be7408d3d69b9d1900171bdae41d (diff) | |
| download | poky-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.tar.gz | |
python-native: Fix the _ctypes module (and remove some dead files)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/python/python-native-2.5.1')
| -rw-r--r-- | meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch | 106 | 
1 files changed, 106 insertions, 0 deletions
| diff --git a/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch b/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch new file mode 100644 index 0000000000..dd5adaf0e7 --- /dev/null +++ b/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch | |||
| @@ -0,0 +1,106 @@ | |||
| 1 | diff -Naur Python-2.5.1.orig/setup.py Python-2.5.1/setup.py | ||
| 2 | --- Python-2.5.orig/setup.py 2006-08-10 01:42:18.000000000 +0200 | ||
| 3 | +++ Python-2.5/setup.py 2007-11-21 18:00:43.000000000 +0100 | ||
| 4 | @@ -1321,16 +1329,16 @@ | ||
| 5 | ffi_configfile): | ||
| 6 | from distutils.dir_util import mkpath | ||
| 7 | mkpath(ffi_builddir) | ||
| 8 | - config_args = [] | ||
| 9 | + config_args = ['--host=%s' % os.environ["HOST_SYS"], ] | ||
| 10 | |||
| 11 | # Pass empty CFLAGS because we'll just append the resulting | ||
| 12 | # CFLAGS to Python's; -g or -O2 is to be avoided. | ||
| 13 | - cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ | ||
| 14 | - % (ffi_builddir, ffi_srcdir, " ".join(config_args)) | ||
| 15 | + cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ | ||
| 16 | + % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) | ||
| 17 | |||
| 18 | res = os.system(cmd) | ||
| 19 | if res or not os.path.exists(ffi_configfile): | ||
| 20 | - print "Failed to configure _ctypes module" | ||
| 21 | + print "Failed to configure _ctypes module, ret %d or missing %s"% (res, ffi_configfile, ) | ||
| 22 | return False | ||
| 23 | |||
| 24 | fficonfig = {} | ||
| 25 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/callbacks.c Python-2.5.1/Modules/_ctypes/callbacks.c | ||
| 26 | --- Python-2.5.1.orig/Modules/_ctypes/callbacks.c 2006-10-17 21:41:10.000000000 +0200 | ||
| 27 | +++ Python-2.5.1/Modules/_ctypes/callbacks.c 2007-11-22 10:29:33.000000000 +0100 | ||
| 28 | @@ -273,11 +273,13 @@ | ||
| 29 | PyErr_NoMemory(); | ||
| 30 | return NULL; | ||
| 31 | } | ||
| 32 | +#if FFI_CLOSURES | ||
| 33 | p->pcl = MallocClosure(); | ||
| 34 | if (p->pcl == NULL) { | ||
| 35 | PyErr_NoMemory(); | ||
| 36 | goto error; | ||
| 37 | } | ||
| 38 | +#endif | ||
| 39 | |||
| 40 | for (i = 0; i < nArgs; ++i) { | ||
| 41 | PyObject *cnv = PySequence_GetItem(converters, i); | ||
| 42 | @@ -315,12 +317,14 @@ | ||
| 43 | "ffi_prep_cif failed with %d", result); | ||
| 44 | goto error; | ||
| 45 | } | ||
| 46 | +#if FFI_CLOSURES | ||
| 47 | result = ffi_prep_closure(p->pcl, &p->cif, closure_fcn, p); | ||
| 48 | if (result != FFI_OK) { | ||
| 49 | PyErr_Format(PyExc_RuntimeError, | ||
| 50 | "ffi_prep_closure failed with %d", result); | ||
| 51 | goto error; | ||
| 52 | } | ||
| 53 | +#endif | ||
| 54 | |||
| 55 | p->converters = converters; | ||
| 56 | p->callable = callable; | ||
| 57 | @@ -328,8 +332,10 @@ | ||
| 58 | |||
| 59 | error: | ||
| 60 | if (p) { | ||
| 61 | +#if FFI_CLOSURES | ||
| 62 | if (p->pcl) | ||
| 63 | FreeClosure(p->pcl); | ||
| 64 | +#endif | ||
| 65 | PyMem_Free(p); | ||
| 66 | } | ||
| 67 | return NULL; | ||
| 68 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/_ctypes.c Python-2.5.1/Modules/_ctypes/_ctypes.c | ||
| 69 | --- Python-2.5.1.orig/Modules/_ctypes/_ctypes.c 2007-03-23 20:56:45.000000000 +0100 | ||
| 70 | +++ Python-2.5.1/Modules/_ctypes/_ctypes.c 2007-11-22 10:29:01.000000000 +0100 | ||
| 71 | @@ -3419,7 +3419,9 @@ | ||
| 72 | Py_CLEAR(self->paramflags); | ||
| 73 | |||
| 74 | if (self->thunk) { | ||
| 75 | +#if FFI_CLOSURES | ||
| 76 | FreeClosure(self->thunk->pcl); | ||
| 77 | +#endif | ||
| 78 | PyMem_Free(self->thunk); | ||
| 79 | self->thunk = NULL; | ||
| 80 | } | ||
| 81 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/ctypes.h Python-2.5.1/Modules/_ctypes/ctypes.h | ||
| 82 | --- Python-2.5.1.orig/Modules/_ctypes/ctypes.h 2006-08-14 13:17:48.000000000 +0200 | ||
| 83 | +++ Python-2.5.1/Modules/_ctypes/ctypes.h 2007-11-22 10:29:44.000000000 +0100 | ||
| 84 | @@ -68,7 +68,9 @@ | ||
| 85 | }; | ||
| 86 | |||
| 87 | typedef struct { | ||
| 88 | +#if FFI_CLOSURES | ||
| 89 | ffi_closure *pcl; /* the C callable */ | ||
| 90 | +#endif | ||
| 91 | ffi_cif cif; | ||
| 92 | PyObject *converters; | ||
| 93 | PyObject *callable; | ||
| 94 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c Python-2.5.1/Modules/_ctypes/malloc_closure.c | ||
| 95 | --- Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200 | ||
| 96 | +++ Python-2.5.1/Modules/_ctypes/malloc_closure.c 2007-11-22 10:30:17.000000000 +0100 | ||
| 97 | @@ -27,7 +27,9 @@ | ||
| 98 | /******************************************************************/ | ||
| 99 | |||
| 100 | typedef union _tagITEM { | ||
| 101 | +#if FFI_CLOSURES | ||
| 102 | ffi_closure closure; | ||
| 103 | +#endif | ||
| 104 | union _tagITEM *next; | ||
| 105 | } ITEM; | ||
| 106 | |||
