diff options
Diffstat (limited to 'meta/recipes-devtools/python')
3 files changed, 76 insertions, 7 deletions
diff --git a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch index 27afc030b2..691beada03 100644 --- a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch +++ b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch | |||
| @@ -119,8 +119,8 @@ Index: Python-2.7.2/setup.py | |||
| 119 | 119 | ||
| 120 | # XXX Omitted modules: gl, pure, dl, SGI-specific modules | 120 | # XXX Omitted modules: gl, pure, dl, SGI-specific modules |
| 121 | 121 | ||
| 122 | + lib_dirs = [ os.getenv( "STAGING_LIBDIR" ) ] | 122 | + lib_dirs = [ os.getenv("STAGING_LIBDIR"), os.getenv("STAGING_BASELIBDIR") ] |
| 123 | + inc_dirs = [ os.getenv( "STAGING_INCDIR" ) ] | 123 | + inc_dirs = [ os.getenv("STAGING_INCDIR") ] |
| 124 | + | 124 | + |
| 125 | # | 125 | # |
| 126 | # The following modules are all pretty straightforward, and compile | 126 | # The following modules are all pretty straightforward, and compile |
diff --git a/meta/recipes-devtools/python/python/setuptweaks.patch b/meta/recipes-devtools/python/python/setuptweaks.patch new file mode 100644 index 0000000000..c34ef160d3 --- /dev/null +++ b/meta/recipes-devtools/python/python/setuptweaks.patch | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | This patch removes various ways native system options can pass into the python | ||
| 2 | compilation and somehow break C modules. | ||
| 3 | |||
| 4 | Upstream-Status: Configuration [OE Specific] | ||
| 5 | |||
| 6 | RP 2012/04/23 | ||
| 7 | |||
| 8 | Index: Python-2.7.2/setup.py | ||
| 9 | =================================================================== | ||
| 10 | --- Python-2.7.2.orig/setup.py 2012-04-23 20:03:47.295582553 +0000 | ||
| 11 | +++ Python-2.7.2/setup.py 2012-04-23 20:03:15.000000000 +0000 | ||
| 12 | @@ -231,7 +231,13 @@ | ||
| 13 | # compilers | ||
| 14 | if compiler is not None: | ||
| 15 | (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') | ||
| 16 | - args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags | ||
| 17 | + # Need to filter out -isysroot from the flags. Ideally should | ||
| 18 | + # figure out target flags here. | ||
| 19 | + flags = [] | ||
| 20 | + for f in cflags.split(): | ||
| 21 | + if not f.startswith("-isystem"): | ||
| 22 | + flags.append(f) | ||
| 23 | + args['compiler_so'] = compiler + ' ' + ccshared + ' ' + ' '.join(flags) | ||
| 24 | self.compiler.set_executables(**args) | ||
| 25 | |||
| 26 | build_ext.build_extensions(self) | ||
| 27 | @@ -393,7 +399,6 @@ | ||
| 28 | # into configure and stored in the Makefile (issue found on OS X 10.3). | ||
| 29 | for env_var, arg_name, dir_list in ( | ||
| 30 | ('LDFLAGS', '-R', self.compiler.runtime_library_dirs), | ||
| 31 | - ('LDFLAGS', '-L', self.compiler.library_dirs), | ||
| 32 | ('CPPFLAGS', '-I', self.compiler.include_dirs)): | ||
| 33 | env_val = sysconfig.get_config_var(env_var) | ||
| 34 | if env_val: | ||
| 35 | @@ -419,16 +424,16 @@ | ||
| 36 | for directory in reversed(options.dirs): | ||
| 37 | add_dir_to_list(dir_list, directory) | ||
| 38 | |||
| 39 | - if os.path.normpath(sys.prefix) != '/usr' \ | ||
| 40 | - and not sysconfig.get_config_var('PYTHONFRAMEWORK'): | ||
| 41 | +# if os.path.normpath(sys.prefix) != '/usr' \ | ||
| 42 | +# and not sysconfig.get_config_var('PYTHONFRAMEWORK'): | ||
| 43 | # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework | ||
| 44 | # (PYTHONFRAMEWORK is set) to avoid # linking problems when | ||
| 45 | # building a framework with different architectures than | ||
| 46 | # the one that is currently installed (issue #7473) | ||
| 47 | - add_dir_to_list(self.compiler.library_dirs, | ||
| 48 | - sysconfig.get_config_var("LIBDIR")) | ||
| 49 | - add_dir_to_list(self.compiler.include_dirs, | ||
| 50 | - sysconfig.get_config_var("INCLUDEDIR")) | ||
| 51 | +# add_dir_to_list(self.compiler.library_dirs, | ||
| 52 | +# sysconfig.get_config_var("LIBDIR")) | ||
| 53 | +# add_dir_to_list(self.compiler.include_dirs, | ||
| 54 | +# sysconfig.get_config_var("INCLUDEDIR")) | ||
| 55 | |||
| 56 | try: | ||
| 57 | have_unicode = unicode | ||
diff --git a/meta/recipes-devtools/python/python_2.7.2.bb b/meta/recipes-devtools/python/python_2.7.2.bb index 95e17a83d6..e067ba50fc 100644 --- a/meta/recipes-devtools/python/python_2.7.2.bb +++ b/meta/recipes-devtools/python/python_2.7.2.bb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | require python.inc | 1 | require python.inc |
| 2 | DEPENDS = "python-native bzip2 db gdbm openssl readline sqlite3 zlib" | 2 | DEPENDS = "python-native bzip2 db gdbm openssl readline sqlite3 zlib" |
| 3 | PR = "${INC_PR}.12" | 3 | PR = "${INC_PR}.14" |
| 4 | 4 | ||
| 5 | DISTRO_SRC_URI ?= "file://sitecustomize.py" | 5 | DISTRO_SRC_URI ?= "file://sitecustomize.py" |
| 6 | DISTRO_SRC_URI_linuxstdbase = "" | 6 | DISTRO_SRC_URI_linuxstdbase = "" |
| @@ -21,6 +21,7 @@ SRC_URI += "\ | |||
| 21 | file://host_include_contamination.patch \ | 21 | file://host_include_contamination.patch \ |
| 22 | file://sys_platform_is_now_always_linux2.patch \ | 22 | file://sys_platform_is_now_always_linux2.patch \ |
| 23 | file://fix_for_using_different_libdir.patch \ | 23 | file://fix_for_using_different_libdir.patch \ |
| 24 | file://setuptweaks.patch \ | ||
| 24 | " | 25 | " |
| 25 | 26 | ||
| 26 | S = "${WORKDIR}/Python-${PV}" | 27 | S = "${WORKDIR}/Python-${PV}" |
| @@ -33,6 +34,7 @@ TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__" | |||
| 33 | TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" | 34 | TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" |
| 34 | 35 | ||
| 35 | do_configure_prepend() { | 36 | do_configure_prepend() { |
| 37 | rm -f ${S}/Makefile.orig | ||
| 36 | autoreconf -Wcross --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf" | 38 | autoreconf -Wcross --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf" |
| 37 | } | 39 | } |
| 38 | 40 | ||
| @@ -65,10 +67,17 @@ do_compile() { | |||
| 65 | # remove any bogus LD_LIBRARY_PATH | 67 | # remove any bogus LD_LIBRARY_PATH |
| 66 | sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile | 68 | sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile |
| 67 | 69 | ||
| 68 | install -m 0644 Makefile Makefile.orig | 70 | if [ ! -f Makefile.orig ]; then |
| 69 | sed -i -e 's,${includedir},${STAGING_INCDIR},' Makefile | 71 | install -m 0644 Makefile Makefile.orig |
| 70 | sed -i -e 's,${libdir},${STAGING_LIBDIR},' Makefile | 72 | fi |
| 71 | sed -i -e 's,LDFLAGS=,LDFLAGS=-L. -L${STAGING_LIBDIR},' Makefile | 73 | sed -i -e 's,^LDFLAGS=.*,LDFLAGS=-L. -L${STAGING_LIBDIR},g' \ |
| 74 | -e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \ | ||
| 75 | -e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \ | ||
| 76 | -e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \ | ||
| 77 | -e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \ | ||
| 78 | -e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \ | ||
| 79 | -e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \ | ||
| 80 | Makefile | ||
| 72 | install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ | 81 | install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ |
| 73 | # save copy of it now, because if we do it in do_install and | 82 | # save copy of it now, because if we do it in do_install and |
| 74 | # then call do_install twice we get Makefile.orig == Makefile.sysroot | 83 | # then call do_install twice we get Makefile.orig == Makefile.sysroot |
| @@ -79,6 +88,7 @@ do_compile() { | |||
| 79 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ | 88 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ |
| 80 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ | 89 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ |
| 81 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 90 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 91 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | ||
| 82 | STAGING_INCDIR=${STAGING_INCDIR} \ | 92 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 83 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 93 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 84 | OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so | 94 | OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so |
| @@ -89,6 +99,7 @@ do_compile() { | |||
| 89 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ | 99 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ |
| 90 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 100 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 91 | STAGING_INCDIR=${STAGING_INCDIR} \ | 101 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 102 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | ||
| 92 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 103 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 93 | OPT="${CFLAGS}" | 104 | OPT="${CFLAGS}" |
| 94 | } | 105 | } |
| @@ -105,6 +116,7 @@ do_install() { | |||
| 105 | CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ | 116 | CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ |
| 106 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 117 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 107 | STAGING_INCDIR=${STAGING_INCDIR} \ | 118 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 119 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | ||
| 108 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 120 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 109 | DESTDIR=${D} LIBDIR=${libdir} install | 121 | DESTDIR=${D} LIBDIR=${libdir} install |
| 110 | 122 | ||
