Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH next 1/2] package/opencsd: new package
@ 2023-02-22 20:41 Julien Olivain
  2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
  2023-07-30 21:25 ` [Buildroot] [PATCH next 1/2] package/opencsd: new package Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 4+ messages in thread
From: Julien Olivain @ 2023-02-22 20:41 UTC (permalink / raw)
  To: buildroot; +Cc: Julien Olivain, Yann E . MORIN, Thomas Petazzoni

This library provides an API suitable for the decode of
ARM(r) CoreSight(tm) trace streams.

OpenCSD is for example an optional dependency in the Linux
"perf" tool, starting from kernel version 5.1.

https://github.com/Linaro/OpenCSD

Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested on branch next at commit 9793454 with commands:

    make check-package
    ...
    0 warnings generated

    ./utils/test-pkg -a -p opencsd
                             arm-aarch64 [ 1/45]: OK
                   bootlin-aarch64-glibc [ 2/45]: OK
               bootlin-arcle-hs38-uclibc [ 3/45]: SKIPPED
                    bootlin-armv5-uclibc [ 4/45]: OK
                     bootlin-armv7-glibc [ 5/45]: OK
                   bootlin-armv7m-uclibc [ 6/45]: SKIPPED
                      bootlin-armv7-musl [ 7/45]: OK
                bootlin-m68k-5208-uclibc [ 8/45]: SKIPPED
               bootlin-m68k-68040-uclibc [ 9/45]: SKIPPED
             bootlin-microblazeel-uclibc [10/45]: SKIPPED
                bootlin-mipsel32r6-glibc [11/45]: SKIPPED
                   bootlin-mipsel-uclibc [12/45]: SKIPPED
                     bootlin-nios2-glibc [13/45]: SKIPPED
                 bootlin-openrisc-uclibc [14/45]: SKIPPED
        bootlin-powerpc64le-power8-glibc [15/45]: SKIPPED
           bootlin-powerpc-e500mc-uclibc [16/45]: SKIPPED
                   bootlin-riscv32-glibc [17/45]: SKIPPED
                   bootlin-riscv64-glibc [18/45]: SKIPPED
                    bootlin-riscv64-musl [19/45]: SKIPPED
                 bootlin-s390x-z13-glibc [20/45]: SKIPPED
                      bootlin-sh4-uclibc [21/45]: SKIPPED
                   bootlin-sparc64-glibc [22/45]: SKIPPED
                    bootlin-sparc-uclibc [23/45]: SKIPPED
                    bootlin-x86-64-glibc [24/45]: SKIPPED
                     bootlin-x86-64-musl [25/45]: SKIPPED
                   bootlin-x86-64-uclibc [26/45]: SKIPPED
                   bootlin-xtensa-uclibc [27/45]: SKIPPED
                            br-arm-basic [28/45]: SKIPPED
                    br-arm-full-nothread [29/45]: OK
                      br-arm-full-static [30/45]: SKIPPED
                   br-i386-pentium4-full [31/45]: SKIPPED
                br-i386-pentium-mmx-musl [32/45]: SKIPPED
                      br-mips64-n64-full [33/45]: SKIPPED
                 br-mips64r6-el-hf-glibc [34/45]: SKIPPED
               br-powerpc-603e-basic-cpp [35/45]: SKIPPED
               br-powerpc64-power7-glibc [36/45]: SKIPPED
                       linaro-aarch64-be [37/45]: OK
                          linaro-aarch64 [38/45]: OK
                              linaro-arm [39/45]: OK
                     sourcery-arm-armv4t [40/45]: OK
                            sourcery-arm [41/45]: OK
                     sourcery-arm-thumb2 [42/45]: OK
                         sourcery-mips64 [43/45]: SKIPPED
                           sourcery-mips [44/45]: SKIPPED
                          sourcery-nios2 [45/45]: SKIPPED
    45 builds, 33 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
---
 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/opencsd/Config.in    | 27 +++++++++++++++++++++++++++
 package/opencsd/opencsd.hash |  3 +++
 package/opencsd/opencsd.mk   | 31 +++++++++++++++++++++++++++++++
 5 files changed, 63 insertions(+)
 create mode 100644 package/opencsd/Config.in
 create mode 100644 package/opencsd/opencsd.hash
 create mode 100644 package/opencsd/opencsd.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 599cfe6886..32524c152a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1696,6 +1696,7 @@ F:	package/highway/
 F:	package/libjxl/
 F:	package/octave/
 F:	package/ola/
+F:	package/opencsd/
 F:	package/perftest/
 F:	package/ptm2human/
 F:	package/python-distro/
diff --git a/package/Config.in b/package/Config.in
index 6c5238a9b0..fcbf8e8b6c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1708,6 +1708,7 @@ menu "Hardware handling"
 	source "package/mtdev/Config.in"
 	source "package/ne10/Config.in"
 	source "package/neardal/Config.in"
+	source "package/opencsd/Config.in"
 	source "package/opensc/Config.in"
 	source "package/owfs/Config.in"
 	source "package/pcsc-lite/Config.in"
diff --git a/package/opencsd/Config.in b/package/opencsd/Config.in
new file mode 100644
index 0000000000..0e63d99251
--- /dev/null
+++ b/package/opencsd/Config.in
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+	bool
+	default y if BR2_arm
+	default y if BR2_armeb
+	default y if BR2_aarch64
+	default y if BR2_aarch64_be
+
+config BR2_PACKAGE_OPENCSD
+	bool "OpenCSD"
+	depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+	depends on !BR2_STATIC_LIBS
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+	help
+	  This library provides an API suitable for the decode of
+	  ARM(r) CoreSight(tm) trace streams.
+
+	  OpenCSD is for example an optional dependency in the Linux
+	  "perf" tool, starting from kernel version 5.1.
+
+	  https://github.com/Linaro/OpenCSD
+
+comment "OpenCSD needs a toolchain w/ C++11, gcc >= 4.8, dynamic libraries"
+	depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+	depends on BR2_STATIC_LIBS \
+		|| !BR2_INSTALL_LIBSTDCPP \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/opencsd/opencsd.hash b/package/opencsd/opencsd.hash
new file mode 100644
index 0000000000..84a762fb36
--- /dev/null
+++ b/package/opencsd/opencsd.hash
@@ -0,0 +1,3 @@
+# Locally Computed:
+sha256  e1bb6d8d09e87974cb5ca6db2a13b0e1ba9e51117ca2ed71879df07ff7af4de2  opencsd-1.4.0.tar.gz
+sha256  980eef4b0744e63834e3ec0d50c2a4ff6d81d7ec62dd8ba8c66acae0ec5a2e88  LICENSE
diff --git a/package/opencsd/opencsd.mk b/package/opencsd/opencsd.mk
new file mode 100644
index 0000000000..680364d01d
--- /dev/null
+++ b/package/opencsd/opencsd.mk
@@ -0,0 +1,31 @@
+################################################################################
+#
+# opencsd
+#
+################################################################################
+
+OPENCSD_VERSION = 1.4.0
+OPENCSD_SITE = $(call github,Linaro,OpenCSD,v$(OPENCSD_VERSION))
+OPENCSD_LICENSE = BSD-3-Clause
+OPENCSD_LICENSE_FILES = LICENSE
+OPENCSD_INSTALL_STAGING = YES
+
+OPENCSD_MAKE_OPTS = \
+	CROSS_COMPILE="$(TARGET_CROSS)"
+
+define OPENCSD_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+		$(OPENCSD_MAKE_OPTS) all
+endef
+
+define OPENCSD_INSTALL_TARGET_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+		$(OPENCSD_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
+endef
+
+define OPENCSD_INSTALL_STAGING_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+		$(OPENCSD_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.39.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-07-30 21:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 20:41 [Buildroot] [PATCH next 1/2] package/opencsd: new package Julien Olivain
2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
2023-07-30 21:26   ` Thomas Petazzoni via buildroot
2023-07-30 21:25 ` [Buildroot] [PATCH next 1/2] package/opencsd: new package Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox