Kaynağa Gözat

libarchive: avoid some tools to build statically on shared builds

Some libarchive tools, like bsdtar, builds statically by default
although libarchive itself is being built dynamically. We can force
those tools to build the same way as libarchive by using the right
configure options.

Fixes:
  http://autobuild.buildroot.net/results/b8f/b8f7a29787ea1cc5c98e4cbd5f47f257f9b306f2/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Vicente Olivert Riera 11 yıl önce
ebeveyn
işleme
9581d0d117
1 değiştirilmiş dosya ile 21 ekleme ve 3 silme
  1. 21 3
      package/libarchive/libarchive.mk

+ 21 - 3
package/libarchive/libarchive.mk

@@ -9,9 +9,27 @@ LIBARCHIVE_SITE = http://www.libarchive.org/downloads
 LIBARCHIVE_INSTALL_STAGING = YES
 LIBARCHIVE_INSTALL_STAGING = YES
 LIBARCHIVE_LICENSE = BSD-2c, BSD-3c
 LIBARCHIVE_LICENSE = BSD-2c, BSD-3c
 LIBARCHIVE_LICENSE_FILES = COPYING
 LIBARCHIVE_LICENSE_FILES = COPYING
-LIBARCHIVE_CONF_OPT = --without-lzma \
-	$(if $(BR2_PACKAGE_LIBARCHIVE_BSDTAR),--enable-bsdtar,--disable-bsdtar) \
-	$(if $(BR2_PACKAGE_LIBARCHIVE_BSDCPIO),--enable-bsdcpio,--disable-bsdcpio)
+LIBARCHIVE_CONF_OPT = --without-lzma
+
+ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDTAR),y)
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBARCHIVE_CONF_OPT += --enable-bsdtar=static
+else
+LIBARCHIVE_CONF_OPT += --enable-bsdtar=shared
+endif
+else
+LIBARCHIVE_CONF_OPT += --disable-bsdtar
+endif
+
+ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDCPIO),y)
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBARCHIVE_CONF_OPT += --enable-bsdcpio=static
+else
+LIBARCHIVE_CONF_OPT += --enable-bsdcpio=shared
+endif
+else
+LIBARCHIVE_CONF_OPT += --disable-bsdcpio
+endif
 
 
 ifeq ($(BR2_PACKAGE_ACL),y)
 ifeq ($(BR2_PACKAGE_ACL),y)
 LIBARCHIVE_DEPENDENCIES += acl
 LIBARCHIVE_DEPENDENCIES += acl