diff mbox series

[1/1] package/sleef: add new package

Message ID ff6b01776879d74878e8e1733e2a8e07@aibs.ru
State Superseded
Headers show
Series [1/1] package/sleef: add new package | expand

Commit Message

Kirill Kranke Sept. 27, 2022, 11:17 a.m. UTC

Comments

Giulio Benetti Sept. 27, 2022, 12:12 p.m. UTC | #1
Hello Kirill,

please use following command to send the patch:
$ git send-email …

You can obtain the entire command by using a helper script in Buildroot:
$ cd buildroot
$ git format-patch -s -M -o . -1
$ ./utils/get-developers 0001-your-patch.patch

Then copy and paste the output of this ^^^ script and append the patch name.

Best regards
Giulio Benetti

> Il giorno 27 set 2022, alle ore 13:17, kk <kk@aibs.ru> ha scritto:
> 
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Giulio Benetti Sept. 27, 2022, 12:46 p.m. UTC | #2
I've forgotten also to point you Buildroot manual about this topic:
https://buildroot.org/downloads/manual/manual.html#submitting-patches

Best regards
diff mbox series

Patch

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

diff --git a/package/Config.in b/package/Config.in
index b911c59a92..af9b0b7398 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/sleef/Config.in b/package/sleef/Config.in
new file mode 100644
index 0000000000..85f93d384e
--- /dev/null
+++ b/package/sleef/Config.in
@@ -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
diff --git a/package/sleef/sleef.hash b/package/sleef/sleef.hash
new file mode 100644
index 0000000000..51570a5176
--- /dev/null
+++ b/package/sleef/sleef.hash
@@ -0,0 +1,3 @@ 
+# Locally calculated
+sha256  c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566  LICENSE.txt
+sha256  415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab  sleef-3.5.1.tar.gz
diff --git a/package/sleef/sleef.mk b/package/sleef/sleef.mk
new file mode 100644
index 0000000000..46bef69f5f
--- /dev/null
+++ b/package/sleef/sleef.mk
@@ -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