[aeron] update to 1.52.2 (#52870)

This commit is contained in:
toge 2026-08-06 04:48:15 +09:00 committed by GitHub
parent 6b8b73b15b
commit bba6df8c9d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 102 additions and 37 deletions

View File

@ -1,10 +1,26 @@
diff --git a/aeron-config.cmake.in b/aeron-config.cmake.in
index 770c80c..31be745 100644
--- a/aeron-config.cmake.in
+++ b/aeron-config.cmake.in
@@ -4,6 +4,10 @@ include(CMakeFindDependencyMacro)
find_package(Threads)
find_package(Java)
+if (@AERON_VCPKG_LIBUUID@)
+ find_dependency(unofficial-libuuid CONFIG)
+endif ()
+
include("${CMAKE_CURRENT_LIST_DIR}/aeron-targets.cmake")
check_required_components(aeron)
\ No newline at end of file
diff --git a/aeron-driver/src/main/c/CMakeLists.txt b/aeron-driver/src/main/c/CMakeLists.txt
index 1234567..abcdefg 100644
index bcd9a48..06f9f3e 100644
--- a/aeron-driver/src/main/c/CMakeLists.txt
+++ b/aeron-driver/src/main/c/CMakeLists.txt
@@ -36,15 +36,39 @@ if (NOT MSVC)
@@ -36,15 +36,42 @@ if (NOT MSVC)
endif ()
check_include_file("bsd/stdlib.h" BSDSTDLIB_H_EXISTS)
-check_include_file("uuid/uuid.h" UUID_H_EXISTS)
find_library(LIBBSD_EXISTS NAMES bsd libbsd)
@ -22,6 +38,9 @@ index 1234567..abcdefg 100644
+ list(APPEND CMAKE_REQUIRED_LIBRARIES "unofficial::UUID::uuid")
+ set(LIBUUID_EXISTS TRUE)
+ set(AERON_LIB_UUID_LIBS "unofficial::UUID::uuid")
+ # The imported target leaks into the exported aeron targets, so the package config
+ # has to pull it back in via find_dependency().
+ set(AERON_VCPKG_LIBUUID ON CACHE INTERNAL "")
+ set(UUID_H_EXISTS TRUE)
+ set(UUID_GENERATE_PROTOTYPE_EXISTS TRUE)
+ endif()
@ -35,39 +54,39 @@ index 1234567..abcdefg 100644
+if(NOT DEFINED UUID_H_EXISTS OR NOT UUID_H_EXISTS)
+ check_include_file("uuid/uuid.h" UUID_H_EXISTS)
+endif()
if (LIBBSD_EXISTS)
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} -lbsd")
endif ()
-if (LIBUUID_EXISTS)
+if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} -luuid")
endif ()
@@ -64,7 +88,9 @@ if (MSVC AND "${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
@@ -64,7 +91,9 @@ if (MSVC AND "${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
set(WSAPOLL_PROTOTYPE_EXISTS True)
endif ()
-check_symbol_exists(uuid_generate "uuid/uuid.h" UUID_GENERATE_PROTOTYPE_EXISTS)
+if(NOT DEFINED UUID_GENERATE_PROTOTYPE_EXISTS OR NOT UUID_GENERATE_PROTOTYPE_EXISTS)
+ check_symbol_exists(uuid_generate "uuid/uuid.h" UUID_GENERATE_PROTOTYPE_EXISTS)
+endif()
check_symbol_exists(poll "poll.h" POLL_PROTOTYPE_EXISTS)
check_symbol_exists(epoll_create "sys/epoll.h" EPOLL_PROTOTYPE_EXISTS)
@@ -387,7 +413,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
@@ -410,7 +439,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
set(AERON_LIB_BSD_LIBS bsd)
endif ()
- if (LIBUUID_EXISTS)
+ if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)
set(AERON_LIB_UUID_LIBS uuid)
endif ()
@@ -400,7 +426,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
@@ -422,7 +451,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
endif ()
if (CYGWIN)
- if (LIBUUID_EXISTS)
+ if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)

View File

@ -0,0 +1,58 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index febb611..042fd02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,6 +58,14 @@ option(AERON_INSTALL_TARGETS "Enable installation step" ${STANDALONE_BUILD})
unset(STANDALONE_BUILD)
+# Linkage of the primary (non "_static") library targets. Honour BUILD_SHARED_LIBS when it is set
+# explicitly, so that a static-only install does not export targets referring to missing shared libraries.
+if (DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
+ set(AERON_LIB_LINKAGE STATIC)
+else ()
+ set(AERON_LIB_LINKAGE SHARED)
+endif ()
+
# CMAKE_OSX_ARCHITECTURES can be set to arm64 or x86_64 (or both) to make a specific architecture version. Requires
# CMake 3.21. Must be set before project(), etc.
#set(CMAKE_OSX_ARCHITECTURES x86_64)
diff --git a/aeron-archive/src/main/c/CMakeLists.txt b/aeron-archive/src/main/c/CMakeLists.txt
index 5e6af48..8245ba4 100644
--- a/aeron-archive/src/main/c/CMakeLists.txt
+++ b/aeron-archive/src/main/c/CMakeLists.txt
@@ -189,7 +189,7 @@ SET(HEADERS
)
# shared library
-add_library(aeron_archive_c_client SHARED ${SOURCE} ${HEADERS})
+add_library(aeron_archive_c_client ${AERON_LIB_LINKAGE} ${SOURCE} ${HEADERS})
add_library(aeron::aeron_archive_c_client ALIAS aeron_archive_c_client)
add_dependencies(aeron_archive_c_client c_codecs)
diff --git a/aeron-client/src/main/c/CMakeLists.txt b/aeron-client/src/main/c/CMakeLists.txt
index 761a0b4..b97344b 100644
--- a/aeron-client/src/main/c/CMakeLists.txt
+++ b/aeron-client/src/main/c/CMakeLists.txt
@@ -237,7 +237,7 @@ set(HEADERS
aeron_windows.h
aeronc.h)
-add_library(aeron SHARED ${SOURCE} ${HEADERS})
+add_library(aeron ${AERON_LIB_LINKAGE} ${SOURCE} ${HEADERS})
add_library(aeron::aeron ALIAS aeron)
target_include_directories(aeron
PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" "$<INSTALL_INTERFACE:include/aeron>")
diff --git a/aeron-driver/src/main/c/CMakeLists.txt b/aeron-driver/src/main/c/CMakeLists.txt
index 06f9f3e..80bc99e 100644
--- a/aeron-driver/src/main/c/CMakeLists.txt
+++ b/aeron-driver/src/main/c/CMakeLists.txt
@@ -412,7 +412,7 @@ SET(HEADERS
aeron_driver_version.h
aeronmd.h)
-add_library(aeron_driver SHARED ${DRIVER_ONLY_SOURCE} ${HEADERS})
+add_library(aeron_driver ${AERON_LIB_LINKAGE} ${DRIVER_ONLY_SOURCE} ${HEADERS})
add_library(aeron::aeron_driver ALIAS aeron_driver)
target_include_directories(aeron_driver PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${AERON_C_CLIENT_SOURCE_PATH}>"

View File

@ -6,11 +6,12 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO aeron-io/aeron
REF "${VERSION}"
SHA512 5d51aabeb9305d912534190bf88ddfaf09d842324d908f9a829e91e5acde1327103c4b4e07f0a2e48a3061d193f7b618d9b3fd154abaf8ecb39b9d35efb7b106
SHA512 592be81475d19ff5da24dd5c100ddf14da0cee62504c394b5633ac60cbd781279c72c9059e4421862adb3c7162220be7aaa50c783ff05b1f4826870dff346f1c
HEAD_REF master
PATCHES
patches/add-libuuid-vcpkg-support.patch
patches/fix-static-crt-linkage.patch
patches/fix-library-linkage.patch
)
# Set archive option based on feature
@ -33,26 +34,8 @@ vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/aeron)
# Aeron always builds both static and shared libraries regardless of VCPKG_LIBRARY_LINKAGE.
# Handle the shared library artifacts based on linkage type.
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
# For static builds, remove shared library artifacts (DLLs, SOs, DYLIBs and their import libs)
file(REMOVE
"${CURRENT_PACKAGES_DIR}/lib/aeron.dll"
"${CURRENT_PACKAGES_DIR}/lib/aeron_client_shared.dll"
"${CURRENT_PACKAGES_DIR}/lib/aeron_driver.dll"
"${CURRENT_PACKAGES_DIR}/lib/aeron.lib"
"${CURRENT_PACKAGES_DIR}/lib/aeron_client_shared.lib"
"${CURRENT_PACKAGES_DIR}/lib/aeron_driver.lib"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron.dll"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_client_shared.dll"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_driver.dll"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron.lib"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_client_shared.lib"
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_driver.lib"
)
else()
# For dynamic builds, move DLLs from lib to bin
# Aeron installs DLLs into lib; move them to bin
if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll")
file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll")

View File

@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "aeron",
"version": "1.52.0",
"version": "1.52.2",
"description": "Efficient reliable UDP unicast, UDP multicast, and IPC message transport",
"homepage": "https://github.com/aeron-io/aeron",
"license": "Apache-2.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "cd1e8cf9fa9e3ad5e5a518b41de5ce64dd443b66",
"version": "1.52.2",
"port-version": 0
},
{
"git-tree": "b66d99b2de16204bea70e6f388570c8610515c1c",
"version": "1.52.0",

View File

@ -61,7 +61,7 @@
"port-version": 0
},
"aeron": {
"baseline": "1.52.0",
"baseline": "1.52.2",
"port-version": 0
},
"air-ctl": {