Skip to content

Commit 30709de

Browse files
committed
update SDL3 to 3.2.6.
1 parent 3582488 commit 30709de

File tree

407 files changed

+20388
-5386
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

407 files changed

+20388
-5386
lines changed

libs/SDL3/.git-hash

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<!--- Provide a general summary of your changes in the Title above -->
2+
3+
## Description
4+
<!--- Describe your changes in detail -->
5+
6+
## Existing Issue(s)
7+
<!--- If it fixes an open issue, please link to the issue here. -->
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: 'Setup GDK (Game Development Kit) for Windows Desktop'
2+
description: 'Download GDK and install into MSBuild'
3+
inputs:
4+
# Keep edition and ref in sync!
5+
edition:
6+
description: 'GDK edition'
7+
default: '240601' # YYMMUU (Year Month Update)
8+
ref:
9+
description: 'Git reference'
10+
default: 'June_2024_Update_1'
11+
folder:
12+
description: 'Folder where to create Directory.Build.props'
13+
required: true
14+
default: '${{ github.workspace }}'
15+
runs:
16+
using: 'composite'
17+
steps:
18+
- uses: actions/setup-python@main
19+
with:
20+
python-version: 3.x
21+
- name: 'Calculate variables'
22+
id: calc
23+
shell: pwsh
24+
run: |
25+
$vs_folder=@(vswhere -latest -property installationPath)
26+
echo "vs-folder=${vs_folder}" >> $Env:GITHUB_OUTPUT
27+
28+
echo "gdk-path=${{ runner.temp }}\GDK-${{ inputs.edition }}" >> $Env:GITHUB_OUTPUT
29+
30+
echo "cache-key=gdk-${{ inputs.ref }}-${{ inputs.edition }}" >> $Env:GITHUB_OUTPUT
31+
- name: 'Restore cached GDK'
32+
id: cache-restore
33+
uses: actions/cache/restore@v4
34+
with:
35+
path: '${{ steps.calc.outputs.gdk-path }}'
36+
key: ${{ steps.calc.outputs.cache-key }}
37+
- name: 'Download GDK'
38+
if: ${{ !steps.cache-restore.outputs.cache-hit }}
39+
shell: pwsh
40+
run: |
41+
python build-scripts/setup-gdk-desktop.py `
42+
--download `
43+
--temp-folder "${{ runner.temp }}" `
44+
--gdk-path="${{ steps.calc.outputs.gdk-path }}" `
45+
--ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
46+
--vs-folder="${{ steps.calc.outputs.vs-folder }}" `
47+
--no-user-props
48+
- name: 'Extract GDK'
49+
if: ${{ !steps.cache-restore.outputs.cache-hit }}
50+
shell: pwsh
51+
run: |
52+
python build-scripts/setup-gdk-desktop.py `
53+
--extract `
54+
--ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
55+
--temp-folder "${{ runner.temp }}" `
56+
--gdk-path="${{ steps.calc.outputs.gdk-path }}" `
57+
--vs-folder="${{ steps.calc.outputs.vs-folder }}" `
58+
--no-user-props
59+
- name: 'Cache GDK'
60+
if: ${{ !steps.cache-restore.outputs.cache-hit }}
61+
uses: actions/cache/save@v4
62+
with:
63+
path: '${{ steps.calc.outputs.gdk-path }}'
64+
key: ${{ steps.calc.outputs.cache-key }}
65+
- name: 'Copy MSBuild files into GDK'
66+
shell: pwsh
67+
run: |
68+
python build-scripts/setup-gdk-desktop.py `
69+
--ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
70+
--gdk-path="${{ steps.calc.outputs.gdk-path }}" `
71+
--vs-folder="${{ steps.calc.outputs.vs-folder }}" `
72+
--copy-msbuild `
73+
--no-user-props
74+
- name: 'Write user props'
75+
shell: pwsh
76+
run: |
77+
python build-scripts/setup-gdk-desktop.py `
78+
--ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
79+
--temp-folder "${{ runner.temp }}" `
80+
--vs-folder="${{ steps.calc.outputs.vs-folder }}" `
81+
--gdk-path="${{ steps.calc.outputs.gdk-path }}" `
82+
"--props-folder=${{ inputs.folder }}"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 'Setup LoongArch64 toolchain'
2+
description: 'Download Linux LoongArch64 toolchain and set output variables'
3+
inputs:
4+
version:
5+
description: 'LoongArch64 version'
6+
default: '2023.08.08'
7+
outputs:
8+
prefix:
9+
description: "LoongArch toolchain prefix"
10+
value: ${{ steps.final.outputs.prefix }}
11+
cc:
12+
description: "LoongArch C compiler"
13+
value: ${{ steps.final.outputs.cc }}
14+
cxx:
15+
description: "LoongArch C++ compiler"
16+
value: ${{ steps.final.outputs.cxx }}
17+
runs:
18+
using: 'composite'
19+
steps:
20+
- uses: actions/cache/restore@v4
21+
id: restore-cache
22+
with:
23+
path: /opt/cross-tools
24+
key: loongarch64-${{ inputs.version }}
25+
26+
- name: 'Download LoongArch64 gcc+glibc toolchain'
27+
if: ${{ !steps.restore-cache.outputs.cache-hit }}
28+
shell: bash
29+
run: |
30+
url="https://github.com/loongson/build-tools/releases/download/${{ inputs.version }}/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz"
31+
32+
wget "$url" -O /tmp/toolchain.tar.xz
33+
34+
mkdir -p /opt
35+
tar -C /opt -x -f /tmp/toolchain.tar.xz
36+
37+
- uses: actions/cache/save@v4
38+
if: ${{ !steps.restore-cache.outputs.cache-hit }}
39+
with:
40+
path: /opt/cross-tools
41+
key: loongarch64-${{ inputs.version }}
42+
- name: 'Set output vars'
43+
id: final
44+
shell: bash
45+
run: |
46+
prefix=/opt/cross-tools
47+
echo "prefix=${prefix}" >> $GITHUB_OUTPUT
48+
cc="${prefix}/bin/loongarch64-unknown-linux-gnu-gcc"
49+
cxx="${prefix}/bin/loongarch64-unknown-linux-gnu-g++"
50+
echo "cc=${cc}" >> $GITHUB_OUTPUT
51+
echo "cxx=${cxx}" >> $GITHUB_OUTPUT
52+
echo "LOONGARCH64_CC=${cc}" >>$GITHUB_ENV
53+
echo "LOONGARCH64_CXX=${cxx}" >>$GITHUB_ENV
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: 'Setup libusb for MSVC'
2+
description: 'Download libusb sdk for MSVC, and set output/environment variables'
3+
inputs:
4+
version:
5+
description: 'libusb version'
6+
required: true
7+
default: '1.0.27'
8+
arch:
9+
description: "libusb architecture (x86 or x64)"
10+
rqeuired: true
11+
outputs:
12+
root:
13+
description: "libusb root directory"
14+
value: ${{ steps.final.outputs.root }}
15+
runs:
16+
using: 'composite'
17+
steps:
18+
- name: 'Restore cached libusb-${{ inputs.version }}.7z'
19+
id: cache-restore
20+
uses: actions/cache/restore@v4
21+
with:
22+
path: 'C:\temp\libusb-${{ inputs.version }}.7z'
23+
key: libusb-msvc-${{ inputs.version }}
24+
- name: 'Download libusb ${{ inputs.version }}'
25+
if: ${{ !steps.cache-restore.outputs.cache-hit }}
26+
shell: pwsh
27+
run: |
28+
Invoke-WebRequest "https://github.com/libusb/libusb/releases/download/v${{ inputs.version }}/libusb-${{ inputs.version }}.7z" -OutFile "C:\temp\libusb-${{ inputs.version }}.7z"
29+
- name: 'Cache libusb-${{ inputs.version }}.7z'
30+
if: ${{ !steps.cache-restore.outputs.cache-hit }}
31+
uses: actions/cache/save@v4
32+
with:
33+
path: 'C:\temp\libusb-${{ inputs.version }}.7z'
34+
key: libusb-msvc-${{ inputs.version }}
35+
- name: 'Extract libusb'
36+
shell: pwsh
37+
run: |
38+
7z "-oC:\temp\libusb-${{ inputs.version }}" x "C:\temp\libusb-${{ inputs.version }}.7z"
39+
- name: 'Set output vars'
40+
id: final
41+
shell: pwsh
42+
run: |
43+
if ('${{ inputs.arch }}' -eq 'x86') {
44+
$archdir = "MS32";
45+
} elseif ('${{ inputs.arch }}' -eq 'x64') {
46+
$archdir = "MS64";
47+
} else {
48+
write-host "Invalid arch=${{ inputs.arch }}"
49+
exit 1
50+
}
51+
$libusb_incdir = "C:\temp\libusb-${{ inputs.version }}\include";
52+
$libusb_libdir = "C:\temp\libusb-${{ inputs.version }}\VS2022\${archdir}\dll";
53+
54+
$libusb_header = "${libusb_incdir}\libusb.h";
55+
$libusb_implib = "${libusb_libdir}\libusb-1.0.lib";
56+
$libusb_dll = "${libusb_libdir}\libusb-1.0.dll";
57+
58+
if (!(Test-Path "${libusb_header}")) {
59+
write-host "${libusb_header} does not exist!"
60+
exit 1
61+
}
62+
if (!(Test-Path "${libusb_implib}")){
63+
write-host "${libusb_implib} does not exist!"
64+
exit 1
65+
}
66+
if (!(Test-Path "${libusb_dll}")) {
67+
write-host "${libusb_dll} does not exist!"
68+
exit 1
69+
}
70+
echo "root=${libusb_incdir};${libusb_libdir}" >> $env:GITHUB_OUTPUT
71+
echo "LibUSB_ROOT=${libusb_incdir};${libusb_libdir}" >> $env:GITHUB_ENV
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: 'Setup ninja'
2+
description: 'Download ninja and add it to the PATH environment variable'
3+
inputs:
4+
version:
5+
description: 'Ninja version'
6+
default: '1.12.1'
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- name: 'Calculate variables'
11+
id: calc
12+
shell: sh
13+
run: |
14+
case "${{ runner.os }}-${{ runner.arch }}" in
15+
"Linux-X86" | "Linux-X64")
16+
archive="ninja-linux.zip"
17+
;;
18+
"Linux-ARM64")
19+
archive="ninja-linux-aarch64.zip"
20+
;;
21+
"macOS-X86" | "macOS-X64" | "macOS-ARM64")
22+
archive="ninja-mac.zip"
23+
;;
24+
"Windows-X86" | "Windows-X64")
25+
archive="ninja-win.zip"
26+
;;
27+
"Windows-ARM64")
28+
archive="ninja-winarm64.zip"
29+
;;
30+
*)
31+
echo "Unsupported ${{ runner.os }}-${{ runner.arch }}"
32+
exit 1;
33+
;;
34+
esac
35+
echo "archive=${archive}" >> ${GITHUB_OUTPUT}
36+
echo "cache-key=${archive}-${{ inputs.version }}-${{ runner.os }}-${{ runner.arch }}" >> ${GITHUB_OUTPUT}
37+
- name: 'Restore cached ${{ steps.calc.outputs.archive }}'
38+
id: cache-restore
39+
uses: actions/cache/restore@v4
40+
with:
41+
path: '${{ runner.temp }}/${{ steps.calc.outputs.archive }}'
42+
key: ${{ steps.calc.outputs.cache-key }}
43+
- name: 'Download ninja ${{ inputs.version }} for ${{ runner.os }} (${{ runner.arch }})'
44+
if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }}
45+
shell: pwsh
46+
run: |
47+
Invoke-WebRequest "https://github.com/ninja-build/ninja/releases/download/v${{ inputs.version }}/${{ steps.calc.outputs.archive }}" -OutFile "${{ runner.temp }}/${{ steps.calc.outputs.archive }}"
48+
- name: 'Cache ${{ steps.calc.outputs.archive }}'
49+
if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }}
50+
uses: actions/cache/save@v4
51+
with:
52+
path: '${{ runner.temp }}/${{ steps.calc.outputs.archive }}'
53+
key: ${{ steps.calc.outputs.cache-key }}
54+
- name: 'Extract ninja'
55+
shell: pwsh
56+
run: |
57+
7z "-o${{ runner.temp }}/ninja-${{ inputs.version }}-${{ runner.arch }}" x "${{ runner.temp }}/${{ steps.calc.outputs.archive }}"
58+
- name: 'Set output variables'
59+
id: final
60+
shell: pwsh
61+
run: |
62+
echo "${{ runner.temp }}/ninja-${{ inputs.version }}-${{ runner.arch }}" >> $env:GITHUB_PATH
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: 'Setup GLES for PlayStation Vita'
2+
description: 'Download GLES for VITA (PVR or PIB), and copy it into the vita sdk'
3+
inputs:
4+
pib-version:
5+
description: 'PIB version'
6+
default: '1.1.4'
7+
pvr-version:
8+
description: 'PVR_PSP2 version'
9+
default: '3.9'
10+
type:
11+
description: '"pib" or "pvr"'
12+
default: ''
13+
runs:
14+
using: 'composite'
15+
steps:
16+
- name: 'Calculate variables'
17+
id: calc
18+
shell: sh
19+
run: |
20+
if test "x${VITASDK}" = "x"; then
21+
echo "VITASDK must be defined"
22+
exit 1;
23+
fi
24+
case "x${{ inputs.type }}" in
25+
"xpvr")
26+
echo "cache-key=SDL-vita-gles-pvr-${{ inputs.pvr-version}}" >> ${GITHUB_OUTPUT}
27+
;;
28+
"xpib")
29+
echo "cache-key=SDL-vita-gles-pib-${{ inputs.pib-version}}" >> ${GITHUB_OUTPUT}
30+
;;
31+
*)
32+
echo "Invalid type. Must be 'pib' or 'pvr'."
33+
exit 1
34+
;;
35+
esac
36+
- uses: actions/cache/restore@v4
37+
id: restore-cache
38+
with:
39+
path: /vita/dependencies
40+
key: '${{ steps.calc.outputs.cache-key }}'
41+
- name: 'Download PVR_PSP2 (GLES)'
42+
if: ${{ !steps.restore-cache.outputs.cache-hit && inputs.type == 'pvr' }}
43+
shell: sh
44+
run: |
45+
pvr_psp2_version=${{ inputs.pvr-version }}
46+
47+
mkdir -p /vita/dependencies/include
48+
mkdir -p /vita/dependencies/lib
49+
50+
# Configure PVR_PSP2 headers
51+
wget https://github.com/GrapheneCt/PVR_PSP2/archive/refs/tags/v$pvr_psp2_version.zip -P/tmp
52+
unzip /tmp/v$pvr_psp2_version.zip -d/tmp
53+
cp -r /tmp/PVR_PSP2-$pvr_psp2_version/include/* /vita/dependencies/include
54+
rm /tmp/v$pvr_psp2_version.zip
55+
56+
# include guard of PVR_PSP2's khrplatform.h does not match the usual one
57+
sed -i -e s/__drvkhrplatform_h_/__khrplatform_h_/ /vita/dependencies/include/KHR/khrplatform.h
58+
59+
# Configure PVR_PSP2 stub libraries
60+
wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/vitasdk_stubs.zip -P/tmp
61+
unzip /tmp/vitasdk_stubs.zip -d/tmp/pvr_psp2_stubs
62+
find /tmp/pvr_psp2_stubs -type f -name "*.a" -exec cp {} /vita/dependencies/lib \;
63+
rm /tmp/vitasdk_stubs.zip
64+
rm -rf /tmp/pvr_psp2_stubs
65+
66+
- name: 'Download gl4es4vita (OpenGL)'
67+
if: ${{ !steps.restore-cache.outputs.cache-hit && inputs.type == 'pib' }}
68+
shell: sh
69+
run: |
70+
gl4es4vita_version=${{ inputs.pib-version }}
71+
72+
mkdir -p /vita/dependencies/include
73+
mkdir -p /vita/dependencies/lib
74+
75+
# Configure gl4es4vita headers
76+
wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/include.zip -P/tmp
77+
unzip -o /tmp/include.zip -d/vita/dependencies/include
78+
rm /tmp/include.zip
79+
80+
# Configure gl4es4vita stub libraries
81+
wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/vitasdk_stubs.zip -P/tmp
82+
unzip /tmp/vitasdk_stubs.zip -d/vita/dependencies/lib
83+
84+
- uses: actions/cache/save@v4
85+
if: ${{ !steps.restore-cache.outputs.cache-hit }}
86+
with:
87+
path: /vita/dependencies
88+
key: '${{ steps.calc.outputs.cache-key }}'
89+
90+
- name: Copy PVR_PSP2 (GLES) or gl4es4vita (OpenGL) to vita toolchain dir
91+
shell: sh
92+
run: |
93+
cp -rv /vita/dependencies/* ${VITASDK}/arm-vita-eabi
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
cmake_minimum_required(VERSION 3.0...3.5)
2+
project(ci_utils C CXX)
3+
4+
set(txt "CC=${CMAKE_C_COMPILER}
5+
CXX=${CMAKE_CXX_COMPILER}
6+
CFLAGS=${CMAKE_C_FLAGS}
7+
CXXFLAGS=${CMAKE_CXX_FLAGS}
8+
LDFLAGS=${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_C_STANDARD_LIBRARIES}
9+
")
10+
11+
message("${txt}")
12+
13+
set(VAR_PATH "/tmp/env.txt" CACHE PATH "Where to write environment file")
14+
message(STATUS "Writing CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS environment to ${VAR_PATH}")
15+
16+
file(WRITE "${VAR_PATH}" "${txt}")

0 commit comments

Comments
 (0)