From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 17 Feb 2023 13:06:40 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pSzVg-00A6pG-BA for lore@lore.pengutronix.de; Fri, 17 Feb 2023 13:06:40 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1pSzVf-0003QN-Nr; Fri, 17 Feb 2023 13:06:39 +0100 Received: from smtp80.ord1d.emailsrvr.com ([184.106.54.80]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pSzVD-0003Pw-T6 for ptxdist@pengutronix.de; Fri, 17 Feb 2023 13:06:12 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mev.co.uk; s=20221208-6x11dpa4; t=1676635569; bh=eaEyrlydLmR6/mDfltytAR4UneqKqXOfE9gxZoa/Xg4=; h=From:To:Subject:Date:From; b=O2HGa/0PlVA+BGjhx9IQRZwthjwkUOQdBE34m3A6wxPqgx42zensDR28mIB+UoZgl vJOWxXEISlHpb7+LD/Cy3miItt2qAUMxOTw+JJumnPCCZOZcr9YJnMs8nFYHtAsOKI T9OFvhF3JGG/cOVEzNW1E4CiOo17Iz2wllRPAjMA= X-Auth-ID: abbotti@mev.co.uk Received: by smtp19.relay.ord1d.emailsrvr.com (Authenticated sender: abbotti-AT-mev.co.uk) with ESMTPSA id 6413C6008C; Fri, 17 Feb 2023 07:06:09 -0500 (EST) From: Ian Abbott To: ptxdist@pengutronix.de Date: Fri, 17 Feb 2023 12:05:58 +0000 Message-Id: <20230217120558.21629-1-abbotti@mev.co.uk> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Classification-ID: d7575b62-f2b4-40bb-8861-33b6a65e3dfc-1-1 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-3.3 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH v2] libtahu: new package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Ian Abbott Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false 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. Only the dynamic C library is built. Signed-off-by: Ian Abbott --- v2: Fix LIBTAHU_LICENSE_FILES. Simplify LIBTAHU_MAKE_OPT. Only build the dynamic library. Patch c/core/Makefile to allow building only the dynamic library and to fix parallel make. Install files verbosely so we can see them in the logfile. --- ...Fixes-for-parallel-make-and-make-lib.patch | 34 ++++++++ patches/libtahu-1.0.1/series | 1 + rules/libtahu.in | 11 +++ rules/libtahu.make | 83 +++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch create mode 100644 patches/libtahu-1.0.1/series create mode 100644 rules/libtahu.in create mode 100644 rules/libtahu.make diff --git a/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch b/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch new file mode 100644 index 000000000..602fee06d --- /dev/null +++ b/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch @@ -0,0 +1,34 @@ +From 6f70eff53d370b96070d1362ebcd4ce153b2a172 Mon Sep 17 00:00:00 2001 +From: Ian Abbott +Date: Fri, 17 Feb 2023 10:41:20 +0000 +Subject: [PATCH] c/core/Makefile: Fixes for parallel make and make + lib/libtahu.so + +Change $(TEST) target to depend on the built library files. + +Change $(DNAME) target rules to create the lib directory. + +Signed-off-by: Ian Abbott +--- + c/core/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/c/core/Makefile b/c/core/Makefile +index 8243a67..17c5e3d 100644 +--- a/c/core/Makefile ++++ b/c/core/Makefile +@@ -36,9 +36,10 @@ $(SNAME): $(OBJ) + + $(DNAME): LDFLAGS += -shared + $(DNAME): $(OBJ) ++ mkdir -p lib + $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) + +-$(TEST): ++$(TEST): $(SNAME) $(DNAME) + $(CC) $(CFLAGS) -o test/test_static $(TEST_OBJ) $(SNAME) -lmosquitto + $(CC) $(CFLAGS) $(LD_TEST) -o test/test_dynamic $(TEST_OBJ) -l$(NAME) -lmosquitto + +-- +2.39.1 + diff --git a/patches/libtahu-1.0.1/series b/patches/libtahu-1.0.1/series new file mode 100644 index 000000000..5ec14308c --- /dev/null +++ b/patches/libtahu-1.0.1/series @@ -0,0 +1 @@ +0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch 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..26c064c6d --- /dev/null +++ b/rules/libtahu.make @@ -0,0 +1,83 @@ +# -*-makefile-*- +# +# Copyright (C) 2023 by Ian Abbott +# +# 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://LICENCE;md5=c7cc8aa73fb5717f8291fcec5ce9ed6c \ + file://notice.html;md5=618d2440fc58e15450a9416cd6804477 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +LIBTAHU_CONF_TOOL := NO + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +#LIBTAHU_MAKE_ENV := $(CROSS_ENV) + +# Just build the dynamic library. +LIBTAHU_MAKE_OPT := \ + $(CROSS_ENV_PROGS) \ + lib/libtahu.so + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/libtahu.install: + @$(call targetinfo) + @install -m 644 -v -D -t "$(LIBTAHU_PKGDIR)/usr/lib" \ + "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/lib/libtahu.so" + @install -m 644 -v -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 ") + @$(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