mirror of
git://git.yoctoproject.org/meta-freescale.git
synced 2025-10-22 14:52:19 +02:00
classes/use-imx-headers: Easy linux-imx-headers use
This allow to easy reuse of binary packages among similar SoCs. The usual use for this is to share SoC specific packages among different boards independently of the kernel version it is using, as far it is ABI compatible with the official version it will just work. Following recipes has been reworked to make use of the class: - imx-lib - imx-test - imx-vpu-hantro - imx-vpu - imx-alsa-plugins - gstreamer1.0-plugins-base - gstreamer1.0-plugins-imx - imx-gst1.0-plugin Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
This commit is contained in:
parent
700abd5d1b
commit
bc937ade56
19
classes/use-imx-headers.bbclass
Normal file
19
classes/use-imx-headers.bbclass
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Easy use of linux-imx-headers by packages
|
||||
#
|
||||
# This allow to easy reuse of binary packages among similar SoCs. The
|
||||
# usual use for this is to share SoC specific packages among different
|
||||
# boards independently of the kernel version it is using, as far it is
|
||||
# ABI compatible with the official version it will just work.
|
||||
#
|
||||
# All recipes using this class ought to depend on linux-imx-headers
|
||||
# and by default to use MACHINE_SOCARCH.
|
||||
#
|
||||
# Please use the STAGING_INCDIR_IMX variable to refer to the installed
|
||||
# headers.
|
||||
#
|
||||
# Copyright 2018 (C) O.S. Systems Software LTDA.
|
||||
|
||||
DEPENDS_append_imx = " linux-imx-headers"
|
||||
PACKAGE_ARCH_imx ?= "${MACHINE_SOCARCH}"
|
||||
|
||||
STAGING_INCDIR_IMX = "${STAGING_INCDIR}/imx"
|
|
@ -6,8 +6,6 @@ DESCRIPTION = "Platform specific libraries for imx platform"
|
|||
LICENSE = "LGPLv2.1"
|
||||
SECTION = "multimedia"
|
||||
|
||||
DEPENDS = "linux-imx-headers"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
PE = "1"
|
||||
|
@ -20,6 +18,8 @@ SRCREV = "3f777974c0c146817e2ff5cb0340ca66a1f99e57"
|
|||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PLATFORM_mx6q = "IMX6Q"
|
||||
PLATFORM_mx6dl = "IMX6Q"
|
||||
PLATFORM_mx6sl = "IMX6S"
|
||||
|
@ -33,7 +33,7 @@ PARALLEL_MAKE="-j 1"
|
|||
EXTRA_OEMAKE = ""
|
||||
|
||||
do_compile () {
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR}/imx"
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
|
||||
oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
|
||||
}
|
||||
|
||||
|
@ -42,4 +42,3 @@ do_install () {
|
|||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7)"
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
|
|
@ -8,7 +8,7 @@ SECTION = "base"
|
|||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
|
||||
|
||||
DEPENDS = "linux-imx-headers alsa-lib libdrm"
|
||||
DEPENDS = "alsa-lib libdrm"
|
||||
DEPENDS_append_mx6 = " imx-lib"
|
||||
DEPENDS_append_mx7 = " imx-lib"
|
||||
|
||||
|
@ -24,7 +24,7 @@ SRC_URI = " \
|
|||
SRCREV = "3a87347ae408ef0234314a279ee74d9b015f06be"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit module-base
|
||||
inherit module-base use-imx-headers
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
@ -55,9 +55,9 @@ do_compile() {
|
|||
CFLAGS="${TOOLCHAIN_OPTIONS}"
|
||||
oe_runmake V=1 VERBOSE='' \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
INC="-I${STAGING_INCDIR} \
|
||||
-I${S}/include \
|
||||
-I${STAGING_INCDIR}/imx" \
|
||||
INC="-I${S}/include \
|
||||
-I${STAGING_INCDIR} \
|
||||
-I${STAGING_INCDIR_IMX}" \
|
||||
CC="${CC} -L${STAGING_LIBDIR} ${LDFLAGS}" \
|
||||
SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
|
||||
LINUXPATH=${STAGING_KERNEL_DIR} \
|
||||
|
@ -82,5 +82,4 @@ RDEPENDS_${PN} = "bash"
|
|||
|
||||
FILES_${PN}-dbg += "/unit_tests/.debug"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
|
|
@ -4,8 +4,6 @@ DESCRIPTION = "i.MX Hantro VPU library"
|
|||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
|
||||
|
||||
DEPENDS = "linux-imx-headers"
|
||||
|
||||
PROVIDES = "virtual/imxvpu"
|
||||
|
||||
SRC_URI = " \
|
||||
|
@ -15,7 +13,7 @@ SRC_URI = " \
|
|||
SRC_URI[md5sum] = "140796ddd6f1be47cffb7e5e2bfe0fb6"
|
||||
SRC_URI[sha256sum] = "c092a5b0f8897bae54154f58e47b6d2de033da01ee231a8cd779a51bbe962606"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
inherit fsl-eula-unpack use-imx-headers
|
||||
|
||||
PARALLEL_MAKE="-j 1"
|
||||
|
||||
|
@ -34,5 +32,4 @@ do_install () {
|
|||
|
||||
FILES_${PN} += "/unit_tests"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8mq|mx8mm)"
|
||||
|
|
|
@ -6,8 +6,6 @@ DESCRIPTION = "Freescale Chips&Media VPU library"
|
|||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
|
||||
|
||||
DEPENDS = "linux-imx-headers"
|
||||
|
||||
PROVIDES = "virtual/imxvpu"
|
||||
|
||||
PE = "1"
|
||||
|
@ -17,12 +15,12 @@ SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
|
|||
SRC_URI[md5sum] = "521d5f839829f8d1f2a6a0e60270243e"
|
||||
SRC_URI[sha256sum] = "34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
inherit fsl-eula-unpack use-imx-headers
|
||||
|
||||
PLATFORM_mx6 = "IMX6Q"
|
||||
|
||||
do_compile () {
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR}/imx"
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
|
||||
oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
|
||||
}
|
||||
|
||||
|
@ -30,5 +28,4 @@ do_install () {
|
|||
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
DESCRIPTION = "Freescale alsa-lib plugins"
|
||||
LICENSE = "GPLv2"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "alsa-lib linux-imx-headers"
|
||||
DEPENDS = "alsa-lib"
|
||||
|
||||
# For backwards compatibility
|
||||
PROVIDES += "fsl-alsa-plugins"
|
||||
|
@ -14,7 +14,7 @@ RCONFLICTS_${PN} = "fsl-alsa-plugins"
|
|||
|
||||
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
inherit autotools pkgconfig use-imx-headers
|
||||
|
||||
SRCBRANCH = "nxp/master"
|
||||
SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
|
||||
|
@ -22,7 +22,7 @@ SRCREV = "9a63071e7734bd164017f3761b8d1944c017611f"
|
|||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
INCLUDE_DIR = "-I${STAGING_INCDIR}/imx"
|
||||
INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
|
||||
|
||||
EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
|
||||
|
||||
|
@ -33,4 +33,3 @@ FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
|
|||
FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d|mx7ulp)"
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
|
|
@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
|
|||
file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
|
||||
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
|
||||
|
||||
DEPENDS += "iso-codes util-linux linux-imx-headers"
|
||||
DEPENDS += "iso-codes util-linux"
|
||||
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.04.02_1808_L4.9.123_MX8MM_GA"
|
||||
|
@ -33,7 +33,7 @@ PACKAGECONFIG_append = " pango "
|
|||
# Disable introspection to fix [GstGL-1.0.gir] Error
|
||||
EXTRA_OECONF_append = " --disable-introspection --disable-opengl --enable-wayland"
|
||||
|
||||
inherit gettext
|
||||
inherit gettext use-imx-headers
|
||||
|
||||
PACKAGES_DYNAMIC =+ "^libgst.*"
|
||||
|
||||
|
@ -60,7 +60,7 @@ PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
|||
|
||||
EXTRA_OECONF += " \
|
||||
--enable-zlib \
|
||||
CPPFLAGS="-I${STAGING_INCDIR}/imx" \
|
||||
CPPFLAGS="-I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
|
||||
|
|
|
@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
|
|||
SECTION = "multimedia"
|
||||
# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
|
||||
# GstPhotography headers and libraries
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad linux-imx-headers"
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
|
||||
# for the uniaudio decoder, videoparsersbad for the VPU video decoder
|
||||
# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
|
||||
|
@ -22,7 +22,7 @@ SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
|
|||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig waf
|
||||
inherit pkgconfig waf use-imx-headers
|
||||
|
||||
# configure the eglvivsink element to use the appropriate EGL platform code
|
||||
# Wayland if 'wayland' is present in DISTRO_FEATURES, if not,
|
||||
|
@ -34,7 +34,7 @@ EGLVIVSINK_PLATFORM = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayla
|
|||
|
||||
EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
|
||||
|
||||
EXTRA_OECONF = "--kernel-headers=${STAGING_INCDIR}/imx ${PACKAGECONFIG_CONFARGS}"
|
||||
EXTRA_OECONF = "--kernel-headers=${STAGING_INCDIR_IMX} ${PACKAGECONFIG_CONFARGS}"
|
||||
|
||||
EGLVIVSINK_DEPENDS = " \
|
||||
virtual/egl virtual/libgles2 \
|
||||
|
|
|
@ -7,7 +7,7 @@ DESCRIPTION = "Gstreamer freescale plugins"
|
|||
LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
|
||||
SECTION = "multimedia"
|
||||
|
||||
DEPENDS = "imx-codec imx-parser linux-imx-headers gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
DEPENDS_append_mx6 = " imx-lib"
|
||||
DEPENDS_append_mx7 = " imx-lib"
|
||||
DEPENDS_append_imxvpu = " imx-vpuwrap libdrm"
|
||||
|
@ -28,7 +28,7 @@ SRCREV = "23dd0315c7087e1c8eba836b9a458d7906187c7e"
|
|||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
inherit autotools pkgconfig use-imx-headers
|
||||
|
||||
PLATFORM_mx6 = "MX6"
|
||||
PLATFORM_mx6sl = "MX6SL"
|
||||
|
@ -41,7 +41,7 @@ PLATFORM_mx8 = "MX8"
|
|||
|
||||
# Todo add a mechanism to map possible build targets
|
||||
EXTRA_OECONF = "PLATFORM=${PLATFORM} \
|
||||
CPPFLAGS="-I${STAGING_INCDIR}/imx" \
|
||||
CPPFLAGS="-I${STAGING_INCDIR_IMX}" \
|
||||
CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', bb.utils.contains('DISTRO_FEATURES', 'x11', '--disable-x11', '', d), '', d)}"
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user