1################################################################################ 2# 3# hostapd 4# 5################################################################################ 6 7HOSTAPD_VERSION = 2.10 8HOSTAPD_SITE = http://w1.fi/releases 9HOSTAPD_SUBDIR = hostapd 10HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config 11HOSTAPD_DEPENDENCIES = host-pkgconf 12HOSTAPD_CFLAGS = $(TARGET_CFLAGS) 13HOSTAPD_LICENSE = BSD-3-Clause 14HOSTAPD_LICENSE_FILES = README 15 16HOSTAPD_CPE_ID_VENDOR = w1.fi 17HOSTAPD_SELINUX_MODULES = hostapd 18 19HOSTAPD_CONFIG_ENABLE = \ 20 CONFIG_INTERNAL_LIBTOMMATH \ 21 CONFIG_DEBUG_FILE \ 22 CONFIG_DEBUG_SYSLOG 23 24HOSTAPD_CONFIG_DISABLE = 25 26# Try to use openssl if it's already available 27ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) 28HOSTAPD_DEPENDENCIES += host-pkgconf libopenssl 29HOSTAPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` 30HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' 31else 32HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD CONFIG_EAP_TEAP 33HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' 34endif 35 36ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP),) 37HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_HOSTAP 38endif 39 40ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NL80211),) 41HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_NL80211 42endif 43 44ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_WIRED),y) 45HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_WIRED 46endif 47 48ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NONE),y) 49HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_NONE 50endif 51 52# Add options for wireless drivers 53ifeq ($(BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS),y) 54HOSTAPD_CONFIG_ENABLE += \ 55 CONFIG_HS20 \ 56 CONFIG_IEEE80211AX \ 57 CONFIG_IEEE80211AC \ 58 CONFIG_IEEE80211N \ 59 CONFIG_IEEE80211R \ 60 CONFIG_INTERWORKING 61endif 62 63ifeq ($(BR2_PACKAGE_HOSTAPD_ACS),y) 64HOSTAPD_CONFIG_ENABLE += CONFIG_ACS 65endif 66 67ifeq ($(BR2_PACKAGE_HOSTAPD_EAP),y) 68HOSTAPD_CONFIG_ENABLE += \ 69 CONFIG_EAP \ 70 CONFIG_RADIUS_SERVER 71 72# Enable both TLS v1.1 (CONFIG_TLSV11) and v1.2 (CONFIG_TLSV12) 73HOSTAPD_CONFIG_ENABLE += CONFIG_TLSV1 74else 75HOSTAPD_CONFIG_DISABLE += CONFIG_EAP 76HOSTAPD_CONFIG_ENABLE += \ 77 CONFIG_NO_ACCOUNTING \ 78 CONFIG_NO_RADIUS 79endif 80 81ifeq ($(BR2_PACKAGE_HOSTAPD_WPS),y) 82HOSTAPD_CONFIG_ENABLE += CONFIG_WPS 83endif 84 85ifeq ($(BR2_PACKAGE_HOSTAPD_WPA3),y) 86HOSTAPD_CONFIG_ENABLE += \ 87 CONFIG_DPP \ 88 CONFIG_SAE \ 89 CONFIG_SAE_PK \ 90 CONFIG_OWE 91else 92HOSTAPD_CONFIG_DISABLE += \ 93 CONFIG_DPP \ 94 CONFIG_SAE \ 95 CONFIG_SAE_PK \ 96 CONFIG_OWE 97endif 98 99ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN),) 100HOSTAPD_CONFIG_ENABLE += CONFIG_NO_VLAN 101endif 102 103ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC),y) 104HOSTAPD_CONFIG_ENABLE += \ 105 CONFIG_FULL_DYNAMIC_VLAN \ 106 NEED_LINUX_IOCTL 107endif 108 109ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) 110HOSTAPD_CONFIG_ENABLE += CONFIG_VLAN_NETLINK 111endif 112 113# Options for building with libnl 114ifeq ($(BR2_PACKAGE_LIBNL),y) 115HOSTAPD_DEPENDENCIES += libnl 116HOSTAPD_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl3/ 117HOSTAPD_CONFIG_ENABLE += CONFIG_LIBNL32 118# libnl-3 needs -lm (for rint) and -lpthread if linking statically 119# And library order matters hence stick -lnl-3 first since it's appended 120# in the hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing 121ifeq ($(BR2_STATIC_LIBS),y) 122HOSTAPD_LIBS += -lnl-3 -lm -lpthread 123endif 124endif 125 126define HOSTAPD_CONFIGURE_CMDS 127 cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG) 128 sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \ 129 $(patsubst %,-e 's/^\(%\)/#\1/',$(HOSTAPD_CONFIG_DISABLE)) \ 130 $(patsubst %,-e %,$(HOSTAPD_CONFIG_EDITS)) \ 131 $(HOSTAPD_CONFIG) 132 # set requested configuration options not listed in hostapd defconfig 133 for s in $(HOSTAPD_CONFIG_ENABLE) ; do \ 134 if ! grep -q "^$${s}" $(HOSTAPD_CONFIG); then \ 135 echo "$${s}=y" >> $(HOSTAPD_CONFIG) ; \ 136 fi \ 137 done 138endef 139 140define HOSTAPD_BUILD_CMDS 141 $(TARGET_MAKE_ENV) CFLAGS="$(HOSTAPD_CFLAGS)" \ 142 LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(HOSTAPD_LIBS)" \ 143 $(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(HOSTAPD_SUBDIR) 144endef 145 146define HOSTAPD_INSTALL_TARGET_CMDS 147 $(INSTALL) -m 0755 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd \ 148 $(TARGET_DIR)/usr/sbin/hostapd 149 $(INSTALL) -m 0755 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd_cli \ 150 $(TARGET_DIR)/usr/bin/hostapd_cli 151 $(INSTALL) -m 0644 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd.conf \ 152 $(TARGET_DIR)/etc/hostapd.conf 153endef 154 155$(eval $(generic-package)) 156