virtual joysticks: add autotools-build support (Bug 5028) Autotools support for virtual-joysticks turns it OFF by default. To turn it on, pass the following into configure: --enable-joystick-virtual
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
diff --git a/configure b/configure
index e422846..beda25d 100755
--- a/configure
+++ b/configure
@@ -899,6 +899,7 @@ enable_clock_gettime
enable_rpath
enable_backgrounding_signal
enable_foregrounding_signal
+enable_joystick_virtual
enable_render_d3d
enable_sdl2_config
'
@@ -1691,6 +1692,8 @@ Optional Features:
--enable-foregrounding-signal
number to use for magic foregrounding signal or 'no'
[[default=no]]
+ --enable-joystick-virtual
+ enable virtual joystick APIs [[default=no]]
--enable-render-d3d enable the Direct3D render driver [[default=yes]]
--enable-sdl2-config Install sdl2-config [default=yes]
@@ -24531,6 +24534,24 @@ fi
fi
}
+CheckVirtualJoystick()
+{
+ # Check whether --enable-joystick-virtual was given.
+if test "${enable_joystick_virtual+set}" = set; then :
+ enableval=$enable_joystick_virtual;
+else
+ enable_joystick_virtual=no
+fi
+
+ if test x$enable_joystick = xyes -a x$enable_joystick_virtual = xyes; then
+
+$as_echo "#define SDL_JOYSTICK_VIRTUAL 1" >>confdefs.h
+
+ SOURCES="$SOURCES $srcdir/src/joystick/virtual/*.c"
+ have_joystick_virtual=yes
+ fi
+}
+
CheckWarnAll
@@ -25390,6 +25411,8 @@ $as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h
;;
esac
+CheckVirtualJoystick
+
# Check whether to install sdl2-config
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install sdl2-config" >&5
$as_echo_n "checking whether to install sdl2-config... " >&6; }
@@ -25650,6 +25673,11 @@ if test x$have_x = xyes; then
SUMMARY="${SUMMARY}X11 libraries :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers :${SUMMARY_input}\n"
+if test x$have_joystick_virtual = xyes; then
+ SUMMARY="${SUMMARY}Enable virtual joystick APIs : YES\n"
+else
+ SUMMARY="${SUMMARY}Enable virtual joystick APIs : NO\n"
+fi
if test x$have_samplerate_h_hdr = xyes; then
SUMMARY="${SUMMARY}Using libsamplerate : YES\n"
else
diff --git a/configure.ac b/configure.ac
index a8ceb8b..2a3654d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3410,6 +3410,19 @@ AS_HELP_STRING([--enable-foregrounding-signal], [number to use for magic foregro
fi
}
+dnl Set up the Virtual joystick driver.
+CheckVirtualJoystick()
+{
+ AC_ARG_ENABLE(joystick-virtual,
+AS_HELP_STRING([--enable-joystick-virtual], [enable virtual joystick APIs [[default=no]]]),
+ , enable_joystick_virtual=no)
+ if test x$enable_joystick = xyes -a x$enable_joystick_virtual = xyes; then
+ AC_DEFINE(SDL_JOYSTICK_VIRTUAL, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/joystick/virtual/*.c"
+ have_joystick_virtual=yes
+ fi
+}
+
dnl Do this on all platforms, before everything else (other things might want to override it).
@@ -4092,6 +4105,9 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
;;
esac
+dnl Permit use of virtual joystick APIs on any platform (subject to configure options)
+CheckVirtualJoystick
+
# Check whether to install sdl2-config
AC_MSG_CHECKING(whether to install sdl2-config)
AC_ARG_ENABLE([sdl2-config],
@@ -4315,6 +4331,11 @@ if test x$have_x = xyes; then
SUMMARY="${SUMMARY}X11 libraries :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers :${SUMMARY_input}\n"
+if test x$have_joystick_virtual = xyes; then
+ SUMMARY="${SUMMARY}Enable virtual joystick APIs : YES\n"
+else
+ SUMMARY="${SUMMARY}Enable virtual joystick APIs : NO\n"
+fi
if test x$have_samplerate_h_hdr = xyes; then
SUMMARY="${SUMMARY}Using libsamplerate : YES\n"
else
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index f769e3c..b47da68 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -290,6 +290,7 @@
#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
#undef SDL_JOYSTICK_HIDAPI
#undef SDL_JOYSTICK_EMSCRIPTEN
+#undef SDL_JOYSTICK_VIRTUAL
#undef SDL_HAPTIC_DUMMY
#undef SDL_HAPTIC_ANDROID
#undef SDL_HAPTIC_LINUX