--- /dev/null
+# 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"
LICENSE = "LGPLv2.1"
SECTION = "multimedia"
-DEPENDS = "linux-imx-headers"
-
LIC_FILES_CHKSUM = "file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
PE = "1"
S = "${WORKDIR}/git"
+inherit use-imx-headers
+
PLATFORM_mx6q = "IMX6Q"
PLATFORM_mx6dl = "IMX6Q"
PLATFORM_mx6sl = "IMX6S"
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
}
}
COMPATIBLE_MACHINE = "(mx6|mx7)"
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
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"
SRCREV = "3a87347ae408ef0234314a279ee74d9b015f06be"
S = "${WORKDIR}/git"
-inherit module-base
+inherit module-base use-imx-headers
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
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} \
FILES_${PN}-dbg += "/unit_tests/.debug"
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
-DEPENDS = "linux-imx-headers"
-
PROVIDES = "virtual/imxvpu"
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"
FILES_${PN} += "/unit_tests"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(mx8mq|mx8mm)"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
-DEPENDS = "linux-imx-headers"
-
PROVIDES = "virtual/imxvpu"
PE = "1"
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
}
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
}
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
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"
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}"
S = "${WORKDIR}/git"
-INCLUDE_DIR = "-I${STAGING_INCDIR}/imx"
+INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d|mx7ulp)"
-PACKAGE_ARCH = "${MACHINE_SOCARCH}"
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"
# 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.*"
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"
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
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,
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 \
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"
S = "${WORKDIR}/git"
-inherit autotools pkgconfig
+inherit autotools pkgconfig use-imx-headers
PLATFORM_mx6 = "MX6"
PLATFORM_mx6sl = "MX6SL"
# 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)}"