On Wed, Feb 05, 2020 at 11:42:41AM +0100, Ulrich Ölmann wrote:
> From: Björn Esser <[email protected]>
>
> 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 <[email protected]>
> [uol: adjusted commit message]
> Signed-off-by: Ulrich Ölmann <[email protected]>
> ---
> 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?= <[email protected]>
> +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 <[email protected]>
> +---
> + 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 <[email protected]>
> +# Copyright (C) 2019 by Bjoern Esser <[email protected]>
> +#
> +# 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 <[email protected]>
> +# Copyright (C) 2019 by Bjoern Esser <[email protected]>
> +#
> +# 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
> <[email protected]>")
> + @$(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
> [email protected]
--
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
[email protected]