diff --git a/newsfragments/6284.fixed.md b/newsfragments/6284.fixed.md new file mode 100644 index 00000000000..a6fa55fc1c2 --- /dev/null +++ b/newsfragments/6284.fixed.md @@ -0,0 +1 @@ +Fix `pyo3_build_config::add_libpython_rpath_link_args` emitting Unix-style rpath linker arguments on Windows and Cygwin. diff --git a/pyo3-build-config/src/lib.rs b/pyo3-build-config/src/lib.rs index 7298c004384..85ce1120275 100644 --- a/pyo3-build-config/src/lib.rs +++ b/pyo3-build-config/src/lib.rs @@ -296,10 +296,12 @@ pub mod pyo3_build_script_impl { target.architecture, Architecture::Wasm32 | Architecture::Wasm64 ); - let is_emscripten = target.operating_system == target_lexicon::OperatingSystem::Emscripten; + let is_emscripten = target.operating_system == OperatingSystem::Emscripten; + let is_cygwin = target.operating_system == OperatingSystem::Cygwin; + let is_windows = target.operating_system == OperatingSystem::Windows; // webassembly targets generally don't support rpath, emscripten is the only exception currently aware of: // https://github.com/emscripten-core/emscripten/issues/22126 - if is_linking_libpython && (!is_wasm || is_emscripten) { + if is_linking_libpython && !is_windows && !is_cygwin && (!is_wasm || is_emscripten) { if let Some(lib_dir) = interpreter_config.lib_dir() { println!("cargo:rustc-link-arg=-Wl,-rpath,{lib_dir}"); }