--- a/setup.py
+++ b/setup.py
@@ -140,17 +140,10 @@
 
 if __name__ == "__main__":
 
-
-    if sys.version_info.major <= 3 and sys.version_info.minor <= 11:
-        py_headers = headers
-        headers = [ ]
-    else:
-        py_headers = [ ]
-
     setup(
         "pygame_sdl2",
         VERSION,
-        headers=py_headers,
+        headers=headers,
         url="https://github.com/renpy/pygame_sdl2",
         maintainer="Tom Rothamel",
         maintainer_email="tom@rothamel.us",
@@ -161,13 +154,17 @@
     for i in temporary_package_data:
         os.unlink(os.path.join(os.path.dirname(__file__), "src", "pygame_sdl2", i))
 
-    if headers:
+    if headers and os.environ.get("PYBUILD_DESTDIR", None):
         import pathlib
 
         virtual_env = os.environ.get("VIRTUAL_ENV", None)
+        destdir = os.environ.get("PYBUILD_DESTDIR", None)
 
         if virtual_env:
             headers_dir = pathlib.Path(virtual_env) / "include" / "pygame_sdl2"
+        elif destdir:
+            python_incdir = str(sysconfig.get_paths()['include']).lstrip('/')
+            headers_dir = pathlib.Path(destdir) / pathlib.Path(python_incdir) / "pygame_sdl2"
         else:
             headers_dir = pathlib.Path(sysconfig.get_paths()['include']) / "pygame_sdl2"
 
