diff options
| author | Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | 2025-12-10 18:43:35 +0200 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-12-10 08:58:49 -0800 |
| commit | b77403017b5ee6c73bb5ad25de7435b659efade2 (patch) | |
| tree | f2357a7ca3735a99b008e6641fe07a2c00853ae9 | |
| parent | f1193ecbf875bcb9475f3853705f148d6e092ada (diff) | |
| download | meta-openembedded-b77403017b5ee6c73bb5ad25de7435b659efade2.tar.gz | |
opencv: fill in missing FastCV gaps
When OpenCV is being built with the "fastcv" packageconfig, several
OpenCV libs are linked against the libfastcv.a. At runtime this lib will
dlopen(libfastcvopt.so.1), providing a fallback to slow algorithms, etc.
However as it is dlopen() rather than dynamic linking, there is no
runtime dependency.
In Yocto, if we enable a feature, we expect that all runtime
dependencies are pulled in. Utilize the qcom-fastcv-binaries recipe
provided by the meta-qcom layer and pull in libfastcvopt1 package as
required.
Cc: Pulkit Singh Tak <ptak@qti.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-oe/recipes-support/opencv/opencv_4.12.0.bb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb b/meta-oe/recipes-support/opencv/opencv_4.12.0.bb index aa11d3da43..b8e83cd6be 100644 --- a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb +++ b/meta-oe/recipes-support/opencv/opencv_4.12.0.bb | |||
| @@ -122,7 +122,7 @@ PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON -DINSTALL_TESTS=ON,-DBUILD_TESTS=OFF,," | |||
| 122 | PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," | 122 | PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," |
| 123 | PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," | 123 | PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," |
| 124 | PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," | 124 | PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," |
| 125 | PACKAGECONFIG[fastcv] = "-DWITH_FASTCV=ON ,-DWITH_FASTCV=OFF,," | 125 | PACKAGECONFIG[fastcv] = "-DWITH_FASTCV=ON ,-DWITH_FASTCV=OFF,qcom-fastcv-binaries," |
| 126 | 126 | ||
| 127 | inherit pkgconfig cmake setuptools3-base python3native | 127 | inherit pkgconfig cmake setuptools3-base python3native |
| 128 | 128 | ||
| @@ -165,6 +165,11 @@ python populate_packages:prepend () { | |||
| 165 | 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'): | 165 | 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'): |
| 166 | metapkg_rdepends.append(pkg) | 166 | metapkg_rdepends.append(pkg) |
| 167 | d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) | 167 | d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) |
| 168 | |||
| 169 | fastcv_pkgs = ["libopencv-core", "libopencv-fastcv", "libopencv-imgproc"] | ||
| 170 | if bb.utils.contains('PACKAGECONFIG', 'fastcv', True, False, d): | ||
| 171 | for pkg in fastcv_pkgs: | ||
| 172 | d.appendVar('RDEPENDS:' + pkg, " qcom-fastcv-binaries") | ||
| 168 | } | 173 | } |
| 169 | 174 | ||
| 170 | PACKAGES_DYNAMIC += "^libopencv-.*" | 175 | PACKAGES_DYNAMIC += "^libopencv-.*" |
