diff --git a/tools/modules/c_struct.py b/tools/modules/c_struct.py
index a019fce..2598c54 100644
--- a/tools/modules/c_struct.py
+++ b/tools/modules/c_struct.py
@@ -10,6 +10,8 @@
 import struct
 from collections import Counter
 import os
+import subprocess
+import platform
 
 import logging
 logger = logging.getLogger("TF-M.{}".format(__name__))
@@ -36,6 +38,21 @@
     'long double' : 'd',
 }
 
+
+def get_macos_sdk_path():
+    """Get the path to the macOS SDK via xcrun."""
+    try:
+        result = subprocess.run(
+            ['xcrun', '--sdk', 'macosx', '--show-sdk-path'],
+            capture_output=True,
+            text=True,
+            check=True
+        )
+        return result.stdout.strip()
+    except subprocess.CalledProcessError as e:
+        raise RuntimeError(f"Failed to get macOS SDK path: {e.stderr}")
+
+
 def _c_struct_or_union_from_cl_cursor(cursor, name, f):
         def is_field(x):
             if x.kind == cl.CursorKind.FIELD_DECL:
@@ -613,6 +630,9 @@
     args = ["-I{}".format(i) for i in includes if os.path.isdir(i)]
     args += ["-D{}".format(d) for d in defines]
 
+    if platform.system() == 'Darwin':
+        args.extend(['-isysroot', get_macos_sdk_path()])
+
     if not os.path.isfile(h_file):
         return FileNotFoundError
 
