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

Reply via email to