浏览代码

package/open62541: new package

Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Yann CARDAILLAC 5 年之前
父节点
当前提交
b36ea68b5a
共有 5 个文件被更改,包括 133 次插入0 次删除
  1. 3 0
      DEVELOPERS
  2. 1 0
      package/Config.in
  3. 71 0
      package/open62541/Config.in
  4. 3 0
      package/open62541/open62541.hash
  5. 55 0
      package/open62541/open62541.mk

+ 3 - 0
DEVELOPERS

@@ -2710,6 +2710,9 @@ F:	package/fwup/
 N:	Yair Ben Avraham <yairba@protonmail.com>
 F:	package/gloox/
 
+N:	Yann CARDAILLAC <ycardaillac@sepro-group.com>
+F:	package/open62541/
+
 N:	Yann E. MORIN <yann.morin.1998@free.fr>
 F:	board/friendlyarm/nanopi-neo/
 F:	configs/nanopi_neo_defconfig

+ 1 - 0
package/Config.in

@@ -1803,6 +1803,7 @@ menu "Networking"
 	source "package/nss-myhostname/Config.in"
 	source "package/nss-pam-ldapd/Config.in"
 	source "package/omniorb/Config.in"
+	source "package/open62541/Config.in"
 	source "package/openldap/Config.in"
 	source "package/openmpi/Config.in"
 	source "package/openpgm/Config.in"

+ 71 - 0
package/open62541/Config.in

@@ -0,0 +1,71 @@
+config BR2_PACKAGE_OPEN62541
+	bool "open62541"
+	help
+	  open62541 is an open source and free implementation of OPC UA.
+
+	  http://open62541.org
+
+if BR2_PACKAGE_OPEN62541
+
+choice
+	prompt "namespace zero nodes"
+	help
+	  Namespace zero contains the standard-defined nodes. The full
+	  namespace zero may not be required for all applications.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_DEFAULT
+	bool "default"
+	help
+	  Use the default namespace zero contents.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL
+	bool "minimal"
+	help
+	  A barebones namespace zero that is compatible with most
+	  clients.  But this namespace 0 is so small that it does not
+	  pass the CTT (Conformance Testing Tools of the OPC
+	  Foundation).
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED
+	bool "reduced"
+	help
+	  Small namespace zero that passes the CTT.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+	bool "full"
+	help
+	  Full namespace zero generated from the official XML
+	  definitions.
+
+endchoice
+
+config BR2_PACKAGE_OPEN62541_JSON_ENCODING
+	bool "json encoding"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB
+	bool "publish/subscribe"
+	help
+	  Enable the experimental OPC UA PubSub support. The option
+	  will include the PubSub UDP multicast plugin.
+
+if BR2_PACKAGE_OPEN62541_PUBSUB
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
+	bool "publish/subscribe deltaframes"
+	help
+	  The PubSub messages differentiate between keyframe (all
+	  published values contained) and deltaframe (only changed
+	  values contained) messages. Deltaframe messages creation
+	  consumes some additional ressources.
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+	bool "publish/subscribe information model"
+	depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || \
+		BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+	help
+	  Enable the information model representation of the PubSub
+	  configuration.
+
+endif # BR2_PACKAGE_OPEN62541_PUBSUB
+
+endif

+ 3 - 0
package/open62541/open62541.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3300149c2e9e8c1f87fe2786e25d74372a33611a0bd4c6c202c5fca347633069  open62541-1.0.tar.gz
+sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85  LICENSE

+ 55 - 0
package/open62541/open62541.mk

@@ -0,0 +1,55 @@
+################################################################################
+#
+# open62541
+#
+################################################################################
+
+OPEN62541_VERSION = 1.0
+OPEN62541_DL_VERSION = v$(OPEN62541_VERSION)
+OPEN62541_SITE_METHOD = git
+OPEN62541_SITE = git://github.com/open62541/open62541.git
+OPEN62541_GIT_SUBMODULES = YES
+OPEN62541_INSTALL_STAGING = YES
+OPEN62541_LICENSE = MPL-2.0
+OPEN62541_LICENSE_FILES = LICENSE
+
+# Don't use git describe to get the version number.
+# Disable hardening options to let Buildroot handle it.
+OPEN62541_CONF_OPTS = \
+	-DGIT_EXECUTABLE=NO \
+	-DOPEN62541_VERSION=$(OPEN62541_VERSION) \
+	-DUA_ENABLE_HARDENING=OFF
+
+ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL),y)
+OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=MINIMAL
+else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED),y)
+OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=REDUCED
+else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL),y)
+OPEN62541_CONF_OPTS +=  -DUA_NAMESPACE_ZERO=FULL
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_JSON_ENCODING),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF
+endif
+
+$(eval $(cmake-package))