From 00a945ee9d283d6d189f782092d06348d2ccef00 Mon Sep 17 00:00:00 2001
From: "Uwe L. Korn" <uwe.korn@quantco.com>
Date: Fri, 1 Sep 2023 23:32:14 +0200
Subject: [PATCH 20/25] Don't checksharedmods if cross-compiling

---
 Makefile.pre.in |  2 +-
 if_runnable.sh  | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100755 if_runnable.sh

diff --git a/Makefile.pre.in b/Makefile.pre.in
index 7b0d6dced64..e1cc236b150 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1593,7 +1593,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt
 # dependency on BUILDPYTHON ensures that the target is run last
 .PHONY: checksharedmods
 checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
-	@$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py
+	@$(RUNSHARED) $(srcdir)/if_runnable.sh $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py
 
 .PHONY: rundsymutil
 rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
diff --git a/if_runnable.sh b/if_runnable.sh
new file mode 100755
index 00000000000..dcfde5b751e
--- /dev/null
+++ b/if_runnable.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "${target_platform}" == "${build_platform}" || "${CROSSCOMPILING_EMULATOR:-}" != "" ]]; then
+  if [[ "$1" == "./"* ]]; then
+    exec $@
+  else
+    export ${@:1:$#-2}
+    exec ${@: -2}
+  fi
+fi
