The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in
12-distutils-prefix-is-inside-staging-area.patch makes distutils.sysconfig affect the native runtime as well as cross building. Use the old, patched implementation which returns paths in the staging directory and for the target, as appropriate. This change reverts this upstream patch http://hg.python.org/cpython/diff/712970b019f7/Misc/python-config.in Signed-off-by: Tyler Hall <tylerwh...@gmail.com> --- Right now, python3-config returns paths in the native sysroot regardless of whether the recipe is native or cross. This will cause cross compiled C python modules to use native headers. I tried making a similar change in the new sysconfig module as in the referenced distutils.sysconfig patch above, but that broke autotools' ability to detect the native python3 correctly. I think making python3-config get its info from distutils will work for now, but since this distutils interface appears to be deprecated it will probably have to be revisted later. .../python/python3-native_3.3.3.bb | 1 + .../python/python3/python-config.patch | 46 ++++++++++++++++++++++ meta/recipes-devtools/python/python3_3.3.3.bb | 1 + 3 files changed, 48 insertions(+) create mode 100644 meta/recipes-devtools/python/python3/python-config.patch diff --git a/meta/recipes-devtools/python/python3-native_3.3.3.bb b/meta/recipes-devtools/python/python3-native_3.3.3.bb index 0fd7349..9ae2a0b 100644 --- a/meta/recipes-devtools/python/python3-native_3.3.3.bb +++ b/meta/recipes-devtools/python/python3-native_3.3.3.bb @@ -6,6 +6,7 @@ DISTRO_SRC_URI ?= "file://sitecustomize.py" DISTRO_SRC_URI_linuxstdbase = "" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ file://12-distutils-prefix-is-inside-staging-area.patch \ +file://python-config.patch \ file://000-cross-compile.patch \ file://020-dont-compile-python-files.patch \ file://030-fixup-include-dirs.patch \ diff --git a/meta/recipes-devtools/python/python3/python-config.patch b/meta/recipes-devtools/python/python3/python-config.patch new file mode 100644 index 0000000..f23b8b7 --- /dev/null +++ b/meta/recipes-devtools/python/python3/python-config.patch @@ -0,0 +1,46 @@ +python-config: Revert to using distutils.sysconfig + +The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in + +12-distutils-prefix-is-inside-staging-area.patch makes distutils.sysconfig + +affect the native runtime as well as cross building. Use the old, patched +implementation which returns paths in the staging directory and for the target, +as appropriate. + +Upstream-Status: Inappropriate [Embedded Specific] + +Signed-off-by: Tyler Hall <tylerwh...@gmail.com> +: +Index: Python-3.3.3/Misc/python-config.in +=================================================================== +--- Python-3.3.3.orig/Misc/python-config.in ++++ Python-3.3.3/Misc/python-config.in +@@ -4,7 +4,7 @@ + import getopt + import os + import sys +-import sysconfig ++from distutils import sysconfig + + valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', + 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir'] +@@ -32,14 +32,14 @@ if '--help' in opt_flags: + + for opt in opt_flags: + if opt == '--prefix': +- print(sysconfig.get_config_var('prefix')) ++ print(sysconfig.PREFIX) + + elif opt == '--exec-prefix': +- print(sysconfig.get_config_var('exec_prefix')) ++ print(sysconfig.EXEC_PREFIX) + + elif opt in ('--includes', '--cflags'): +- flags = ['-I' + sysconfig.get_path('include'), +- '-I' + sysconfig.get_path('platinclude')] ++ flags = ['-I' + sysconfig.get_python_inc(), ++ '-I' + sysconfig.get_python_inc(plat_specific=True)] + if opt == '--cflags': + flags.extend(getvar('CFLAGS').split()) + print(' '.join(flags)) diff --git a/meta/recipes-devtools/python/python3_3.3.3.bb b/meta/recipes-devtools/python/python3_3.3.3.bb index 2dd5116..fe9824c 100644 --- a/meta/recipes-devtools/python/python3_3.3.3.bb +++ b/meta/recipes-devtools/python/python3_3.3.3.bb @@ -8,6 +8,7 @@ DISTRO_SRC_URI ?= "file://sitecustomize.py" DISTRO_SRC_URI_linuxstdbase = "" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ file://12-distutils-prefix-is-inside-staging-area.patch \ +file://python-config.patch \ file://000-cross-compile.patch \ file://020-dont-compile-python-files.patch \ file://030-fixup-include-dirs.patch \ -- 1.9.2 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core