From 0ea4a47bfc27d02594d489b27c029d3d3badf3d4 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 19 Apr 2016 12:31:40 +0200 Subject: base.bbclass: Introduce PACKAGECONFIG_CONFARGS variable * add separate variable for configuration options generated from PACKAGECONFIG setting, this helps other bbclasses and recipes to take advantage of PACKAGECONFIG mechanism, without including other options from EXTRA_OECONF * e.g. meta-qt5 recipes are abusing EXTRA_OECONF to get options from PACKAGECONFIG: EXTRA_QMAKEVARS_PRE += but with conf/distro/include/no-static-libs.inc it means getting --disable-static as invalid option inside EXTRA_QMAKEVARS_PRE as reported by Alexandre Belloni who tried to use poky with meta-qt5. * once we migrate all bbclasses and recipes to PACKAGECONFIG_CONFARGS we should also restrict EXTRA_OECONF append only to autotools.bbclass like I did for cmake.bbclass Signed-off-by: Martin Jansa Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 9 ++++++--- meta/classes/cmake.bbclass | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index f9697a9ad8..a7ca3a6676 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -428,9 +428,12 @@ python () { extraconf.append(items[1]) appendVar('DEPENDS', extradeps) appendVar('RDEPENDS_${PN}', extrardeps) - if bb.data.inherits_class('cmake', d): - appendVar('EXTRA_OECMAKE', extraconf) - else: + appendVar('PACKAGECONFIG_CONFARGS', extraconf) + + # TODO: once all recipes/classes abusing EXTRA_OECONF + # to get PACKAGECONFIG options are fixed to use PACKAGECONFIG_CONFARGS + # move this appendVar to autotools.bbclass. + if not bb.data.inherits_class('cmake', d): appendVar('EXTRA_OECONF', extraconf) pn = d.getVar('PN', True) diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index 22cd61eb06..02f313a861 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass @@ -27,6 +27,8 @@ OECMAKE_EXTRA_ROOT_PATH ?= "" OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY" OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH" +EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}" + # CMake expects target architectures in the format of uname(2), # which do not always match TARGET_ARCH, so all the necessary # conversions should happen here. -- cgit 1.2.3-korg