diff options
Diffstat (limited to 'package/opencv/opencv.mk')
-rw-r--r-- | package/opencv/opencv.mk | 86 |
1 files changed, 70 insertions, 16 deletions
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk index ee1122064f..7211c1845a 100644 --- a/package/opencv/opencv.mk +++ b/package/opencv/opencv.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCV_VERSION = 2.4.10 +OPENCV_VERSION = 3.0.0 OPENCV_SITE = $(call github,itseez,opencv,$(OPENCV_VERSION)) OPENCV_INSTALL_STAGING = YES OPENCV_LICENSE = BSD-3c @@ -12,19 +12,28 @@ OPENCV_LICENSE_FILES = LICENSE # OpenCV component options OPENCV_CONF_OPTS += \ + -DBUILD_DOCS=OFF \ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \ -DBUILD_WITH_DEBUG_INFO=OFF +ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TESTS)$(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),) +OPENCV_CONF_OPTS += -DINSTALL_TEST=OFF +else +OPENCV_CONF_OPTS += -DINSTALL_TEST=ON +endif + # OpenCV build options OPENCV_CONF_OPTS += \ -DBUILD_WITH_STATIC_CRT=OFF \ + -DENABLE_COVERAGE=OFF \ -DENABLE_FAST_MATH=ON \ + -DENABLE_IMPL_COLLECTION=OFF \ -DENABLE_NOISY_WARNINGS=OFF \ -DENABLE_OMIT_FRAME_POINTER=ON \ -DENABLE_PRECOMPILED_HEADERS=OFF \ -DENABLE_PROFILING=OFF \ - -DOPENCV_CAN_BREAK_BINARY_COMPATIBILITY=ON + -DOPENCV_WARNINGS_ARE_ERRORS=OFF # OpenCV link options OPENCV_CONF_OPTS += \ @@ -39,40 +48,61 @@ OPENCV_CONF_OPTS += \ -DINSTALL_CREATE_DISTRIB=OFF # OpenCV module selection +# * Modules on: +# - core: if not set, opencv does not build anything +# - hal: core's dependency +# * Modules off: +# - android*: android stuff +# - apps: programs for training classifiers +# - java: java bindings +# - viz: missing VTK dependency +# - world: all-in-one module +# +# * Contrib modules from [1] are disabled: +# - opencv_contrib package is not available in Buildroot; +# - OPENCV_EXTRA_MODULES_PATH is not set. +# +# [1] https://github.com/Itseez/opencv_contrib OPENCV_CONF_OPTS += \ -DBUILD_opencv_androidcamera=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ - -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ -DBUILD_opencv_core=ON \ - -DBUILD_opencv_dynamicuda=OFF \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ - -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ + -DBUILD_opencv_hal=ON \ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGCODECS),ON,OFF) \ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ -DBUILD_opencv_java=OFF \ - -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ - -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ - -DBUILD_opencv_ocl=OFF \ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python=OFF \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF \ + -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,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_videoio=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOIO),ON,OFF) \ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \ + -DBUILD_opencv_viz=OFF \ -DBUILD_opencv_world=OFF # Hardware support options. # # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. +# * fma3 and popcnt support is disabled because according to gcc manual [2], it +# is only available on x86_64 haswell, broadwell and knl architecture. +# +# [2] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/x86-Options.html#x86-Options OPENCV_CONF_OPTS += \ -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_FMA3=OFF \ + -DENABLE_POPCNT=OFF \ -DENABLE_POWERPC=OFF \ -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ @@ -83,6 +113,19 @@ OPENCV_CONF_OPTS += \ # Cuda stuff OPENCV_CONF_OPTS += \ + -DBUILD_CUDA_STUBS=OFF \ + -DBUILD_opencv_cudaarithm=OFF \ + -DBUILD_opencv_cudabgsegm=OFF \ + -DBUILD_opencv_cudacodec=OFF \ + -DBUILD_opencv_cudafeatures2d=OFF \ + -DBUILD_opencv_cudafilters=OFF \ + -DBUILD_opencv_cudaimgproc=OFF \ + -DBUILD_opencv_cudalegacy=OFF \ + -DBUILD_opencv_cudaobjdetect=OFF \ + -DBUILD_opencv_cudaoptflow=OFF \ + -DBUILD_opencv_cudastereo=OFF \ + -DBUILD_opencv_cudawarping=OFF \ + -DBUILD_opencv_cudev=OFF \ -DWITH_CUBLAS=OFF \ -DWITH_CUDA=OFF \ -DWITH_CUFFT=OFF @@ -97,8 +140,10 @@ OPENCV_CONF_OPTS += \ # Intel stuff OPENCV_CONF_OPTS += \ + -DBUILD_WITH_DYNAMIC_IPP=OFF \ -DWITH_INTELPERC=OFF \ -DWITH_IPP=OFF \ + -DWITH_IPP_A=OFF \ -DWITH_TBB=OFF # Smartek stuff @@ -112,10 +157,11 @@ OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF # Non-Linux support (Android options) must remain OFF: OPENCV_CONF_OPTS += \ + -DANDROID=OFF \ -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ -DBUILD_ANDROID_EXAMPLES=OFF \ + -DBUILD_ANDROID_SERVICE=OFF \ -DBUILD_FAT_JAVA_LIB=OFF \ - -DBUILD_JAVA_SUPPORT=OFF \ -DINSTALL_ANDROID_EXAMPLES=OFF \ -DWITH_ANDROID_CAMERA=OFF @@ -130,15 +176,17 @@ OPENCV_CONF_OPTS += \ -DWITH_CSTRIPES=OFF \ -DWITH_DSHOW=OFF \ -DWITH_MSMF=OFF \ + -DWITH_PTHREADS_PF=OFF \ -DWITH_VFW=OFF \ -DWITH_VIDEOINPUT=OFF \ -DWITH_WIN32UI=OFF -# Software/3rd-party support options. +# Software/3rd-party support options: +# - disable all examples OPENCV_CONF_OPTS += \ + -DBUILD_EXAMPLES=OFF \ -DBUILD_JASPER=OFF \ -DBUILD_JPEG=OFF \ - -DBUILD_NEW_PYTHON_SUPPORT=OFF \ -DBUILD_OPENEXR=OFF \ -DBUILD_PNG=OFF \ -DBUILD_TIFF=OFF \ @@ -151,14 +199,20 @@ OPENCV_CONF_OPTS += \ # - eigen: OpenCV does not use it, not take any benefit from it. OPENCV_CONF_OPTS += \ -DWITH_1394=OFF \ + -DWITH_CLP=OFF \ -DWITH_EIGEN=OFF \ - -DWITH_IMAGEIO=OFF \ + -DWITH_GDAL=OFF \ + -DWITH_GPHOTO2=OFF \ -DWITH_OPENCL=OFF \ + -DWITH_OPENCL_SVM=OFF \ -DWITH_OPENEXR=OFF \ -DWITH_OPENGL=OFF \ -DWITH_OPENMP=OFF \ + -DWITH_OPENNI2=OFF \ -DWITH_OPENNI=OFF \ -DWITH_UNICAP=OFF \ + -DWITH_VTK=OFF \ + -DWITH_WEBP=OFF \ -DWITH_XINE=OFF OPENCV_DEPENDENCIES += zlib @@ -171,14 +225,14 @@ OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y) -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON -DWITH_GSTREAMER_0_10=ON OPENCV_DEPENDENCIES += gstreamer gst-plugins-base else -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y) -OPENCV_CONF_OPTS += -DWITH_GTK=ON +OPENCV_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON OPENCV_DEPENDENCIES += libgtk2 else OPENCV_CONF_OPTS += -DWITH_GTK=OFF |