From: Yann E. MORIN Date: Wed, 28 Nov 2012 13:54:00 +0000 (+0000) Subject: package/cURL: fix static link whith openSSL X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=61d322c3d258072460fddbab0b39c8bf4cc3e0bc;p=buildroot.git package/cURL: fix static link whith openSSL When openSSL is selected, cURL is configured to use it. But in this case, the libcurl.pc file /forgets/ to require link against -ldl. This can happen, for example, when BR2_PREFER_STATIC_LIB is not set, but an executable wants to be linked statically (for various reasons which are irrelevant here). Fix that by appending a 'Requires: openssl' line to libcurl.pc.in, but only if openSSL is enabled. As suggested by Arnout, do it in a post-patch hook, rather as a post-install hook. Cc: Arnout Vandecappelle Signed-off-by: "Yann E. MORIN" Signed-off-by: Peter Korsgaard --- diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 8d8fdb408c..888f6d084b 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -25,17 +25,20 @@ else LIBCURL_CONF_OPT += --without-ssl endif +define LIBCURL_FIX_DOT_PC + printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in +endef +LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_OPENSSL),LIBCURL_FIX_DOT_PC) + define LIBCURL_TARGET_CLEANUP rm -rf $(TARGET_DIR)/usr/bin/curl-config \ $(if $(BR2_PACKAGE_CURL),,$(TARGET_DIR)/usr/bin/curl) endef - LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP define LIBCURL_STAGING_FIXUP_CURL_CONFIG $(SED) "s,prefix=/usr,prefix=$(STAGING_DIR)/usr," $(STAGING_DIR)/usr/bin/curl-config endef - LIBCURL_POST_INSTALL_STAGING_HOOKS += LIBCURL_STAGING_FIXUP_CURL_CONFIG $(eval $(autotools-package))