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

(From OE-Core rev: 0ea4a47bfc27d02594d489b27c029d3d3badf3d4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa 2016-04-19 12:31:40 +02:00 committed by Richard Purdie
parent e1c6890cfe
commit c2f7da23d0
2 changed files with 8 additions and 3 deletions

View File

@ -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)

View File

@ -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.