mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
Setting _PYTHON_SYSCONFIGDATA_NAME in python3native class globally was problematic as it was leaking into host python environment, which was causing tracebacks depending on host distro and action (typically anything involving importing sysconfig module). The new class sets the variable only in specific tasks where it is needed, and should be inherited explicitly: - use python3native to run scripts with native python - use python3targetconfig to run scripts with native python if those scripts need to access target config data (such as correct installation directories). This also adds a dependency on target python, so should be used carefully to avoid lengthening builds. (From OE-Core rev: 5a118d4e7985fa88f04c3611f8db813f0dafce75) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
25 lines
787 B
Plaintext
25 lines
787 B
Plaintext
inherit python3-dir
|
|
|
|
PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
|
|
EXTRANATIVEPATH += "python3-native"
|
|
DEPENDS_append = " python3-native "
|
|
|
|
# python-config and other scripts are using distutils modules
|
|
# which we patch to access these variables
|
|
export STAGING_INCDIR
|
|
export STAGING_LIBDIR
|
|
|
|
# Packages can use
|
|
# find_package(PythonInterp REQUIRED)
|
|
# find_package(PythonLibs REQUIRED)
|
|
# which ends up using libs/includes from build host
|
|
# Therefore pre-empt that effort
|
|
export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
|
|
export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
|
|
|
|
# suppress host user's site-packages dirs.
|
|
export PYTHONNOUSERSITE = "1"
|
|
|
|
# autoconf macros will use their internal default preference otherwise
|
|
export PYTHON
|