Includes the C library from the Eclipse Tahu project that provides an
implementation of the Sparkplug specification.  This package does not
include the implementations from the Tahu project for other programming
languages other than C.

Signed-off-by: Ian Abbott <[email protected]>
---
 rules/libtahu.in   | 11 ++++++
 rules/libtahu.make | 88 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 rules/libtahu.in
 create mode 100644 rules/libtahu.make

diff --git a/rules/libtahu.in b/rules/libtahu.in
new file mode 100644
index 000000000..451d40957
--- /dev/null
+++ b/rules/libtahu.in
@@ -0,0 +1,11 @@
+## SECTION=system_libraries
+
+config LIBTAHU
+       tristate
+       prompt "libtahu"
+       help
+         Eclipse Tahu C library for encoding and decoding Sparkplug B
+         messages.
+
+         A typical application will also require an MQTT library such
+         as "mosquitto".
diff --git a/rules/libtahu.make b/rules/libtahu.make
new file mode 100644
index 000000000..c4e62cc61
--- /dev/null
+++ b/rules/libtahu.make
@@ -0,0 +1,88 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2023 by Ian Abbott <[email protected]>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBTAHU) += libtahu
+
+#
+# Paths and names
+#
+LIBTAHU_VERSION        := 1.0.1
+LIBTAHU_MD5    := 7e980ed17e34a78d6d61c000e4957292
+LIBTAHU                := libtahu-$(LIBTAHU_VERSION)
+LIBTAHU_SUFFIX := tar.gz
+LIBTAHU_URL    := 
https://github.com/eclipse/tahu/archive/refs/tags/v$(LIBTAHU_VERSION).$(LIBTAHU_SUFFIX)
+LIBTAHU_SOURCE := $(SRCDIR)/$(LIBTAHU).$(LIBTAHU_SUFFIX)
+LIBTAHU_DIR    := $(BUILDDIR)/$(LIBTAHU)
+LIBTAHU_SUBDIR := c/core
+LIBTAHU_LICENSE        := EPL-2.0
+LIBTAHU_LICENSE_FILES  := \
+       file://LICENSE;md5=c7cc8aa73fb5717f8291fcec5ce9ed6c \
+       file://epl-v20.html;md5=84283fa8859daf213bdda5a9f8d1be1d
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBTAHU_CONF_TOOL      := NO
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+#LIBTAHU_MAKE_ENV      := $(CROSS_ENV)
+
+# Default target builds tests that depend on libmosquitto, so just build
+# the library files.
+LIBTAHU_MAKE_OPT       := \
+       $(CROSS_ENV_CC) \
+       $(CROSS_ENV_AR) \
+       $(CROSS_ENV_LD) \
+       lib/libtahu.so \
+       lib/libtahu.a
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libtahu.install:
+       @$(call targetinfo)
+       @install -m 644 -D -t "$(LIBTAHU_PKGDIR)/usr/lib" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/lib/libtahu.so" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/lib/libtahu.a"
+       @install -m 644 -D -t "$(LIBTAHU_PKGDIR)/usr/include" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb.h" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_common.h" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_decode.h" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_encode.h" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/tahu.h" \
+               "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/tahu.pb.h"
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libtahu.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, libtahu)
+       @$(call install_fixup, libtahu,PRIORITY,optional)
+       @$(call install_fixup, libtahu,SECTION,base)
+       @$(call install_fixup, libtahu,AUTHOR,"Ian Abbott <[email protected]>")
+       @$(call install_fixup, libtahu,DESCRIPTION,missing)
+
+       @$(call install_lib, libtahu, 0, 0, 0644, libtahu)
+
+       @$(call install_finish, libtahu)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.39.1


Reply via email to