SDL: haptic: Deal with deprecated macOS symbol.

From 9d67686a5b9ceec998e65f63ab60f29687cbc340 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 16 Nov 2022 10:08:40 -0500
Subject: [PATCH] haptic: Deal with deprecated macOS symbol.

---
 src/haptic/darwin/SDL_syshaptic.c   | 2 +-
 src/haptic/darwin/SDL_syshaptic_c.h | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/haptic/darwin/SDL_syshaptic.c b/src/haptic/darwin/SDL_syshaptic.c
index 1141bec766c8..50905e19c4c2 100644
--- a/src/haptic/darwin/SDL_syshaptic.c
+++ b/src/haptic/darwin/SDL_syshaptic.c
@@ -167,7 +167,7 @@ SDL_SYS_HapticInit(void)
     }
 
     /* Now search I/O Registry for matching devices. */
-    result = IOServiceGetMatchingServices(kIOMasterPortDefault, match, &iter);
+    result = IOServiceGetMatchingServices(kIOMainPortDefault, match, &iter);
     if (result != kIOReturnSuccess) {
         return SDL_SetError("Haptic: Couldn't create a HID object iterator.");
     }
diff --git a/src/haptic/darwin/SDL_syshaptic_c.h b/src/haptic/darwin/SDL_syshaptic_c.h
index f7f890a7c269..5f68a6d63014 100644
--- a/src/haptic/darwin/SDL_syshaptic_c.h
+++ b/src/haptic/darwin/SDL_syshaptic_c.h
@@ -19,6 +19,14 @@
   3. This notice may not be removed or altered from any source distribution.
 */
 
+/* Things named "Master" were renamed to "Main" in macOS 12.0's SDK. */
+#if MACOSX_COREAUDIO
+#include <AvailabilityMacros.h>
+#ifndef MAC_OS_VERSION_12_0
+#define kIOMainPortDefault kIOMasterPortDefault
+#endif
+#endif
+
 extern int MacHaptic_MaybeAddDevice( io_object_t device );
 extern int MacHaptic_MaybeRemoveDevice( io_object_t device );