738500c296
Add new host-pkgconf host python3 dependency.
Set new --with-build-python conf options for target python build.
Drop Fix cross compiling the uuid module patch which is no longer
required as pkgconfig is now used for include directory detection.
Refresh patches.
License hash changed due to year update:
ba00f0d93a
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
70 lines
3.0 KiB
Diff
70 lines
3.0 KiB
Diff
From 132b9dca3bb4d4682f7e318648ce11e1abb31b62 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Wed, 23 Dec 2015 11:33:14 +0100
|
|
Subject: [PATCH] Adjust library/header paths for cross-compilation
|
|
|
|
When cross-compiling third-party extensions, the get_python_inc() or
|
|
get_python_lib() can be called, to return the path to headers or
|
|
libraries. However, they use the sys.prefix of the host Python, which
|
|
returns incorrect paths when cross-compiling (paths pointing to host
|
|
headers and libraries).
|
|
|
|
In order to fix this, we introduce the _python_sysroot, _python_prefix
|
|
and _python_exec_prefix variables, that allow to override these
|
|
values, and get correct header/library paths when cross-compiling
|
|
third-party Python modules.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
Refresh for 3.10.0
|
|
---
|
|
Lib/distutils/command/build_ext.py | 5 ++++-
|
|
Lib/sysconfig.py | 15 +++++++++++----
|
|
2 files changed, 15 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
|
|
index f287b34998..298234d6a1 100644
|
|
--- a/Lib/distutils/command/build_ext.py
|
|
+++ b/Lib/distutils/command/build_ext.py
|
|
@@ -234,7 +234,10 @@ def finalize_options(self):
|
|
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
|
if not sysconfig.python_build:
|
|
# building third party extensions
|
|
- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
|
+ libdir = sysconfig.get_config_var('LIBDIR')
|
|
+ if "_python_sysroot" in os.environ:
|
|
+ libdir = os.environ.get("_python_sysroot") + libdir
|
|
+ self.library_dirs.append(libdir)
|
|
else:
|
|
# building python standard extensions
|
|
self.library_dirs.append('.')
|
|
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
|
|
index ebe3711827..6328ec41af 100644
|
|
--- a/Lib/sysconfig.py
|
|
+++ b/Lib/sysconfig.py
|
|
@@ -168,10 +168,17 @@ def joinuser(*args):
|
|
_PY_VERSION = sys.version.split()[0]
|
|
_PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}'
|
|
_PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}'
|
|
-_PREFIX = os.path.normpath(sys.prefix)
|
|
-_BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
|
-_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
|
-_BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
|
+if "_python_sysroot" in os.environ:
|
|
+ _sysroot=os.environ.get('_python_sysroot')
|
|
+ _PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
|
+ _EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
|
+ _BASE_PREFIX = _PREFIX
|
|
+ _BASE_EXEC_PREFIX = _EXEC_PREFIX
|
|
+else:
|
|
+ _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)
|
|
_CONFIG_VARS = None
|
|
_USER_BASE = None
|
|
|
|
--
|
|
2.34.1
|
|
|