[1/1] package/zxing-cpp: add options for enabling readers and/or writers

Message ID 20240515164912.104672-1-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • [1/1] package/zxing-cpp: add options for enabling readers and/or writers
Related show

Commit Message

Dario Binacchi May 15, 2024, 4:49 p.m. UTC
The patch allows you to choose whether to build encoding (BUILD_WRITERS),
decoding (BUILD_READERS) or both. This way, it's possible to keep the
library size at minimum. By default, to ensure backward compatibility,
both are compiled.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/zxing-cpp/Config.in    | 27 +++++++++++++++++++++++++++
 package/zxing-cpp/zxing-cpp.mk | 14 ++++++++++++--
 2 files changed, 39 insertions(+), 2 deletions(-)

Comments

'Krzysztof Kozlowski' via Amarula Linux May 17, 2024, 7:08 a.m. UTC | #1
Hello,

On Wed, 15 May 2024 18:49:12 +0200
Dario Binacchi <dario.binacchi@amarulasolutions.com> wrote:

> +if BR2_PACKAGE_ZXING_CPP
> +
> +choice
> +	prompt "readers/writers support"
> +	default BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS
> +	help
> +	  Select what you want to enable and then compile
> +
> +config BR2_PACKAGE_ZXING_CPP_READERS
> +	bool "readers only"
> +	help
> +	  Build with only readers (decoders) support
> +
> +config BR2_PACKAGE_ZXING_CPP_WRITERS
> +	bool "writers only"
> +	help
> +	  Build with only writers (encoders) support
> +
> +config BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS
> +	bool "readers and writers"
> +	help
> +	  Build with readers and writers support
> +
> +endchoice

I don't think this should be a choice. Instead, it should be like this:

if BR2_PACKAGE_ZXING_CPP

config BR2_PACKAGE_ZXING_CPP_READERS
	bool "readers support"
	default y
	help
	  Build with readers (decoders) support

config BR2_PACKAGE_ZXING_CPP_WRITERS
	bool "writers support"
	default y
	help
	  Build with writers (encoders) support

endif

Could you rework your patch accordingly?

Thanks a lot!

Thomas

Patch

diff --git a/package/zxing-cpp/Config.in b/package/zxing-cpp/Config.in
index b72a00ec35f9..f5883045fb1a 100644
--- a/package/zxing-cpp/Config.in
+++ b/package/zxing-cpp/Config.in
@@ -17,3 +17,30 @@  config BR2_PACKAGE_ZXING_CPP
 	  compiles the C++ port.
 
 	  https://github.com/zxing-cpp/zxing-cpp
+
+if BR2_PACKAGE_ZXING_CPP
+
+choice
+	prompt "readers/writers support"
+	default BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS
+	help
+	  Select what you want to enable and then compile
+
+config BR2_PACKAGE_ZXING_CPP_READERS
+	bool "readers only"
+	help
+	  Build with only readers (decoders) support
+
+config BR2_PACKAGE_ZXING_CPP_WRITERS
+	bool "writers only"
+	help
+	  Build with only writers (encoders) support
+
+config BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS
+	bool "readers and writers"
+	help
+	  Build with readers and writers support
+
+endchoice
+
+endif # BR2_PACKAGE_ZXING_CPP
diff --git a/package/zxing-cpp/zxing-cpp.mk b/package/zxing-cpp/zxing-cpp.mk
index 86a1ef96806d..c37769ea5d6b 100644
--- a/package/zxing-cpp/zxing-cpp.mk
+++ b/package/zxing-cpp/zxing-cpp.mk
@@ -12,8 +12,6 @@  ZXING_CPP_INSTALL_STAGING = YES
 ZXING_CPP_SUPPORTS_IN_SOURCE_BUILD = NO
 ZXING_CPP_DEPENDENCIES = host-pkgconf stb
 ZXING_CPP_CONF_OPTS = \
-	-DBUILD_READERS=ON \
-	-DBUILD_WRITERS=ON \
 	-DBUILD_BLACKBOX_TESTS=OFF \
 	-DBUILD_UNIT_TESTS=OFF \
 	-DBUILD_DEPENDENCIES=LOCAL
@@ -28,4 +26,16 @@  else
 ZXING_CPP_CONF_OPTS += -DBUILD_PYTHON_MODULE=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_ZXING_CPP_READERS)$(BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS),y)
+ZXING_CPP_CONF_OPTS += -DBUILD_READERS=ON
+else
+ZXING_CPP_CONF_OPTS += -DBUILD_READERS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_ZXING_CPP_WRITERS)$(BR2_PACKAGE_ZXING_CPP_READERS_AND_WRITERS),y)
+ZXING_CPP_CONF_OPTS += -DBUILD_WRITERS=ON
+else
+ZXING_CPP_CONF_OPTS += -DBUILD_WRITERS=OFF
+endif
+
 $(eval $(cmake-package))