iperf3: add SSL variant for iperf_auth feature
[openwrt/staging/lynxis.git] / package / network / utils / iperf3 / Makefile
index 853636488cc0af4a48879c8e91ca7d58409d6890..1b94ce70fa51cff7b7c649213a8b397a19bc0163 100644 (file)
@@ -21,21 +21,39 @@ PKG_LICENSE:=BSD-3-Clause
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
+PKG_FIXUP:=autoreconf
+
 include $(INCLUDE_DIR)/package.mk
 
 DISABLE_NLS:=
 
-define Package/iperf3
+define Package/iperf3/default
   SECTION:=net
   CATEGORY:=Network
   TITLE:=Internet Protocol bandwidth measuring tool
   URL:=https://github.com/esnet/iperf
+endef
+
+define Package/iperf3
+$(call Package/iperf3/default)
+  VARIANT:=nossl
+endef
+
+define Package/iperf3-ssl
+$(call Package/iperf3/default)
+  TITLE+= with iperf_auth support
+  VARIANT:=ssl
   DEPENDS:= +libopenssl
 endef
 
 TARGET_CFLAGS += -D_GNU_SOURCE
-CONFIGURE_ARGS += --disable-shared \
-                  --with-openssl="$(STAGING_DIR)/usr"
+CONFIGURE_ARGS += --disable-shared
+
+ifeq ($(BUILD_VARIANT),ssl)
+       CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr"
+else
+       CONFIGURE_ARGS += --without-openssl
+endif
 
 MAKE_FLAGS += noinst_PROGRAMS=
 
@@ -45,9 +63,21 @@ define Package/iperf3/description
  characteristics.
 endef
 
+# autoreconf fails if the README file isn't present
+define Build/Prepare
+       $(call Build/Prepare/Default)
+       touch $(PKG_BUILD_DIR)/README
+endef
+
 define Package/iperf3/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
 endef
 
+define Package/iperf3-ssl/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
+endef
+
 $(eval $(call BuildPackage,iperf3))
+$(eval $(call BuildPackage,iperf3-ssl))