iperf: use build variants, fix uclibc compile issues

git-svn-id: svn://svn.openwrt.org/openwrt/packages@25019 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2011-01-16 01:25:59 +00:00
parent 334590fe8f
commit 22d380132d

View File

@ -11,6 +11,7 @@ PKG_NAME:=iperf
PKG_VERSION:=2.0.5 PKG_VERSION:=2.0.5
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME) PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_MD5SUM:=44b5536b67719f4250faed632a3cd016 PKG_MD5SUM:=44b5536b67719f4250faed632a3cd016
@ -36,6 +37,7 @@ endef
define Package/iperf define Package/iperf
$(call Package/iperf/Default) $(call Package/iperf/Default)
TITLE+= (with single thread support) TITLE+= (with single thread support)
VARIANT:=single
endef endef
define Package/iperf/description define Package/iperf/description
@ -47,6 +49,7 @@ define Package/iperf-mt
$(call Package/iperf/Default) $(call Package/iperf/Default)
DEPENDS+= +libpthread DEPENDS+= +libpthread
TITLE+= (with multithread support) TITLE+= (with multithread support)
VARIANT:=mt
endef endef
define Package/iperf-mt/description define Package/iperf-mt/description
@ -54,50 +57,25 @@ $(call Package/iperf/Default/description)
This package is built with multithread support. This package is built with multithread support.
endef endef
define Build/Template CONFIGURE_ARGS += --disable-multicast
CONFIGURE_VARS += ac_cv_func_malloc_0_nonnull=yes
$(STAMP_BUILT)-$(2): $(STAMP_PREPARED) ifeq ($(BUILD_VARIANT),st)
-$(MAKE) -C $(PKG_BUILD_DIR) clean CONFIGURE_ARGS += --disable-threads
$(call Build/Configure/Default,$(3)) else
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) CONFIGURE_ARGS += --enable-threads=posix
( cd $(PKG_BUILD_DIR)/src; mv -f iperf iperf-$(2) ) CONFIGURE_VARS += ac_cv_func_pthread_cancel=no
touch $$@ endif
$(STAMP_BUILT): $(STAMP_BUILT)-$(2)
define Package/$(1)/install
$(INSTALL_DIR) $$(1)/usr/bin
$(INSTALL_BIN) $$(PKG_BUILD_DIR)/src/iperf-$(2) $$(1)/usr/bin/iperf
endef
endef
CONFIGURE_ARGS += \
--disable-multicast \
CONFIGURE_VARS += \ CONFIGURE_VARS += \
CXX="g++-uc" \ CXX="g++-uc" \
CXXFLAGS="$$$$CXXFLAGS -fno-rtti" \ CXXFLAGS="$$$$CXXFLAGS -fno-rtti" \
ifneq ($(SDK)$(CONFIG_PACKAGE_iperf),) define Package/iperf/install
define Build/singlethread $(INSTALL_DIR) $(1)/usr/bin
$(call Build/Template,iperf,singlethread, \ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/iperf $(1)/usr/bin/iperf
--disable-threads \ endef
) Package/iperf-mt/install = $(Package/iperf/install)
endef
endif
$(eval $(Build/singlethread))
ifneq ($(SDK)$(CONFIG_PACKAGE_iperf-mt),)
define Build/multithread
$(call Build/Template,iperf-mt,multithread, \
--enable-threads=posix \
LDFLAGS="$(TARGET_LDFLAGS) -lpthread" \
ac_cv_func_pthread_cancel=no \
)
endef
endif
$(eval $(Build/multithread))
$(eval $(call BuildPackage,iperf)) $(eval $(call BuildPackage,iperf))
$(eval $(call BuildPackage,iperf-mt)) $(eval $(call BuildPackage,iperf-mt))