Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / package / network / utils / iw / Makefile
index a578ddc98c03bc45c18ffc7bbf2f9ad3b8918c81..ef39ee6724f54c6aa6125dcb5efc84e673d6cfe0 100644 (file)
@@ -8,13 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iw
-PKG_VERSION:=4.9
+PKG_VERSION:=4.14
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/network/iw
-PKG_HASH:=324cc805fad52cba2c16b9ab569906889fb645cc962aac4cfda1db85d2de97ce
+PKG_HASH:=f01671c0074bfdec082a884057edba1b9efd35c89eda554638496f03b769ad89
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/iw-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=GPL-2.0
 
@@ -26,12 +27,19 @@ define Package/iw
   TITLE:=cfg80211 interface configuration utility
   URL:=http://wireless.kernel.org/en/users/Documentation/iw
   DEPENDS:= +libnl-tiny
+  VARIANT:=tiny
+endef
+
+define Package/iw-full
+  $(Package/iw)
+  TITLE += (full version)
+  VARIANT:=full
+  PROVIDES:=iw
 endef
 
 define Build/Configure
        echo "const char iw_version[] = \"$(PKG_VERSION)\";" > $(PKG_BUILD_DIR)/version.c
-       rm -f $(PKG_BUILD_DIR)/version.sh
-       touch $(PKG_BUILD_DIR)/version.sh
+       echo "#!/bin/sh" > $(PKG_BUILD_DIR)/version.sh
        chmod +x $(PKG_BUILD_DIR)/version.sh
 endef
 
@@ -39,11 +47,17 @@ TARGET_CPPFLAGS:= \
        -I$(STAGING_DIR)/usr/include/libnl-tiny \
        $(TARGET_CPPFLAGS) \
        -DCONFIG_LIBNL20 \
-       -D_GNU_SOURCE
+       -D_GNU_SOURCE \
+       -flto
+
+ifeq ($(BUILD_VARIANT),full)
+  TARGET_CPPFLAGS += -DIW_FULL
+  MAKE_FLAGS += IW_FULL=1
+endif
 
 MAKE_FLAGS += \
        CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -ffunction-sections -fdata-sections" \
-       LDFLAGS="$(TARGET_LDFLAGS) -Wl,--gc-sections" \
+       LDFLAGS="$(TARGET_LDFLAGS) -Wl,--gc-sections -flto" \
        NL1FOUND="" NL2FOUND=Y \
        NLLIBNAME="libnl-tiny" \
        LIBS="-lm -lnl-tiny" \
@@ -54,4 +68,7 @@ define Package/iw/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/iw $(1)/usr/sbin/
 endef
 
+Package/iw-full/install=$(Package/iw/install)
+
 $(eval $(call BuildPackage,iw))
+$(eval $(call BuildPackage,iw-full))