From: James Hilliard <james.hilliard1@gmail.com>
To: buildroot@buildroot.org
Cc: Stefan Hager <stefan.hager@ginzinger.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
James Hilliard <james.hilliard1@gmail.com>
Subject: [Buildroot] [PATCH v8 02/10] package/ruy: new package
Date: Tue, 28 Jan 2025 10:01:45 -0700 [thread overview]
Message-ID: <20250128170153.2298242-2-james.hilliard1@gmail.com> (raw)
In-Reply-To: <20250128170153.2298242-1-james.hilliard1@gmail.com>
From: Stefan Hager <stefan.hager@ginzinger.com>
This package is required by tensorflow-lite.
Tested-by: Stefan Hager <stefan.hager@ginzinger.com>
Signed-off-by: Stefan Hager <stefan.hager@ginzinger.com>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v6 -> v7:
- update to latest version
Changes v5 -> v6:
- add architecture dependency
- update to latest version
Changes v2 -> v3:
- add C++14 dependency
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/ruy/Config.in | 22 ++++++++++++++++++++++
package/ruy/ruy.hash | 4 ++++
package/ruy/ruy.mk | 18 ++++++++++++++++++
5 files changed, 46 insertions(+)
create mode 100644 package/ruy/Config.in
create mode 100644 package/ruy/ruy.hash
create mode 100644 package/ruy/ruy.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 8e33b20bba..e9e106e250 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3034,6 +3034,7 @@ F: package/ti-gfx/
N: Stefan Hager <stefan.hager@ginzinger.com>
F: package/cpuinfo/
+F: package/ruy/
N: Stefan Nickl <Stefan.Nickl@gmail.com>
F: board/freescale/imx8dxlevk/
diff --git a/package/Config.in b/package/Config.in
index 70ad2af568..f982b7332a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2300,6 +2300,7 @@ endif
source "package/qlibc/Config.in"
source "package/reproc/Config.in"
source "package/riemann-c-client/Config.in"
+ source "package/ruy/Config.in"
source "package/shapelib/Config.in"
source "package/skalibs/Config.in"
source "package/sphinxbase/Config.in"
diff --git a/package/ruy/Config.in b/package/ruy/Config.in
new file mode 100644
index 0000000000..cc137a403c
--- /dev/null
+++ b/package/ruy/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_RUY_ARCH_SUPPORTS
+ bool
+ default y if BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS
+
+config BR2_PACKAGE_RUY
+ bool "ruy"
+ depends on BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+ depends on BR2_TOOLCHAIN_HAS_THREADS # cpuinfo
+ select BR2_PACKAGE_CPUINFO
+ help
+ Ruy is a matrix multiplication library. Its focus is to cover
+ the matrix multiplication needs of neural network inference
+ engines. Its initial user has been TensorFlow Lite, where it
+ is used by default on the ARM CPU architecture.
+
+ https://github.com/google/ruy
+
+comment "ruy needs a toolchain w/ C++14, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/ruy/ruy.hash b/package/ruy/ruy.hash
new file mode 100644
index 0000000000..159687bf04
--- /dev/null
+++ b/package/ruy/ruy.hash
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256 0bd02bef7675d3edd8168e6e4ce22e162516947fcc07bb79809be4cda8f27a0c ruy-83fd40d730feb0804fafbc2d8814bcc19a17b2e5.tar.gz
+# License files, locally calculated
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
diff --git a/package/ruy/ruy.mk b/package/ruy/ruy.mk
new file mode 100644
index 0000000000..3e83553f19
--- /dev/null
+++ b/package/ruy/ruy.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# ruy
+#
+################################################################################
+
+RUY_VERSION = 83fd40d730feb0804fafbc2d8814bcc19a17b2e5
+RUY_SITE = $(call github,google,ruy,$(RUY_VERSION))
+RUY_LICENSE = Apache-2.0
+RUY_LICENSE_FILES = LICENSE
+RUY_INSTALL_STAGING = YES
+RUY_DEPENDENCIES = cpuinfo
+RUY_CONF_OPTS = \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DRUY_FIND_CPUINFO=ON \
+ -DRUY_MINIMAL_BUILD=ON
+
+$(eval $(cmake-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2025-01-28 17:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 17:01 [Buildroot] [PATCH v8 01/10] package/cpuinfo: new package James Hilliard
2025-01-28 17:01 ` James Hilliard [this message]
2025-01-28 17:01 ` [Buildroot] [PATCH v8 03/10] package/gemmlowp: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 04/10] package/pthreadpool: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 05/10] package/psimd: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 06/10] package/fp16: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 07/10] package/xnnpack: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 08/10] package/fft2d: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 09/10] package/farmhash: " James Hilliard
2025-01-28 17:01 ` [Buildroot] [PATCH v8 10/10] package/tensorflow-lite: " James Hilliard
2025-01-28 22:40 ` Julien Olivain
2025-01-28 23:00 ` James Hilliard
2025-01-28 22:36 ` [Buildroot] [PATCH v8 01/10] package/cpuinfo: " Julien Olivain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250128170153.2298242-2-james.hilliard1@gmail.com \
--to=james.hilliard1@gmail.com \
--cc=buildroot@buildroot.org \
--cc=stefan.hager@ginzinger.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox