Config.in 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. menuconfig BR2_PACKAGE_OPENCV4
  2. bool "opencv4"
  3. depends on BR2_TOOLCHAIN_HAS_ATOMIC
  4. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  5. depends on BR2_INSTALL_LIBSTDCPP
  6. depends on BR2_USE_WCHAR
  7. depends on !BR2_STATIC_LIBS # include dlfcn.h
  8. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
  9. depends on !BR2_PACKAGE_OPENCV3
  10. select BR2_PACKAGE_ZLIB
  11. help
  12. OpenCV (Open Source Computer Vision) is a library of
  13. programming functions for real time computer vision.
  14. Note that the opencv_core module and the opencv_hal library
  15. are always built and installed, not matter which other
  16. modules are enabled below.
  17. http://opencv.org/
  18. if BR2_PACKAGE_OPENCV4
  19. comment "OpenCV modules"
  20. config BR2_PACKAGE_OPENCV4_LIB_CALIB3D
  21. bool "calib3d"
  22. select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
  23. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  24. help
  25. Include opencv_calib3d (camera calibration and 3d
  26. reconstruction) module into the OpenCV build.
  27. config BR2_PACKAGE_OPENCV4_LIB_DNN
  28. bool "dnn"
  29. # dnn needs fenv.h which is not provided by uclibc
  30. depends on !BR2_TOOLCHAIN_USES_UCLIBC
  31. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
  32. select BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
  33. help
  34. Include opencv_dnn (Deep Neural Networks) module into the
  35. OpenCV build.
  36. comment "dnn needs a glibc or musl toolchain"
  37. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
  38. depends on BR2_TOOLCHAIN_USES_UCLIBC
  39. config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
  40. bool "features2d"
  41. select BR2_PACKAGE_OPENCV4_LIB_FLANN
  42. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  43. select BR2_PACKAGE_OPENCV4_LIB_ML
  44. help
  45. Include opencv_features2d (2d features framework) module
  46. into the OpenCV build.
  47. config BR2_PACKAGE_OPENCV4_LIB_FLANN
  48. bool "flann"
  49. # opencv_core dependency is already enabled
  50. help
  51. Include opencv_flann (clustering and search in
  52. multi-dimensional spaces) module into the OpenCV build.
  53. config BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
  54. bool "highgui"
  55. select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
  56. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  57. select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
  58. help
  59. Include opencv_highgui (high-level gui and media i/o) module
  60. into the OpenCV build.
  61. if BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
  62. choice
  63. prompt "gui toolkit"
  64. help
  65. GUI toolkit to be used by the opencv_highgui module.
  66. config BR2_PACKAGE_OPENCV4_GUI_NONE
  67. bool "none"
  68. config BR2_PACKAGE_OPENCV4_WITH_GTK
  69. bool "gtk2"
  70. depends on BR2_PACKAGE_LIBGTK2
  71. comment "gtk2 support needs libgtk2"
  72. depends on BR2_USE_MMU # libgtk2 -> glib2
  73. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  74. depends on !BR2_PACKAGE_LIBGTK2
  75. config BR2_PACKAGE_OPENCV4_WITH_GTK3
  76. bool "gtk3"
  77. depends on BR2_PACKAGE_LIBGTK3
  78. comment "gtk3 support needs libgtk3"
  79. depends on BR2_USE_MMU # libgtk3 -> glib2
  80. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  81. depends on !BR2_PACKAGE_LIBGTK3
  82. config BR2_PACKAGE_OPENCV4_WITH_QT5
  83. bool "qt5"
  84. depends on BR2_PACKAGE_QT5
  85. select BR2_PACKAGE_QT5BASE_CONCURRENT
  86. select BR2_PACKAGE_QT5BASE_GUI
  87. select BR2_PACKAGE_QT5BASE_WIDGETS
  88. help
  89. Use Qt5 with base, concurrent, test, gui and widgets
  90. components, as GUI toolkit.
  91. comment "qt5 support needs qt5"
  92. depends on !BR2_PACKAGE_QT5
  93. endchoice
  94. config BR2_PACKAGE_OPENCV4_WITH_OPENGL
  95. bool "opengl support"
  96. # OpenGL support done using Qt5OpenGL, so depends on WITH_QT5
  97. depends on BR2_PACKAGE_OPENCV4_WITH_QT5
  98. # OpenGL support requires Qt5OpenGL with GL support, not GLES
  99. depends on BR2_PACKAGE_QT5_GL_AVAILABLE
  100. depends on BR2_PACKAGE_HAS_LIBGL
  101. select BR2_PACKAGE_QT5BASE_OPENGL
  102. help
  103. Enable OpenGL for UI.
  104. comment "opengl support needs an OpenGL provider"
  105. depends on BR2_PACKAGE_OPENCV4_WITH_QT5
  106. depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || \
  107. !BR2_PACKAGE_HAS_LIBGL
  108. endif # BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
  109. config BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
  110. bool "imgcodecs"
  111. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  112. help
  113. Include opencv_imgcodecs (image codecs) module into the
  114. OpenCV build.
  115. config BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  116. bool "imgproc"
  117. # opencv_core dependency is already enabled
  118. help
  119. Include opencv_imgproc (image processing) module into the
  120. OpenCV build.
  121. config BR2_PACKAGE_OPENCV4_LIB_ML
  122. bool "ml"
  123. # opencv_core dependency is already enabled
  124. help
  125. Include opencv_ml (machine learning) module into the OpenCV
  126. build.
  127. config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
  128. bool "objdetect"
  129. depends on !BR2_TOOLCHAIN_USES_UCLIBC # dnn support
  130. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # dnn support
  131. # opencv_core dependency is already enabled
  132. select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
  133. select BR2_PACKAGE_OPENCV4_LIB_DNN
  134. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  135. select BR2_PACKAGE_OPENCV4_LIB_ML
  136. help
  137. Include opencv_objdetect (object detection) module into the
  138. OpenCV build.
  139. comment "objdetect needs a glibc or musl toolchain"
  140. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
  141. depends on BR2_TOOLCHAIN_USES_UCLIBC
  142. config BR2_PACKAGE_OPENCV4_LIB_PHOTO
  143. bool "photo"
  144. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  145. help
  146. Include opencv_photo (computational photography) module into
  147. the OpenCV build.
  148. config BR2_PACKAGE_OPENCV4_LIB_PYTHON
  149. bool "python"
  150. depends on BR2_PACKAGE_PYTHON3
  151. depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
  152. depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
  153. select BR2_PACKAGE_PYTHON_NUMPY
  154. help
  155. Include opencv_python module into the OpenCV build. No
  156. python example is installed.
  157. comment "python support needs glibc or musl"
  158. depends on BR2_PACKAGE_PYTHON3
  159. depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
  160. depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
  161. config BR2_PACKAGE_OPENCV4_LIB_SHAPE
  162. bool "shape"
  163. # opencv_core dependency is already enabled
  164. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  165. select BR2_PACKAGE_OPENCV4_LIB_VIDEO
  166. help
  167. Include opencv_shape (shape descriptors and matchers) module
  168. into the OpenCV build.
  169. config BR2_PACKAGE_OPENCV4_LIB_STITCHING
  170. bool "stitching"
  171. select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
  172. select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
  173. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  174. select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
  175. help
  176. Include opencv_stitching (images stitching) module into the
  177. OpenCV build.
  178. config BR2_PACKAGE_OPENCV4_LIB_SUPERRES
  179. bool "superres"
  180. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  181. select BR2_PACKAGE_OPENCV4_LIB_VIDEO
  182. help
  183. Include opencv_superres (super resolution) module into the
  184. OpenCV build.
  185. config BR2_PACKAGE_OPENCV4_LIB_TS
  186. bool "ts"
  187. # opencv_core dependency is already enabled
  188. select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
  189. select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
  190. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  191. select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
  192. help
  193. Include opencv_ts (test) module into the OpenCV build.
  194. config BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
  195. bool "videoio"
  196. select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
  197. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  198. help
  199. Include opencv_videoio (media i/o) module into the OpenCV
  200. build.
  201. config BR2_PACKAGE_OPENCV4_LIB_VIDEO
  202. bool "video"
  203. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  204. help
  205. Include opencv_video (video analysis) module into the OpenCV
  206. build.
  207. config BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB
  208. bool "videostab"
  209. select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
  210. select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
  211. select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
  212. select BR2_PACKAGE_OPENCV4_LIB_PHOTO
  213. select BR2_PACKAGE_OPENCV4_LIB_VIDEO
  214. help
  215. Include opencv_videostab (video stabilization) module into
  216. the OpenCV build.
  217. comment "Test sets"
  218. config BR2_PACKAGE_OPENCV4_BUILD_TESTS
  219. bool "build tests"
  220. config BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS
  221. bool "build performance tests"
  222. comment "3rd party support"
  223. config BR2_PACKAGE_OPENCV4_WITH_FFMPEG
  224. bool "ffmpeg support"
  225. depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
  226. select BR2_PACKAGE_BZIP2
  227. select BR2_PACKAGE_FFMPEG
  228. select BR2_PACKAGE_FFMPEG_AVRESAMPLE
  229. select BR2_PACKAGE_FFMPEG_SWSCALE
  230. help
  231. Use ffmpeg from the target system.
  232. config BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1
  233. bool "gstreamer-1.x"
  234. depends on BR2_USE_MMU # gstreamer1 -> libglib2
  235. select BR2_PACKAGE_GSTREAMER1
  236. select BR2_PACKAGE_GST1_PLUGINS_BASE
  237. select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
  238. help
  239. Enable gstreamer support.
  240. choice
  241. prompt "jpeg2000 support"
  242. help
  243. Select the desired jpeg2000 library provider.
  244. config BR2_PACKAGE_OPENCV4_JPEG2000_NONE
  245. bool "none"
  246. config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER
  247. bool "jasper"
  248. select BR2_PACKAGE_JASPER
  249. help
  250. Enable jpeg2000 support through jasper.
  251. Note: this does not use the libjasper bundled with opencv,
  252. but uses the libjasper package installed system-wide by
  253. Buildroot.
  254. config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_OPENJPEG
  255. bool "openjpeg"
  256. select BR2_PACKAGE_OPENJPEG
  257. help
  258. Enable jpeg2000 support through openjpeg.
  259. Note: this does not use the openjpeg bundled with opencv,
  260. but uses the openjpeg package installed system-wide by
  261. Buildroot.
  262. endchoice
  263. config BR2_PACKAGE_OPENCV4_WITH_JPEG
  264. bool "jpeg support"
  265. select BR2_PACKAGE_JPEG
  266. help
  267. Use shared libjpeg from the target system.
  268. config BR2_PACKAGE_OPENCV4_WITH_PNG
  269. bool "png support"
  270. select BR2_PACKAGE_LIBPNG
  271. help
  272. Use shared libpng from the target system.
  273. config BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
  274. bool "protobuf support"
  275. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
  276. select BR2_PACKAGE_PROTOBUF
  277. help
  278. Use shared protobuf from the target system.
  279. config BR2_PACKAGE_OPENCV4_WITH_TBB
  280. bool "tbb support"
  281. depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
  282. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
  283. select BR2_PACKAGE_TBB
  284. help
  285. Use shared tbb from the target system.
  286. comment "tbb needs a glibc or musl toolchain"
  287. depends on BR2_TOOLCHAIN_USES_UCLIBC
  288. comment "tbb needs exception_ptr"
  289. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  290. config BR2_PACKAGE_OPENCV4_WITH_TIFF
  291. bool "tiff support"
  292. select BR2_PACKAGE_TIFF
  293. help
  294. Use shared libtiff from the target system.
  295. config BR2_PACKAGE_OPENCV4_WITH_V4L
  296. bool "v4l support"
  297. help
  298. Enable Video 4 Linux support.
  299. If the package libv4l is enabled, its support is
  300. automatically enabled.
  301. config BR2_PACKAGE_OPENCV4_WITH_WEBP
  302. bool "webp support"
  303. select BR2_PACKAGE_WEBP
  304. help
  305. Enable WebP support.
  306. Use shared libwebp from the target system.
  307. comment "Install options"
  308. config BR2_PACKAGE_OPENCV4_INSTALL_DATA
  309. bool "install extra data"
  310. help
  311. Install various data that is used by cv libraries and/or
  312. demo applications, specifically for haarcascades and
  313. lbpcascades features.
  314. For further information: see OpenCV documentation.
  315. endif # BR2_PACKAGE_OPENCV4
  316. comment "opencv4 needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 4.8"
  317. depends on BR2_TOOLCHAIN_HAS_ATOMIC
  318. depends on !BR2_INSTALL_LIBSTDCPP || \
  319. !BR2_USE_WCHAR || \
  320. !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
  321. BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8