diff --git a/CMakeLists.txt b/CMakeLists.txt index 92aef4f97..ae388a3e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,7 @@ math(EXPR DYLIB_CURRENT_VERSION_MAJOR "${LT_MAJOR} + ${LT_AGE} + 1") math(EXPR DYLIB_CURRENT_VERSION_MINOR "${LT_REVISION}") math(EXPR DYLIB_COMPAT_VERSION_MAJOR "${LT_MAJOR} + 1") set(DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION_MAJOR}.${DYLIB_CURRENT_VERSION_MINOR}.0") -set(DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPAT_VERSION_MAJOR}.0.0") +set(DYLIB_COMPATIBILITY_VERSION "${DYLIB_CURRENT_VERSION}") # This list holds all generated headers. # To avoid generating them twice, these are added to a dummy target on which all sdl targets depend. diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index 5a30009f2..f71afab9b 100644 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -9436,7 +9436,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_COMPATIBILITY_VERSION = 2501.0.0; DYLIB_CURRENT_VERSION = 2501.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -9521,7 +9521,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_COMPATIBILITY_VERSION = 2501.0.0; DYLIB_CURRENT_VERSION = 2501.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; diff --git a/docs/release_checklist.md b/docs/release_checklist.md index 33769949e..809a5012e 100644 --- a/docs/release_checklist.md +++ b/docs/release_checklist.md @@ -22,8 +22,7 @@ * set first number in `DYLIB_CURRENT_VERSION` to (100 * *minor*) + 1 * set second number in `DYLIB_CURRENT_VERSION` to 0 - * if backwards compatibility has been broken, - increase `DYLIB_COMPATIBILITY_VERSION` (?) + * set `DYLIB_COMPATIBILITY_VERSION` to the same value * Run test/versioning.sh to verify that everything is consistent diff --git a/test/versioning.sh b/test/versioning.sh index 893727cf8..f0e8182ab 100755 --- a/test/versioning.sh +++ b/test/versioning.sh @@ -130,15 +130,6 @@ fi # For simplicity this assumes we'll never break ABI before SDL 3. dylib_compat=$(sed -Ene 's/.*DYLIB_COMPATIBILITY_VERSION = (.*);$/\1/p' Xcode/SDL/SDL.xcodeproj/project.pbxproj) -ref='1.0.0 -1.0.0' - -if [ "$ref" = "$dylib_compat" ]; then - ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is consistent" -else - not_ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is inconsistent" -fi - dylib_cur=$(sed -Ene 's/.*DYLIB_CURRENT_VERSION = (.*);$/\1/p' Xcode/SDL/SDL.xcodeproj/project.pbxproj) case "$ref_minor" in @@ -155,10 +146,16 @@ esac ref="${major}.${minor}.0 ${major}.${minor}.0" +if [ "$ref" = "$dylib_compat" ]; then + ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is consistent" +else + not_ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is inconsistent, expected $ref, got $dylib_compat" +fi + if [ "$ref" = "$dylib_cur" ]; then ok "project.pbxproj DYLIB_CURRENT_VERSION is consistent" else - not_ok "project.pbxproj DYLIB_CURRENT_VERSION is inconsistent" + not_ok "project.pbxproj DYLIB_CURRENT_VERSION is inconsistent, expected $ref, got $dylib_cur" fi echo "1..$tests"