Added support for building SDL as a dynamic library on iOS
authorSam Lantinga <slouken@libsdl.org>
Tue, 19 Mar 2019 07:53:33 -0700
changeset 12659e7f525b10380
parent 12658 92e2b144d965
child 12660 5742240661e0
Added support for building SDL as a dynamic library on iOS
Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj
Xcode/SDL/SDL.xcodeproj/project.pbxproj
include/SDL_main.h
src/core/winrt/SDL_winrtapp_common.cpp
src/dynapi/SDL_dynapi_overrides.h
src/dynapi/SDL_dynapi_procs.h
src/main/uikit/SDL_uikit_main.c
src/video/uikit/SDL_uikitappdelegate.m
     1.1 --- a/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj	Sun Mar 17 12:45:19 2019 -0400
     1.2 +++ b/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj	Tue Mar 19 07:53:33 2019 -0700
     1.3 @@ -94,6 +94,252 @@
     1.4  		4D75171A1EE1D32200820EEA /* SDL_uikitmetalview.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D7517191EE1D32200820EEA /* SDL_uikitmetalview.h */; };
     1.5  		4D75171F1EE1D98200820EEA /* SDL_vulkan_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D75171D1EE1D98200820EEA /* SDL_vulkan_internal.h */; };
     1.6  		4D7517201EE1D98200820EEA /* SDL_vulkan_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D75171E1EE1D98200820EEA /* SDL_vulkan_utils.c */; };
     1.7 +		52ED1D6D222889500061FCE0 /* SDL_blit.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA683010DF2374E00F98A1A /* SDL_blit.h */; };
     1.8 +		52ED1D6E222889500061FCE0 /* SDL_uikitmetalview.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D7517191EE1D32200820EEA /* SDL_uikitmetalview.h */; };
     1.9 +		52ED1D6F222889500061FCE0 /* SDL_vulkan_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D75171D1EE1D98200820EEA /* SDL_vulkan_internal.h */; };
    1.10 +		52ED1D70222889500061FCE0 /* SDL_blit_auto.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA683060DF2374E00F98A1A /* SDL_blit_auto.h */; };
    1.11 +		52ED1D71222889500061FCE0 /* SDL_blit_copy.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA683080DF2374E00F98A1A /* SDL_blit_copy.h */; };
    1.12 +		52ED1D72222889500061FCE0 /* SDL_pixels_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA683100DF2374E00F98A1A /* SDL_pixels_c.h */; };
    1.13 +		52ED1D73222889500061FCE0 /* SDL_dynapi_procs.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703218565E760007D20F /* SDL_dynapi_procs.h */; };
    1.14 +		52ED1D74222889500061FCE0 /* SDL_RLEaccel_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA683160DF2374E00F98A1A /* SDL_RLEaccel_c.h */; };
    1.15 +		52ED1D75222889500061FCE0 /* SDL_sysvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA6831A0DF2374E00F98A1A /* SDL_sysvideo.h */; };
    1.16 +		52ED1D76222889500061FCE0 /* SDL_nullevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA685F60DF244C800F98A1A /* SDL_nullevents_c.h */; };
    1.17 +		52ED1D77222889500061FCE0 /* SDL_nullvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA685FA0DF244C800F98A1A /* SDL_nullvideo.h */; };
    1.18 +		52ED1D78222889500061FCE0 /* SDL_joystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FD5F9D1F0E0E08B3008E885B /* SDL_joystick_c.h */; };
    1.19 +		52ED1D79222889500061FCE0 /* SDL_sysjoystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FD5F9D200E0E08B3008E885B /* SDL_sysjoystick.h */; };
    1.20 +		52ED1D7A222889500061FCE0 /* SDL_uikitevents.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689F0C0E26E5D900F90B21 /* SDL_uikitevents.h */; };
    1.21 +		52ED1D7B222889500061FCE0 /* SDL_uikitopengles.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689F0E0E26E5D900F90B21 /* SDL_uikitopengles.h */; };
    1.22 +		52ED1D7C222889500061FCE0 /* SDL_uikitvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689F100E26E5D900F90B21 /* SDL_uikitvideo.h */; };
    1.23 +		52ED1D7D222889500061FCE0 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689F140E26E5D900F90B21 /* SDL_uikitwindow.h */; };
    1.24 +		52ED1D7E222889500061FCE0 /* SDL_uikitopenglview.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689F160E26E5D900F90B21 /* SDL_uikitopenglview.h */; };
    1.25 +		52ED1D7F222889500061FCE0 /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703418565E760007D20F /* SDL_dynapi.h */; };
    1.26 +		52ED1D80222889500061FCE0 /* SDL_uikitappdelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = FD689FCD0E26E9D400F90B21 /* SDL_uikitappdelegate.h */; };
    1.27 +		52ED1D81222889500061FCE0 /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703118565E760007D20F /* SDL_dynapi_overrides.h */; };
    1.28 +		52ED1D82222889500061FCE0 /* yuv_rgb_std_func.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3531FB8B46300D9FEE6 /* yuv_rgb_std_func.h */; };
    1.29 +		52ED1D83222889500061FCE0 /* SDL_syshaptic.h in Headers */ = {isa = PBXBuildFile; fileRef = 047677BA0EA76A31008ABAF1 /* SDL_syshaptic.h */; };
    1.30 +		52ED1D84222889500061FCE0 /* SDL_blit_slow.h in Headers */ = {isa = PBXBuildFile; fileRef = 0463873A0F0B5B7D0041FD65 /* SDL_blit_slow.h */; };
    1.31 +		52ED1D85222889500061FCE0 /* SDL_rwopsbundlesupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 006E9886119552DD001DE610 /* SDL_rwopsbundlesupport.h */; };
    1.32 +		52ED1D86222889500061FCE0 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0420496E11E6F03D007E7EC9 /* SDL_clipboardevents_c.h */; };
    1.33 +		52ED1D87222889500061FCE0 /* SDL_rect_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3461FB8B27800D9FEE6 /* SDL_rect_c.h */; };
    1.34 +		52ED1D88222889500061FCE0 /* yuv_rgb_sse_func.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3541FB8B46300D9FEE6 /* yuv_rgb_sse_func.h */; };
    1.35 +		52ED1D89222889500061FCE0 /* SDL_gesture_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BA9D5F11EF474A00B60E01 /* SDL_gesture_c.h */; };
    1.36 +		52ED1D8A222889500061FCE0 /* SDL_touch_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BA9D6111EF474A00B60E01 /* SDL_touch_c.h */; };
    1.37 +		52ED1D8B222889500061FCE0 /* SDL_sysrender.h in Headers */ = {isa = PBXBuildFile; fileRef = 041B2CEB12FA0F680087D585 /* SDL_sysrender.h */; };
    1.38 +		52ED1D8C222889500061FCE0 /* SDL_yuv_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04409BA412FA989600FB9AA8 /* SDL_yuv_sw_c.h */; };
    1.39 +		52ED1D8D222889500061FCE0 /* yuv_rgb.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3551FB8B46300D9FEE6 /* yuv_rgb.h */; };
    1.40 +		52ED1D8E222889500061FCE0 /* SDL_blendfillrect.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7806B12FB751400FC43C0 /* SDL_blendfillrect.h */; };
    1.41 +		52ED1D8F222889500061FCE0 /* SDL_blendline.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7806D12FB751400FC43C0 /* SDL_blendline.h */; };
    1.42 +		52ED1D90222889500061FCE0 /* SDL_hidapijoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3BDD79020F51CB8004ECBF3 /* SDL_hidapijoystick_c.h */; };
    1.43 +		52ED1D91222889500061FCE0 /* SDL_blendpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7806F12FB751400FC43C0 /* SDL_blendpoint.h */; };
    1.44 +		52ED1D92222889500061FCE0 /* SDL_draw.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7807012FB751400FC43C0 /* SDL_draw.h */; };
    1.45 +		52ED1D93222889500061FCE0 /* SDL_drawline.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7807212FB751400FC43C0 /* SDL_drawline.h */; };
    1.46 +		52ED1D94222889500061FCE0 /* SDL_yuv_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3481FB8B27800D9FEE6 /* SDL_yuv_c.h */; };
    1.47 +		52ED1D95222889500061FCE0 /* SDL_drawpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7807412FB751400FC43C0 /* SDL_drawpoint.h */; };
    1.48 +		52ED1D96222889500061FCE0 /* SDL_nullframebuffer_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7808212FB753F00FC43C0 /* SDL_nullframebuffer_c.h */; };
    1.49 +		52ED1D97222889500061FCE0 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 0442EC4E12FE1C1E004C9285 /* SDL_render_sw_c.h */; };
    1.50 +		52ED1D98222889500061FCE0 /* SDL_uikitclipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */; };
    1.51 +		52ED1D99222889500061FCE0 /* SDL_shaders_gles2.h in Headers */ = {isa = PBXBuildFile; fileRef = 0402A85712FE70C600CECEE3 /* SDL_shaders_gles2.h */; };
    1.52 +		52ED1D9A222889500061FCE0 /* SDL_assert_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BAC09A1300C1290055DE28 /* SDL_assert_c.h */; };
    1.53 +		52ED1D9B222889500061FCE0 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */; };
    1.54 +		52ED1D9C222889500061FCE0 /* SDL_uikitviewcontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CB792213FC5E5200BD3E05 /* SDL_uikitviewcontroller.h */; };
    1.55 +		52ED1D9D222889500061FCE0 /* SDL_rotate.h in Headers */ = {isa = PBXBuildFile; fileRef = AA628ADA159369E3005138DD /* SDL_rotate.h */; };
    1.56 +		52ED1D9E222889500061FCE0 /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558651595D55500BBD41B /* begin_code.h */; };
    1.57 +		52ED1D9F222889500061FCE0 /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558661595D55500BBD41B /* close_code.h */; };
    1.58 +		52ED1DA0222889500061FCE0 /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558671595D55500BBD41B /* SDL_assert.h */; };
    1.59 +		52ED1DA1222889500061FCE0 /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558681595D55500BBD41B /* SDL_atomic.h */; };
    1.60 +		52ED1DA2222889500061FCE0 /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558691595D55500BBD41B /* SDL_audio.h */; };
    1.61 +		52ED1DA3222889500061FCE0 /* SDL_syspower.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FFA9192122302B00D7CBED /* SDL_syspower.h */; };
    1.62 +		52ED1DA4222889500061FCE0 /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586A1595D55500BBD41B /* SDL_blendmode.h */; };
    1.63 +		52ED1DA5222889500061FCE0 /* SDL_sensor_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F30D9C9B212CD0980047DF2E /* SDL_sensor_c.h */; };
    1.64 +		52ED1DA6222889500061FCE0 /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586B1595D55500BBD41B /* SDL_clipboard.h */; };
    1.65 +		52ED1DA7222889500061FCE0 /* SDL_config_iphoneos.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586C1595D55500BBD41B /* SDL_config_iphoneos.h */; };
    1.66 +		52ED1DA8222889500061FCE0 /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586D1595D55500BBD41B /* SDL_config.h */; };
    1.67 +		52ED1DA9222889500061FCE0 /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586E1595D55500BBD41B /* SDL_copying.h */; };
    1.68 +		52ED1DAA222889500061FCE0 /* SDL_egl_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3431FB8B27700D9FEE6 /* SDL_egl_c.h */; };
    1.69 +		52ED1DAB222889500061FCE0 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75586F1595D55500BBD41B /* SDL_cpuinfo.h */; };
    1.70 +		52ED1DAC222889500061FCE0 /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558701595D55500BBD41B /* SDL_endian.h */; };
    1.71 +		52ED1DAD222889500061FCE0 /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558711595D55500BBD41B /* SDL_error.h */; };
    1.72 +		52ED1DAE222889500061FCE0 /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6702D18565E450007D20F /* SDL_internal.h */; };
    1.73 +		52ED1DAF222889500061FCE0 /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558721595D55500BBD41B /* SDL_events.h */; };
    1.74 +		52ED1DB0222889500061FCE0 /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558731595D55500BBD41B /* SDL_gesture.h */; };
    1.75 +		52ED1DB1222889500061FCE0 /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558741595D55500BBD41B /* SDL_haptic.h */; };
    1.76 +		52ED1DB2222889500061FCE0 /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558751595D55500BBD41B /* SDL_hints.h */; };
    1.77 +		52ED1DB3222889500061FCE0 /* SDL_dataqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 566726441DF72CF5001DD3DB /* SDL_dataqueue.h */; };
    1.78 +		52ED1DB4222889500061FCE0 /* SDL_syssensor.h in Headers */ = {isa = PBXBuildFile; fileRef = F30D9C9C212CD0990047DF2E /* SDL_syssensor.h */; };
    1.79 +		52ED1DB5222889500061FCE0 /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558771595D55500BBD41B /* SDL_joystick.h */; };
    1.80 +		52ED1DB6222889500061FCE0 /* SDL_shape_internals.h in Headers */ = {isa = PBXBuildFile; fileRef = AA13B3451FB8B27800D9FEE6 /* SDL_shape_internals.h */; };
    1.81 +		52ED1DB7222889500061FCE0 /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558781595D55500BBD41B /* SDL_keyboard.h */; };
    1.82 +		52ED1DB8222889500061FCE0 /* controller_type.h in Headers */ = {isa = PBXBuildFile; fileRef = A704172D20F7E74800A82227 /* controller_type.h */; };
    1.83 +		52ED1DB9222889500061FCE0 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558791595D55500BBD41B /* SDL_keycode.h */; };
    1.84 +		52ED1DBA222889500061FCE0 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587A1595D55500BBD41B /* SDL_loadso.h */; };
    1.85 +		52ED1DBB222889500061FCE0 /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587B1595D55500BBD41B /* SDL_log.h */; };
    1.86 +		52ED1DBC222889500061FCE0 /* SDL_coremotionsensor.h in Headers */ = {isa = PBXBuildFile; fileRef = F30D9CA4212CD0BF0047DF2E /* SDL_coremotionsensor.h */; };
    1.87 +		52ED1DBD222889500061FCE0 /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587C1595D55500BBD41B /* SDL_main.h */; };
    1.88 +		52ED1DBE222889500061FCE0 /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587D1595D55500BBD41B /* SDL_mouse.h */; };
    1.89 +		52ED1DBF222889500061FCE0 /* SDL_displayevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C19D27212E552B00DF2152 /* SDL_displayevents_c.h */; };
    1.90 +		52ED1DC0222889500061FCE0 /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587E1595D55500BBD41B /* SDL_mutex.h */; };
    1.91 +		52ED1DC1222889500061FCE0 /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75587F1595D55500BBD41B /* SDL_name.h */; };
    1.92 +		52ED1DC2222889500061FCE0 /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558801595D55500BBD41B /* SDL_opengl.h */; };
    1.93 +		52ED1DC3222889500061FCE0 /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558811595D55500BBD41B /* SDL_opengles.h */; };
    1.94 +		52ED1DC4222889500061FCE0 /* SDL_shaders_metal_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = AADC5A611FDA10C800960936 /* SDL_shaders_metal_ios.h */; };
    1.95 +		52ED1DC5222889500061FCE0 /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558821595D55500BBD41B /* SDL_opengles2.h */; };
    1.96 +		52ED1DC6222889500061FCE0 /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558831595D55500BBD41B /* SDL_pixels.h */; };
    1.97 +		52ED1DC7222889500061FCE0 /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558841595D55500BBD41B /* SDL_platform.h */; };
    1.98 +		52ED1DC8222889500061FCE0 /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558851595D55500BBD41B /* SDL_power.h */; };
    1.99 +		52ED1DC9222889500061FCE0 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558861595D55500BBD41B /* SDL_quit.h */; };
   1.100 +		52ED1DCA222889500061FCE0 /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558871595D55500BBD41B /* SDL_rect.h */; };
   1.101 +		52ED1DCB222889500061FCE0 /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558881595D55500BBD41B /* SDL_render.h */; };
   1.102 +		52ED1DCC222889500061FCE0 /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558891595D55500BBD41B /* SDL_revision.h */; };
   1.103 +		52ED1DCD222889500061FCE0 /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588A1595D55500BBD41B /* SDL_rwops.h */; };
   1.104 +		52ED1DCE222889500061FCE0 /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588B1595D55500BBD41B /* SDL_scancode.h */; };
   1.105 +		52ED1DCF222889500061FCE0 /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588C1595D55500BBD41B /* SDL_shape.h */; };
   1.106 +		52ED1DD0222889500061FCE0 /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588D1595D55500BBD41B /* SDL_stdinc.h */; };
   1.107 +		52ED1DD1222889500061FCE0 /* SDL_sysjoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FAD4F7011BA3C4E8008346CE /* SDL_sysjoystick_c.h */; };
   1.108 +		52ED1DD2222889500061FCE0 /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588E1595D55500BBD41B /* SDL_surface.h */; };
   1.109 +		52ED1DD3222889500061FCE0 /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA75588F1595D55500BBD41B /* SDL_system.h */; };
   1.110 +		52ED1DD4222889500061FCE0 /* SDL_sensor.h in Headers */ = {isa = PBXBuildFile; fileRef = F30D9C98212CD0360047DF2E /* SDL_sensor.h */; };
   1.111 +		52ED1DD5222889500061FCE0 /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558901595D55500BBD41B /* SDL_syswm.h */; };
   1.112 +		52ED1DD6222889500061FCE0 /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558911595D55500BBD41B /* SDL_thread.h */; };
   1.113 +		52ED1DD7222889500061FCE0 /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558921595D55500BBD41B /* SDL_timer.h */; };
   1.114 +		52ED1DD8222889500061FCE0 /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558931595D55500BBD41B /* SDL_touch.h */; };
   1.115 +		52ED1DD9222889500061FCE0 /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558941595D55500BBD41B /* SDL_types.h */; };
   1.116 +		52ED1DDA222889500061FCE0 /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558951595D55500BBD41B /* SDL_version.h */; };
   1.117 +		52ED1DDB222889500061FCE0 /* SDL_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D7516FE1EE1C5B400820EEA /* SDL_vulkan.h */; };
   1.118 +		52ED1DDC222889500061FCE0 /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558961595D55500BBD41B /* SDL_video.h */; };
   1.119 +		52ED1DDD222889500061FCE0 /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558971595D55500BBD41B /* SDL.h */; };
   1.120 +		52ED1DDE222889500061FCE0 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D7516F91EE1C28A00820EEA /* SDL_uikitvulkan.h */; };
   1.121 +		52ED1DDF222889500061FCE0 /* SDL_uikitmodes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA126AD21617C5E6005ABC8F /* SDL_uikitmodes.h */; };
   1.122 +		52ED1DE0222889500061FCE0 /* SDL_dropevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA704DD4162AA90A0076D1C1 /* SDL_dropevents_c.h */; };
   1.123 +		52ED1DE1222889500061FCE0 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9501637C6E5000DF050 /* SDL_messagebox.h */; };
   1.124 +		52ED1DE2222889500061FCE0 /* SDL_uikitmessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */; };
   1.125 +		52ED1DE3222889500061FCE0 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */; };
   1.126 +		52ED1DE4222889500061FCE0 /* SDL_dummysensor.h in Headers */ = {isa = PBXBuildFile; fileRef = F36839CA214790950000F255 /* SDL_dummysensor.h */; };
   1.127 +		52ED1DE5222889500061FCE0 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8E16CCAB7C00107CF7 /* SDL_bits.h */; };
   1.128 +		52ED1DE6222889500061FCE0 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */; };
   1.129 +		52ED1DE8222889500061FCE0 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA310DD52EDC00FB1D6B /* SDL_systimer.c */; };
   1.130 +		52ED1DE9222889500061FCE0 /* SDL_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA2E0DD52EDC00FB1D6B /* SDL_timer.c */; };
   1.131 +		52ED1DEA222889500061FCE0 /* SDL_coremotionsensor.m in Sources */ = {isa = PBXBuildFile; fileRef = F30D9CA3212CD0BF0047DF2E /* SDL_coremotionsensor.m */; };
   1.132 +		52ED1DEB222889500061FCE0 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A750DEA620800C5B771 /* SDL_string.c */; };
   1.133 +		52ED1DEC222889500061FCE0 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B91D0DD52EDC00FB1D6B /* SDL_dummyaudio.c */; };
   1.134 +		52ED1DED222889500061FCE0 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */; };
   1.135 +		52ED1DEE222889500061FCE0 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */; };
   1.136 +		52ED1DEF222889500061FCE0 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */; };
   1.137 +		52ED1DF0222889500061FCE0 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */; };
   1.138 +		52ED1DF1222889500061FCE0 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */; };
   1.139 +		52ED1DF2222889500061FCE0 /* SDL_uikitvulkan.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D7516FA1EE1C28A00820EEA /* SDL_uikitvulkan.m */; };
   1.140 +		52ED1DF3222889500061FCE0 /* SDL_uikitclipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */; };
   1.141 +		52ED1DF4222889500061FCE0 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B98B0DD52EDC00FB1D6B /* SDL_cpuinfo.c */; };
   1.142 +		52ED1DF5222889500061FCE0 /* SDL_events.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9930DD52EDC00FB1D6B /* SDL_events.c */; };
   1.143 +		52ED1DF6222889500061FCE0 /* SDL_keyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9950DD52EDC00FB1D6B /* SDL_keyboard.c */; };
   1.144 +		52ED1DF7222889500061FCE0 /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6703318565E760007D20F /* SDL_dynapi.c */; };
   1.145 +		52ED1DF8222889500061FCE0 /* SDL_mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9970DD52EDC00FB1D6B /* SDL_mouse.c */; };
   1.146 +		52ED1DF9222889500061FCE0 /* SDL_quit.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9990DD52EDC00FB1D6B /* SDL_quit.c */; };
   1.147 +		52ED1DFA222889500061FCE0 /* SDL_windowevents.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B99B0DD52EDC00FB1D6B /* SDL_windowevents.c */; };
   1.148 +		52ED1DFB222889500061FCE0 /* SDL_uikitmetalview.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D7516F81EE1C28A00820EEA /* SDL_uikitmetalview.m */; };
   1.149 +		52ED1DFC222889500061FCE0 /* SDL_rwops.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B99E0DD52EDC00FB1D6B /* SDL_rwops.c */; };
   1.150 +		52ED1DFD222889500061FCE0 /* hid.m in Sources */ = {isa = PBXBuildFile; fileRef = F30D9CC5212CE92C0047DF2E /* hid.m */; };
   1.151 +		52ED1DFE222889500061FCE0 /* SDL_vulkan_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D75171E1EE1D98200820EEA /* SDL_vulkan_utils.c */; };
   1.152 +		52ED1DFF222889500061FCE0 /* SDL_error.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9D50DD52EDC00FB1D6B /* SDL_error.c */; };
   1.153 +		52ED1E00222889500061FCE0 /* SDL.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9D80DD52EDC00FB1D6B /* SDL.c */; };
   1.154 +		52ED1E01222889500061FCE0 /* SDL_syscond.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA070DD52EDC00FB1D6B /* SDL_syscond.c */; };
   1.155 +		52ED1E02222889500061FCE0 /* SDL_render_metal.m in Sources */ = {isa = PBXBuildFile; fileRef = AADC5A621FDA10C800960936 /* SDL_render_metal.m */; };
   1.156 +		52ED1E03222889500061FCE0 /* SDL_sysmutex.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA080DD52EDC00FB1D6B /* SDL_sysmutex.c */; };
   1.157 +		52ED1E04222889500061FCE0 /* SDL_syssem.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA0A0DD52EDC00FB1D6B /* SDL_syssem.c */; };
   1.158 +		52ED1E05222889500061FCE0 /* SDL_systhread.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA0B0DD52EDC00FB1D6B /* SDL_systhread.c */; };
   1.159 +		52ED1E06222889500061FCE0 /* SDL_thread.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA150DD52EDC00FB1D6B /* SDL_thread.c */; };
   1.160 +		52ED1E07222889500061FCE0 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A700DEA620800C5B771 /* SDL_getenv.c */; };
   1.161 +		52ED1E08222889500061FCE0 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A710DEA620800C5B771 /* SDL_iconv.c */; };
   1.162 +		52ED1E09222889500061FCE0 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A720DEA620800C5B771 /* SDL_malloc.c */; };
   1.163 +		52ED1E0A222889500061FCE0 /* SDL_hidapi_xbox360.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD78B20F51CB8004ECBF3 /* SDL_hidapi_xbox360.c */; };
   1.164 +		52ED1E0B222889500061FCE0 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A730DEA620800C5B771 /* SDL_qsort.c */; };
   1.165 +		52ED1E0C222889500061FCE0 /* SDL_hidapi_ps4.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD78E20F51CB8004ECBF3 /* SDL_hidapi_ps4.c */; };
   1.166 +		52ED1E0D222889500061FCE0 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */; };
   1.167 +		52ED1E0E222889500061FCE0 /* SDL_blit.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683000DF2374E00F98A1A /* SDL_blit.c */; };
   1.168 +		52ED1E0F222889500061FCE0 /* SDL_blit_0.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683020DF2374E00F98A1A /* SDL_blit_0.c */; };
   1.169 +		52ED1E10222889500061FCE0 /* SDL_yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA13B34F1FB8B3CC00D9FEE6 /* SDL_yuv.c */; };
   1.170 +		52ED1E11222889500061FCE0 /* SDL_blit_1.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683030DF2374E00F98A1A /* SDL_blit_1.c */; };
   1.171 +		52ED1E12222889500061FCE0 /* SDL_dataqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = 566726431DF72CF5001DD3DB /* SDL_dataqueue.c */; };
   1.172 +		52ED1E13222889500061FCE0 /* SDL_blit_A.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683040DF2374E00F98A1A /* SDL_blit_A.c */; };
   1.173 +		52ED1E14222889500061FCE0 /* SDL_blit_auto.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683050DF2374E00F98A1A /* SDL_blit_auto.c */; };
   1.174 +		52ED1E15222889500061FCE0 /* SDL_blit_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683070DF2374E00F98A1A /* SDL_blit_copy.c */; };
   1.175 +		52ED1E16222889500061FCE0 /* SDL_blit_N.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683090DF2374E00F98A1A /* SDL_blit_N.c */; };
   1.176 +		52ED1E17222889500061FCE0 /* SDL_blit_slow.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830A0DF2374E00F98A1A /* SDL_blit_slow.c */; };
   1.177 +		52ED1E18222889500061FCE0 /* SDL_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830B0DF2374E00F98A1A /* SDL_bmp.c */; };
   1.178 +		52ED1E19222889500061FCE0 /* SDL_pixels.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830F0DF2374E00F98A1A /* SDL_pixels.c */; };
   1.179 +		52ED1E1A222889500061FCE0 /* SDL_rect.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683110DF2374E00F98A1A /* SDL_rect.c */; };
   1.180 +		52ED1E1B222889500061FCE0 /* SDL_RLEaccel.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683150DF2374E00F98A1A /* SDL_RLEaccel.c */; };
   1.181 +		52ED1E1C222889500061FCE0 /* SDL_stretch.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683170DF2374E00F98A1A /* SDL_stretch.c */; };
   1.182 +		52ED1E1D222889500061FCE0 /* SDL_egl.c in Sources */ = {isa = PBXBuildFile; fileRef = AA13B3471FB8B27800D9FEE6 /* SDL_egl.c */; };
   1.183 +		52ED1E1E222889500061FCE0 /* SDL_surface.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683190DF2374E00F98A1A /* SDL_surface.c */; };
   1.184 +		52ED1E1F222889500061FCE0 /* SDL_video.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6831B0DF2374E00F98A1A /* SDL_video.c */; };
   1.185 +		52ED1E20222889500061FCE0 /* SDL_nullevents.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA685F50DF244C800F98A1A /* SDL_nullevents.c */; };
   1.186 +		52ED1E21222889500061FCE0 /* SDL_nullvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA685F90DF244C800F98A1A /* SDL_nullvideo.c */; };
   1.187 +		52ED1E22222889500061FCE0 /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FD5F9D1E0E0E08B3008E885B /* SDL_joystick.c */; };
   1.188 +		52ED1E23222889500061FCE0 /* SDL_sysjoystick.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F000E26E5B600F90B21 /* SDL_sysjoystick.m */; };
   1.189 +		52ED1E24222889500061FCE0 /* SDL_uikitevents.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F0D0E26E5D900F90B21 /* SDL_uikitevents.m */; };
   1.190 +		52ED1E25222889500061FCE0 /* yuv_rgb.c in Sources */ = {isa = PBXBuildFile; fileRef = AA13B3561FB8B46300D9FEE6 /* yuv_rgb.c */; };
   1.191 +		52ED1E26222889500061FCE0 /* SDL_uikitopengles.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F0F0E26E5D900F90B21 /* SDL_uikitopengles.m */; };
   1.192 +		52ED1E27222889500061FCE0 /* SDL_uikitvideo.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F110E26E5D900F90B21 /* SDL_uikitvideo.m */; };
   1.193 +		52ED1E28222889500061FCE0 /* SDL_uikitview.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F130E26E5D900F90B21 /* SDL_uikitview.m */; };
   1.194 +		52ED1E29222889500061FCE0 /* SDL_displayevents.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C19D28212E552B00DF2152 /* SDL_displayevents.c */; };
   1.195 +		52ED1E2A222889500061FCE0 /* SDL_uikitwindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F150E26E5D900F90B21 /* SDL_uikitwindow.m */; };
   1.196 +		52ED1E2B222889500061FCE0 /* SDL_uikitopenglview.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F170E26E5D900F90B21 /* SDL_uikitopenglview.m */; };
   1.197 +		52ED1E2C222889500061FCE0 /* SDL_uikitappdelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689FCC0E26E9D400F90B21 /* SDL_uikitappdelegate.m */; };
   1.198 +		52ED1E2D222889500061FCE0 /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = FD8BD8190E27E25900B52CD5 /* SDL_sysloadso.c */; };
   1.199 +		52ED1E2E222889500061FCE0 /* SDL_hidapijoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD79120F51CB8004ECBF3 /* SDL_hidapijoystick.c */; };
   1.200 +		52ED1E2F222889500061FCE0 /* SDL_syshaptic.c in Sources */ = {isa = PBXBuildFile; fileRef = 047677B80EA76A31008ABAF1 /* SDL_syshaptic.c */; };
   1.201 +		52ED1E30222889500061FCE0 /* SDL_haptic.c in Sources */ = {isa = PBXBuildFile; fileRef = 047677B90EA76A31008ABAF1 /* SDL_haptic.c */; };
   1.202 +		52ED1E31222889500061FCE0 /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = 047AF1B20EA98D6C00811173 /* SDL_sysloadso.c */; };
   1.203 +		52ED1E32222889500061FCE0 /* SDL_fillrect.c in Sources */ = {isa = PBXBuildFile; fileRef = 0463873E0F0B5B7D0041FD65 /* SDL_fillrect.c */; };
   1.204 +		52ED1E33222889500061FCE0 /* SDL_assert.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F2AF551104ABD200D6DDF7 /* SDL_assert.c */; };
   1.205 +		52ED1E34222889500061FCE0 /* SDL_hidapi_xboxone.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD78D20F51CB8004ECBF3 /* SDL_hidapi_xboxone.c */; };
   1.206 +		52ED1E35222889500061FCE0 /* SDL_power.c in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E0118A8EE200A56AA6 /* SDL_power.c */; };
   1.207 +		52ED1E36222889500061FCE0 /* SDL_syspower.m in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */; };
   1.208 +		52ED1E37222889500061FCE0 /* SDL_rwopsbundlesupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 006E9887119552DD001DE610 /* SDL_rwopsbundlesupport.m */; };
   1.209 +		52ED1E38222889500061FCE0 /* SDL_clipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 044E5FB711E606EB0076F181 /* SDL_clipboard.c */; };
   1.210 +		52ED1E39222889500061FCE0 /* SDL_clipboardevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 0420496F11E6F03D007E7EC9 /* SDL_clipboardevents.c */; };
   1.211 +		52ED1E3A222889500061FCE0 /* SDL_gesture.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BA9D6011EF474A00B60E01 /* SDL_gesture.c */; };
   1.212 +		52ED1E3B222889500061FCE0 /* SDL_touch.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BA9D6211EF474A00B60E01 /* SDL_touch.c */; };
   1.213 +		52ED1E3C222889500061FCE0 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8912E23B8D00BA343D /* SDL_atomic.c */; };
   1.214 +		52ED1E3D222889500061FCE0 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8A12E23B8D00BA343D /* SDL_spinlock.c */; };
   1.215 +		52ED1E3E222889500061FCE0 /* SDL_render.c in Sources */ = {isa = PBXBuildFile; fileRef = 041B2CEA12FA0F680087D585 /* SDL_render.c */; };
   1.216 +		52ED1E3F222889500061FCE0 /* SDL_yuv_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 04409BA512FA989600FB9AA8 /* SDL_yuv_sw.c */; };
   1.217 +		52ED1E40222889500061FCE0 /* SDL_blendfillrect.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806A12FB751400FC43C0 /* SDL_blendfillrect.c */; };
   1.218 +		52ED1E41222889500061FCE0 /* SDL_blendline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806C12FB751400FC43C0 /* SDL_blendline.c */; };
   1.219 +		52ED1E42222889500061FCE0 /* SDL_blendpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806E12FB751400FC43C0 /* SDL_blendpoint.c */; };
   1.220 +		52ED1E43222889500061FCE0 /* SDL_drawline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7807112FB751400FC43C0 /* SDL_drawline.c */; };
   1.221 +		52ED1E44222889500061FCE0 /* SDL_drawpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7807312FB751400FC43C0 /* SDL_drawpoint.c */; };
   1.222 +		52ED1E45222889500061FCE0 /* SDL_nullframebuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7808312FB753F00FC43C0 /* SDL_nullframebuffer.c */; };
   1.223 +		52ED1E46222889500061FCE0 /* SDL_render_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC4F12FE1C1E004C9285 /* SDL_render_sw.c */; };
   1.224 +		52ED1E47222889500061FCE0 /* SDL_render_gles.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5212FE1C28004C9285 /* SDL_render_gles.c */; };
   1.225 +		52ED1E48222889500061FCE0 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5412FE1C3F004C9285 /* SDL_hints.c */; };
   1.226 +		52ED1E49222889500061FCE0 /* SDL_shape.c in Sources */ = {isa = PBXBuildFile; fileRef = AA13B3441FB8B27800D9FEE6 /* SDL_shape.c */; };
   1.227 +		52ED1E4A222889500061FCE0 /* SDL_render_gles2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0402A85512FE70C600CECEE3 /* SDL_render_gles2.c */; };
   1.228 +		52ED1E4B222889500061FCE0 /* SDL_dummysensor.c in Sources */ = {isa = PBXBuildFile; fileRef = F36839CB214790950000F255 /* SDL_dummysensor.c */; };
   1.229 +		52ED1E4C222889500061FCE0 /* SDL_shaders_gles2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0402A85612FE70C600CECEE3 /* SDL_shaders_gles2.c */; };
   1.230 +		52ED1E4D222889500061FCE0 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC09B1300C1290055DE28 /* SDL_log.c */; };
   1.231 +		52ED1E4E222889500061FCE0 /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 56EA86F913E9EC2B002E47EB /* SDL_coreaudio.m */; };
   1.232 +		52ED1E4F222889500061FCE0 /* SDL_sensor.c in Sources */ = {isa = PBXBuildFile; fileRef = F30D9C9D212CD0990047DF2E /* SDL_sensor.c */; };
   1.233 +		52ED1E50222889500061FCE0 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD78C20F51CB8004ECBF3 /* SDL_hidapi_switch.c */; };
   1.234 +		52ED1E51222889500061FCE0 /* SDL_uikitviewcontroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */; };
   1.235 +		52ED1E52222889500061FCE0 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628AD9159369E3005138DD /* SDL_rotate.c */; };
   1.236 +		52ED1E53222889500061FCE0 /* SDL_uikitmodes.m in Sources */ = {isa = PBXBuildFile; fileRef = AA126AD31617C5E6005ABC8F /* SDL_uikitmodes.m */; };
   1.237 +		52ED1E54222889500061FCE0 /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = AA704DD5162AA90A0076D1C1 /* SDL_dropevents.c */; };
   1.238 +		52ED1E55222889500061FCE0 /* SDL_uikitmessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */; };
   1.239 +		52ED1E56222889500061FCE0 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */; };
   1.240 +		52ED1E57222889500061FCE0 /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8494178D5F1A00823F9D /* SDL_systls.c */; };
   1.241 +		52ED1E58222889500061FCE0 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */; };
   1.242 +		52ED1E6C22288B8C0061FCE0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E6B22288B8C0061FCE0 /* QuartzCore.framework */; };
   1.243 +		52ED1E6E22288B960061FCE0 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E6D22288B960061FCE0 /* CoreAudio.framework */; };
   1.244 +		52ED1E7022288BA20061FCE0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E6F22288BA20061FCE0 /* AudioToolbox.framework */; };
   1.245 +		52ED1E7222288BAC0061FCE0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7122288BAC0061FCE0 /* AVFoundation.framework */; };
   1.246 +		52ED1E7422288BB70061FCE0 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7322288BB70061FCE0 /* CoreBluetooth.framework */; };
   1.247 +		52ED1E7622288BC10061FCE0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7522288BC10061FCE0 /* CoreGraphics.framework */; };
   1.248 +		52ED1E7822288BCA0061FCE0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7722288BCA0061FCE0 /* UIKit.framework */; };
   1.249 +		52ED1E7A22288BDD0061FCE0 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7922288BDD0061FCE0 /* GameController.framework */; };
   1.250 +		52ED1E7C22288BE70061FCE0 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7B22288BE70061FCE0 /* CoreMotion.framework */; };
   1.251 +		52ED1E7E22288BF00061FCE0 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7D22288BF00061FCE0 /* Metal.framework */; };
   1.252 +		52ED1E8022288BFA0061FCE0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52ED1E7F22288BFA0061FCE0 /* OpenGLES.framework */; };
   1.253  		55FFA91A2122302B00D7CBED /* SDL_syspower.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FFA9192122302B00D7CBED /* SDL_syspower.h */; };
   1.254  		566726451DF72CF5001DD3DB /* SDL_dataqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = 566726431DF72CF5001DD3DB /* SDL_dataqueue.c */; };
   1.255  		566726461DF72CF5001DD3DB /* SDL_dataqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 566726441DF72CF5001DD3DB /* SDL_dataqueue.h */; };
   1.256 @@ -224,6 +470,8 @@
   1.257  		F3BDD79D20F51CB8004ECBF3 /* SDL_hidapijoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = F3BDD79120F51CB8004ECBF3 /* SDL_hidapijoystick.c */; };
   1.258  		F3E3C55D223DEC6C007D243C /* SDL_hidapi_gamecube.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E3C55C223DEC6C007D243C /* SDL_hidapi_gamecube.c */; };
   1.259  		F3E3C55E223DEC6C007D243C /* SDL_hidapi_gamecube.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E3C55C223DEC6C007D243C /* SDL_hidapi_gamecube.c */; };
   1.260 +		F3E3C55F224065AE007D243C /* SDL_hidapi_gamecube.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E3C55C223DEC6C007D243C /* SDL_hidapi_gamecube.c */; };
   1.261 +		F3E3C658224069CE007D243C /* SDL_uikit_main.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E3C657224069CE007D243C /* SDL_uikit_main.c */; };
   1.262  		FA1DC2721C62BE65008F99A0 /* SDL_uikitclipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */; };
   1.263  		FA1DC2731C62BE65008F99A0 /* SDL_uikitclipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */; };
   1.264  		FAB5981D1BB5C31500BE72C5 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8912E23B8D00BA343D /* SDL_atomic.c */; };
   1.265 @@ -445,6 +693,18 @@
   1.266  		4D7517191EE1D32200820EEA /* SDL_uikitmetalview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitmetalview.h; sourceTree = "<group>"; };
   1.267  		4D75171D1EE1D98200820EEA /* SDL_vulkan_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_vulkan_internal.h; sourceTree = "<group>"; };
   1.268  		4D75171E1EE1D98200820EEA /* SDL_vulkan_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_vulkan_utils.c; sourceTree = "<group>"; };
   1.269 +		52ED1E5C222889500061FCE0 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
   1.270 +		52ED1E6B22288B8C0061FCE0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
   1.271 +		52ED1E6D22288B960061FCE0 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
   1.272 +		52ED1E6F22288BA20061FCE0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
   1.273 +		52ED1E7122288BAC0061FCE0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
   1.274 +		52ED1E7322288BB70061FCE0 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; };
   1.275 +		52ED1E7522288BC10061FCE0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
   1.276 +		52ED1E7722288BCA0061FCE0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
   1.277 +		52ED1E7922288BDD0061FCE0 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
   1.278 +		52ED1E7B22288BE70061FCE0 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
   1.279 +		52ED1E7D22288BF00061FCE0 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
   1.280 +		52ED1E7F22288BFA0061FCE0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
   1.281  		55FFA9192122302B00D7CBED /* SDL_syspower.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_syspower.h; sourceTree = "<group>"; };
   1.282  		566726431DF72CF5001DD3DB /* SDL_dataqueue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dataqueue.c; sourceTree = "<group>"; };
   1.283  		566726441DF72CF5001DD3DB /* SDL_dataqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dataqueue.h; sourceTree = "<group>"; };
   1.284 @@ -556,6 +816,8 @@
   1.285  		F3BDD79020F51CB8004ECBF3 /* SDL_hidapijoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_hidapijoystick_c.h; sourceTree = "<group>"; };
   1.286  		F3BDD79120F51CB8004ECBF3 /* SDL_hidapijoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapijoystick.c; sourceTree = "<group>"; };
   1.287  		F3E3C55C223DEC6C007D243C /* SDL_hidapi_gamecube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_gamecube.c; sourceTree = "<group>"; };
   1.288 +		F3E3C65222406928007D243C /* libSDLmain.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDLmain.a; sourceTree = BUILT_PRODUCTS_DIR; };
   1.289 +		F3E3C657224069CE007D243C /* SDL_uikit_main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_uikit_main.c; sourceTree = "<group>"; };
   1.290  		FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitclipboard.h; sourceTree = "<group>"; };
   1.291  		FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitclipboard.m; sourceTree = "<group>"; };
   1.292  		FAB598141BB5C1B100BE72C5 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.a; sourceTree = BUILT_PRODUCTS_DIR; };
   1.293 @@ -656,6 +918,27 @@
   1.294  		FDC261780E3A3FC8001C4554 /* keyinfotable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keyinfotable.h; sourceTree = "<group>"; };
   1.295  /* End PBXFileReference section */
   1.296  
   1.297 +/* Begin PBXFrameworksBuildPhase section */
   1.298 +		52ED1E6922288B720061FCE0 /* Frameworks */ = {
   1.299 +			isa = PBXFrameworksBuildPhase;
   1.300 +			buildActionMask = 2147483647;
   1.301 +			files = (
   1.302 +				52ED1E8022288BFA0061FCE0 /* OpenGLES.framework in Frameworks */,
   1.303 +				52ED1E7E22288BF00061FCE0 /* Metal.framework in Frameworks */,
   1.304 +				52ED1E7C22288BE70061FCE0 /* CoreMotion.framework in Frameworks */,
   1.305 +				52ED1E7A22288BDD0061FCE0 /* GameController.framework in Frameworks */,
   1.306 +				52ED1E7822288BCA0061FCE0 /* UIKit.framework in Frameworks */,
   1.307 +				52ED1E7622288BC10061FCE0 /* CoreGraphics.framework in Frameworks */,
   1.308 +				52ED1E7422288BB70061FCE0 /* CoreBluetooth.framework in Frameworks */,
   1.309 +				52ED1E7222288BAC0061FCE0 /* AVFoundation.framework in Frameworks */,
   1.310 +				52ED1E7022288BA20061FCE0 /* AudioToolbox.framework in Frameworks */,
   1.311 +				52ED1E6E22288B960061FCE0 /* CoreAudio.framework in Frameworks */,
   1.312 +				52ED1E6C22288B8C0061FCE0 /* QuartzCore.framework in Frameworks */,
   1.313 +			);
   1.314 +			runOnlyForDeploymentPostprocessing = 0;
   1.315 +		};
   1.316 +/* End PBXFrameworksBuildPhase section */
   1.317 +
   1.318  /* Begin PBXGroup section */
   1.319  		006E9885119552DD001DE610 /* cocoa */ = {
   1.320  			isa = PBXGroup;
   1.321 @@ -761,6 +1044,8 @@
   1.322  			children = (
   1.323  				FD6526630DE8FCCB002AD96B /* libSDL2.a */,
   1.324  				FAB598141BB5C1B100BE72C5 /* libSDL2.a */,
   1.325 +				52ED1E5C222889500061FCE0 /* libSDL2.dylib */,
   1.326 +				F3E3C65222406928007D243C /* libSDLmain.a */,
   1.327  			);
   1.328  			name = Products;
   1.329  			sourceTree = "<group>";
   1.330 @@ -771,11 +1056,30 @@
   1.331  				FD99B8BC0DD52E5C00FB1D6B /* Public Headers */,
   1.332  				FD99B8BD0DD52E6D00FB1D6B /* Library Source */,
   1.333  				19C28FACFE9D520D11CA2CBB /* Products */,
   1.334 +				52ED1E6A22288B8C0061FCE0 /* Frameworks */,
   1.335  			);
   1.336  			name = CustomTemplate;
   1.337  			sourceTree = "<group>";
   1.338  			usesTabs = 0;
   1.339  		};
   1.340 +		52ED1E6A22288B8C0061FCE0 /* Frameworks */ = {
   1.341 +			isa = PBXGroup;
   1.342 +			children = (
   1.343 +				52ED1E7F22288BFA0061FCE0 /* OpenGLES.framework */,
   1.344 +				52ED1E7D22288BF00061FCE0 /* Metal.framework */,
   1.345 +				52ED1E7B22288BE70061FCE0 /* CoreMotion.framework */,
   1.346 +				52ED1E7922288BDD0061FCE0 /* GameController.framework */,
   1.347 +				52ED1E7722288BCA0061FCE0 /* UIKit.framework */,
   1.348 +				52ED1E7522288BC10061FCE0 /* CoreGraphics.framework */,
   1.349 +				52ED1E7322288BB70061FCE0 /* CoreBluetooth.framework */,
   1.350 +				52ED1E7122288BAC0061FCE0 /* AVFoundation.framework */,
   1.351 +				52ED1E6F22288BA20061FCE0 /* AudioToolbox.framework */,
   1.352 +				52ED1E6D22288B960061FCE0 /* CoreAudio.framework */,
   1.353 +				52ED1E6B22288B8C0061FCE0 /* QuartzCore.framework */,
   1.354 +			);
   1.355 +			name = Frameworks;
   1.356 +			sourceTree = "<group>";
   1.357 +		};
   1.358  		56A6702F18565E4F0007D20F /* dynapi */ = {
   1.359  			isa = PBXGroup;
   1.360  			children = (
   1.361 @@ -902,6 +1206,22 @@
   1.362  			path = hidapi;
   1.363  			sourceTree = "<group>";
   1.364  		};
   1.365 +		F3E3C65322406963007D243C /* main */ = {
   1.366 +			isa = PBXGroup;
   1.367 +			children = (
   1.368 +				F3E3C656224069A1007D243C /* uikit */,
   1.369 +			);
   1.370 +			path = main;
   1.371 +			sourceTree = "<group>";
   1.372 +		};
   1.373 +		F3E3C656224069A1007D243C /* uikit */ = {
   1.374 +			isa = PBXGroup;
   1.375 +			children = (
   1.376 +				F3E3C657224069CE007D243C /* SDL_uikit_main.c */,
   1.377 +			);
   1.378 +			path = uikit;
   1.379 +			sourceTree = "<group>";
   1.380 +		};
   1.381  		FD3F4A6F0DEA620800C5B771 /* stdlib */ = {
   1.382  			isa = PBXGroup;
   1.383  			children = (
   1.384 @@ -1067,6 +1387,7 @@
   1.385  				F35CEA6E20F51B7F003ECE98 /* hidapi */,
   1.386  				FD5F9D080E0E08B3008E885B /* joystick */,
   1.387  				FD8BD8150E27E25900B52CD5 /* loadso */,
   1.388 +				F3E3C65322406963007D243C /* main */,
   1.389  				56ED04DE118A8E9A00A56AA6 /* power */,
   1.390  				041B2CE312FA0F680087D585 /* render */,
   1.391  				F30D9C9A212CD0590047DF2E /* sensor */,
   1.392 @@ -1266,6 +1587,142 @@
   1.393  /* End PBXGroup section */
   1.394  
   1.395  /* Begin PBXHeadersBuildPhase section */
   1.396 +		52ED1D6C222889500061FCE0 /* Headers */ = {
   1.397 +			isa = PBXHeadersBuildPhase;
   1.398 +			buildActionMask = 2147483647;
   1.399 +			files = (
   1.400 +				52ED1D6D222889500061FCE0 /* SDL_blit.h in Headers */,
   1.401 +				52ED1D6E222889500061FCE0 /* SDL_uikitmetalview.h in Headers */,
   1.402 +				52ED1D6F222889500061FCE0 /* SDL_vulkan_internal.h in Headers */,
   1.403 +				52ED1D70222889500061FCE0 /* SDL_blit_auto.h in Headers */,
   1.404 +				52ED1D71222889500061FCE0 /* SDL_blit_copy.h in Headers */,
   1.405 +				52ED1D72222889500061FCE0 /* SDL_pixels_c.h in Headers */,
   1.406 +				52ED1D73222889500061FCE0 /* SDL_dynapi_procs.h in Headers */,
   1.407 +				52ED1D74222889500061FCE0 /* SDL_RLEaccel_c.h in Headers */,
   1.408 +				52ED1D75222889500061FCE0 /* SDL_sysvideo.h in Headers */,
   1.409 +				52ED1D76222889500061FCE0 /* SDL_nullevents_c.h in Headers */,
   1.410 +				52ED1D77222889500061FCE0 /* SDL_nullvideo.h in Headers */,
   1.411 +				52ED1D78222889500061FCE0 /* SDL_joystick_c.h in Headers */,
   1.412 +				52ED1D79222889500061FCE0 /* SDL_sysjoystick.h in Headers */,
   1.413 +				52ED1D7A222889500061FCE0 /* SDL_uikitevents.h in Headers */,
   1.414 +				52ED1D7B222889500061FCE0 /* SDL_uikitopengles.h in Headers */,
   1.415 +				52ED1D7C222889500061FCE0 /* SDL_uikitvideo.h in Headers */,
   1.416 +				52ED1D7D222889500061FCE0 /* SDL_uikitwindow.h in Headers */,
   1.417 +				52ED1D7E222889500061FCE0 /* SDL_uikitopenglview.h in Headers */,
   1.418 +				52ED1D7F222889500061FCE0 /* SDL_dynapi.h in Headers */,
   1.419 +				52ED1D80222889500061FCE0 /* SDL_uikitappdelegate.h in Headers */,
   1.420 +				52ED1D81222889500061FCE0 /* SDL_dynapi_overrides.h in Headers */,
   1.421 +				52ED1D82222889500061FCE0 /* yuv_rgb_std_func.h in Headers */,
   1.422 +				52ED1D83222889500061FCE0 /* SDL_syshaptic.h in Headers */,
   1.423 +				52ED1D84222889500061FCE0 /* SDL_blit_slow.h in Headers */,
   1.424 +				52ED1D85222889500061FCE0 /* SDL_rwopsbundlesupport.h in Headers */,
   1.425 +				52ED1D86222889500061FCE0 /* SDL_clipboardevents_c.h in Headers */,
   1.426 +				52ED1D87222889500061FCE0 /* SDL_rect_c.h in Headers */,
   1.427 +				52ED1D88222889500061FCE0 /* yuv_rgb_sse_func.h in Headers */,
   1.428 +				52ED1D89222889500061FCE0 /* SDL_gesture_c.h in Headers */,
   1.429 +				52ED1D8A222889500061FCE0 /* SDL_touch_c.h in Headers */,
   1.430 +				52ED1D8B222889500061FCE0 /* SDL_sysrender.h in Headers */,
   1.431 +				52ED1D8C222889500061FCE0 /* SDL_yuv_sw_c.h in Headers */,
   1.432 +				52ED1D8D222889500061FCE0 /* yuv_rgb.h in Headers */,
   1.433 +				52ED1D8E222889500061FCE0 /* SDL_blendfillrect.h in Headers */,
   1.434 +				52ED1D8F222889500061FCE0 /* SDL_blendline.h in Headers */,
   1.435 +				52ED1D90222889500061FCE0 /* SDL_hidapijoystick_c.h in Headers */,
   1.436 +				52ED1D91222889500061FCE0 /* SDL_blendpoint.h in Headers */,
   1.437 +				52ED1D92222889500061FCE0 /* SDL_draw.h in Headers */,
   1.438 +				52ED1D93222889500061FCE0 /* SDL_drawline.h in Headers */,
   1.439 +				52ED1D94222889500061FCE0 /* SDL_yuv_c.h in Headers */,
   1.440 +				52ED1D95222889500061FCE0 /* SDL_drawpoint.h in Headers */,
   1.441 +				52ED1D96222889500061FCE0 /* SDL_nullframebuffer_c.h in Headers */,
   1.442 +				52ED1D97222889500061FCE0 /* SDL_render_sw_c.h in Headers */,
   1.443 +				52ED1D98222889500061FCE0 /* SDL_uikitclipboard.h in Headers */,
   1.444 +				52ED1D99222889500061FCE0 /* SDL_shaders_gles2.h in Headers */,
   1.445 +				52ED1D9A222889500061FCE0 /* SDL_assert_c.h in Headers */,
   1.446 +				52ED1D9B222889500061FCE0 /* SDL_coreaudio.h in Headers */,
   1.447 +				52ED1D9C222889500061FCE0 /* SDL_uikitviewcontroller.h in Headers */,
   1.448 +				52ED1D9D222889500061FCE0 /* SDL_rotate.h in Headers */,
   1.449 +				52ED1D9E222889500061FCE0 /* begin_code.h in Headers */,
   1.450 +				52ED1D9F222889500061FCE0 /* close_code.h in Headers */,
   1.451 +				52ED1DA0222889500061FCE0 /* SDL_assert.h in Headers */,
   1.452 +				52ED1DA1222889500061FCE0 /* SDL_atomic.h in Headers */,
   1.453 +				52ED1DA2222889500061FCE0 /* SDL_audio.h in Headers */,
   1.454 +				52ED1DA3222889500061FCE0 /* SDL_syspower.h in Headers */,
   1.455 +				52ED1DA4222889500061FCE0 /* SDL_blendmode.h in Headers */,
   1.456 +				52ED1DA5222889500061FCE0 /* SDL_sensor_c.h in Headers */,
   1.457 +				52ED1DA6222889500061FCE0 /* SDL_clipboard.h in Headers */,
   1.458 +				52ED1DA7222889500061FCE0 /* SDL_config_iphoneos.h in Headers */,
   1.459 +				52ED1DA8222889500061FCE0 /* SDL_config.h in Headers */,
   1.460 +				52ED1DA9222889500061FCE0 /* SDL_copying.h in Headers */,
   1.461 +				52ED1DAA222889500061FCE0 /* SDL_egl_c.h in Headers */,
   1.462 +				52ED1DAB222889500061FCE0 /* SDL_cpuinfo.h in Headers */,
   1.463 +				52ED1DAC222889500061FCE0 /* SDL_endian.h in Headers */,
   1.464 +				52ED1DAD222889500061FCE0 /* SDL_error.h in Headers */,
   1.465 +				52ED1DAE222889500061FCE0 /* SDL_internal.h in Headers */,
   1.466 +				52ED1DAF222889500061FCE0 /* SDL_events.h in Headers */,
   1.467 +				52ED1DB0222889500061FCE0 /* SDL_gesture.h in Headers */,
   1.468 +				52ED1DB1222889500061FCE0 /* SDL_haptic.h in Headers */,
   1.469 +				52ED1DB2222889500061FCE0 /* SDL_hints.h in Headers */,
   1.470 +				52ED1DB3222889500061FCE0 /* SDL_dataqueue.h in Headers */,
   1.471 +				52ED1DB4222889500061FCE0 /* SDL_syssensor.h in Headers */,
   1.472 +				52ED1DB5222889500061FCE0 /* SDL_joystick.h in Headers */,
   1.473 +				52ED1DB6222889500061FCE0 /* SDL_shape_internals.h in Headers */,
   1.474 +				52ED1DB7222889500061FCE0 /* SDL_keyboard.h in Headers */,
   1.475 +				52ED1DB8222889500061FCE0 /* controller_type.h in Headers */,
   1.476 +				52ED1DB9222889500061FCE0 /* SDL_keycode.h in Headers */,
   1.477 +				52ED1DBA222889500061FCE0 /* SDL_loadso.h in Headers */,
   1.478 +				52ED1DBB222889500061FCE0 /* SDL_log.h in Headers */,
   1.479 +				52ED1DBC222889500061FCE0 /* SDL_coremotionsensor.h in Headers */,
   1.480 +				52ED1DBD222889500061FCE0 /* SDL_main.h in Headers */,
   1.481 +				52ED1DBE222889500061FCE0 /* SDL_mouse.h in Headers */,
   1.482 +				52ED1DBF222889500061FCE0 /* SDL_displayevents_c.h in Headers */,
   1.483 +				52ED1DC0222889500061FCE0 /* SDL_mutex.h in Headers */,
   1.484 +				52ED1DC1222889500061FCE0 /* SDL_name.h in Headers */,
   1.485 +				52ED1DC2222889500061FCE0 /* SDL_opengl.h in Headers */,
   1.486 +				52ED1DC3222889500061FCE0 /* SDL_opengles.h in Headers */,
   1.487 +				52ED1DC4222889500061FCE0 /* SDL_shaders_metal_ios.h in Headers */,
   1.488 +				52ED1DC5222889500061FCE0 /* SDL_opengles2.h in Headers */,
   1.489 +				52ED1DC6222889500061FCE0 /* SDL_pixels.h in Headers */,
   1.490 +				52ED1DC7222889500061FCE0 /* SDL_platform.h in Headers */,
   1.491 +				52ED1DC8222889500061FCE0 /* SDL_power.h in Headers */,
   1.492 +				52ED1DC9222889500061FCE0 /* SDL_quit.h in Headers */,
   1.493 +				52ED1DCA222889500061FCE0 /* SDL_rect.h in Headers */,
   1.494 +				52ED1DCB222889500061FCE0 /* SDL_render.h in Headers */,
   1.495 +				52ED1DCC222889500061FCE0 /* SDL_revision.h in Headers */,
   1.496 +				52ED1DCD222889500061FCE0 /* SDL_rwops.h in Headers */,
   1.497 +				52ED1DCE222889500061FCE0 /* SDL_scancode.h in Headers */,
   1.498 +				52ED1DCF222889500061FCE0 /* SDL_shape.h in Headers */,
   1.499 +				52ED1DD0222889500061FCE0 /* SDL_stdinc.h in Headers */,
   1.500 +				52ED1DD1222889500061FCE0 /* SDL_sysjoystick_c.h in Headers */,
   1.501 +				52ED1DD2222889500061FCE0 /* SDL_surface.h in Headers */,
   1.502 +				52ED1DD3222889500061FCE0 /* SDL_system.h in Headers */,
   1.503 +				52ED1DD4222889500061FCE0 /* SDL_sensor.h in Headers */,
   1.504 +				52ED1DD5222889500061FCE0 /* SDL_syswm.h in Headers */,
   1.505 +				52ED1DD6222889500061FCE0 /* SDL_thread.h in Headers */,
   1.506 +				52ED1DD7222889500061FCE0 /* SDL_timer.h in Headers */,
   1.507 +				52ED1DD8222889500061FCE0 /* SDL_touch.h in Headers */,
   1.508 +				52ED1DD9222889500061FCE0 /* SDL_types.h in Headers */,
   1.509 +				52ED1DDA222889500061FCE0 /* SDL_version.h in Headers */,
   1.510 +				52ED1DDB222889500061FCE0 /* SDL_vulkan.h in Headers */,
   1.511 +				52ED1DDC222889500061FCE0 /* SDL_video.h in Headers */,
   1.512 +				52ED1DDD222889500061FCE0 /* SDL.h in Headers */,
   1.513 +				52ED1DDE222889500061FCE0 /* SDL_uikitvulkan.h in Headers */,
   1.514 +				52ED1DDF222889500061FCE0 /* SDL_uikitmodes.h in Headers */,
   1.515 +				52ED1DE0222889500061FCE0 /* SDL_dropevents_c.h in Headers */,
   1.516 +				52ED1DE1222889500061FCE0 /* SDL_messagebox.h in Headers */,
   1.517 +				52ED1DE2222889500061FCE0 /* SDL_uikitmessagebox.h in Headers */,
   1.518 +				52ED1DE3222889500061FCE0 /* SDL_gamecontroller.h in Headers */,
   1.519 +				52ED1DE4222889500061FCE0 /* SDL_dummysensor.h in Headers */,
   1.520 +				52ED1DE5222889500061FCE0 /* SDL_bits.h in Headers */,
   1.521 +				52ED1DE6222889500061FCE0 /* SDL_filesystem.h in Headers */,
   1.522 +			);
   1.523 +			runOnlyForDeploymentPostprocessing = 0;
   1.524 +		};
   1.525 +		F3E3C56122406928007D243C /* Headers */ = {
   1.526 +			isa = PBXHeadersBuildPhase;
   1.527 +			buildActionMask = 2147483647;
   1.528 +			files = (
   1.529 +			);
   1.530 +			runOnlyForDeploymentPostprocessing = 0;
   1.531 +		};
   1.532  		FD65265F0DE8FCCB002AD96B /* Headers */ = {
   1.533  			isa = PBXHeadersBuildPhase;
   1.534  			buildActionMask = 2147483647;
   1.535 @@ -1398,6 +1855,39 @@
   1.536  /* End PBXHeadersBuildPhase section */
   1.537  
   1.538  /* Begin PBXNativeTarget section */
   1.539 +		52ED1D6B222889500061FCE0 /* libSDL-iOS-dylib */ = {
   1.540 +			isa = PBXNativeTarget;
   1.541 +			buildConfigurationList = 52ED1E59222889500061FCE0 /* Build configuration list for PBXNativeTarget "libSDL-iOS-dylib" */;
   1.542 +			buildPhases = (
   1.543 +				52ED1D6C222889500061FCE0 /* Headers */,
   1.544 +				52ED1DE7222889500061FCE0 /* Sources */,
   1.545 +				52ED1E6922288B720061FCE0 /* Frameworks */,
   1.546 +			);
   1.547 +			buildRules = (
   1.548 +			);
   1.549 +			dependencies = (
   1.550 +			);
   1.551 +			name = "libSDL-iOS-dylib";
   1.552 +			productName = iPhoneSDLStaticLib;
   1.553 +			productReference = 52ED1E5C222889500061FCE0 /* libSDL2.dylib */;
   1.554 +			productType = "com.apple.product-type.library.static";
   1.555 +		};
   1.556 +		F3E3C56022406928007D243C /* libSDLmain-iOS */ = {
   1.557 +			isa = PBXNativeTarget;
   1.558 +			buildConfigurationList = F3E3C64F22406928007D243C /* Build configuration list for PBXNativeTarget "libSDLmain-iOS" */;
   1.559 +			buildPhases = (
   1.560 +				F3E3C56122406928007D243C /* Headers */,
   1.561 +				F3E3C5DC22406928007D243C /* Sources */,
   1.562 +			);
   1.563 +			buildRules = (
   1.564 +			);
   1.565 +			dependencies = (
   1.566 +			);
   1.567 +			name = "libSDLmain-iOS";
   1.568 +			productName = iPhoneSDLStaticLib;
   1.569 +			productReference = F3E3C65222406928007D243C /* libSDLmain.a */;
   1.570 +			productType = "com.apple.product-type.library.static";
   1.571 +		};
   1.572  		FAB598131BB5C1B100BE72C5 /* libSDL-tvOS */ = {
   1.573  			isa = PBXNativeTarget;
   1.574  			buildConfigurationList = FAB5981A1BB5C1B100BE72C5 /* Build configuration list for PBXNativeTarget "libSDL-tvOS" */;
   1.575 @@ -1464,7 +1954,9 @@
   1.576  			projectRoot = ../..;
   1.577  			targets = (
   1.578  				FD6526620DE8FCCB002AD96B /* libSDL-iOS */,
   1.579 +				52ED1D6B222889500061FCE0 /* libSDL-iOS-dylib */,
   1.580  				FAB598131BB5C1B100BE72C5 /* libSDL-tvOS */,
   1.581 +				F3E3C56022406928007D243C /* libSDLmain-iOS */,
   1.582  				00B4F48B12F6A69C0084EC00 /* PrepareXcodeProjectTemplate */,
   1.583  				C143576D1F4C4DAA000B792B /* All-iOS */,
   1.584  				C14357721F4C4F2A000B792B /* All-tvOS */,
   1.585 @@ -1520,6 +2012,135 @@
   1.586  /* End PBXShellScriptBuildPhase section */
   1.587  
   1.588  /* Begin PBXSourcesBuildPhase section */
   1.589 +		52ED1DE7222889500061FCE0 /* Sources */ = {
   1.590 +			isa = PBXSourcesBuildPhase;
   1.591 +			buildActionMask = 2147483647;
   1.592 +			files = (
   1.593 +				52ED1DE8222889500061FCE0 /* SDL_systimer.c in Sources */,
   1.594 +				52ED1DE9222889500061FCE0 /* SDL_timer.c in Sources */,
   1.595 +				52ED1DEA222889500061FCE0 /* SDL_coremotionsensor.m in Sources */,
   1.596 +				52ED1DEB222889500061FCE0 /* SDL_string.c in Sources */,
   1.597 +				52ED1DEC222889500061FCE0 /* SDL_dummyaudio.c in Sources */,
   1.598 +				52ED1DED222889500061FCE0 /* SDL_audio.c in Sources */,
   1.599 +				52ED1DEE222889500061FCE0 /* SDL_audiocvt.c in Sources */,
   1.600 +				52ED1DEF222889500061FCE0 /* SDL_audiotypecvt.c in Sources */,
   1.601 +				52ED1DF0222889500061FCE0 /* SDL_mixer.c in Sources */,
   1.602 +				52ED1DF1222889500061FCE0 /* SDL_wave.c in Sources */,
   1.603 +				52ED1DF2222889500061FCE0 /* SDL_uikitvulkan.m in Sources */,
   1.604 +				52ED1DF3222889500061FCE0 /* SDL_uikitclipboard.m in Sources */,
   1.605 +				52ED1DF4222889500061FCE0 /* SDL_cpuinfo.c in Sources */,
   1.606 +				52ED1DF5222889500061FCE0 /* SDL_events.c in Sources */,
   1.607 +				52ED1DF6222889500061FCE0 /* SDL_keyboard.c in Sources */,
   1.608 +				52ED1DF7222889500061FCE0 /* SDL_dynapi.c in Sources */,
   1.609 +				52ED1DF8222889500061FCE0 /* SDL_mouse.c in Sources */,
   1.610 +				52ED1DF9222889500061FCE0 /* SDL_quit.c in Sources */,
   1.611 +				52ED1DFA222889500061FCE0 /* SDL_windowevents.c in Sources */,
   1.612 +				52ED1DFB222889500061FCE0 /* SDL_uikitmetalview.m in Sources */,
   1.613 +				52ED1DFC222889500061FCE0 /* SDL_rwops.c in Sources */,
   1.614 +				52ED1DFD222889500061FCE0 /* hid.m in Sources */,
   1.615 +				52ED1DFE222889500061FCE0 /* SDL_vulkan_utils.c in Sources */,
   1.616 +				52ED1DFF222889500061FCE0 /* SDL_error.c in Sources */,
   1.617 +				52ED1E00222889500061FCE0 /* SDL.c in Sources */,
   1.618 +				52ED1E01222889500061FCE0 /* SDL_syscond.c in Sources */,
   1.619 +				52ED1E02222889500061FCE0 /* SDL_render_metal.m in Sources */,
   1.620 +				52ED1E03222889500061FCE0 /* SDL_sysmutex.c in Sources */,
   1.621 +				52ED1E04222889500061FCE0 /* SDL_syssem.c in Sources */,
   1.622 +				52ED1E05222889500061FCE0 /* SDL_systhread.c in Sources */,
   1.623 +				52ED1E06222889500061FCE0 /* SDL_thread.c in Sources */,
   1.624 +				52ED1E07222889500061FCE0 /* SDL_getenv.c in Sources */,
   1.625 +				52ED1E08222889500061FCE0 /* SDL_iconv.c in Sources */,
   1.626 +				52ED1E09222889500061FCE0 /* SDL_malloc.c in Sources */,
   1.627 +				52ED1E0A222889500061FCE0 /* SDL_hidapi_xbox360.c in Sources */,
   1.628 +				52ED1E0B222889500061FCE0 /* SDL_qsort.c in Sources */,
   1.629 +				52ED1E0C222889500061FCE0 /* SDL_hidapi_ps4.c in Sources */,
   1.630 +				52ED1E0D222889500061FCE0 /* SDL_stdlib.c in Sources */,
   1.631 +				52ED1E0E222889500061FCE0 /* SDL_blit.c in Sources */,
   1.632 +				52ED1E0F222889500061FCE0 /* SDL_blit_0.c in Sources */,
   1.633 +				52ED1E10222889500061FCE0 /* SDL_yuv.c in Sources */,
   1.634 +				52ED1E11222889500061FCE0 /* SDL_blit_1.c in Sources */,
   1.635 +				52ED1E12222889500061FCE0 /* SDL_dataqueue.c in Sources */,
   1.636 +				52ED1E13222889500061FCE0 /* SDL_blit_A.c in Sources */,
   1.637 +				52ED1E14222889500061FCE0 /* SDL_blit_auto.c in Sources */,
   1.638 +				52ED1E15222889500061FCE0 /* SDL_blit_copy.c in Sources */,
   1.639 +				52ED1E16222889500061FCE0 /* SDL_blit_N.c in Sources */,
   1.640 +				52ED1E17222889500061FCE0 /* SDL_blit_slow.c in Sources */,
   1.641 +				52ED1E18222889500061FCE0 /* SDL_bmp.c in Sources */,
   1.642 +				52ED1E19222889500061FCE0 /* SDL_pixels.c in Sources */,
   1.643 +				52ED1E1A222889500061FCE0 /* SDL_rect.c in Sources */,
   1.644 +				52ED1E1B222889500061FCE0 /* SDL_RLEaccel.c in Sources */,
   1.645 +				52ED1E1C222889500061FCE0 /* SDL_stretch.c in Sources */,
   1.646 +				52ED1E1D222889500061FCE0 /* SDL_egl.c in Sources */,
   1.647 +				52ED1E1E222889500061FCE0 /* SDL_surface.c in Sources */,
   1.648 +				52ED1E1F222889500061FCE0 /* SDL_video.c in Sources */,
   1.649 +				52ED1E20222889500061FCE0 /* SDL_nullevents.c in Sources */,
   1.650 +				52ED1E21222889500061FCE0 /* SDL_nullvideo.c in Sources */,
   1.651 +				52ED1E22222889500061FCE0 /* SDL_joystick.c in Sources */,
   1.652 +				52ED1E23222889500061FCE0 /* SDL_sysjoystick.m in Sources */,
   1.653 +				52ED1E24222889500061FCE0 /* SDL_uikitevents.m in Sources */,
   1.654 +				52ED1E25222889500061FCE0 /* yuv_rgb.c in Sources */,
   1.655 +				52ED1E26222889500061FCE0 /* SDL_uikitopengles.m in Sources */,
   1.656 +				F3E3C55F224065AE007D243C /* SDL_hidapi_gamecube.c in Sources */,
   1.657 +				52ED1E27222889500061FCE0 /* SDL_uikitvideo.m in Sources */,
   1.658 +				52ED1E28222889500061FCE0 /* SDL_uikitview.m in Sources */,
   1.659 +				52ED1E29222889500061FCE0 /* SDL_displayevents.c in Sources */,
   1.660 +				52ED1E2A222889500061FCE0 /* SDL_uikitwindow.m in Sources */,
   1.661 +				52ED1E2B222889500061FCE0 /* SDL_uikitopenglview.m in Sources */,
   1.662 +				52ED1E2C222889500061FCE0 /* SDL_uikitappdelegate.m in Sources */,
   1.663 +				52ED1E2D222889500061FCE0 /* SDL_sysloadso.c in Sources */,
   1.664 +				52ED1E2E222889500061FCE0 /* SDL_hidapijoystick.c in Sources */,
   1.665 +				52ED1E2F222889500061FCE0 /* SDL_syshaptic.c in Sources */,
   1.666 +				52ED1E30222889500061FCE0 /* SDL_haptic.c in Sources */,
   1.667 +				52ED1E31222889500061FCE0 /* SDL_sysloadso.c in Sources */,
   1.668 +				52ED1E32222889500061FCE0 /* SDL_fillrect.c in Sources */,
   1.669 +				52ED1E33222889500061FCE0 /* SDL_assert.c in Sources */,
   1.670 +				52ED1E34222889500061FCE0 /* SDL_hidapi_xboxone.c in Sources */,
   1.671 +				52ED1E35222889500061FCE0 /* SDL_power.c in Sources */,
   1.672 +				52ED1E36222889500061FCE0 /* SDL_syspower.m in Sources */,
   1.673 +				52ED1E37222889500061FCE0 /* SDL_rwopsbundlesupport.m in Sources */,
   1.674 +				52ED1E38222889500061FCE0 /* SDL_clipboard.c in Sources */,
   1.675 +				52ED1E39222889500061FCE0 /* SDL_clipboardevents.c in Sources */,
   1.676 +				52ED1E3A222889500061FCE0 /* SDL_gesture.c in Sources */,
   1.677 +				52ED1E3B222889500061FCE0 /* SDL_touch.c in Sources */,
   1.678 +				52ED1E3C222889500061FCE0 /* SDL_atomic.c in Sources */,
   1.679 +				52ED1E3D222889500061FCE0 /* SDL_spinlock.c in Sources */,
   1.680 +				52ED1E3E222889500061FCE0 /* SDL_render.c in Sources */,
   1.681 +				52ED1E3F222889500061FCE0 /* SDL_yuv_sw.c in Sources */,
   1.682 +				52ED1E40222889500061FCE0 /* SDL_blendfillrect.c in Sources */,
   1.683 +				52ED1E41222889500061FCE0 /* SDL_blendline.c in Sources */,
   1.684 +				52ED1E42222889500061FCE0 /* SDL_blendpoint.c in Sources */,
   1.685 +				52ED1E43222889500061FCE0 /* SDL_drawline.c in Sources */,
   1.686 +				52ED1E44222889500061FCE0 /* SDL_drawpoint.c in Sources */,
   1.687 +				52ED1E45222889500061FCE0 /* SDL_nullframebuffer.c in Sources */,
   1.688 +				52ED1E46222889500061FCE0 /* SDL_render_sw.c in Sources */,
   1.689 +				52ED1E47222889500061FCE0 /* SDL_render_gles.c in Sources */,
   1.690 +				52ED1E48222889500061FCE0 /* SDL_hints.c in Sources */,
   1.691 +				52ED1E49222889500061FCE0 /* SDL_shape.c in Sources */,
   1.692 +				52ED1E4A222889500061FCE0 /* SDL_render_gles2.c in Sources */,
   1.693 +				52ED1E4B222889500061FCE0 /* SDL_dummysensor.c in Sources */,
   1.694 +				52ED1E4C222889500061FCE0 /* SDL_shaders_gles2.c in Sources */,
   1.695 +				52ED1E4D222889500061FCE0 /* SDL_log.c in Sources */,
   1.696 +				52ED1E4E222889500061FCE0 /* SDL_coreaudio.m in Sources */,
   1.697 +				52ED1E4F222889500061FCE0 /* SDL_sensor.c in Sources */,
   1.698 +				52ED1E50222889500061FCE0 /* SDL_hidapi_switch.c in Sources */,
   1.699 +				52ED1E51222889500061FCE0 /* SDL_uikitviewcontroller.m in Sources */,
   1.700 +				52ED1E52222889500061FCE0 /* SDL_rotate.c in Sources */,
   1.701 +				52ED1E53222889500061FCE0 /* SDL_uikitmodes.m in Sources */,
   1.702 +				52ED1E54222889500061FCE0 /* SDL_dropevents.c in Sources */,
   1.703 +				52ED1E55222889500061FCE0 /* SDL_uikitmessagebox.m in Sources */,
   1.704 +				52ED1E56222889500061FCE0 /* SDL_gamecontroller.c in Sources */,
   1.705 +				52ED1E57222889500061FCE0 /* SDL_systls.c in Sources */,
   1.706 +				52ED1E58222889500061FCE0 /* SDL_sysfilesystem.m in Sources */,
   1.707 +			);
   1.708 +			runOnlyForDeploymentPostprocessing = 0;
   1.709 +		};
   1.710 +		F3E3C5DC22406928007D243C /* Sources */ = {
   1.711 +			isa = PBXSourcesBuildPhase;
   1.712 +			buildActionMask = 2147483647;
   1.713 +			files = (
   1.714 +				F3E3C658224069CE007D243C /* SDL_uikit_main.c in Sources */,
   1.715 +			);
   1.716 +			runOnlyForDeploymentPostprocessing = 0;
   1.717 +		};
   1.718  		FAB598101BB5C1B100BE72C5 /* Sources */ = {
   1.719  			isa = PBXSourcesBuildPhase;
   1.720  			buildActionMask = 2147483647;
   1.721 @@ -1783,6 +2404,50 @@
   1.722  			};
   1.723  			name = Release;
   1.724  		};
   1.725 +		52ED1E5A222889500061FCE0 /* Debug */ = {
   1.726 +			isa = XCBuildConfiguration;
   1.727 +			buildSettings = {
   1.728 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.729 +				CLANG_ENABLE_OBJC_ARC = YES;
   1.730 +				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   1.731 +				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
   1.732 +				COPY_PHASE_STRIP = NO;
   1.733 +				EXECUTABLE_EXTENSION = dylib;
   1.734 +				GCC_PREPROCESSOR_DEFINITIONS = "IOS_DYLIB=1";
   1.735 +				GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;
   1.736 +				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
   1.737 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   1.738 +				HEADER_SEARCH_PATHS = "$(VULKAN_SDK)/include";
   1.739 +				LD_DYLIB_INSTALL_NAME = "@rpath/libSDL2.dylib";
   1.740 +				MACH_O_TYPE = mh_dylib;
   1.741 +				PRODUCT_MODULE_NAME = SDL2;
   1.742 +				PRODUCT_NAME = SDL2;
   1.743 +				SKIP_INSTALL = YES;
   1.744 +			};
   1.745 +			name = Debug;
   1.746 +		};
   1.747 +		52ED1E5B222889500061FCE0 /* Release */ = {
   1.748 +			isa = XCBuildConfiguration;
   1.749 +			buildSettings = {
   1.750 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.751 +				CLANG_ENABLE_OBJC_ARC = YES;
   1.752 +				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   1.753 +				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
   1.754 +				COPY_PHASE_STRIP = YES;
   1.755 +				EXECUTABLE_EXTENSION = dylib;
   1.756 +				GCC_PREPROCESSOR_DEFINITIONS = "IOS_DYLIB=1";
   1.757 +				GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;
   1.758 +				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
   1.759 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   1.760 +				HEADER_SEARCH_PATHS = "$(VULKAN_SDK)/include";
   1.761 +				LD_DYLIB_INSTALL_NAME = "@rpath/libSDL2.dylib";
   1.762 +				MACH_O_TYPE = mh_dylib;
   1.763 +				PRODUCT_MODULE_NAME = SDL2;
   1.764 +				PRODUCT_NAME = SDL2;
   1.765 +				SKIP_INSTALL = YES;
   1.766 +			};
   1.767 +			name = Release;
   1.768 +		};
   1.769  		C01FCF4F08A954540054247B /* Debug */ = {
   1.770  			isa = XCBuildConfiguration;
   1.771  			buildSettings = {
   1.772 @@ -1890,6 +2555,40 @@
   1.773  			};
   1.774  			name = Release;
   1.775  		};
   1.776 +		F3E3C65022406928007D243C /* Debug */ = {
   1.777 +			isa = XCBuildConfiguration;
   1.778 +			buildSettings = {
   1.779 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.780 +				CLANG_ENABLE_OBJC_ARC = YES;
   1.781 +				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   1.782 +				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
   1.783 +				COPY_PHASE_STRIP = NO;
   1.784 +				GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;
   1.785 +				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
   1.786 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   1.787 +				HEADER_SEARCH_PATHS = "$(VULKAN_SDK)/include";
   1.788 +				PRODUCT_NAME = SDLmain;
   1.789 +				SKIP_INSTALL = YES;
   1.790 +			};
   1.791 +			name = Debug;
   1.792 +		};
   1.793 +		F3E3C65122406928007D243C /* Release */ = {
   1.794 +			isa = XCBuildConfiguration;
   1.795 +			buildSettings = {
   1.796 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.797 +				CLANG_ENABLE_OBJC_ARC = YES;
   1.798 +				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   1.799 +				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
   1.800 +				COPY_PHASE_STRIP = YES;
   1.801 +				GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;
   1.802 +				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
   1.803 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   1.804 +				HEADER_SEARCH_PATHS = "$(VULKAN_SDK)/include";
   1.805 +				PRODUCT_NAME = SDLmain;
   1.806 +				SKIP_INSTALL = YES;
   1.807 +			};
   1.808 +			name = Release;
   1.809 +		};
   1.810  		FAB5981B1BB5C1B100BE72C5 /* Debug */ = {
   1.811  			isa = XCBuildConfiguration;
   1.812  			buildSettings = {
   1.813 @@ -2022,6 +2721,15 @@
   1.814  			defaultConfigurationIsVisible = 0;
   1.815  			defaultConfigurationName = Release;
   1.816  		};
   1.817 +		52ED1E59222889500061FCE0 /* Build configuration list for PBXNativeTarget "libSDL-iOS-dylib" */ = {
   1.818 +			isa = XCConfigurationList;
   1.819 +			buildConfigurations = (
   1.820 +				52ED1E5A222889500061FCE0 /* Debug */,
   1.821 +				52ED1E5B222889500061FCE0 /* Release */,
   1.822 +			);
   1.823 +			defaultConfigurationIsVisible = 0;
   1.824 +			defaultConfigurationName = Release;
   1.825 +		};
   1.826  		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDL" */ = {
   1.827  			isa = XCConfigurationList;
   1.828  			buildConfigurations = (
   1.829 @@ -2049,6 +2757,15 @@
   1.830  			defaultConfigurationIsVisible = 0;
   1.831  			defaultConfigurationName = Release;
   1.832  		};
   1.833 +		F3E3C64F22406928007D243C /* Build configuration list for PBXNativeTarget "libSDLmain-iOS" */ = {
   1.834 +			isa = XCConfigurationList;
   1.835 +			buildConfigurations = (
   1.836 +				F3E3C65022406928007D243C /* Debug */,
   1.837 +				F3E3C65122406928007D243C /* Release */,
   1.838 +			);
   1.839 +			defaultConfigurationIsVisible = 0;
   1.840 +			defaultConfigurationName = Release;
   1.841 +		};
   1.842  		FAB5981A1BB5C1B100BE72C5 /* Build configuration list for PBXNativeTarget "libSDL-tvOS" */ = {
   1.843  			isa = XCConfigurationList;
   1.844  			buildConfigurations = (
     2.1 --- a/include/SDL_main.h	Sun Mar 17 12:45:19 2019 -0400
     2.2 +++ b/include/SDL_main.h	Tue Mar 19 07:53:33 2019 -0700
     2.3 @@ -55,6 +55,10 @@
     2.4  /* On iOS SDL provides a main function that creates an application delegate
     2.5     and starts the iOS application run loop.
     2.6  
     2.7 +   If you link with SDL dynamically on iOS, the main function can't be in a
     2.8 +   shared library, so you need to link with libSDLmain.a, which includes a
     2.9 +   stub main function that calls into the shared library to start execution.
    2.10 +
    2.11     See src/video/uikit/SDL_uikitappdelegate.m for more details.
    2.12   */
    2.13  #define SDL_MAIN_NEEDED
    2.14 @@ -114,6 +118,7 @@
    2.15  /**
    2.16   *  The prototype for the application's main() function
    2.17   */
    2.18 +typedef C_LINKAGE SDLMAIN_DECLSPEC int (*SDL_main_func)(int argc, char *argv[]);
    2.19  extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
    2.20  
    2.21  
    2.22 @@ -136,8 +141,7 @@
    2.23  /**
    2.24   *  This can be called to set the application class at startup
    2.25   */
    2.26 -extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
    2.27 -                                            void *hInst);
    2.28 +extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
    2.29  extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
    2.30  
    2.31  #endif /* __WIN32__ */
    2.32 @@ -153,10 +157,24 @@
    2.33   *  \return 0 on success, -1 on failure.  On failure, use SDL_GetError to retrieve more
    2.34   *      information on the failure.
    2.35   */
    2.36 -extern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);
    2.37 +extern DECLSPEC int SDLCALL SDL_WinRTRunApp(SDL_main_func mainFunction, void * reserved);
    2.38  
    2.39  #endif /* __WINRT__ */
    2.40  
    2.41 +#if defined(__IPHONEOS__)
    2.42 +
    2.43 +/**
    2.44 + *  \brief Initializes and launches an SDL application.
    2.45 + *
    2.46 + *  \param argc The argc parameter from the application's main() function
    2.47 + *  \param argv The argv parameter from the application's main() function
    2.48 + *  \param mainFunction The SDL app's C-style main().
    2.49 + *  \return the return value from mainFunction
    2.50 + */
    2.51 +extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction);
    2.52 +
    2.53 +#endif /* __IPHONEOS__ */
    2.54 +
    2.55  
    2.56  #ifdef __cplusplus
    2.57  }
     3.1 --- a/src/core/winrt/SDL_winrtapp_common.cpp	Sun Mar 17 12:45:19 2019 -0400
     3.2 +++ b/src/core/winrt/SDL_winrtapp_common.cpp	Tue Mar 19 07:53:33 2019 -0700
     3.3 @@ -29,7 +29,7 @@
     3.4  int (*WINRT_SDLAppEntryPoint)(int, char **) = NULL;
     3.5  
     3.6  extern "C" DECLSPEC int
     3.7 -SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * xamlBackgroundPanel)
     3.8 +SDL_WinRTRunApp(SDL_main_func mainFunction, void * xamlBackgroundPanel)
     3.9  {
    3.10      if (xamlBackgroundPanel) {
    3.11          return SDL_WinRTInitXAMLApp(mainFunction, xamlBackgroundPanel);
    3.12 @@ -63,4 +63,4 @@
    3.13  #endif
    3.14  
    3.15      return SDL_WINRT_DEVICEFAMILY_UNKNOWN;
    3.16 -}
    3.17 \ No newline at end of file
    3.18 +}
     4.1 --- a/src/dynapi/SDL_dynapi_overrides.h	Sun Mar 17 12:45:19 2019 -0400
     4.2 +++ b/src/dynapi/SDL_dynapi_overrides.h	Tue Mar 19 07:53:33 2019 -0700
     4.3 @@ -713,3 +713,4 @@
     4.4  #define SDL_RenderCopyF SDL_RenderCopyF_REAL
     4.5  #define SDL_RenderCopyExF SDL_RenderCopyExF_REAL
     4.6  #define SDL_GetTouchDeviceType SDL_GetTouchDeviceType_REAL
     4.7 +#define SDL_UIKitRunApp SDL_UIKitRunApp_REAL
     5.1 --- a/src/dynapi/SDL_dynapi_procs.h	Sun Mar 17 12:45:19 2019 -0400
     5.2 +++ b/src/dynapi/SDL_dynapi_procs.h	Tue Mar 19 07:53:33 2019 -0700
     5.3 @@ -767,3 +767,6 @@
     5.4  SDL_DYNAPI_PROC(int,SDL_RenderCopyF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d),(a,b,c,d),return)
     5.5  SDL_DYNAPI_PROC(int,SDL_RenderCopyExF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d, const double e, const SDL_FPoint *f, const SDL_RendererFlip g),(a,b,c,d,e,f,g),return)
     5.6  SDL_DYNAPI_PROC(SDL_TouchDeviceType,SDL_GetTouchDeviceType,(SDL_TouchID a),(a),return)
     5.7 +#ifdef __IPHONEOS__
     5.8 +SDL_DYNAPI_PROC(int,SDL_UIKitRunApp,(int a, char *b, SDL_main_func c),(a,b,c),return)
     5.9 +#endif
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/src/main/uikit/SDL_uikit_main.c	Tue Mar 19 07:53:33 2019 -0700
     6.3 @@ -0,0 +1,19 @@
     6.4 +/*
     6.5 +    SDL_uiki_main.c, placed in the public domain by Sam Lantinga  3/18/2019
     6.6 +*/
     6.7 +#include "../../SDL_internal.h"
     6.8 +
     6.9 +/* Include the SDL main definition header */
    6.10 +#include "SDL_main.h"
    6.11 +
    6.12 +#ifdef main
    6.13 +#undef main
    6.14 +#endif
    6.15 +
    6.16 +int
    6.17 +main(int argc, char *argv[])
    6.18 +{
    6.19 +    return SDL_UIKitRunApp(argc, argv, SDL_main);
    6.20 +}
    6.21 +
    6.22 +/* vi: set ts=4 sw=4 expandtab: */
     7.1 --- a/src/video/uikit/SDL_uikitappdelegate.m	Sun Mar 17 12:45:19 2019 -0400
     7.2 +++ b/src/video/uikit/SDL_uikitappdelegate.m	Tue Mar 19 07:53:33 2019 -0700
     7.3 @@ -38,15 +38,25 @@
     7.4  #undef main
     7.5  #endif
     7.6  
     7.7 +static SDL_main_func forward_main;
     7.8  static int forward_argc;
     7.9  static char **forward_argv;
    7.10  static int exit_status;
    7.11  
    7.12 -int main(int argc, char **argv)
    7.13 +#if defined(SDL_MAIN_NEEDED) && !defined(IOS_DYLIB)
    7.14 +/* SDL is being built as a static library, include main() */
    7.15 +int main(int argc, char *argv[])
    7.16 +{
    7.17 +	return SDL_UIKitRunApp(argc, argv, SDL_main);
    7.18 +}
    7.19 +#endif /* SDL_MAIN_NEEDED && !IOS_DYLIB */
    7.20 +
    7.21 +int SDL_UIKitRunApp(int argc, char *argv[], SDL_main_func mainFunction)
    7.22  {
    7.23      int i;
    7.24  
    7.25      /* store arguments */
    7.26 +	forward_main = mainFunction;
    7.27      forward_argc = argc;
    7.28      forward_argv = (char **)malloc((argc+1) * sizeof(char *));
    7.29      for (i = 0; i < argc; i++) {
    7.30 @@ -344,7 +354,7 @@
    7.31  
    7.32      /* run the user's application, passing argc and argv */
    7.33      SDL_iPhoneSetEventPump(SDL_TRUE);
    7.34 -    exit_status = SDL_main(forward_argc, forward_argv);
    7.35 +    exit_status = forward_main(forward_argc, forward_argv);
    7.36      SDL_iPhoneSetEventPump(SDL_FALSE);
    7.37  
    7.38      if (launchWindow) {