From 30f41c02aec763d32e62351452da9ef582bc3472 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 6 Mar 2026 13:30:59 -0800 Subject: Move contrib libraries to contrib repo --- .../pkg-support/android/INSTALL.md.in | 91 ------------------ .../pkg-support/android/aar/__main__.py.in | 104 --------------------- .../android/aar/cmake/SDL3ConfigVersion.cmake.in | 38 -------- .../pkg-support/android/aar/description.json.in | 5 - 4 files changed, 238 deletions(-) delete mode 100644 contrib/SDL-3.2.8/build-scripts/pkg-support/android/INSTALL.md.in delete mode 100755 contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/__main__.py.in delete mode 100644 contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/cmake/SDL3ConfigVersion.cmake.in delete mode 100644 contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/description.json.in (limited to 'contrib/SDL-3.2.8/build-scripts/pkg-support/android') diff --git a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/INSTALL.md.in b/contrib/SDL-3.2.8/build-scripts/pkg-support/android/INSTALL.md.in deleted file mode 100644 index 80321c2..0000000 --- a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/INSTALL.md.in +++ /dev/null @@ -1,91 +0,0 @@ - -# Using this package - -This package contains @<@PROJECT_NAME@>@ built for the Android platform. - -## Gradle integration - -For integration with CMake/ndk-build, it uses [prefab](https://google.github.io/prefab/). - -Copy the aar archive (@<@PROJECT_NAME@>@-@<@PROJECT_VERSION@>@.aar) to a `app/libs` directory of your project. - -In `app/build.gradle` of your Android project, add: -``` -android { - /* ... */ - buildFeatures { - prefab true - } -} -dependencies { - implementation files('libs/@<@PROJECT_NAME@>@-@<@PROJECT_VERSION@>@.aar') - /* ... */ -} -``` - -If you're using CMake, add the following to your CMakeLists.txt: -``` -find_package(@<@PROJECT_NAME@>@ REQUIRED CONFIG) -target_link_libraries(yourgame PRIVATE @<@PROJECT_NAME@>@::@<@PROJECT_NAME@>@) -``` - -If you use ndk-build, add the following before `include $(BUILD_SHARED_LIBRARY)` to your `Android.mk`: -``` -LOCAL_SHARED_LIBARARIES := SDL3 SDL3-Headers -``` -And add the following at the bottom: -``` -# https://google.github.io/prefab/build-systems.html - -# Add the prefab modules to the import path. -$(call import-add-path,/out) - -# Import @<@PROJECT_NAME@>@ so we can depend on it. -$(call import-module,prefab/@<@PROJECT_NAME@>@) -``` - ---- - -## Other build systems (advanced) - -If you want to build a project without Gradle, -running the following command will extract the Android archive into a more common directory structure. -``` -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/@<@PROJECT_NAME@>@ - -# 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/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/__main__.py.in b/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/__main__.py.in deleted file mode 100755 index 344cf71..0000000 --- a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/__main__.py.in +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python - -""" -Create a @<@PROJECT_NAME@>@ SDK prefix from an Android archive -This file is meant to be placed in a the root of an android .aar archive - -Example usage: -```sh -python @<@PROJECT_NAME@>@-@<@PROJECT_VERSION@>@.aar -o /usr/opt/android-sdks -cmake -S my-project \ - -DCMAKE_PREFIX_PATH=/usr/opt/android-sdks \ - -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \ - -B build-arm64 -DANDROID_ABI=arm64-v8a \ - -DCMAKE_BUILD_TYPE=Releaase -cmake --build build-arm64 -``` -""" -import argparse -import io -import json -import os -import pathlib -import re -import stat -import zipfile - - -AAR_PATH = pathlib.Path(__file__).resolve().parent -ANDROID_ARCHS = { "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } - - -def main(): - parser = argparse.ArgumentParser( - description="Convert a @<@PROJECT_NAME@>@ Android .aar archive into a SDK", - allow_abbrev=False, - ) - parser.add_argument("--version", action="version", version="@<@PROJECT_NAME@>@ @<@PROJECT_VERSION@>@") - parser.add_argument("-o", dest="output", type=pathlib.Path, required=True, help="Folder where to store the SDK") - args = parser.parse_args() - - print(f"Creating a @<@PROJECT_NAME@>@ SDK at {args.output}...") - - prefix = args.output - incdir = prefix / "include" - libdir = prefix / "lib" - - RE_LIB_MODULE_ARCH = re.compile(r"prefab/modules/(?P[A-Za-z0-9_-]+)/libs/android\.(?P[a-zA-Z0-9_-]+)/(?Plib[A-Za-z0-9_]+\.(?:so|a))") - RE_INC_MODULE_ARCH = re.compile(r"prefab/modules/(?P[A-Za-z0-9_-]+)/include/(?P
[a-zA-Z0-9_./-]+)") - RE_LICENSE = re.compile(r"(?:.*/)?(?P(?:license|copying)(?:\.md|\.txt)?)", flags=re.I) - RE_PROGUARD = re.compile(r"(?:.*/)?(?Pproguard.*\.(?:pro|txt))", flags=re.I) - RE_CMAKE = re.compile(r"(?:.*/)?(?P.*\.cmake)", flags=re.I) - - with zipfile.ZipFile(AAR_PATH) as zf: - project_description = json.loads(zf.read("description.json")) - project_name = project_description["name"] - project_version = project_description["version"] - licensedir = prefix / "share/licenses" / project_name - cmakedir = libdir / "cmake" / project_name - javadir = prefix / "share/java" / project_name - javadocdir = prefix / "share/javadoc" / project_name - - def read_zipfile_and_write(path: pathlib.Path, zippath: str): - data = zf.read(zippath) - path.parent.mkdir(parents=True, exist_ok=True) - path.write_bytes(data) - - for zip_info in zf.infolist(): - zippath = zip_info.filename - if m := RE_LIB_MODULE_ARCH.match(zippath): - lib_path = libdir / m["arch"] / m["filename"] - read_zipfile_and_write(lib_path, zippath) - if m["filename"].endswith(".so"): - os.chmod(lib_path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) - - elif m := RE_INC_MODULE_ARCH.match(zippath): - header_path = incdir / m["header"] - read_zipfile_and_write(header_path, zippath) - elif m:= RE_LICENSE.match(zippath): - license_path = licensedir / m["filename"] - read_zipfile_and_write(license_path, zippath) - elif m:= RE_PROGUARD.match(zippath): - proguard_path = javadir / m["filename"] - read_zipfile_and_write(proguard_path, zippath) - elif m:= RE_CMAKE.match(zippath): - cmake_path = cmakedir / m["filename"] - read_zipfile_and_write(cmake_path, zippath) - elif zippath == "classes.jar": - versioned_jar_path = javadir / f"{project_name}-{project_version}.jar" - unversioned_jar_path = javadir / f"{project_name}.jar" - read_zipfile_and_write(versioned_jar_path, zippath) - os.symlink(src=versioned_jar_path.name, dst=unversioned_jar_path) - elif zippath == "classes-sources.jar": - jarpath = javadir / f"{project_name}-{project_version}-sources.jar" - read_zipfile_and_write(jarpath, zippath) - elif zippath == "classes-doc.jar": - jarpath = javadocdir / f"{project_name}-{project_version}-javadoc.jar" - read_zipfile_and_write(jarpath, zippath) - - print("... done") - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/cmake/SDL3ConfigVersion.cmake.in b/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/cmake/SDL3ConfigVersion.cmake.in deleted file mode 100644 index 3268da7..0000000 --- a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/cmake/SDL3ConfigVersion.cmake.in +++ /dev/null @@ -1,38 +0,0 @@ -# @<@PROJECT_NAME@>@ CMake version configuration file: -# This file is meant to be placed in a lib/cmake/@<@PROJECT_NAME@>@ subfolder of a reconstructed Android SDL3 SDK - -set(PACKAGE_VERSION "@<@PROJECT_VERSION@>@") - -if(PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - -# if the using project doesn't have CMAKE_SIZEOF_VOID_P set, fail. -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() - -include("${CMAKE_CURRENT_LIST_DIR}/sdlcpu.cmake") -SDL_DetectTargetCPUArchitectures(_detected_archs) - -# check that the installed version has a compatible architecture as the one which is currently searching: -if(NOT(SDL_CPU_X86 OR SDL_CPU_X64 OR SDL_CPU_ARM32 OR SDL_CPU_ARM64)) - set(PACKAGE_VERSION "${PACKAGE_VERSION} (X86,X64,ARM32,ARM64)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() diff --git a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/description.json.in b/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/description.json.in deleted file mode 100644 index e75ef38..0000000 --- a/contrib/SDL-3.2.8/build-scripts/pkg-support/android/aar/description.json.in +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@<@PROJECT_NAME@>@", - "version": "@<@PROJECT_VERSION@>@", - "git-hash": "@<@PROJECT_COMMIT@>@" -} -- cgit v1.2.3