On Wed, Feb 05, 2020 at 11:42:41AM +0100, Ulrich Ölmann wrote: > From: Björn Esser <b.es...@pengutronix.de> > > The open62541 project is an open source implementation of the OPC UA > communication infrastructure which is used in industrial control. > > Signed-off-by: Björn Esser <b.es...@pengutronix.de> > [uol: adjusted commit message] > Signed-off-by: Ulrich Ölmann <u.oelm...@pengutronix.de> > --- > v2 --> v3: adjusted commit message > > ...-UA_NODESET_DIR-to-be-custom-defined.patch | 224 ++++++++++++++++++ > patches/open62541-1.0/series | 4 + > rules/host-open62541.in | 6 + > rules/host-open62541.make | 50 ++++ > rules/open62541.in | 13 + > rules/open62541.make | 140 +++++++++++ > 6 files changed, 437 insertions(+) > create mode 100644 > patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch > create mode 100644 patches/open62541-1.0/series > create mode 100644 rules/host-open62541.in > create mode 100644 rules/host-open62541.make > create mode 100644 rules/open62541.in > create mode 100644 rules/open62541.make > > diff --git > a/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch > > b/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch > new file mode 100644 > index 000000000000..0dfd003518ed > --- /dev/null > +++ > b/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch > @@ -0,0 +1,224 @@ > +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <b.es...@pengutronix.de> > +Date: Mon, 2 Dec 2019 14:38:38 +0100 > +Subject: [PATCH] CMake: Allow UA_NODESET_DIR to be custom defined. > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +This makes it easier for developers to keep all ua-nodesets XML > +definitions in a common location. > + > +Backported from: https://github.com/open62541/open62541/pull/3310 > + > +Signed-off-by: Björn Esser <b.es...@pengutronix.de> > +--- > + CMakeLists.txt | 14 +++++++++----- > + doc/nodeset_compiler.rst | 22 +++++++++++----------- > + examples/CMakeLists.txt | 4 ---- > + examples/nodeset/CMakeLists.txt | 6 +++--- > + tests/nodeset-compiler/CMakeLists.txt | 14 +++++++------- > + tools/cmake/macros_public.cmake | 2 +- > + 6 files changed, 31 insertions(+), 31 deletions(-) > + > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index d426e1da66fe..fbbafd8f2791 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -15,7 +15,6 @@ include(GNUInstallDirs) > + > + # Set when installed via make install > + set(open62541_TOOLS_DIR ${PROJECT_SOURCE_DIR}/tools) > +-set(open62541_NODESET_DIR ${PROJECT_SOURCE_DIR}/deps/ua-nodeset) > + > + include(macros_internal) > + include(macros_public) > +@@ -134,6 +133,11 @@ option(UA_ENABLE_ENCRYPTION "Enable encryption support > (uses mbedTLS)" OFF) > + option(UA_ENABLE_MICRO_EMB_DEV_PROFILE "Builds CTT Compliant Micro Embedded > Device Server Profile" OFF) > + option(BUILD_SHARED_LIBS "Enable building of shared libraries (dll/so)" OFF) > + > ++if(NOT UA_NODESET_DIR) > ++ set(UA_NODESET_DIR ${PROJECT_SOURCE_DIR}/deps/ua-nodeset) > ++endif() > ++set(open62541_NODESET_DIR ${UA_NODESET_DIR}) > ++ > + # Namespace Zero > + set(UA_NAMESPACE_ZERO "REDUCED" CACHE STRING "Completeness of the generated > namespace zero (minimal/reduced/full)") > + SET_PROPERTY(CACHE UA_NAMESPACE_ZERO PROPERTY STRINGS "MINIMAL" "REDUCED" > "FULL") > +@@ -770,7 +774,7 @@ set(UA_FILE_NODESETS) > + > + if(UA_NAMESPACE_ZERO STREQUAL "FULL") > + if(NOT UA_FILE_NS0) > +- set(UA_FILE_NS0 > ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml) > ++ set(UA_FILE_NS0 ${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml) > + endif() > + set(UA_FILE_NODESETS "${UA_FILE_NS0}") > + > +@@ -779,9 +783,9 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL") > + endif() > + > + > +- set(UA_FILE_NODEIDS > ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/NodeIds.csv) > +- set(UA_FILE_STATUSCODES > ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/StatusCode.csv) > +- set(UA_FILE_TYPES_BSD > ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.Types.bsd) > ++ set(UA_FILE_NODEIDS ${UA_NODESET_DIR}/Schema/NodeIds.csv) > ++ set(UA_FILE_STATUSCODES ${UA_NODESET_DIR}/Schema/StatusCode.csv) > ++ set(UA_FILE_TYPES_BSD ${UA_NODESET_DIR}/Schema/Opc.Ua.Types.bsd) > + else() > + if(NOT UA_FILE_NS0) > + set(UA_FILE_NS0 > ${PROJECT_SOURCE_DIR}/tools/schema/Opc.Ua.NodeSet2.Minimal.xml) > +diff --git a/doc/nodeset_compiler.rst b/doc/nodeset_compiler.rst > +index dd752ccd70a9..34fc8f800480 100644 > +--- a/doc/nodeset_compiler.rst > ++++ b/doc/nodeset_compiler.rst > +@@ -292,17 +292,17 @@ Here are some examples for the ``DI`` and ``PLCOpen`` > nodesets:: > + # Generate types and namespace for DI > + ua_generate_nodeset_and_datatypes( > + NAME "di" > +- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv" > +- FILE_BSD > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd" > ++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv" > ++ FILE_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd" > + NAMESPACE_IDX 2 > +- FILE_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml" > ++ FILE_NS "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml" > + ) > + > + # generate PLCopen namespace which is using DI > + ua_generate_nodeset_and_datatypes( > + NAME "plc" > + # PLCopen does not define custom types. Only generate the nodeset > +- FILE_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > ++ FILE_NS "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > + # PLCopen depends on the di nodeset, which must be generated before > + DEPENDS "di" > + ) > +@@ -403,8 +403,8 @@ This DI nodeset makes use of some additional data types > in ``deps/ua-nodeset/DI/ > + NAME "ua_types_di" > + TARGET_SUFFIX "types-di" > + NAMESPACE_IDX 2 > +- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv" > +- FILES_BSD > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd" > ++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv" > ++ FILES_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd" > + ) > + > + The ``NAMESPACE_IDX`` parameter indicates the namespace index of the > generated node IDs for the type definitions. Currently we need to rely that > the namespace is also added at this position in the final server. There is no > automatic inferring yet (pull requests are warmly welcome). > +@@ -414,11 +414,11 @@ Now you can compile the DI nodeset XML using the > following command:: > + > + ua_generate_nodeset( > + NAME "di" > +- FILE > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml" > ++ FILE "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml" > + TYPES_ARRAY "UA_TYPES_DI" > + INTERNAL > + DEPENDS_TYPES "UA_TYPES" > +- DEPENDS_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml" > ++ DEPENDS_NS "${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml" > + DEPENDS_TARGET "open62541-generator-types-di" > + ) > + > +@@ -429,13 +429,13 @@ Next we can generate the PLCopen nodeset. Since it > doesn't require any additiona > + > + ua_generate_nodeset( > + NAME "plc" > +- FILE > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > ++ FILE "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > + INTERNAL > + DEPENDS_TYPES > + "UA_TYPES" "UA_TYPES_DI" > + DEPENDS_NS > +- > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml" > +- > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml" > ++ "${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml" > ++ "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml" > + DEPENDS_TARGET "open62541-generator-ns-di" > + ) > + > +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt > +index d46f853ecde6..353a0fbf992d 100644 > +--- a/examples/CMakeLists.txt > ++++ b/examples/CMakeLists.txt > +@@ -26,10 +26,6 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) > + set(UA_TOOLS_DIR ${open62541_TOOLS_DIR}) > + endif() > + > +- if(NOT UA_NODESET_DIR) > +- set(UA_NODESET_DIR ${open62541_NODESET_DIR}) > +- endif() > +- > + function(assign_source_group) > + # define empty function. We don't need it in standalone > + endfunction(assign_source_group) > +diff --git a/examples/nodeset/CMakeLists.txt > b/examples/nodeset/CMakeLists.txt > +index c4b612d911d5..0a5fe38ef229 100644 > +--- a/examples/nodeset/CMakeLists.txt > ++++ b/examples/nodeset/CMakeLists.txt > +@@ -63,10 +63,10 @@ endif() > + ################### > + > + if(NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) > +- set(FILE_CSV_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset) > +- set(FILE_BSD_PLCOPEN_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset) > ++ set(FILE_CSV_DIRPREFIX ${UA_NODESET_DIR}) > ++ set(FILE_BSD_PLCOPEN_DIRPREFIX ${UA_NODESET_DIR}) > + set(FILE_BSD_POWERLINK_DIRPREFIX ${PROJECT_SOURCE_DIR}/nodeset) > +- set(FILE_NS_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset) > ++ set(FILE_NS_DIRPREFIX ${UA_NODESET_DIR}) > + else() > + set(FILE_CSV_DIRPREFIX ${UA_NODESET_DIR}) > + set(FILE_BSD_PLCOPEN_DIRPREFIX ${UA_NODESET_DIR}) > +diff --git a/tests/nodeset-compiler/CMakeLists.txt > b/tests/nodeset-compiler/CMakeLists.txt > +index 153759aa16c6..2b68e3926499 100644 > +--- a/tests/nodeset-compiler/CMakeLists.txt > ++++ b/tests/nodeset-compiler/CMakeLists.txt > +@@ -11,22 +11,22 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL") > + # Generate types and namespace for DI > + ua_generate_nodeset_and_datatypes( > + NAME "tests-di" > +- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv" > +- FILE_BSD > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd" > ++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv" > ++ FILE_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd" > + NAMESPACE_IDX 2 > + OUTPUT_DIR "${GENERATE_OUTPUT_DIR}" > +- FILE_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml" > ++ FILE_NS "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml" > + INTERNAL > + ) > + > + # Generate types and namespace for ADI > + ua_generate_nodeset_and_datatypes( > + NAME "tests-adi" > +- FILE_CSV > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/OpcUaAdiModel.csv" > +- FILE_BSD > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.Types.bsd" > ++ FILE_CSV "${UA_NODESET_DIR}/ADI/OpcUaAdiModel.csv" > ++ FILE_BSD "${UA_NODESET_DIR}/ADI/Opc.Ua.Adi.Types.bsd" > + NAMESPACE_IDX 3 > + OUTPUT_DIR "${GENERATE_OUTPUT_DIR}" > +- FILE_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.NodeSet2.xml" > ++ FILE_NS "${UA_NODESET_DIR}/ADI/Opc.Ua.Adi.NodeSet2.xml" > + DEPENDS "tests-di" > + INTERNAL > + ) > +@@ -46,7 +46,7 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL") > + ua_generate_nodeset_and_datatypes( > + NAME "tests-plc" > + # PLCopen does not define custom types. Only generate the nodeset > +- FILE_NS > "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > ++ FILE_NS "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml" > + # PLCopen depends on the di nodeset, which must be generated before > + OUTPUT_DIR "${GENERATE_OUTPUT_DIR}" > + DEPENDS "tests-di" > +diff --git a/tools/cmake/macros_public.cmake > b/tools/cmake/macros_public.cmake > +index a6a36f3d1090..751b679a37d8 100644 > +--- a/tools/cmake/macros_public.cmake > ++++ b/tools/cmake/macros_public.cmake > +@@ -100,7 +100,7 @@ endfunction() > + # passed which will all combined to one resulting code. > + # IMPORT_BSD Combination of types array and path to the .bsd file > containing additional type definitions referenced by > + # the FILES_BSD files. The value is separated with a hash > sign, i.e. > +-# > 'UA_TYPES#${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.Types.bsd' > ++# 'UA_TYPES#${UA_NODESET_DIR}/Schema/Opc.Ua.Types.bsd' > + # Multiple files can be passed which will all be imported. > + # [FILES_SELECTED] Optional path to a simple text file which contains a > list of types which should be included in the generation. > + # The file should contain one type per line. Multiple > files can be passed to this argument. > diff --git a/patches/open62541-1.0/series b/patches/open62541-1.0/series > new file mode 100644 > index 000000000000..248a1b603996 > --- /dev/null > +++ b/patches/open62541-1.0/series > @@ -0,0 +1,4 @@ > +# generated by git-ptx-patches > +#tag:base --start-number 1 > +0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch > +# 4a88edd1483ff7bb07a623335b407de7 - git-ptx-patches magic > diff --git a/rules/host-open62541.in b/rules/host-open62541.in > new file mode 100644 > index 000000000000..8a432080ed34 > --- /dev/null > +++ b/rules/host-open62541.in > @@ -0,0 +1,6 @@ > +## SECTION=hosttools_noprompt > + > +config HOST_OPEN62541 > + tristate > + select HOST_CMAKE > + select HOST_UA_NODESET
needs select HOST_SYSTEM_PYTHON3 with ptxdist master. Michael > diff --git a/rules/host-open62541.make b/rules/host-open62541.make > new file mode 100644 > index 000000000000..755ef67a380c > --- /dev/null > +++ b/rules/host-open62541.make > @@ -0,0 +1,50 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2018 by Robert Schwebel <r.schwe...@pengutronix.de> > +# Copyright (C) 2019 by Bjoern Esser <b.es...@pengutronix.de> > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +HOST_PACKAGES-$(PTXCONF_HOST_OPEN62541) += host-open62541 > + > +# > ---------------------------------------------------------------------------- > +# Prepare > +# > ---------------------------------------------------------------------------- > + > +HOST_OPEN62541_LOGLEVEL := 300 > + > +HOST_OPEN62541_CONF_TOOL := cmake > +HOST_OPEN62541_CONF_OPT = \ > + $(CROSS_CMAKE_USR) \ > + -DBUILD_SHARED_LIBS=OFF \ > + -DOPEN62541_VERSION="v$(HOST_OPEN62541_VERSION)" \ > + -DUA_ARCHITECTURE=posix \ > + -DUA_BUILD_EXAMPLES=OFF \ > + -DUA_BUILD_TOOLS=ON \ > + -DUA_BUILD_UNIT_TESTS=OFF \ > + -DUA_ENABLE_AMALGAMATION=OFF \ > + -DUA_ENABLE_COVERAGE=OFF \ > + -DUA_ENABLE_DISCOVERY=OFF \ > + -DUA_ENABLE_DISCOVERY_MULTICAST=OFF \ > + -DUA_ENABLE_ENCRYPTION=OFF \ > + -DUA_ENABLE_EXPERIMENTAL_HISTORIZING=OFF \ > + -DUA_ENABLE_HISTORIZING=OFF \ > + -DUA_ENABLE_METHODCALLS=OFF \ > + -DUA_ENABLE_MICRO_EMB_DEV_PROFILE=OFF \ > + -DUA_ENABLE_NODEMANAGEMENT=OFF \ > + -DUA_ENABLE_QUERY=OFF \ > + -DUA_ENABLE_STATIC_ANALYZER=OFF \ > + -DUA_ENABLE_SUBSCRIPTIONS=OFF \ > + -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF \ > + -DUA_LOGLEVEL=$(HOST_OPEN62541_LOGLEVEL) \ > + -DUA_NAMESPACE_ZERO=FULL \ > + -DUA_NODESET_DIR="$(PTXDIST_SYSROOT_HOST)/usr/share/ua-nodeset" > + > +# vim: syntax=make > diff --git a/rules/open62541.in b/rules/open62541.in > new file mode 100644 > index 000000000000..74ee011e2875 > --- /dev/null > +++ b/rules/open62541.in > @@ -0,0 +1,13 @@ > +## SECTION=communication > + > +config OPEN62541 > + tristate > + prompt "open62541" > + select HOST_CMAKE > + select HOST_OPEN62541 > + select HOST_UA_NODESET > + select LIBC_PTHREAD > + select MBEDTLS > + help > + The open62541 project is an open source implementation of the OPC > UA > + communication infrastructure which is used in industrial control. > diff --git a/rules/open62541.make b/rules/open62541.make > new file mode 100644 > index 000000000000..62e030ed3752 > --- /dev/null > +++ b/rules/open62541.make > @@ -0,0 +1,140 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2018 by Robert Schwebel <r.schwe...@pengutronix.de> > +# Copyright (C) 2019 by Bjoern Esser <b.es...@pengutronix.de> > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_OPEN62541) += open62541 > + > +# > +# Paths and names > +# > +OPEN62541_VERSION := 1.0 > +OPEN62541_MD5 := b8e02d7310e8b48faf52efc539fa9496 > +OPEN62541 := open62541-$(OPEN62541_VERSION) > +OPEN62541_SUFFIX := tar.gz > +OPEN62541_URL := > https://github.com/open62541/open62541/archive/v$(OPEN62541_VERSION)/$(OPEN62541).$(OPEN62541_SUFFIX) > +OPEN62541_SOURCE := $(SRCDIR)/$(OPEN62541).$(OPEN62541_SUFFIX) > +OPEN62541_DIR := $(BUILDDIR)/$(OPEN62541) > +OPEN62541_LICENSE := MPL-2.0 > +OPEN62541_LICENSE_FILES := > file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad > + > +OPEN62541_MDNSD_VERSION := > 4bd993e0fdd06d54c8fd0b8f416cda6a8db18585 > +OPEN62541_MDNSD_MD5 := 0961fc8dc253753ec8ea157104671498 > +OPEN62541_MDNSD_URL := > https://github.com/Pro/mdnsd/archive/$(OPEN62541_MDNSD_VERSION)/open62541-mdnsd-$(OPEN62541_MDNSD_VERSION).tar.gz > +OPEN62541_MDNSD_SOURCE := > $(SRCDIR)/open62541-mdnsd-$(OPEN62541_MDNSD_VERSION).tar.gz > +$(OPEN62541_MDNSD_SOURCE) := OPEN62541_MDNSD > +OPEN62541_MDNSD_DIR := $(OPEN62541_DIR)/deps/mdnsd > +OPEN62541_MDNSD_LICENSE := BSD-3-Clause > +OPEN62541_MDNSD_LICENSE_FILES := > file://LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 > + > +# open62541-mdnsd needs the source dir. > +OPEN62541_DEVPKG := NO > + > +OPEN62541_SOURCES := $(OPEN62541_SOURCE) $(OPEN62541_MDNSD_SOURCE) > + > + > +# > ---------------------------------------------------------------------------- > +# Extract > +# > ---------------------------------------------------------------------------- > + > +$(STATEDIR)/open62541.extract: > + @$(call targetinfo) > + @$(call clean, $(OPEN62541_DIR)) > + @$(call extract, OPEN62541) > + @$(call extract, OPEN62541_MDNSD) > + @$(call patchin, OPEN62541) > + @$(call touch) > + > +# > ---------------------------------------------------------------------------- > +# Prepare > +# > ---------------------------------------------------------------------------- > + > +OPEN62541_LOGLEVEL := 300 > + > +OPEN62541_CONF_TOOL := cmake > +OPEN62541_CONF_OPT := \ > + $(CROSS_CMAKE_USR) \ > + -DBUILD_SHARED_LIBS=ON \ > + -DCLANG_FORMAT_EXE=$(PTXDIST_WORKSPACE)/selected_toolchain/clang-format > \ > + -DMDNSD_LOGLEVEL=$(OPEN62541_LOGLEVEL) \ > + -DOPEN62541_VERSION="v$(OPEN62541_VERSION)" \ > + -DUA_ARCHITECTURE=posix \ > + -DUA_BUILD_EXAMPLES=OFF \ > + -DUA_BUILD_FUZZING=OFF \ > + -DUA_BUILD_FUZZING_CORPUS=OFF \ > + -DUA_BUILD_OSS_FUZZ=OFF \ > + -DUA_BUILD_TOOLS=ON \ > + -DUA_BUILD_UNIT_TESTS=OFF \ > + -DUA_DEBUG=OFF \ > + -DUA_DEBUG_DUMP_PKGS=OFF \ > + -DUA_ENABLE_AMALGAMATION=OFF \ > + -DUA_ENABLE_COVERAGE=OFF \ > + -DUA_ENABLE_DA=ON \ > + -DUA_ENABLE_CUSTOM_NODESTORE=OFF \ > + -DUA_ENABLE_DETERMINISTIC_RNG=OFF \ > + -DUA_ENABLE_DISCOVERY=ON \ > + -DUA_ENABLE_DISCOVERY_MULTICAST=ON \ > + -DUA_ENABLE_DISCOVERY_SEMAPHORE=ON \ > + -DUA_ENABLE_ENCRYPTION=ON \ > + -DUA_ENABLE_EXPERIMENTAL_HISTORIZING=OFF \ > + -DUA_ENABLE_HARDENING=ON \ > + -DUA_ENABLE_HISTORIZING=ON \ > + -DUA_ENABLE_IMMUTABLE_NODES=ON \ > + -DUA_ENABLE_JSON_ENCODING=OFF \ > + -DUA_ENABLE_MALLOC_SINGLETON=OFF \ > + -DUA_ENABLE_METHODCALLS=ON \ > + -DUA_ENABLE_MICRO_EMB_DEV_PROFILE=ON \ > + -DUA_ENABLE_MULTITHREADING=200 \ > + -DUA_ENABLE_NODEMANAGEMENT=ON \ > + -DUA_ENABLE_NODESET_COMPILER_DESCRIPTIONS=ON \ > + -DUA_ENABLE_PUBSUB=ON \ > + -DUA_ENABLE_PUBSUB_ETH_UADP=ON \ > + -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON \ > + -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON \ > + -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON \ > + -DUA_ENABLE_PUBSUB_CUSTOM_PUBLISH_HANDLING=OFF \ > + -DUA_ENABLE_QUERY=ON \ > + -DUA_ENABLE_STATIC_ANALYZER=OFF \ > + -DUA_ENABLE_STATUSCODE_DESCRIPTIONS=ON \ > + -DUA_ENABLE_SUBSCRIPTIONS=ON \ > + -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \ > + -DUA_ENABLE_TYPENAMES=ON \ > + -DUA_ENABLE_UNIT_TEST_FAILURE_HOOKS=OFF \ > + -DUA_ENABLE_UNIT_TESTS_MEMCHECK=OFF \ > + -DUA_ENABLE_VALGRIND_INTERACTIVE=OFF \ > + -DUA_COMPILE_AS_CXX=OFF \ > + -DUA_FILE_NS0="" \ > + -DUA_LOGLEVEL=$(OPEN62541_LOGLEVEL) \ > + -DUA_MSVC_FORCE_STATIC_CRT=OFF \ > + -DUA_NAMESPACE_ZERO=FULL \ > + -DUA_NODESET_DIR="$(PTXDIST_SYSROOT_HOST)/usr/share/ua-nodeset" \ > + -DUA_PACK_DEBIAN=OFF > + > +# > ---------------------------------------------------------------------------- > +# Target-Install > +# > ---------------------------------------------------------------------------- > + > +$(STATEDIR)/open62541.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, open62541) > + @$(call install_fixup, open62541,PRIORITY,optional) > + @$(call install_fixup, open62541,SECTION,base) > + @$(call install_fixup, open62541,AUTHOR,"Robert Schwebel > <r.schwe...@pengutronix.de>") > + @$(call install_fixup, open62541,DESCRIPTION,missing) > + > + @$(call install_lib, open62541, 0, 0, 0644, libopen62541) > + > + @$(call install_finish, open62541) > + @$(call touch) > + > +# vim: syntax=make > -- > 2.25.0 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de