* [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures
@ 2012-06-02 22:09 Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features Samuel Martin
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
The 1st try of bumping OpenCV package has highlighted the lack of some
CPU feature symbols.
This patch series define symbols for some of these features for x86
and x86_64 architures.
These new symbols are used in this 2nd version of the OpenCV patch, as
well as in some other packages.
Changes since v1:
- add CPU features symbols
- use those symbols in the opencv, sdl_gfx and sdl_sound packages
- opencv: add missing zlib dependency
Samuel Martin (5):
target: add symbols for i386/x86_64 cpu features
libevas: refactor *_CONF_OPT assignment with cpu-feature options
sdl_gfx: refactor *_CONF_OPT assignment with cpu-feature options
sdl_sound: refactor *_CONF_OPT assignment with cpu-feature options
opencv: bump to version 2.4.0
package/efl/libevas/libevas.mk | 24 ++--
package/opencv/Config.in | 120 ++++++++++++++++----
...pencv-uclibc-optional-long-double-support.patch | 40 -------
package/opencv/opencv.mk | 78 ++++++++-----
package/sdl_gfx/sdl_gfx.mk | 10 +-
package/sdl_sound/sdl_sound.mk | 3 +-
target/Config.in.arch | 117 ++++++++++++++++++-
7 files changed, 281 insertions(+), 111 deletions(-)
delete mode 100644 package/opencv/opencv-uclibc-optional-long-double-support.patch
--
1.7.10.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
@ 2012-06-02 22:09 ` Samuel Martin
2012-06-02 22:17 ` Thomas Petazzoni
2012-06-02 22:09 ` [Buildroot] [PATCH v2 2/5] libevas: refactor *_CONF_OPT assignment with cpu-feature options Samuel Martin
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
Selecting the target architecture variant automatically selects the
appropriated set of features.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
diff --git a/target/Config.in.arch b/target/Config.in.arch
index 25ff750..9908b58 100644
--- a/target/Config.in.arch
+++ b/target/Config.in.arch
@@ -242,7 +242,7 @@ choice
default BR2_mips_1 if BR2_mipsel
help
Specific CPU variant to use
-
+
64bit cabable: 3, 4, 64, 64r2
non-64bit capable: 1, 2, 32, 32r2
@@ -325,6 +325,31 @@ endchoice
# gcc builds libstdc++ differently depending on the
# host tuplet given to it, so let people choose
#
+
+# i386/x86_64 cpu features
+config BR2_CPU_HAS_MMX
+ bool
+config BR2_CPU_HAS_SSE
+ bool
+config BR2_CPU_HAS_SSE2
+ bool
+config BR2_CPU_HAS_SSE3
+ bool
+config BR2_CPU_HAS_SSSE3
+ bool
+config BR2_CPU_HAS_SSE41
+ bool
+config BR2_CPU_HAS_SSE42
+ bool
+config BR2_CPU_HAS_SSE4
+ bool
+config BR2_CPU_HAS_SSE4A
+ bool
+config BR2_CPU_HAS_3DNOW
+ bool
+config BR2_CPU_HAS_ABM
+ bool
+
choice
prompt "Target Architecture Variant"
depends on BR2_i386
@@ -344,46 +369,106 @@ config BR2_x86_pentiumpro
bool "pentium pro"
config BR2_x86_pentium_mmx
bool "pentium MMX"
+ select BR2_CPU_HAS_MMX
config BR2_x86_pentium_m
bool "pentium mobile"
config BR2_x86_pentium2
bool "pentium2"
+ select BR2_CPU_HAS_MMX
config BR2_x86_pentium3
bool "pentium3"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
config BR2_x86_pentium4
bool "pentium4"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
config BR2_x86_prescott
bool "prescott"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
config BR2_x86_nocona
bool "nocona"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
config BR2_x86_core2
bool "core2"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSSE3
config BR2_x86_atom
bool "atom"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSSE3
config BR2_x86_k6
bool "k6"
+ select BR2_CPU_HAS_MMX
config BR2_x86_k6_2
bool "k6-2"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
config BR2_x86_athlon
bool "athlon"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
config BR2_x86_athlon_4
bool "athlon-4"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
config BR2_x86_opteron
bool "opteron"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
config BR2_x86_opteron_sse3
bool "opteron w/ SSE3"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
config BR2_x86_barcelona
bool "barcelona"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSE4A
+ select BR2_CPU_HAS_ABM
config BR2_x86_geode
bool "geode"
+ # Don't include MMX support because there several variant of geode
+ # processor, some with MMX support, some without.
+ # See: http://en.wikipedia.org/wiki/Geode_%28processor%29
+ select BR2_CPU_HAS_3DNOW
config BR2_x86_c3
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
config BR2_x86_c32
bool "Via C3-2 (Nehemiah cores)"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
config BR2_x86_winchip_c6
bool "IDT Winchip C6"
+ select BR2_CPU_HAS_MMX
config BR2_x86_winchip2
bool "IDT Winchip 2"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
endchoice
choice
@@ -397,16 +482,46 @@ config BR2_x86_64_generic
bool "generic"
config BR2_x86_64_barcelona
bool "barcelona"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSE4A
+ select BR2_CPU_HAS_ABM
config BR2_x86_64_opteron_sse3
bool "opteron w/ sse3"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
config BR2_x86_64_opteron
bool "opteron"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_3DNOW
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
config BR2_x86_64_nocona
bool "nocona"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
config BR2_x86_64_core2
bool "core2"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSSE3
config BR2_x86_64_atom
bool "atom"
+ select BR2_CPU_HAS_MMX
+ select BR2_CPU_HAS_SSE
+ select BR2_CPU_HAS_SSE2
+ select BR2_CPU_HAS_SSE3
+ select BR2_CPU_HAS_SSSE3
endchoice
choice
--
1.7.10.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 2/5] libevas: refactor *_CONF_OPT assignment with cpu-feature options
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features Samuel Martin
@ 2012-06-02 22:09 ` Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 3/5] sdl_gfx: " Samuel Martin
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk
index e716cea..9fc98f6 100644
--- a/package/efl/libevas/libevas.mk
+++ b/package/efl/libevas/libevas.mk
@@ -115,23 +115,23 @@ LIBEVAS_CONF_OPT += --enable-gl-flavor-gles --enable-gles-variety-s3c6410
endif
# code options
-ifeq ($(BR2_i386)$(BR2_x86_64),y)
-# defaults
-LIBEVAS_CONF_OPT += --disable-cpu-mmx --disable-cpu-sse --disable-cpu-sse3
-
-# enable if cpu variant has mmx support
-ifneq ($(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_i686)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y)
+ifeq ($(BR2_CPU_HAS_MMX),y)
LIBEVAS_CONF_OPT += --enable-cpu-mmx
+else
+LIBEVAS_CONF_OPT += --disable-cpu-mmx
+endif
-ifneq ($(BR2_x86_pentium_mmx)$(BR2_x86_pentium2)$(BR2_x86_k6)$(BR2_x86_k6_2)$(BR2_x86_athlon)$(BR2_x86_c3)$(BR2_x86_winchip_c6)$(BR2_x86_winchip2),y)
+ifeq ($(BR2_CPU_HAS_SSE),y)
LIBEVAS_CONF_OPT += --enable-cpu-sse
+else
+LIBEVAS_CONF_OPT += --disable-cpu-sse
+endif
-ifneq ($(BR2_x86_pentium3)$(BR2_x86_pentium4)$(BR2_x86_prescott)$(BR2_x86_athlon_4)$(BR2_x86_opteron)$(BR2_x86_c32)$(BR2_x86_64_opteron),y)
+ifeq ($(BR2_CPU_HAS_SSE3),y)
LIBEVAS_CONF_OPT += --enable-cpu-sse3
-endif # sse3
-endif # sse
-endif # mmx
-endif # x86
+else
+LIBEVAS_CONF_OPT += --disable-cpu-sse3
+endif
ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
LIBEVAS_CONF_OPT += --enable-cpu-altivec
--
1.7.10.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 3/5] sdl_gfx: refactor *_CONF_OPT assignment with cpu-feature options
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 2/5] libevas: refactor *_CONF_OPT assignment with cpu-feature options Samuel Martin
@ 2012-06-02 22:09 ` Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 4/5] sdl_sound: " Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0 Samuel Martin
4 siblings, 0 replies; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
diff --git a/package/sdl_gfx/sdl_gfx.mk b/package/sdl_gfx/sdl_gfx.mk
index a25987d..06c37de 100644
--- a/package/sdl_gfx/sdl_gfx.mk
+++ b/package/sdl_gfx/sdl_gfx.mk
@@ -11,13 +11,7 @@ SDL_GFX_DEPENDENCIES:=sdl
SDL_GFX_CONF_OPT = \
--with-sdl-prefix=$(STAGING_DIR)/usr \
--disable-sdltest \
- --enable-static
-
-# enable mmx for newer x86's
-ifeq ($(BR2_i386)$(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y)
-SDL_GFX_CONF_OPT += --enable-mmx
-else
-SDL_GFX_CONF_OPT += --disable-mmx
-endif
+ --enable-static \
+ $(if $(BR2_CPU_HAS_MMX),--enable-mmx,--disable-mmx)
$(eval $(call AUTOTARGETS))
--
1.7.10.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 4/5] sdl_sound: refactor *_CONF_OPT assignment with cpu-feature options
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
` (2 preceding siblings ...)
2012-06-02 22:09 ` [Buildroot] [PATCH v2 3/5] sdl_gfx: " Samuel Martin
@ 2012-06-02 22:09 ` Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0 Samuel Martin
4 siblings, 0 replies; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
diff --git a/package/sdl_sound/sdl_sound.mk b/package/sdl_sound/sdl_sound.mk
index f95d6bc..05648bf 100644
--- a/package/sdl_sound/sdl_sound.mk
+++ b/package/sdl_sound/sdl_sound.mk
@@ -32,8 +32,7 @@ SDL_SOUND_CONF_OPT = \
--disable-sdltest \
--enable-static
-# enable mmx for newer x86's
-ifeq ($(BR2_i386)$(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y)
+ifeq ($(BR2_CPU_HAS_MMX),y)
SDL_SOUND_CONF_OPT += --enable-mmx
else
SDL_SOUND_CONF_OPT += --disable-mmx
--
1.7.10.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
` (3 preceding siblings ...)
2012-06-02 22:09 ` [Buildroot] [PATCH v2 4/5] sdl_sound: " Samuel Martin
@ 2012-06-02 22:09 ` Samuel Martin
2012-06-02 22:20 ` Thomas Petazzoni
4 siblings, 1 reply; 9+ messages in thread
From: Samuel Martin @ 2012-06-02 22:09 UTC (permalink / raw)
To: buildroot
Update Config.in and .mk according to the new features.
Remove the pacth the uclibc without long double support, which seems
not necessary anymore.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
delete mode 100644 package/opencv/opencv-uclibc-optional-long-double-support.patch
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index 961282f..0581c14 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_OPENCV
+menuconfig BR2_PACKAGE_OPENCV
bool "opencv"
select BR2_PACKAGE_ZLIB
depends on BR2_INSTALL_LIBSTDCPP
@@ -11,28 +11,90 @@ config BR2_PACKAGE_OPENCV
if BR2_PACKAGE_OPENCV
-config BR2_PACKAGE_OPENCV_BUILD_TESTS
- bool "build tests"
+comment "OpenCV modules"
-config BR2_PACKAGE_OPENCV_INSTALL_DATA
- bool "install extra data"
- help
- Install various data that is used by cv libraries and/or demo
- applications, specifically for haarcascades and lbpcascades
- features.
+config BR2_PACKAGE_OPENCV_BUILD_opencv_calib3d
+ bool "include opencv_calib3d module into the OpenCV build"
+ default y
- For further information: see OpenCV documentation.
+config BR2_PACKAGE_OPENCV_BUILD_opencv_contrib
+ bool "include opencv_contrib module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_core
+ bool "include opencv_core module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_features2d
+ bool "include opencv_features2d module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_flann
+ bool "include opencv_flann module into the OpenCV build"
+ default y
-comment "Build options"
+config BR2_PACKAGE_OPENCV_BUILD_opencv_gpu
+ bool "include opencv_gpu module into the OpenCV build"
-config BR2_PACKAGE_OPENCV_WITH_PYTHON
- bool "python support"
- depends on BR2_PACKAGE_PYTHON
+config BR2_PACKAGE_OPENCV_BUILD_opencv_highgui
+ bool "include opencv_highgui module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_imgproc
+ bool "include opencv_imgproc module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_legacy
+ bool "include opencv_legacy module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_ml
+ bool "include opencv_ml module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_nonfree
+ bool "include opencv_nonfree module into the OpenCV build"
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_objdetect
+ bool "include opencv_objdetect module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_photo
+ bool "include opencv_photo module into the OpenCV build"
+ default y
+
+comment "opencv_python module requires numpy which is not yet available."
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_stitching
+ bool "include opencv_stitching module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_ts
+ bool "include opencv_ts module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_video
+ bool "include opencv_video module into the OpenCV build"
+ default y
+
+config BR2_PACKAGE_OPENCV_BUILD_opencv_videostab
+ bool "include opencv_videostab module into the OpenCV build"
+ default y
+
+comment "Test sets"
+config BR2_PACKAGE_OPENCV_BUILD_TESTS
+ bool "build tests"
+
+config BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS
+ bool "build performance tests"
+
+comment "3rd party support"
config BR2_PACKAGE_OPENCV_WITH_FFMPEG
bool "ffmpeg support"
depends on BR2_LARGEFILE
depends on BR2_INET_IPV6
+ select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
help
@@ -43,18 +105,17 @@ comment "ffmpeg support requires a toolchain with LARGEFILE and IPV6 support"
config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
bool "gstreamer support"
+ depends on BR2_USE_WCHAR
select BR2_PACKAGE_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
config BR2_PACKAGE_OPENCV_WITH_GTK
bool "gtk support"
- depends on BR2_PACKAGE_LIBGTK2
-
-config BR2_PACKAGE_OPENCV_WITH_QT
- bool "qt backend support"
- depends on BR2_PACKAGE_QT
- default y
+ depends on BR2_PACKAGE_XORG7||BR2_PACKAGE_DIRECTFB
+ depends on BR2_USE_WCHAR
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_LIBGTK2
config BR2_PACKAGE_OPENCV_WITH_JPEG
bool "jpeg support"
@@ -68,6 +129,12 @@ config BR2_PACKAGE_OPENCV_WITH_PNG
help
Use shared libpng from the target system.
+config BR2_PACKAGE_OPENCV_WITH_QT
+ bool "qt backend support"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_QT
+ default y
+
config BR2_PACKAGE_OPENCV_WITH_TIFF
bool "tiff support"
select BR2_PACKAGE_TIFF
@@ -81,6 +148,18 @@ config BR2_PACKAGE_OPENCV_WITH_V4L
help
Enable Video 4 Linux support.
+comment "Install options"
+
+config BR2_PACKAGE_OPENCV_INSTALL_DATA
+ bool "install extra data"
+ help
+ Install various data that is used by cv libraries and/or demo
+ applications, specifically for haarcascades and lbpcascades
+ features.
+
+ For further information: see OpenCV documentation.
+
+
comment "v4l support requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE
@@ -88,3 +167,4 @@ endif # BR2_PACKAGE_OPENCV
comment "opencv requires a toolchain with C++ and WCHAR support"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
+
diff --git a/package/opencv/opencv-uclibc-optional-long-double-support.patch b/package/opencv/opencv-uclibc-optional-long-double-support.patch
deleted file mode 100644
index b319849..0000000
--- a/package/opencv/opencv-uclibc-optional-long-double-support.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Upstream: https://code.ros.org/trac/opencv/ticket/1515
-
-[PATCH] Fix compile issue in flann module on uClibc without long double support
-
-uClibc configured without UCLIBC_HAS_LONG_DOUBLE_MATH (because of user
-choice or simply that the arch doesn't provide long doubles) doesn't
-provide fabsl(), breaking the build in the flann module.
-
-Work around it by not providing the long double template specialization.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- modules/flann/include/opencv2/flann/dist.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-Index: opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h
-===================================================================
---- opencv-2.3.1a.orig/modules/flann/include/opencv2/flann/dist.h
-+++ opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h
-@@ -40,6 +40,7 @@
- #else
- #include <stdint.h>
- #endif
-+#include <features.h>
-
- #include "defines.h"
-
-@@ -59,9 +60,11 @@
- template<>
- inline double abs<double>(double x) { return fabs(x); }
-
-+/* uClibc configured without long double math doesn't provide fabsl */
-+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__))
- template<>
- inline long double abs<long double>(long double x) { return fabsl(x); }
--
-+#endif
-
- template<typename T>
- struct Accumulator { typedef T Type; };
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index ec94715..cd6a361 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -3,50 +3,73 @@
# OpenCV (Open Source Computer Vision)
#
#############################################################
-OPENCV_VERSION = 2.3.1a
-OPENCV_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1
+OPENCV_VERSION = 2.4.0
+OPENCV_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/opencvlibrary/opencv-unix/$(OPENCV_VERSION)
OPENCV_SOURCE = OpenCV-$(OPENCV_VERSION).tar.bz2
OPENCV_INSTALL_STAGING = YES
OPENCV_CONF_OPT = \
-DCMAKE_BUILD_TYPE=$(if $(BR2_ENABLE_DEBUG),Debug,Release) \
- -DBUILD_DOCS=$(if $(BR2_HAVE_DOCUMENTATION),ON,OFF) \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PACKAGE=OFF \
- -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
-DBUILD_SHARED_LIBS=$(if $(BR2_PREFER_STATIC_LIB),OFF,ON) \
+ -DBUILD_WITH_DEBUG_INFO=OFF \
+ -DCMAKE_SKIP_RPATH=OFF \
+ -DENABLE_FAST_MATH=ON \
+ -DENABLE_OMIT_FRAME_POINTER=ON \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DENABLE_PROFILING=OFF \
+ -DENABLE_SOLUTION_FOLDERS=OFF \
+ -DENABLE_SSE=$(if $(BR2_CPU_HAS_SSE),ON,OFF) \
+ -DENABLE_SSE2=$(if $(BR2_CPU_HAS_SSE2),ON,OFF) \
+ -DENABLE_SSE3=$(if $(BR2_CPU_HAS_SSE3),ON,OFF) \
+ -DENABLE_SSE41=$(if $(BR2_CPU_HAS_SSE41),ON,OFF) \
+ -DENABLE_SSE42=$(if $(BR2_CPU_HAS_SSE42),ON,OFF) \
+ -DENABLE_SSSE3=$(if $(BR2_CPU_HAS_SSSE3),ON,OFF) \
-DINSTALL_C_EXAMPLES=OFF \
-DINSTALL_PYTHON_EXAMPLES=OFF \
- -DOPENCV_BUILD_3RDPARTY_LIBS=OFF \
- -DENABLE_PROFILING=OFF \
- -DCMAKE_SKIP_RPATH=OFF \
- -DUSE_FAST_MATH=ON \
- -DUSE_OMIT_FRAME_POINTER=ON \
- -DUSE_PRECOMPILED_HEADERS=OFF \
+ -DINSTALL_TO_MANGLED_PATHS=OFF \
-DWITH_1394=OFF \
+ -DWITH_CUBLAS=OFF\
-DWITH_CUDA=OFF \
+ -DWITH_CUFFT=OFF \
-DWITH_EIGEN=OFF \
-DWITH_IPP=OFF \
-DWITH_JASPER=OFF \
-DWITH_OPENEXR=OFF \
+ -DWITH_OPENGL=OFF \
-DWITH_OPENNI=OFF \
-DWITH_PVAPI=OFF \
-DWITH_TBB=OFF \
-DWITH_UNICAP=OFF \
- -DWITH_XINE=OFF
+ -DWITH_XINE=OFF \
+ -DBUILD_DOCS=$(if $(BR2_HAVE_DOCUMENTATION),ON,OFF) \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_PACKAGE=OFF \
+ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \
+ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
+ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_calib3d),ON,OFF) \
+ -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_contrib),ON,OFF) \
+ -DBUILD_opencv_core=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_core),ON,OFF) \
+ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_features2d),ON,OFF) \
+ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_flann),ON,OFF) \
+ -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_gpu),ON,OFF) \
+ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_highgui),ON,OFF) \
+ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_imgproc),ON,OFF) \
+ -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_legacy),ON,OFF) \
+ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_ml),ON,OFF) \
+ -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_nonfree),ON,OFF) \
+ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_objdetect),ON,OFF) \
+ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_photo),ON,OFF) \
+ -DBUILD_opencv_python=OFF \
+ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_stitching),ON,OFF) \
+ -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_ts),ON,OFF) \
+ -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_video),ON,OFF) \
+ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_BUILD_opencv_videostab),ON,OFF)
OPENCV_DEPENDENCIES += zlib
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_PYTHON),y)
-OPENCV_CONF_OPT += -DBUILD_NEW_PYTHON_SUPPORT=ON
-OPENCV_DEPENDENCIES += python
-else
-OPENCV_CONF_OPT += -DBUILD_NEW_PYTHON_SUPPORT=OFF
-endif
-
ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
OPENCV_CONF_OPT += -DWITH_FFMPEG=ON
-OPENCV_DEPENDENCIES += ffmpeg
+OPENCV_DEPENDENCIES += ffmpeg bzip2
else
OPENCV_CONF_OPT += -DWITH_FFMPEG=OFF
endif
@@ -80,7 +103,7 @@ OPENCV_CONF_OPT += -DWITH_PNG=OFF
endif
ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
-OPENCV_CONF_OPT += -DWITH_QT=ON -DWITH_QT_OPENGL=OFF
+OPENCV_CONF_OPT += -DWITH_QT=ON
OPENCV_DEPENDENCIES += qt
else
OPENCV_CONF_OPT += -DWITH_QT=OFF
@@ -102,23 +125,22 @@ endif
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
define OPENCV_CLEAN_INSTALL_DOC
- $(RM) -fr $(TARGET_DIR)/usr/share/opencv/doc
+ $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
endef
-
OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DOC
endif
-ifneq ($(BR2_PACKAGE_CMAKE),y)
+ifneq ($(BR2_HAVE_DEVFILES),y)
define OPENCV_CLEAN_INSTALL_CMAKE
- $(RM) -f $(TARGET_DIR)/usr/share/opencv/OpenCVConfig.cmake
+ $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCVConfig*.cmake
endef
OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_CMAKE
endif
ifneq ($(BR2_PACKAGE_OPENCV_INSTALL_DATA),y)
define OPENCV_CLEAN_INSTALL_DATA
- $(RM) -fr $(TARGET_DIR)/usr/share/opencv/haarcascades \
- $(TARGET_DIR)/usr/share/opencv/lbpcascades
+ $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/haarcascades \
+ $(TARGET_DIR)/usr/share/OpenCV/lbpcascades
endef
OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DATA
endif
--
1.7.10.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features
2012-06-02 22:09 ` [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features Samuel Martin
@ 2012-06-02 22:17 ` Thomas Petazzoni
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2012-06-02 22:17 UTC (permalink / raw)
To: buildroot
Le Sun, 3 Jun 2012 00:09:43 +0200,
Samuel Martin <s.martin49@gmail.com> a ?crit :
> Selecting the target architecture variant automatically selects the
> appropriated set of features.
>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
>
> diff --git a/target/Config.in.arch b/target/Config.in.arch
> index 25ff750..9908b58 100644
> --- a/target/Config.in.arch
> +++ b/target/Config.in.arch
> @@ -242,7 +242,7 @@ choice
> default BR2_mips_1 if BR2_mipsel
> help
> Specific CPU variant to use
> -
> +
Unrelated change.
> +# i386/x86_64 cpu features
> +config BR2_CPU_HAS_MMX
> + bool
> +config BR2_CPU_HAS_SSE
> + bool
> +config BR2_CPU_HAS_SSE2
> + bool
> +config BR2_CPU_HAS_SSE3
> + bool
> +config BR2_CPU_HAS_SSSE3
> + bool
> +config BR2_CPU_HAS_SSE41
> + bool
> +config BR2_CPU_HAS_SSE42
> + bool
> +config BR2_CPU_HAS_SSE4
> + bool
> +config BR2_CPU_HAS_SSE4A
> + bool
> +config BR2_CPU_HAS_3DNOW
> + bool
> +config BR2_CPU_HAS_ABM
> + bool
Should we name those options BR2_X86_CPU_HAS_* ?
Otherwise, this looks good to me.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0
2012-06-02 22:09 ` [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0 Samuel Martin
@ 2012-06-02 22:20 ` Thomas Petazzoni
2012-06-06 5:54 ` Arnout Vandecappelle
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2012-06-02 22:20 UTC (permalink / raw)
To: buildroot
Le Sun, 3 Jun 2012 00:09:47 +0200,
Samuel Martin <s.martin49@gmail.com> a ?crit :
> +config BR2_PACKAGE_OPENCV_BUILD_opencv_calib3d
> + bool "include opencv_calib3d module into the OpenCV build"
> + default y
We normally use capital letters for options names. And the _BUILD_ part
is, IMO, useless. What about simply:
config BR2_PACKAGE_OPENCV_CALIB3D
or
config BR2_PACKAGE_OPENCV_MODULE_CALIB3D
for this specific case?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0
2012-06-02 22:20 ` Thomas Petazzoni
@ 2012-06-06 5:54 ` Arnout Vandecappelle
0 siblings, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2012-06-06 5:54 UTC (permalink / raw)
To: buildroot
On 06/03/12 00:20, Thomas Petazzoni wrote:
> Le Sun, 3 Jun 2012 00:09:47 +0200,
> Samuel Martin<s.martin49@gmail.com> a ?crit :
>
> > +config BR2_PACKAGE_OPENCV_BUILD_opencv_calib3d
> > + bool "include opencv_calib3d module into the OpenCV build"
> > + default y
>
> We normally use capital letters for options names. And the _BUILD_ part
> is, IMO, useless. What about simply:
>
> config BR2_PACKAGE_OPENCV_CALIB3D
>
> or
>
> config BR2_PACKAGE_OPENCV_MODULE_CALIB3D
>
> for this specific case?
And also the menu text should be abbreviated to "calib3d". The more verbose
text you have now could be used as a help text. Even better would be to
include some explanation about what the module does in the help text, but
that's a lot more effort of course.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-06-06 5:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-02 22:09 [Buildroot] [PATCH v2 0/5] OpenCV update and x86/x86_64 CPU fetures Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 1/5] target: add symbols for i386/x86_64 cpu features Samuel Martin
2012-06-02 22:17 ` Thomas Petazzoni
2012-06-02 22:09 ` [Buildroot] [PATCH v2 2/5] libevas: refactor *_CONF_OPT assignment with cpu-feature options Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 3/5] sdl_gfx: " Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 4/5] sdl_sound: " Samuel Martin
2012-06-02 22:09 ` [Buildroot] [PATCH v2 5/5] opencv: bump to version 2.4.0 Samuel Martin
2012-06-02 22:20 ` Thomas Petazzoni
2012-06-06 5:54 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox