diff options
Diffstat (limited to 'src/contrib/SDL-3.2.20/build-scripts/update-version.sh')
-rwxr-xr-x | src/contrib/SDL-3.2.20/build-scripts/update-version.sh | 81 |
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 | |||
5 | cd `dirname $0`/.. | ||
6 | |||
7 | ARGSOKAY=1 | ||
8 | if [ -z $1 ]; then | ||
9 | ARGSOKAY=0 | ||
10 | fi | ||
11 | if [ -z $2 ]; then | ||
12 | ARGSOKAY=0 | ||
13 | fi | ||
14 | if [ -z $3 ]; then | ||
15 | ARGSOKAY=0 | ||
16 | fi | ||
17 | |||
18 | if [ "x$ARGSOKAY" = "x0" ]; then | ||
19 | echo "USAGE: $0 <major> <minor> <patch>" 1>&2 | ||
20 | exit 1 | ||
21 | fi | ||
22 | |||
23 | MAJOR="$1" | ||
24 | MINOR="$2" | ||
25 | MICRO="$3" | ||
26 | NEWVERSION="$MAJOR.$MINOR.$MICRO" | ||
27 | |||
28 | echo "Updating version to '$NEWVERSION' ..." | ||
29 | |||
30 | perl -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. | ||
33 | perl -w -pi -e 's/(\<string\>)\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/Info-Framework.plist | ||
34 | |||
35 | perl -w -pi -e 's/(Title SDL )\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/pkg-support/SDL.info | ||
36 | |||
37 | perl -w -pi -e 's/(MARKETING_VERSION\s*=\s*)\d+\.\d+\.\d+/${1}'$NEWVERSION'/;' Xcode/SDL/SDL.xcodeproj/project.pbxproj | ||
38 | |||
39 | DYVER=`expr $MINOR \* 100 + 1` | ||
40 | perl -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. | ||
43 | perl -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? | ||
46 | if [ "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 | ||
57 | fi | ||
58 | |||
59 | perl -w -pi -e 's/\A(project\(SDL[0-9]+ LANGUAGES C VERSION ")[0-9.]+/${1}'$NEWVERSION'/;' CMakeLists.txt | ||
60 | |||
61 | perl -w -pi -e 's/\A(.* SDL_MAJOR_VERSION = )\d+/${1}'$MAJOR'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java | ||
62 | perl -w -pi -e 's/\A(.* SDL_MINOR_VERSION = )\d+/${1}'$MINOR'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java | ||
63 | perl -w -pi -e 's/\A(.* SDL_MICRO_VERSION = )\d+/${1}'$MICRO'/;' android-project/app/src/main/java/org/libsdl/app/SDLActivity.java | ||
64 | |||
65 | perl -w -pi -e 's/(\#define SDL_MAJOR_VERSION\s+)\d+/${1}'$MAJOR'/;' include/SDL3/SDL_version.h | ||
66 | perl -w -pi -e 's/(\#define SDL_MINOR_VERSION\s+)\d+/${1}'$MINOR'/;' include/SDL3/SDL_version.h | ||
67 | perl -w -pi -e 's/(\#define SDL_MICRO_VERSION\s+)\d+/${1}'$MICRO'/;' include/SDL3/SDL_version.h | ||
68 | |||
69 | perl -w -pi -e 's/(FILEVERSION\s+)\d+,\d+,\d+/${1}'$MAJOR','$MINOR','$MICRO'/;' src/core/windows/version.rc | ||
70 | perl -w -pi -e 's/(PRODUCTVERSION\s+)\d+,\d+,\d+/${1}'$MAJOR','$MINOR','$MICRO'/;' src/core/windows/version.rc | ||
71 | perl -w -pi -e 's/(VALUE "FileVersion", ")\d+, \d+, \d+/${1}'$MAJOR', '$MINOR', '$MICRO'/;' src/core/windows/version.rc | ||
72 | perl -w -pi -e 's/(VALUE "ProductVersion", ")\d+, \d+, \d+/${1}'$MAJOR', '$MINOR', '$MICRO'/;' src/core/windows/version.rc | ||
73 | |||
74 | echo "Running build-scripts/test-versioning.sh to verify changes..." | ||
75 | ./build-scripts/test-versioning.sh | ||
76 | |||
77 | echo "All done." | ||
78 | echo "Run 'git diff' and make sure this looks correct, before 'git commit'." | ||
79 | |||
80 | exit 0 | ||
81 | |||