macos: detect old OS/cpu 64-bit CPU in 32-bit MacOS kernel

intended to fix #6187 pending user verification
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index f53f17f..247ab1f 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -298,6 +298,23 @@
             return 'x86'
     return os_arch
 
+
+def detect_osx_arch() -> str:
+    """
+    per #6187, handle early Mac 64-bit Intel CPU with 64-bit OSX using a **32-bit kernel**
+    testing this requires old MacOS and hardware, not easily available for cloud CI,
+    so users needing this functionality may kindly need to help with debugging info.
+    """
+    try:
+        ret = subprocess.run(['sysctl', '-n', 'hw.cpu64bit_capable'],
+                             universal_newlines=True, stderr=subprocess.DEVNULL).stdout
+        trial = 'x86_64' if ret.strip() == '1' else 'x86'
+    except Exception:
+        # very old MacOS version with implicit 32-bit CPU due to calling if-elif stack
+        trial = 'x86'
+    return trial
+
+
 def any_compiler_has_define(compilers: CompilersDict, define):
     for c in compilers.values():
         try:
@@ -322,7 +339,11 @@
     else:
         trial = platform.machine().lower()
     if trial.startswith('i') and trial.endswith('86'):
-        trial = 'x86'
+        if mesonlib.is_osx():
+            # handle corner case with early Mac 64-bit CPU and older OSX
+            trial = detect_osx_arch()
+        else:
+            trial = 'x86'
     elif trial == 'bepc':
         trial = 'x86'
     elif trial.startswith('arm') or trial.startswith('earm'):