diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 64199c7c6237b..bd0bcca590cef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,6 +77,14 @@ jobs: shell: bash run: | ${{ steps.tar.outputs.path }}/build-scripts/test-versioning.sh + - name: 'Install Linux dependencies' + run: | + sudo apt-get update -y + sudo apt-get install -y \ + gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev \ + libusb-1.0-0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev \ + libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \ + libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev - name: 'CMake (configure + build + tests + examples)' run: | cmake -S ${{ steps.tar.outputs.path }} -B /tmp/build -DSDL_TEST_LIBRARY=TRUE -DSDL_TESTS=TRUE -DSDL_EXAMPLES=TRUE diff --git a/CMakeLists.txt b/CMakeLists.txt index a6f3be1dc25d3..129b6267b32d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3330,8 +3330,8 @@ endif() set_source_files_properties(src/dynapi/SDL_dynapi.c PROPERTIES SKIP_PRECOMPILE_HEADERS 1) set(SDL_FRAMEWORK_RESOURCES - Xcode/SDL/pkg-support/resources/ReadMe.txt LICENSE.txt + README.md ) if(SDL_FRAMEWORK) sdl_sources(${SDL_FRAMEWORK_RESOURCES}) diff --git a/README.md b/README.md index fd143d869300d..68b0923a7f554 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators. -You can find the latest release and additional documentation at: +You can find the latest release and additional information at: https://www.libsdl.org/ Installation instructions and a quick introduction is available in diff --git a/WhatsNew.txt b/WhatsNew.txt index 63d34758028d3..22b1a0f8bc212 100644 --- a/WhatsNew.txt +++ b/WhatsNew.txt @@ -2,32 +2,13 @@ This is a list of major changes in SDL's version history. --------------------------------------------------------------------------- -3.1.0: +3.2.0: --------------------------------------------------------------------------- -This is a preview release of the new SDL 3.0 API. - -The ABI hasn't been locked down yet, but it's fairly stable and feedback is welcome! - Check out [migration guide](docs/README-migration.md) for details on API changes since SDL 2.0, and tips on transitioning your code from SDL2 code to SDL3. There have been too many changes to list them all, but here are some of the highlights: -* The API has been significantly reworked to be easier to use and more consistent -* The 2D rendering API now has support for more advanced colorspaces and HDR rendering -* The 2D rendering API now has a Vulkan backend -* An example of hardware accelerated video playback using ffmpeg has been added in test/testffmpeg.c -* The shaped window API has been replaced with transparent windows -* Time and date functions have been added in SDL_time.h -* Support for webcam video recording has been added in SDL_camera.h -* Support for handling pens and tablets has been added in SDL_pen.h -* Support for file open and save dialogs has been added in SDL_dialog.h -* Cross-platform functions for working with files and directories are available in SDL_filesystem.h -* A cross-platform abstraction for working with user and game data has been added in SDL_storage.h -* Handling of main() has been moved to a header library and an optional callback-based program flow is available -* Support for simple object properties has been added in SDL_properties.h. These properties are available on many SDL objects, and can be used for more advanced functionality. - -Please let us know about issues and feedback at: https://github.com/libsdl-org/SDL/issues -The development team is focused on code, moving towards the final release, and we would love volunteers to help improve the documentation. Please send e-mail to slouken@libsdl.org if you'd like to help out! +https://wiki.libsdl.org/SDL3/NewFeatures -Finally, a giant thank you to all the people who have contributed code and feedback to the SDL 3.0 improvements! +Thank you to all the people who have contributed code and feedback to the SDL 3.0 release! diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index e10903b809897..ffe36a0ec60b6 100644 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -79,8 +79,6 @@ A7381E961D8B69D600B177DD /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E951D8B69D600B177DD /* CoreAudio.framework */; platformFilters = (ios, maccatalyst, macos, tvos, ); settings = {ATTRIBUTES = (Required, ); }; }; A7381E971D8B6A0300B177DD /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E931D8B69C300B177DD /* AudioToolbox.framework */; platformFilters = (ios, maccatalyst, macos, tvos, ); }; A75FDB5823E39E6100529352 /* hidapi.h in Headers */ = {isa = PBXBuildFile; fileRef = A75FDB5723E39E6100529352 /* hidapi.h */; }; - A75FDBB723E4CBC700529352 /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 00794D3F09D0C461003FC8A1 /* License.txt */; }; - A75FDBB823E4CBC700529352 /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = F59C710300D5CB5801000001 /* ReadMe.txt */; }; A75FDBC523EA380300529352 /* SDL_hidapi_rumble.h in Headers */ = {isa = PBXBuildFile; fileRef = A75FDBC323EA380300529352 /* SDL_hidapi_rumble.h */; }; A75FDBCE23EA380300529352 /* SDL_hidapi_rumble.c in Sources */ = {isa = PBXBuildFile; fileRef = A75FDBC423EA380300529352 /* SDL_hidapi_rumble.c */; }; A79745702B2E9D39009D224A /* SDL_hidapi_steamdeck.c in Sources */ = {isa = PBXBuildFile; fileRef = A797456F2B2E9D39009D224A /* SDL_hidapi_steamdeck.c */; }; @@ -584,7 +582,6 @@ 0073179D0858DECD00B2BC32 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 0073179F0858DECD00B2BC32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 007317C10858E15000B2BC32 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 00794D3F09D0C461003FC8A1 /* License.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = License.txt; sourceTree = ""; }; 00CFA89C106B4BA100758660 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; }; 00D0D08310675DD9004B05EF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; 1485C32F2BBA4A0C0063985B /* UniformTypeIdentifiers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UniformTypeIdentifiers.framework; path = System/Library/Frameworks/UniformTypeIdentifiers.framework; sourceTree = SDKROOT; }; @@ -941,6 +938,9 @@ F36C342F2C0F876500991150 /* SDL_offscreenvulkan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_offscreenvulkan.h; sourceTree = ""; }; F36C34302C0F876500991150 /* SDL_offscreenvulkan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_offscreenvulkan.c; sourceTree = ""; }; F36C7AD0294BA009004D61C3 /* SDL_runapp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_runapp.c; sourceTree = ""; }; + F373DA172D3889EE002158FA /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = INSTALL.md; sourceTree = ""; }; + F373DA182D388A1E002158FA /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = LICENSE.txt; path = ../../../../LICENSE.txt; sourceTree = ""; }; + F373DA192D388A1E002158FA /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../../../../README.md; sourceTree = ""; }; F376F6182559B29300CFC0BC /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.1.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; }; F376F61A2559B2AF00CFC0BC /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/iOSSupport/System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; F376F6312559B31D00CFC0BC /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/iOSSupport/System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; }; @@ -1091,7 +1091,6 @@ F3FA5A1C2B59ACE000FEAD97 /* yuv_rgb_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yuv_rgb_common.h; sourceTree = ""; }; F3FD042C2C9B755700824C4C /* SDL_hidapi_nintendo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_hidapi_nintendo.h; sourceTree = ""; }; F3FD042D2C9B755700824C4C /* SDL_hidapi_steam_hori.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_steam_hori.c; sourceTree = ""; }; - F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; F59C710600D5CB5801000001 /* SDL.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL.info; sourceTree = ""; }; F5A2EF3900C6A39A01000001 /* BUGS.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = BUGS.txt; path = ../../BUGS.txt; sourceTree = SOURCE_ROOT; }; FA73671C19A540EF004122E4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; @@ -2410,8 +2409,9 @@ isa = PBXGroup; children = ( F37A8E1928405AA100C38E95 /* CMake */, - 00794D3F09D0C461003FC8A1 /* License.txt */, - F59C710300D5CB5801000001 /* ReadMe.txt */, + F373DA182D388A1E002158FA /* LICENSE.txt */, + F373DA192D388A1E002158FA /* README.md */, + F373DA172D3889EE002158FA /* INSTALL.md */, ); path = resources; sourceTree = ""; @@ -2755,8 +2755,6 @@ buildActionMask = 2147483647; files = ( F37A8E1A28405AA100C38E95 /* CMake in Resources */, - A75FDBB823E4CBC700529352 /* ReadMe.txt in Resources */, - A75FDBB723E4CBC700529352 /* License.txt in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2779,7 +2777,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -ex\n\nmkdir -p build/dmg-tmp/share/cmake/SDL3\ncp -a build/SDL3.xcframework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/share/cmake/SDL3/SDL3Config.cmake build/dmg-tmp/share/cmake/SDL3\ncp pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake build/dmg-tmp/share/cmake/SDL3\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL3 -srcfolder build/dmg-tmp build/SDL3.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; + shellScript = "set -ex\n\nmkdir -p build/dmg-tmp/share/cmake/SDL3\ncp -a build/SDL3.xcframework build/dmg-tmp/\n\ncp ../../LICENSE.txt build/dmg-tmp\ncp ../../README.md build/dmg-tmp\ncp pkg-support/resources/INSTALL.md build/dmg-tmp\ncp pkg-support/share/cmake/SDL3/SDL3Config.cmake build/dmg-tmp/share/cmake/SDL3\ncp pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake build/dmg-tmp/share/cmake/SDL3\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL3 -srcfolder build/dmg-tmp build/SDL3.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; }; F3B38CF0296F63D1005DA6D3 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; diff --git a/Xcode/SDL/pkg-support/resources/INSTALL.md b/Xcode/SDL/pkg-support/resources/INSTALL.md new file mode 100644 index 0000000000000..4058e96d174cf --- /dev/null +++ b/Xcode/SDL/pkg-support/resources/INSTALL.md @@ -0,0 +1,41 @@ + +# Using this package + +This package contains SDL built for Xcode, and includes support for macOS, iOS and tvOS. + +To use this package, drag SDL3.xcframework 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 + diff --git a/Xcode/SDL/pkg-support/resources/License.txt b/Xcode/SDL/pkg-support/resources/License.txt deleted file mode 100644 index 144831ccfcc8a..0000000000000 --- a/Xcode/SDL/pkg-support/resources/License.txt +++ /dev/null @@ -1,19 +0,0 @@ - -Simple DirectMedia Layer -Copyright (C) 1997-2025 Sam Lantinga - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. diff --git a/Xcode/SDL/pkg-support/resources/ReadMe.txt b/Xcode/SDL/pkg-support/resources/ReadMe.txt deleted file mode 100644 index 6ea93478fe97e..0000000000000 --- a/Xcode/SDL/pkg-support/resources/ReadMe.txt +++ /dev/null @@ -1,44 +0,0 @@ -The Simple DirectMedia Layer (SDL for short) is a cross-platform -library designed to make it easy to write multi-media software, -such as games and emulators. - -The Simple DirectMedia Layer library source code is available from: -http://www.libsdl.org/ - -This library is distributed under the terms of the zlib license: -http://zlib.net/zlib_license.html - - -This packages contains the SDL framework for macOS. -Conforming with Apple guidelines, this framework -contains both the SDL runtime component and development header files. - - -To Install: -Copy "SDL3.xcframework" and "share" to /Library/Frameworks - -You may alternatively install it in /Library/Frameworks -if your access privileges are not high enough. - - -Use in CMake projects: -SDL3.xcframework can be used in CMake projects using the following pattern: -```cmake -find_package(SDL3 REQUIRED COMPONENTS SDL3) -add_executable(my_game ${MY_SOURCES}) -target_link_libraries(my_game PRIVATE SDL3::SDL3) -``` -If SDL3.framework is installed in a non-standard location, -please refer to the following link for ways to configure CMake: -https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure - - -Additional References: - - - Screencast tutorials for getting started with OpenSceneGraph/macOS are - available at: - http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips - Though these are OpenSceneGraph centric, the same exact concepts apply to - SDL, thus the videos are recommended for everybody getting started with - developing on macOS. (You can skim over the PlugIns stuff since SDL - doesn't have any PlugIns to worry about.) diff --git a/Xcode/SDL/pkg-support/resources/SDL_DS_Store b/Xcode/SDL/pkg-support/resources/SDL_DS_Store index 15519334371b7..5a71413734b71 100644 Binary files a/Xcode/SDL/pkg-support/resources/SDL_DS_Store and b/Xcode/SDL/pkg-support/resources/SDL_DS_Store differ diff --git a/build-scripts/build-release.py b/build-scripts/build-release.py index 0e081619601b8..166e353a52bc8 100755 --- a/build-scripts/build-release.py +++ b/build-scripts/build-release.py @@ -891,6 +891,8 @@ def _detect_android_api(self, android_home: str) -> typing.Optional[int]: platform_versions = [] for platform_dir in platform_dirs: logger.debug("Found Android Platform SDK: %s", platform_dir) + if not (platform_dir / "android.jar").is_file(): + continue if m:= re_platform.match(platform_dir.name): platform_versions.append(int(m.group(1))) platform_versions.sort() @@ -1248,6 +1250,10 @@ def _build_msvc_cmake(self, arch_platform: VsArchPlatformConfig, dep_roots: list platform_context = self.get_context(extra_context=arch_platform.extra_context()) build_type = "Release" + extra_context = { + "ARCH": arch_platform.arch, + "PLATFORM": arch_platform.platform, + } built_paths = set(install_path / configure_text(f, context=platform_context) for file_mapping in (self.release_info["msvc"]["cmake"]["files-lib"], self.release_info["msvc"]["cmake"]["files-devel"]) for files_list in file_mapping.values() for f in files_list) logger.info("CMake builds these files, to be included in the package: %s", built_paths) @@ -1298,7 +1304,7 @@ def _build_msvc_cmake(self, arch_platform: VsArchPlatformConfig, dep_roots: list logger.info("Collecting files...") archive_file_tree = ArchiveFileTree() archive_file_tree.add_file_mapping(arc_dir="", file_mapping=self.release_info["msvc"]["cmake"]["files-lib"], file_mapping_root=install_path, context=platform_context, time=self.arc_time) - archive_file_tree.add_file_mapping(arc_dir="", file_mapping=self.release_info["msvc"]["files-lib"], file_mapping_root=self.root, context=self.get_context(), time=self.arc_time) + archive_file_tree.add_file_mapping(arc_dir="", file_mapping=self.release_info["msvc"]["files-lib"], file_mapping_root=self.root, context=self.get_context(extra_context=extra_context), time=self.arc_time) logger.info("Creating %s", zip_path) with Archiver(zip_path=zip_path) as archiver: @@ -1489,8 +1495,11 @@ def main(argv=None) -> int: if args.android_api is None: with section_printer.group("Detect Android APIS"): args.android_api = releaser._detect_android_api(android_home=args.android_home) - if args.android_api is None or not (Path(args.android_home) / f"platforms/android-{args.android_api}").is_dir(): + if args.android_api is None: parser.error("Invalid --android-api, and/or could not be detected") + android_api_path = Path(args.android_home) / f"platforms/android-{args.android_api}" + if not android_api_path.is_dir(): + parser.error(f"Android API directory does not exist ({android_api_path})") with section_printer.group("Android arguments"): print(f"android_home = {args.android_home}") print(f"android_ndk_home = {args.android_ndk_home}") diff --git a/build-scripts/pkg-support/android/README.md.in b/build-scripts/pkg-support/android/INSTALL.md.in similarity index 63% rename from build-scripts/pkg-support/android/README.md.in rename to build-scripts/pkg-support/android/INSTALL.md.in index 4314b74802031..602677335bcc7 100644 --- a/build-scripts/pkg-support/android/README.md.in +++ b/build-scripts/pkg-support/android/INSTALL.md.in @@ -1,17 +1,7 @@ -The Simple DirectMedia Layer (SDL for short) is a cross-platform library -designed to make it easy to write multi-media software, such as games -and emulators. +# Using this package -The Simple DirectMedia Layer library source code is available from: -https://www.libsdl.org/ - -This library is distributed under the terms of the zlib license: -http://www.zlib.net/zlib_license.html - -# @<@PROJECT_NAME@>@-@<@PROJECT_VERSION@>@.aar - -This Android archive allows use of @<@PROJECT_NAME@>@ in your Android project, without needing to copy any SDL source. +This package contains SDL built for the Android platform. ## Gradle integration @@ -65,13 +55,37 @@ python @<@PROJECT_NAME@>@-@<@PROJECT_VERSION@>@.aar -o android_prefix ``` Add `--help` for a list of all available options. +# 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. -Look at the example programs in ./examples (of the source archive), and check out online documentation: - https://wiki.libsdl.org/SDL3/FrontPage +## Announcement list -Join the SDL discourse server if you want to join the community: - https://discourse.libsdl.org/ +You can sign up for the low traffic announcement list at: +https://www.libsdl.org/mailing-list.php -That's it! -Sam Lantinga diff --git a/build-scripts/pkg-support/mingw/INSTALL.md b/build-scripts/pkg-support/mingw/INSTALL.md new file mode 100644 index 0000000000000..83ea472eeed35 --- /dev/null +++ b/build-scripts/pkg-support/mingw/INSTALL.md @@ -0,0 +1,53 @@ + +# Using this package + +This package contains SDL built for the mingw-w64 toolchain. + +The files for 32-bit architecture are in i686-w64-mingw32 +The files for 64-bit architecture are in x86_64-w64-mingw32 + +You can install them to another location, just type `make` for help. + +To use this package, point your include path at _arch_/include and your library path at _arch_/lib, link with the SDL3 library and copy _arch_/bin/SDL3.dll next to your executable. + +e.g. +```sh +gcc -o hello.exe hello.c -Ix86_64-w64-mingw32/include -Lx86_64-w64-mingw32/lib -lSDL3 +cp x86_64-w64-mingw32/bin/SDL3.dll . +./hello.exe +``` + +# 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 + diff --git a/build-scripts/pkg-support/mingw/INSTALL.txt b/build-scripts/pkg-support/mingw/INSTALL.txt deleted file mode 100644 index 9baefeb298ae7..0000000000000 --- a/build-scripts/pkg-support/mingw/INSTALL.txt +++ /dev/null @@ -1,25 +0,0 @@ - -The 32-bit files are in i686-w64-mingw32 -The 64-bit files are in x86_64-w64-mingw32 - -To install SDL for 32-bit x86 executables (i686): - make install-i686 - -To install SDL for 64-bit x86 executables (x86_64): - make install-x86_64 - -To install both: - make install-all - -Use DESTDIR to change the target location - mkdir $HOME/mingw32-prefix - make install-i686 DESTDIR=$HOME/mingw32-prefix - -Look at the example programs in ./examples, and check out online documentation: - https://wiki.libsdl.org/SDL3/FrontPage - -Join the SDL discourse server if you want to join the community: - https://discourse.libsdl.org/ - -That's it! -Sam Lantinga diff --git a/build-scripts/pkg-support/msvc/INSTALL.md b/build-scripts/pkg-support/msvc/INSTALL.md new file mode 100644 index 0000000000000..82f812f36ee1d --- /dev/null +++ b/build-scripts/pkg-support/msvc/INSTALL.md @@ -0,0 +1,45 @@ + +# Using this package + +This package contains SDL built for Visual Studio. + +To use this package, edit your project properties: +- Add the include directory to "VC++ Directories" -> "Include Directories" +- Add the lib/_arch_ directory to "VC++ Directories" -> "Library Directories" +- Add SDL3.lib to Linker -> Input -> "Additional Dependencies" +- Copy lib/_arch_/SDL3.dll to your project directory. + +# 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 + diff --git a/build-scripts/pkg-support/msvc/arm64/INSTALL.md.in b/build-scripts/pkg-support/msvc/arm64/INSTALL.md.in new file mode 100644 index 0000000000000..c185171a32b6e --- /dev/null +++ b/build-scripts/pkg-support/msvc/arm64/INSTALL.md.in @@ -0,0 +1,13 @@ + +# Using this package + +This package contains @<@PROJECT_NAME@>@ built for arm64 Windows. + +To use this package, simply replace an existing 64-bit ARM @<@PROJECT_NAME@>@.dll with the one included here. + +# Development packages + +If you're looking for packages with headers and libraries, you can download one of these: +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 + diff --git a/build-scripts/pkg-support/msvc/x64/INSTALL.md.in b/build-scripts/pkg-support/msvc/x64/INSTALL.md.in new file mode 100644 index 0000000000000..74cd67856ca9a --- /dev/null +++ b/build-scripts/pkg-support/msvc/x64/INSTALL.md.in @@ -0,0 +1,13 @@ + +# Using this package + +This package contains @<@PROJECT_NAME@>@ built for x64 Windows. + +To use this package, simply replace an existing 64-bit @<@PROJECT_NAME@>@.dll with the one included here. + +# Development packages + +If you're looking for packages with headers and libraries, you can download one of these: +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 + diff --git a/build-scripts/pkg-support/msvc/x86/INSTALL.md.in b/build-scripts/pkg-support/msvc/x86/INSTALL.md.in new file mode 100644 index 0000000000000..041c116316eec --- /dev/null +++ b/build-scripts/pkg-support/msvc/x86/INSTALL.md.in @@ -0,0 +1,13 @@ + +# Using this package + +This package contains @<@PROJECT_NAME@>@ built for x86 Windows. + +To use this package, simply replace an existing 32-bit @<@PROJECT_NAME@>@.dll with the one included here. + +# Development packages + +If you're looking for packages with headers and libraries, you can download one of these: +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-VC.zip, for development using Visual Studio +- @<@PROJECT_NAME@>@-devel-@<@PROJECT_VERSION@>@-mingw.zip, for development using mingw-w64 + diff --git a/build-scripts/release-info.json b/build-scripts/release-info.json index 250fc16db4c76..dc0bd31b30b30 100644 --- a/build-scripts/release-info.json +++ b/build-scripts/release-info.json @@ -45,21 +45,14 @@ }, "files": { "": [ - "build-scripts/pkg-support/mingw/INSTALL.txt", + "build-scripts/pkg-support/mingw/INSTALL.md", "build-scripts/pkg-support/mingw/Makefile", - "BUGS.txt", - "CREDITS.md", - "README-SDL.txt", - "WhatsNew.txt", "LICENSE.txt", "README.md" ], "cmake": [ "build-scripts/pkg-support/mingw/cmake/SDL3Config.cmake", "build-scripts/pkg-support/mingw/cmake/SDL3ConfigVersion.cmake" - ], - "docs": [ - "docs/*" ] } }, @@ -117,25 +110,22 @@ }, "files-lib": { "": [ - "README-SDL.txt" + "build-scripts/pkg-support/msvc/@<@ARCH@>@/INSTALL.md.in:INSTALL.md", + "LICENSE.txt", + "README.md" ] }, "files-devel": { "": [ - "README-SDL.txt", - "BUGS.txt", + "build-scripts/pkg-support/msvc/INSTALL.md", "LICENSE.txt", - "README.md", - "WhatsNew.txt" + "README.md" ], "cmake": [ "build-scripts/pkg-support/msvc/cmake/SDL3Config.cmake.in:SDL3Config.cmake", "build-scripts/pkg-support/msvc/cmake/SDL3ConfigVersion.cmake.in:SDL3ConfigVersion.cmake", "cmake/sdlcpu.cmake" ], - "docs": [ - "docs/*" - ], "include/SDL3": [ "include/SDL3/*.h" ] @@ -211,8 +201,9 @@ }, "files": { "": [ + "build-scripts/pkg-support/android/INSTALL.md.in:INSTALL.md", "LICENSE.txt", - "build-scripts/pkg-support/android/README.md.in:README.md" + "README.md" ] } }