Author: rinrab
Date: Sat Jan 17 18:08:26 2026
New Revision: 1931390
Log:
Add separate target to the build system for checksum backend linkage. This
eliminates the need of adding openssl directly (which acted in the same way
before), only it's more convinient for other backends like Windows BCrypt.
* CMakeLists.txt
(checksum backend): Setup backends via external-checksum-libs target.
* build/generator/gen_win_dependencies.py
(GenDependenciesBase): Ignore 'checksum-libs'.
* build.conf
(libsvn_subr): Link against checksum-libs
(checksum-libs): New target.
Modified:
subversion/trunk/CMakeLists.txt
subversion/trunk/build.conf
subversion/trunk/build/generator/gen_win_dependencies.py
Modified: subversion/trunk/CMakeLists.txt
==============================================================================
--- subversion/trunk/CMakeLists.txt Sat Jan 17 17:11:02 2026
(r1931389)
+++ subversion/trunk/CMakeLists.txt Sat Jan 17 18:08:26 2026
(r1931390)
@@ -386,14 +386,14 @@ if (SVN_ENABLE_RA_SERF)
endif()
if (SVN_CHECKSUM_BACKEND STREQUAL "apr")
- add_library(external-openssl INTERFACE)
+ add_library(external-checksum-libs INTERFACE)
add_private_config_definition(
"Defined if svn should use APR to compute checksums."
"SVN_CHECKSUM_BACKEND_APR" "1"
)
elseif (SVN_CHECKSUM_BACKEND STREQUAL "openssl")
find_package(OpenSSL REQUIRED)
- add_library(external-openssl ALIAS OpenSSL::Crypto)
+ add_library(external-checksum-libs ALIAS OpenSSL::Crypto)
add_private_config_definition(
"Defined if svn should use OpenSSL to compute checksums."
"SVN_CHECKSUM_BACKEND_OPENSSL" "1"
@@ -403,8 +403,8 @@ elseif (SVN_CHECKSUM_BACKEND STREQUAL "b
message(SEND_ERROR "BCrypt checksum backend is only available on Win32
platform.")
endif()
- add_library(external-openssl INTERFACE)
- target_link_libraries(external-openssl INTERFACE Bcrypt.lib)
+ add_library(external-checksum-libs INTERFACE)
+ target_link_libraries(external-checksum-libs INTERFACE Bcrypt.lib)
add_private_config_definition(
"Defined if svn should use BCrypt to compute checksums."
Modified: subversion/trunk/build.conf
==============================================================================
--- subversion/trunk/build.conf Sat Jan 17 17:11:02 2026 (r1931389)
+++ subversion/trunk/build.conf Sat Jan 17 18:08:26 2026 (r1931390)
@@ -394,7 +394,7 @@ install = fsmod-lib
path = subversion/libsvn_subr
sources = *.c lz4/*.c
libs = aprutil apriconv apr xml zlib apr_memcache
- sqlite magic intl lz4 utf8proc macos-plist macos-keychain openssl
+ sqlite magic intl lz4 utf8proc macos-plist macos-keychain checksum-libs
msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
crypt32.lib version.lib ws2_32.lib
msvc-export =
@@ -1505,6 +1505,10 @@ external-lib = $(SVN_SASL_LIBS)
type = lib
external-lib = $(SVN_OPENSSL_LIBS) $(SVN_LIBCRYPTO_LIBS)
+[checksum-libs]
+type = lib
+external-lib = $(SVN_CHECKSUM_LIBS)
+
[intl]
type = lib
external-lib = $(SVN_INTL_LIBS)
Modified: subversion/trunk/build/generator/gen_win_dependencies.py
==============================================================================
--- subversion/trunk/build/generator/gen_win_dependencies.py Sat Jan 17
17:11:02 2026 (r1931389)
+++ subversion/trunk/build/generator/gen_win_dependencies.py Sat Jan 17
18:08:26 2026 (r1931390)
@@ -125,6 +125,7 @@ class GenDependenciesBase(gen_base.Gener
'java_sdk',
'openssl',
'apr_memcache',
+ 'checksum-libs',
# So optional, we don't even have any code to detect them on Windows
'magic',