[Buildroot] [PATCH 3/3] opencv: bump version to 2.4.6
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sun Jul 7 19:28:36 UTC 2013
Dear Samuel Martin,
On Sun, 7 Jul 2013 20:44:55 +0200, Samuel Martin wrote:
> Also:
> - add license details;
> - add new modules option;
> - explicitly disable python support to avoid being confuse by the one from the
> host;
> - update qt support (now handle qt4/qt5)
It would probably be good if some of those changes were split in
separate patches. The license, bump, python stuff are fairly
uncontroversial, so they could get merged quickly. I believe the Qt
part will most likely require more work.
> +if BR2_INSTALL_LIBSTDCPP && (!BR2_avr32 || (BR2_USE_WCHAR && BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS)) # qt{4,5} dependencies
> +
> +if !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5
> +comment "Qt support not available."
> +comment "Enable one of the Qt libraries before enabling Qt support in OpenCV"
> +endif
> +
> config BR2_PACKAGE_OPENCV_WITH_QT
> - bool "qt backend support"
> - depends on BR2_INSTALL_LIBSTDCPP
> - depends on !BR2_avr32 # qt
> - select BR2_PACKAGE_QT
> - select BR2_PACKAGE_QT_STL
> - default y
> - help
> - Use Qt with STL support
> + bool "Qt support"
> + #prompt "Qt4 support" if BR2_PACKAGE_QT
> + #prompt "Qt5 support" if BR2_PACKAGE_QT5
Hum?
> + depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5
Since you're using "depends on" for Qt, why do you need the complicated
BR2_INSTALL_LIBSTDCPP ... condition above?
> + select BR2_PACKAGE_QT_STL if BR2_PACKAGE_QT
> + select BR2_PACKAGE_QT5BASE if BR2_PACKAGE_QT5
> + select BR2_PACKAGE_QT5BASE_CONCURRENT if BR2_PACKAGE_QT5
> + select BR2_PACKAGE_QT5BASE_TEST if BR2_PACKAGE_QT5
> + select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5
> + select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5
> +
> +endif # qt{4,5} dependencies
> -OPENCV_VERSION = 2.4.2
> +OPENCV_VERSION = 2.4.6
> OPENCV_SITE = http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/$(OPENCV_VERSION)
> -OPENCV_SOURCE = OpenCV-$(OPENCV_VERSION).tar.bz2
> OPENCV_INSTALL_STAGING = YES
> +OPENCV_LICENSE = BSD-3c
> +OPENCV_LICENSE_FILES = doc/license.txt
>
> +OPENCV_CONF_ENV = PATH="$(TARGET_PATH)"
Maybe this should be part of the CMake package infrastructure? It kind
of makes sense to execute cmake with PATH="$(TARGET_PATH)", in order to
allow cmake to pick up any host tool we might have built and installed
in $(HOST_DIR).
> OPENCV_CONF_OPT += \
> -DCMAKE_BUILD_TYPE=$(if $(BR2_ENABLE_DEBUG),Debug,Release) \
> -DBUILD_SHARED_LIBS=$(if $(BR2_PREFER_STATIC_LIB),OFF,ON) \
> @@ -47,13 +49,19 @@ OPENCV_CONF_OPT += \
> -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \
> -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \
> -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \
> - -DBUILD_opencv_python=OFF \
> -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \
> + -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \
> -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \
> -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \
> -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \
> -DBUILD_opencv_world=OFF
>
> +# Explicitly disable python to avoid confusing OpenCV, which comes with its
> +# own implementation of the Python detection CMake module.
> +OPENCV_CONF_OPT += \
> + -DBUILD_opencv_python=OFF \
> + -DPYTHON_EXECUTABLE=OFF
Why not part of the OPENCV_CONF_OPT assignment above? For the comment?
> +
> # Hardware support options.
> #
> # * PowerPC support is turned off since its only effect is altering CFLAGS,
> @@ -141,8 +149,8 @@ OPENCV_CONF_OPT += -DWITH_PNG=OFF
> endif
>
> ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
> -OPENCV_CONF_OPT += -DWITH_QT=ON
> -OPENCV_DEPENDENCIES += qt
> +OPENCV_CONF_OPT += -DWITH_QT=$(if $(BR2_PACKAGE_QT),4,5)
> +OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_QT),qt,qt5base)
> else
> OPENCV_CONF_OPT += -DWITH_QT=OFF
> endif
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list