diff options
author | Ross Burton <ross.burton@intel.com> | 2020-01-09 16:21:38 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-01-10 00:50:59 -0800 |
commit | 74a54d5eda05d9f0d488dfe32b5973815a29e931 (patch) | |
tree | ae5b3087354d11eaae90eba43b1822f28ebb7a3e /meta-oe | |
parent | 5dcb72e707dade6dbd3d1fc3921ff61fda0b7f4b (diff) | |
download | meta-openembedded-74a54d5eda05d9f0d488dfe32b5973815a29e931.tar.gz |
opencv: don't download during configure
OpenCV downloads data files during the CMake configure phase, which
is bad because fetching should only happen in do_fetch (and if proxies
are needed, won't be set in do_configure).
The recipe attempts to solve this already by having the repositories in
SRC_URI and moving the files to the correct place before do_configure().
However they are written to ${B} which is then wiped in do_configure so
they're not used.
The OpenCV download logic has a download cache with specially formatted
filenames, so take the downloaded files and populate the cache.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r-- | meta-oe/recipes-support/opencv/opencv_4.1.0.bb | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv_4.1.0.bb b/meta-oe/recipes-support/opencv/opencv_4.1.0.bb index 5e89db097..cfc7854e1 100644 --- a/meta-oe/recipes-support/opencv/opencv_4.1.0.bb +++ b/meta-oe/recipes-support/opencv/opencv_4.1.0.bb | |||
@@ -51,10 +51,28 @@ PV = "4.1.0" | |||
51 | 51 | ||
52 | S = "${WORKDIR}/git" | 52 | S = "${WORKDIR}/git" |
53 | 53 | ||
54 | # OpenCV wants to download more files during configure. We download these in | ||
55 | # do_fetch and construct a source cache in the format it expects | ||
56 | OPENCV_DLDIR = "${WORKDIR}/downloads" | ||
57 | |||
54 | do_unpack_extra() { | 58 | do_unpack_extra() { |
55 | tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} | 59 | tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} |
56 | cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src | 60 | |
57 | cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src | 61 | md5() { |
62 | # Return the MD5 of $1 | ||
63 | echo $(md5sum $1 | cut -d' ' -f1) | ||
64 | } | ||
65 | cache() { | ||
66 | TAG=$1 | ||
67 | shift | ||
68 | mkdir --parents ${OPENCV_DLDIR}/$TAG | ||
69 | for F in $*; do | ||
70 | DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) | ||
71 | test -e $DEST || ln -s $F $DEST | ||
72 | done | ||
73 | } | ||
74 | cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i | ||
75 | cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i | ||
58 | } | 76 | } |
59 | addtask unpack_extra after do_unpack before do_patch | 77 | addtask unpack_extra after do_unpack before do_patch |
60 | 78 | ||
@@ -65,6 +83,7 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ | |||
65 | -DOPENCV_ICV_HASH=${IPP_MD5} \ | 83 | -DOPENCV_ICV_HASH=${IPP_MD5} \ |
66 | -DIPPROOT=${WORKDIR}/ippicv_lnx \ | 84 | -DIPPROOT=${WORKDIR}/ippicv_lnx \ |
67 | -DOPENCV_GENERATE_PKGCONFIG=ON \ | 85 | -DOPENCV_GENERATE_PKGCONFIG=ON \ |
86 | -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ | ||
68 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ | 87 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ |
69 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ | 88 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ |
70 | ${@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)} \ | 89 | ${@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)} \ |