package/sleef: add new package
SLEEF is a library that implements vectorized versions
of C standard math functions. This library also
includes DFT subroutines.
https://sleef.org/
Signed-off-by: Kirill Kranke <kk@aibs.ru>
---
package/Config.in | 1 +
package/sleef/Config.in | 50 ++++++++++++++++++++++++++++++++++++++++
package/sleef/sleef.hash | 3 +++
package/sleef/sleef.mk | 49 +++++++++++++++++++++++++++++++++++++++
4 files changed, 103 insertions(+)
create mode 100644 package/sleef/Config.in
create mode 100644 package/sleef/sleef.hash
create mode 100644 package/sleef/sleef.mk
@@ -2041,6 +2041,7 @@ endif
source "package/riemann-c-client/Config.in"
source "package/shapelib/Config.in"
source "package/skalibs/Config.in"
+ source "package/sleef/Config.in"
source "package/sphinxbase/Config.in"
source "package/startup-notification/Config.in"
source "package/tinycbor/Config.in"
new file mode 100644
@@ -0,0 +1,50 @@
+config BR2_PACKAGE_SLEEF_ARCH_SUPPORTS
+ bool
+ default y if BR2_arm
+ default y if BR2_aarch64
+ default y if BR2_i386
+ default y if BR2_x86_64
+ default y if BR2_powerpc64
+
+config BR2_PACKAGE_SLEEF
+ bool "sleef"
+ help
+ SLEEF is a library that implements vectorized versions
+ of C standard math functions. This library also
+ includes DFT subroutines.
+
+ https://sleef.org/
+
+if BR2_PACKAGE_SLEEF
+
+config BR2_PACKAGE_SLEEF_DFT
+ bool "compile dft"
+ default n
+ help
+ libsleefdft will be built
+
+config BR2_PACKAGE_SLEEF_QUAD
+ bool "compile quad"
+ default n
+ help
+ libsleefquad will be built
+
+config BR2_PACKAGE_SLEEF_GNUABI_LIBS
+ bool "compile gnuabi"
+ default y
+ help
+ libsleefgnuabi will be built
+
+config BR2_PACKAGE_SLEEF_SCALAR_LIB
+ bool "compile scalar"
+ default n
+ help
+ libsleefscalar will be built
+
+config BR2_PACKAGE_SLEEF_TESTS
+ bool "compile tests"
+ default n
+ help
+ Tests will be built
+
+endif
new file mode 100644
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt
+sha256 415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab sleef-3.5.1.tar.gz
new file mode 100644
@@ -0,0 +1,49 @@
+################################################################################
+#
+# sleef
+#
+################################################################################
+
+SLEEF_VERSION = 3.5.1
+SLEEF_SITE = $(call github,shibatch,sleef,$(SLEEF_VERSION))
+SLEEF_LICENSE = BSL-1.0
+SLEEF_LICENSE_FILES = LICENSE.txt
+SLEEF_SUPPORTS_IN_SOURCE_BUILD = NO
+SLEEF_INSTALL_STAGING = YES
+
+# N.B. Need to use host sleef during cross compilation.
+SLEEF_DEPENDENCIES = host-sleef
+SLEEF_CONF_OPTS += -DNATIVE_BUILD_DIR=$(BUILD_DIR)/host-sleef-$(SLEEF_VERSION)/buildroot-build
+
+ifeq ($(BR2_PACKAGE_SLEEF_DFT),y)
+SLEEF_CONF_OPTS += -DBUILD_DFT=ON
+else
+SLEEF_CONF_OPTS += -DBUILD_DFT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_SLEEF_QUAD),y)
+SLEEF_CONF_OPTS += -DBUILD_QUAD=ON
+else
+SLEEF_CONF_OPTS += -DBUILD_QUAD=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_SLEEF_GNUABI_LIBS),y)
+SLEEF_CONF_OPTS += -DBUILD_GNUABI_LIBS=ON
+else
+SLEEF_CONF_OPTS += -DBUILD_GNUABI_LIBS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_SLEEF_SCALAR_LIB),y)
+SLEEF_CONF_OPTS += -DBUILD_SCALAR_LIB=ON
+else
+SLEEF_CONF_OPTS += -DBUILD_SCALAR_LIB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_SLEEF_TESTS),y)
+SLEEF_CONF_OPTS += -DBUILD_TESTS=ON
+else
+SLEEF_CONF_OPTS += -DBUILD_TESTS=OFF
+endif
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
--
2.20.1