summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb')
-rw-r--r--recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb99
1 files changed, 99 insertions, 0 deletions
diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
new file mode 100644
index 000000000..28ab57b74
--- /dev/null
+++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.25.1.bb
@@ -0,0 +1,99 @@
1# Copyright (C) 2020-2024 NXP
2
3DESCRIPTION = "i.MX Verisilicon Software ISP"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
6DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 jsoncpp patchelf-native"
7
8SRC_URI = " \
9 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
10"
11IMX_SRCREV_ABBREV = "327f21d"
12S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
13
14SRC_URI[sha256sum] = "f57c6fe1c2dd1c8e5991a625d0b3a1dbfdfe6d39a1a116a904d543faa0f4f6f0"
15
16inherit fsl-eula-unpack cmake systemd use-imx-headers
17
18PACKAGECONFIG = ""
19# Note: building with tuningext fails with boost 1.87.
20# (update to 1.87 with walnascar)
21PACKAGECONFIG[tuningext] = "-DTUNINGEXT=1,-DTUNINGEXT=0"
22
23# Build the sub-folder appshell
24OECMAKE_SOURCEPATH = "${S}/appshell"
25
26# Use make instead of ninja
27OECMAKE_GENERATOR = "Unix Makefiles"
28
29# Workaround for linking issues seen with gold linker
30LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
31
32SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
33
34EXTRA_OECMAKE += " \
35 -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
36 -DCMAKE_BUILD_TYPE=release \
37 -DISP_VERSION=ISP8000NANO_V1802 \
38 -DPLATFORM=ARM64 \
39 -DTUNINGEXT=1 \
40 -DQTLESS=1 \
41 -DFULL_SRC_COMPILE=1 \
42 -DWITH_DRM=1 \
43 -DWITH_DWE=1 \
44 -DSUBDEV_V4L2=1 \
45 -DPARTITION_BUILD=0 \
46 -D3A_SRC_BUILD=0 \
47 -DIMX_G2D=ON \
48 -Wno-dev \
49"
50
51do_configure:prepend () {
52 # FIXME: should be rebuild.
53 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/bin/isp_media_server
54 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/mediacontrol/install/lib/libmedia_server.so
55 patchelf --replace-needed libjsoncpp.so.25 libjsoncpp.so.26 ${S}/tuningext/install/tuningext
56
57 # FIXME: Should be rebuild.
58 patchelf --replace-needed libtinyxml2.so.10 libtinyxml2.so.11 ${S}/appshell/shell_libs/ispcore/ARM64/libcam_device.so
59}
60
61do_install() {
62 # FIXME: provided by the basler-camera package, do not install them here additionally
63 rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
64
65 # The Makefile unconditionally installs tuningext even if it is not built
66 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
67 touch ${B}/generated/release/bin/tuningext
68 fi
69
70 oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
71
72 if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
73 rm ${D}/opt/imx8-isp/bin/tuningext
74 fi
75
76 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
77 install -d ${D}${systemd_system_unitdir}
78 install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
79 fi
80
81}
82
83# The build contains a mix of versioned and unversioned libraries, so
84# the default packaging configuration needs some modification so that
85# unversioned .so libraries go to the main package and versioned .so
86# symlinks go to -dev.
87FILES_SOLIBSDEV = ""
88FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
89FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
90FILES_SOLIBS_VERSIONED = " \
91 ${libdir}/libcppnetlib-client-connections.so \
92 ${libdir}/libcppnetlib-server-parsers.so \
93 ${libdir}/libcppnetlib-uri.so \
94 ${libdir}/libos08a20.so \
95"
96
97RDEPENDS:${PN} = "libdrm"
98
99COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"