Support for building an hardened OpenWRT
[openwrt/openwrt.git] / package / network / services / hostapd / Makefile
index 80e00823fedc7513db18af3935a7b822276f5bdc..6bdf5341e01dbbc4e1cefa613d36be845cca4408 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2014 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hostapd
-PKG_VERSION:=2014-04-24
+PKG_VERSION:=2014-10-25
 PKG_RELEASE:=1
-PKG_REV:=3cf48c4f2e2d558130253457fea02ef4047cf8e1
+PKG_REV:=01e2231fdc4fbec61fbc382238e3606a1d2826e4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=git://w1.fi/srv/git/hostap.git
@@ -20,6 +20,7 @@ PKG_SOURCE_PROTO:=git
 # PKG_MIRROR_MD5SUM:=4e7c1f97edd7514535056fce54ae053a
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+PKG_LICENSE:=BSD-3-Clause
 
 PKG_BUILD_PARALLEL:=1
 
@@ -29,7 +30,7 @@ PKG_BUILD_DEPENDS:= \
 PKG_CONFIG_DEPENDS:= \
        CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \
        CONFIG_PACKAGE_kmod-ath9k \
-       CONFIG_PACKAGE_kmod-mac80211 \
+       CONFIG_PACKAGE_kmod-cfg80211 \
        CONFIG_PACKAGE_kmod-madwifi \
        CONFIG_PACKAGE_hostapd \
        CONFIG_PACKAGE_hostapd-mini \
@@ -64,13 +65,12 @@ ifneq ($(CONFIG_DRIVER_11N_SUPPORT),)
 endif
 
 DRIVER_MAKEOPTS= \
-       CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-mac80211) \
+       CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-cfg80211) \
        CONFIG_DRIVER_MADWIFI=$(CONFIG_PACKAGE_kmod-madwifi) \
        CONFIG_DRIVER_HOSTAP=$(CONFIG_PACKAGE_kmod-hostap) \
        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
@@ -82,6 +82,9 @@ ifneq ($(LOCAL_TYPE),hostapd)
   ifdef CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK
     TARGET_CFLAGS += -DNO_TIMESTAMP_CHECK
   endif
+  ifdef CONFIG_WPA_RFKILL_SUPPORT)
+    DRIVER_MAKEOPTS += NEED_RFKILL=y
+  endif
   DRIVER_MAKEOPTS += \
        CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch)
 endif
@@ -91,7 +94,7 @@ ifdef CONFIG_USE_EGLIBC
   TARGET_LDFLAGS_C += -lrt
 endif
 
-DRV_DEPENDS:=+PACKAGE_kmod-mac80211:libnl-tiny @(!TARGET_avr32||BROKEN)
+DRV_DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny @(!TARGET_avr32||BROKEN)
 
 define Package/hostapd/Default
   SECTION:=net
@@ -105,6 +108,7 @@ define Package/hostapd
 $(call Package/hostapd/Default)
   TITLE+= (full)
   VARIANT:=full
+  CONFLICTS:=wpad wpad-mini
 endef
 
 define Package/hostapd/description
@@ -116,6 +120,7 @@ define Package/hostapd-mini
 $(call Package/hostapd/Default)
   TITLE+= (WPA-PSK only)
   VARIANT:=mini
+  CONFLICTS:=wpad wpad-mini
 endef
 
 define Package/hostapd-mini/description
@@ -169,6 +174,7 @@ define Package/wpa-supplicant
   TITLE:=WPA Supplicant
   URL:=http://hostap.epitest.fi/wpa_supplicant/
   DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl
+  CONFLICTS:=wpad wpad-mini
   VARIANT:=supplicant-full
 endef
 
@@ -184,6 +190,7 @@ define Package/wpa-supplicant-p2p
   $(Package/wpa-supplicant)
   TITLE:=WPA Supplicant (with Wi-Fi P2P support)
   DEPENDS:=$(DRV_DEPENDS)
+  CONFLICTS:=wpad wpad-mini
   VARIANT:=supplicant-p2p
 endef
 
@@ -195,6 +202,7 @@ define Package/wpa-supplicant-mini
   $(Package/wpa-supplicant)
   TITLE:=WPA Supplicant (minimal version)
   DEPENDS:=$(DRV_DEPENDS)
+  CONFLICTS:=wpad wpad-mini
   VARIANT:=supplicant-mini
 endef
 
@@ -225,6 +233,15 @@ define Package/hostapd-common-old
   CATEGORY:=Network
 endef
 
+define Package/eapol-test
+  TITLE:=802.1x authentication test utility
+  SECTION:=net
+  CATEGORY:=Network
+  VARIANT:=supplicant-full
+  DEPENDS:=$(DRV_DEPENDS)
+endef
+
+
 ifneq ($(wildcard $(PKG_BUILD_DIR)/.config_*),$(subst .configured_,.config_,$(STAMP_CONFIGURED)))
   define Build/Configure/rebuild
        $(FIND) $(PKG_BUILD_DIR) -name \*.o -or -name \*.a | $(XARGS) rm -f
@@ -258,7 +275,7 @@ ifeq ($(findstring supplicant,$(BUILD_VARIANT)),)
   TARGET_LDFLAGS += -lubox -lubus
 endif
 
-ifdef CONFIG_PACKAGE_kmod-mac80211
+ifdef CONFIG_PACKAGE_kmod-cfg80211
   TARGET_LDFLAGS += -lm -lnl-tiny
 endif
 
@@ -277,7 +294,7 @@ define Build/Compile/wpad
        echo ` \
                $(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),,' \
+               sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
        ` > $(PKG_BUILD_DIR)/.cflags
        +$(call Build/RunMake,hostapd, \
                CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
@@ -309,8 +326,15 @@ define Build/Compile/supplicant
        )
 endef
 
+define Build/Compile/supplicant-full
+       $(call Build/RunMake,wpa_supplicant, \
+               eapol_test \
+       )
+endef
+
 define Build/Compile
        $(Build/Compile/$(LOCAL_TYPE))
+       $(Build/Compile/$(BUILD_VARIANT))
 endef
 
 define Install/hostapd
@@ -350,8 +374,8 @@ define Package/wpad/install
        $(call Install/hostapd,$(1))
        $(call Install/supplicant,$(1))
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpad $(1)/usr/sbin/
-       ln -sf wpad $(1)/usr/sbin/hostapd
-       ln -sf wpad $(1)/usr/sbin/wpa_supplicant
+       $(LN) wpad $(1)/usr/sbin/hostapd
+       $(LN) wpad $(1)/usr/sbin/wpa_supplicant
 endef
 Package/wpad-mini/install = $(Package/wpad/install)
 
@@ -369,6 +393,13 @@ ifneq ($(LOCAL_TYPE),hostapd)
   endef
 endif
 
+ifeq ($(BUILD_VARIANT),supplicant-full)
+  define Package/eapol-test/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/
+  endef
+endif
+
 $(eval $(call BuildPackage,hostapd))
 $(eval $(call BuildPackage,hostapd-mini))
 $(eval $(call BuildPackage,wpad))
@@ -380,3 +411,4 @@ $(eval $(call BuildPackage,wpa-cli))
 $(eval $(call BuildPackage,hostapd-utils))
 $(eval $(call BuildPackage,hostapd-common))
 $(eval $(call BuildPackage,hostapd-common-old))
+$(eval $(call BuildPackage,eapol-test))