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 |
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
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 --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
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(-)