@@ -2687,6 +2687,7 @@ F: package/ti-gfx/
N: Stefan Hager <stefan.hager@ginzinger.com>
F: package/cpuinfo/
+F: package/ruy/
N: Stefan Ott <stefan@ott.net>
F: package/unbound/
@@ -2146,6 +2146,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"
new file mode 100644
@@ -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
new file mode 100644
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256 e151a5b55059a6e83ded001787e1a8889ba1e5e4eaa5bc836b9b660e7e1cb519 ruy-21a85fef159f9942f636a43b14c64b481c2a05b2.tar.gz
+# License files, locally calculated
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
new file mode 100644
@@ -0,0 +1,18 @@
+################################################################################
+#
+# ruy
+#
+################################################################################
+
+RUY_VERSION = 21a85fef159f9942f636a43b14c64b481c2a05b2
+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))