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 73d8c429a..2d16a3f26 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 aec2bb018..c3f4cf25b 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 5dd672bff..d254db0c7 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 050bc6ee9..192485837 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 41de1369d..ed2da34bc 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 0625fbaa7..15c17f4fc 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 eaaf078b7..4a8d5995b 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 c474f9b05..eabf0f440 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 b5fb88907..db3badac4 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)" |
