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

The patch allows you to choose whether to build encoding (BUILD_WRITERS),
decoding (BUILD_READERS) or both. At least one of the two options must
be enabled. This way, it's possible to keep the library size at minimum.
By default, to ensure backward compatibility, both are compiled.

Co-Developed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Co-Developed-by: Francesco Nicoletta Puzzillo <francesco.nicolettap@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Dario Binacchi 2024-05-19 09:25:02 +02:00 committed by Yann E. MORIN
parent 898cf04e47
commit 47078cc118
2 changed files with 29 additions and 2 deletions

View File

@ -10,6 +10,7 @@ config BR2_PACKAGE_ZXING_CPP
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_STB
select BR2_PACKAGE_PYTHON_PYBIND if BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_ZXING_CPP_READERS if !BR2_PACKAGE_ZXING_CPP_WRITERS
help
ZXing-cpp (pronounced "zebra crossing") is an open-source,
multi-format 1D/2D barcode image processing library
@ -17,3 +18,19 @@ config BR2_PACKAGE_ZXING_CPP
compiles the C++ port.
https://github.com/zxing-cpp/zxing-cpp
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 # BR2_PACKAGE_ZXING_CPP

View File

@ -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),y)
ZXING_CPP_CONF_OPTS += -DBUILD_READERS=ON
else
ZXING_CPP_CONF_OPTS += -DBUILD_READERS=OFF
endif
ifeq ($(BR2_PACKAGE_ZXING_CPP_WRITERS),y)
ZXING_CPP_CONF_OPTS += -DBUILD_WRITERS=ON
else
ZXING_CPP_CONF_OPTS += -DBUILD_WRITERS=OFF
endif
$(eval $(cmake-package))