SDL: cmake: fix uses of undefined macro identifiers (-Wundef)

From d81d98685887a90b8284a57130da6a3712b63202 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 17 Nov 2023 04:06:26 +0100
Subject: [PATCH] cmake: fix uses of undefined macro identifiers (-Wundef)

---
 CMakeLists.txt                                |   5 +
 docs/README-ios.md                            |   2 +-
 include/SDL_config.h.cmake                    |   2 +-
 include/SDL_config.h.in                       |   2 +-
 include/SDL_config_winrt.h                    |   8 +-
 include/SDL_platform.h                        |   6 +
 src/SDL.c                                     | 122 +++++++-------
 src/SDL_log.c                                 |   6 +-
 src/atomic/SDL_atomic.c                       |   8 +-
 src/atomic/SDL_spinlock.c                     |   6 +-
 src/audio/SDL_audio.c                         |  72 ++++----
 src/audio/SDL_audiocvt.c                      |  12 +-
 src/audio/SDL_audiodev.c                      |   2 +-
 src/audio/SDL_audiotypecvt.c                  |  18 +-
 src/audio/aaudio/SDL_aaudio.c                 |   2 +-
 src/audio/alsa/SDL_alsa_audio.c               |   2 +-
 src/audio/android/SDL_androidaudio.c          |   2 +-
 src/audio/arts/SDL_artsaudio.c                |   2 +-
 src/audio/coreaudio/SDL_coreaudio.h           |   8 +-
 src/audio/coreaudio/SDL_coreaudio.m           |  32 ++--
 src/audio/directsound/SDL_directsound.c       |  16 +-
 src/audio/disk/SDL_diskaudio.c                |   4 +-
 src/audio/dsp/SDL_dspaudio.c                  |   2 +-
 src/audio/dummy/SDL_dummyaudio.c              |   4 +
 src/audio/emscripten/SDL_emscriptenaudio.c    |   2 +-
 src/audio/esd/SDL_esdaudio.c                  |   2 +-
 src/audio/fusionsound/SDL_fsaudio.c           |   2 +-
 src/audio/haiku/SDL_haikuaudio.cc             |   2 +-
 src/audio/jack/SDL_jackaudio.c                |   2 +-
 src/audio/nacl/SDL_naclaudio.c                |   2 +-
 src/audio/nas/SDL_nasaudio.c                  |   2 +-
 src/audio/netbsd/SDL_netbsdaudio.c            |   2 +-
 src/audio/openslES/SDL_openslES.c             |   2 +-
 src/audio/os2/SDL_os2audio.c                  |   2 +-
 src/audio/paudio/SDL_paudio.c                 |   2 +-
 src/audio/pipewire/SDL_pipewire.c             |   2 +-
 src/audio/psp/SDL_pspaudio.c                  |   2 +-
 src/audio/pulseaudio/SDL_pulseaudio.c         |   2 +-
 src/audio/qsa/SDL_qsa_audio.c                 |   2 +-
 src/audio/sndio/SDL_sndioaudio.c              |   4 +-
 src/audio/sun/SDL_sunaudio.c                  |   4 +-
 src/audio/vita/SDL_vitaaudio.c                |   2 +-
 src/audio/wasapi/SDL_wasapi.c                 |   2 +-
 src/audio/wasapi/SDL_wasapi_win32.c           |   2 +-
 src/audio/wasapi/SDL_wasapi_winrt.cpp         |   2 +-
 src/audio/winmm/SDL_winmm.c                   |   2 +-
 src/core/android/SDL_android.c                |   4 +-
 src/core/linux/SDL_dbus.c                     |   2 +-
 src/core/linux/SDL_evdev.c                    |  10 +-
 src/core/linux/SDL_evdev_capabilities.c       |   2 +-
 src/core/linux/SDL_evdev_capabilities.h       |   2 +-
 src/core/linux/SDL_fcitx.c                    |   4 +-
 src/core/linux/SDL_ibus.c                     |   4 +-
 src/core/linux/SDL_threadprio.c               |  12 +-
 src/core/linux/SDL_udev.h                     |   2 +-
 src/core/os2/geniconv/test.c                  |   2 +-
 src/core/windows/SDL_immdevice.c              |   2 +-
 src/core/winrt/SDL_winrtapp_direct3d.cpp      |  20 +--
 src/core/winrt/SDL_winrtapp_direct3d.h        |   2 +-
 src/core/winrt/SDL_winrtapp_xaml.cpp          |   4 +-
 src/cpuinfo/SDL_cpuinfo.c                     |  10 +-
 src/dynapi/SDL_dynapi.c                       |  10 +-
 src/dynapi/SDL_dynapi.h                       |   2 +-
 src/dynapi/SDL_dynapi_procs.h                 |   4 +-
 src/events/SDL_events.c                       |  32 ++--
 src/events/SDL_keysym_to_scancode.c           |   2 +-
 src/events/SDL_quit.c                         |   4 +-
 src/events/SDL_scancode_tables.c              |   2 +-
 src/events/default_cursor.h                   |   2 +-
 src/events/imKStoUCS.c                        |   2 +-
 src/file/SDL_rwops.c                          |  10 +-
 src/filesystem/winrt/SDL_sysfilesystem.cpp    |   2 +-
 src/haptic/SDL_haptic.c                       |   2 +-
 src/haptic/linux/SDL_syshaptic.c              |  10 +-
 src/haptic/windows/SDL_dinputhaptic.c         |   2 +-
 src/haptic/windows/SDL_windowshaptic.c        |   8 +-
 src/haptic/windows/SDL_windowshaptic_c.h      |  10 +-
 src/haptic/windows/SDL_xinputhaptic.c         |   2 +-
 src/hidapi/SDL_hidapi.c                       |  64 +++----
 src/hidapi/android/hid.cpp                    |   6 +-
 src/hidapi/hidapi/hidapi.h                    |   2 +-
 src/hidapi/ios/hid.m                          |  62 +++----
 src/joystick/SDL_gamecontroller.c             |  14 +-
 src/joystick/SDL_gamecontrollerdb.h           |  18 +-
 src/joystick/SDL_joystick.c                   |  46 +++---
 src/joystick/bsd/SDL_bsdjoystick.c            |   2 +-
 src/joystick/darwin/SDL_iokitjoystick.c       |   4 +-
 src/joystick/iphoneos/SDL_mfijoystick.m       |  16 +-
 src/joystick/linux/SDL_sysjoystick.c          |  10 +-
 src/joystick/ps2/SDL_sysjoystick.c            |   2 +-
 src/joystick/psp/SDL_sysjoystick.c            |   2 +-
 src/joystick/virtual/SDL_virtualjoystick.c    |   2 +-
 src/joystick/virtual/SDL_virtualjoystick_c.h  |   2 +-
 src/joystick/vita/SDL_sysjoystick.c           |   2 +-
 src/joystick/windows/SDL_dinputjoystick.c     |   2 +-
 src/joystick/windows/SDL_rawinputjoystick.c   |   2 +-
 src/joystick/windows/SDL_windowsjoystick.c    |  24 +--
 src/joystick/windows/SDL_windowsjoystick_c.h  |   4 +-
 src/joystick/windows/SDL_xinputjoystick.c     |   2 +-
 src/loadso/dlopen/SDL_sysloadso.c             |   4 +-
 src/locale/winrt/SDL_syslocale.c              |   2 +-
 src/main/haiku/SDL_BApp.h                     |   8 +-
 src/main/nacl/SDL_nacl_main.c                 |   2 +-
 src/power/android/SDL_syspower.c              |   2 +-
 src/power/emscripten/SDL_syspower.c           |   2 +-
 src/power/haiku/SDL_syspower.c                |   2 +-
 src/power/linux/SDL_syspower.c                |   6 +-
 src/power/macosx/SDL_syspower.c               |   2 +-
 src/power/psp/SDL_syspower.c                  |   2 +-
 src/power/uikit/SDL_syspower.h                |   2 +-
 src/power/uikit/SDL_syspower.m                |   2 +-
 src/power/vita/SDL_syspower.c                 |   2 +-
 src/power/windows/SDL_syspower.c              |   2 +-
 src/render/SDL_d3dmath.c                      |   2 +-
 src/render/SDL_d3dmath.h                      |   2 +-
 src/render/SDL_render.c                       |  38 ++---
 src/render/direct3d/SDL_render_d3d.c          |   6 +-
 src/render/direct3d/SDL_shaders_d3d.c         |   2 +-
 src/render/direct3d11/SDL_render_d3d11.c      |  16 +-
 src/render/direct3d11/SDL_render_winrt.cpp    |   6 +-
 src/render/direct3d11/SDL_render_winrt.h      |   2 +-
 src/render/direct3d11/SDL_shaders_d3d11.c     |   4 +-
 src/render/direct3d12/SDL_render_d3d12.c      |   4 +-
 .../direct3d12/SDL_render_d3d12_xbox.cpp      |   2 +-
 src/render/direct3d12/SDL_shaders_d3d12.c     |   2 +-
 .../direct3d12/SDL_shaders_d3d12_xboxone.cpp  |   2 +-
 .../SDL_shaders_d3d12_xboxseries.cpp          |   2 +-
 src/render/metal/SDL_render_metal.m           |   2 +-
 src/render/opengl/SDL_render_gl.c             |   2 +-
 src/render/opengl/SDL_shaders_gl.c            |   2 +-
 src/render/opengles/SDL_render_gles.c         |   8 +-
 src/render/opengles2/SDL_gles2funcs.h         |   2 +-
 src/render/opengles2/SDL_render_gles2.c       |  10 +-
 src/render/opengles2/SDL_shaders_gles2.c      |   2 +-
 src/render/opengles2/SDL_shaders_gles2.h      |   2 +-
 src/render/ps2/SDL_render_ps2.c               |   2 +-
 src/render/psp/SDL_render_psp.c               |   2 +-
 src/render/software/SDL_blendfillrect.c       |   2 +-
 src/render/software/SDL_blendline.c           |   2 +-
 src/render/software/SDL_blendpoint.c          |   2 +-
 src/render/software/SDL_drawline.c            |   2 +-
 src/render/software/SDL_drawpoint.c           |   2 +-
 src/render/software/SDL_render_sw.c           |   2 +-
 src/render/software/SDL_rotate.c              |   2 +-
 src/render/software/SDL_triangle.c            |   2 +-
 src/render/vitagxm/SDL_render_vita_gxm.c      |   8 +-
 .../vitagxm/SDL_render_vita_gxm_memory.c      |   2 +-
 .../vitagxm/SDL_render_vita_gxm_tools.c       |   2 +-
 src/sensor/SDL_sensor.c                       |   8 +-
 src/stdlib/SDL_malloc.c                       |  20 +--
 src/test/SDL_test_common.c                    |   4 +-
 src/thread/SDL_thread.c                       |   8 +-
 src/thread/SDL_thread_c.h                     |  20 +--
 src/thread/generic/SDL_syscond.c              |   2 +-
 src/thread/generic/SDL_syscond_c.h            |   2 +-
 src/thread/generic/SDL_sysmutex.c             |   8 +-
 src/thread/generic/SDL_syssem.c               |   2 +-
 src/thread/ngage/SDL_systhread.cpp            |   2 +-
 src/thread/os2/SDL_sysmutex.c                 |   2 +-
 src/thread/os2/SDL_syssem.c                   |   2 +-
 src/thread/os2/SDL_systhread.c                |   2 +-
 src/thread/os2/SDL_systls.c                   |   2 +-
 src/thread/os2/SDL_systls_c.h                 |   2 +-
 src/thread/ps2/SDL_syssem.c                   |   2 +-
 src/thread/ps2/SDL_systhread.c                |   2 +-
 src/thread/psp/SDL_syscond.c                  |   2 +-
 src/thread/psp/SDL_sysmutex.c                 |   8 +-
 src/thread/psp/SDL_syssem.c                   |   2 +-
 src/thread/psp/SDL_systhread.c                |   2 +-
 src/thread/pthread/SDL_sysmutex.c             |  22 +--
 src/thread/pthread/SDL_systhread.c            |  10 +-
 src/thread/vita/SDL_syscond.c                 |   2 +-
 src/thread/vita/SDL_sysmutex.c                |   8 +-
 src/thread/vita/SDL_syssem.c                  |   2 +-
 src/thread/vita/SDL_systhread.c               |   2 +-
 src/thread/windows/SDL_syscond_cv.c           |   4 +-
 src/thread/windows/SDL_sysmutex.c             |   8 +-
 src/thread/windows/SDL_syssem.c               |  14 +-
 src/thread/windows/SDL_systhread.c            |   2 +-
 src/thread/windows/SDL_systls.c               |   2 +-
 src/timer/SDL_timer.c                         |   2 +-
 src/timer/os2/SDL_systimer.c                  |   2 +-
 src/timer/unix/SDL_systimer.c                 |  20 +--
 src/video/SDL_blit_A.c                        |  14 +-
 src/video/SDL_blit_N.c                        |  16 +-
 src/video/SDL_egl.c                           |  36 ++--
 src/video/SDL_egl_c.h                         |  30 ++--
 src/video/SDL_fillrect.c                      |   8 +-
 src/video/SDL_stretch.c                       |   2 +-
 src/video/SDL_sysvideo.h                      |   4 +-
 src/video/SDL_video.c                         | 156 +++++++++---------
 src/video/SDL_vulkan_internal.h               |  18 +-
 src/video/SDL_vulkan_utils.c                  |   2 +-
 src/video/android/SDL_androidclipboard.c      |   2 +-
 src/video/android/SDL_androidevents.c         |  18 +-
 src/video/android/SDL_androidgl.c             |   2 +-
 src/video/android/SDL_androidkeyboard.c       |   2 +-
 src/video/android/SDL_androidmessagebox.c     |   2 +-
 src/video/android/SDL_androidmessagebox.h     |   2 +-
 src/video/android/SDL_androidmouse.c          |   2 +-
 src/video/android/SDL_androidtouch.c          |   2 +-
 src/video/android/SDL_androidvideo.c          |   6 +-
 src/video/android/SDL_androidvulkan.c         |   2 +-
 src/video/android/SDL_androidvulkan.h         |   2 +-
 src/video/android/SDL_androidwindow.c         |   8 +-
 src/video/android/SDL_androidwindow.h         |   2 +-
 src/video/cocoa/SDL_cocoaclipboard.m          |   2 +-
 src/video/cocoa/SDL_cocoaevents.m             |   2 +-
 src/video/cocoa/SDL_cocoakeyboard.m           |   4 +-
 src/video/cocoa/SDL_cocoamessagebox.h         |   2 +-
 src/video/cocoa/SDL_cocoamessagebox.m         |   2 +-
 src/video/cocoa/SDL_cocoametalview.h          |   2 +-
 src/video/cocoa/SDL_cocoametalview.m          |   2 +-
 src/video/cocoa/SDL_cocoamodes.m              |   2 +-
 src/video/cocoa/SDL_cocoamouse.m              |   2 +-
 src/video/cocoa/SDL_cocoaopengl.h             |   2 +-
 src/video/cocoa/SDL_cocoaopengl.m             |   4 +-
 src/video/cocoa/SDL_cocoaopengles.h           |   2 +-
 src/video/cocoa/SDL_cocoaopengles.m           |   6 +-
 src/video/cocoa/SDL_cocoashape.m              |   2 +-
 src/video/cocoa/SDL_cocoavideo.m              |  10 +-
 src/video/cocoa/SDL_cocoavulkan.h             |   2 +-
 src/video/cocoa/SDL_cocoavulkan.m             |   2 +-
 src/video/cocoa/SDL_cocoawindow.h             |   4 +-
 src/video/cocoa/SDL_cocoawindow.m             |  14 +-
 src/video/directfb/SDL_DirectFB_WM.c          |   2 +-
 src/video/directfb/SDL_DirectFB_dyn.c         |   2 +-
 src/video/directfb/SDL_DirectFB_events.c      |   2 +-
 src/video/directfb/SDL_DirectFB_modes.c       |   2 +-
 src/video/directfb/SDL_DirectFB_mouse.c       |   2 +-
 src/video/directfb/SDL_DirectFB_opengl.c      |   6 +-
 src/video/directfb/SDL_DirectFB_opengl.h      |   2 +-
 src/video/directfb/SDL_DirectFB_render.c      |   2 +-
 src/video/directfb/SDL_DirectFB_shape.c       |   2 +-
 src/video/directfb/SDL_DirectFB_video.c       |  10 +-
 src/video/directfb/SDL_DirectFB_vulkan.c      |   2 +-
 src/video/directfb/SDL_DirectFB_vulkan.h      |   2 +-
 src/video/directfb/SDL_DirectFB_window.c      |  10 +-
 src/video/dummy/SDL_nullevents.c              |   2 +-
 src/video/dummy/SDL_nullframebuffer.c         |   2 +-
 src/video/dummy/SDL_nullvideo.c               |  14 +-
 src/video/emscripten/SDL_emscriptenevents.c   |   2 +-
 .../emscripten/SDL_emscriptenframebuffer.c    |   2 +-
 src/video/emscripten/SDL_emscriptenmouse.c    |   2 +-
 src/video/emscripten/SDL_emscriptenopengles.c |   2 +-
 src/video/emscripten/SDL_emscriptenopengles.h |   2 +-
 src/video/emscripten/SDL_emscriptenvideo.c    |   8 +-
 src/video/emscripten/SDL_emscriptenvideo.h    |   4 +-
 src/video/haiku/SDL_BApp.h                    |   8 +-
 src/video/haiku/SDL_BWin.h                    |  12 +-
 src/video/haiku/SDL_bclipboard.cc             |   2 +-
 src/video/haiku/SDL_bevents.cc                |   2 +-
 src/video/haiku/SDL_bframebuffer.cc           |   2 +-
 src/video/haiku/SDL_bkeyboard.cc              |   2 +-
 src/video/haiku/SDL_bmessagebox.cc            |   2 +-
 src/video/haiku/SDL_bmessagebox.h             |   2 +-
 src/video/haiku/SDL_bmodes.cc                 |   6 +-
 src/video/haiku/SDL_bopengl.cc                |   2 +-
 src/video/haiku/SDL_bopengl.h                 |   2 +-
 src/video/haiku/SDL_bvideo.cc                 |   6 +-
 src/video/haiku/SDL_bwindow.cc                |   2 +-
 src/video/kmsdrm/SDL_kmsdrmdyn.c              |   2 +-
 src/video/kmsdrm/SDL_kmsdrmevents.c           |   2 +-
 src/video/kmsdrm/SDL_kmsdrmmouse.c            |   2 +-
 src/video/kmsdrm/SDL_kmsdrmopengles.c         |   4 +-
 src/video/kmsdrm/SDL_kmsdrmopengles.h         |   2 +-
 src/video/kmsdrm/SDL_kmsdrmvideo.c            |   4 +-
 src/video/kmsdrm/SDL_kmsdrmvulkan.c           |   2 +-
 src/video/kmsdrm/SDL_kmsdrmvulkan.h           |   2 +-
 src/video/nacl/SDL_naclevents.c               |   2 +-
 src/video/nacl/SDL_naclglue.c                 |   2 +-
 src/video/nacl/SDL_naclopengles.c             |   2 +-
 src/video/nacl/SDL_naclvideo.c                |   2 +-
 src/video/nacl/SDL_naclwindow.c               |   2 +-
 src/video/ngage/SDL_ngageevents.cpp           |   2 +-
 src/video/ngage/SDL_ngageframebuffer.cpp      |   2 +-
 src/video/ngage/SDL_ngagevideo.cpp            |   2 +-
 src/video/ngage/SDL_ngagewindow.cpp           |   2 +-
 src/video/offscreen/SDL_offscreenevents.c     |   2 +-
 .../offscreen/SDL_offscreenframebuffer.c      |   2 +-
 src/video/offscreen/SDL_offscreenopengles.c   |   2 +-
 src/video/offscreen/SDL_offscreenopengles.h   |   2 +-
 src/video/offscreen/SDL_offscreenvideo.c      |   4 +-
 src/video/offscreen/SDL_offscreenwindow.c     |   6 +-
 src/video/offscreen/SDL_offscreenwindow.h     |   2 +-
 src/video/os2/SDL_os2messagebox.c             |   4 +-
 src/video/os2/SDL_os2messagebox.h             |   2 +-
 src/video/os2/SDL_os2mouse.c                  |   2 +-
 src/video/os2/SDL_os2util.c                   |   2 +-
 src/video/os2/SDL_os2video.c                  |   2 +-
 src/video/pandora/SDL_pandora.c               |   2 +-
 src/video/pandora/SDL_pandora_events.c        |   2 +-
 src/video/ps2/SDL_ps2video.c                  |   2 +-
 src/video/psp/SDL_pspevents.c                 |   2 +-
 src/video/psp/SDL_pspgl.c                     |   2 +-
 src/video/psp/SDL_pspmouse.c                  |   2 +-
 src/video/psp/SDL_pspvideo.c                  |   2 +-
 src/video/raspberry/SDL_rpievents.c           |   2 +-
 src/video/raspberry/SDL_rpimouse.c            |   2 +-
 src/video/raspberry/SDL_rpiopengles.c         |   2 +-
 src/video/raspberry/SDL_rpiopengles.h         |   2 +-
 src/video/raspberry/SDL_rpivideo.c            |   4 +-
 src/video/raspberry/SDL_rpivideo.h            |   2 +-
 src/video/riscos/SDL_riscosevents.c           |   4 +-
 src/video/riscos/SDL_riscosframebuffer.c      |   2 +-
 src/video/riscos/SDL_riscosmessagebox.c       |   2 +-
 src/video/riscos/SDL_riscosmessagebox.h       |   2 +-
 src/video/riscos/SDL_riscosmodes.c            |   2 +-
 src/video/riscos/SDL_riscosmouse.c            |   2 +-
 src/video/riscos/SDL_riscosvideo.c            |   2 +-
 src/video/riscos/SDL_riscoswindow.c           |   2 +-
 src/video/uikit/SDL_uikitappdelegate.m        |   4 +-
 src/video/uikit/SDL_uikitclipboard.m          |   2 +-
 src/video/uikit/SDL_uikitevents.m             |   4 +-
 src/video/uikit/SDL_uikitmessagebox.h         |   2 +-
 src/video/uikit/SDL_uikitmessagebox.m         |   2 +-
 src/video/uikit/SDL_uikitmetalview.h          |   8 +-
 src/video/uikit/SDL_uikitmetalview.m          |   2 +-
 src/video/uikit/SDL_uikitmodes.m              |   2 +-
 src/video/uikit/SDL_uikitopengles.h           |   4 +-
 src/video/uikit/SDL_uikitopengles.m           |   4 +-
 src/video/uikit/SDL_uikitopenglview.h         |   2 +-
 src/video/uikit/SDL_uikitopenglview.m         |   2 +-
 src/video/uikit/SDL_uikitvideo.m              |  10 +-
 src/video/uikit/SDL_uikitview.m               |   8 +-
 src/video/uikit/SDL_uikitviewcontroller.h     |   6 +-
 src/video/uikit/SDL_uikitviewcontroller.m     |  14 +-
 src/video/uikit/SDL_uikitvulkan.h             |   2 +-
 src/video/uikit/SDL_uikitvulkan.m             |   2 +-
 src/video/uikit/SDL_uikitwindow.m             |   4 +-
 src/video/vita/SDL_vitaframebuffer.c          |   2 +-
 src/video/vita/SDL_vitagl_pvr.c               |   2 +-
 src/video/vita/SDL_vitagles.c                 |   2 +-
 src/video/vita/SDL_vitagles_pvr.c             |   2 +-
 src/video/vita/SDL_vitakeyboard.c             |   2 +-
 src/video/vita/SDL_vitamessagebox.c           |   6 +-
 src/video/vita/SDL_vitamessagebox.h           |   2 +-
 src/video/vita/SDL_vitamouse.c                |   2 +-
 src/video/vita/SDL_vitatouch.c                |   2 +-
 src/video/vita/SDL_vitavideo.c                |   6 +-
 src/video/vita/SDL_vitavideo.h                |   2 +-
 src/video/vivante/SDL_vivanteopengles.c       |   2 +-
 src/video/vivante/SDL_vivanteopengles.h       |   2 +-
 src/video/vivante/SDL_vivanteplatform.c       |   2 +-
 src/video/vivante/SDL_vivanteplatform.h       |   2 +-
 src/video/vivante/SDL_vivantevideo.c          |  26 +--
 src/video/vivante/SDL_vivantevideo.h          |   4 +-
 src/video/vivante/SDL_vivantevulkan.c         |   2 +-
 src/video/vivante/SDL_vivantevulkan.h         |   2 +-
 src/video/wayland/SDL_waylandclipboard.c      |   2 +-
 src/video/wayland/SDL_waylanddatamanager.c    |   6 +-
 src/video/wayland/SDL_waylanddyn.c            |   2 +-
 src/video/wayland/SDL_waylandevents.c         |   2 +-
 src/video/wayland/SDL_waylandkeyboard.c       |   2 +-
 src/video/wayland/SDL_waylandmessagebox.c     |   2 +-
 src/video/wayland/SDL_waylandmessagebox.h     |   2 +-
 src/video/wayland/SDL_waylandmouse.c          |   6 +-
 src/video/wayland/SDL_waylandmouse.h          |   2 +-
 src/video/wayland/SDL_waylandopengles.c       |   2 +-
 src/video/wayland/SDL_waylandvideo.c          |   6 +-
 src/video/wayland/SDL_waylandvulkan.c         |   2 +-
 src/video/wayland/SDL_waylandvulkan.h         |   2 +-
 src/video/wayland/SDL_waylandwindow.c         |   8 +-
 src/video/wayland/SDL_waylandwindow.h         |   2 +-
 src/video/windows/SDL_windowsclipboard.c      |   2 +-
 src/video/windows/SDL_windowsevents.c         |   6 +-
 src/video/windows/SDL_windowsframebuffer.c    |   2 +-
 src/video/windows/SDL_windowskeyboard.c       |   2 +-
 src/video/windows/SDL_windowsmessagebox.c     |   2 +-
 src/video/windows/SDL_windowsmessagebox.h     |   2 +-
 src/video/windows/SDL_windowsmodes.c          |   2 +-
 src/video/windows/SDL_windowsmouse.c          |   2 +-
 src/video/windows/SDL_windowsopengl.c         |  12 +-
 src/video/windows/SDL_windowsopengl.h         |   6 +-
 src/video/windows/SDL_windowsopengles.c       |   6 +-
 src/video/windows/SDL_windowsopengles.h       |   2 +-
 src/video/windows/SDL_windowsshape.c          |   2 +-
 src/video/windows/SDL_windowsvideo.c          |   8 +-
 src/video/windows/SDL_windowsvulkan.c         |   2 +-
 src/video/windows/SDL_windowsvulkan.h         |   2 +-
 src/video/windows/SDL_windowswindow.c         |  12 +-
 src/video/windows/SDL_windowswindow.h         |   4 +-
 src/video/winrt/SDL_winrtevents.cpp           |   2 +-
 src/video/winrt/SDL_winrtgamebar.cpp          |   2 +-
 src/video/winrt/SDL_winrtkeyboard.cpp         |   2 +-
 src/video/winrt/SDL_winrtmessagebox.cpp       |   8 +-
 src/video/winrt/SDL_winrtmessagebox.h         |   2 +-
 src/video/winrt/SDL_winrtmouse.cpp            |   4 +-
 src/video/winrt/SDL_winrtopengles.cpp         |   4 +-
 src/video/winrt/SDL_winrtopengles.h           |   2 +-
 src/video/winrt/SDL_winrtpointerinput.cpp     |   8 +-
 src/video/winrt/SDL_winrtvideo.cpp            |  22 +--
 src/video/winrt/SDL_winrtvideo_cpp.h          |   2 +-
 src/video/x11/SDL_x11clipboard.c              |   2 +-
 src/video/x11/SDL_x11dyn.c                    |   2 +-
 src/video/x11/SDL_x11dyn.h                    |  16 +-
 src/video/x11/SDL_x11events.c                 |  24 +--
 src/video/x11/SDL_x11framebuffer.c            |   2 +-
 src/video/x11/SDL_x11keyboard.c               |  10 +-
 src/video/x11/SDL_x11messagebox.c             |  12 +-
 src/video/x11/SDL_x11messagebox.h             |   2 +-
 src/video/x11/SDL_x11modes.c                  |  12 +-
 src/video/x11/SDL_x11modes.h                  |   6 +-
 src/video/x11/SDL_x11mouse.c                  |  10 +-
 src/video/x11/SDL_x11opengl.c                 |   6 +-
 src/video/x11/SDL_x11opengl.h                 |   2 +-
 src/video/x11/SDL_x11opengles.c               |   4 +-
 src/video/x11/SDL_x11opengles.h               |   2 +-
 src/video/x11/SDL_x11shape.c                  |  10 +-
 src/video/x11/SDL_x11sym.h                    |  18 +-
 src/video/x11/SDL_x11touch.c                  |   2 +-
 src/video/x11/SDL_x11video.c                  |  18 +-
 src/video/x11/SDL_x11video.h                  |  18 +-
 src/video/x11/SDL_x11vulkan.c                 |   2 +-
 src/video/x11/SDL_x11vulkan.h                 |   2 +-
 src/video/x11/SDL_x11window.c                 |  20 +--
 src/video/x11/SDL_x11window.h                 |   6 +-
 src/video/x11/SDL_x11xfixes.c                 |   2 +-
 src/video/x11/SDL_x11xfixes.h                 |   2 +-
 src/video/x11/SDL_x11xinput2.c                |  34 ++--
 test/checkkeys.c                              |   2 +-
 test/checkkeysthreads.c                       |   2 +-
 test/loopwavequeue.c                          |   4 +-
 test/testaudiohotplug.c                       |   4 +-
 test/testautomation_keyboard.c                |   4 +-
 test/testevdev.c                              |   2 +-
 test/testgl2.c                                |   6 +-
 test/testgles2.c                              |  10 +-
 test/testgles2_sdf.c                          |   6 +-
 test/testime.c                                |   2 +-
 430 files changed, 1289 insertions(+), 1260 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 42a50609f18c8..64e29e888a483 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -585,6 +585,11 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC)
     endif()
   endif()
 
+  check_c_compiler_flag(-Wundef HAVE_GCC_WUNDEF)
+  if(HAVE_GCC_WUNDEF)
+    list(APPEND EXTRA_CFLAGS "-Wundef")
+  endif()
+
   check_c_compiler_flag(-fno-strict-aliasing HAVE_GCC_NO_STRICT_ALIASING)
   if(HAVE_GCC_NO_STRICT_ALIASING)
     list(APPEND EXTRA_CFLAGS "-fno-strict-aliasing")
diff --git a/docs/README-ios.md b/docs/README-ios.md
index 90ef987a9a214..94c24b50337c6 100644
--- a/docs/README-ios.md
+++ b/docs/README-ios.md
@@ -273,7 +273,7 @@ e.g.
     {
         ... initialize game ...
 
-    #if __IPHONEOS__
+    #ifdef __IPHONEOS__
         // Initialize the Game Center for scoring and matchmaking
         InitGameCenter();
 
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index fde90ef4ef1e0..2c541ebadd0f1 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -49,7 +49,7 @@
 
 /* Comment this if you want to build without any C library requirements */
 #cmakedefine HAVE_LIBC 1
-#if HAVE_LIBC
+#ifdef HAVE_LIBC
 
 /* Useful headers */
 #cmakedefine STDC_HEADERS 1
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index 070306a69d0c6..38792a10a793f 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -53,7 +53,7 @@
 
 /* Comment this if you want to build without any C library requirements */
 #undef HAVE_LIBC
-#if HAVE_LIBC
+#ifdef HAVE_LIBC
 
 /* Useful headers */
 #undef STDC_HEADERS
diff --git a/include/SDL_config_winrt.h b/include/SDL_config_winrt.h
index 8efde90991236..d2f902d09f374 100644
--- a/include/SDL_config_winrt.h
+++ b/include/SDL_config_winrt.h
@@ -54,7 +54,7 @@
 
 /* Useful headers */
 #define HAVE_DXGI_H 1
-#if WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP
+#if !SDL_WINAPI_FAMILY_PHONE
 #define HAVE_XINPUT_H 1
 #endif
 
@@ -161,7 +161,7 @@
 #define SDL_AUDIO_DRIVER_DUMMY  1
 
 /* Enable various input drivers */
-#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
+#if SDL_WINAPI_FAMILY_PHONE
 #define SDL_JOYSTICK_DISABLED 1
 #define SDL_HAPTIC_DISABLED 1
 #else
@@ -208,9 +208,9 @@
 #define SDL_VIDEO_RENDER_D3D11  1
 
 /* Disable D3D12 as it's not implemented for WinRT */
-#define SDL_VIDEO_RENDER_D3D12  0
+/* #undef SDL_VIDEO_RENDER_D3D12 */
 
-#if SDL_VIDEO_OPENGL_ES2
+#ifdef SDL_VIDEO_OPENGL_ES2
 #define SDL_VIDEO_RENDER_OGL_ES2 1
 #endif
 
diff --git a/include/SDL_platform.h b/include/SDL_platform.h
index d2a7e052d7b19..2bad2499295b9 100644
--- a/include/SDL_platform.h
+++ b/include/SDL_platform.h
@@ -166,6 +166,12 @@
 #define WINAPI_FAMILY_WINRT 0
 #endif /* HAVE_WINAPIFAMILY_H */
 
+#if (HAVE_WINAPIFAMILY_H) && defined(WINAPI_FAMILY_PHONE_APP)
+#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+#else
+#define SDL_WINAPI_FAMILY_PHONE 0
+#endif
+
 #if WINAPI_FAMILY_WINRT
 #undef __WINRT__
 #define __WINRT__ 1
diff --git a/src/SDL.c b/src/SDL.c
index 14dbd0326f1e8..b46391df38c5f 100644
--- a/src/SDL.c
+++ b/src/SDL.c
@@ -29,7 +29,7 @@
 #endif
 #if defined(__OS2__)
 #include "core/os2/SDL_os2.h"
-#if SDL_THREAD_OS2
+#ifdef SDL_THREAD_OS2
 #include "thread/os2/SDL_systls_c.h"
 #endif
 #endif
@@ -54,10 +54,10 @@
 #include "sensor/SDL_sensor_c.h"
 
 /* Initialization/Cleanup routines */
-#if !SDL_TIMERS_DISABLED
+#ifndef SDL_TIMERS_DISABLED
 #include "timer/SDL_timer_c.h"
 #endif
-#if SDL_VIDEO_DRIVER_WINDOWS
+#ifdef SDL_VIDEO_DRIVER_WINDOWS
 extern int SDL_HelperWindowCreate(void);
 extern int SDL_HelperWindowDestroy(void);
 #endif
@@ -194,15 +194,15 @@ int SDL_InitSubSystem(Uint32 flags)
     /* Clear the error message */
     SDL_ClearError();
 
-#if SDL_USE_LIBDBUS
+#ifdef SDL_USE_LIBDBUS
     SDL_DBus_Init();
 #endif
 
-#if SDL_THREAD_OS2
+#ifdef SDL_THREAD_OS2
     SDL_OS2TLSAlloc(); /* thread/os2/SDL_systls.c */
 #endif
 
-#if SDL_VIDEO_DRIVER_WINDOWS
+#ifdef SDL_VIDEO_DRIVER_WINDOWS
     if (flags & (SDL_INIT_HAPTIC | SDL_INIT_JOYSTICK)) {
         if (SDL_HelperWindowCreate() < 0) {
             goto quit_and_error;
@@ -210,13 +210,13 @@ int SDL_InitSubSystem(Uint32 flags)
     }
 #endif
 
-#if !SDL_TIMERS_DISABLED
+#ifndef SDL_TIMERS_DISABLED
     SDL_TicksInit();
 #endif
 
     /* Initialize the event subsystem */
     if (flags & SDL_INIT_EVENTS) {
-#if !SDL_EVENTS_DISABLED
+#ifndef SDL_EVENTS_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_EVENTS)) {
             if (SDL_EventsInit() < 0) {
                 goto quit_and_error;
@@ -232,7 +232,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the timer subsystem */
     if (flags & SDL_INIT_TIMER) {
-#if !SDL_TIMERS_DISABLED && !SDL_TIMER_DUMMY
+#if !defined(SDL_TIMERS_DISABLED) && !defined(SDL_TIMER_DUMMY)
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_TIMER)) {
             if (SDL_TimerInit() < 0) {
                 goto quit_and_error;
@@ -248,7 +248,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the video subsystem */
     if (flags & SDL_INIT_VIDEO) {
-#if !SDL_VIDEO_DISABLED
+#ifndef SDL_VIDEO_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_VIDEO)) {
             /* video implies events */
             if (!SDL_PrivateInitOrIncrSubsystem(SDL_INIT_EVENTS)) {
@@ -269,7 +269,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the audio subsystem */
     if (flags & SDL_INIT_AUDIO) {
-#if !SDL_AUDIO_DISABLED
+#ifndef SDL_AUDIO_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_AUDIO)) {
             /* audio implies events */
             if (!SDL_PrivateInitOrIncrSubsystem(SDL_INIT_EVENTS)) {
@@ -290,7 +290,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the joystick subsystem */
     if (flags & SDL_INIT_JOYSTICK) {
-#if !SDL_JOYSTICK_DISABLED
+#ifndef SDL_JOYSTICK_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_JOYSTICK)) {
             /* joystick implies events */
             if (!SDL_PrivateInitOrIncrSubsystem(SDL_INIT_EVENTS)) {
@@ -310,7 +310,7 @@ int SDL_InitSubSystem(Uint32 flags)
     }
 
     if (flags & SDL_INIT_GAMECONTROLLER) {
-#if !SDL_JOYSTICK_DISABLED
+#ifndef SDL_JOYSTICK_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_GAMECONTROLLER)) {
             /* game controller implies joystick */
             if (!SDL_PrivateInitOrIncrSubsystem(SDL_INIT_JOYSTICK)) {
@@ -331,7 +331,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the haptic subsystem */
     if (flags & SDL_INIT_HAPTIC) {
-#if !SDL_HAPTIC_DISABLED
+#ifndef SDL_HAPTIC_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_HAPTIC)) {
             if (SDL_HapticInit() < 0) {
                 goto quit_and_error;
@@ -347,7 +347,7 @@ int SDL_InitSubSystem(Uint32 flags)
 
     /* Initialize the sensor subsystem */
     if (flags & SDL_INIT_SENSOR) {
-#if !SDL_SENSOR_DISABLED
+#ifndef SDL_SENSOR_DISABLED
         if (SDL_PrivateShouldInitSubsystem(SDL_INIT_SENSOR)) {
             if (SDL_SensorInit() < 0) {
                 goto quit_and_error;
@@ -378,14 +378,14 @@ int SDL_Init(Uint32 flags)
 void SDL_QuitSubSystem(Uint32 flags)
 {
 #if defined(__OS2__)
-#if SDL_THREAD_OS2
+#ifdef SDL_THREAD_OS2
     SDL_OS2TLSFree(); /* thread/os2/SDL_s

(Patch may be truncated, please check the link at the top of this post.)