Author: brane Date: Thu Jun 5 06:14:39 2025 New Revision: 1926147 URL: http://svn.apache.org/viewvc?rev=1926147&view=rev Log: On the user-defined-authn branch: Sync with trunk r1926146.
Added: serf/branches/user-defined-authn/build/SerfElfGenMap.cmake - copied unchanged from r1926146, serf/trunk/build/SerfElfGenMap.cmake serf/branches/user-defined-authn/build/SerfFindExports.cmake - copied unchanged from r1926146, serf/trunk/build/SerfFindExports.cmake serf/branches/user-defined-authn/build/SerfMachGenExp.cmake - copied unchanged from r1926146, serf/trunk/build/SerfMachGenExp.cmake Removed: serf/branches/user-defined-authn/build/SerfWindowsToolkit.cmake Modified: serf/branches/user-defined-authn/ (props changed) serf/branches/user-defined-authn/CMakeLists.txt serf/branches/user-defined-authn/build/FindBrotli.cmake (props changed) serf/branches/user-defined-authn/build/FindGSSAPI.cmake (props changed) serf/branches/user-defined-authn/build/SerfGenClangd.cmake (props changed) serf/branches/user-defined-authn/build/SerfMacOS.cmake (props changed) serf/branches/user-defined-authn/build/SerfPlatform.cmake serf/branches/user-defined-authn/build/SerfWindowsGenDef.cmake serf/branches/user-defined-authn/build/gen_def.py Propchange: serf/branches/user-defined-authn/ ------------------------------------------------------------------------------ Merged /serf/trunk:r1926137-1926146 Modified: serf/branches/user-defined-authn/CMakeLists.txt URL: http://svn.apache.org/viewvc/serf/branches/user-defined-authn/CMakeLists.txt?rev=1926147&r1=1926146&r2=1926147&view=diff ============================================================================== --- serf/branches/user-defined-authn/CMakeLists.txt (original) +++ serf/branches/user-defined-authn/CMakeLists.txt Thu Jun 5 06:14:39 2025 @@ -92,7 +92,6 @@ endif() include(GNUInstallDirs) include(SerfPlatform) -include(SerfWindowsToolkit) # On the Mac: Use dependencies from Homebrew or MacPorts if(USE_HOMEBREW OR USE_MACPORTS) @@ -133,6 +132,7 @@ list(APPEND EXPORTS_BLACKLIST "serf_http_protocol_create" "serf_https_protocol_create" "serf_http_request_queue" + "serf_authn_unregister_scheme" ) # Serf library source files @@ -189,15 +189,15 @@ list(APPEND SOURCES if(SERF_WINDOWS) # Generate the .def file for the Windows DLL import library. - set(SERF_DEF_FILE "${CMAKE_CURRENT_BINARY_DIR}/serf.def") + set(SERF_DEF_FILE "${CMAKE_CURRENT_BINARY_DIR}/libserf-${SERF_MAJOR_VERSION}.def") add_custom_command( OUTPUT "${SERF_DEF_FILE}" DEPENDS ${HEADERS} COMMAND ${CMAKE_COMMAND} -DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}" -DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH}" - -DSERF_DEF_BLACKLIST="${EXPORTS_BLACKLIST}" - -DSERF_DEF_HEADERS="${HEADERS}" + -DSERF_EXPORT_BLACKLIST="${EXPORTS_BLACKLIST}" + -DSERF_EXPORT_HEADERS="${HEADERS}" -DSERF_DEF_FILE="${SERF_DEF_FILE}" -P "build/SerfWindowsGenDef.cmake" WORKING_DIRECTORY "${SERF_SOURCE_DIR}" @@ -217,6 +217,40 @@ if(SERF_WINDOWS) add_compile_definitions("SERF_HAVE_SSPI") endif(SERF_WINDOWS) +if(SERF_DARWIN) + set(SERF_EXP_FILE "${CMAKE_CURRENT_BINARY_DIR}/libserf-${SERF_MAJOR_VERSION}.exp") + add_custom_command( + OUTPUT "${SERF_EXP_FILE}" + DEPENDS ${HEADERS} + COMMAND ${CMAKE_COMMAND} + -DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}" + -DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH}" + -DSERF_EXPORT_BLACKLIST="${EXPORTS_BLACKLIST}" + -DSERF_EXPORT_HEADERS="${HEADERS}" + -DSERF_EXP_FILE="${SERF_EXP_FILE}" + -P "build/SerfMachGenExp.cmake" + WORKING_DIRECTORY "${SERF_SOURCE_DIR}" + ) + set(SHARED_SOURCES "${SERF_EXP_FILE}") +endif(SERF_DARWIN) + +if(SERF_ELF_TARGET) + set(SERF_MAP_FILE "${CMAKE_CURRENT_BINARY_DIR}/libserf-${SERF_MAJOR_VERSION}.map") + add_custom_command( + OUTPUT "${SERF_MAP_FILE}" + DEPENDS ${HEADERS} + COMMAND ${CMAKE_COMMAND} + -DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}" + -DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH}" + -DSERF_EXPORT_BLACKLIST="${EXPORTS_BLACKLIST}" + -DSERF_EXPORT_HEADERS="${HEADERS}" + -DSERF_MAP_FILE="${SERF_MAP_FILE}" + -P "build/SerfElfGenMap.cmake" + WORKING_DIRECTORY "${SERF_SOURCE_DIR}" + ) + set(SHARED_SOURCES "${SERF_MAP_FILE}") +endif(SERF_ELF_TARGET) + # Process build options for dependency search if(SERF_WINDOWS) if(EXPAT) @@ -380,6 +414,14 @@ if(NOT SKIP_SHARED) set_target_properties(serf_shared PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${SERF_INSTALL_LIBRARIES}") endif() + if(SERF_DARWIN) + set_target_properties(serf_shared PROPERTIES + LINK_FLAGS "-Wl,-exported_symbols_list,${SERF_EXP_FILE}") + endif() + if(SERF_ELF_TARGET) + set_target_properties(serf_shared PROPERTIES + LINK_FLAGS "-Wl,--version-script,${SERF_MAP_FILE}") + endif() set(SERF_TARGETS "serf_shared") if(SERF_WINDOWS) Propchange: serf/branches/user-defined-authn/build/FindBrotli.cmake ------------------------------------------------------------------------------ svn:eol-style = native Propchange: serf/branches/user-defined-authn/build/FindGSSAPI.cmake ------------------------------------------------------------------------------ svn:eol-style = native Propchange: serf/branches/user-defined-authn/build/SerfGenClangd.cmake ------------------------------------------------------------------------------ svn:eol-style = native Propchange: serf/branches/user-defined-authn/build/SerfMacOS.cmake ------------------------------------------------------------------------------ svn:eol-style = native Modified: serf/branches/user-defined-authn/build/SerfPlatform.cmake URL: http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/SerfPlatform.cmake?rev=1926147&r1=1926146&r2=1926147&view=diff ============================================================================== --- serf/branches/user-defined-authn/build/SerfPlatform.cmake (original) +++ serf/branches/user-defined-authn/build/SerfPlatform.cmake Thu Jun 5 06:14:39 2025 @@ -29,6 +29,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin endif() elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(SERF_LINUX TRUE) + set(SERF_ELF_TARGET TRUE) set(SERF_PLATFORM "Linux") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") set(SERF_WINDOWS TRUE) Modified: serf/branches/user-defined-authn/build/SerfWindowsGenDef.cmake URL: http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/SerfWindowsGenDef.cmake?rev=1926147&r1=1926146&r2=1926147&view=diff ============================================================================== --- serf/branches/user-defined-authn/build/SerfWindowsGenDef.cmake (original) +++ serf/branches/user-defined-authn/build/SerfWindowsGenDef.cmake Thu Jun 5 06:14:39 2025 @@ -19,8 +19,13 @@ # Generate Serf's .def file for Windows DLLs. -include(SerfWindowsToolkit) +include(SerfFindExports) -string(REGEX REPLACE " +" ";" SERF_DEF_BLACKLIST "${SERF_DEF_BLACKLIST}") -string(REGEX REPLACE " +" ";" SERF_DEF_HEADERS "${SERF_DEF_HEADERS}") -SerfWindowsGenDef("${SERF_DEF_BLACKLIST}" "${SERF_DEF_FILE}" ${SERF_DEF_HEADERS}) +separate_arguments(SERF_EXPORT_BLACKLIST) +separate_arguments(SERF_EXPORT_HEADERS) + +SerfFindExports("${SERF_EXPORT_BLACKLIST}" exports_ ${SERF_EXPORT_HEADERS}) +file(WRITE "${SERF_DEF_FILE}" "EXPORTS\n") +foreach(symbol_ ${exports_}) + file(APPEND "${SERF_DEF_FILE}" "${symbol_}\n") +endforeach() Modified: serf/branches/user-defined-authn/build/gen_def.py URL: http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/gen_def.py?rev=1926147&r1=1926146&r2=1926147&view=diff ============================================================================== --- serf/branches/user-defined-authn/build/gen_def.py (original) +++ serf/branches/user-defined-authn/build/gen_def.py Thu Jun 5 06:14:39 2025 @@ -10,9 +10,9 @@ # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -66,6 +66,7 @@ BLACKLIST = set(['serf_connection_switch 'serf_http_protocol_create', 'serf_https_protocol_create', 'serf_http_request_queue', + "serf_authn_unregister_scheme", ])