[Buildroot] [PATCH 2/3] package/zxing-cpp: bump to version 1.4.0

James Hilliard james.hilliard1 at gmail.com
Mon Nov 14 23:31:56 UTC 2022


On Mon, Nov 14, 2022 at 6:45 PM Thomas Petazzoni
<thomas.petazzoni at bootlin.com> wrote:
>
> Hello James,
>
> On Sun,  6 Nov 2022 19:24:57 -0700
> James Hilliard <james.hilliard1 at gmail.com> wrote:
>
> > -ifeq ($(BR2_PACKAGE_LIBICONV),y)
> > -ZXING_CPP_DEPENDENCIES += libiconv
> > +ifeq ($(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI)$(BR2_PACKAGE_OPENCV4_LIB_HIGHGUI),y)
> > +ifeq ($(BR2_PACKAGE_OPENCV3),y)
> > +ZXING_CPP_DEPENDENCIES += opencv3
> > +endif
> > +ifeq ($(BR2_PACKAGE_OPENCV4),y)
> > +ZXING_CPP_DEPENDENCIES += opencv4
> > +endif
> > +ZXING_CPP_CONF_OPTS += -DCMAKE_REQUIRE_FIND_PACKAGE_OpenCV=TRUE
> > +else
> > +ZXING_CPP_CONF_OPTS += -DCMAKE_DISABLE_FIND_PACKAGE_OpenCV=TRUE
> >  endif
> >
> > -ifeq ($(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI),y)
> > -ZXING_CPP_DEPENDENCIES += opencv3
> > -ZXING_CPP_CONF_OPTS += -DBUILD_OPENCV=ON
> > +ifeq ($(BR2_PACKAGE_PYTHON3)$(BR2_PACKAGE_PYTHON_PYBIND),y)
>
> Are you sure this is correct? I believe it should be:
>
> ifeq ($(BR2_PACKAGE_PYTHON3)$(BR2_PACKAGE_PYTHON_PYBIND),yy)

Fixed in v2:
https://patchwork.ozlabs.org/project/buildroot/patch/20221114232254.3970611-1-james.hilliard1@gmail.com/

>
> or:
>
> ifeq ($(BR2_PACKAGE_PYTHON3),y)
>
> since anyway pybind is guaranteed to be available when python3 is
> enabled, since you select it.
>
> > +ZXING_CPP_DEPENDENCIES += python3 python-pybind
> > +ZXING_CPP_CONF_OPTS += -DBUILD_PYTHON_MODULE=ON
> > +else
> > +ZXING_CPP_CONF_OPTS += -DBUILD_PYTHON_MODULE=OFF
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_QT5BASE),y)
> > +ZXING_CPP_DEPENDENCIES += qt5base
> > +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5MULTIMEDIA),yy)
> > +ZXING_CPP_DEPENDENCIES += qt5declarative qt5multimedia
> > +endif
> > +ifeq ($(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5MULTIMEDIA),yyy)
> > +ZXING_CPP_CONF_OPTS += -DCMAKE_REQUIRE_FIND_PACKAGE_Qt5=TRUE

This makes all the qt5 components here required:
https://github.com/zxing-cpp/zxing-cpp/blob/v1.4.0/example/CMakeLists.txt#L29

One qt5 feature requires BR2_PACKAGE_QT5BASE_GUI:
https://github.com/zxing-cpp/zxing-cpp/blob/v1.4.0/example/CMakeLists.txt#L33

The other requires BR2_PACKAGE_QT5DECLARATIVE_QUICK and
BR2_PACKAGE_QT5MULTIMEDIA but not BR2_PACKAGE_QT5BASE_GUI:
https://github.com/zxing-cpp/zxing-cpp/blob/v1.4.0/example/CMakeLists.txt#L38

>
> it's a bit confusing what's happening here. Why are the dependencies
> different than the condition used to enable Qt support?

Also added a comment in v2:
https://patchwork.ozlabs.org/project/buildroot/patch/20221114232254.3970611-1-james.hilliard1@gmail.com/

>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com



More information about the buildroot mailing list