#
-# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd
-PKG_VERSION:=20100117
+PKG_VERSION:=20120326
PKG_RELEASE:=1
-PKG_REV:=43a7fe2e0e614e52fa05ff4d78af91bd4e17d3b2
+PKG_REV:=f4329aa2d08192640532b712936f5221580e9f8c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=git://w1.fi/srv/git/hostap.git
-PKG_SOURCE_SUBDIR:=hostapd-$(PKG_VERSION)
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_PROTO:=git
+PKG_MIRROR_MD5SUM:=2650d83c1d4649a5df9fe265f8a5775f
PKG_BUILD_DEPENDS:= \
PACKAGE_kmod-madwifi:madwifi \
- PACKAGE_kmod-mac80211:mac80211 \
PKG_CONFIG_DEPENDS:= \
CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \
CONFIG_PACKAGE_kmod-madwifi \
CONFIG_PACKAGE_hostapd \
CONFIG_PACKAGE_hostapd-mini \
- CONFIG_PACKAGE_kmod-hostap
+ CONFIG_PACKAGE_kmod-hostap \
+ CONFIG_WPA_RFKILL_SUPPORT \
+ CONFIG_DRIVER_WEXT_SUPPORT \
+ CONFIG_DRIVER_11N_SUPPORT
LOCAL_TYPE=$(strip \
$(if $(findstring wpad,$(BUILD_VARIANT)),wpad, \
include $(INCLUDE_DIR)/package.mk
+STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(CONFIG_WPA_MSG_MIN_PRIORITY)
+
+ifneq ($(CONFIG_DRIVER_11N_SUPPORT),)
+ HOSTAPD_IEEE80211N:=y
+endif
+
DRIVER_MAKEOPTS= \
CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-mac80211) \
CONFIG_DRIVER_MADWIFI=$(CONFIG_PACKAGE_kmod-madwifi) \
CONFIG_DRIVER_HOSTAP=$(CONFIG_PACKAGE_kmod-hostap) \
- CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch) \
- CONFIG_IEEE80211N=$(CONFIG_PACKAGE_kmod-ath9k)
-
-ifeq ($(LOCAL_TYPE),supplicant)
- ifeq ($(LOCAL_VARIANT),full)
- DRIVER_MAKEOPTS += $(if $(CONFIG_WPA_SUPPLICANT_OPENSSL),CONFIG_TLS=openssl)
- endif
-endif
+ CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \
+ CONFIG_IEEE80211W=$(CONFIG_PACKAGE_kmod-ath9k) \
+ CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \
+ $(if $(CONFIG_WPA_RFKILL_SUPPORT),NEED_RFKILL=y)
ifneq ($(LOCAL_TYPE),hostapd)
+ ifdef CONFIG_WPA_SUPPLICANT_OPENSSL
+ ifeq ($(LOCAL_VARIANT),full)
+ DRIVER_MAKEOPTS += CONFIG_TLS=openssl
+ TARGET_LDFLAGS += -lcrypto -lssl
+ endif
+ endif
ifdef CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK
TARGET_CFLAGS += -DNO_TIMESTAMP_CHECK
endif
+ DRIVER_MAKEOPTS += \
+ CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch)
endif
+DRV_DEPENDS:=+PACKAGE_kmod-mac80211:libnl-tiny @(!(TARGET_avr32||TARGET_etrax)||BROKEN)
+
define Package/hostapd/Default
SECTION:=net
CATEGORY:=Network
TITLE:=IEEE 802.1x Authenticator
URL:=http://hostap.epitest.fi/
- DEPENDS:=@!TARGET_avr32 @!TARGET_etrax +PACKAGE_kmod-mac80211:libnl-tiny
+ DEPENDS:=$(DRV_DEPENDS)
+ MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
endef
define Package/hostapd
define Package/hostapd-utils
$(call Package/hostapd/Default)
TITLE+= (utils)
- DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini
+ DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini||PACKAGE_wpad||PACKAGE_wpad-mini
endef
define Package/hostapd-utils/description
CATEGORY:=Network
TITLE:=IEEE 802.1x Authenticator/Supplicant
URL:=http://hostap.epitest.fi/
- DEPENDS:=@!TARGET_avr32 @!TARGET_etrax +PACKAGE_kmod-mac80211:libnl-tiny
+ MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
endef
define Package/wpad
$(call Package/wpad/Default)
TITLE+= (full)
+ DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl
VARIANT:=wpad-full
endef
define Package/wpad-mini
$(call Package/wpad/Default)
TITLE+= (WPA-PSK only)
+ DEPENDS:=$(DRV_DEPENDS)
VARIANT:=wpad-mini
endef
CATEGORY:=Network
TITLE:=WPA Supplicant
URL:=http://hostap.epitest.fi/wpa_supplicant/
+ DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl
VARIANT:=supplicant-full
+ MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
endef
define Package/wpa-supplicant/Description
define Package/wpa-supplicant-mini
$(Package/wpa-supplicant)
TITLE:=WPA Supplicant (minimal version)
- DEPENDS:=$(if $(CONFIG_WPA_SUPPLICANT_OPENSSL),+libopenssl)
+ DEPENDS:=$(DRV_DEPENDS)
VARIANT:=supplicant-mini
endef
define Package/wpa-cli
SECTION:=net
CATEGORY:=Network
- DEPENDS:=wpa-supplicant
+ DEPENDS:=@PACKAGE_wpa-supplicant||PACKAGE_wpad-mini||PACKAGE_wpad
TITLE:=WPA Supplicant command line interface
+ MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
endef
define Package/wpa-cli/Description
-I$(PKG_BUILD_DIR)/src/crypto \
$(TARGET_CPPFLAGS) \
-I$(STAGING_DIR)/usr/include/madwifi \
- -I$(STAGING_DIR)/usr/include/mac80211 \
-DCONFIG_LIBNL20 \
- -D_GNU_SOURCE
+ -D_GNU_SOURCE \
+ $(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY))
+
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
ifdef CONFIG_PACKAGE_kmod-mac80211
TARGET_LDFLAGS += -lm -lnl-tiny
define Build/Compile/wpad
echo ` \
- $(call Build/RunMake,hostapd,MULTICALL=1 dump_cflags); \
- $(call Build/RunMake,wpa_supplicant,dump_cflags) | sed -e 's,$(TARGET_CFLAGS),,' \
+ $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
+ $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
+ sed -e 's,-n ,,g' -e 's,$(TARGET_CFLAGS),,' \
` > $(PKG_BUILD_DIR)/.cflags
$(call Build/RunMake,hostapd, \
CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
endef
define Install/hostapd
- $(INSTALL_DIR) $(1)/etc/hotplug.d/net
- $(INSTALL_DATA) ./files/hostapd.hotplug $(1)/etc/hotplug.d/net/
$(INSTALL_DIR) $(1)/lib/wifi
$(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/wifi/hostapd.sh
$(INSTALL_DIR) $(1)/usr/sbin
ifneq ($(LOCAL_TYPE),supplicant)
define Package/hostapd-utils/install
- $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/hotplug.d/button
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd_cli $(1)/usr/sbin/
+ $(INSTALL_DATA) ./files/wps-hotplug.sh $(1)/etc/hotplug.d/button/50-wps
endef
endif
endef
Package/wpa-supplicant-mini/install = $(Package/wpa-supplicant/install)
-ifneq ($(LOCAL_VARIANT),hostapd)
+ifneq ($(LOCAL_TYPE),hostapd)
define Package/wpa-cli/install
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_BUILD_DIR)/wpa_supplicant/wpa_cli $(1)/usr/sbin/