| From 2f9cd402d3293f6efe0f3ac06f17c6c14edbed86 Mon Sep 17 00:00:00 2001 |
| From: James Hilliard <james.hilliard1@gmail.com> |
| Date: Sun, 25 Jun 2023 17:39:19 -0600 |
| Subject: [PATCH] Fix include directory when cross compiling (#9129) |
| |
| Upstream-Status: Backport [https://github.com/pyca/cryptography/pull/9129] |
| Signed-off-by: Alexander Kanavin <alex@linutronix.de> |
| --- |
| src/rust/cryptography-cffi/build.rs | 14 +++++++++++--- |
| 1 file changed, 11 insertions(+), 3 deletions(-) |
| |
| diff --git a/src/rust/cryptography-cffi/build.rs b/src/rust/cryptography-cffi/build.rs |
| index 07590ad2e..384af1ddb 100644 |
| --- a/src/rust/cryptography-cffi/build.rs |
| +++ b/src/rust/cryptography-cffi/build.rs |
| @@ -47,9 +47,14 @@ fn main() { |
| ) |
| .unwrap(); |
| println!("cargo:rustc-cfg=python_implementation=\"{}\"", python_impl); |
| - let python_include = run_python_script( |
| + let python_includes = run_python_script( |
| &python, |
| - "import sysconfig; print(sysconfig.get_path('include'), end='')", |
| + "import os; \ |
| + import setuptools.dist; \ |
| + import setuptools.command.build_ext; \ |
| + b = setuptools.command.build_ext.build_ext(setuptools.dist.Distribution()); \ |
| + b.finalize_options(); \ |
| + print(os.pathsep.join(b.include_dirs), end='')", |
| ) |
| .unwrap(); |
| let openssl_include = |
| @@ -59,12 +64,15 @@ fn main() { |
| let mut build = cc::Build::new(); |
| build |
| .file(openssl_c) |
| - .include(python_include) |
| .include(openssl_include) |
| .flag_if_supported("-Wconversion") |
| .flag_if_supported("-Wno-error=sign-conversion") |
| .flag_if_supported("-Wno-unused-parameter"); |
| |
| + for python_include in env::split_paths(&python_includes) { |
| + build.include(python_include); |
| + } |
| + |
| // Enable abi3 mode if we're not using PyPy. |
| if python_impl != "PyPy" { |
| // cp37 (Python 3.7 to help our grep when we some day drop 3.7 support) |
| -- |
| 2.30.2 |
| |