1125635Skientzle# $FreeBSD$
2191241Skientzle.include <bsd.own.mk>
3133244Skientzle
4229595SmmLIBARCHIVEDIR=	${.CURDIR}/../../contrib/libarchive
5229595Smm
6151275SkientzleLIB=	archive
7221472SobrienDPADD=	${LIBZ}
8221472SobrienLDADD=	-lz
9133244Skientzle
10208169SkientzleDPADD+= ${LIBBZ2}
11208169SkientzleLDADD+= -lbz2
12208184SdelphijCFLAGS+= -DHAVE_BZLIB_H=1
13208169Skientzle
14208169SkientzleDPADD+= ${LIBLZMA}
15208169SkientzleLDADD+= -llzma
16208169SkientzleCFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
17208169Skientzle
18224152SmmDPADD+= ${LIBBSDXML}
19224152SmmLDADD+= -lbsdxml
20224152Smm
21164013Skientzle# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
22179321Skientzle# It has no real relation to the libarchive version number.
23195767SkensmithSHLIB_MAJOR= 5
24151275Skientzle
25229595SmmCFLAGS+=	-DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
26133244SkientzleCFLAGS+=	-I${.OBJDIR}
27133244Skientzle
28191241Skientzle.if ${MK_OPENSSL} != "no"
29191241SkientzleCFLAGS+=	-DWITH_OPENSSL
30193101SkientzleDPADD+=	${LIBCRYPTO}
31193101SkientzleLDADD+=	-lcrypto
32221472Sobrien.else
33221472SobrienDPADD+=	${LIBMD}
34221472SobrienLDADD+=	-lmd
35191241Skientzle.endif
36191241Skientzle
37229595Smm.PATH: ${LIBARCHIVEDIR}/libarchive
38229595Smm
39151275Skientzle# Headers to be installed in /usr/include
40133244SkientzleINCS=	archive.h archive_entry.h
41133244Skientzle
42156417Skientzle# Sources to be compiled.
43179790SkientzleSRCS=	archive_check_magic.c				\
44133244Skientzle	archive_entry.c					\
45170079Skientzle	archive_entry_copy_stat.c			\
46170079Skientzle	archive_entry_stat.c				\
47174991Skientzle	archive_entry_strmode.c				\
48174991Skientzle	archive_entry_link_resolver.c			\
49201096Skientzle	archive_entry_xattr.c				\
50133244Skientzle	archive_read.c					\
51133244Skientzle	archive_read_data_into_fd.c			\
52189429Skientzle	archive_read_disk.c				\
53189429Skientzle	archive_read_disk_entry_from_file.c		\
54189429Skientzle	archive_read_disk_set_standard_lookup.c		\
55133244Skientzle	archive_read_extract.c				\
56133244Skientzle	archive_read_open_fd.c				\
57164589Skientzle	archive_read_open_file.c			\
58164448Skientzle	archive_read_open_filename.c			\
59164589Skientzle	archive_read_open_memory.c			\
60133244Skientzle	archive_read_support_compression_all.c		\
61133244Skientzle	archive_read_support_compression_bzip2.c	\
62133244Skientzle	archive_read_support_compression_compress.c	\
63133244Skientzle	archive_read_support_compression_gzip.c		\
64133244Skientzle	archive_read_support_compression_none.c		\
65170079Skientzle	archive_read_support_compression_program.c	\
66224152Smm	archive_read_support_compression_rpm.c		\
67201248Skientzle	archive_read_support_compression_uu.c		\
68191172Skientzle	archive_read_support_compression_xz.c		\
69133244Skientzle	archive_read_support_format_all.c		\
70168740Skientzle	archive_read_support_format_ar.c		\
71133244Skientzle	archive_read_support_format_cpio.c		\
72166387Skientzle	archive_read_support_format_empty.c		\
73139565Skientzle	archive_read_support_format_iso9660.c		\
74174991Skientzle	archive_read_support_format_mtree.c		\
75191594Skientzle	archive_read_support_format_raw.c		\
76133244Skientzle	archive_read_support_format_tar.c		\
77224152Smm	archive_read_support_format_xar.c		\
78140790Skientzle	archive_read_support_format_zip.c		\
79133244Skientzle	archive_string.c				\
80133244Skientzle	archive_string_sprintf.c			\
81133244Skientzle	archive_util.c					\
82167186Skientzle	archive_virtual.c				\
83133244Skientzle	archive_write.c					\
84167186Skientzle	archive_write_disk.c				\
85167186Skientzle	archive_write_disk_set_standard_lookup.c	\
86133244Skientzle	archive_write_open_fd.c				\
87164589Skientzle	archive_write_open_file.c			\
88164448Skientzle	archive_write_open_filename.c			\
89164589Skientzle	archive_write_open_memory.c			\
90133244Skientzle	archive_write_set_compression_bzip2.c		\
91177183Skientzle	archive_write_set_compression_compress.c	\
92133244Skientzle	archive_write_set_compression_gzip.c		\
93133244Skientzle	archive_write_set_compression_none.c		\
94170079Skientzle	archive_write_set_compression_program.c		\
95191172Skientzle	archive_write_set_compression_xz.c		\
96133244Skientzle	archive_write_set_format.c			\
97168453Skientzle	archive_write_set_format_ar.c			\
98133244Skientzle	archive_write_set_format_by_name.c		\
99133244Skientzle	archive_write_set_format_cpio.c			\
100170984Skientzle	archive_write_set_format_cpio_newc.c		\
101182517Skientzle	archive_write_set_format_mtree.c		\
102133244Skientzle	archive_write_set_format_pax.c			\
103133244Skientzle	archive_write_set_format_shar.c			\
104170079Skientzle	archive_write_set_format_ustar.c		\
105201168Skientzle	archive_write_set_format_zip.c			\
106170079Skientzle	filter_fork.c
107133244Skientzle
108151275Skientzle# Man pages to be installed.
109133244SkientzleMAN=	archive_entry.3					\
110133244Skientzle	archive_read.3					\
111190957Skientzle	archive_read_disk.3				\
112133244Skientzle	archive_util.3					\
113133244Skientzle	archive_write.3					\
114167186Skientzle	archive_write_disk.3				\
115174991Skientzle	cpio.5						\
116133244Skientzle	libarchive.3					\
117133244Skientzle	libarchive-formats.5				\
118133244Skientzle	tar.5
119133244Skientzle
120151275Skientzle# Symlink the man pages under each function name.
121133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_add_entry.3
122133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_add_entry_w.3
123133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_clear.3
124133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_count.3
125133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_next.3
126133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_next_w.3
127133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_reset.3
128133244SkientzleMLINKS+=	archive_entry.3 archive_entry_acl_text_w.3
129133244SkientzleMLINKS+=	archive_entry.3 archive_entry_clear.3
130133244SkientzleMLINKS+=	archive_entry.3 archive_entry_clone.3
131179321SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_fflags_text.3
132133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_fflags_text_w.3
133171459SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_gname.3
134133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_gname_w.3
135133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_hardlink_w.3
136177191SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_link.3
137177191SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_link_w.3
138133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_pathname_w.3
139133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_stat.3
140133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_symlink_w.3
141171459SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_uname.3
142133244SkientzleMLINKS+=	archive_entry.3 archive_entry_copy_uname_w.3
143170079SkientzleMLINKS+=	archive_entry.3 archive_entry_dev.3
144170079SkientzleMLINKS+=	archive_entry.3 archive_entry_devmajor.3
145170079SkientzleMLINKS+=	archive_entry.3 archive_entry_devminor.3
146170079SkientzleMLINKS+=	archive_entry.3 archive_entry_filetype.3
147133244SkientzleMLINKS+=	archive_entry.3 archive_entry_fflags.3
148133244SkientzleMLINKS+=	archive_entry.3 archive_entry_fflags_text.3
149133244SkientzleMLINKS+=	archive_entry.3 archive_entry_free.3
150133244SkientzleMLINKS+=	archive_entry.3 archive_entry_gid.3
151133244SkientzleMLINKS+=	archive_entry.3 archive_entry_gname.3
152133244SkientzleMLINKS+=	archive_entry.3 archive_entry_gname_w.3
153133244SkientzleMLINKS+=	archive_entry.3 archive_entry_hardlink.3
154133244SkientzleMLINKS+=	archive_entry.3 archive_entry_ino.3
155133244SkientzleMLINKS+=	archive_entry.3 archive_entry_mode.3
156133244SkientzleMLINKS+=	archive_entry.3 archive_entry_mtime.3
157133244SkientzleMLINKS+=	archive_entry.3 archive_entry_mtime_nsec.3
158170079SkientzleMLINKS+=	archive_entry.3 archive_entry_nlink.3
159133244SkientzleMLINKS+=	archive_entry.3 archive_entry_new.3
160133244SkientzleMLINKS+=	archive_entry.3 archive_entry_pathname.3
161133244SkientzleMLINKS+=	archive_entry.3 archive_entry_pathname_w.3
162133244SkientzleMLINKS+=	archive_entry.3 archive_entry_rdev.3
163133244SkientzleMLINKS+=	archive_entry.3 archive_entry_rdevmajor.3
164133244SkientzleMLINKS+=	archive_entry.3 archive_entry_rdevminor.3
165170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_atime.3
166170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_ctime.3
167170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_dev.3
168170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_devmajor.3
169170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_devminor.3
170133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_fflags.3
171133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_gid.3
172133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_gname.3
173133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_hardlink.3
174133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_link.3
175133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_mode.3
176170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_mtime.3
177170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_nlink.3
178133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_pathname.3
179170079SkientzleMLINKS+=	archive_entry.3 archive_entry_set_rdev.3
180133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_rdevmajor.3
181133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_rdevminor.3
182133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_size.3
183133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_symlink.3
184133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_uid.3
185133244SkientzleMLINKS+=	archive_entry.3 archive_entry_set_uname.3
186133244SkientzleMLINKS+=	archive_entry.3 archive_entry_size.3
187133244SkientzleMLINKS+=	archive_entry.3 archive_entry_stat.3
188133244SkientzleMLINKS+=	archive_entry.3 archive_entry_symlink.3
189133244SkientzleMLINKS+=	archive_entry.3 archive_entry_uid.3
190133244SkientzleMLINKS+=	archive_entry.3 archive_entry_uname.3
191133244SkientzleMLINKS+=	archive_entry.3 archive_entry_uname_w.3
192133244SkientzleMLINKS+=	archive_read.3 archive_read_data.3
193133244SkientzleMLINKS+=	archive_read.3 archive_read_data_block.3
194133244SkientzleMLINKS+=	archive_read.3 archive_read_data_into_buffer.3
195133244SkientzleMLINKS+=	archive_read.3 archive_read_data_into_fd.3
196133244SkientzleMLINKS+=	archive_read.3 archive_read_data_skip.3
197133244SkientzleMLINKS+=	archive_read.3 archive_read_extract.3
198133244SkientzleMLINKS+=	archive_read.3 archive_read_extract_set_progress_callback.3
199162028SkientzleMLINKS+=	archive_read.3 archive_read_extract_set_skip_file.3
200133244SkientzleMLINKS+=	archive_read.3 archive_read_finish.3
201133244SkientzleMLINKS+=	archive_read.3 archive_read_new.3
202133244SkientzleMLINKS+=	archive_read.3 archive_read_next_header.3
203191597SkientzleMLINKS+=	archive_read.3 archive_read_next_header2.3
204133244SkientzleMLINKS+=	archive_read.3 archive_read_open.3
205162028SkientzleMLINKS+=	archive_read.3 archive_read_open2.3
206164589SkientzleMLINKS+=	archive_read.3 archive_read_open_FILE.3
207133244SkientzleMLINKS+=	archive_read.3 archive_read_open_fd.3
208133244SkientzleMLINKS+=	archive_read.3 archive_read_open_file.3
209164448SkientzleMLINKS+=	archive_read.3 archive_read_open_filename.3
210164589SkientzleMLINKS+=	archive_read.3 archive_read_open_memory.3
211133244SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_all.3
212133244SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_bzip2.3
213133244SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_compress.3
214133244SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_gzip.3
215191597SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_lzma.3
216133244SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_none.3
217170079SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_program.3
218191597SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_program_signature.3
219191597SkientzleMLINKS+=	archive_read.3 archive_read_support_compression_xz.3
220133244SkientzleMLINKS+=	archive_read.3 archive_read_support_format_all.3
221191597SkientzleMLINKS+=	archive_read.3 archive_read_support_format_ar.3
222133244SkientzleMLINKS+=	archive_read.3 archive_read_support_format_cpio.3
223191597SkientzleMLINKS+=	archive_read.3 archive_read_support_format_empty.3
224139913SkientzleMLINKS+=	archive_read.3 archive_read_support_format_iso9660.3
225191597SkientzleMLINKS+=	archive_read.3 archive_read_support_format_raw.3
226133244SkientzleMLINKS+=	archive_read.3 archive_read_support_format_tar.3
227140790SkientzleMLINKS+=	archive_read.3 archive_read_support_format_zip.3
228190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_entry_from_file.3
229190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_gname.3
230190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_new.3
231190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_gname_lookup.3
232190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_standard_lookup.3
233190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_hybrid.3
234190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_logical.3
235190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_physical.3
236190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_set_uname_lookup.3
237190957SkientzleMLINKS+=	archive_read_disk.3 archive_read_disk_uname.3
238167186SkientzleMLINKS+=	archive_util.3 archive_clear_error.3
239133244SkientzleMLINKS+=	archive_util.3 archive_compression.3
240133244SkientzleMLINKS+=	archive_util.3 archive_compression_name.3
241133244SkientzleMLINKS+=	archive_util.3 archive_errno.3
242133244SkientzleMLINKS+=	archive_util.3 archive_error_string.3
243201098SkientzleMLINKS+=	archive_util.3 archive_file_count.3
244133244SkientzleMLINKS+=	archive_util.3 archive_format.3
245133244SkientzleMLINKS+=	archive_util.3 archive_format_name.3
246137240SkientzleMLINKS+=	archive_util.3 archive_set_error.3
247177473SkaiwMLINKS+=	archive_write.3 archive_write_close.3
248133244SkientzleMLINKS+=	archive_write.3 archive_write_data.3
249133244SkientzleMLINKS+=	archive_write.3 archive_write_finish.3
250164628SkientzleMLINKS+=	archive_write.3 archive_write_finish_entry.3
251164628SkientzleMLINKS+=	archive_write.3 archive_write_get_bytes_in_last_block.3
252164628SkientzleMLINKS+=	archive_write.3 archive_write_get_bytes_per_block.3
253133244SkientzleMLINKS+=	archive_write.3 archive_write_header.3
254133244SkientzleMLINKS+=	archive_write.3 archive_write_new.3
255133244SkientzleMLINKS+=	archive_write.3 archive_write_open.3
256164589SkientzleMLINKS+=	archive_write.3 archive_write_open_FILE.3
257133244SkientzleMLINKS+=	archive_write.3 archive_write_open_fd.3
258133244SkientzleMLINKS+=	archive_write.3 archive_write_open_file.3
259164448SkientzleMLINKS+=	archive_write.3 archive_write_open_filename.3
260164589SkientzleMLINKS+=	archive_write.3 archive_write_open_memory.3
261164589SkientzleMLINKS+=	archive_write.3 archive_write_set_bytes_in_last_block.3
262133244SkientzleMLINKS+=	archive_write.3 archive_write_set_bytes_per_block.3
263133244SkientzleMLINKS+=	archive_write.3 archive_write_set_callbacks.3
264133244SkientzleMLINKS+=	archive_write.3 archive_write_set_compression_bzip2.3
265179321SkientzleMLINKS+=	archive_write.3 archive_write_set_compression_compress.3
266133244SkientzleMLINKS+=	archive_write.3 archive_write_set_compression_gzip.3
267170079SkientzleMLINKS+=	archive_write.3 archive_write_set_compression_none.3
268170079SkientzleMLINKS+=	archive_write.3 archive_write_set_compression_program.3
269133244SkientzleMLINKS+=	archive_write.3 archive_write_set_format_pax.3
270133244SkientzleMLINKS+=	archive_write.3 archive_write_set_format_shar.3
271133244SkientzleMLINKS+=	archive_write.3 archive_write_set_format_ustar.3
272167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_new.3
273167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_set_group_lookup.3
274167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_set_options.3
275167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_set_skip_file.3
276167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_set_standard_lookup.3
277167186SkientzleMLINKS+=	archive_write_disk.3 archive_write_disk_set_user_lookup.3
278133244SkientzleMLINKS+=	libarchive.3 archive.3
279133244Skientzle
280229595Smm.PHONY: check test clean-test
281179321Skientzlecheck test:
282229595Smm	cd ${.CURDIR}/test && make obj && make test
283167186Skientzle
284229595Smmclean-test:
285229595Smm	cd ${.CURDIR}/test && make clean
286229595Smm
287133244Skientzle.include <bsd.lib.mk>
288