Commit b4338dda47c03d6a422e158eaa396cab6a605e67

Sam Lantinga 2020-11-24T07:22:29

Enable -fobjc-weak when building MFI controller code

diff --git a/configure b/configure
index 86922cd..9ab03fa 100755
--- a/configure
+++ b/configure
@@ -23159,7 +23159,7 @@ fi
 
     if test x$enable_joystick_mfi = xyes; then
         save_CFLAGS="$CFLAGS"
-                CFLAGS="$CFLAGS -x objective-c"
+                CFLAGS="$CFLAGS -x objective-c -fobjc-weak"
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GameController framework" >&5
 $as_echo_n "checking for GameController framework... " >&6; }
         enable_joystick_mfi=no
@@ -23199,6 +23199,7 @@ $as_echo "$enable_joystick_mfi" >&6; }
 
 $as_echo "#define SDL_JOYSTICK_MFI 1" >>confdefs.h
 
+            EXTRA_CFLAGS="$EXTRA_CFLAGS -fobjc-weak"
             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
         fi
     fi
diff --git a/configure.ac b/configure.ac
index be72724..5b357a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2801,7 +2801,7 @@ AS_HELP_STRING([--enable-joystick-mfi], [include macOS MFI joystick support [[de
     if test x$enable_joystick_mfi = xyes; then
         save_CFLAGS="$CFLAGS"
         dnl Work around that we don't have Objective-C support in autoconf
-        CFLAGS="$CFLAGS -x objective-c"
+        CFLAGS="$CFLAGS -x objective-c -fobjc-weak"
         AC_MSG_CHECKING(for GameController framework)
         enable_joystick_mfi=no
         AC_TRY_COMPILE([
@@ -2823,6 +2823,7 @@ AS_HELP_STRING([--enable-joystick-mfi], [include macOS MFI joystick support [[de
         AC_MSG_RESULT($enable_joystick_mfi)
         if test x$enable_joystick_mfi = xyes; then
             AC_DEFINE(SDL_JOYSTICK_MFI, 1, [ ])
+            EXTRA_CFLAGS="$EXTRA_CFLAGS -fobjc-weak"
             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
         fi
     fi