mirror of
https://git.yoctoproject.org/poky
synced 2026-02-28 20:39:39 +01:00
python-native, python3-native: remove the use of exported HOST_SYS and BUILD_SYS variables
The code that utilized them was superseded by the code (in the same patch!) that is utilizing STAGING_LIBDIR/STAGING_INCDIR, and wasn't correct in the first place as HOST_SYS is not necessarily the same as the sysroot directory name. (From OE-Core rev: 8834e81a38c24a066bb4fefa93da61011d0db244) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
49557a5e9d
commit
4977a0743b
@@ -18,9 +18,6 @@ PACKAGECONFIG ?= ""
|
||||
PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python-docutils-native"
|
||||
PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python-docutils-native python-epydoc-native"
|
||||
|
||||
export BUILD_SYS
|
||||
export HOST_SYS
|
||||
|
||||
export STAGING_LIBDIR
|
||||
export STAGING_INCDIR
|
||||
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
# The proper prefix is inside our staging area.
|
||||
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
|
||||
# Signed-off-by: Phil Blundell <philb@gnu.org>
|
||||
|
||||
--- Python-2.6.6/Lib/distutils/sysconfig.py.orig 2012-01-03 14:02:03.027005296 +0000
|
||||
+++ Python-2.6.6/Lib/distutils/sysconfig.py 2012-01-03 14:02:31.517601081 +0000
|
||||
@@ -19,8 +19,8 @@
|
||||
from distutils.errors import DistutilsPlatformError
|
||||
|
||||
# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
|
||||
@@ -70,7 +70,7 @@
|
||||
sys.exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
if prefix is None:
|
||||
- prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
|
||||
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
@@ -115,12 +115,16 @@
|
||||
If 'prefix' is supplied, use it instead of sys.prefix or
|
||||
sys.exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
|
||||
if prefix is None:
|
||||
- prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
+ if plat_specific:
|
||||
+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
|
||||
+ else:
|
||||
+ prefix = PREFIX
|
||||
|
||||
if os.name == "posix":
|
||||
libpython = os.path.join(prefix,
|
||||
- "lib", "python" + get_python_version())
|
||||
+ lib_basename, "python" + get_python_version())
|
||||
if standard_lib:
|
||||
return libpython
|
||||
else:
|
||||
@@ -216,7 +220,7 @@
|
||||
else:
|
||||
# The name of the config.h file changed in 2.2
|
||||
config_h = 'pyconfig.h'
|
||||
- return os.path.join(inc_dir, config_h)
|
||||
+ return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
|
||||
|
||||
def get_makefile_filename():
|
||||
@@ -225,7 +229,7 @@
|
||||
return os.path.join(os.path.dirname(os.path.realpath(sys.executable)),
|
||||
"Makefile")
|
||||
lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
|
||||
- return os.path.join(lib_dir, "config", "Makefile")
|
||||
+ return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
|
||||
|
||||
def parse_config_h(fp, g=None):
|
||||
@@ -8,7 +8,7 @@ SRC_URI += "\
|
||||
file://05-enable-ctypes-cross-build.patch \
|
||||
file://10-distutils-fix-swig-parameter.patch \
|
||||
file://11-distutils-never-modify-shebang-line.patch \
|
||||
file://12-distutils-prefix-is-inside-staging-area.patch \
|
||||
file://0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch \
|
||||
file://debug.patch \
|
||||
file://unixccompiler.patch \
|
||||
file://nohostlibs.patch \
|
||||
@@ -30,8 +30,6 @@ RPROVIDES += "python-distutils-native python-compression-native python-textutils
|
||||
EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}"
|
||||
|
||||
EXTRA_OEMAKE = '\
|
||||
BUILD_SYS="" \
|
||||
HOST_SYS="" \
|
||||
LIBC="" \
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
|
||||
|
||||
@@ -63,7 +63,6 @@ inherit distutils
|
||||
# Make the build fail and replace *config.h with proper one
|
||||
# This is a ugly, ugly hack - Koen
|
||||
do_compile_prepend_class-target() {
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
|
||||
true
|
||||
cp ${WORKDIR}/*config.h ${S}/build/$(ls ${S}/build | grep src)/numpy/core/include/numpy/
|
||||
|
||||
@@ -23,7 +23,7 @@ inherit distutils pkgconfig
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
do_configure() {
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} ./waf configure --prefix=${D}${prefix} --libdir=${D}${libdir}
|
||||
./waf configure --prefix=${D}${prefix} --libdir=${D}${libdir}
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 4cdf2e9df13c6327fcc94d53e4953005543aef3d Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 6 Apr 2016 17:43:02 +0300
|
||||
Subject: [PATCH 01/10] distutils: set the prefix to be inside staging
|
||||
directory
|
||||
|
||||
The proper prefix is inside our staging area.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille-media.de>
|
||||
Signed-off-by: Phil Blundell <philb@gnu.org>
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
|
||||
index de7da1d..f3aacf7 100644
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -75,7 +75,7 @@ def get_python_inc(plat_specific=0, prefix=None):
|
||||
sys.exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
if prefix is None:
|
||||
- prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
|
||||
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
@@ -115,12 +115,16 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
If 'prefix' is supplied, use it instead of sys.prefix or
|
||||
sys.exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
|
||||
if prefix is None:
|
||||
- prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
+ if plat_specific:
|
||||
+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
|
||||
+ else:
|
||||
+ prefix = PREFIX
|
||||
|
||||
if os.name == "posix":
|
||||
libpython = os.path.join(prefix,
|
||||
- "lib", "python" + get_python_version())
|
||||
+ lib_basename, "python" + get_python_version())
|
||||
if standard_lib:
|
||||
return libpython
|
||||
else:
|
||||
--
|
||||
2.8.0.rc3
|
||||
|
||||
@@ -47,8 +47,6 @@ RPROVIDES += "python3-distutils-native python3-compression-native python3-textut
|
||||
EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip"
|
||||
|
||||
EXTRA_OEMAKE = '\
|
||||
BUILD_SYS="" \
|
||||
HOST_SYS="" \
|
||||
LIBC="" \
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From d4dd67daa1555bf13272cc071706338572539bad Mon Sep 17 00:00:00 2001
|
||||
From 7630ab22578746d3d790d0598c0d279cf7afed97 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 14 May 2013 15:00:26 -0700
|
||||
Subject: [PATCH 01/20] python3: Add target and native recipes
|
||||
@@ -14,27 +14,14 @@ Upstream-Status: Inappropriate [embedded specific]
|
||||
# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
|
||||
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
|
||||
index 573724d..418b478 100644
|
||||
index 573724d..390c485 100644
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -17,10 +17,11 @@ import sys
|
||||
from .errors import DistutilsPlatformError
|
||||
|
||||
# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
-BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
-BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
+BASE_PREFIX = os.path.normpath(sys.base_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
+BASE_EXEC_PREFIX= os.path.normpath(sys.base_exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
+
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild/win32 or project/PCBuild/amd64.
|
||||
@@ -84,7 +85,9 @@ def get_python_inc(plat_specific=0, prefix=None):
|
||||
@@ -84,7 +84,9 @@ def get_python_inc(plat_specific=0, prefix=None):
|
||||
If 'prefix' is supplied, use it instead of sys.base_prefix or
|
||||
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
@@ -45,7 +32,7 @@ index 573724d..418b478 100644
|
||||
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
@@ -125,6 +128,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
@@ -125,6 +127,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
If 'prefix' is supplied, use it instead of sys.base_prefix or
|
||||
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
@@ -56,7 +43,7 @@ index 573724d..418b478 100644
|
||||
if prefix is None:
|
||||
if standard_lib:
|
||||
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
|
||||
@@ -133,7 +140,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
@@ -133,7 +139,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
|
||||
if os.name == "posix":
|
||||
libpython = os.path.join(prefix,
|
||||
@@ -65,24 +52,6 @@ index 573724d..418b478 100644
|
||||
if standard_lib:
|
||||
return libpython
|
||||
else:
|
||||
@@ -233,7 +240,7 @@ def get_config_h_filename():
|
||||
else:
|
||||
inc_dir = get_python_inc(plat_specific=1)
|
||||
|
||||
- return os.path.join(inc_dir, 'pyconfig.h')
|
||||
+ return os.path.join(inc_dir, 'pyconfig.h'.replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ))
|
||||
|
||||
|
||||
def get_makefile_filename():
|
||||
@@ -242,7 +249,7 @@ def get_makefile_filename():
|
||||
return os.path.join(_sys_home or project_base, "Makefile")
|
||||
lib_dir = get_python_lib(plat_specific=0, standard_lib=1)
|
||||
config_file = 'config-{}{}'.format(get_python_version(), build_flags)
|
||||
- return os.path.join(lib_dir, config_file, 'Makefile')
|
||||
+ return os.path.join(lib_dir, config_file, 'Makefile').replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
|
||||
|
||||
|
||||
def parse_config_h(fp, g=None):
|
||||
--
|
||||
2.7.0
|
||||
2.8.0.rc3
|
||||
|
||||
|
||||
@@ -118,7 +118,6 @@ do_compile() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
LIB=${baselib} \
|
||||
ARCH=${TARGET_ARCH} \
|
||||
OPT="${CFLAGS}" libpython3.so
|
||||
@@ -128,7 +127,6 @@ do_compile() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
LIB=${baselib} \
|
||||
ARCH=${TARGET_ARCH} \
|
||||
OPT="${CFLAGS}"
|
||||
@@ -149,7 +147,6 @@ do_install() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
LIB=${baselib} \
|
||||
ARCH=${TARGET_ARCH} \
|
||||
DESTDIR=${D} LIBDIR=${libdir}
|
||||
@@ -159,7 +156,6 @@ do_install() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
LIB=${baselib} \
|
||||
ARCH=${TARGET_ARCH} \
|
||||
DESTDIR=${D} LIBDIR=${libdir} install
|
||||
|
||||
@@ -80,7 +80,6 @@ do_compile() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
OPT="${CFLAGS}"
|
||||
}
|
||||
|
||||
@@ -100,7 +99,6 @@ do_install() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
DESTDIR=${D} LIBDIR=${libdir}
|
||||
|
||||
oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
|
||||
@@ -109,7 +107,6 @@ do_install() {
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
|
||||
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
|
||||
DESTDIR=${D} LIBDIR=${libdir} install
|
||||
|
||||
install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
|
||||
|
||||
Reference in New Issue
Block a user