X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Fhostapd%2FMakefile;h=06cf0469ef9ccb5a8a2e88c7241ce09c17879036;hp=5edc513e0e45b62219f8c920d3a14e931629dd70;hb=18c6c93a3b83831a1e7d7d80c22c477412c56cb4;hpb=987900f2de76e6d292e55aa068c39b03f79c8812 diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 5edc513e0e..06cf0469ef 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -32,22 +32,10 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_DRIVER_11N_SUPPORT \ CONFIG_DRIVER_11AC_SUPPORT \ -WPAD_PROVIDERS:=wpad-mini wpad wpad-openssl wpad-wolfssl \ - wpad-mesh-openssl wpad-mesh-wolfssl - -SUPPLICANT_ONLY_PROVIDERS:=wpa-supplicant-mini wpa-supplicant-p2p \ - wpa-supplicant wpa-supplicant-openssl wpa-supplicant-wolfssl \ - wpa-supplicant-mesh-openssl wpa-supplicant-mesh-wolfssl - -HOSTAPD_ONLY_PROVIDERS:=hostapd-mini hostapd hostapd-openssl hostapd-wolfssl - EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl -SUPPLICANT_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) -HOSTAPD_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) -ANY_SUPPLICANT_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) -ANY_HOSTAPD_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) -ANY_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) +SUPPLICANT_PROVIDERS:= +HOSTAPD_PROVIDERS:= LOCAL_TYPE=$(strip \ $(if $(findstring wpad,$(BUILD_VARIANT)),wpad, \ @@ -109,11 +97,11 @@ endif ifeq ($(LOCAL_VARIANT),full) ifeq ($(SSL_VARIANT),openssl) - DRIVER_MAKEOPTS += CONFIG_TLS=openssl + DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_SAE=y CONFIG_OWE=y TARGET_LDFLAGS += -lcrypto -lssl endif ifeq ($(SSL_VARIANT),wolfssl) - DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 + DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 CONFIG_SAE=y CONFIG_OWE=y TARGET_LDFLAGS += -lwolfssl endif endif @@ -147,52 +135,51 @@ endif DRV_DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny + define Package/hostapd/Default SECTION:=net CATEGORY:=Network TITLE:=IEEE 802.1x Authenticator URL:=http://hostap.epitest.fi/ DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus + PROVIDES:=hostapd + CONFLICTS:=$(HOSTAPD_PROVIDERS) + HOSTAPD_PROVIDERS+=$(1) endef define Package/hostapd -$(call Package/hostapd/Default) +$(call Package/hostapd/Default,$(1)) TITLE+= (full) VARIANT:=full-internal endef +define Package/hostapd/description + This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS + Authenticator. +endef + define Package/hostapd-openssl -$(call Package/hostapd/Default) +$(call Package/hostapd/Default,$(1)) TITLE+= (full) VARIANT:=full-openssl DEPENDS+=+libopenssl - CONFLICTS:=$(filter-out hostapd-openssl ,$(HOSTAPD_ONLY_PROVIDERS)) - PROVIDES:=hostapd endef +Package/hostapd-openssl/description = $(Package/hostapd/description) + define Package/hostapd-wolfssl -$(call Package/hostapd/Default) +$(call Package/hostapd/Default,$(1)) TITLE+= (full) VARIANT:=full-wolfssl DEPENDS+=+libwolfssl - CONFLICTS:=$(filter-out hostapd-openssl ,$(filter-out hostapd-wolfssl ,$(HOSTAPD_ONLY_PROVIDERS))) - PROVIDES:=hostapd endef -define Package/hostapd/description - This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS - Authenticator. -endef - -Package/hostapd-openssl/description = $(Package/hostapd/description) Package/hostapd-wolfssl/description = $(Package/hostapd/description) define Package/hostapd-mini -$(call Package/hostapd/Default) +$(call Package/hostapd/Default,$(1)) TITLE+= (WPA-PSK only) VARIANT:=mini - CONFLICTS:=$(filter-out hostapd-wolfssl ,$(filter-out hostapd-openssl ,$(filter-out hostapd-mini ,$(HOSTAPD_ONLY_PROVIDERS)))) - PROVIDES:=hostapd endef define Package/hostapd-mini/description @@ -200,17 +187,6 @@ define Package/hostapd-mini/description endef -define Package/hostapd-utils - $(call Package/hostapd/Default) - TITLE+= (utils) - DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(ANY_HOSTAPD_PROVIDERS),PACKAGE_$(pkg))) -endef - -define Package/hostapd-utils/description - This package contains a command line utility to control the - IEEE 802.1x/WPA/EAP/RADIUS Authenticator. -endef - define Package/wpad/Default SECTION:=net CATEGORY:=Network @@ -218,79 +194,54 @@ define Package/wpad/Default DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus URL:=http://hostap.epitest.fi/ PROVIDES:=hostapd wpa-supplicant + CONFLICTS:=$(HOSTAPD_PROVIDERS) $(SUPPLICANT_PROVIDERS) + HOSTAPD_PROVIDERS+=$(1) + SUPPLICANT_PROVIDERS+=$(1) endef define Package/wpad -$(call Package/wpad/Default) +$(call Package/wpad/Default,$(1)) TITLE+= (full) VARIANT:=wpad-full-internal - CONFLICTS:=$(filter-out wpad-mesh-wolfssl,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(filter-out wpad-wolfssl ,\ - $(filter-out wpad-wolfssl ,\ - $(filter-out wpad ,\ - $(ANY_PROVIDERS)\ - )))))) +endef + +define Package/wpad/description + This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS + Authenticator and Supplicant endef define Package/wpad-openssl -$(call Package/wpad/Default) +$(call Package/wpad/Default,$(1)) TITLE+= (full) VARIANT:=wpad-full-openssl DEPENDS+=+libopenssl - CONFLICTS:=$(filter-out wpad-mesh-wolfssl,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(ANY_PROVIDERS)))) endef +Package/wpad-openssl/description = $(Package/wpad/description) + define Package/wpad-wolfssl -$(call Package/wpad/Default) +$(call Package/wpad/Default,$(1)) TITLE+= (full) VARIANT:=wpad-full-wolfssl DEPENDS+=+libwolfssl - CONFLICTS:=$(filter-out wpad-mesh-wolfssl ,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(filter-out wpad-wolfssl ,\ - $(ANY_PROVIDERS))))) endef -define Package/wpad/description - This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS - Authenticator and Supplicant -endef - -Package/wpad-openssl/description = $(Package/wpad/description) Package/wpad-wolfssl/description = $(Package/wpad/description) define Package/wpad-mini -$(call Package/wpad/Default) +$(call Package/wpad/Default,$(1)) TITLE+= (WPA-PSK only) VARIANT:=wpad-mini - CONFLICTS:=$(SUPPLICANT_ONLY_PROVIDERS) endef define Package/wpad-mini/description This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (WPA-PSK only). endef -define Package/wpad-mesh-openssl -$(call Package/wpad/Default) - TITLE+= (with 802.11s mesh and SAE support) - DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libopenssl - VARIANT:=wpad-mesh-openssl - CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(ANY_PROVIDERS)) - PROVIDES+=wpa-supplicant-mesh wpad-mesh -endef - -define Package/wpad-mesh-wolfssl -$(call Package/wpad/Default) +define Package/wpad-mesh +$(call Package/wpad/Default,$(1)) TITLE+= (with 802.11s mesh and SAE support) - DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libwolfssl - VARIANT:=wpad-mesh-wolfssl - CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(filter-out wpad-mesh-wolfssl ,$(ANY_PROVIDERS))) + DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) PROVIDES+=wpa-supplicant-mesh wpad-mesh endef @@ -298,47 +249,49 @@ define Package/wpad-mesh/description This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (with 802.11s mesh and SAE support). endef +define Package/wpad-mesh-openssl +$(call Package/wpad-mesh,$(1)) + DEPENDS+=+libopenssl + VARIANT:=wpad-mesh-openssl +endef + Package/wpad-mesh-openssl/description = $(Package/wpad-mesh/description) + +define Package/wpad-mesh-wolfssl +$(call Package/wpad-mesh,$(1)) + DEPENDS+=+libwolfssl + VARIANT:=wpad-mesh-wolfssl +endef + Package/wpad-mesh-wolfssl/description = $(Package/wpad-mesh/description) + define Package/wpa-supplicant/Default SECTION:=net CATEGORY:=Network TITLE:=WPA Supplicant URL:=http://hostap.epitest.fi/wpa_supplicant/ DEPENDS:=$(DRV_DEPENDS) + PROVIDES:=wpa-supplicant + CONFLICTS:=$(SUPPLICANT_PROVIDERS) + SUPPLICANT_PROVIDERS+=$(1) endef define Package/wpa-supplicant - $(Package/wpa-supplicant/Default) +$(call Package/wpa-supplicant/Default,$(1)) VARIANT:=supplicant-full-internal - CONFLICTS:=wpa-supplicant-mini endef define Package/wpa-supplicant-openssl - $(Package/wpa-supplicant/Default) - CONFLICTS:=$(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - )))) +$(call Package/wpa-supplicant/Default,$(1)) VARIANT:=supplicant-full-openssl DEPENDS+=+libopenssl - PROVIDES:=wpa-supplicant endef define Package/wpa-supplicant-wolfssl - $(Package/wpa-supplicant/Default) - CONFLICTS:=$(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - )))) +$(call Package/wpa-supplicant/Default,$(1)) VARIANT:=supplicant-full-wolfssl DEPENDS+=+libwolfssl - PROVIDES:=wpa-supplicant endef define Package/wpa-supplicant/config @@ -346,60 +299,62 @@ define Package/wpa-supplicant/config endef define Package/wpa-supplicant-p2p - $(Package/wpa-supplicant) - TITLE:=WPA Supplicant (with Wi-Fi P2P support) - DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 - CONFLICTS:=$(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-p2p ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - ))))) +$(call Package/wpa-supplicant/Default,$(1)) + TITLE+= (with Wi-Fi P2P support) + DEPENDS+=@PACKAGE_kmod-cfg80211 VARIANT:=supplicant-p2p-internal - PROVIDES:=wpa-supplicant endef define Package/wpa-supplicant-mesh/Default - $(Package/wpa-supplicant/Default) - TITLE:=WPA Supplicant (with 802.11s and SAE) - DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) - PROVIDES:=wpa-supplicant wpa-supplicant-mesh +$(call Package/wpa-supplicant/Default,$(1)) + TITLE+= (with 802.11s and SAE) + DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) + PROVIDES+=wpa-supplicant-mesh endef define Package/wpa-supplicant-mesh-openssl - $(Package/wpa-supplicant-mesh/Default) +$(call Package/wpa-supplicant-mesh/Default,$(1)) VARIANT:=supplicant-mesh-openssl - CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(SUPPLICANT_ONLY_PROVIDERS)) DEPENDS+=+libopenssl endef define Package/wpa-supplicant-mesh-wolfssl - $(Package/wpa-supplicant-mesh/Default) +$(call Package/wpa-supplicant-mesh/Default,$(1)) VARIANT:=supplicant-mesh-wolfssl - CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(filter-out wpa-supplicant-mesh-wolfssl ,$(SUPPLICANT_ONLY_PROVIDERS))) DEPENDS+=+libwolfssl endef define Package/wpa-supplicant-mini - $(Package/wpa-supplicant/Default) - TITLE:=WPA Supplicant (minimal version) - DEPENDS:=$(DRV_DEPENDS) +$(call Package/wpa-supplicant/Default,$(1)) + TITLE+= (minimal version) VARIANT:=supplicant-mini - PROVIDES:=wpa-supplicant endef -define Package/wpa-cli + +define Package/hostapd-common + TITLE:=hostapd/wpa_supplicant common support files SECTION:=net CATEGORY:=Network - DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(ANY_SUPPLICANT_PROVIDERS),PACKAGE_$(pkg))) - TITLE:=WPA Supplicant command line control utility endef -define Package/hostapd-common - TITLE:=hostapd/wpa_supplicant common support files +define Package/hostapd-utils + SECTION:=net + CATEGORY:=Network + TITLE:=IEEE 802.1x Authenticator (utils) + URL:=http://hostap.epitest.fi/ + DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(HOSTAPD_PROVIDERS),PACKAGE_$(pkg))) +endef + +define Package/hostapd-utils/description + This package contains a command line utility to control the + IEEE 802.1x/WPA/EAP/RADIUS Authenticator. +endef + +define Package/wpa-cli SECTION:=net CATEGORY:=Network + DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(SUPPLICANT_PROVIDERS),PACKAGE_$(pkg))) + TITLE:=WPA Supplicant command line control utility endef define Package/eapol-test @@ -457,8 +412,8 @@ TARGET_CPPFLAGS := \ -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 +TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto +TARGET_LDFLAGS += -Wl,--gc-sections -flto=jobserver -fuse-linker-plugin ifeq ($(findstring supplicant,$(BUILD_VARIANT)),) TARGET_LDFLAGS += -lubox -lubus endif @@ -474,6 +429,7 @@ define Build/RunMake $(DRIVER_MAKEOPTS) \ LIBS="$(TARGET_LDFLAGS)" \ LIBS_c="$(TARGET_LDFLAGS_C)" \ + AR="$(TARGET_CROSS)gcc-ar" \ BCHECK= \ $(2) endef @@ -495,7 +451,7 @@ define Build/Compile/wpad MULTICALL=1 \ wpa_cli wpa_supplicant_multi.a \ ) - $(TARGET_CC) -o $(PKG_BUILD_DIR)/wpad \ + +export MAKEFLAGS="$(MAKE_JOBSERVER)"; $(TARGET_CC) -o $(PKG_BUILD_DIR)/wpad \ $(TARGET_CFLAGS) \ ./files/multicall.c \ $(PKG_BUILD_DIR)/hostapd/hostapd_multi.a \