From 19694767f244a5916429322bca05299525db9004 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 19 May 2020 17:18:28 +0800 Subject: [PATCH] measurement-kit: Add static build dependencies When measurement-kit is a build dependency (in PKG_BUILD_DEPENDS) of another package, this package's build dependencies (in DEPENDS) may not be selected and so may not be built. (This package does not produce a shared library; the measurement-kit target package contains a program that is statically linked to the measurement-kit library. Other packages may include measurement-kit in their PKG_BUILD_DEPENDS to link to the static library but not include measurement-kit as a run-time dependency.) This adds PKG_BUILD_DEPENDS to this package to ensure that its dependencies are built in this case. This also adds MEASUREMENT_KIT_BUILD_DEPENDS that dependant packages should select to ensure that this package's dependencies are correctly built. (libevent2-openssl and libevent2-pthreads need to be selected for the necessary functionality to be enabled when compiling libevent2.) This also adds openssl as an explicit dependency; it appears to be used directly by this package. Signed-off-by: Jeffery To --- libs/measurement-kit/Makefile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/libs/measurement-kit/Makefile b/libs/measurement-kit/Makefile index 57db05054..1da6b1dd8 100644 --- a/libs/measurement-kit/Makefile +++ b/libs/measurement-kit/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=measurement-kit PKG_VERSION:=0.10.11 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/measurement-kit/measurement-kit/tar.gz/v$(PKG_VERSION)? @@ -21,8 +21,11 @@ PKG_LICENSE_FILES:=LICENSE PKG_FIXUP:=autoreconf PKG_INSTALL:=1 +PKG_BUILD_DEPENDS:=curl libevent2 libmaxminddb openssl PKG_BUILD_PARALLEL:=1 +PKG_CONFIG_DEPENDS:=MEASUREMENT_KIT_BUILD_DEPENDS + include $(INCLUDE_DIR)/package.mk define Package/measurement-kit @@ -30,13 +33,25 @@ define Package/measurement-kit CATEGORY:=Libraries TITLE:=library for open network measurement URL:=https://measurement-kit.github.io/ - DEPENDS:=+libstdcpp +libcurl +libevent2-pthreads +libevent2-extra +libevent2-openssl +libevent2-core +libmaxminddb +ca-bundle + DEPENDS:=+libstdcpp +libcurl +libevent2-pthreads +libevent2-extra +libevent2-openssl +libevent2-core +libmaxminddb +libopenssl +ca-bundle endef define Package/measurement-kit/description Measurement Kit is a C++14 library that implements open network measurement methodologies (performance, censorship, etc.) endef +define Package/measurement-kit/config +config MEASUREMENT_KIT_BUILD_DEPENDS + bool + default PACKAGE_measurement-kit + +config MEASUREMENT_KIT_BUILD_SELECT + tristate + default m if MEASUREMENT_KIT_BUILD_DEPENDS + select PACKAGE_libevent2-openssl + select PACKAGE_libevent2-pthreads +endef + CONFIGURE_ARGS+= --with-ca-bundle=/etc/ssl/cert.pem TARGET_CFLAGS += $(if $(CONFIG_USE_UCLIBC),-DCATCH_CONFIG_GLOBAL_NEXTAFTER)