blob: ac85bba4120c9de2723ddab5e77db440cc6b437d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
|
# $FreeBSD$
.include <bsd.own.mk>
LIBARCHIVEDIR= ${.CURDIR}/../../contrib/libarchive
LIB= archive
DPADD= ${LIBZ}
LDADD= -lz
DPADD+= ${LIBBZ2}
LDADD+= -lbz2
CFLAGS+= -DHAVE_BZLIB_H=1
DPADD+= ${LIBLZMA}
LDADD+= -llzma
CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
DPADD+= ${LIBBSDXML}
LDADD+= -lbsdxml
# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
# It has no real relation to the libarchive version number.
SHLIB_MAJOR= 6
CFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
CFLAGS+= -I${.OBJDIR}
.if ${MK_OPENSSL} != "no"
CFLAGS+= -DWITH_OPENSSL
DPADD+= ${LIBCRYPTO}
LDADD+= -lcrypto
.else
DPADD+= ${LIBMD}
LDADD+= -lmd
.endif
.if ${MK_ICONV} != "no"
CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
.endif
.if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mmips*} != "" || \
${MACHINE_ARCH:Msparc64*} != "" || ${MACHINE_ARCH:Mia64*} != ""
NO_WCAST_ALIGN= yes
.if ${MACHINE_ARCH:M*64*} == ""
CFLAGS+= -DPPMD_32BIT
.endif
.endif
NO_WCAST_ALIGN.clang=
.PATH: ${LIBARCHIVEDIR}/libarchive
# Headers to be installed in /usr/include
INCS= archive.h archive_entry.h
# Sources to be compiled.
SRCS= archive_acl.c \
archive_check_magic.c \
archive_cmdline.c \
archive_crypto.c \
archive_entry.c \
archive_entry_copy_stat.c \
archive_entry_link_resolver.c \
archive_entry_sparse.c \
archive_entry_stat.c \
archive_entry_strmode.c \
archive_entry_xattr.c \
archive_getdate.c \
archive_match.c \
archive_options.c \
archive_pathmatch.c \
archive_ppmd7.c \
archive_rb.c \
archive_read.c \
archive_read_append_filter.c \
archive_read_data_into_fd.c \
archive_read_disk_entry_from_file.c \
archive_read_disk_posix.c \
archive_read_disk_set_standard_lookup.c \
archive_read_extract.c \
archive_read_open_fd.c \
archive_read_open_file.c \
archive_read_open_filename.c \
archive_read_open_memory.c \
archive_read_set_format.c \
archive_read_set_options.c \
archive_read_support_filter_all.c \
archive_read_support_filter_bzip2.c \
archive_read_support_filter_compress.c \
archive_read_support_filter_gzip.c \
archive_read_support_filter_grzip.c \
archive_read_support_filter_lrzip.c \
archive_read_support_filter_lzop.c \
archive_read_support_filter_none.c \
archive_read_support_filter_program.c \
archive_read_support_filter_rpm.c \
archive_read_support_filter_uu.c \
archive_read_support_filter_xz.c \
archive_read_support_format_7zip.c \
archive_read_support_format_all.c \
archive_read_support_format_ar.c \
archive_read_support_format_by_code.c \
archive_read_support_format_cab.c \
archive_read_support_format_cpio.c \
archive_read_support_format_empty.c \
archive_read_support_format_iso9660.c \
archive_read_support_format_lha.c \
archive_read_support_format_mtree.c \
archive_read_support_format_rar.c \
archive_read_support_format_raw.c \
archive_read_support_format_tar.c \
archive_read_support_format_xar.c \
archive_read_support_format_zip.c \
archive_string.c \
archive_string_sprintf.c \
archive_util.c \
archive_virtual.c \
archive_write.c \
archive_write_add_filter.c \
archive_write_disk_acl.c \
archive_write_disk_set_standard_lookup.c \
archive_write_disk_posix.c \
archive_write_open_fd.c \
archive_write_open_file.c \
archive_write_open_filename.c \
archive_write_open_memory.c \
archive_write_add_filter_b64encode.c \
archive_write_add_filter_by_name.c \
archive_write_add_filter_bzip2.c \
archive_write_add_filter_compress.c \
archive_write_add_filter_grzip.c \
archive_write_add_filter_gzip.c \
archive_write_add_filter_lrzip.c \
archive_write_add_filter_lzop.c \
archive_write_add_filter_none.c \
archive_write_add_filter_program.c \
archive_write_add_filter_uuencode.c \
archive_write_add_filter_xz.c \
archive_write_set_format.c \
archive_write_set_format_7zip.c \
archive_write_set_format_ar.c \
archive_write_set_format_by_name.c \
archive_write_set_format_cpio.c \
archive_write_set_format_cpio_newc.c \
archive_write_set_format_gnutar.c \
archive_write_set_format_iso9660.c \
archive_write_set_format_mtree.c \
archive_write_set_format_pax.c \
archive_write_set_format_shar.c \
archive_write_set_format_ustar.c \
archive_write_set_format_v7tar.c \
archive_write_set_format_xar.c \
archive_write_set_format_zip.c \
archive_write_set_options.c \
filter_fork_posix.c
# Man pages to be installed.
MAN= archive_entry.3 \
archive_entry_acl.3 \
archive_entry_linkify.3 \
archive_entry_paths.3 \
archive_entry_perms.3 \
archive_entry_stat.3 \
archive_entry_time.3 \
archive_read.3 \
archive_read_data.3 \
archive_read_disk.3 \
archive_read_extract.3 \
archive_read_filter.3 \
archive_read_format.3 \
archive_read_free.3 \
archive_read_header.3 \
archive_read_new.3 \
archive_read_open.3 \
archive_read_set_options.3 \
archive_util.3 \
archive_write.3 \
archive_write_blocksize.3 \
archive_write_data.3 \
archive_write_disk.3 \
archive_write_filter.3 \
archive_write_finish_entry.3 \
archive_write_format.3 \
archive_write_free.3 \
archive_write_header.3 \
archive_write_new.3 \
archive_write_open.3 \
archive_write_set_options.3 \
cpio.5 \
libarchive.3 \
libarchive_changes.3 \
libarchive_internals.3 \
libarchive-formats.5 \
tar.5
# Symlink the man pages under each function name.
MLINKS+= archive_entry.3 archive_entry_clear.3
MLINKS+= archive_entry.3 archive_entry_clone.3
MLINKS+= archive_entry.3 archive_entry_free.3
MLINKS+= archive_entry.3 archive_entry_new.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_add_entry.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_add_entry_w.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_clear.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_count.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_next.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_next_w.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_reset.3
MLINKS+= archive_entry_acl.3 archive_entry_acl_text_w.3
MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver.3
MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_new.3
MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_set_strategy.3
MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_free.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_hardlink.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_hardlink_w.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_link.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_link_w.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_pathname.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_pathname_w.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_sourcepath.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_symlink.3
MLINKS+= archive_entry_paths.3 archive_entry_copy_symlink_w.3
MLINKS+= archive_entry_paths.3 archive_entry_hardlink.3
MLINKS+= archive_entry_paths.3 archive_entry_hardlink_w.3
MLINKS+= archive_entry_paths.3 archive_entry_pathname.3
MLINKS+= archive_entry_paths.3 archive_entry_pathname_w.3
MLINKS+= archive_entry_paths.3 archive_entry_set_hardlink.3
MLINKS+= archive_entry_paths.3 archive_entry_set_link.3
MLINKS+= archive_entry_paths.3 archive_entry_set_pathname.3
MLINKS+= archive_entry_paths.3 archive_entry_set_symlink.3
MLINKS+= archive_entry_paths.3 archive_entry_symlink.3
MLINKS+= archive_entry_paths.3 archive_entry_symlink_w.3
MLINKS+= archive_entry_paths.3 archive_entry_update_symlink_utf8.3
MLINKS+= archive_entry_paths.3 archive_entry_update_hardlink_utf8.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_fflags_text.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_fflags_text_w.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_gname.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_gname_w.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_uname.3
MLINKS+= archive_entry_perms.3 archive_entry_copy_uname_w.3
MLINKS+= archive_entry_perms.3 archive_entry_fflags.3
MLINKS+= archive_entry_perms.3 archive_entry_fflags_text.3
MLINKS+= archive_entry_perms.3 archive_entry_gid.3
MLINKS+= archive_entry_perms.3 archive_entry_gname.3
MLINKS+= archive_entry_perms.3 archive_entry_gname_w.3
MLINKS+= archive_entry_perms.3 archive_entry_set_fflags.3
MLINKS+= archive_entry_perms.3 archive_entry_set_gid.3
MLINKS+= archive_entry_perms.3 archive_entry_set_gname.3
MLINKS+= archive_entry_perms.3 archive_entry_perm.3
MLINKS+= archive_entry_perms.3 archive_entry_set_perm.3
MLINKS+= archive_entry_perms.3 archive_entry_set_uid.3
MLINKS+= archive_entry_perms.3 archive_entry_set_uname.3
MLINKS+= archive_entry_perms.3 archive_entry_strmode.3
MLINKS+= archive_entry_perms.3 archive_entry_uid.3
MLINKS+= archive_entry_perms.3 archive_entry_uname.3
MLINKS+= archive_entry_perms.3 archive_entry_uname_w.3
MLINKS+= archive_entry_perms.3 archive_entry_update_gname_utf8.3
MLINKS+= archive_entry_perms.3 archive_entry_update_uname_utf8.3
MLINKS+= archive_entry_stat.3 archive_entry_copy_stat.3
MLINKS+= archive_entry_stat.3 archive_entry_dev.3
MLINKS+= archive_entry_stat.3 archive_entry_dev_is_set.3
MLINKS+= archive_entry_stat.3 archive_entry_devmajor.3
MLINKS+= archive_entry_stat.3 archive_entry_devminor.3
MLINKS+= archive_entry_stat.3 archive_entry_filetype.3
MLINKS+= archive_entry_stat.3 archive_entry_ino.3
MLINKS+= archive_entry_stat.3 archive_entry_ino64.3
MLINKS+= archive_entry_stat.3 archive_entry_ino_is_set.3
MLINKS+= archive_entry_stat.3 archive_entry_mode.3
MLINKS+= archive_entry_stat.3 archive_entry_nlink.3
MLINKS+= archive_entry_stat.3 archive_entry_rdev.3
MLINKS+= archive_entry_stat.3 archive_entry_rdevmajor.3
MLINKS+= archive_entry_stat.3 archive_entry_rdevminor.3
MLINKS+= archive_entry_stat.3 archive_entry_set_dev.3
MLINKS+= archive_entry_stat.3 archive_entry_set_devmajor.3
MLINKS+= archive_entry_stat.3 archive_entry_set_devminor.3
MLINKS+= archive_entry_stat.3 archive_entry_set_filetype.3
MLINKS+= archive_entry_stat.3 archive_entry_set_ino.3
MLINKS+= archive_entry_stat.3 archive_entry_set_ino64.3
MLINKS+= archive_entry_stat.3 archive_entry_set_mode.3
MLINKS+= archive_entry_stat.3 archive_entry_set_nlink.3
MLINKS+= archive_entry_stat.3 archive_entry_set_rdev.3
MLINKS+= archive_entry_stat.3 archive_entry_set_rdevmajor.3
MLINKS+= archive_entry_stat.3 archive_entry_set_rdevminor.3
MLINKS+= archive_entry_stat.3 archive_entry_set_size.3
MLINKS+= archive_entry_stat.3 archive_entry_size.3
MLINKS+= archive_entry_stat.3 archive_entry_size_is_set.3
MLINKS+= archive_entry_stat.3 archive_entry_unset_size.3
MLINKS+= archive_entry_time.3 archive_entry_atime.3
MLINKS+= archive_entry_time.3 archive_entry_atime_is_set.3
MLINKS+= archive_entry_time.3 archive_entry_atime_nsec.3
MLINKS+= archive_entry_time.3 archive_entry_birthtime.3
MLINKS+= archive_entry_time.3 archive_entry_birthtime_is_set.3
MLINKS+= archive_entry_time.3 archive_entry_birthtime_nsec.3
MLINKS+= archive_entry_time.3 archive_entry_ctime.3
MLINKS+= archive_entry_time.3 archive_entry_ctime_is_set.3
MLINKS+= archive_entry_time.3 archive_entry_ctime_nsec.3
MLINKS+= archive_entry_time.3 archive_entry_mtime.3
MLINKS+= archive_entry_time.3 archive_entry_mtime_is_set.3
MLINKS+= archive_entry_time.3 archive_entry_mtime_nsec.3
MLINKS+= archive_entry_time.3 archive_entry_set_atime.3
MLINKS+= archive_entry_time.3 archive_entry_set_birthtime.3
MLINKS+= archive_entry_time.3 archive_entry_set_ctime.3
MLINKS+= archive_entry_time.3 archive_entry_set_mtime.3
MLINKS+= archive_entry_time.3 archive_entry_unset_atime.3
MLINKS+= archive_entry_time.3 archive_entry_unset_birthtime.3
MLINKS+= archive_entry_time.3 archive_entry_unset_ctime.3
MLINKS+= archive_entry_time.3 archive_entry_unset_mtime.3
MLINKS+= archive_read_data.3 archive_read_data_block.3
MLINKS+= archive_read_data.3 archive_read_data_into_fd.3
MLINKS+= archive_read_data.3 archive_read_data_skip.3
MLINKS+= archive_read_header.3 archive_read_next_header.3
MLINKS+= archive_read_header.3 archive_read_next_header2.3
MLINKS+= archive_read_extract.3 archive_read_extract2.3
MLINKS+= archive_read_extract.3 archive_read_extract_set_progress_callback.3
MLINKS+= archive_read_extract.3 archive_read_extract_set_skip_file.3
MLINKS+= archive_read_open.3 archive_read_open2.3
MLINKS+= archive_read_open.3 archive_read_open_FILE.3
MLINKS+= archive_read_open.3 archive_read_open_fd.3
MLINKS+= archive_read_open.3 archive_read_open_file.3
MLINKS+= archive_read_open.3 archive_read_open_filename.3
MLINKS+= archive_read_open.3 archive_read_open_memory.3
MLINKS+= archive_read_free.3 archive_read_close.3
MLINKS+= archive_read_free.3 archive_read_finish.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_all.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_bzip2.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_compress.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_gzip.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_lzma.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_none.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_xz.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_program.3
MLINKS+= archive_read_filter.3 archive_read_support_filter_program_signature.3
MLINKS+= archive_read_format.3 archive_read_support_format_7zip.3
MLINKS+= archive_read_format.3 archive_read_support_format_all.3
MLINKS+= archive_read_format.3 archive_read_support_format_ar.3
MLINKS+= archive_read_format.3 archive_read_support_format_by_code.3
MLINKS+= archive_read_format.3 archive_read_support_format_cab.3
MLINKS+= archive_read_format.3 archive_read_support_format_cpio.3
MLINKS+= archive_read_format.3 archive_read_support_format_empty.3
MLINKS+= archive_read_format.3 archive_read_support_format_iso9660.3
MLINKS+= archive_read_format.3 archive_read_support_format_lha.3
MLINKS+= archive_read_format.3 archive_read_support_format_mtree.3
MLINKS+= archive_read_format.3 archive_read_support_format_rar.3
MLINKS+= archive_read_format.3 archive_read_support_format_raw.3
MLINKS+= archive_read_format.3 archive_read_support_format_tar.3
MLINKS+= archive_read_format.3 archive_read_support_format_xar.3
MLINKS+= archive_read_format.3 archive_read_support_format_zip.3
MLINKS+= archive_read_disk.3 archive_read_disk_entry_from_file.3
MLINKS+= archive_read_disk.3 archive_read_disk_gname.3
MLINKS+= archive_read_disk.3 archive_read_disk_new.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_gname_lookup.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_standard_lookup.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_symlink_hybrid.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_symlink_logical.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_symlink_physical.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_uname_lookup.3
MLINKS+= archive_read_disk.3 archive_read_disk_uname.3
MLINKS+= archive_read_set_options.3 archive_read_set_filter_option.3
MLINKS+= archive_read_set_options.3 archive_read_set_format_option.3
MLINKS+= archive_read_set_options.3 archive_read_set_option.3
MLINKS+= archive_util.3 archive_clear_error.3
MLINKS+= archive_util.3 archive_compression.3
MLINKS+= archive_util.3 archive_compression_name.3
MLINKS+= archive_util.3 archive_copy_error.3
MLINKS+= archive_util.3 archive_errno.3
MLINKS+= archive_util.3 archive_error_string.3
MLINKS+= archive_util.3 archive_file_count.3
MLINKS+= archive_util.3 archive_filter_code.3
MLINKS+= archive_util.3 archive_filter_count.3
MLINKS+= archive_util.3 archive_filter_name.3
MLINKS+= archive_util.3 archive_format.3
MLINKS+= archive_util.3 archive_format_name.3
MLINKS+= archive_util.3 archive_position.3
MLINKS+= archive_util.3 archive_set_error.3
MLINKS+= archive_write_blocksize.3 archive_write_get_bytes_in_last_block.3
MLINKS+= archive_write_blocksize.3 archive_write_get_bytes_per_block.3
MLINKS+= archive_write_blocksize.3 archive_write_set_bytes_in_last_block.3
MLINKS+= archive_write_blocksize.3 archive_write_set_bytes_per_block.3
MLINKS+= archive_write_disk.3 archive_write_data_block.3
MLINKS+= archive_write_disk.3 archive_write_disk_new.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_group_lookup.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_options.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_skip_file.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_standard_lookup.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_user_lookup.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_bzip2.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_compress.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_gzip.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_lzip.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_lzma.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_none.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_program.3
MLINKS+= archive_write_filter.3 archive_write_add_filter_xz.3
MLINKS+= archive_write_format.3 archive_write_set_format_cpio.3
MLINKS+= archive_write_format.3 archive_write_set_format_pax.3
MLINKS+= archive_write_format.3 archive_write_set_format_pax_restricted.3
MLINKS+= archive_write_format.3 archive_write_set_format_shar.3
MLINKS+= archive_write_format.3 archive_write_set_format_shar_dump.3
MLINKS+= archive_write_format.3 archive_write_set_format_ustar.3
MLINKS+= archive_write_free.3 archive_write_close.3
MLINKS+= archive_write_free.3 archive_write_fail.3
MLINKS+= archive_write_free.3 archive_write_finish.3
MLINKS+= archive_write_open.3 archive_write_open_FILE.3
MLINKS+= archive_write_open.3 archive_write_open_fd.3
MLINKS+= archive_write_open.3 archive_write_open_file.3
MLINKS+= archive_write_open.3 archive_write_open_filename.3
MLINKS+= archive_write_open.3 archive_write_open_memory.3
MLINKS+= archive_write_set_options.3 archive_write_set_filter_option.3
MLINKS+= archive_write_set_options.3 archive_write_set_format_option.3
MLINKS+= archive_write_set_options.3 archive_write_set_option.3
MLINKS+= libarchive.3 archive.3
.PHONY: check test clean-test
check test:
cd ${.CURDIR}/test && make obj && make test
clean-test:
cd ${.CURDIR}/test && make clean
.include <bsd.lib.mk>
|