[OE-core] [PATCH V2] curl: support multilib installation

changqing.li at windriver.com changqing.li at windriver.com
Mon Jul 30 02:32:29 UTC 2018


From: Changqing Li <changqing.li at windriver.com>

curl-config is generated to displays information about
the curl and libcurl installation. So the content is different
for 32bit and 64bit package. eg: maybe for 32bit, use
i686-linux-gnu-gcc, and for 64bit, use x86-64-linux-gnu-gcc.

Use update-alternatives to add base_libdir as suffix to create
seperate curl-config, so user can check both info of 32/64 bit
curl.

Signed-off-by: Changqing Li <changqing.li at windriver.com>
---
 meta/recipes-support/curl/curl_7.61.0.bb | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-support/curl/curl_7.61.0.bb b/meta/recipes-support/curl/curl_7.61.0.bb
index cc983fd..1841c50 100644
--- a/meta/recipes-support/curl/curl_7.61.0.bb
+++ b/meta/recipes-support/curl/curl_7.61.0.bb
@@ -13,7 +13,7 @@ SRC_URI[md5sum] = "31d0a9f48dc796a7db351898a1e5058a"
 SRC_URI[sha256sum] = "5f6f336921cf5b84de56afbd08dfb70adeef2303751ffb3e570c936c6d656c9c"
 
 CVE_PRODUCT = "libcurl"
-inherit autotools pkgconfig binconfig multilib_header
+inherit autotools pkgconfig binconfig multilib_header update-alternatives
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls proxy threaded-resolver verbose zlib"
 PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
@@ -48,6 +48,17 @@ PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threade
 PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
 PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
 
+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
+ALTERNATIVE_${PN}-dev = "curl-config"
+ALTERNATIVE_LINK_NAME[curl-config] = "${bindir}/curl-config"
+ALTERNATIVE_TARGET[curl-config] = "${bindir}/curl-config-${MULTILIB_SUFFIX}"
+
+PACKAGE_PREPROCESS_FUNCS += "alternative_rename"
+
+alternative_rename() {
+        mv ${PKGD}${bindir}/curl-config ${PKGD}${bindir}/curl-config-${MULTILIB_SUFFIX}
+}
+
 EXTRA_OECONF = " \
     --disable-libcurl-option \
     --disable-ntlm-wb \
-- 
2.7.4




More information about the Openembedded-core mailing list