@@ -2703,6 +2703,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/
@@ -2110,6 +2110,7 @@ endif
source "package/qhull/Config.in"
source "package/qlibc/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,16 @@
+config BR2_PACKAGE_RUY
+ bool "ruy"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+ 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"
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
new file mode 100644
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256 4da8572946007603378c5d0280f48c5b77f4d38763209f5306b57c7513d9a82e ruy-3168a5c8f4c447fd8cea94078121ee2e2cd87df0.tar.gz
+# License files, locally calculated
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
new file mode 100644
@@ -0,0 +1,18 @@
+################################################################################
+#
+# ruy
+#
+################################################################################
+
+RUY_VERSION = 3168a5c8f4c447fd8cea94078121ee2e2cd87df0
+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))