summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/opencv
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-support/opencv
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-support/opencv')
-rw-r--r--meta-oe/recipes-support/opencv/opencv-samples_2.4.bb39
-rw-r--r--meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch44
-rw-r--r--meta-oe/recipes-support/opencv/opencv_2.4.bb100
3 files changed, 183 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
new file mode 100644
index 000000000..9d862fe91
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Opencv : The Open Computer Vision Library"
2HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
3SECTION = "libs"
4LICENSE = "BSD"
5
6DEPENDS = "opencv"
7
8LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
9"
10SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e"
11SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
12 "
13PV = "2.4.3+git${SRCPV}"
14
15S = "${WORKDIR}/git"
16
17do_install() {
18 cd samples/c
19 install -d ${D}/${bindir}
20 install -d ${D}/${datadir}/opencv/samples
21
22 cp * ${D}/${datadir}/opencv/samples || true
23
24 for i in *.c; do
25 echo "compiling $i"
26 ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
27 install -m 0755 `basename $i .c` ${D}/${bindir} || true
28 rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
29 done
30 for i in *.cpp; do
31 echo "compiling $i"
32 ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
33 install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
34 rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
35 done
36}
37
38FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*"
39FILES_${PN} += "${bindir} ${datadir}/opencv"
diff --git a/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch b/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch
new file mode 100644
index 000000000..d352778c9
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch
@@ -0,0 +1,44 @@
1Fix pkg-config generation
2
3Replace absolute library path with library name spec and library search
4path option.
5
6The fix has been provided by Ray Rashif (code.opencv.org/issues/1925)
7
8Upstream-Status: Pending
9
10diff -Nbaur OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake
11--- OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:14.243505926 +0000
12+++ OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:42.286649120 +0000
13@@ -10,7 +10,7 @@
14 # -------------------------------------------------------------------------------------------
15 set(prefix "${CMAKE_INSTALL_PREFIX}")
16 set(exec_prefix "\${prefix}")
17-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
18+set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
19 set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
20 set(VERSION ${OPENCV_VERSION})
21
22@@ -36,10 +36,11 @@
23 ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
24
25 #build the list of components
26-set(OpenCV_LIB_COMPONENTS_ "")
27+set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
28 foreach(CVLib ${OpenCV_LIB_COMPONENTS})
29 get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
30 get_filename_component(libname "${libpath}" NAME)
31+ get_filename_component(lname "${libpath}" NAME_WE)
32
33 if(INSTALL_TO_MANGLED_PATHS)
34 set(libname "${libname}.${OPENCV_VERSION}")
35@@ -52,7 +53,8 @@
36 set(installDir "${OPENCV_LIB_INSTALL_PATH}")
37 endif()
38
39- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
40+ string(REPLACE "libopencv" "-lopencv" lname "${lname}")
41+ set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}")
42 endforeach()
43
44 # add extra dependencies required for OpenCV
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
new file mode 100644
index 000000000..63d7c8b25
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -0,0 +1,100 @@
1SUMMARY = "Opencv : The Open Computer Vision Library"
2HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
3SECTION = "libs"
4
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
7
8ARM_INSTRUCTION_SET = "arm"
9
10DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
11
12SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64"
13SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
14 file://opencv-fix-pkgconfig-generation.patch \
15"
16
17PV = "2.4.9+git${SRCPV}"
18
19S = "${WORKDIR}/git"
20
21# Do an out-of-tree build
22OECMAKE_SOURCEPATH = "${S}"
23OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
24
25EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
26 -DBUILD_PYTHON_SUPPORT=ON \
27 -DWITH_GSTREAMER=OFF \
28 -DCMAKE_SKIP_RPATH=ON \
29 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
30 ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
31 ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
32"
33
34PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \
35 ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
36PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
37PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
38PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
39PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
40PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
41PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
42PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
43PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,jasper"
44
45inherit distutils-base pkgconfig cmake
46
47export BUILD_SYS
48export HOST_SYS
49export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
50export PYTHON="${STAGING_BINDIR_NATIVE}/python"
51
52TARGET_CC_ARCH += "-I${S}/include "
53
54PACKAGES += "${PN}-apps python-opencv"
55
56python populate_packages_prepend () {
57 cv_libdir = d.expand('${libdir}')
58 cv_libdir_dbg = d.expand('${libdir}/.debug')
59 do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
60 do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
61 do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
62 do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
63
64 pn = d.getVar('PN', 1)
65 metapkg = pn + '-dev'
66 d.setVar('ALLOW_EMPTY_' + metapkg, "1")
67 blacklist = [ metapkg ]
68 metapkg_rdepends = [ ]
69 packages = d.getVar('PACKAGES', 1).split()
70 for pkg in packages[1:]:
71 if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
72 metapkg_rdepends.append(pkg)
73 d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
74}
75
76PACKAGES_DYNAMIC += "^libopencv-.*"
77
78FILES_${PN} = ""
79FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
80FILES_${PN}-dbg += "${libdir}/.debug"
81FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
82FILES_${PN}-doc = "${datadir}/OpenCV/doc"
83
84ALLOW_EMPTY_${PN} = "1"
85
86INSANE_SKIP_python-opencv = "True"
87SUMMARY_python-opencv = "Python bindings to opencv"
88FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
89RDEPENDS_python-opencv = "python-core python-numpy"
90
91do_install_append() {
92 cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
93 sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
94
95 # Move Python files into correct library folder (for multilib build)
96 if [ "$libdir" != "/usr/lib" ]; then
97 mv ${D}/usr/lib/* ${D}/${libdir}/
98 rm -rf ${D}/usr/lib
99 fi
100}