- Add base_ifelse convenience function to base.bbclass.
- Replace all conditionals in the recipes relating to hostap and madwifi to
look for their name in COMBINED_FEATURES rather than looking for specific buses (pci, pcmcia).
- Change the default COMBINED_FEATURES to enable:
- madwifi, when:
- distro has pci, wifi, and madwifi in its features
- machine has pci in its features
- hostap, when:
- 'wifi' and 'hostap' are in distro features
- either 'pci' or 'pcmcia' are in both distro and machine features
Signed-off-by: Chris Larson <clarson@mvista.com>
return f.read().strip()
return None
+def base_ifelse(condition, iftrue = True, iffalse = False):
+ if condition:
+ return iftrue
+ else:
+ return iffalse
+
def base_conditional(variable, checkvalue, truevalue, falsevalue, d):
import bb
if bb.data.getVar(variable,d,1) == checkvalue:
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)}"
+
+# We want madwifi if all of the following are true:
+# - distro has pci, wifi, and madwifi in its features
+# - machine has pci in its features
+COMBINED_FEATURES += "${@base_ifelse( \
+ base_contains('DISTRO_FEATURES', ('pci', 'wifi', 'madwifi'), True, False, d) and \
+ base_contains('MACHINE_FEATURES', 'pci', True, False, d), \
+ 'madwifi', '')}"
+
+# We want hostap if all of the following are true:
+# - 'wifi' and 'hostap' are in distro features
+# - either 'pci' or 'pcmcia' are in both distro and machine features
+COMBINED_FEATURES += "${@base_ifelse( \
+ base_contains('DISTRO_FEATURES', ('wifi', 'hostap'), True, False, d) and \
+ ((base_contains('MACHINE_FEATURES', 'pci', True, False, d) and \
+ base_contains('DISTRO_FEATURES', 'pci', True, False, d)) or \
+ (base_contains('MACHINE_FEATURES', 'pcmcia', True, False, d) and \
+ base_contains('DISTRO_FEATURES', 'pcmcia', True, False, d))), \
+ 'hostap', '')}"
SECTION = "kernel/userland"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "openssl ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng", "",d)}"
+DEPENDS = "openssl ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng", "",d)}"
PR = "r1"
DEPENDS_append_mtx-1 = " madwifi-modules"
DEPENDS_append_mtx-2 = " madwifi-modules"
#we introduce MY_ARCH to get 'armv5te' as arch instead of the misleading 'arm' on armv5te builds
MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'pci', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
+PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'madwifi', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
SRC_URI = "http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \
file://makefile-cross.diff;patch=1 \
S = "${WORKDIR}/hostapd-${PV}"
-export HAS_PCI = "${@base_contains('COMBINED_FEATURES', 'pci', 1, 0,d)}"
+export HAS_MADWIFI = "${@base_contains('COMBINED_FEATURES', 'madwifi', 1, 0,d)}"
inherit update-rc.d
INITSCRIPT_NAME=hostapd
do_configure() {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- if [ "x$HAS_PCI" = "x1" ] ; then
+ if [ "x$HAS_MADWIFI" = "x1" ] ; then
echo "CONFIG_DRIVER_MADWIFI=y" >> .config
echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng" >> .config
fi
#
RDEPENDS_task-base-wifi = "\
wireless-tools \
- ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'hostap-utils', '',d)} \
- ${@base_contains('COMBINED_FEATURES', 'pci', 'hostap-utils', '',d)} \
- ${@base_contains('COMBINED_FEATURES', 'pci', 'madwifi-ng-tools', '',d)} \
+ ${@base_contains('COMBINED_FEATURES', 'hostap', 'hostap-utils', '',d)} \
+ ${@base_contains('COMBINED_FEATURES', 'madwifi', 'madwifi-ng-tools', '',d)} \
wpa-supplicant"
RRECOMMENDS_task-base-wifi = "\
- ${@base_contains('COMBINED_FEATURES', 'pci', 'madwifi-ng-modules', '',d)} \
+ ${@base_contains('COMBINED_FEATURES', 'madwifi', 'madwifi-ng-modules', '',d)} \
${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
kernel-module-ieee80211-crypt \
kernel-module-ieee80211-crypt-ccmp \
RDEPENDS_task-mokogateway-wifi = "\
bridge-utils \
wireless-tools \
- ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng-modules", "",d)} \
- ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng-tools", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng-modules", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng-tools", "",d)} \
wpa-supplicant \
"
RRECOMMENDS_task-mokogateway-wifi = "\
SECTION = "network"
LICENSE = "GPL"
HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
-DEPENDS = "dbus gnutls ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng", "",d)}"
+DEPENDS = "dbus gnutls ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng", "",d)}"
#we introduce MY_ARCH to get 'armv5te' as arch instead of the misleading 'arm' on armv5te builds
MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'pci', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
+PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'madwifi', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
DEFAULT_PREFERENCE = "-2"
RRECOMMENDS_${PN} = "wpa-supplicant-passphrase"
-export HAS_PCI = "${@base_contains('COMBINED_FEATURES', 'pci', 1, 0,d)}"
+export HAS_MADWIFI = "${@base_contains('COMBINED_FEATURES', 'madwifi', 1, 0,d)}"
do_configure () {
install -m 0755 ${WORKDIR}/defconfig-0.6.0-gnutls .config
- if [ "x$HAS_PCI" == "x1" ] ; then
+ if [ "x$HAS_MADWIFI" == "x1" ] ; then
echo "CONFIG_DRIVER_MADWIFI=y" >> .config
echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng" >> .config
fi
SECTION = "network"
LICENSE = "GPL"
HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
-DEPENDS = "gnutls ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng", "",d)}"
+DEPENDS = "gnutls ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng", "",d)}"
PR = "r1"
#we introduce MY_ARCH to get 'armv5te' as arch instead of the misleading 'arm' on armv5te builds
MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'pci', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
+PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'madwifi', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
file://defconfig-gnutls \
RRECOMMENDS_${PN} = "wpa-supplicant-passphrase"
-export HAS_PCI = "${@base_contains('COMBINED_FEATURES', 'pci', 1, 0,d)}"
+export HAS_MADWIFI = "${@base_contains('COMBINED_FEATURES', 'madwifi', 1, 0,d)}"
do_configure () {
install -m 0755 ${WORKDIR}/defconfig-gnutls .config
- if [ "x$HAS_PCI" == "x1" ] ; then
+ if [ "x$HAS_MADWIFI" == "x1" ] ; then
echo "CONFIG_DRIVER_MADWIFI=y" >> .config
echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng" >> .config
fi