Author: brane
Date: Sun Jun  8 17:23:20 2025
New Revision: 1926256

URL: http://svn.apache.org/viewvc?rev=1926256&view=rev
Log:
On the user-defined-authn branch: sync with trunk to r1926255.

Modified:
    serf/branches/user-defined-authn/   (props changed)
    serf/branches/user-defined-authn/.github/workflows/linux.yml
    serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml
    serf/branches/user-defined-authn/CMakeLists.txt
    serf/branches/user-defined-authn/build/FindAPR.cmake
    serf/branches/user-defined-authn/build/FindAPRUtil.cmake
    serf/branches/user-defined-authn/build/FindBrotli.cmake
    serf/branches/user-defined-authn/build/FindGSSAPI.cmake
    serf/branches/user-defined-authn/build/SerfChecks.cmake
    serf/branches/user-defined-authn/test/CMakeLists.txt

Propchange: serf/branches/user-defined-authn/
------------------------------------------------------------------------------
  Merged /serf/trunk:r1926226-1926255

Modified: serf/branches/user-defined-authn/.github/workflows/linux.yml
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/.github/workflows/linux.yml?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/.github/workflows/linux.yml (original)
+++ serf/branches/user-defined-authn/.github/workflows/linux.yml Sun Jun  8 
17:23:20 2025
@@ -1,4 +1,4 @@
-name: Linux
+name: Linux (SCons)
 
 on:
   push:

Modified: serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml 
(original)
+++ serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml Sun 
Jun  8 17:23:20 2025
@@ -12,14 +12,19 @@ on:
 jobs:
   build:
     strategy:
-      matrix:
-        os: [windows-latest]
-        build-type: [Debug, Release]
-        triplet:
-        - x64-windows
-        - x86-windows
-        generator: [ "Visual Studio 17 2022" ]
       fail-fast: false
+      matrix:
+        include:
+          - name: Windows x64
+            os: windows-latest
+            platform: x64
+            triplet: x64-windows
+            generator: "Visual Studio 17 2022"
+          - name: Windows x86
+            os: windows-latest
+            platform: Win32
+            triplet: x86-windows
+            generator: "Visual Studio 17 2022"
 
     runs-on: ${{ matrix.os }}
 
@@ -34,33 +39,31 @@ jobs:
               core.exportVariable('ACTIONS_CACHE_URL', 
process.env.ACTIONS_CACHE_URL || '');
               core.exportVariable('ACTIONS_RUNTIME_TOKEN', 
process.env.ACTIONS_RUNTIME_TOKEN || '');
 
-      - name: Set build environment for x86
-        uses: actions/github-script@v7
-        with:
-          script: |
-              core.exportVariable('SERF_WIN_PLATFORM', 'Win32');
-        if: startsWith(matrix.triplet, 'x86-')
-
-      - name: Set build environment for x64
-        uses: actions/github-script@v7
-        with:
-          script: |
-              core.exportVariable('SERF_WIN_PLATFORM', 'x64');
-        if: startsWith(matrix.triplet, 'x64-')
-
       - name: Install dependencies
         run: vcpkg install --triplet ${{ matrix.triplet }} apr apr-util zlib 
openssl brotli
 
       - uses: actions/checkout@v3
 
       - name: Configure CMake
-        run: cmake -B ${{github.workspace}}/build -G "${{ matrix.generator }}" 
-DCMAKE_GENERATOR_PLATFORM=${{ env.SERF_WIN_PLATFORM }} 
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake 
-DAPR_ROOT=C:/vcpkg/installed/${{ matrix.triplet }} 
-DAPRUtil_ROOT=C:/vcpkg/installed/${{ matrix.triplet }} 
-DOPENSSL_ROOT_DIR=C:/vcpkg/installed/${{ matrix.triplet }} 
-DZLIB_ROOT=C:/vcpkg/installed/${{ matrix.triplet }} 
-DBrotli_ROOT=C:/vcpkg/installed/${{ matrix.triplet }}
+        run: >
+            cmake
+            -B ${{github.workspace}}/build
+            -G "${{ matrix.generator }}"
+            -DCMAKE_GENERATOR_PLATFORM=${{ matrix.platform }}
+            -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
+            -DCMAKE_PREFIX_PATH=C:/vcpkg/installed/${{ matrix.triplet }}
+            -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
 
-      - name: Build
-        run: cmake --build ${{github.workspace}}/build --config ${{ 
matrix.build-type }}
+      - name: Build (Release)
+        run: cmake --build ${{github.workspace}}/build --config Release -j
+
+      - name: Build (Debug)
+        run: cmake --build ${{github.workspace}}/build --config Debug -j
+
+      - name: Test (Release)
+        working-directory: ${{github.workspace}}/build
+        run: ctest -C Release --output-on-failure
 
-      - name: Test
+      - name: Test (Debug)
         working-directory: ${{github.workspace}}/build
-        # Execute tests defined by the CMake configuration.
-        # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more 
detail
-        run: ctest -C ${{ matrix.build-type }} --output-on-failure
+        run: ctest -C Debug --output-on-failure

Modified: serf/branches/user-defined-authn/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/CMakeLists.txt?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/CMakeLists.txt (original)
+++ serf/branches/user-defined-authn/CMakeLists.txt Sun Jun  8 17:23:20 2025
@@ -265,7 +265,7 @@ if(APR_STATIC)
   if(SERF_WINDOWS)
     list(APPEND SERF_PUBLIC_TARGETS APR::APR_static)
     if(NOT APR_CONTAINS_APRUTIL)
-      list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL_static)
+      list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil_static)
     endif()
   else(SERF_WINDOWS)
     message(WARNING "option APR_STATIC is not implemented on this platform")
@@ -273,25 +273,45 @@ if(APR_STATIC)
 else(APR_STATIC)
   list(APPEND SERF_PUBLIC_TARGETS APR::APR)
   if(NOT APR_CONTAINS_APRUTIL)
-    list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL)
+    list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil)
   endif()
 endif(APR_STATIC)
 
 # Feature tests
 include(SerfChecks)
-CheckNotFunction("BIO_set_init" "SERF_NO_SSL_BIO_WRAPPERS" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_STORE_get0_param" "SERF_NO_SSL_X509_STORE_WRAPPERS" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_get0_notBefore" "SERF_NO_SSL_X509_GET0_NOTBEFORE" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_get0_notAfter" "SERF_NO_SSL_X509_GET0_NOTAFTER" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_STORE_CTX_get0_chain" "SERF_NO_SSL_X509_GET0_CHAIN" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("ASN1_STRING_get0_data" "SERF_NO_SSL_ASN1_STRING_GET0_DATA" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("CRYPTO_set_locking_callback" "SERF_HAVE_SSL_LOCKING_CALLBACKS" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("OpenSSL_version_num" "SERF_HAVE_OPENSSL_VERSION_NUM" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("SSL_set_alpn_protos" "SERF_HAVE_OPENSSL_ALPN" 
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunctionMacro("OPENSSL_malloc_init" "SERF_HAVE_OPENSSL_MALLOC_INIT" 
"openssl/crypto.h"
-                   "${OPENSSL_INCLUDE_DIR}" ${OPENSSL_LIBRARIES} 
${SERF_STANDARD_LIBRARIES})
-CheckFunctionMacro("SSL_library_init" "SERF_HAVE_OPENSSL_SSL_LIBRARY_INIT" 
"openssl/ssl.h"
-                   "${OPENSSL_INCLUDE_DIR}" ${OPENSSL_LIBRARIES} 
${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("BIO_set_init" "NULL, 0" "SERF_NO_SSL_BIO_WRAPPERS"
+                 "openssl/bio.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_STORE_get0_param" "NULL" 
"SERF_NO_SSL_X509_STORE_WRAPPERS"
+                 "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_get0_notBefore" "NULL" "SERF_NO_SSL_X509_GET0_NOTBEFORE"
+                 "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_get0_notAfter" "NULL" "SERF_NO_SSL_X509_GET0_NOTAFTER"
+                 "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_STORE_CTX_get0_chain" "NULL" 
"SERF_NO_SSL_X509_GET0_CHAIN"
+                 "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("ASN1_STRING_get0_data" "NULL" 
"SERF_NO_SSL_ASN1_STRING_GET0_DATA"
+                 "openssl/asn1.h" "${OPENSSL_INCLUDE_DIR}"
+                 ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("CRYPTO_set_locking_callback" "NULL" 
"SERF_HAVE_SSL_LOCKING_CALLBACKS"
+              "openssl/crypto.h" "${OPENSSL_INCLUDE_DIR}"
+              ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("SSL_set_alpn_protos" "NULL, NULL, 0" "SERF_HAVE_OPENSSL_ALPN"
+              "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+              ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("OpenSSL_version_num" "" "SERF_HAVE_OPENSSL_VERSION_NUM"
+              "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+              ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("OPENSSL_malloc_init" "" "SERF_HAVE_OPENSSL_MALLOC_INIT"
+              "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+              ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("SSL_library_init" "" "SERF_HAVE_OPENSSL_SSL_LIBRARY_INIT"
+              "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+              ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
 CheckHeader("stdbool.h" "HAVE_STDBOOL_H=1")
 CheckType("OSSL_HANDSHAKE_STATE" "openssl/ssl.h" 
"SERF_HAVE_OSSL_HANDSHAKE_STATE" ${OPENSSL_INCLUDE_DIR})
 if(Brotli_FOUND)
@@ -299,7 +319,9 @@ if(Brotli_FOUND)
   # Check for the function only if the type check succeeded.
   get_directory_property(_cdef COMPILE_DEFINITIONS)
   if("SERF_HAVE_BROTLI_DECODER_RESULT" IN_LIST _cdef)
-    CheckFunction("BrotliDecoderTakeOutput" "SERF_HAVE_BROTLI" Brotli::Decode 
${SERF_STANDARD_LIBRARIES})
+    CheckFunction("BrotliDecoderTakeOutput" "NULL, NULL" "SERF_HAVE_BROTLI"
+                  "brotli/decode.h" ${BROTLI_INCLUDES}
+                  Brotli::Decode ${SERF_STANDARD_LIBRARIES})
   endif()
 endif()
 

Modified: serf/branches/user-defined-authn/build/FindAPR.cmake
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindAPR.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindAPR.cmake (original)
+++ serf/branches/user-defined-authn/build/FindAPR.cmake Sun Jun  8 17:23:20 
2025
@@ -60,9 +60,11 @@ cmake_minimum_required(VERSION 3.12)
 
 
 # -------------------------------------------------------------------
-# Common utility functions for FindAPR.cmaks and FindAPRtil.cmake
+# Common utility functions for FindAPR.cmake and FindAPRtil.cmake
 # -------------------------------------------------------------------
 
+include(GNUInstallDirs)
+
 # Run the APR/Util configuration program
 function(_apru_config _program _varname _regexp)
   execute_process(COMMAND ${_program} ${ARGN}
@@ -87,28 +89,58 @@ function(_apru_config _program _varname
   endif()
 endfunction(_apru_config)
 
-# Parse the APR/Util version number from the header
-function(_apru_version _version_varname _major_varname _minor_varname _header 
_prefix)
-  file(STRINGS ${_header} _apru_major
+# Windows: Find the APR/Util include dir and version number.
+function(_apru_find_win_version _header_basename
+         _include_varname _version_varname _major_varname _minor_varname)
+  find_path(${_include_varname} "${_header_basename}.h"
+            PATH_SUFFIXES
+            "include"
+            "${CMAKE_INSTALL_INCLUDEDIR}"
+            "include/apr-2"
+            "${CMAKE_INSTALL_INCLUDEDIR}/apr-2"
+            "include/apr-1"
+            "${CMAKE_INSTALL_INCLUDEDIR}/apr-1")
+  mark_as_advanced(${_include_varname})
+
+  set(_header "${_header_basename}_version.h")
+  if(NOT EXISTS "${${_include_varname}}/${_header}")
+    message(FATAL_ERROR "${_header} was not found in ${${_include_varname}}")
+  endif()
+
+  string(TOUPPER "${_header_basename}" _prefix)
+  set(_header "${${_include_varname}}/${_header}")
+  file(STRINGS "${_header}" _apru_major
        REGEX "^ *# *define +${_prefix}_MAJOR_VERSION +[0-9]+.*$")
-  file(STRINGS ${_header} _apru_minor
+  file(STRINGS "${_header}" _apru_minor
        REGEX "^ *# *define +${_prefix}_MINOR_VERSION +[0-9]+.*$")
-  file(STRINGS ${_header} _apru_patch
+  file(STRINGS "${_header}" _apru_patch
        REGEX "^ *# *define +${_prefix}_PATCH_VERSION +[0-9]+.*$")
   string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_major ${_apru_major})
   string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_minor ${_apru_minor})
   string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_patch ${_apru_patch})
+
   set(${_version_varname} "${_apru_major}.${_apru_minor}.${_apru_patch}" 
PARENT_SCOPE)
   set(${_major_varname} ${_apru_major} PARENT_SCOPE)
   set(${_minor_varname} ${_apru_minor} PARENT_SCOPE)
-endfunction(_apru_version)
+endfunction(_apru_find_win_version)
 
 # Windows: Find the DLL (runtime) library
-function(_apru_find_dll _varname _dllname)
+function(_apru_find_win_dll _varname _dllname)
+  set(CMAKE_FIND_LIBRARY_PREFIXES "")
   set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
-  find_library(${_varname} NAMES ${_dllname}
-               PATHS ${ARGN} NO_DEFAULT_PATH PATH_SUFFIXES "bin" "lib")
-endfunction(_apru_find_dll)
+  find_library(${_varname} NAMES "${_dllname}"
+               PATH_SUFFIXES
+               "bin" "${CMAKE_INSTALL_BINDIR}"
+               "lib" "${CMAKE_INSTALL_LIBDIR}")
+endfunction(_apru_find_win_dll)
+
+# Windows: Find static and import libraries
+function(_apru_find_win_lib _varname _libname)
+  set(CMAKE_FIND_LIBRARY_PREFIXES "")
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+  find_library(${_varname} NAMES "${_libname}"
+               PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+endfunction(_apru_find_win_lib)
 
 # Extract the main and extra static libraries
 function(_apru_extras _static_var _extra_var)
@@ -159,57 +191,38 @@ function(_apru_location _location_var _e
   if(NOT _dir)
     find_library(${_location_var} NAMES "${_lib}")
   else()
-    find_library(${_location_var} NAMES "${_lib}" PATHS "${_dir}" 
NO_DEFAULT_PATH)
+    find_library(${_location_var} NAMES "${_lib}"
+                 PATHS "${_dir}" NO_DEFAULT_PATH)
   endif()
   set(${_extralibs_var} ${_extra} PARENT_SCOPE)
 endfunction(_apru_location)
 
+
+# -------------------------------------------------------------------
+# The actual FindAPR implementation
 # -------------------------------------------------------------------
 
 if(NOT _apru_include_only_utilities)
 
   set(APR_FOUND FALSE)
+  if(DEFINED APR_ROOT)
+    get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
+  endif()
 
   if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 
-    if(DEFINED APR_ROOT)
-      get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
-    else()
-      message(FATAL_ERROR "APR_ROOT must be defined on Windows")
-    endif()
-
-    include(CheckIncludeFile)
-
-    find_path(APR_INCLUDES "apr.h"
-              PATHS "${APR_ROOT}/include"
-              PATH_SUFFIXES "apr-2" "apr-1"
-              NO_DEFAULT_PATH)
-    if(NOT APR_INCLUDES)
-      message(FATAL_ERROR "apr.h was not found in ${APR_ROOT}")
-    endif()
-
-    if(NOT EXISTS "${APR_INCLUDES}/apr_version.h")
-      message(FATAL_ERROR "apr_version.h was not found in ${APR_INCLUDES}")
-    endif()
-
-    _apru_version(APR_VERSION _apr_major _apr_minor 
"${APR_INCLUDES}/apr_version.h" "APR")
+    _apru_find_win_version("apr" APR_INCLUDES
+                           APR_VERSION _apr_major _apr_minor)
     set(_apr_name "apr-${_apr_major}")
 
-    find_library(APR_LIBRARIES NAMES "lib${_apr_name}.lib"
-                 PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
-    find_library(APR_STATIC_LIBS NAMES "${_apr_name}.lib"
-                 PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
-    _apru_find_dll(APR_RUNTIME_LIBS "lib${_apr_name}.dll" ${APR_ROOT})
+    _apru_find_win_lib(APR_LIBRARIES "lib${_apr_name}")
+    _apru_find_win_lib(APR_STATIC_LIBS "${_apr_name}")
+    _apru_find_win_dll(APR_RUNTIME_LIBS "lib${_apr_name}")
 
   else()    # NOT Windows
 
-    if(DEFINED APR_ROOT)
-      get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
-      find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config
-                   PATHS "${APR_ROOT}/bin" NO_DEFAULT_PATH)
-    else()
-      find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config)
-    endif()
+    find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config
+                 PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
     mark_as_advanced(APR_CONFIG_EXECUTABLE)
 
     macro(_apr_invoke _varname _regexp)
@@ -233,9 +246,10 @@ if(NOT _apru_include_only_utilities)
   endif()
 
   include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(APR
-                                    REQUIRED_VARS APR_LIBRARIES APR_INCLUDES
-                                    VERSION_VAR APR_VERSION)
+  find_package_handle_standard_args(
+    APR
+    REQUIRED_VARS APR_LIBRARIES APR_INCLUDES
+    VERSION_VAR APR_VERSION)
 
   if(APR_FOUND)
     if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")

Modified: serf/branches/user-defined-authn/build/FindAPRUtil.cmake
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindAPRUtil.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindAPRUtil.cmake (original)
+++ serf/branches/user-defined-authn/build/FindAPRUtil.cmake Sun Jun  8 
17:23:20 2025
@@ -39,7 +39,7 @@ cmake_minimum_required(VERSION 3.12)
 #
 # ::
 #
-#   APRUTIL_FOUND          - True if APR-Util was found
+#   APRUtil_FOUND          - True if APR-Util was found
 #   APRUTIL_VERSION        - The version of APR-Util found (x.y.z)
 #   APRUTIL_INCLUDES       - Where to find apr.h, etc.
 #   APRUTIL_LIBRARIES      - Linker switches to use with ld to link against APR
@@ -61,7 +61,7 @@ if(NOT APR_FOUND)
   find_package(APR REQUIRED)
 endif()
 
-set(APRUTIL_FOUND FALSE)
+set(APRUtil_FOUND FALSE)
 
 if(APR_CONTAINS_APRUTIL)
 
@@ -77,44 +77,27 @@ else(APR_CONTAINS_APRUTIL)
   include(${CMAKE_CURRENT_LIST_DIR}/FindAPR.cmake)
   unset(_apru_include_only_utilities)
 
-  if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-
-    if(DEFINED APRUtil_ROOT)
-      get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
-    else()
-      message(FATAL_ERROR "APRUtil_ROOT must be defined on Windows")
-    endif()
-
-    include(CheckIncludeFile)
-
-    find_path(APRUTIL_INCLUDES "apu.h"
-              PATHS "${APRUtil_ROOT}/include"
-              PATH_SUFFIXES "apr-1"
-              NO_DEFAULT_PATH)
-    if(NOT APRUTIL_INCLUDES)
-      message(FATAL_ERROR "apu.h was not found in ${APRUtil_ROOT}")
-    endif()
+  if(DEFINED APRUtil_ROOT)
+    get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
+  endif()
 
-    if(NOT EXISTS "${APRUTIL_INCLUDES}/apu_version.h")
-      message(FATAL_ERROR "apu_version.h was not found in ${APRUTIL_INCLUDES}")
-    endif()
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 
-    _apru_version(APRUTIL_VERSION _apu_major _apu_minor 
"${APRUTIL_INCLUDES}/apu_version.h" "APU")
+    _apru_find_win_version("apu" APRUTIL_INCLUDES
+                           APRUTIL_VERSION _apu_major _apu_minor)
     set(_apu_name "aprutil-${_apu_major}")
 
-    if(${_apu_major} GREATER 1 OR (${_apu_major} EQUAL 1 AND ${_apu_minor} 
GREATER 5))
-      set(_apu_expat_name "expat.lib")
+    if(${_apu_major} GREATER 1
+       OR (${_apu_major} EQUAL 1 AND ${_apu_minor} GREATER 5))
+      set(_apu_expat_name "expat")
     else()
-      set(_apu_expat_name "xml.lib")
+      set(_apu_expat_name "xml")
     endif()
 
-    find_library(APRUTIL_LIBRARIES NAMES "lib${_apu_name}.lib"
-                 PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
-    find_library(_apu_static NAMES "${_apu_name}.lib"
-                 PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
-    find_library(_apu_expat NAMES ${_apu_expat_name}
-                 PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
-    _apru_find_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}.dll" ${APRUtil_ROOT})
+    _apru_find_win_lib(APRUTIL_LIBRARIES "lib${_apu_name}")
+    _apru_find_win_lib(_apu_static NAMES "${_apu_name}")
+    _apru_find_win_lib(_apu_expat NAMES ${_apu_expat_name})
+    _apru_find_win_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}")
 
     if(NOT _apu_expat AND (_apu_expat_name MATCHES "expat"))
       find_package(EXPAT QUIET)
@@ -123,7 +106,7 @@ else(APR_CONTAINS_APRUTIL)
       endif()
     endif()
     if(NOT _apu_expat)
-      message(WARNING "Could not find ${_apu_expat_name}"
+      message(WARNING "Could not find ${_apu_expat_name}.lib"
                       " for APR-Util static linking.")
     endif()
     set(APRUTIL_STATIC_LIBS ${_apu_static} ${_apu_expat}
@@ -131,13 +114,8 @@ else(APR_CONTAINS_APRUTIL)
 
   else()    # NOT Windows
 
-    if(DEFINED APRUtil_ROOT)
-      get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
-      find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config
-                   PATHS "${APRUtil_ROOT}/bin" NO_DEFAULT_PATH)
-    else()
-      find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config)
-    endif()
+    find_program(APRUTIL_CONFIG_EXECUTABLE NAMES apu-1-config
+                 PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
     mark_as_advanced(APRUTIL_CONFIG_EXECUTABLE)
 
     macro(_apu_invoke _varname _regexp)
@@ -153,21 +131,22 @@ else(APR_CONTAINS_APRUTIL)
   endif()   # NOT Windows
 
   include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(APRUtil
-                                    REQUIRED_VARS APRUTIL_LIBRARIES 
APRUTIL_INCLUDES
-                                    VERSION_VAR APRUTIL_VERSION)
+  find_package_handle_standard_args(
+    APRUtil
+    REQUIRED_VARS APRUTIL_LIBRARIES APRUTIL_INCLUDES
+    VERSION_VAR APRUTIL_VERSION)
 
-  if(APRUTIL_FOUND)
+  if(APRUtil_FOUND)
     if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 
       if(APRUTIL_LIBRARIES AND APRUTIL_RUNTIME_LIBS)
-        add_library(APR::APRUTIL SHARED IMPORTED)
-        set_target_properties(APR::APRUTIL PROPERTIES
+        add_library(APR::APRUtil SHARED IMPORTED)
+        set_target_properties(APR::APRUtil PROPERTIES
           INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}"
           IMPORTED_LOCATION "${APRUTIL_RUNTIME_LIBS}"
           IMPORTED_IMPLIB "${APRUTIL_LIBRARIES}")
         if(TARGET APR::APR)
-          target_link_libraries(APR::APRUTIL
+          target_link_libraries(APR::APRUtil
             INTERFACE APR::APR)
         endif()
       endif()
@@ -177,25 +156,25 @@ else(APR_CONTAINS_APRUTIL)
         if(TARGET APR::APR_static)
           list(APPEND _apu_extra APR::APR_static)
         endif()
-        add_library(APR::APRUTIL_static STATIC IMPORTED)
-        set_target_properties(APR::APRUTIL_static PROPERTIES
+        add_library(APR::APRUtil_static STATIC IMPORTED)
+        set_target_properties(APR::APRUtil_static PROPERTIES
           INTERFACE_COMPILE_DEFINITIONS "APU_DECLARE_STATIC"
           INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}"
           IMPORTED_LOCATION "${_apu_static}")
-        target_link_libraries(APR::APRUTIL_static
+        target_link_libraries(APR::APRUtil_static
           INTERFACE ${_apu_extra})
       endif()
 
     else()    # NOT Windows
 
       _apru_location(_apu_library _apu_extra "${APRUTIL_LIBRARIES}")
-      add_library(APR::APRUTIL UNKNOWN IMPORTED)
-      set_target_properties(APR::APRUTIL PROPERTIES
+      add_library(APR::APRUtil UNKNOWN IMPORTED)
+      set_target_properties(APR::APRUtil PROPERTIES
         INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}"
         IMPORTED_LOCATION "${_apu_library}")
-      target_link_libraries(APR::APRUTIL
+      target_link_libraries(APR::APRUtil
           INTERFACE ${APRUTIL_LDFLAGS};${APRUTIL_EXTRALIBS};${_apu_extra})
     endif()   # NOT Windows
-  endif(APRUTIL_FOUND)
+  endif(APRUtil_FOUND)
 
 endif(APR_CONTAINS_APRUTIL)

Modified: serf/branches/user-defined-authn/build/FindBrotli.cmake
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindBrotli.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindBrotli.cmake (original)
+++ serf/branches/user-defined-authn/build/FindBrotli.cmake Sun Jun  8 17:23:20 
2025
@@ -23,18 +23,10 @@ include(GNUInstallDirs)
 set(Brotli_FOUND FALSE)
 
 function(_get_brotli_version)
-  if(DEFINED Brotli_ROOT)
-    get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH)
-    find_program(brotli NAMES "brotli"
-                 PATHS
-                 "${Brotli_ROOT}/bin"
-                 "${Brotli_ROOT}/${CMAKE_INSTALL_BINDIR}"
-                 NO_DEFAULT_PATH)
-  else()
-    find_program(brotli NAMES "brotli")
-  endif()
+  find_program(brotli NAMES "brotli"
+               PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
 
-  if(NOT "${brotli}" STREQUAL "brotli-NOTFOUND")
+  if(NOT "${brotli}" MATCHES "-NOTFOUND")
     execute_process(COMMAND "${brotli}" "--version"
                     OUTPUT_VARIABLE output
                     RESULT_VARIABLE failed)
@@ -49,42 +41,28 @@ function(_get_brotli_version)
 endfunction(_get_brotli_version)
 
 function(_get_brotli_includes_libs)
-  if(DEFINED Brotli_ROOT)
-    find_path(includes "decode.h"
-              PATHS "${Brotli_ROOT}"
-              PATH_SUFFIXES
-              "include/brotli"
-              "${CMAKE_INSTALL_INCLUDEDIR}/brotli}"
-              NO_DEFAULT_PATH)
-    get_filename_component(includes "${includes}" DIRECTORY)
-    find_library(common_lib "brotlicommon"
-                 PATHS "${Brotli_ROOT}"
-                 PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
-                 NO_DEFAULT_PATH)
-    find_library(decode_lib "brotlidec"
-                 PATHS "${Brotli_ROOT}"
-                 PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
-                 NO_DEFAULT_PATH)
-    find_library(encode_lib "brotlienc"
-                 PATHS "${Brotli_ROOT}"
-                 PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
-                 NO_DEFAULT_PATH)
-  else()
-    find_path(includes "decode.h"
-              PATH_SUFFIXES
-              "include/brotli"
-              "${CMAKE_INSTALL_INCLUDEDIR}/brotli}")
-    get_filename_component(includes "${includes}" DIRECTORY)
-    find_library(common_lib "brotlicommon")
-    find_library(decode_lib "brotlidec")
-    find_library(encode_lib "brotlienc")
-  endif()
+  find_path(includes "decode.h"
+            PATH_SUFFIXES
+            "include/brotli"
+            "${CMAKE_INSTALL_INCLUDEDIR}/brotli}")
+  get_filename_component(includes "${includes}" DIRECTORY)
+  find_library(common_lib NAMES "brotlicommon"
+               PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+  find_library(decode_lib NAMES "brotlidec"
+               PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+  find_library(encode_lib NAMES "brotlienc"
+               PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+
   set(BROTLI_INCLUDES "${includes}" PARENT_SCOPE)
   set(BROTLI_COMMON_LIBRARY "${common_lib}" PARENT_SCOPE)
   set(BROTLI_DECODE_LIBRARY "${decode_lib}" PARENT_SCOPE)
   set(BROTLI_ENCODE_LIBRARY "${encode_lib}" PARENT_SCOPE)
 endfunction(_get_brotli_includes_libs)
 
+if(DEFINED Brotli_ROOT)
+  get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH)
+endif()
+
 _get_brotli_version()
 _get_brotli_includes_libs()
 if(NOT EXISTS "${BROTLI_INCLUDES}/brotli/decode.h"

Modified: serf/branches/user-defined-authn/build/FindGSSAPI.cmake
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindGSSAPI.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindGSSAPI.cmake (original)
+++ serf/branches/user-defined-authn/build/FindGSSAPI.cmake Sun Jun  8 17:23:20 
2025
@@ -23,14 +23,13 @@ set(GSSAPI_FOUND FALSE)
 
 if(DEFINED GSSAPI_ROOT)
   get_filename_component(GSSAPI_ROOT "${GSSAPI_ROOT}" REALPATH)
-  find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config"
-               PATHS "${GSSAPI_ROOT}/bin" NO_DEFAULT_PATH)
-else()
-  find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config")
 endif()
+
+find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config"
+             PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
 mark_as_advanced(KRB5_CONFIG_EXECUTABLE)
 
-if("${KRB5_CONFIG_EXECUTABLE}" STREQUAL "KRB5_CONFIG_EXECUTABLE-NOTFOUND")
+if("${KRB5_CONFIG_EXECUTABLE}" MATCHES "-NOTFOUND")
   message(STATUS "Could NOT find GSSAPI (missing: krb5-config)")
 else()
   function(_krb5_config _varname _dedup)

Modified: serf/branches/user-defined-authn/build/SerfChecks.cmake
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/SerfChecks.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/SerfChecks.cmake (original)
+++ serf/branches/user-defined-authn/build/SerfChecks.cmake Sun Jun  8 17:23:20 
2025
@@ -17,71 +17,69 @@
 #   under the License.
 # ===================================================================
 
-include(CheckFunctionExists)
+include(CheckCSourceCompiles)
 include(CheckIncludeFile)
-include(CheckSymbolExists)
 include(CheckTypeSize)
 
-function(_CheckFunction var_ name_ libraries_)
+function(_CheckFunction var_ name_ args_ header_ includes_ libraries_)
   if(libraries_)
     set(CMAKE_REQUIRED_LIBRARIES "${libraries_}")
   else()
     unset(CMAKE_REQUIRED_LIBRARIES)
   endif()
 
-  check_function_exists("${name_}" "serf_foundit_${name_}_")
-  if(serf_foundit_${name_}_)
+  if(includes_)
+    set(CMAKE_REQUIRED_INCLUDES "${includes_}")
+  else()
+    unset(CMAKE_REQUIRED_INCLUDES)
+  endif()
+
+  set(source_
+      "#include <${header_}>"
+      ""
+      "#if _MSC_VER && !__INTEL_COMPILER"
+      "  #pragma function(${name_})"
+      "#endif"
+      ""
+      "int main(void) {"
+      "#if defined (__stub_${name_}) || defined (__stub___${name_})"
+      "  #error \"${name_} has a GNU stub, cannot check\""
+      "#else"
+      "  ${name_}(${args_})\\;"
+      "#endif"
+      "  return 0\\;"
+      "}"
+      "")
+  list(JOIN source_ "\n" source_)
+
+  check_c_source_compiles("${source_}" "check_function_${name_}")
+  if(${check_function_${name_}})
     set("${var_}" TRUE PARENT_SCOPE)
   else()
     set("${var_}" FALSE PARENT_SCOPE)
   endif()
+
+  unset(CMAKE_REQUIRED_INCLUDES)
   unset(CMAKE_REQUIRED_LIBRARIES)
 endfunction(_CheckFunction)
 
-macro(CheckFunction name_ symbol_)
-  _CheckFunction("serf_feature_CheckFunction_${name_}_" "${name_}" "${ARGN}")
+macro(CheckFunction name_ args_ symbol_ header_ includes_)
+  _CheckFunction("serf_feature_CheckFunction_${name_}_"
+                 "${name_}" "${args_}" "${header_}" "${includes_}" "${ARGN}")
   if("${serf_feature_CheckFunction_${name_}_}")
     add_compile_definitions("${symbol_}")
   endif()
 endmacro(CheckFunction)
 
-macro(CheckNotFunction name_ symbol_)
-  _CheckFunction("serf_feature_CheckNotFunction_${name_}_" "${name_}" 
"${ARGN}")
+macro(CheckNotFunction name_ args_ symbol_ header_ includes_)
+  _CheckFunction("serf_feature_CheckNotFunction_${name_}_"
+                 "${name_}" "${args_}" "${header_}" "${includes_}" "${ARGN}")
   if(NOT "${serf_feature_CheckNotFunction_${name_}_}")
     add_compile_definitions("${symbol_}")
   endif()
 endmacro(CheckNotFunction)
 
 
-function(_CheckSymbol var_ name_ header_ includes_)
-  if(includes_)
-    set(CMAKE_REQUIRED_INCLUDES "${includes_}")
-  else()
-    unset(CMAKE_REQUIRED_INCLUDES)
-  endif()
-
-  check_symbol_exists("${name_}" "${header_}" "serf_foundit_symbol_${name_}_")
-  if(serf_foundit_symbol_${name_}_)
-    set("${var_}" TRUE PARENT_SCOPE)
-  else()
-    set("${var_}" FALSE PARENT_SCOPE)
-  endif()
-  unset(CMAKE_REQUIRED_INCLUDES)
-endfunction(_CheckSymbol)
-
-macro(CheckFunctionMacro name_ symbol_ header_ includes_)
-  _CheckFunction("serf_feature_CheckFunctionMacro_${name_}_" "${name_}" 
"${ARGN}")
-  if("${serf_feature_CheckFunctionMacro_${name_}_}")
-    add_compile_definitions("${symbol_}")
-  else()
-    _CheckSymbol("serf_feature_CheckFunctionMacro_${name_}_" "${name_}" 
"${header_}" "${includes_}")
-    if("${serf_feature_CheckFunctionMacro_${name_}_}")
-      add_compile_definitions("${symbol_}")
-    endif()
-  endif()
-endmacro(CheckFunctionMacro)
-
-
 function(_CheckHeader var_ name_ includes_)
   if(includes_)
     set(CMAKE_REQUIRED_INCLUDES "${includes_}")
@@ -89,8 +87,8 @@ function(_CheckHeader var_ name_ include
     unset(CMAKE_REQUIRED_INCLUDES)
   endif()
 
-  check_include_file("${name_}" "serf_foundit_${name_}_")
-  if(${serf_foundit_${name_}_})
+  check_include_file("${name_}" "check_symbol_${name_}")
+  if(${check_symbol_${name_}})
     set("${var_}" TRUE PARENT_SCOPE)
   else()
     set("${var_}" FALSE PARENT_SCOPE)
@@ -119,8 +117,8 @@ function(_CheckType var_ name_ header_ i
     unset(CMAKE_EXTRA_INCLUDE_FILES)
   endif()
 
-  check_type_size("${name_}" "serf_foundit_${name_}_")
-  if(${HAVE_serf_foundit_${name_}_})
+  check_type_size("${name_}" "check_type_${name_}")
+  if(${HAVE_check_type_${name_}})
     set("${var_}" TRUE PARENT_SCOPE)
   else()
     set("${var_}" FALSE PARENT_SCOPE)

Modified: serf/branches/user-defined-authn/test/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/test/CMakeLists.txt?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/test/CMakeLists.txt (original)
+++ serf/branches/user-defined-authn/test/CMakeLists.txt Sun Jun  8 17:23:20 
2025
@@ -34,6 +34,15 @@ set(TEST_ALL_SOURCES
     "MockHTTPinC/MockHTTP_server.c"
 )
 
+set(TEST_ALL_SUITES
+    "auth"
+    "buckets"
+    "context"
+    "server"
+    "ssl"
+    "internal"
+)
+
 set(SIMPLE_TEST_TARGETS
     "serf_get"
     "serf_response"
@@ -64,10 +73,13 @@ file(GLOB RESPONSE_TEST_CASES "${CMAKE_C
 foreach(TEST_CASE ${RESPONSE_TEST_CASES})
   get_filename_component(TEST_CASE_NAME ${TEST_CASE} NAME)
   add_test(NAME "${TEST_CASE_NAME}" COMMAND serf_response "${TEST_CASE}")
-  list(APPEND RESPONSE_TESTS "${TEST_CASE_NAME}")
+  list(APPEND ALL_TESTS "${TEST_CASE_NAME}")
 endforeach()
 
-add_test(NAME test_all COMMAND test_all)
+foreach(TEST_CASE ${TEST_ALL_SUITES})
+  add_test(NAME test_${TEST_CASE} COMMAND test_all ${TEST_CASE})
+  list(APPEND ALL_TESTS test_${TEST_CASE})
+endforeach()
 
-set_tests_properties(${RESPONSE_TESTS} test_all PROPERTIES
+set_tests_properties(${ALL_TESTS} PROPERTIES
                      ENVIRONMENT srcdir=${SERF_SOURCE_DIR})



Reply via email to