[Buildroot] [PATCH 3/5] package/libfutils: new package
Herve Codina
herve.codina at bootlin.com
Wed Nov 3 07:36:54 UTC 2021
The libfutils library is a library that contains some common
useful functions (list, hash, time).
https://github.com/Parrot-Developers/libfutils
Signed-off-by: Herve Codina <herve.codina at bootlin.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libfutils/Config.in | 14 +++++++++
package/libfutils/libfutils.hash | 3 ++
package/libfutils/libfutils.mk | 50 ++++++++++++++++++++++++++++++++
5 files changed, 69 insertions(+)
create mode 100644 package/libfutils/Config.in
create mode 100644 package/libfutils/libfutils.hash
create mode 100644 package/libfutils/libfutils.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 33e77285d2..d0207b5136 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1151,6 +1151,7 @@ F: package/alchemy/
F: package/dtbocfg/
F: package/libdbi/
F: package/libdbi-drivers/
+F: package/libfutils/
F: package/lua-augeas/
F: package/ulog/
F: support/testing/tests/package/test_dtbocfg.py
diff --git a/package/Config.in b/package/Config.in
index bbf4ea0477..b805b87e0a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1947,6 +1947,7 @@ menu "Other"
source "package/libevdev/Config.in"
source "package/libevent/Config.in"
source "package/libffi/Config.in"
+ source "package/libfutils/Config.in"
source "package/libgee/Config.in"
source "package/libgeos/Config.in"
source "package/libglib2/Config.in"
diff --git a/package/libfutils/Config.in b/package/libfutils/Config.in
new file mode 100644
index 0000000000..0329dd065c
--- /dev/null
+++ b/package/libfutils/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_LIBFUTILS
+ bool "libfutils"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC
+ depends on BR2_INSTALL_LIBSTDCPP # ulog
+ depends on BR2_TOOLCHAIN_HAS_THREADS # ulog
+ select BR2_PACKAGE_ULOG
+ help
+ This library contains some common useful functions (list,
+ hash, time)
+
+ https://github.com/Parrot-Developers/libfutils
+
+comment "libfutils needs a toolchain w/ C++, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libfutils/libfutils.hash b/package/libfutils/libfutils.hash
new file mode 100644
index 0000000000..1fdcd84b13
--- /dev/null
+++ b/package/libfutils/libfutils.hash
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256 b38d40c46b83e448d8c1716ddfb04b7ecd384f5cd2cb773db5c26c0589accdb3 libfutils-c326ce0cc2a7354381265a7664bb215be587fac6.tar.gz
+sha256 eca11a1c62fae8d64a1247d93271375baecff8396141d7ff8d89671ee7e3ed0d COPYING
diff --git a/package/libfutils/libfutils.mk b/package/libfutils/libfutils.mk
new file mode 100644
index 0000000000..2048247db6
--- /dev/null
+++ b/package/libfutils/libfutils.mk
@@ -0,0 +1,50 @@
+################################################################################
+#
+# libfutils
+#
+################################################################################
+
+LIBFUTILS_VERSION = c326ce0cc2a7354381265a7664bb215be587fac6
+LIBFUTILS_SITE = $(call github,Parrot-Developers,libfutils,$(LIBFUTILS_VERSION))
+LIBFUTILS_LICENSE = BSD-3-Clause
+LIBFUTILS_LICENSE_FILES = COPYING
+LIBFUTILS_DEPENDENCIES = ulog host-alchemy
+LIBFUTILS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+LIBFUTILS_CONF_ENV += TARGET_GLOBAL_LDLIBS='-latomic'
+endif
+
+define LIBFUTILS_BUILD_CMDS
+ $(ALCHEMY_TARGET_CONFIGURE_ENV) \
+ $(call ALCHEMY_TARGET_CONFIGURE_SDKS, ulog) \
+ $(LIBFUTILS_CONF_ENV) \
+ $(ALCHEMY_MAKE) libfutils
+endef
+
+define LIBFUTILS_INSTALL_STATIC_LIBS
+ $(INSTALL) -m 644 $(@D)/alchemy-out/staging/usr/lib/libfutils.a $(strip $(1))/usr/lib/
+endef
+
+define LIBFUTILS_INSTALL_HEADERS
+ cp -Raf $(@D)/include/* $(strip $(1))/usr/include/
+endef
+
+ifeq ($(BR2_STATIC_LIBS),)
+define LIBFUTILS_INSTALL_SHARED_LIBS
+ $(INSTALL) -m 755 $(@D)/alchemy-out/staging/usr/lib/libfutils.so* $(strip $(1))/usr/lib/
+endef
+endif
+
+define LIBFUTILS_INSTALL_TARGET_CMDS
+ $(call LIBFUTILS_INSTALL_SHARED_LIBS, $(TARGET_DIR))
+endef
+
+define LIBFUTILS_INSTALL_STAGING_CMDS
+ $(call LIBFUTILS_INSTALL_STATIC_LIBS, $(STAGING_DIR))
+ $(call LIBFUTILS_INSTALL_SHARED_LIBS, $(STAGING_DIR))
+ $(call LIBFUTILS_INSTALL_HEADERS, $(STAGING_DIR))
+ $(call ALCHEMY_INSTALL_LIB_SDK_FILE, libfutils, libfutils, libfutils.so)
+endef
+
+$(eval $(generic-package))
--
2.31.1
More information about the buildroot
mailing list