mirror of https://github.com/encounter/SDL.git
configure.ac: check GameController framework support when targeting Darwin
disables SDL_JOYSTICK_MFI for i386 or if MAC_OS_X_VERSION_MIN_REQUIRED < 1090 --disable-joystick-mfi disables it unconditionally.
This commit is contained in:
parent
711d409032
commit
23ad4f4b8c
|
@ -887,6 +887,7 @@ enable_dbus
|
||||||
enable_ime
|
enable_ime
|
||||||
enable_ibus
|
enable_ibus
|
||||||
enable_fcitx
|
enable_fcitx
|
||||||
|
enable_joystick_mfi
|
||||||
enable_pthreads
|
enable_pthreads
|
||||||
enable_pthread_sem
|
enable_pthread_sem
|
||||||
enable_directx
|
enable_directx
|
||||||
|
@ -1670,6 +1671,7 @@ Optional Features:
|
||||||
--enable-ime enable IME support [[default=yes]]
|
--enable-ime enable IME support [[default=yes]]
|
||||||
--enable-ibus enable IBus support [[default=yes]]
|
--enable-ibus enable IBus support [[default=yes]]
|
||||||
--enable-fcitx enable fcitx support [[default=yes]]
|
--enable-fcitx enable fcitx support [[default=yes]]
|
||||||
|
--enable-joystick-mfi include macOS MFI joystick support [[default=yes]]
|
||||||
--enable-pthreads use POSIX threads for multi-threading
|
--enable-pthreads use POSIX threads for multi-threading
|
||||||
[[default=yes]]
|
[[default=yes]]
|
||||||
--enable-pthread-sem use pthread semaphores [[default=yes]]
|
--enable-pthread-sem use pthread semaphores [[default=yes]]
|
||||||
|
@ -23145,6 +23147,63 @@ $as_echo "$have_fcitx" >&6; }
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CheckJoystickMFI()
|
||||||
|
{
|
||||||
|
# Check whether --enable-joystick-mfi was given.
|
||||||
|
if test "${enable_joystick_mfi+set}" = set; then :
|
||||||
|
enableval=$enable_joystick_mfi;
|
||||||
|
else
|
||||||
|
enable_joystick_mfi=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test x$enable_joystick_mfi = xyes; then
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -x objective-c"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GameController framework" >&5
|
||||||
|
$as_echo_n "checking for GameController framework... " >&6; }
|
||||||
|
enable_joystick_mfi=no
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
#include <AvailabilityMacros.h>
|
||||||
|
#include <TargetConditionals.h>
|
||||||
|
#import <GameController/GameController.h>
|
||||||
|
|
||||||
|
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
|
||||||
|
#error GameController framework doesn't work on this configuration
|
||||||
|
#endif
|
||||||
|
#if TARGET_CPU_X86
|
||||||
|
#error GameController framework doesn't work on this configuration
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
|
enable_joystick_mfi=yes
|
||||||
|
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_joystick_mfi" >&5
|
||||||
|
$as_echo "$enable_joystick_mfi" >&6; }
|
||||||
|
if test x$enable_joystick_mfi = xyes; then
|
||||||
|
|
||||||
|
$as_echo "#define SDL_JOYSTICK_MFI 1" >>confdefs.h
|
||||||
|
|
||||||
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
CheckPTHREAD()
|
CheckPTHREAD()
|
||||||
{
|
{
|
||||||
# Check whether --enable-pthreads was given.
|
# Check whether --enable-pthreads was given.
|
||||||
|
@ -25355,12 +25414,9 @@ $as_echo "#define SDL_AUDIO_DRIVER_COREAUDIO 1" >>confdefs.h
|
||||||
|
|
||||||
$as_echo "#define SDL_JOYSTICK_IOKIT 1" >>confdefs.h
|
$as_echo "#define SDL_JOYSTICK_IOKIT 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
$as_echo "#define SDL_JOYSTICK_MFI 1" >>confdefs.h
|
|
||||||
|
|
||||||
SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
|
SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
|
||||||
SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
|
SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
|
CheckJoystickMFI
|
||||||
have_joystick=yes
|
have_joystick=yes
|
||||||
fi
|
fi
|
||||||
# Set up files for the haptic library
|
# Set up files for the haptic library
|
||||||
|
|
40
configure.ac
40
configure.ac
|
@ -2791,6 +2791,43 @@ AS_HELP_STRING([--enable-fcitx], [enable fcitx support [[default=yes]]]),
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dnl Check to see if GameController framework support is desired
|
||||||
|
CheckJoystickMFI()
|
||||||
|
{
|
||||||
|
AC_ARG_ENABLE(joystick-mfi,
|
||||||
|
AS_HELP_STRING([--enable-joystick-mfi], [include macOS MFI joystick support [[default=yes]]]),
|
||||||
|
, enable_joystick_mfi=yes)
|
||||||
|
|
||||||
|
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"
|
||||||
|
AC_MSG_CHECKING(for GameController framework)
|
||||||
|
enable_joystick_mfi=no
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <AvailabilityMacros.h>
|
||||||
|
#include <TargetConditionals.h>
|
||||||
|
#import <GameController/GameController.h>
|
||||||
|
|
||||||
|
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
|
||||||
|
#error GameController framework doesn't work on this configuration
|
||||||
|
#endif
|
||||||
|
#if TARGET_CPU_X86
|
||||||
|
#error GameController framework doesn't work on this configuration
|
||||||
|
#endif
|
||||||
|
],[
|
||||||
|
],[
|
||||||
|
enable_joystick_mfi=yes
|
||||||
|
])
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
AC_MSG_RESULT($enable_joystick_mfi)
|
||||||
|
if test x$enable_joystick_mfi = xyes; then
|
||||||
|
AC_DEFINE(SDL_JOYSTICK_MFI, 1, [ ])
|
||||||
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
dnl See what type of thread model to use on Linux and Solaris
|
dnl See what type of thread model to use on Linux and Solaris
|
||||||
CheckPTHREAD()
|
CheckPTHREAD()
|
||||||
{
|
{
|
||||||
|
@ -4047,10 +4084,9 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
|
||||||
# Set up files for the joystick library
|
# Set up files for the joystick library
|
||||||
if test x$enable_joystick = xyes; then
|
if test x$enable_joystick = xyes; then
|
||||||
AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ])
|
AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ])
|
||||||
AC_DEFINE(SDL_JOYSTICK_MFI, 1, [ ])
|
|
||||||
SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
|
SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
|
||||||
SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
|
SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController"
|
CheckJoystickMFI
|
||||||
have_joystick=yes
|
have_joystick=yes
|
||||||
fi
|
fi
|
||||||
# Set up files for the haptic library
|
# Set up files for the haptic library
|
||||||
|
|
Loading…
Reference in New Issue