diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/build-scripts/update-version.sh | |
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/build-scripts/update-version.sh')
| -rwxr-xr-x | contrib/SDL-3.2.8/build-scripts/update-version.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/build-scripts/update-version.sh b/contrib/SDL-3.2.8/build-scripts/update-version.sh new file mode 100755 index 0000000..86ae816 --- /dev/null +++ b/contrib/SDL-3.2.8/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 | |||
