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 <arnout@mind.be> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
d1692abc00
commit
61d322c3d2
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user