hostapd: select driver support
authorAlexander Mukhin <alexander.i.mukhin@gmail.com>
Sat, 30 Dec 2017 15:57:34 +0000 (18:57 +0300)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 2 Apr 2018 16:30:41 +0000 (18:30 +0200)
Add support for the wired driver. Add configuration options to select
which drivers to build. Select DRIVER_NONE if no other drivers enabled
(this may be the case when building hostapd as a standalone RADIUS
server).

Update makefile logic and apply wireless-specific options only if at
least one wireless driver enabled. Otherwise, an attempt to build a
wired-only or RADIUS-only hostapd will fail.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/hostapd/Config.in
package/hostapd/hostapd.mk

index 84156e8f11c48d8abe6caf2aef0f653efc20919a..f6182a926894d50f026cf6a89a32d25bdf4d7b42 100644 (file)
@@ -14,11 +14,42 @@ config BR2_PACKAGE_HOSTAPD
 
 if BR2_PACKAGE_HOSTAPD
 
+config BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP
+       bool "Enable hostap driver"
+       default y
+       select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS
+       help
+         Enable support for Host AP driver.
+
+config BR2_PACKAGE_HOSTAPD_DRIVER_NL80211
+       bool "Enable nl80211 driver"
+       default y
+       select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS
+       help
+         Enable support for drivers using the nl80211 kernel interface.
+
 config BR2_PACKAGE_HOSTAPD_DRIVER_RTW
        bool "Enable rtl871xdrv driver"
+       select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS
        help
          Enable support for Realtek wireless chips.
 
+config BR2_PACKAGE_HOSTAPD_DRIVER_WIRED
+       bool "Enable wired driver"
+       help
+         Enable support for wired authenticator.
+
+config BR2_PACKAGE_HOSTAPD_DRIVER_NONE
+       bool
+       default y
+       depends on !BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP
+       depends on !BR2_PACKAGE_HOSTAPD_DRIVER_NL80211
+       depends on !BR2_PACKAGE_HOSTAPD_DRIVER_RTW
+       depends on !BR2_PACKAGE_HOSTAPD_DRIVER_WIRED
+
+config BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS
+       bool
+
 config BR2_PACKAGE_HOSTAPD_ACS
        bool "Enable ACS"
        default y
index 1696670383c56e171445cae5c84dded6cc79865e..f9072784ebec8b9c06cf474e3d6346d805c76032 100644 (file)
@@ -18,12 +18,7 @@ HOSTAPD_LICENSE_FILES = README
 HOSTAPD_CONFIG_SET =
 
 HOSTAPD_CONFIG_ENABLE = \
-       CONFIG_HS20 \
-       CONFIG_IEEE80211AC \
-       CONFIG_IEEE80211N \
-       CONFIG_IEEE80211R \
        CONFIG_INTERNAL_LIBTOMMATH \
-       CONFIG_INTERWORKING \
        CONFIG_LIBNL32
 
 HOSTAPD_CONFIG_DISABLE =
@@ -45,11 +40,37 @@ HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD
 HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/'
 endif
 
+ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP),)
+HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_HOSTAP
+endif
+
+ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NL80211),)
+HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_NL80211
+endif
+
 ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_RTW),y)
 HOSTAPD_PATCH += https://github.com/pritambaral/hostapd-rtl871xdrv/raw/master/rtlxdrv.patch
 HOSTAPD_CONFIG_SET += CONFIG_DRIVER_RTW
 endif
 
+ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_WIRED),y)
+HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_WIRED
+endif
+
+ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NONE),y)
+HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_NONE
+endif
+
+# Add options for wireless drivers
+ifeq ($(BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS),y)
+HOSTAPD_CONFIG_ENABLE += \
+       CONFIG_HS20 \
+       CONFIG_IEEE80211AC \
+       CONFIG_IEEE80211N \
+       CONFIG_IEEE80211R \
+       CONFIG_INTERWORKING
+endif
+
 ifeq ($(BR2_PACKAGE_HOSTAPD_ACS),y)
 HOSTAPD_CONFIG_ENABLE += CONFIG_ACS
 endif