diff mbox series

[1/1] package/spdlog: add menuconfig option to use bundled fmt

Message ID 20240804060003.735172-1-troglobit@gmail.com
State Superseded
Headers show
Series [1/1] package/spdlog: add menuconfig option to use bundled fmt | expand

Commit Message

Joachim Wiberg Aug. 4, 2024, 6 a.m. UTC
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
 package/spdlog/Config.in | 10 ++++++++++
 package/spdlog/spdlog.mk |  9 +++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

Comments

Baruch Siach Aug. 4, 2024, 6:20 a.m. UTC | #1
Hi Joachim,

On Sun, Aug 04 2024, Joachim Wiberg wrote:
> Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
> ---
>  package/spdlog/Config.in | 10 ++++++++++
>  package/spdlog/spdlog.mk |  9 +++++++--
>  2 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/package/spdlog/Config.in b/package/spdlog/Config.in
> index 877c1b6ab7..170e17a4f1 100644
> --- a/package/spdlog/Config.in
> +++ b/package/spdlog/Config.in
> @@ -9,6 +9,16 @@ config BR2_PACKAGE_SPDLOG
>  
>  	  https://github.com/gabime/spdlog
>  
> +if BR2_PACKAGE_SPDLOG
> +
> +config BR2_PACKAGE_SPDLOG_FMT_EXTERNAL
> +	bool "Use external fmt library"
> +	default y
> +	help
> +	  Use external or bundled fmt library, default external.

What is the advantage of bundled library? The commit log should explain
that.

Also, you should probably move 'select BR2_PACKAGE_FMT' here. We don't
have to build fmt if spdlog doesn't use it.

> +
> +endif
> +
>  comment "spdlog needs a toolchain w/ C++, threads, wchar"
>  	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
>  		|| !BR2_USE_WCHAR
> diff --git a/package/spdlog/spdlog.mk b/package/spdlog/spdlog.mk
> index 6b24357697..c2832c94f3 100644
> --- a/package/spdlog/spdlog.mk
> +++ b/package/spdlog/spdlog.mk
> @@ -13,8 +13,13 @@ SPDLOG_DEPENDENCIES = fmt
>  SPDLOG_CONF_OPTS += \
>  	-DSPDLOG_BUILD_TESTS=OFF \
>  	-DSPDLOG_BUILD_EXAMPLE=OFF \
> -	-DSPDLOG_BUILD_BENCH=OFF \
> -	-DSPDLOG_FMT_EXTERNAL=ON
> +	-DSPDLOG_BUILD_BENCH=OFF
> +
> +ifeq ($(BR2_PACKAGE_SPDLOG_FMT_EXTERNAL),y)
> +SPDLOG_CONF_OPTS += -DSPDLOG_FMT_EXTERNAL=ON

fmt dependency should also move here.

> +else
> +SPDLOG_CONF_OPTS += -DSPDLOG_FMT_EXTERNAL=OFF
> +endif
>  
>  ifeq ($(BR2_STATIC_LIBS),y)
>  SPDLOG_CONF_OPTS += -DSPDLOG_BUILD_SHARED=OFF

baruch
Joachim Wiberg Aug. 4, 2024, 7:03 a.m. UTC | #2
Hi Baruch!

On Sun, 2024-08-04 at 09:20 +0300, Baruch Siach wrote:
> Hi Joachim,
> On Sun, Aug 04 2024, Joachim Wiberg wrote:
> > +config BR2_PACKAGE_SPDLOG_FMT_EXTERNAL
> > +	bool "Use external fmt library"
> > +	default y
> > +	help
> > +	  Use external or bundled fmt library, default external.
> What is the advantage of bundled library? The commit log should
> explain that.

We're trying to package Rousette (RESTCONF for sysrepo), it requires
the bundled fmt instead.   I'll update the patch, thanks!

> Also, you should probably move 'select BR2_PACKAGE_FMT' here. We
> don't have to build fmt if spdlog doesn't use it.

Ah, of course, thanks!

> > +ifeq ($(BR2_PACKAGE_SPDLOG_FMT_EXTERNAL),y)
> > +SPDLOG_CONF_OPTS += -DSPDLOG_FMT_EXTERNAL=ON
> 
> fmt dependency should also move here.

Got it!

Best regards
 /Joachim
diff mbox series

Patch

diff --git a/package/spdlog/Config.in b/package/spdlog/Config.in
index 877c1b6ab7..170e17a4f1 100644
--- a/package/spdlog/Config.in
+++ b/package/spdlog/Config.in
@@ -9,6 +9,16 @@  config BR2_PACKAGE_SPDLOG
 
 	  https://github.com/gabime/spdlog
 
+if BR2_PACKAGE_SPDLOG
+
+config BR2_PACKAGE_SPDLOG_FMT_EXTERNAL
+	bool "Use external fmt library"
+	default y
+	help
+	  Use external or bundled fmt library, default external.
+
+endif
+
 comment "spdlog needs a toolchain w/ C++, threads, wchar"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
 		|| !BR2_USE_WCHAR
diff --git a/package/spdlog/spdlog.mk b/package/spdlog/spdlog.mk
index 6b24357697..c2832c94f3 100644
--- a/package/spdlog/spdlog.mk
+++ b/package/spdlog/spdlog.mk
@@ -13,8 +13,13 @@  SPDLOG_DEPENDENCIES = fmt
 SPDLOG_CONF_OPTS += \
 	-DSPDLOG_BUILD_TESTS=OFF \
 	-DSPDLOG_BUILD_EXAMPLE=OFF \
-	-DSPDLOG_BUILD_BENCH=OFF \
-	-DSPDLOG_FMT_EXTERNAL=ON
+	-DSPDLOG_BUILD_BENCH=OFF
+
+ifeq ($(BR2_PACKAGE_SPDLOG_FMT_EXTERNAL),y)
+SPDLOG_CONF_OPTS += -DSPDLOG_FMT_EXTERNAL=ON
+else
+SPDLOG_CONF_OPTS += -DSPDLOG_FMT_EXTERNAL=OFF
+endif
 
 ifeq ($(BR2_STATIC_LIBS),y)
 SPDLOG_CONF_OPTS += -DSPDLOG_BUILD_SHARED=OFF