Message ID | 20220927142604.17035-1-kk@aibs.ru |
---|---|
State | Changes Requested |
Headers | show |
Series | package/sleef: add new package | expand |
Kirill, All, On 2022-09-27 17:26 +0300, Kirill Kranke spake thusly: > 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> > --- [--SNIP--] > 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" You forgot to add the actual dependency on BR2_PACKAGE_SLEEF_ARCH_SUPPORTS here. > + help > + SLEEF is a library that implements vectorized versions > + of C standard math functions. This library also > + includes DFT subroutines. > + > + https://sleef.org/ If I understand correctly, by default, only the libm is built. This should probably be specified in the help text for the main symbol. > +if BR2_PACKAGE_SLEEF > + > +config BR2_PACKAGE_SLEEF_DFT > + bool "compile dft" > + default n default n is the default, so it should npt be specified. > + help > + libsleefdft will be built The helpe text does not provide much more information that the prompt, so there is no need for the help text, unless we can come up with a better help (see below) So: config BR2_PACKAGE_SLEEF_LIBDFT bool "libsleefdft" help libsleefdft contains functions to perform DFT (discreet Fourrier transform). Adapt as you see fit. And so on for the other options. > +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 You will have to explain in the commit log why you need to point to the host-sleef build directory, and why you can't use the installed one, in $(HOST_DIR). Also, a package build directory is accessed with $(HOST_SLEEF_BUILDDIR) and for cmake based packages, it already includes the /buildroot-build sub-directory component: make show-vars |jq .HOST_SLEEF_BUILDDIR Otherwise, it looks good. Except forthe missing explanations about the use of the build directory of the host packag, I could have fixed the rest when applying. Can you elaborate on that part, fix the other minor issues and respin, please? Regards, Yann E. MORIN. > +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 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
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))
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