Commit graph

111 commits

Author SHA1 Message Date
Bernd Kuhls 76e902ca8c package/opencv: gtk support needs gcc >= 4.8
Due to the harfbuzz bump to version 2.5.2 gtk support needs gcc >= 4.8.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-08-11 22:47:25 +02:00
Fabrice Fontaine 5d05e82135 package/opencv: fix build due to gcc bug 68485
With Microblaze Gcc version <= 9.x the build fails due to gcc bug 68485:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485. The bug show up when
building opencv with optimization but not when building with -O0. To
work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_68458=y, we force using
-O0.

Fixes:
 - http://autobuild.buildroot.org/results/17fff0f312ebd520ba3341976ba56fd8c85ee376

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-06-20 21:50:58 +02:00
Peter Korsgaard 882ab1c2df package/opencv: remove qt backend option
The qt backend option uses the obsolete qt4 package, which we are about to
remove, so remove the qt backend option as well.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-06 15:41:04 +01:00
Bernd Kuhls b7afa9ae96 package/opencv: bump version to 2.4.13.7
Removed patch applied upstream.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-31 22:09:21 +02:00
Thomas Petazzoni 1b51fa44d0 package/*/Config.in: fix consecutive lines check-package warnings
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-18 09:25:24 +01:00
Thomas Petazzoni 2277fdeca8 package/*/Config.in: fix help text check-package warnings
This commit fixes the warnings reported by check-package on the help
text of all package Config.in files, related to the formatting of the
help text: should start with a tab, then 2 spaces, then at most 62
characters.

The vast majority of warnings fixed were caused by too long lines. A
few warnings were related to spaces being used instead of a tab to
indent the help text.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-18 09:22:54 +01:00
Arnout Vandecappelle (Essensium/Mind) 0eee5465e5 gstreamer: needs dynamic libraries
Fixes:
http://autobuild.buildroot.net/results/49d/49dcec0bd2f3bb78c18675a9fa5c9c53cc183fd2/

g_cclosure_marshal_VOID__VOID is defined both in libgobject.a and
libgstreamer.a. It is probably possible to fix this, but gstreamer0.10
has been deprecated for a long time now and is anyway unlikely to be
used in static-only situations, so let's just require dynamic linking.

Propagate to the reverse dependencies. opencv3 already did depend on
dynamic libs.

[Peter: add autobuild reference]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-05 23:15:26 +01:00
Samuel Martin 9092d5aa7f package/opencv: add hash for license file
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-02 13:32:45 +01:00
Samuel Martin dd609b3832 package/opencv: fix build failure
Backport fix from upstream.

Fixes:

  http://autobuild.buildroot.net/results/b27d324331f6e351e95dd4742f4d0a50af60c590
  http://autobuild.buildroot.net/results/44ed0be0bd94028b7b37e7bf21233adc1753d94b

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-02 12:32:50 +01:00
Bernd Kuhls 9015b17ff3 package/opencv: bump version to 2.4.13.3
Removed 0002-avoid-sysctl_h.patch, applied upstream:
61936eb1a4 (diff-f3b4393df86251f502cee9ba1da034a5)

This bump includes
70489b1e22 (diff-9076fba682f6d51a018b6de8648e1cdb)
which fixes ffmpeg static linking
http://autobuild.buildroot.net/results/544/5444b0c5556a42923e3fcdae782811a805e51b1f/
http://autobuild.buildroot.net/results/44d/44d53e4c5d4570507c7e8856fb9dd0a477dcdf63/

In-source-builds are not allowed anymore:
777a0080cb

Re-numbered remaining patches.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-09-22 18:19:35 +02:00
Andre Renaud 11a37d6b80 opencv: enable NEON optimizations if possible
Signed-off-by: Andre Renaud <andre@ignavus.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-09 17:28:58 +02:00
Bernd Kuhls cbf2b6e3db package/opencv: fix build with old glibc versions
Prior to glibc 2.18, definitions like SIZE_MAX or INT_FAST32_MAX from
<stdint.h> were only made available for C code, or in C++ if
__STDC_LIMIT_MACROS was defined.

The code from jasper uses such definitions, without defining
__STDC_LIMIT_MACROS. Unfortunately, defining __STDC_LIMIT_MACROS in
the jasper headers doesn't work, since <stdint.h> has already been
included before, at a point where __STDC_LIMIT_MACROS was not defined.

So to solve this problem, we simply pass -D__STDC_LIMIT_MACROS in
CXXFLAGS when building opencv with jasper support.

This patch uses the same solution used for libraw:
https://git.buildroot.net/buildroot/commit/package/libraw?id=d246cf5fd01bb0d20a0e64194ffed514ea8dd0aa

Fixes:
http://autobuild.buildroot.net/results/095/095f7574afdb633c59a625cd063de03644b6d3a7/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-27 17:16:06 +02:00
Romain Naour 519b96ad87 Revert "toolchain-external: CodeSourcery NiosII 2015.11 affected by PR19405"
An autobuilder exception has been added to avoid testing qt gui module
with the CodeSourcery NiosII toolchain. This allow to remove the
BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 symbol.

This reverts commit 5dce3c05b5.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-07 22:09:17 +02:00
Bernd Kuhls b4da02a819 package/opencv: bump version to 2.4.13.2
Removed patch applied upstream:
c7045184ce

Renumbered remaining patches.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-02 22:50:41 +02:00
Adam Duskett 3483a98d01 package/o*/Config.in: fix ordering of statements
The check-package script when ran gives warnings on ordering issues
on all of these Config files.  This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter o in the package directory.

The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-01 18:57:46 +02:00
Rahul Bedarkar 9f59b378a3 boot, package: use SPDX short identifier for BSD-3c
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for BSD-3c is BSD-3-Clause.

This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/BSD-3c/BSD-3-Clause/g'

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-01 15:26:57 +02:00
Samuel Martin 8bc94bf25a package/opencv: convert diff patch to git patch
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-01 14:54:52 +01:00
Samuel Martin a1e30d9365 package/opencv: update sysctl patch
Fixes:
  http://autobuild.buildroot.net/results/845/845f5e906fda3e87a2fc439a62baede44842283b/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-01 14:54:49 +01:00
Bernd Kuhls 652a8b3e90 package/opencv: Do not add libdl to LINKER_LIBS for static builds
Fixes
http://autobuild.buildroot.net/results/765/7657e01481995a4f0d725467e935a83928a59a04/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-26 23:33:46 +02:00
Bernd Kuhls 35387e190c package/opencv: Fix compiling VFP assembler code
Fixes build errors in ffmpeg
http://autobuild.buildroot.net/results/c32/c32a21240a9933796ee850349a62ff3c2314f25c/
http://autobuild.buildroot.net/results/22a/22a9769d83d2a398bb6b264d342b2077c41c9cc5/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-06 21:37:16 +02:00
Bernd Kuhls 438b03b2ce package/opencv: bump to version 2.4.13
Removed 0001-ffmpeg30.patch after being applied upstream.
Renumbered remaining patches.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-26 21:46:10 +02:00
Peter Korsgaard 2abce7a7fa opencv: add .hash file
Fixes:
http://autobuild.buildroot.org/results/e06/e06f0e6edd5d8013ff5e12e2b7253e99a1d1fa2e/

Similar to jquery-keyboard, it seems the opencv tarball on the autobuilder
is corrupt.  Fix it by adding a .hash file so it falls back to our s.b.o
mirror.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-15 23:12:44 +02:00
Vicente Olivert Riera e6e549b9e4 ffmpeg: add BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-26 21:18:35 +02:00
Samuel Martin 07144093d4 package/opencv: gpu module depends on !BR2_STATIC_LIBS
GPU support and related features (GL and CL) are detected and loaded at
runtime, so it requires libdl which is only available on
!BR2_STATIC_LIBS builds.

Because the OpenCV tests sets use these modules, they also requires
libdl, so they cannot be built when BR2_STATIC_LIBS is enable.

Fixes:
  http://autobuild.buildroot.net/results/570/57007a8d22d20b2fc5cd64154f5ec674b0842afa/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-15 21:31:45 +02:00
Romain Naour 59679785e8 package/opencv: disable toolchains affected by PR19405
opencv libphoto fail to link with the following error:
nios2-linux-gnu/bin/ld: BFD (Sourcery CodeBench Lite 2015.11-130) 2.25.51
assertion fail binutils-src-2015.11-130-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:1908

Fixes:
http://autobuild.buildroot.net/results/fd0cc1cb09d07be94770d984efb28eea7c6f25b7

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-15 21:15:25 +02:00
Waldemar Brodkorb f195aad458 opencv: fix compile issues
The first patch from Debian fixes following autobuild failure:
http://autobuild.buildroot.net/results/eda5c6c43da40a342e0f545a348d2f865eb5ccf2/

Tested with ARM build without a regression.

The second patch fixes musl arm autobuild failure:
http://autobuild.buildroot.net/results/6a397de789c809984b851a304078e26b2ac58974/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-01 23:50:13 +02:00
Samuel Martin fc23297c5c package/opencv: define modules inter-dependencies
OpenCV allows to enable/disable the selection of modules (a.k.a.
opencv libraries). These modules depend one on the others; these
dependencies are already handled by the build-system (CMake).

However, the way we handled them in Buildroot was not really clean.
For each opencv module, there is a kconfig option, but we forced the
corresponding CMake config option without checking for the modules'
dependencies.
For further details about the issues this situation was causing, refer
to this discussion [1].

This patch replicates the modules' dependency relations in the
Config.in, so that the selection of the user will actually be built.
This changes completes this work [2].

[1] http://lists.busybox.net/pipermail/buildroot/2016-April/159017.html
[2] https://git.buildroot.org/buildroot/commit/?id=3bd5025038a9ecfb2c19a2450a68ae3b0888b440

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-21 22:18:35 +02:00
Romain Naour 5dce3c05b5 toolchain-external: CodeSourcery NiosII 2015.11 affected by PR19405
See bug report https://sourceware.org/bugzilla/show_bug.cgi?id=19405

Fixes:
http://autobuild.buildroot.net/results/ee562524c5b12191e584ceae89006c5a5103e700

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
 - rename BR2_TOOLCHAIN_BINUTILS_HAS_BUG_19405 to
   BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
 - propagate to the qwt package, which is now selecting
   BR2_PACKAGE_QT_GUI_MODULE.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-20 23:20:58 +02:00
Bernd Kuhls 3bd5025038 package/opencv: add inter-module dependencies
As stated by Samuel the opencv2 package lacks inter-module dependencies:
http://lists.busybox.net/pipermail/buildroot/2016-April/158902.html

This patch adds the necessary code for freeswitch's mod_cv to compile.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-19 00:12:08 +02:00
Bernd Kuhls 4aa2831ac6 package/opencv: bump version to 2.4.12.3
Removed patches applied upstream:
ea50be0529
2e393ab833
eceada586b

Added upstream patch to support ffmpeg 3.0.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-29 03:07:36 +02:00
Thomas Petazzoni e64573c47f cairo, harfbuzz: rework atomic dependencies
This commit handles the reverse dependency tree of cairo in terms of
atomic dependencies. There are two main changes:

 - cairo in fact no longer needs atomic operations. It can perfectly
   build without any __sync built-in, as was tested using an ARC
   toolchain without atomics, and a SPARC toolchain. Optionally, Cairo
   can use the __atomic builtins provided by gcc >= 4.7, so support
   for this is added as well. Thanks to this change, the
   BR2_ARCH_HAS_ATOMICS dependency is removed from cairo and all its
   reverse dependencies.

 - harfbuzz does require the __sync built-in for 4 bytes integers, so
   we add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 to harfbuzz and all
   its reverse dependency, the main one being the pango package. Due
   to this, the vast majority of gtk-related packages are moved to a
   dependency on BR2_ARCH_HAS_ATOMICS (which used to be due to cairo)
   to a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (due to pango ->
   harfbuzz).

In detail:

 - cairo

   Remove BR2_ARCH_HAS_ATOMICS dependency, link against -latomic when
   gcc >= 4.8 in order to use the __atomic functions.

 - harfbuzz

   Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4

 - cairomm, gst-plugins-good, gst1-plugins-good, libgdiplus,
   libsvg-cairo, weston

   Remove BR2_ARCH_HAS_ATOMICS dependency (since cairo no longer needs
   atomics)

 - enlightenment, cwiid, gst-plugins-bad, gst-plugins-base,
   gst1-plugins-bad, gst1-plugins-base, gtkmm3,
   libevas-generic-loaders, libfm, libgail, libgtk2, libgtk3, librsvg,
   openbox, opencv, opencv3, pango, pangomm, pcmanfm, pinentry,
   rrdtool, webkit, webkitgtk24, xscreensaver

   Switch from a BR2_ARCH_HAS_ATOMICS dependency to a
   BR2_TOOLCHAIN_HAS_SYNC_4 (they depend on pango, harfbuzz, gtk, or
   some other related package)

 - directfb

   Remove BR2_ARCH_ATOMICS dependency of the BR2_PACKAGE_DIRECTFB_SVG
   (since cairo can build without atomics), but add a
   BR2_TOOLCHAIN_HAS_SYNC_4 dependency on BR2_PACKAGE_DIRECTFB itself
   since it does use __sync built-ins. This replaces the !BR2_sparc
   dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-06 11:16:00 +01:00
Vicente Olivert Riera 235d97225f opencv: use the same logic as opencv3 for gstreamer support
The logic for enabling gstreamer support in opencv is not correct. We
select gstreamer-0.10 packages but then we enable gstreamer1 support in
the opencv.mk file. opencv3 has the correct logic, so let's use it in
opencv as well.

Fixes:

  http://autobuild.buildroot.net/results/f6d/f6d0a4ffe347cbb868998856aca674ba8bc2e281/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-28 23:04:42 +01:00
Thomas Petazzoni 8b58ec0169 ffmpeg: mark as not available on nios2
ffmpeg was already marked as not available for the NIOS2 Sourcery
toolchains, but it could still be built with the internal toolchain
backend or a custom external toolchain.

However, an inspection of the latest glibc source code indicates that
FE_INVALID, FE_OVERFLOW and FE_UNDERFLOW and indeed not available in
the nios2 variant of <fenv.h>.

Consequently, this patch makes ffmpeg not available on nios2, which
allows to simplify a bit the dependencies.

It propagates this dependency to:

 - minidlna (and at the same time makes sure the minidlna comment is
   not displayed on nios2, which wasn't properly taken into account
   until now)
 - mpd
 - opencv
 - opencv3
 - squeezelite
 - tovid

Even if it selects ffmpeg, Kodi does not need an update since Kodi is
only available on a limited number of architectures (which don't
include nios2, obviously). Other packages only make use of ffmpeg when
available.

Fixes:

  http://autobuild.buildroot.org/results/921/9212f5a6432c5e695ac0630695405cea05e28610/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-11-11 15:55:07 +01:00
Samuel Martin ac57d05076 package/opencv: re-introduce opencv for opencv-2.4
As Jonathan noticed in [1], users' applications may depend on opencv-2.4
APIs removed in opencv-3.0.

So, re-introduce opencv package as it was right before the bump to
opencv-3.0 (i.e.: commit bf00b5a9ea).

We do not support both OpenCV-2.4 and OpenCV-3 at the same time, so make
OpenCV-3 depend on !OpenCV-2.4.

[1] http://lists.busybox.net/pipermail/buildroot/2015-August/135270.html

Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr:
  - remove legacy symbols, now
  - make opencv3 depends on !opencv, not the other way around
  - slitghly reword the commit log (opencv/opencv3 dependency)
]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-25 11:56:57 +02:00
Samuel Martin 3ba8dc3561 package: rename opencv -> opencv3
Since there is a couple of API breaks between OpenCV 2.4 and 3.0, two
distinct packages mutually exclusive will be integrated in the package
tree.

So, this change prepares the re-introduction of the OpenCV-2.4 package
by renaming the current opencv package (which provides OpenCV-3.0) to
opencv3.

Reverse dependencies (vlc) is fixed to use the new symbols.

Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr:
  - fix missed usage in vlc.mk
  - don't remove legacy OpenCV symbols
  - fix 'endif' comment
  - slightly reword commit log (reverse deps)
]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-25 11:51:35 +02:00
Thomas Petazzoni d21932508e opencv: mark as not available on Xtensa
OpenCV currently does not build on Xtensa due to compiler/assembler
issues:

  Error: operand 2 of 'l32r' has out of range value '4294632228'

Until this gets fixed, let's disable OpenCV on Xtensa.

Temporarily works around:

   http://autobuild.buildroot.net/results/0be/0bed0779685d9ed83466a4d29a0281ca93043a2e/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-08 17:16:19 +02:00
Samuel Martin e5cbe66571 package/opencv: add opengl support
In OpenCV, OpenGL is only used by highgui module.

OpenGL support is done using extensions from 3rd party framework: either
Qt5OpenGL with Qt5 (with GL support only, not GLES); or gtkglext (which
is not available in Buildroot) with gtk2

So, make OpenGL knob a sub-option of the Qt5 support option.

Note: we enclose both the GUI toolkit choice and the GL option in an
if-block, so that the GL option gets properly indented; having it
depend on WITH_QT5 is not enough, because it does not directly follow
it, so kconfig would not consider it for indenting.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: tweak commit log about the if-block]
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Samuel Martin 70c7d46893 package/opencv: add gtk3 support
OpenCV now also supports gtk3 as a GUI toolkit, in addition to gtk2,
but only one may be enabled at a time.

So, add gtk3 in the choice to select the GUI toolkit.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: drop the superfluous depends-on for the
 kconfig symbol, since they're no longer needed now we depend-on rather
 than select]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Samuel Martin a2afd56594 package/opencv: add qt5 support
Starting with the 2.4.6 release, OpenCV supports either Qt4 or Qt5 as GUI
toolkit, so add Qt5 in the GUI toolkit choice.

When Qt4 is enabled (and thus Qt5 is hidden and disabled), no need to
show a comment stating "Qt5 support needs Qt5", because Qt5 is not
selectable.

Conversely, when Qt5 is enabled and Qt4 is not, then no need to show a
comment stating "Qt4 support needs Qt4", because enabling Qt4 would
disable Qt5.

So, we only show the comments when neither toolkit is enabled.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: split-out the Qt5 hunk from the
 switch-selects-to-depends hunk]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Samuel Martin e6a24e2446 package/opencv: depends on GUI toolkits, rather than select them
Currently, we only support either Qt4 or gtk2, but OpenCV also
additionally supports Qt5 or gtk3, making for a choice of four
toolkits, one of: Qt4, Qt5, gtk3, gtk2 (and obviously, none).

Since Buildroot does not support coexistence of Qt4 and Qt5, we
can no longer select one and depend on the other, like so:

    config BR2_PKG_OCV_WITH_QT4
        bool "Qt4"
        depends on !BR2_PKG_QT5
        select BR2_PKG_QT

    config BR2_PKG_OCV_WITH_QT5
        bool "Qt5"
        depends on !BR2_PKG_QT
        select BR2_PKG_QT5

otherwise, we'd get a circular dependency chain in Kconfig, which would
complain with:

  package/opencv/Config.in:57:error: recursive dependency detected!
  package/opencv/Config.in:57:    choice <choice> contains symbol BR2_PKG_OCV_WITH_QT5
  package/opencv/Config.in:111:   symbol BR2_PKG_OCV_WITH_QT5 depends on BR2_PKG_QT
  package/qt/Config.in:5: symbol BR2_PKG_QT is selected by BR2_PKG_OCV_WITH_QT
  package/opencv/Config.in:98:    symbol BR2_PKG_OCV_WITH_QT is part of choice <choice>

Instead, we need to depend on either Qt version.

So, to have a consistent choice, we make all support for GUI toolkits
actually depend on the toolkit, rather than select it.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: split-out the switch-selects-to-depends hunk
 from the add-qt5 hunk]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Samuel Martin 5117b97763 package/opencv: add a choice for selecting the gui toolkit
In OpenCV, only one GUI toolkit may be used at any one time, so group
the two existing options into a choice to make this situation explicit.

This will also be useful when we later add support for Qt5 and gtk3.

Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: tweak commit log]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Samuel Martin fc71d52724 package/opencv: add gstreamer-1.x support
Starting with the 2.4.10 release, OpenCV supports both Gstreamer-0.10
and Gstreamer-1, but only one can be enabled at the same time (OpenCV
chooses Gstreamer-1 over Gstreamer-0.10 when both are available).

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-05 14:50:52 +02:00
Samuel Martin 97daf3a08a package/opencv: add a choice for selecting gstreamer support
OpenCV 3.0 support both gstreamer-0.10 and gstreamer-1.x, but only one
is used at the time.

This patch turns the gstreamer support into a choice, in order to prepare
adding the support for gstreamer-1 in a following patch.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-05 14:50:42 +02:00
Samuel Martin 7a76c358fa package/opencv: add openmp support
Note that this situation is not ideal because it only add openmp support
to the Buildroot toolchain, not the external ones; but a couple of
packages already are in this situation.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:46:01 +02:00
Samuel Martin c96fb31aa1 package/opencv: add python support
opencv_python module needs python-numpy because it uses some numpy
headers in this wrapper.

>From its 2.4 release, OpenCV offers python bindings, but they required
most of the OpenCV modules to be enabled.

Since OpenCV-3.0.0, python bindings have been reworked:
- it now supports both python2 and python3
- only built modules supporting wrapped in python will be included in
  the bindings.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:44:29 +02:00
Samuel Martin 07d3749c25 package/opencv: disable all modules by default
This change allows to reduce the size of the default OpenCV package, so
the final root filesystem.

However, this will break any existing defconfig enabling OpenCV. Indeed,
a minimal OpenCV  package will be built, whereas, prior to applying this
patches, a full-featured one would have been built instead.

Cc: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:44:03 +02:00
Samuel Martin f45342b755 package/opencv: reduce modules on by default
Since its integration into Buildroot, OpenCV always enables all modules
by default because the inter-module denpedency were not supported.

Now that OpenCV inter-module dependencies are correctly set at the
Buildroot configuration level, it is possible to reduce the enabled
module list to its minimal set, letting kconfig enable the other
modules.

This change will not change anything WRT a defconfig build with opencv.

Cc: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:43:25 +02:00
Samuel Martin 1550ee0c12 package/opencv: reword modules' prompt and help text
This patch is mostly cosmetic changes improving the human interface.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:42:21 +02:00
Samuel Martin 1a49f97b00 package/opencv: define modules inter-dependencies
OpenCV allows to enable/disable the selection of modules (a.k.a.
opencv libraries). These modules depend one on the others; these
dependencies are already handled by the build-system (CMake).

However, the way we handled them in Buildroot was not really clean.
For each opencv module, there is a kconfig option, but we forced the
corresponding CMake config option without checking for the modules'
dependencies.

This patch replicates the modules' dependency relations in the
Config.in, so that the selection of the user will actually be built.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:42:04 +02:00
Samuel Martin a9043951b9 package/opencv: bump to version 3.0
This major version bump is in fact a bump from 2.4.10 to 2.4.11, then to
3.0.

OpenCV-2.4.11 improves a lot the Buildroot integration, including a
couple of patches that are no longer needed:
- x86 PIC code compilation fix in core module [1];
- return type fix in superes module [2];
- opencv.pc generation [3].

It also improves the gstreamer-0.10/1.x detection [4], that will be
needed in a follow-up patch.

OpenCV-3.0 still requires 2 patches (backported from upstream fixing
pthread support [5,6].

The OpenCV-3.0 does some major changes, for which a transition guide
has been published [7].

Among these changes coming with OpenCV-3.0, some new modules have been
introduced and others got removed; leading to a bunch of configure
option updates (to keep as much as possible an iso-functional-perimeter)
and the legacy menu has been updated too.
The worth noticing removals being:
- the opencv_legacy and opencv_nonfree modules no longer exist;
- the opencv_contrib module has moved out of the opencv base tree and
  now has its own repository [8].
  There is currently no plan to support it.

Some 3rd-party supports have been improved or added; their integrations
in Buildroot will be addressed in follow-up patches.

[1] ea50be0529
[2] 2e393ab833
[3] eceada586b
[4] 38bb0db9db
[5] 1f983ec39c
[6] a482dcce46
[7] http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html
[8] https://github.com/itseez/opencv_contrib

[Thomas:
  - address most contents made by Yann E. Morin on the Config.in file.]

Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-26 20:38:28 +02:00