1################################################################################
2#
3# libarchive
4#
5################################################################################
6
7LIBARCHIVE_VERSION = 3.7.4
8LIBARCHIVE_SOURCE = libarchive-$(LIBARCHIVE_VERSION).tar.xz
9LIBARCHIVE_SITE = https://www.libarchive.de/downloads
10LIBARCHIVE_INSTALL_STAGING = YES
11LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause, CC0-1.0, OpenSSL, Apache-2.0
12LIBARCHIVE_LICENSE_FILES = COPYING
13LIBARCHIVE_CPE_ID_VENDOR = libarchive
14# We're patching configure.ac
15LIBARCHIVE_AUTORECONF = YES
16# needed for autoreconf
17LIBARCHIVE_DEPENDENCIES += host-pkgconf
18
19ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDTAR),y)
20ifeq ($(BR2_STATIC_LIBS),y)
21LIBARCHIVE_CONF_OPTS += --enable-bsdtar=static
22else
23LIBARCHIVE_CONF_OPTS += --enable-bsdtar=shared
24endif
25else
26LIBARCHIVE_CONF_OPTS += --disable-bsdtar
27endif
28
29ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDCPIO),y)
30ifeq ($(BR2_STATIC_LIBS),y)
31LIBARCHIVE_CONF_OPTS += --enable-bsdcpio=static
32else
33LIBARCHIVE_CONF_OPTS += --enable-bsdcpio=shared
34endif
35else
36LIBARCHIVE_CONF_OPTS += --disable-bsdcpio
37endif
38
39ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDCAT),y)
40ifeq ($(BR2_STATIC_LIBS),y)
41LIBARCHIVE_CONF_OPTS += --enable-bsdcat=static
42else
43LIBARCHIVE_CONF_OPTS += --enable-bsdcat=shared
44endif
45else
46LIBARCHIVE_CONF_OPTS += --disable-bsdcat
47endif
48
49ifeq ($(BR2_PACKAGE_ACL),y)
50LIBARCHIVE_DEPENDENCIES += acl
51else
52LIBARCHIVE_CONF_OPTS += --disable-acl
53endif
54
55ifeq ($(BR2_PACKAGE_ATTR),y)
56LIBARCHIVE_DEPENDENCIES += attr
57else
58LIBARCHIVE_CONF_OPTS += --disable-xattr
59endif
60
61ifeq ($(BR2_PACKAGE_BZIP2),y)
62LIBARCHIVE_CONF_OPTS += --with-bz2lib
63LIBARCHIVE_DEPENDENCIES += bzip2
64else
65LIBARCHIVE_CONF_OPTS += --without-bz2lib
66endif
67
68ifeq ($(BR2_PACKAGE_EXPAT),y)
69LIBARCHIVE_DEPENDENCIES += expat
70else
71LIBARCHIVE_CONF_OPTS += --without-expat
72endif
73
74ifeq ($(BR2_PACKAGE_LIBICONV),y)
75LIBARCHIVE_DEPENDENCIES += libiconv
76else
77LIBARCHIVE_CONF_OPTS += --without-libiconv-prefix
78endif
79
80ifeq ($(BR2_PACKAGE_LIBXML2),y)
81LIBARCHIVE_DEPENDENCIES += libxml2
82LIBARCHIVE_CONF_ENV += XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config
83else
84LIBARCHIVE_CONF_OPTS += --without-xml2
85endif
86
87ifeq ($(BR2_PACKAGE_LZ4),y)
88LIBARCHIVE_CONF_OPTS += --with-lz4
89LIBARCHIVE_DEPENDENCIES += lz4
90else
91LIBARCHIVE_CONF_OPTS += --without-lz4
92endif
93
94ifeq ($(BR2_PACKAGE_LZO),y)
95LIBARCHIVE_DEPENDENCIES += lzo
96else
97LIBARCHIVE_CONF_OPTS += --without-lzo2
98endif
99
100ifeq ($(BR2_PACKAGE_MBEDTLS),y)
101LIBARCHIVE_DEPENDENCIES += mbedtls
102LIBARCHIVE_CONF_OPTS += --with-mbedtls
103else
104LIBARCHIVE_CONF_OPTS += --without-mbedtls
105endif
106
107ifeq ($(BR2_PACKAGE_NETTLE),y)
108LIBARCHIVE_DEPENDENCIES += nettle
109LIBARCHIVE_CONF_OPTS += --with-nettle
110else
111LIBARCHIVE_CONF_OPTS += --without-nettle
112endif
113
114ifeq ($(BR2_PACKAGE_OPENSSL),y)
115LIBARCHIVE_DEPENDENCIES += openssl
116else
117LIBARCHIVE_CONF_OPTS += --without-openssl
118endif
119
120ifeq ($(BR2_PACKAGE_ZLIB),y)
121LIBARCHIVE_DEPENDENCIES += zlib
122else
123LIBARCHIVE_CONF_OPTS += --without-zlib
124endif
125
126# libarchive requires LZMA with thread support in the toolchain
127ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_PACKAGE_XZ),yy)
128LIBARCHIVE_DEPENDENCIES += xz
129LIBARCHIVE_CONF_OPTS += --with-lzma
130else
131LIBARCHIVE_CONF_OPTS += --without-lzma
132endif
133
134ifeq ($(BR2_PACKAGE_ZSTD),y)
135LIBARCHIVE_DEPENDENCIES += zstd
136LIBARCHIVE_CONF_OPTS += --with-zstd
137else
138LIBARCHIVE_CONF_OPTS += --without-zstd
139endif
140
141# The only user of host-libarchive needs zlib support
142HOST_LIBARCHIVE_DEPENDENCIES = host-zlib
143# needed for autoreconf
144HOST_LIBARCHIVE_DEPENDENCIES += host-pkgconf
145HOST_LIBARCHIVE_CONF_OPTS = \
146	--disable-bsdtar \
147	--disable-bsdcpio \
148	--disable-bsdcat \
149	--disable-acl \
150	--disable-xattr \
151	--without-bz2lib \
152	--without-expat \
153	--without-libiconv-prefix \
154	--without-xml2 \
155	--without-lz4 \
156	--without-lzo2 \
157	--without-mbedtls \
158	--without-nettle \
159	--without-openssl \
160	--without-lzma \
161	--without-zstd
162
163$(eval $(autotools-package))
164$(eval $(host-autotools-package))
165