mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-04-20 11:38:34 +00:00
open62541: update to v1.4.15
The patch has been applied upstream. Signed-off-by: Johannes Kauffmann <johanneskauffmann@hotmail.com>
This commit is contained in:
committed by
Khem Raj
parent
3c81ff5859
commit
97ef9cc3b8
@@ -1,114 +0,0 @@
|
||||
From a725a263124ae8c87fe6af34a9b3a7981b7f116d Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
|
||||
Date: Wed, 10 Dec 2025 09:36:55 +0100
|
||||
Subject: [PATCH] fix(build): List private dependencies in .pc file
|
||||
|
||||
In the "normal" case of linking to open62541.so, only -lopen62541 is
|
||||
needed in `Libs` because open62541's dependencies are not exposed via
|
||||
its public header files.
|
||||
|
||||
All the other dependencies (`Requires.private` and `Libs.private`) only
|
||||
matter using open62541.a (linking statically via `pkg-config --static`).
|
||||
The crypto libraries and TMP2 library provide .pc files themselves, so
|
||||
we can list them in `Requires.private`. The other (direct) open62541
|
||||
dependencies are listed in `Libs.private`.
|
||||
|
||||
Also reorder the .pc file (`Libs` comes last and `Requires(.private)
|
||||
comes` before `Cflags`).
|
||||
|
||||
Fixes: #7574
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/open62541/open62541/pull/7588]
|
||||
---
|
||||
CMakeLists.txt | 22 +++++++++++-----------
|
||||
tools/open62541.pc.in | 4 +++-
|
||||
2 files changed, 14 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 91bf382fd71..6ef54a67847 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -493,13 +493,18 @@ endif()
|
||||
|
||||
set(open62541_LIBRARIES "")
|
||||
set(open62541_PUBLIC_LIBRARIES "")
|
||||
+set(pkgcfg_libsprivate "")
|
||||
+set(pkgcfg_requiresprivate "")
|
||||
if("${UA_ARCHITECTURE}" STREQUAL "posix")
|
||||
list(APPEND open62541_LIBRARIES "m")
|
||||
+ list(APPEND pkgcfg_libsprivate "-lm")
|
||||
if(UA_MULTITHREADING GREATER_EQUAL 100 OR UA_BUILD_UNIT_TESTS)
|
||||
list(APPEND open62541_PUBLIC_LIBRARIES "pthread")
|
||||
+ list(APPEND pkgcfg_libsprivate "-lpthread")
|
||||
endif()
|
||||
if(NOT APPLE AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD"))
|
||||
list(APPEND open62541_LIBRARIES "rt")
|
||||
+ list(APPEND pkgcfg_libsprivate "-lrt")
|
||||
endif()
|
||||
elseif("${UA_ARCHITECTURE}" STREQUAL "win32")
|
||||
list(APPEND open62541_LIBRARIES "ws2_32")
|
||||
@@ -511,6 +516,7 @@ if(UA_ENABLE_ENCRYPTION_OPENSSL)
|
||||
# https://cmake.org/cmake/help/v3.13/module/FindOpenSSL.html
|
||||
find_package(OpenSSL REQUIRED)
|
||||
list(APPEND open62541_LIBRARIES "${OPENSSL_LIBRARIES}")
|
||||
+ list(APPEND pkgcfg_requiresprivate "openssl")
|
||||
if(WIN32)
|
||||
# Add bestcrypt for windows systems
|
||||
list(APPEND open62541_LIBRARIES bcrypt)
|
||||
@@ -521,6 +527,7 @@ if(UA_ENABLE_ENCRYPTION_LIBRESSL)
|
||||
# See https://github.com/libressl-portable/portable/blob/master/FindLibreSSL.cmake
|
||||
find_package(LibreSSL REQUIRED)
|
||||
list(APPEND open62541_LIBRARIES ${LIBRESSL_LIBRARIES})
|
||||
+ list(APPEND pkgcfg_requiresprivate "openssl")
|
||||
if(WIN32)
|
||||
# Add bestcrypt for random generator and ws2_32 for crypto
|
||||
list(APPEND open62541_LIBRARIES ws2_32 bcrypt)
|
||||
@@ -533,6 +540,7 @@ if(UA_ENABLE_ENCRYPTION_MBEDTLS OR UA_ENABLE_PUBSUB_ENCRYPTION)
|
||||
# defined in /tools/cmake/FindMbedTLS.cmake.
|
||||
find_package(MbedTLS REQUIRED)
|
||||
list(APPEND open62541_LIBRARIES ${MBEDTLS_LIBRARIES})
|
||||
+ list(APPEND pkgcfg_requiresprivate "mbedtls")
|
||||
if(WIN32)
|
||||
# Add bestcrypt for windows systems
|
||||
list(APPEND open62541_LIBRARIES bcrypt)
|
||||
@@ -541,6 +549,7 @@ endif()
|
||||
|
||||
if(UA_ENABLE_TPM2_SECURITY)
|
||||
list(APPEND open62541_LIBRARIES ${TPM2_LIB})
|
||||
+ list(APPEND pkgcfg_requiresprivate "tpm2-pkcs11")
|
||||
endif()
|
||||
|
||||
if(MINGW)
|
||||
@@ -1531,17 +1540,8 @@ if(UA_ENABLE_AMALGAMATION)
|
||||
set(PC_EXTRA_CFLAGS "-DUA_ENABLE_AMALGAMATION")
|
||||
endif()
|
||||
|
||||
-set(pkgcfgpubliclibs "")
|
||||
-foreach(lib ${open62541_PUBLIC_LIBRARIES})
|
||||
- set(pkgcfgpubliclibs "${pkgcfgpubliclibs}-l${lib} ")
|
||||
-endforeach()
|
||||
-
|
||||
-if(BUILD_SHARED_LIBS)
|
||||
- foreach(lib ${open62541_LIBRARIES})
|
||||
- set(pkgcfgpubliclibs "${pkgcfgpubliclibs}-l${lib} ")
|
||||
- endforeach()
|
||||
-endif()
|
||||
-
|
||||
+string(REPLACE ";" " " pkgcfg_requiresprivate "${pkgcfg_requiresprivate}")
|
||||
+string(REPLACE ";" " " pkgcfg_libsprivate "${pkgcfg_libsprivate}")
|
||||
configure_file(tools/open62541.pc.in ${PROJECT_BINARY_DIR}/src_generated/open62541.pc @ONLY)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
diff --git a/tools/open62541.pc.in b/tools/open62541.pc.in
|
||||
index 50abf00af4e..a5986013c8e 100644
|
||||
--- a/tools/open62541.pc.in
|
||||
+++ b/tools/open62541.pc.in
|
||||
@@ -5,5 +5,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
Name: open62541
|
||||
Description: open62541 is an open source C (C99) implementation of OPC UA
|
||||
Version: @OPEN62541_VER_MAJOR@.@OPEN62541_VER_MINOR@.@OPEN62541_VER_PATCH@@OPEN62541_VER_LABEL@
|
||||
-Libs: -L${libdir} -lopen62541 @pkgcfgpubliclibs@
|
||||
+Requires.private: @pkgcfg_requiresprivate@
|
||||
Cflags: -I${includedir} @PC_EXTRA_CFLAGS@
|
||||
+Libs: -L${libdir} -lopen62541
|
||||
+Libs.private: @pkgcfg_libsprivate@
|
||||
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "\
|
||||
"
|
||||
|
||||
SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c"
|
||||
SRCREV_opcua = "95dc4c1e9c8c4d3619f90b9c3fc3af194acb8b30"
|
||||
SRCREV_opcua = "45e4cd3ef6c79a8e503d37c9f5c89fefe90d99db"
|
||||
SRCREV_mdnsd = "488d24fb9d427aec77df180268f0291eeee7fb8b"
|
||||
SRCREV_ua-nodeset = "d1bb6a22125bd7cd986272b1ee98a18a91d76fff"
|
||||
SRCREV_mqtt-c = "0f4c34c8cc00b16cfee094745d68b8cdbaecd8e0"
|
||||
@@ -18,7 +18,6 @@ SRC_URI = " \
|
||||
git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mdnsd \
|
||||
git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=latest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/ua-nodeset \
|
||||
git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mqtt-c \
|
||||
file://a725a263124ae8c87fe6af34a9b3a7981b7f116d.patch \
|
||||
"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user