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
