build: fix / update sensors (windows) configuration

- SDL_config.h.in: add missing defines SDL_SENSOR_COREMOTION
  and SDL_SENSOR_WINDOWS (configure did set SDL_SENSOR_WINDOWS
  but it never went in SDL_config.h or Makefile.)
- SDL_config.h.cmake: remove duplicated SDL_SENSOR_XXX cmake
  defines.
- autofoo, cmake: check for sensorsapi.h header before enabling
  windows sensors.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f3cc7a..227fb7e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1431,6 +1431,7 @@
   # headers needed elsewhere
   check_include_file(mmdeviceapi.h HAVE_MMDEVICEAPI_H)
   check_include_file(audioclient.h HAVE_AUDIOCLIENT_H)
+  check_include_file(sensorsapi.h HAVE_SENSORSAPI_H)
 
   if(SDL_AUDIO)
     set(SDL_AUDIO_DRIVER_WINMM 1)
@@ -1482,7 +1483,7 @@
     set(HAVE_SDL_THREADS TRUE)
   endif()
 
-  if(SDL_SENSOR)
+  if(SDL_SENSOR AND HAVE_SENSORSAPI_H)
     set(SDL_SENSOR_WINDOWS 1)
     set(HAVE_SDL_SENSORS TRUE)
     file(GLOB WINDOWS_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/windows/*.c)
diff --git a/configure b/configure
index 971d05d..5ad03f2 100755
--- a/configure
+++ b/configure
@@ -24965,7 +24965,20 @@
             fi
         fi
         # Set up files for the sensor library
-        if test x$enable_sensor = xyes; then
+        ac_fn_c_check_header_mongrel "$LINENO" "sensorsapi.h" "ac_cv_header_sensorsapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_sensorsapi_h" = xyes; then :
+  have_winsensors=yes
+else
+  have_winsensors=no
+fi
+
+
+        if test x$have_winsensors = xyes; then
+
+$as_echo "#define HAVE_SENSORSAPI_H 1" >>confdefs.h
+
+        fi
+        if test x$enable_sensor = xyes -a x$have_winsensors = xyes; then
 
 $as_echo "#define SDL_SENSOR_WINDOWS 1" >>confdefs.h
 
diff --git a/configure.ac b/configure.ac
index 9452d54..52a5dc3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3759,7 +3759,11 @@
             fi
         fi
         # Set up files for the sensor library
-        if test x$enable_sensor = xyes; then
+        AC_CHECK_HEADER(sensorsapi.h,have_winsensors=yes,have_winsensors=no)
+        if test x$have_winsensors = xyes; then
+            AC_DEFINE(HAVE_SENSORSAPI_H, 1, [ ])
+        fi
+        if test x$enable_sensor = xyes -a x$have_winsensors = xyes; then
             AC_DEFINE(SDL_SENSOR_WINDOWS, 1, [ ])
             SOURCES="$SOURCES $srcdir/src/sensor/windows/*.c"
             have_sensor=yes
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index 22c845d..29e43d3 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -219,6 +219,7 @@
 
 #cmakedefine HAVE_MMDEVICEAPI_H @HAVE_MMDEVICEAPI_H@
 #cmakedefine HAVE_AUDIOCLIENT_H @HAVE_AUDIOCLIENT_H@
+#cmakedefine HAVE_SENSORSAPI_H @HAVE_SENSORSAPI_H@
 
 #cmakedefine HAVE_XINPUT_GAMEPAD_EX @HAVE_XINPUT_GAMEPAD_EX@
 #cmakedefine HAVE_XINPUT_STATE_EX @HAVE_XINPUT_STATE_EX@
@@ -305,6 +306,7 @@
 /* Enable various sensor drivers */
 #cmakedefine SDL_SENSOR_ANDROID @SDL_SENSOR_ANDROID@
 #cmakedefine SDL_SENSOR_COREMOTION @SDL_SENSOR_COREMOTION@
+#cmakedefine SDL_SENSOR_WINDOWS @SDL_SENSOR_WINDOWS@
 #cmakedefine SDL_SENSOR_DUMMY @SDL_SENSOR_DUMMY@
 
 /* Enable various shared object loading systems */
@@ -410,12 +412,6 @@
 #cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@
 #cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
 
-/* Enable sensor support */
-#cmakedefine SDL_SENSOR_ANDROID @SDL_SENSOR_ANDROID@
-#cmakedefine SDL_SENSOR_WINDOWS @SDL_SENSOR_WINDOWS@
-#cmakedefine SDL_SENSOR_COREMOTION @SDL_SENSOR_COREMOTION@
-#cmakedefine SDL_SENSOR_DUMMY @SDL_SENSOR_DUMMY@
-
 /* Enable system filesystem support */
 #cmakedefine SDL_FILESYSTEM_ANDROID @SDL_FILESYSTEM_ANDROID@
 #cmakedefine SDL_FILESYSTEM_HAIKU @SDL_FILESYSTEM_HAIKU@
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index 92052fc..bc0750a 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -215,8 +215,11 @@
 #undef HAVE_DSOUND_H
 #undef HAVE_DXGI_H
 #undef HAVE_XINPUT_H
+
 #undef HAVE_MMDEVICEAPI_H
 #undef HAVE_AUDIOCLIENT_H
+#undef HAVE_SENSORSAPI_H
+
 #undef HAVE_XINPUT_GAMEPAD_EX
 #undef HAVE_XINPUT_STATE_EX
 
@@ -301,6 +304,8 @@
 
 /* Enable various sensor drivers */
 #undef SDL_SENSOR_ANDROID
+#undef SDL_SENSOR_COREMOTION
+#undef SDL_SENSOR_WINDOWS
 #undef SDL_SENSOR_DUMMY
 
 /* Enable various shared object loading systems */
diff --git a/include/SDL_config_windows.h b/include/SDL_config_windows.h
index 6e5c2d1..b0ba558 100644
--- a/include/SDL_config_windows.h
+++ b/include/SDL_config_windows.h
@@ -84,6 +84,7 @@
 #define HAVE_XINPUT_H 1
 #define HAVE_MMDEVICEAPI_H 1
 #define HAVE_AUDIOCLIENT_H 1
+#define HAVE_SENSORSAPI_H
 
 /* This is disabled by default to avoid C runtime dependencies and manifest requirements */
 #ifdef HAVE_LIBC