diff options
author | Ismo Puustinen <ismo.puustinen@intel.com> | 2017-08-10 12:58:18 +0300 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-13 13:21:02 +0200 |
commit | 31fceb560c0b81cff3aa439e3f43fd7a04dc477f (patch) | |
tree | baf8b38202f478ca3de3ed02f30267c070e26eda /meta-oe/recipes-support/opencv/opencv_3.2.bb | |
parent | 910b7137589385f56b7e246c305302b9b4cabf79 (diff) | |
download | meta-openembedded-31fceb560c0b81cff3aa439e3f43fd7a04dc477f.tar.gz |
opencv: update to version 3.3.
Update OpenCV recipe from version 3.2 to 3.3. Rebase patches and drop
those which are no longer relevant or already contained in upstream
OpenCV. Fix changed build options, such as UPDATE_PROTO_FILES to
PROTOBUF_UPDATE_FILES. Update also subcomponents (opencv-contrib and
opencv-3rdparty) to match with 3.3.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/opencv/opencv_3.2.bb')
-rw-r--r-- | meta-oe/recipes-support/opencv/opencv_3.2.bb | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv_3.2.bb b/meta-oe/recipes-support/opencv/opencv_3.2.bb deleted file mode 100644 index fc62e9975..000000000 --- a/meta-oe/recipes-support/opencv/opencv_3.2.bb +++ /dev/null | |||
@@ -1,175 +0,0 @@ | |||
1 | SUMMARY = "Opencv : The Open Computer Vision Library" | ||
2 | HOMEPAGE = "http://opencv.org/" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | LICENSE = "BSD-3-Clause" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2b2f8752cc5edf504d283107d033f544" | ||
7 | |||
8 | ARM_INSTRUCTION_SET_armv4 = "arm" | ||
9 | ARM_INSTRUCTION_SET_armv5 = "arm" | ||
10 | |||
11 | DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" | ||
12 | |||
13 | SRCREV_opencv = "70bbf17b133496bd7d54d034b0f94bd869e0e810" | ||
14 | SRCREV_contrib = "86342522b0eb2b16fa851c020cc4e0fef4e010b7" | ||
15 | SRCREV_ipp = "81a676001ca8075ada498583e4166079e5744668" | ||
16 | SRCREV_bootdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" | ||
17 | SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" | ||
18 | IPP_MD5 = "808b791a6eac9ed78d32a7666804320e" | ||
19 | |||
20 | SRCREV_FORMAT = "opencv" | ||
21 | SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ | ||
22 | git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ | ||
23 | git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=ipp;name=ipp \ | ||
24 | git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=bootdesc;name=bootdesc \ | ||
25 | git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ | ||
26 | file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ | ||
27 | file://fixpkgconfig.patch \ | ||
28 | file://uselocalxfeatures.patch;patchdir=../contrib/ \ | ||
29 | file://useoeprotobuf.patch;patchdir=../contrib/ \ | ||
30 | file://0001-Revert-cuda-fix-fp16-compilation.patch \ | ||
31 | file://0002-Revert-check-FP16-build-condition-correctly.patch \ | ||
32 | file://0001-Make-opencv-ts-create-share-library-intead-of-static.patch \ | ||
33 | file://0001-To-fix-errors-as-following.patch \ | ||
34 | file://0001-tracking-make-opencv_dnn-dependancy-optional.patch;patchdir=../contrib/ \ | ||
35 | " | ||
36 | |||
37 | PV = "3.2+git${SRCPV}" | ||
38 | |||
39 | S = "${WORKDIR}/git" | ||
40 | |||
41 | do_unpack_extra() { | ||
42 | tar xzf ${WORKDIR}/ipp/ippicv/ippicv_linux_20151201.tgz -C ${WORKDIR} | ||
43 | cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src | ||
44 | cp ${WORKDIR}/bootdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src | ||
45 | } | ||
46 | addtask unpack_extra after do_unpack before do_patch | ||
47 | |||
48 | EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ | ||
49 | -DWITH_1394=OFF \ | ||
50 | -DCMAKE_SKIP_RPATH=ON \ | ||
51 | -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \ | ||
52 | -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \ | ||
53 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ | ||
54 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ | ||
55 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ | ||
56 | ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ | ||
57 | ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ | ||
58 | " | ||
59 | EXTRA_OECMAKE_append_x86 = " -DX86=ON" | ||
60 | |||
61 | PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ | ||
62 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ | ||
63 | ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" | ||
64 | |||
65 | PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," | ||
66 | PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," | ||
67 | PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DUPDATE_PROTO_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," | ||
68 | PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," | ||
69 | PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," | ||
70 | PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," | ||
71 | PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," | ||
72 | PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," | ||
73 | PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," | ||
74 | PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," | ||
75 | PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," | ||
76 | PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," | ||
77 | PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," | ||
78 | PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," | ||
79 | PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," | ||
80 | PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," | ||
81 | PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," | ||
82 | PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," | ||
83 | PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," | ||
84 | PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," | ||
85 | PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," | ||
86 | PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," | ||
87 | PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," | ||
88 | |||
89 | inherit pkgconfig cmake | ||
90 | |||
91 | inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)} | ||
92 | inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} | ||
93 | |||
94 | export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" | ||
95 | export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" | ||
96 | export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" | ||
97 | export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" | ||
98 | export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" | ||
99 | |||
100 | TARGET_CC_ARCH += "-I${S}/include " | ||
101 | |||
102 | PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ | ||
103 | ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ | ||
104 | ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ | ||
105 | ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ | ||
106 | ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ | ||
107 | ${PN}-apps" | ||
108 | |||
109 | python populate_packages_prepend () { | ||
110 | cv_libdir = d.expand('${libdir}') | ||
111 | do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) | ||
112 | do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
113 | do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
114 | do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) | ||
115 | |||
116 | pn = d.getVar('PN') | ||
117 | metapkg = pn + '-dev' | ||
118 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
119 | blacklist = [ metapkg ] | ||
120 | metapkg_rdepends = [ ] | ||
121 | packages = d.getVar('PACKAGES').split() | ||
122 | for pkg in packages[1:]: | ||
123 | if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): | ||
124 | metapkg_rdepends.append(pkg) | ||
125 | d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
126 | |||
127 | metapkg = pn | ||
128 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
129 | blacklist = [ metapkg, "libopencv-ts" ] | ||
130 | metapkg_rdepends = [ ] | ||
131 | for pkg in packages[1:]: | ||
132 | if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): | ||
133 | metapkg_rdepends.append(pkg) | ||
134 | d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
135 | |||
136 | } | ||
137 | |||
138 | PACKAGES_DYNAMIC += "^libopencv-.*" | ||
139 | |||
140 | FILES_${PN} = "" | ||
141 | FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" | ||
142 | FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake" | ||
143 | FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a" | ||
144 | FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV" | ||
145 | FILES_${PN}-java = "${datadir}/OpenCV/java" | ||
146 | FILES_${PN}-samples = "${datadir}/OpenCV/samples/" | ||
147 | |||
148 | INSANE_SKIP_${PN}-java = "libdir" | ||
149 | INSANE_SKIP_${PN}-dbg = "libdir" | ||
150 | |||
151 | ALLOW_EMPTY_${PN} = "1" | ||
152 | |||
153 | SUMMARY_python-opencv = "Python bindings to opencv" | ||
154 | FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" | ||
155 | RDEPENDS_python-opencv = "python-core python-numpy" | ||
156 | |||
157 | SUMMARY_python3-opencv = "Python bindings to opencv" | ||
158 | FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" | ||
159 | RDEPENDS_python3-opencv = "python3-core python3-numpy" | ||
160 | |||
161 | do_install_append() { | ||
162 | cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/ | ||
163 | sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h | ||
164 | |||
165 | # Move Python files into correct library folder (for multilib build) | ||
166 | if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then | ||
167 | mv ${D}/usr/lib/* ${D}/${libdir}/ | ||
168 | rm -rf ${D}/usr/lib | ||
169 | fi | ||
170 | |||
171 | if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then | ||
172 | install -d ${D}${datadir}/OpenCV/samples/bin/ | ||
173 | cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/ | ||
174 | fi | ||
175 | } | ||