SDL_ttf: You can't use the same TBD framework for macOS and iOS

From 504e287c636e92e795907244d8ac2f427c6cec4b Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Thu, 30 Jan 2025 21:18:27 -0800
Subject: [PATCH] You can't use the same TBD framework for macOS and iOS

They have different paths inside the framework and there doesn't seem to be a way to make that conditional on platform.
---
 Xcode/SDL_ttf.xcodeproj/project.pbxproj       |    14 +-
 Xcode/{ => iOS}/SDL3.framework/Headers        |     0
 Xcode/{ => iOS}/SDL3.framework/Resources      |     0
 Xcode/{ => iOS}/SDL3.framework/SDL3.tbd       |     0
 .../SDL3.framework/Versions/A/Headers/SDL.h   |     0
 .../Versions/A/Headers/SDL_assert.h           |     0
 .../Versions/A/Headers/SDL_asyncio.h          |     0
 .../Versions/A/Headers/SDL_atomic.h           |     0
 .../Versions/A/Headers/SDL_audio.h            |     0
 .../Versions/A/Headers/SDL_begin_code.h       |     0
 .../Versions/A/Headers/SDL_bits.h             |     0
 .../Versions/A/Headers/SDL_blendmode.h        |     0
 .../Versions/A/Headers/SDL_camera.h           |     0
 .../Versions/A/Headers/SDL_clipboard.h        |     0
 .../Versions/A/Headers/SDL_close_code.h       |     0
 .../Versions/A/Headers/SDL_copying.h          |     0
 .../Versions/A/Headers/SDL_cpuinfo.h          |     0
 .../Versions/A/Headers/SDL_dialog.h           |     0
 .../Versions/A/Headers/SDL_egl.h              |     0
 .../Versions/A/Headers/SDL_endian.h           |     0
 .../Versions/A/Headers/SDL_error.h            |     0
 .../Versions/A/Headers/SDL_events.h           |     0
 .../Versions/A/Headers/SDL_filesystem.h       |     0
 .../Versions/A/Headers/SDL_gamepad.h          |     0
 .../Versions/A/Headers/SDL_gpu.h              |     0
 .../Versions/A/Headers/SDL_guid.h             |     0
 .../Versions/A/Headers/SDL_haptic.h           |     0
 .../Versions/A/Headers/SDL_hidapi.h           |     0
 .../Versions/A/Headers/SDL_hints.h            |     0
 .../Versions/A/Headers/SDL_init.h             |     0
 .../Versions/A/Headers/SDL_intrin.h           |     0
 .../Versions/A/Headers/SDL_iostream.h         |     0
 .../Versions/A/Headers/SDL_joystick.h         |     0
 .../Versions/A/Headers/SDL_keyboard.h         |     0
 .../Versions/A/Headers/SDL_keycode.h          |     0
 .../Versions/A/Headers/SDL_loadso.h           |     0
 .../Versions/A/Headers/SDL_locale.h           |     0
 .../Versions/A/Headers/SDL_log.h              |     0
 .../Versions/A/Headers/SDL_main.h             |     0
 .../Versions/A/Headers/SDL_main_impl.h        |     0
 .../Versions/A/Headers/SDL_messagebox.h       |     0
 .../Versions/A/Headers/SDL_metal.h            |     0
 .../Versions/A/Headers/SDL_misc.h             |     0
 .../Versions/A/Headers/SDL_mouse.h            |     0
 .../Versions/A/Headers/SDL_mutex.h            |     0
 .../Versions/A/Headers/SDL_oldnames.h         |     0
 .../Versions/A/Headers/SDL_opengl.h           |     0
 .../Versions/A/Headers/SDL_opengl_glext.h     |     0
 .../Versions/A/Headers/SDL_opengles.h         |     0
 .../Versions/A/Headers/SDL_opengles2.h        |     0
 .../Versions/A/Headers/SDL_opengles2_gl2.h    |     0
 .../Versions/A/Headers/SDL_opengles2_gl2ext.h |     0
 .../A/Headers/SDL_opengles2_gl2platform.h     |     0
 .../A/Headers/SDL_opengles2_khrplatform.h     |     0
 .../Versions/A/Headers/SDL_pen.h              |     0
 .../Versions/A/Headers/SDL_pixels.h           |     0
 .../Versions/A/Headers/SDL_platform.h         |     0
 .../Versions/A/Headers/SDL_platform_defines.h |     0
 .../Versions/A/Headers/SDL_power.h            |     0
 .../Versions/A/Headers/SDL_process.h          |     0
 .../Versions/A/Headers/SDL_properties.h       |     0
 .../Versions/A/Headers/SDL_rect.h             |     0
 .../Versions/A/Headers/SDL_render.h           |     0
 .../Versions/A/Headers/SDL_revision.h         |     0
 .../Versions/A/Headers/SDL_scancode.h         |     0
 .../Versions/A/Headers/SDL_sensor.h           |     0
 .../Versions/A/Headers/SDL_stdinc.h           |     0
 .../Versions/A/Headers/SDL_storage.h          |     0
 .../Versions/A/Headers/SDL_surface.h          |     0
 .../Versions/A/Headers/SDL_system.h           |     0
 .../Versions/A/Headers/SDL_thread.h           |     0
 .../Versions/A/Headers/SDL_time.h             |     0
 .../Versions/A/Headers/SDL_timer.h            |     0
 .../Versions/A/Headers/SDL_touch.h            |     0
 .../Versions/A/Headers/SDL_tray.h             |     0
 .../Versions/A/Headers/SDL_version.h          |     0
 .../Versions/A/Headers/SDL_video.h            |     0
 .../Versions/A/Headers/SDL_vulkan.h           |     0
 .../Versions/A/Resources/Info.plist           |     0
 .../Versions/A/Resources/LICENSE.txt          |     0
 .../Versions/A/Resources/README.md            |     0
 .../SDL3.framework/Versions/A/SDL3.tbd        |    14 +-
 .../{ => iOS}/SDL3.framework/Versions/Current |     0
 Xcode/iOS/build-scripts/iosbuild.sh           |   186 -
 Xcode/macOS/SDL3.framework/Headers            |     1 +
 Xcode/macOS/SDL3.framework/Resources          |     1 +
 Xcode/macOS/SDL3.framework/SDL3.tbd           |     1 +
 .../SDL3.framework/Versions/A/Headers/SDL.h   |    90 +
 .../Versions/A/Headers/SDL_assert.h           |   660 +
 .../Versions/A/Headers/SDL_asyncio.h          |   546 +
 .../Versions/A/Headers/SDL_atomic.h           |   664 +
 .../Versions/A/Headers/SDL_audio.h            |  2197 +++
 .../Versions/A/Headers/SDL_begin_code.h       |   486 +
 .../Versions/A/Headers/SDL_bits.h             |   147 +
 .../Versions/A/Headers/SDL_blendmode.h        |   202 +
 .../Versions/A/Headers/SDL_camera.h           |   519 +
 .../Versions/A/Headers/SDL_clipboard.h        |   331 +
 .../Versions/A/Headers/SDL_close_code.h       |    41 +
 .../Versions/A/Headers/SDL_copying.h          |    22 +
 .../Versions/A/Headers/SDL_cpuinfo.h          |   353 +
 .../Versions/A/Headers/SDL_dialog.h           |   341 +
 .../Versions/A/Headers/SDL_egl.h              |  2355 +++
 .../Versions/A/Headers/SDL_endian.h           |   645 +
 .../Versions/A/Headers/SDL_error.h            |   226 +
 .../Versions/A/Headers/SDL_events.h           |  1574 ++
 .../Versions/A/Headers/SDL_filesystem.h       |   503 +
 .../Versions/A/Headers/SDL_gamepad.h          |  1509 ++
 .../Versions/A/Headers/SDL_gpu.h              |  4122 +++++
 .../Versions/A/Headers/SDL_guid.h             |   102 +
 .../Versions/A/Headers/SDL_haptic.h           |  1441 ++
 .../Versions/A/Headers/SDL_hidapi.h           |   552 +
 .../Versions/A/Headers/SDL_hints.h            |  4448 ++++++
 .../Versions/A/Headers/SDL_init.h             |   497 +
 .../Versions/A/Headers/SDL_intrin.h           |   407 +
 .../Versions/A/Headers/SDL_iostream.h         |  1354 ++
 .../Versions/A/Headers/SDL_joystick.h         |  1202 ++
 .../Versions/A/Headers/SDL_keyboard.h         |   609 +
 .../Versions/A/Headers/SDL_keycode.h          |   343 +
 .../Versions/A/Headers/SDL_loadso.h           |   145 +
 .../Versions/A/Headers/SDL_locale.h           |   117 +
 .../Versions/A/Headers/SDL_log.h              |   529 +
 .../Versions/A/Headers/SDL_main.h             |   672 +
 .../Versions/A/Headers/SDL_main_impl.h        |   151 +
 .../Versions/A/Headers/SDL_messagebox.h       |   226 +
 .../Versions/A/Headers/SDL_metal.h            |   107 +
 .../Versions/A/Headers/SDL_misc.h             |    78 +
 .../Versions/A/Headers/SDL_mouse.h            |   689 +
 .../Versions/A/Headers/SDL_mutex.h            |  1073 ++
 .../Versions/A/Headers/SDL_oldnames.h         |  1327 ++
 .../Versions/A/Headers/SDL_opengl.h           |  3101 ++++
 .../Versions/A/Headers/SDL_opengl_glext.h     | 13213 ++++++++++++++++
 .../Versions/A/Headers/SDL_opengles.h         |    38 +
 .../Versions/A/Headers/SDL_opengles2.h        |    51 +
 .../Versions/A/Headers/SDL_opengles2_gl2.h    |   656 +
 .../Versions/A/Headers/SDL_opengles2_gl2ext.h |  4033 +++++
 .../A/Headers/SDL_opengles2_gl2platform.h     |    27 +
 .../A/Headers/SDL_opengles2_khrplatform.h     |   311 +
 .../Versions/A/Headers/SDL_pen.h              |   127 +
 .../Versions/A/Headers/SDL_pixels.h           |  1438 ++
 .../Versions/A/Headers/SDL_platform.h         |    64 +
 .../Versions/A/Headers/SDL_platform_defines.h |   478 +
 .../Versions/A/Headers/SDL_power.h            |   102 +
 .../Versions/A/Headers/SDL_process.h          |   430 +
 .../Versions/A/Headers/SDL_properties.h       |   543 +
 .../Versions/A/Headers/SDL_rect.h             |   507 +
 .../Versions/A/Headers/SDL_render.h           |  2587 +++
 .../Versions/A/Headers/SDL_revision.h         |    56 +
 .../Versions/A/Headers/SDL_scancode.h         |   429 +
 .../Versions/A/Headers/SDL_sensor.h           |   320 +
 .../Versions/A/Headers/SDL_stdinc.h           |  6122 +++++++
 .../Versions/A/Headers/SDL_storage.h          |   681 +
 .../Versions/A/Headers/SDL_surface.h          |  1430 ++
 .../Versions/A/Headers/SDL_system.h           |   818 +
 .../Versions/A/Headers/SDL_thread.h           |   578 +
 .../Versions/A/Headers/SDL_time.h             |   231 +
 .../Versions/A/Headers/SDL_timer.h            |   450 +
 .../Versions/A/Headers/SDL_touch.h            |   184 +
 .../Versions/A/Headers/SDL_tray.h             |   544 +
 .../Versions/A/Headers/SDL_version.h          |   183 +
 .../Versions/A/Headers/SDL_video.h            |  3286 ++++
 .../Versions/A/Headers/SDL_vulkan.h           |   287 +
 .../Versions/A/Resources/Info.plist           |    28 +
 .../Versions/A/Resources/LICENSE.txt          |    18 +
 .../Versions/A/Resources/README.md            |    17 +
 .../macOS/SDL3.framework/Versions/A/SDL3.tbd  |  1276 ++
 Xcode/macOS/SDL3.framework/Versions/Current   |     1 +
 Xcode/tvOS/build-scripts/tvosbuild.sh         |   128 -
 167 files changed, 78263 insertions(+), 329 deletions(-)
 rename Xcode/{ => iOS}/SDL3.framework/Headers (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Resources (100%)
 rename Xcode/{ => iOS}/SDL3.framework/SDL3.tbd (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_assert.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_asyncio.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_atomic.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_audio.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_begin_code.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_bits.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_blendmode.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_camera.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_clipboard.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_close_code.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_copying.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_dialog.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_egl.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_endian.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_error.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_events.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_filesystem.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_gamepad.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_gpu.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_guid.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_haptic.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_hidapi.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_hints.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_init.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_intrin.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_iostream.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_joystick.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_keyboard.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_keycode.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_loadso.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_locale.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_log.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_main.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_main_impl.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_messagebox.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_metal.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_misc.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_mouse.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_mutex.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_oldnames.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengl.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengl_glext.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles2.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2ext.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2platform.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_opengles2_khrplatform.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_pen.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_pixels.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_platform.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_platform_defines.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_power.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_process.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_properties.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_rect.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_render.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_revision.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_scancode.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_sensor.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_stdinc.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_storage.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_surface.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_system.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_thread.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_time.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_timer.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_touch.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_tray.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_version.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_video.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Headers/SDL_vulkan.h (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Resources/Info.plist (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Resources/LICENSE.txt (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/Resources/README.md (100%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/A/SDL3.tbd (99%)
 rename Xcode/{ => iOS}/SDL3.framework/Versions/Current (100%)
 delete mode 100755 Xcode/iOS/build-scripts/iosbuild.sh
 create mode 120000 Xcode/macOS/SDL3.framework/Headers
 create mode 120000 Xcode/macOS/SDL3.framework/Resources
 create mode 120000 Xcode/macOS/SDL3.framework/SDL3.tbd
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_assert.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_asyncio.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_atomic.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_audio.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_begin_code.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_bits.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_blendmode.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_camera.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_clipboard.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_close_code.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_copying.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_dialog.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_egl.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_endian.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_error.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_events.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_filesystem.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_gamepad.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_gpu.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_guid.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_haptic.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_hidapi.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_hints.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_init.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_intrin.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_iostream.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_joystick.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_keyboard.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_keycode.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_loadso.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_locale.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_log.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_main.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_main_impl.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_messagebox.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_metal.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_misc.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_mouse.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_mutex.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_oldnames.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengl.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengl_glext.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles2.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2ext.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles2_gl2platform.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_opengles2_khrplatform.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_pen.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_pixels.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_platform.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_platform_defines.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_power.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_process.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_properties.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_rect.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_render.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_revision.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_scancode.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_sensor.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_stdinc.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_storage.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_surface.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_system.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_thread.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_time.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_timer.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_touch.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_tray.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_version.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_video.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Headers/SDL_vulkan.h
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Resources/Info.plist
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Resources/LICENSE.txt
 create mode 100644 Xcode/macOS/SDL3.framework/Versions/A/Resources/README.md
 create mode 100755 Xcode/macOS/SDL3.framework/Versions/A/SDL3.tbd
 create mode 120000 Xcode/macOS/SDL3.framework/Versions/Current
 delete mode 100755 Xcode/tvOS/build-scripts/tvosbuild.sh

diff --git a/Xcode/SDL_ttf.xcodeproj/project.pbxproj b/Xcode/SDL_ttf.xcodeproj/project.pbxproj
index b168f1cf..df9f26f2 100644
--- a/Xcode/SDL_ttf.xcodeproj/project.pbxproj
+++ b/Xcode/SDL_ttf.xcodeproj/project.pbxproj
@@ -66,7 +66,7 @@
 		F34125C72D491AA800D6C2B7 /* SDL_hashtable_ttf.h in Headers */ = {isa = PBXBuildFile; fileRef = F34125C52D491AA800D6C2B7 /* SDL_hashtable_ttf.h */; };
 		F34125C82D491AA800D6C2B7 /* SDL_hashtable_ttf.c in Sources */ = {isa = PBXBuildFile; fileRef = F34125C62D491AA800D6C2B7 /* SDL_hashtable_ttf.c */; };
 		F34126662D4B05F800D6C2B7 /* harfbuzz.cc in Sources */ = {isa = PBXBuildFile; fileRef = F34126652D4B05F800D6C2B7 /* harfbuzz.cc */; };
-		F34400402D4033CE003F26D7 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F344003F2D4033CE003F26D7 /* SDL3.framework */; };
+		F3412A342D4C8DBF00D6C2B7 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3412A332D4C8DBF00D6C2B7 /* SDL3.framework */; };
 		F344FFBF2D3EB53C003F26D7 /* SDL_gpu_textengine.c in Sources */ = {isa = PBXBuildFile; fileRef = F344FFBE2D3EB53C003F26D7 /* SDL_gpu_textengine.c */; };
 		F3696FE4278F7107003A7F94 /* sdf.c in Sources */ = {isa = PBXBuildFile; fileRef = F3696FE3278F7107003A7F94 /* sdf.c */; };
 		F384BB6C261EC0760028A248 /* autofit.c in Sources */ = {isa = PBXBuildFile; fileRef = F384BB6B261EC0760028A248 /* autofit.c */; };
@@ -162,7 +162,7 @@
 		F34125C52D491AA800D6C2B7 /* SDL_hashtable_ttf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_hashtable_ttf.h; sourceTree = "<group>"; };
 		F34125C62D491AA800D6C2B7 /* SDL_hashtable_ttf.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hashtable_ttf.c; sourceTree = "<group>"; };
 		F34126652D4B05F800D6C2B7 /* harfbuzz.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = harfbuzz.cc; path = ../external/harfbuzz/src/harfbuzz.cc; sourceTree = "<group>"; };
-		F344003F2D4033CE003F26D7 /* SDL3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL3.framework; sourceTree = "<group>"; };
+		F3412A332D4C8DBF00D6C2B7 /* SDL3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL3.framework; path = macOS/SDL3.framework; sourceTree = "<group>"; };
 		F344FFBE2D3EB53C003F26D7 /* SDL_gpu_textengine.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_gpu_textengine.c; sourceTree = "<group>"; };
 		F3696FE3278F7107003A7F94 /* sdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sdf.c; path = ../external/freetype/src/sdf/sdf.c; sourceTree = "<group>"; };
 		F384BB6B261EC0760028A248 /* autofit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = autofit.c; path = ../external/freetype/src/autofit/autofit.c; sourceTree = "<group>"; };
@@ -220,7 +220,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				F34400402D4033CE003F26D7 /* SDL3.framework in Frameworks */,
+				F3412A342D4C8DBF00D6C2B7 /* SDL3.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -290,7 +290,7 @@
 		BE48FD8107AFA26B00BB41DA /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				F344003F2D4033CE003F26D7 /* SDL3.framework */,
+				F3412A332D4C8DBF00D6C2B7 /* SDL3.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -672,6 +672,9 @@
 				DYLIB_CURRENT_VERSION = 101.0.0;
 				DYLIB_INSTALL_NAME_BASE = "@rpath";
 				ENABLE_TESTABILITY = YES;
+				"FRAMEWORK_SEARCH_PATHS[sdk=appletv*]" = "\"$(PROJECT_DIR)/iOS\"";
+				"FRAMEWORK_SEARCH_PATHS[sdk=iphone*]" = "\"$(PROJECT_DIR)/iOS\"";
+				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = "\"$(PROJECT_DIR)/macOS\"";
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					FT2_BUILD_LIBRARY,
@@ -724,6 +727,9 @@
 				DYLIB_COMPATIBILITY_VERSION = 101.0.0;
 				DYLIB_CURRENT_VERSION = 101.0.0;
 				DYLIB_INSTALL_NAME_BASE = "@rpath";
+				"FRAMEWORK_SEARCH_PATHS[sdk=appletv*]" = "\"$(PROJECT_DIR)/iOS\"";
+				"FRAMEWORK_SEARCH_PATHS[sdk=iphone*]" = "\"$(PROJECT_DIR)/iOS\"";
+				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = "\"$(PROJECT_DIR)/macOS\"";
 				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					FT2_BUILD_LIBRARY,
diff --git a/Xcode/SDL3.framework/Headers b/Xcode/iOS/SDL3.framework/Headers
similarity index 100%
rename from Xcode/SDL3.framework/Headers
rename to Xcode/iOS/SDL3.framework/Headers
diff --git a/Xcode/SDL3.framework/Resources b/Xcode/iOS/SDL3.framework/Resources
similarity index 100%
rename from Xcode/SDL3.framework/Resources
rename to Xcode/iOS/SDL3.framework/Resources
diff --git a/Xcode/SDL3.framework/SDL3.tbd b/Xcode/iOS/SDL3.framework/SDL3.tbd
similarity index 100%
rename from Xcode/SDL3.framework/SDL3.tbd
rename to Xcode/iOS/SDL3.framework/SDL3.tbd
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_assert.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_assert.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_assert.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_assert.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_asyncio.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_asyncio.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_asyncio.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_asyncio.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_atomic.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_atomic.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_atomic.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_atomic.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_audio.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_audio.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_audio.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_audio.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_begin_code.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_begin_code.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_begin_code.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_begin_code.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_bits.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_bits.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_bits.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_bits.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_blendmode.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_blendmode.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_blendmode.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_blendmode.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_camera.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_camera.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_camera.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_camera.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_clipboard.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_clipboard.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_clipboard.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_clipboard.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_close_code.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_close_code.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_close_code.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_close_code.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_copying.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_copying.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_copying.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_copying.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_cpuinfo.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_dialog.h b/Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_dialog.h
similarity index 100%
rename from Xcode/SDL3.framework/Versions/A/Headers/SDL_dialog.h
rename to Xcode/iOS/SDL3.framework/Versions/A/Headers/SDL_dialog.h
diff --git a/Xcode/SDL3.framework/Versions/A/Headers/SDL_egl.h b/Xcode/iOS/SDL3.framework/Versions/A/Head

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