From 2b849ef2943a2fb71ef8eddf50f4a6efcd120653 Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Tue, 10 Jul 2018 18:39:09 +0200 Subject: 4a-hal-generic: MACHINE-specific HAL config files This patch adds a postinstall step to 4a-hal-generic recipe to define HALs to be enabled/disabled depending on $MACHINE As a consequence, 4a-hal-generic package is now machine specific. Bug-AGL: SPEC-1405 Change-Id: Ibf418d71e898c3f9a2640b2ad4c8f4907bc5cb90 Signed-off-by: Jonathan Aillet --- .../4a-hal-generic/4a-hal-generic_git.bb | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'meta-audio-4a-framework') diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb b/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb index 5981261c..0bff58ad 100644 --- a/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb +++ b/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb @@ -21,3 +21,31 @@ inherit afb-system-cmake #FILES_${PN}-dev += "${INSTALL_PREFIX}/4a-hal/htdocs" #FILES_${PN} += "${INSTALL_PREFIX}/afb-aaaa" #FILES_${PN} += "${INSTALL_PREFIX}/lib" + +# The package is machine-specific due to variable config content +PACKAGE_ARCH = "${MACHINE_ARCH}" + +# when no specific HAL is defined, use a generic usb one +4A_HAL_LIST ??= "2ch-generic-usb" + +# for specific machines, activate only known HALs +4A_HAL_LIST_m3ulcb ?= "rcar-m3 rcar-m3kf" +4A_HAL_LIST_h3ulcb ?= "rcar-m3 rcar-m3kf" +4A_HAL_LIST_intel-corei7-64 ?= "intel-minnow" +4A_HAL_LIST_qemux86-64 ?= "intel-qemu" +### TODO: this list should be completed for more machines + +do_install_append () { + # get pkgdir - note that '4a-hal' comes from project ${project_git_repo}/conf.d/cmake/config.cmake + PKGDIR=${D}/${INSTALL_PREFIX}/4a-hal + + # move all config files to a 'available' dir + mv $PKGDIR/etc $PKGDIR/etc.available + + # then install only required hals files in the etc folder + mkdir -p $PKGDIR/etc + for x in ${4A_HAL_LIST}; do + hal=hal-4a-$x.json + mv -v $PKGDIR/etc.available/${hal}.json $PKGDIR/etc/ + done +} -- cgit 1.2.3-korg