From fcb119272a06a1204830823ec972e9ca60d3de8a Mon Sep 17 00:00:00 2001
From: "H. Vetinari" <h.vetinari@gmx.com>
Date: Wed, 27 Aug 2025 23:40:27 +1100
Subject: [PATCH] avoid backslashes from sneaking into `__config__.py`

---
 numpy/meson.build | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/numpy/meson.build b/numpy/meson.build
index 67e4861d7a..468ae0e431 100644
--- a/numpy/meson.build
+++ b/numpy/meson.build
@@ -411,7 +411,8 @@ endforeach
 conf_data.set('CROSS_COMPILED', meson.is_cross_build())
 
 # Python information
-conf_data.set('PYTHON_PATH', py.full_path())
+# ensure we avoid backslashes, which would conflict with relocation mechanism
+conf_data.set('PYTHON_PATH', py.full_path().replace('\\', '/'))
 conf_data.set('PYTHON_VERSION', py.language_version())
 
 # BLAS/LAPACK dependency info. Ensure we report dependencies correctly for
@@ -438,7 +439,8 @@ foreach name, dep : dependency_map
     conf_data.set(name + '_INCLUDEDIR', dep.get_variable('includedir', default_value: 'unknown'))
     conf_data.set(name + '_LIBDIR', dep.get_variable('libdir', default_value: 'unknown'))
     conf_data.set(name + '_OPENBLAS_CONFIG', dep.get_variable('openblas_config', default_value: 'unknown'))
-    conf_data.set(name + '_PCFILEDIR', dep.get_variable('pcfiledir', default_value: 'unknown'))
+    # ensure we don't pick up backslashes from pkgconfig metadata, which would conflict with relocation mechanism
+    conf_data.set(name + '_PCFILEDIR', dep.get_variable('pcfiledir', default_value: 'unknown').replace('\\', '/'))
   endif
 endforeach
 
