diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2022-02-18 19:43:56 -0300 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2022-02-21 20:06:28 -0300 |
commit | 30f5ce1d2168389295b4813e01898c2fb0f9bab9 (patch) | |
tree | f6f78dbf8e5eef40510739dc1db79d60f05189fb /recipes-multimedia/gstreamer | |
parent | a3b102a9ed12ea03e72f713ed40968da1776c6d3 (diff) | |
download | meta-freescale-30f5ce1d2168389295b4813e01898c2fb0f9bab9.tar.gz |
Generalize overrides subsystem for NXP and Mainline support
Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and
mainline-bsp.
So, for example, the mx8mq override is split into:
- imx-generic-bsp: compatible with every i.MX SoC and both BSP variants
- imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP
- imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP
- mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants
- mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP
- mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP
- mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants
- mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP
- mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP
- mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants
- mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP
- mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP
The extender mechanism is responsible for extending the override list to
include the generic overrides. We can then use the three different
variants to handle the metadata correctly.
Generically speaking, the conversion mainly was automated (with a lot of
back and forth until getting it right).
To convert an existing layer, the following script can be used:
```sh
git ls-files classes recipes-* \
| xargs sed -i \
-e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \
-e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \
-e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \
-e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \
\
-e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \
-e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \
-e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \
\
-e 's,:\(vf\w*\),:\1-generic-bsp,g' \
-e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \
-e 's,\(vf\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(vf\w*\)),|\1-generic-bsp),g' \
-e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \
\
-e 's,:\(imx\) ,:\1-nxp-bsp ,g' \
-e 's,(\(imx\)),(\1-nxp-bsp),g' \
-e 's,\(imx\)|,\1-nxp-bsp|,g' \
-e 's,|\(imx\)),|\1-nxp-bsp),g'
for d in $(find -type d | egrep '/mx[6-8]w*'); do
git mv $d $d-nxp-bsp
done
for d in $(find -type d | egrep '/imx$'); do
git mv $d $d-nxp-bsp
done
for d in $(find -type d | egrep '/mx[5s]w*'); do
git mv $d $d-generic-bsp
done
```
Fixes: #791.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-multimedia/gstreamer')
9 files changed, 28 insertions, 28 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb index 73d8c429..2d16a3f2 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb | |||
@@ -23,4 +23,4 @@ inherit meson pkgconfig upstream-version-is-even | |||
23 | FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" | 23 | FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" |
24 | FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | 24 | FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" |
25 | 25 | ||
26 | COMPATIBLE_MACHINE = "(imx)" | 26 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb index aec2bb01..c3f4cf25 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb | |||
@@ -1,14 +1,14 @@ | |||
1 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc | 1 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc |
2 | 2 | ||
3 | DEPENDS:append:imxgpu2d = " virtual/libg2d" | 3 | DEPENDS:append:imxgpu2d = " virtual/libg2d" |
4 | DEPENDS:append:mx8 = " libdrm" | 4 | DEPENDS:append:mx8-nxp-bsp = " libdrm" |
5 | 5 | ||
6 | PACKAGECONFIG:append:mx8 = " kms tinycompress" | 6 | PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress" |
7 | 7 | ||
8 | DEFAULT_PREFERENCE = "-1" | 8 | DEFAULT_PREFERENCE = "-1" |
9 | 9 | ||
10 | PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" | 10 | PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" |
11 | PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}" | 11 | PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}" |
12 | 12 | ||
13 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https;branch=master" | 13 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https;branch=master" |
14 | SRCBRANCH = "MM_04.06.01_2105_L5.10.y" | 14 | SRCBRANCH = "MM_04.06.01_2105_L5.10.y" |
@@ -160,4 +160,4 @@ FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" | |||
160 | # include fragment shaders | 160 | # include fragment shaders |
161 | FILES:${PN}-opengl += "/usr/share/*.fs" | 161 | FILES:${PN}-opengl += "/usr/share/*.fs" |
162 | 162 | ||
163 | COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" | 163 | COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb index 5dd672bf..d254db0c 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb | |||
@@ -99,4 +99,4 @@ def get_opengl_cmdline_list(switch_name, options, d): | |||
99 | 99 | ||
100 | CVE_PRODUCT += "gst-plugins-base" | 100 | CVE_PRODUCT += "gst-plugins-base" |
101 | 101 | ||
102 | COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" | 102 | COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb index 050bc6ee..19248583 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb | |||
@@ -74,4 +74,4 @@ EXTRA_OEMESON += " \ | |||
74 | 74 | ||
75 | FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" | 75 | FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" |
76 | 76 | ||
77 | COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" | 77 | COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb index 41de1369..ed2da34b 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb | |||
@@ -42,8 +42,8 @@ PACKAGECONFIG:append:imxpxp = " pxp" | |||
42 | # The 2D blitter sinks require an MXC framebuffer, which | 42 | # The 2D blitter sinks require an MXC framebuffer, which |
43 | # is not available anymore on the i.MX8 (since these SoCs | 43 | # is not available anymore on the i.MX8 (since these SoCs |
44 | # now use KMS instead of the old Linux framebuffer). | 44 | # now use KMS instead of the old Linux framebuffer). |
45 | PACKAGECONFIG:append:mx6 = " imx2dvideosink v4l2" | 45 | PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2" |
46 | PACKAGECONFIG:append:mx7 = " imx2dvideosink" | 46 | PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink" |
47 | 47 | ||
48 | PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}" | 48 | PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}" |
49 | PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled," | 49 | PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled," |
@@ -59,4 +59,4 @@ require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc | |||
59 | # the following line is required to produce one package for each plugin | 59 | # the following line is required to produce one package for each plugin |
60 | PACKAGES_DYNAMIC = "^${PN}-.*" | 60 | PACKAGES_DYNAMIC = "^${PN}-.*" |
61 | 61 | ||
62 | COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d|mx8)" | 62 | COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb index 0625fbaa..15c17f4f 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb | |||
@@ -42,4 +42,4 @@ EXTRA_OEMESON += " \ | |||
42 | FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" | 42 | FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" |
43 | FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" | 43 | FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" |
44 | 44 | ||
45 | COMPATIBLE_MACHINE = "(imx)" | 45 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb index eaaf078b..4a8d5995 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb | |||
@@ -29,4 +29,4 @@ GIR_MESON_DISABLE_FLAG = "disabled" | |||
29 | # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well | 29 | # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well |
30 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc | 30 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc |
31 | 31 | ||
32 | COMPATIBLE_MACHINE = "(imx)" | 32 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb index c474f9b0..eabf0f44 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb | |||
@@ -79,4 +79,4 @@ CVE_PRODUCT = "gstreamer" | |||
79 | 79 | ||
80 | PTEST_BUILD_HOST_FILES = "" | 80 | PTEST_BUILD_HOST_FILES = "" |
81 | 81 | ||
82 | COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" | 82 | COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" |
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb index b5fb8890..db3badac 100644 --- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb | |||
@@ -8,8 +8,8 @@ LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1" | |||
8 | SECTION = "multimedia" | 8 | SECTION = "multimedia" |
9 | 9 | ||
10 | DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" | 10 | DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" |
11 | DEPENDS:append:mx6 = " imx-lib" | 11 | DEPENDS:append:mx6-nxp-bsp = " imx-lib" |
12 | DEPENDS:append:mx7 = " imx-lib" | 12 | DEPENDS:append:mx7-nxp-bsp = " imx-lib" |
13 | DEPENDS:append:imxvpu = " imx-vpuwrap libdrm" | 13 | DEPENDS:append:imxvpu = " imx-vpuwrap libdrm" |
14 | 14 | ||
15 | # For backwards compatibility | 15 | # For backwards compatibility |
@@ -30,14 +30,14 @@ S = "${WORKDIR}/git" | |||
30 | 30 | ||
31 | inherit meson pkgconfig use-imx-headers | 31 | inherit meson pkgconfig use-imx-headers |
32 | 32 | ||
33 | PLATFORM:mx6 = "MX6" | 33 | PLATFORM:mx6-nxp-bsp = "MX6" |
34 | PLATFORM:mx6sl = "MX6SL" | 34 | PLATFORM:mx6sl-nxp-bsp = "MX6SL" |
35 | PLATFORM:mx6sx = "MX6SX" | 35 | PLATFORM:mx6sx-nxp-bsp = "MX6SX" |
36 | PLATFORM:mx6ul = "MX6UL" | 36 | PLATFORM:mx6ul-nxp-bsp = "MX6UL" |
37 | PLATFORM:mx6sll = "MX6SLL" | 37 | PLATFORM:mx6sll-nxp-bsp = "MX6SLL" |
38 | PLATFORM:mx7= "MX7D" | 38 | PLATFORM:mx7-nxp-bsp= "MX7D" |
39 | PLATFORM:mx7ulp= "MX7ULP" | 39 | PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" |
40 | PLATFORM:mx8 = "MX8" | 40 | PLATFORM:mx8-nxp-bsp = "MX8" |
41 | 41 | ||
42 | # Todo add a mechanism to map possible build targets | 42 | # Todo add a mechanism to map possible build targets |
43 | EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ | 43 | EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ |
@@ -49,10 +49,10 @@ PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN | |||
49 | # Add codec list that the beep plugin run-time depended | 49 | # Add codec list that the beep plugin run-time depended |
50 | BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" | 50 | BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" |
51 | RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " | 51 | RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " |
52 | RDEPENDS:${PN}:append:mx8qm = " imx-dsp" | 52 | RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp" |
53 | RDEPENDS:${PN}:append:mx8qxp = " imx-dsp" | 53 | RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp" |
54 | RDEPENDS:${PN}:append:mx8mp = " imx-dsp" | 54 | RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" |
55 | RDEPENDS:${PN}:append:mx8ulp = " imx-dsp" | 55 | RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" |
56 | 56 | ||
57 | # overlaysink rely on G2D, | 57 | # overlaysink rely on G2D, |
58 | # cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D | 58 | # cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D |
@@ -82,4 +82,4 @@ FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" | |||
82 | FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" | 82 | FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" |
83 | FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" | 83 | FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" |
84 | 84 | ||
85 | COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" | 85 | COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" |