bluetooth.bbclass: simplify recipe inference of bluetooth provider

Defines ${BLUEZ} to be the provider of bluez services as specified by
DISTRO_FEATURES.

Example recipe fragment:
  inherit bluetooth
  PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
  PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
  PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"

[YOCTO #5031]

(From OE-Core rev: 045484283530bced19bb1d3aea229c8f138f510a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter A. Bigot 2015-02-16 17:06:11 +02:00 committed by Richard Purdie
parent 69c5e0992d
commit 1139cc4eef
1 changed files with 14 additions and 0 deletions

View File

@ -0,0 +1,14 @@
# Avoid code duplication in bluetooth-dependent recipes.
# Define a variable that expands to the recipe (package) providing core
# bluetooth support on the platform:
# "" if bluetooth is not in DISTRO_FEATURES
# else "bluez5" if bluez5 is in DISTRO_FEATURES
# else "bluez4"
# Use this with:
# inherit bluetooth
# PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
# PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4"
BLUEZ ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), '', d)}"