SDL: Include the README and related files in the SDL framework

From 535d80badefc83c5c527ec5748f2a20d6a9310fe Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 21 Jan 2025 10:51:21 -0800
Subject: [PATCH] Include the README and related files in the SDL framework

---
 Xcode/SDL/SDL.xcodeproj/project.pbxproj       | 16 ++++++++
 .../resources/framework/INSTALL.md            | 41 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 Xcode/SDL/pkg-support/resources/framework/INSTALL.md

diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj
index 73bd920af8c0c..bb6556065deae 100644
--- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj
+++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj
@@ -384,6 +384,9 @@
 		F32DDAD42AB795A30041EAA5 /* SDL_audioresample.c in Sources */ = {isa = PBXBuildFile; fileRef = F32DDACE2AB795A30041EAA5 /* SDL_audioresample.c */; };
 		F338A1182D1B37D8007CDFDF /* SDL_tray.m in Sources */ = {isa = PBXBuildFile; fileRef = F338A1172D1B37D8007CDFDF /* SDL_tray.m */; };
 		F338A11A2D1B37E4007CDFDF /* SDL_tray.c in Sources */ = {isa = PBXBuildFile; fileRef = F338A1192D1B37E4007CDFDF /* SDL_tray.c */; };
+		F34400342D40217A003F26D7 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = F373DA182D388A1E002158FA /* LICENSE.txt */; };
+		F34400362D40217A003F26D7 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = F373DA192D388A1E002158FA /* README.md */; };
+		F344003D2D4022E1003F26D7 /* INSTALL.md in Resources */ = {isa = PBXBuildFile; fileRef = F344003C2D4022E1003F26D7 /* INSTALL.md */; };
 		F34B9895291DEFF500AAC96E /* SDL_hidapi_steam.c in Sources */ = {isa = PBXBuildFile; fileRef = A75FDAAC23E2795C00529352 /* SDL_hidapi_steam.c */; };
 		F362B9192B3349E200D30B94 /* controller_list.h in Headers */ = {isa = PBXBuildFile; fileRef = F362B9152B3349E200D30B94 /* controller_list.h */; };
 		F362B91A2B3349E200D30B94 /* SDL_gamepad_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F362B9162B3349E200D30B94 /* SDL_gamepad_c.h */; };
@@ -929,6 +932,7 @@
 		F32DDACE2AB795A30041EAA5 /* SDL_audioresample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audioresample.c; sourceTree = "<group>"; };
 		F338A1172D1B37D8007CDFDF /* SDL_tray.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDL_tray.m; sourceTree = "<group>"; };
 		F338A1192D1B37E4007CDFDF /* SDL_tray.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_tray.c; sourceTree = "<group>"; };
+		F344003C2D4022E1003F26D7 /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = INSTALL.md; sourceTree = "<group>"; };
 		F362B9152B3349E200D30B94 /* controller_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controller_list.h; sourceTree = "<group>"; };
 		F362B9162B3349E200D30B94 /* SDL_gamepad_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamepad_c.h; sourceTree = "<group>"; };
 		F362B9172B3349E200D30B94 /* SDL_steam_virtual_gamepad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_steam_virtual_gamepad.h; sourceTree = "<group>"; };
@@ -2311,6 +2315,14 @@
 			path = cocoa;
 			sourceTree = "<group>";
 		};
+		F344003B2D40229E003F26D7 /* framework */ = {
+			isa = PBXGroup;
+			children = (
+				F344003C2D4022E1003F26D7 /* INSTALL.md */,
+			);
+			path = framework;
+			sourceTree = "<group>";
+		};
 		F36C7ACF294B9F5E004D61C3 /* core */ = {
 			isa = PBXGroup;
 			children = (
@@ -2408,6 +2420,7 @@
 		F59C710100D5CB5801000001 /* resources */ = {
 			isa = PBXGroup;
 			children = (
+				F344003B2D40229E003F26D7 /* framework */,
 				F37A8E1928405AA100C38E95 /* CMake */,
 				F373DA182D388A1E002158FA /* LICENSE.txt */,
 				F373DA192D388A1E002158FA /* README.md */,
@@ -2754,6 +2767,9 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				F344003D2D4022E1003F26D7 /* INSTALL.md in Resources */,
+				F34400342D40217A003F26D7 /* LICENSE.txt in Resources */,
+				F34400362D40217A003F26D7 /* README.md in Resources */,
 				F37A8E1A28405AA100C38E95 /* CMake in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
diff --git a/Xcode/SDL/pkg-support/resources/framework/INSTALL.md b/Xcode/SDL/pkg-support/resources/framework/INSTALL.md
new file mode 100644
index 0000000000000..97e4ab6de0651
--- /dev/null
+++ b/Xcode/SDL/pkg-support/resources/framework/INSTALL.md
@@ -0,0 +1,41 @@
+
+# Using this package
+
+This package contains SDL built for Xcode.
+
+To use this package in Xcode, drag `SDL3.framework` into your project.
+
+# Documentation
+
+An API reference, tutorials, and additional documentation is available at:
+
+https://wiki.libsdl.org/SDL3
+
+# Example code
+
+There are simple example programs available at:
+
+https://examples.libsdl.org/SDL3
+
+# Discussions
+
+## Discord
+
+You can join the official Discord server at:
+
+https://discord.com/invite/BwpFGBWsv8
+
+## Forums/mailing lists
+
+You can join SDL development discussions at:
+
+https://discourse.libsdl.org/
+
+Once you sign up, you can use the forum through the website or as a mailing list from your email client.
+
+## Announcement list
+
+You can sign up for the low traffic announcement list at:
+
+https://www.libsdl.org/mailing-list.php
+