summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/build-scripts/update-version.sh
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
committer3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
commit6aaedb813fa11ba0679c3051bc2eb28646b9506c (patch)
tree34acbfc9840e02cb4753e6306ea7ce978bf8b58e /src/contrib/SDL-3.2.20/build-scripts/update-version.sh
parent8f228ade99dd3d4c8da9b78ade1815c9adf85c8f (diff)
Update to SDL3
Diffstat (limited to 'src/contrib/SDL-3.2.20/build-scripts/update-version.sh')
-rwxr-xr-xsrc/contrib/SDL-3.2.20/build-scripts/update-version.sh81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/build-scripts/update-version.sh b/src/contrib/SDL-3.2.20/build-scripts/update-version.sh
new file mode 100755
index 0000000..86ae816
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/build-scripts/update-version.sh
@@ -0,0 +1,81 @@
1#!/bin/sh
2
3#set -x
4
5cd `dirname $0`/..
6
7ARGSOKAY=1
8if [ -z $1 ]; then
9 ARGSOKAY=0
10fi
11if [ -z $2 ]; then
12 ARGSOKAY=0
13fi
14if [ -z $3 ]; then
15 ARGSOKAY=0
16fi
17
18if [ "x$ARGSOKAY" = "x0" ]; then
19 echo "USAGE: $0 <major> <minor> <patch>" 1>&2
20 exit 1
21fi
22
23MAJOR="$1"
24MINOR="$2"
25MICRO="$3"
26NEWVERSION="$MAJOR.$MINOR.$MICRO"
27
28echo "Updating version to '$NEWVERSION' ..."
29
30perl -w -pi -e 's/\A(.* version )[0-9.]+/${1}'$NEWVERSION'/;' include/SDL3/SDL.h
31
32# !!! FIXME: This first one is a kinda scary search/replace that might fail later if another X.Y.Z version is added to the file.
33perl -w -pi -e 's/(\<string\>)\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/Info-Framework.plist
34
35perl -w -pi -e 's/(Title SDL )\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/pkg-support/SDL.info
36
37perl -w -pi -e 's/(MARKETING_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
38
39DYVER=`expr $MINOR \* 100 + 1`
40perl -w -pi -e 's/(DYLIB_CURRENT_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$DYVER'.0.0/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
41
42# Set compat to major.minor.0 by default.
43perl -w -pi -e 's/(DYLIB_COMPATIBILITY_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$DYVER'.0.0/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
44
45# non-zero patch?
46if [ "x$MICRO" != "x0" ]; then
47 if [ `expr $MINOR % 2` = "0" ]; then
48 # If patch is not zero, but minor is even, it's a bugfix release.
49 perl -w -pi -e 's/(DYLIB_CURRENT_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$DYVER'.'$MICRO'.0/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
50
51 else
52 # If patch is not zero, but minor is odd, it's a development prerelease.
53 DYVER=`expr $MINOR \* 100 + $MICRO + 1`
54 perl -w -pi -e 's/(DYLIB_CURRENT_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$DYVER'.0.0/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
55 perl -w -pi -e 's/(DYLIB_COMPATIBILITY_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$DYVER'.0.0/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj
56 fi
57fi
58
59perl -w -pi -e 's/\A(project\(SDL[0-9]+ LANGUAGES C VERSION ")[0-9.]+/${1}'$NEWVERSION'/;' CMakeLists.txt
60
61perl -w -pi -e 's/\A(.* SDL_MAJOR_VERSION = )\d+/${1}'$MAJOR'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
62perl -w -pi -e 's/\A(.* SDL_MINOR_VERSION = )\d+/${1}'$MINOR'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
63perl -w -pi -e 's/\A(.* SDL_MICRO_VERSION = )\d+/${1}'$MICRO'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
64
65perl -w -pi -e 's/(\#define SDL_MAJOR_VERSION\s+)\d+/${1}'$MAJOR'/;' include/SDL3/SDL_version.h
66perl -w -pi -e 's/(\#define SDL_MINOR_VERSION\s+)\d+/${1}'$MINOR'/;' include/SDL3/SDL_version.h
67perl -w -pi -e 's/(\#define SDL_MICRO_VERSION\s+)\d+/${1}'$MICRO'/;' include/SDL3/SDL_version.h
68
69perl -w -pi -e 's/(FILEVERSION\s+)\d+,\d+,\d+/${1}'$MAJOR','$MINOR','$MICRO'/;' src/core/windows/version.rc
70perl -w -pi -e 's/(PRODUCTVERSION\s+)\d+,\d+,\d+/${1}'$MAJOR','$MINOR','$MICRO'/;' src/core/windows/version.rc
71perl -w -pi -e 's/(VALUE "FileVersion", ")\d+, \d+, \d+/${1}'$MAJOR', '$MINOR', '$MICRO'/;' src/core/windows/version.rc
72perl -w -pi -e 's/(VALUE "ProductVersion", ")\d+, \d+, \d+/${1}'$MAJOR', '$MINOR', '$MICRO'/;' src/core/windows/version.rc
73
74echo "Running build-scripts/test-versioning.sh to verify changes..."
75./build-scripts/test-versioning.sh
76
77echo "All done."
78echo "Run 'git diff' and make sure this looks correct, before 'git commit'."
79
80exit 0
81