hostapd: select driver support

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>
This commit is contained in:
Alexander Mukhin 2017-12-30 18:57:34 +03:00 committed by Thomas Petazzoni
parent 779fc8e684
commit 90d73e5f66
2 changed files with 57 additions and 5 deletions

View 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

View 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