Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Feb 2012 12:53:16 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r231200 - in vendor/libarchive/dist: . build build/autoconf build/cmake build/pkgconfig build/utils contrib contrib/psota-benchmark contrib/shar cpio cpio/test doc doc/html doc/man doc/...
Message-ID:  <201202081253.q18CrGmF043254@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Wed Feb  8 12:53:14 2012
New Revision: 231200
URL: http://svn.freebsd.org/changeset/base/231200

Log:
  Update vendor libarchive dist to new "release" branch (post 3.0.3)
  
  Git branch:	release
  Git commit:	9af87742342aa4f37a22ec12c4cc1c82e00ffa2f
  
  Obtained from:	https://github.com/libarchive/libarchive.git

Added:
  vendor/libarchive/dist/build/autoconf/config.rpath   (contents, props changed)
  vendor/libarchive/dist/build/autoconf/iconv.m4   (contents, props changed)
  vendor/libarchive/dist/build/autoconf/lib-ld.m4   (contents, props changed)
  vendor/libarchive/dist/build/autoconf/lib-link.m4   (contents, props changed)
  vendor/libarchive/dist/build/autoconf/lib-prefix.m4   (contents, props changed)
  vendor/libarchive/dist/build/makerelease.sh   (contents, props changed)
  vendor/libarchive/dist/build/utils/
  vendor/libarchive/dist/build/utils/gen_archive_string_composition_h.sh   (contents, props changed)
  vendor/libarchive/dist/cpio/test/test_option_0.c   (contents, props changed)
  vendor/libarchive/dist/doc/html/.ignore_me   (contents, props changed)
  vendor/libarchive/dist/doc/man/.ignore_me   (contents, props changed)
  vendor/libarchive/dist/doc/pdf/.ignore_me   (contents, props changed)
  vendor/libarchive/dist/doc/text/.ignore_me   (contents, props changed)
  vendor/libarchive/dist/doc/wiki/.ignore_me   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_acl.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_acl_private.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_crypto.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_crypto_private.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_acl.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_linkify.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_locale.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_paths.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_perms.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_sparse.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_stat.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_entry_time.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_options.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_options_private.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_ppmd7.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_ppmd7_private.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_ppmd_private.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_rb.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_rb.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_data.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_disk_posix.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_disk.c
  vendor/libarchive/dist/libarchive/archive_read_disk_windows.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_extract.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_filter.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_format.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_free.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_header.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_new.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_open.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_set_options.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_set_options.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_support_filter_all.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_all.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_bzip2.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_bzip2.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_compress.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_compress.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_gzip.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_gzip.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_none.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_none.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_program.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_program.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_rpm.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_rpm.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_uu.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_uu.c
  vendor/libarchive/dist/libarchive/archive_read_support_filter_xz.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_read_support_compression_xz.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_7zip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_support_format_by_code.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_support_format_cab.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_support_format_lha.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_read_support_format_rar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_string_composition.h   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_add_filter_bzip2.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_bzip2.c
  vendor/libarchive/dist/libarchive/archive_write_add_filter_compress.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_compress.c
  vendor/libarchive/dist/libarchive/archive_write_add_filter_gzip.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_gzip.c
  vendor/libarchive/dist/libarchive/archive_write_add_filter_none.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_none.c
  vendor/libarchive/dist/libarchive/archive_write_add_filter_program.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_program.c
  vendor/libarchive/dist/libarchive/archive_write_add_filter_xz.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_set_compression_xz.c
  vendor/libarchive/dist/libarchive/archive_write_blocksize.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_data.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_disk_posix.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/archive_write_disk.c
  vendor/libarchive/dist/libarchive/archive_write_disk_windows.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_filter.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_finish_entry.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_format.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_free.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_header.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_new.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_open.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_format_7zip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_format_gnutar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_format_iso9660.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_format_xar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_options.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/archive_write_set_options.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/libarchive_changes.3   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_acl_nfs4.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_acl_pax.tar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_acl_posix1e.c
     - copied, changed from r231198, vendor/libarchive/dist/libarchive/test/test_acl_basic.c
  vendor/libarchive/dist/libarchive/test/test_archive_clear_error.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_crypto.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_close_twice.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_close_twice_open_fd.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_close_twice_open_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_next_header_empty.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_next_header_raw.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_open2.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_set_filter_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_set_format_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_set_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_set_options.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_read_support.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_set_error.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_string.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_string_conversion.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_string_conversion.txt.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_write_set_filter_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_write_set_format_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_write_set_option.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_archive_write_set_options.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_lzip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_lzip_1.tlz.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_lzip_2.tlz.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_mac-1.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_mac-2.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_mac.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_pax_libarchive_2x.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_pax_libarchive_2x.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_solaris_pax_sparse.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_solaris_pax_sparse_1.pax.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_solaris_pax_sparse_2.pax.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_zip_3.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_zip_4.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_zip_5.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_zip_6.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_compat_zip_7.xps.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_filter_count.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_fuzz.cab.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_fuzz.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_gnutar_filename_encoding.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_disk_directory_traversals.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_bzip2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_copy_1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_copy_2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_copy_lzma.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_deflate.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_lzma1_1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_lzma1_2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_lzma2_1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj2_lzma2_2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj_bzip2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj_copy.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj_deflate.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj_lzma1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bcj_lzma2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_bzip2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_copy.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_copy_2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_deflate.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_delta_lzma1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_delta_lzma2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_empty_archive.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_empty_file.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_lzma1.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_lzma1_2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_lzma1_lzma2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_lzma2.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_ppmd.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_7zip_symbolic_name.7z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab_1.cab.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab_2.cab.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab_3.cab.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cab_filename_cp932.cab.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_afio.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_lzip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename_cp866.cpio.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename_eucjp.cpio.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename_koi8r.cpio.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename_utf8_jp.cpio.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_filename_utf8_ru.cpio.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_filename_cp866.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_filename_eucjp.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_filename_koi8r.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_iso_joliet_by_nero.iso.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_iso_xorriso.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_iso_xorriso.iso.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_isojoliet_versioned.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_filename_cp932.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_header0.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_header1.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_header2.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_header3.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_lh0.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_lh6.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_lh7.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_lha_withjunk.lzh.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_mtree_nomagic.mtree.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_binary_data.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_compress_best.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_compress_normal.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_multi_lzss_blocks.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_noeof.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_ppmd_lzss_conversion.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_sfx.exe.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_subblock.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_unicode.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_rar_windows.rar.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_tar_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_tar_filename_koi8r.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_ustar_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_ustar_filename_cp866.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_ustar_filename_eucjp.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_ustar_filename_koi8r.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_cp866.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_cp932.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_koi8r.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_utf8_jp.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_utf8_ru.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_filename_utf8_ru2.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_length_at_end.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_symlink.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_format_zip_ux.zip.uu   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_read_truncated_filter.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_sparse_basic.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_ustar_filename_encoding.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_compress_lzip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_disk_lookup.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_7zip.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_gnutar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_iso9660.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_iso9660_boot.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_iso9660_empty.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_iso9660_filename.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_iso9660_zisofs.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_mtree_fflags.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_tar_sparse.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_xar.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_write_format_xar_empty.c   (contents, props changed)
  vendor/libarchive/dist/libarchive/test/test_zip_filename_encoding.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_C_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_H_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_L_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_O_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_U_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_X_upper.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_b.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_exclude.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_gid_gname.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_k.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_keep_newer_files.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_keep_newer_files.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_n.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_newer_than.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_s.tar.Z.uu   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_option_uid_uname.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_print_longpath.c   (contents, props changed)
  vendor/libarchive/dist/tar/test/test_print_longpath.tar.Z.uu   (contents, props changed)
Deleted:
  vendor/libarchive/dist/build/cmake/AddTest28.cmake
  vendor/libarchive/dist/examples/minitar/tree.c
  vendor/libarchive/dist/examples/minitar/tree.h
  vendor/libarchive/dist/libarchive/archive_hash.h
  vendor/libarchive/dist/libarchive/archive_read_disk.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_all.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_bzip2.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_compress.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_gzip.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_none.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_program.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_rpm.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_uu.c
  vendor/libarchive/dist/libarchive/archive_read_support_compression_xz.c
  vendor/libarchive/dist/libarchive/archive_write_disk.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_bzip2.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_compress.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_gzip.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_none.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_program.c
  vendor/libarchive/dist/libarchive/archive_write_set_compression_xz.c
  vendor/libarchive/dist/libarchive/test/test_acl_basic.c
Modified:
  vendor/libarchive/dist/CMakeLists.txt
  vendor/libarchive/dist/COPYING
  vendor/libarchive/dist/INSTALL
  vendor/libarchive/dist/Makefile.am
  vendor/libarchive/dist/NEWS
  vendor/libarchive/dist/README
  vendor/libarchive/dist/build/autogen.sh
  vendor/libarchive/dist/build/clean.sh
  vendor/libarchive/dist/build/cmake/FindLZMA.cmake
  vendor/libarchive/dist/build/cmake/config.h.in
  vendor/libarchive/dist/build/pkgconfig/libarchive.pc.in
  vendor/libarchive/dist/build/version
  vendor/libarchive/dist/configure.ac
  vendor/libarchive/dist/contrib/README
  vendor/libarchive/dist/contrib/libarchive.1aix53.spec
  vendor/libarchive/dist/contrib/libarchive.spec
  vendor/libarchive/dist/contrib/psota-benchmark/results.txt
  vendor/libarchive/dist/contrib/psota-benchmark/tcp.sh
  vendor/libarchive/dist/contrib/shar/shar.c
  vendor/libarchive/dist/contrib/untar.c
  vendor/libarchive/dist/cpio/bsdcpio.1
  vendor/libarchive/dist/cpio/cmdline.c
  vendor/libarchive/dist/cpio/cpio.c
  vendor/libarchive/dist/cpio/cpio.h
  vendor/libarchive/dist/cpio/test/CMakeLists.txt
  vendor/libarchive/dist/cpio/test/main.c
  vendor/libarchive/dist/cpio/test/test.h
  vendor/libarchive/dist/cpio/test/test_0.c
  vendor/libarchive/dist/cpio/test/test_basic.c
  vendor/libarchive/dist/cpio/test/test_format_newc.c
  vendor/libarchive/dist/cpio/test/test_option_c.c
  vendor/libarchive/dist/cpio/test/test_option_t.c
  vendor/libarchive/dist/cpio/test/test_option_u.c
  vendor/libarchive/dist/cpio/test/test_owner_parse.c
  vendor/libarchive/dist/doc/mdoc2wiki.awk
  vendor/libarchive/dist/examples/minitar/Makefile
  vendor/libarchive/dist/examples/minitar/minitar.c
  vendor/libarchive/dist/examples/tarfilter.c
  vendor/libarchive/dist/examples/untar.c
  vendor/libarchive/dist/libarchive/CMakeLists.txt
  vendor/libarchive/dist/libarchive/archive.h
  vendor/libarchive/dist/libarchive/archive_check_magic.c
  vendor/libarchive/dist/libarchive/archive_crc32.h
  vendor/libarchive/dist/libarchive/archive_entry.3
  vendor/libarchive/dist/libarchive/archive_entry.c
  vendor/libarchive/dist/libarchive/archive_entry.h
  vendor/libarchive/dist/libarchive/archive_entry_copy_bhfi.c
  vendor/libarchive/dist/libarchive/archive_entry_copy_stat.c
  vendor/libarchive/dist/libarchive/archive_entry_link_resolver.c
  vendor/libarchive/dist/libarchive/archive_entry_private.h
  vendor/libarchive/dist/libarchive/archive_entry_stat.c
  vendor/libarchive/dist/libarchive/archive_private.h
  vendor/libarchive/dist/libarchive/archive_read.3
  vendor/libarchive/dist/libarchive/archive_read.c
  vendor/libarchive/dist/libarchive/archive_read_data_into_fd.c
  vendor/libarchive/dist/libarchive/archive_read_disk.3
  vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c
  vendor/libarchive/dist/libarchive/archive_read_disk_private.h
  vendor/libarchive/dist/libarchive/archive_read_disk_set_standard_lookup.c
  vendor/libarchive/dist/libarchive/archive_read_extract.c
  vendor/libarchive/dist/libarchive/archive_read_open_fd.c
  vendor/libarchive/dist/libarchive/archive_read_open_file.c
  vendor/libarchive/dist/libarchive/archive_read_open_filename.c
  vendor/libarchive/dist/libarchive/archive_read_open_memory.c
  vendor/libarchive/dist/libarchive/archive_read_private.h
  vendor/libarchive/dist/libarchive/archive_read_support_format_all.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_ar.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_cpio.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_empty.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_iso9660.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_mtree.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_raw.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_tar.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_xar.c
  vendor/libarchive/dist/libarchive/archive_read_support_format_zip.c
  vendor/libarchive/dist/libarchive/archive_string.c
  vendor/libarchive/dist/libarchive/archive_string.h
  vendor/libarchive/dist/libarchive/archive_string_sprintf.c
  vendor/libarchive/dist/libarchive/archive_util.3
  vendor/libarchive/dist/libarchive/archive_util.c
  vendor/libarchive/dist/libarchive/archive_virtual.c
  vendor/libarchive/dist/libarchive/archive_windows.c
  vendor/libarchive/dist/libarchive/archive_windows.h
  vendor/libarchive/dist/libarchive/archive_write.3
  vendor/libarchive/dist/libarchive/archive_write.c
  vendor/libarchive/dist/libarchive/archive_write_disk.3
  vendor/libarchive/dist/libarchive/archive_write_disk_set_standard_lookup.c
  vendor/libarchive/dist/libarchive/archive_write_open_filename.c
  vendor/libarchive/dist/libarchive/archive_write_open_memory.c
  vendor/libarchive/dist/libarchive/archive_write_private.h
  vendor/libarchive/dist/libarchive/archive_write_set_format.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_ar.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_by_name.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_cpio.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_cpio_newc.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_mtree.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_pax.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_shar.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_ustar.c
  vendor/libarchive/dist/libarchive/archive_write_set_format_zip.c
  vendor/libarchive/dist/libarchive/config_freebsd.h
  vendor/libarchive/dist/libarchive/filter_fork_windows.c
  vendor/libarchive/dist/libarchive/libarchive-formats.5
  vendor/libarchive/dist/libarchive/libarchive.3
  vendor/libarchive/dist/libarchive/libarchive_internals.3
  vendor/libarchive/dist/libarchive/tar.5
  vendor/libarchive/dist/libarchive/test/CMakeLists.txt
  vendor/libarchive/dist/libarchive/test/main.c
  vendor/libarchive/dist/libarchive/test/read_open_memory.c
  vendor/libarchive/dist/libarchive/test/test.h
  vendor/libarchive/dist/libarchive/test/test_acl_freebsd.c
  vendor/libarchive/dist/libarchive/test/test_acl_pax.c
  vendor/libarchive/dist/libarchive/test/test_archive_api_feature.c
  vendor/libarchive/dist/libarchive/test/test_bad_fd.c
  vendor/libarchive/dist/libarchive/test/test_compat_bzip2.c
  vendor/libarchive/dist/libarchive/test/test_compat_cpio.c
  vendor/libarchive/dist/libarchive/test/test_compat_gtar.c
  vendor/libarchive/dist/libarchive/test/test_compat_gzip.c
  vendor/libarchive/dist/libarchive/test/test_compat_lzma.c
  vendor/libarchive/dist/libarchive/test/test_compat_solaris_tar_acl.c
  vendor/libarchive/dist/libarchive/test/test_compat_tar_hardlink.c
  vendor/libarchive/dist/libarchive/test/test_compat_xz.c
  vendor/libarchive/dist/libarchive/test/test_compat_zip.c
  vendor/libarchive/dist/libarchive/test/test_compat_zip_2.zip.uu
  vendor/libarchive/dist/libarchive/test/test_empty_write.c
  vendor/libarchive/dist/libarchive/test/test_entry.c
  vendor/libarchive/dist/libarchive/test/test_extattr_freebsd.c
  vendor/libarchive/dist/libarchive/test/test_fuzz.c
  vendor/libarchive/dist/libarchive/test/test_open_failure.c
  vendor/libarchive/dist/libarchive/test/test_open_fd.c
  vendor/libarchive/dist/libarchive/test/test_open_file.c
  vendor/libarchive/dist/libarchive/test/test_open_filename.c
  vendor/libarchive/dist/libarchive/test/test_pax_filename_encoding.c
  vendor/libarchive/dist/libarchive/test/test_read_compress_program.c
  vendor/libarchive/dist/libarchive/test/test_read_data_large.c
  vendor/libarchive/dist/libarchive/test/test_read_disk.c
  vendor/libarchive/dist/libarchive/test/test_read_disk_entry_from_file.c
  vendor/libarchive/dist/libarchive/test/test_read_extract.c
  vendor/libarchive/dist/libarchive/test/test_read_file_nonexistent.c
  vendor/libarchive/dist/libarchive/test/test_read_format_ar.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_Z.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_be.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_gz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_lzma.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_bin_xz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_odc.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_svr4_gzip.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c
  vendor/libarchive/dist/libarchive/test/test_read_format_cpio_svr4c_Z.c
  vendor/libarchive/dist/libarchive/test/test_read_format_empty.c
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_gz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_lzma.c
  vendor/libarchive/dist/libarchive/test/test_read_format_gtar_sparse.c
  vendor/libarchive/dist/libarchive/test/test_read_format_iso_Z.c
  vendor/libarchive/dist/libarchive/test/test_read_format_iso_multi_extent.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isojoliet_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isojoliet_long.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isojoliet_rr.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isorr_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isorr_ce.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isorr_new_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isorr_rr_moved.c
  vendor/libarchive/dist/libarchive/test/test_read_format_isozisofs_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_mtree.c
  vendor/libarchive/dist/libarchive/test/test_read_format_mtree.mtree.uu
  vendor/libarchive/dist/libarchive/test/test_read_format_pax_bz2.c
  vendor/libarchive/dist/libarchive/test/test_read_format_raw.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tar.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tar_empty_filename.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tbz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tgz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tlz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_txz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_tz.c
  vendor/libarchive/dist/libarchive/test/test_read_format_xar.c
  vendor/libarchive/dist/libarchive/test/test_read_format_zip.c
  vendor/libarchive/dist/libarchive/test/test_read_format_zip.zip.uu
  vendor/libarchive/dist/libarchive/test/test_read_large.c
  vendor/libarchive/dist/libarchive/test/test_read_pax_truncated.c
  vendor/libarchive/dist/libarchive/test/test_read_position.c
  vendor/libarchive/dist/libarchive/test/test_read_truncated.c
  vendor/libarchive/dist/libarchive/test/test_read_uu.c
  vendor/libarchive/dist/libarchive/test/test_tar_filenames.c
  vendor/libarchive/dist/libarchive/test/test_tar_large.c
  vendor/libarchive/dist/libarchive/test/test_ustar_filenames.c
  vendor/libarchive/dist/libarchive/test/test_write_compress.c
  vendor/libarchive/dist/libarchive/test/test_write_compress_bzip2.c
  vendor/libarchive/dist/libarchive/test/test_write_compress_gzip.c
  vendor/libarchive/dist/libarchive/test/test_write_compress_lzma.c
  vendor/libarchive/dist/libarchive/test/test_write_compress_program.c
  vendor/libarchive/dist/libarchive/test/test_write_compress_xz.c
  vendor/libarchive/dist/libarchive/test/test_write_disk.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_failures.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_hardlink.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_perms.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_secure.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_sparse.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_symlink.c
  vendor/libarchive/dist/libarchive/test/test_write_disk_times.c
  vendor/libarchive/dist/libarchive/test/test_write_format_ar.c
  vendor/libarchive/dist/libarchive/test/test_write_format_cpio.c
  vendor/libarchive/dist/libarchive/test/test_write_format_cpio_empty.c
  vendor/libarchive/dist/libarchive/test/test_write_format_cpio_newc.c
  vendor/libarchive/dist/libarchive/test/test_write_format_cpio_odc.c
  vendor/libarchive/dist/libarchive/test/test_write_format_mtree.c
  vendor/libarchive/dist/libarchive/test/test_write_format_pax.c
  vendor/libarchive/dist/libarchive/test/test_write_format_shar_empty.c
  vendor/libarchive/dist/libarchive/test/test_write_format_tar.c
  vendor/libarchive/dist/libarchive/test/test_write_format_tar_empty.c
  vendor/libarchive/dist/libarchive/test/test_write_format_tar_ustar.c
  vendor/libarchive/dist/libarchive/test/test_write_format_zip.c
  vendor/libarchive/dist/libarchive/test/test_write_format_zip_empty.c
  vendor/libarchive/dist/libarchive/test/test_write_format_zip_no_compression.c
  vendor/libarchive/dist/libarchive/test/test_write_open_memory.c
  vendor/libarchive/dist/libarchive_fe/line_reader.c
  vendor/libarchive/dist/libarchive_fe/matching.c
  vendor/libarchive/dist/libarchive_fe/pathmatch.c
  vendor/libarchive/dist/tar/CMakeLists.txt
  vendor/libarchive/dist/tar/bsdtar.1
  vendor/libarchive/dist/tar/bsdtar.c
  vendor/libarchive/dist/tar/bsdtar.h
  vendor/libarchive/dist/tar/bsdtar_platform.h
  vendor/libarchive/dist/tar/bsdtar_windows.h
  vendor/libarchive/dist/tar/cmdline.c
  vendor/libarchive/dist/tar/getdate.c
  vendor/libarchive/dist/tar/read.c
  vendor/libarchive/dist/tar/subst.c
  vendor/libarchive/dist/tar/test/CMakeLists.txt
  vendor/libarchive/dist/tar/test/main.c
  vendor/libarchive/dist/tar/test/test.h
  vendor/libarchive/dist/tar/test/test_0.c
  vendor/libarchive/dist/tar/test/test_basic.c
  vendor/libarchive/dist/tar/test/test_option_T_upper.c
  vendor/libarchive/dist/tar/test/test_option_q.c
  vendor/libarchive/dist/tar/test/test_option_r.c
  vendor/libarchive/dist/tar/test/test_option_s.c
  vendor/libarchive/dist/tar/test/test_patterns.c
  vendor/libarchive/dist/tar/test/test_strip_components.c
  vendor/libarchive/dist/tar/test/test_symlink_dir.c
  vendor/libarchive/dist/tar/tree.c
  vendor/libarchive/dist/tar/util.c
  vendor/libarchive/dist/tar/write.c

Modified: vendor/libarchive/dist/CMakeLists.txt
==============================================================================
--- vendor/libarchive/dist/CMakeLists.txt	Wed Feb  8 12:52:01 2012	(r231199)
+++ vendor/libarchive/dist/CMakeLists.txt	Wed Feb  8 12:53:14 2012	(r231200)
@@ -2,11 +2,16 @@
 #
 PROJECT(libarchive C)
 #
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
 SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake")
 if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin)
 endif()
+SET(CMAKE_BUILD_TYPE "Release")
+
+# On MacOS, prefer MacPorts libraries to system libraries.
+# I haven't come up with a compelling argument for this to be conditional.
+list(APPEND CMAKE_PREFIX_PATH /opt/local)
 
 #
 # Version - read from 'version' file.
@@ -21,41 +26,52 @@ STRING(REGEX REPLACE
 STRING(REGEX REPLACE
  "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9]([a-z]?)$" "\\1" _quality ${_version})
 SET(_version_number ${_major}${_minor}${_revision})
-STRING(REGEX REPLACE "[0]*([^0][0-9]*)$" "\\1" _minor ${_minor})
-STRING(REGEX REPLACE "[0]*([^0][0-9]*)$" "\\1" _revision ${_revision})
+STRING(REGEX REPLACE "[0]*([^0]*[0-9])$" "\\1" _trimmed_minor ${_minor})
+STRING(REGEX REPLACE "[0]*([^0]*[0-9])$" "\\1" _trimmed_revision ${_revision})
 #
-SET(VERSION                    "${_major}.${_minor}.${_revision}${_quality}")
+SET(VERSION                    "${_major}.${_trimmed_minor}.${_trimmed_revision}${_quality}")
 SET(BSDCPIO_VERSION_STRING     "${VERSION}")
 SET(BSDTAR_VERSION_STRING      "${VERSION}")
 SET(LIBARCHIVE_VERSION_NUMBER  "${_version_number}")
 SET(LIBARCHIVE_VERSION_STRING  "${VERSION}")
-# Shared library number
-SET(SOVERSION                   8)
+
+# INTERFACE_VERSION increments with every release
+# libarchive 2.7 == interface version 9 = 2 + 7 
+# libarchive 2.8 == interface version 10 = 2 + 8
+# libarchive 2.9 == interface version 11 = 2 + 9
+# libarchive 3.0 == interface version 12
+# libarchive 3.x == interface version 12 + x
+math(EXPR INTERFACE_VERSION  "12 + ${_minor}")
+
+# Set SOVERSION == Interface version
+# ?? Should there be more here ??
+SET(SOVERSION "${INTERFACE_VERSION}")
+
+# Especially for early development, we want to be a little
+# aggressive about diagnosing build problems; this can get
+# relaxed somewhat in final shipping versions.
+IF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
+  ADD_DEFINITIONS(-Wall)
+  SET(CMAKE_REQUIRED_FLAGS "-Wall")
+ENDIF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
 
 # Enable CTest/CDash support
 include(CTest)
 
-# Provide ADD_TEST_28 macro to approximate CMake 2.8 ADD_TEST(NAME).
-# TODO: Require CMake 2.8 and drop this workaround (perhaps late 2010).
-INCLUDE(AddTest28)
-
+OPTION(ENABLE_NETTLE "Enable use of Nettle" ON)
 OPTION(ENABLE_OPENSSL "Enable use of OpenSSL" ON)
 OPTION(ENABLE_TAR "Enable tar building" ON)
-OPTION(ENABLE_TAR_SHARED "Enable dynamic build of tar" OFF)
+OPTION(ENABLE_TAR_SHARED "Enable dynamic build of tar" FALSE)
 OPTION(ENABLE_CPIO "Enable cpio building" ON)
-OPTION(ENABLE_CPIO_SHARED "Enable dynamic build of cpio" OFF)
+OPTION(ENABLE_CPIO_SHARED "Enable dynamic build of cpio" FALSE)
 OPTION(ENABLE_XATTR "Enable extended attribute support" ON)
 OPTION(ENABLE_ACL "Enable ACL support" ON)
+OPTION(ENABLE_ICONV "Enable iconv support" ON)
 OPTION(ENABLE_TEST "Enable unit and regression tests" ON)
 
 IF(ENABLE_TEST)
 	ENABLE_TESTING()
 ENDIF(ENABLE_TEST)
-IF(WIN32 AND NOT CYGWIN)
-  # Currently, dynamic build only.
-  SET(ENABLE_TAR_SHARED ON)
-  SET(ENABLE_CPIO_SHARED ON)
-ENDIF(WIN32 AND NOT CYGWIN)
 
 IF(WIN32)
   SET(_WIN32_WINNT 0x0500 CACHE INTERNAL "Setting _WIN32_WINNT to 0x0500 for Windows 2000 APIs")
@@ -63,6 +79,7 @@ IF(WIN32)
 ENDIF(WIN32)
 
 #
+INCLUDE(CheckCSourceCompiles)
 INCLUDE(CheckCSourceRuns)
 INCLUDE(CheckFileOffsetBits)
 INCLUDE(CheckFuncs)
@@ -185,18 +202,11 @@ IF(LZMA_FOUND)
   SET(HAVE_LZMA_H 1)
   INCLUDE_DIRECTORIES(${LZMA_INCLUDE_DIR})
   LIST(APPEND ADDITIONAL_LIBS ${LZMA_LIBRARIES})
-  MARK_AS_ADVANCED(CLEAR LZMA_INCLUDE_DIR)
-  MARK_AS_ADVANCED(CLEAR LZMA_LIBRARY)
 ELSEIF(LZMADEC_FOUND)
   SET(HAVE_LIBLZMADEC 1)
   SET(HAVE_LZMADEC_H 1)
   INCLUDE_DIRECTORIES(${LZMADEC_INCLUDE_DIR})
   LIST(APPEND ADDITIONAL_LIBS ${LZMADEC_LIBRARIES})
-  MARK_AS_ADVANCED(CLEAR LZMADEC_INCLUDE_DIR)
-  MARK_AS_ADVANCED(CLEAR LZMADEC_LIBRARY)
-ELSE(LZMA_FOUND)
-  MARK_AS_ADVANCED(CLEAR LZMA_INCLUDE_DIR)
-  MARK_AS_ADVANCED(CLEAR LZMA_LIBRARY)
 ENDIF(LZMA_FOUND)
 
 #
@@ -218,17 +228,25 @@ LA_CHECK_INCLUDE_FILE("sys/types.h" HAVE
 # Alphabetize the rest unless there's a compelling reason
 LA_CHECK_INCLUDE_FILE("acl/libacl.h" HAVE_ACL_LIBACL_H)
 LA_CHECK_INCLUDE_FILE("ctype.h" HAVE_CTYPE_H)
+LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
 LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
 LA_CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
 LA_CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H)
 LA_CHECK_INCLUDE_FILE("ext2fs/ext2_fs.h" HAVE_EXT2FS_EXT2_FS_H)
+
+CHECK_C_SOURCE_COMPILES("#include <sys/ioctl.h>
+#include <ext2fs/ext2_fs.h>
+int main(void) { return EXT2_IOC_GETFLAGS; }" HAVE_WORKING_EXT2_IOC_GETFLAGS)
+
 LA_CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
 LA_CHECK_INCLUDE_FILE("grp.h" HAVE_GRP_H)
 LA_CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
 LA_CHECK_INCLUDE_FILE("io.h" HAVE_IO_H)
 LA_CHECK_INCLUDE_FILE("langinfo.h" HAVE_LANGINFO_H)
 LA_CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H)
+LA_CHECK_INCLUDE_FILE("linux/fiemap.h" HAVE_LINUX_FIEMAP_H)
 LA_CHECK_INCLUDE_FILE("linux/fs.h" HAVE_LINUX_FS_H)
+LA_CHECK_INCLUDE_FILE("linux/magic.h" HAVE_LINUX_MAGIC_H)
 LA_CHECK_INCLUDE_FILE("locale.h" HAVE_LOCALE_H)
 LA_CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H)
 LA_CHECK_INCLUDE_FILE("paths.h" HAVE_PATHS_H)
@@ -246,12 +264,17 @@ LA_CHECK_INCLUDE_FILE("sys/acl.h" HAVE_S
 LA_CHECK_INCLUDE_FILE("sys/cdefs.h" HAVE_SYS_CDEFS_H)
 LA_CHECK_INCLUDE_FILE("sys/ioctl.h" HAVE_SYS_IOCTL_H)
 LA_CHECK_INCLUDE_FILE("sys/mkdev.h" HAVE_SYS_MKDEV_H)
+LA_CHECK_INCLUDE_FILE("sys/mount.h" HAVE_SYS_MOUNT_H)
 LA_CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H)
 LA_CHECK_INCLUDE_FILE("sys/poll.h" HAVE_SYS_POLL_H)
 LA_CHECK_INCLUDE_FILE("sys/select.h" HAVE_SYS_SELECT_H)
 LA_CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
+LA_CHECK_INCLUDE_FILE("sys/statfs.h" HAVE_SYS_STATFS_H)
+LA_CHECK_INCLUDE_FILE("sys/statvfs.h" HAVE_SYS_STATVFS_H)
 LA_CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H)
 LA_CHECK_INCLUDE_FILE("sys/utime.h" HAVE_SYS_UTIME_H)
+LA_CHECK_INCLUDE_FILE("sys/utsname.h" HAVE_SYS_UTSNAME_H)
+LA_CHECK_INCLUDE_FILE("sys/vfs.h" HAVE_SYS_VFS_H)
 LA_CHECK_INCLUDE_FILE("sys/wait.h" HAVE_SYS_WAIT_H)
 LA_CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H)
 LA_CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
@@ -259,17 +282,47 @@ LA_CHECK_INCLUDE_FILE("utime.h" HAVE_UTI
 LA_CHECK_INCLUDE_FILE("wchar.h" HAVE_WCHAR_H)
 LA_CHECK_INCLUDE_FILE("wctype.h" HAVE_WCTYPE_H)
 LA_CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H)
-
-
-#
-# Some headers require extra includes when they're available.
-#
+# Following files need windwos.h, so we should test it after windows.h test.
+LA_CHECK_INCLUDE_FILE("wincrypt.h" HAVE_WINCRYPT_H)
+LA_CHECK_INCLUDE_FILE("winioctl.h" HAVE_WINIOCTL_H)
+
+#
+# Check whether use of __EXTENSIONS__ is safe.
+# We need some macro such as _GNU_SOURCE to use extension functions.
+#
+SET(_INCLUDE_FILES)
+FOREACH (it ${_HEADER})
+   SET(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
+ENDFOREACH (it)
+
+CHECK_C_SOURCE_COMPILES(
+  "#define __EXTENSIONS__ 1
+   ${_INCLUDE_FILES}
+   int main() { return 0;}"
+ SAFE_TO_DEFINE_EXTENSIONS)
+
+#
+# Find Nettle
+#
+IF(ENABLE_NETTLE)
+  CHECK_LIBRARY_EXISTS(nettle "nettle_sha1_digest" "" NETTLE_FOUND)
+  IF(NETTLE_FOUND)
+    SET(CMAKE_REQUIRED_LIBRARIES "nettle")
+    FIND_LIBRARY(NETTLE_LIBRARY NAMES nettle)
+    LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARY})
+  ELSE(NETTLE_FOUND)
+    SET(ENABLE_NETTLE OFF)
+  ENDIF(NETTLE_FOUND)
+ENDIF(ENABLE_NETTLE)
 
 #
 # Find OpenSSL
+# (Except on Mac, where OpenSSL is deprecated.)
 #
-IF(ENABLE_OPENSSL)
+IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
   FIND_PACKAGE(OpenSSL)
+ELSE()
+  SET(OPENSSL_FOUND FALSE) # Override cached value
 ENDIF()
 
 # FreeBSD libmd
@@ -281,126 +334,134 @@ IF(LIBMD_FOUND)
 ENDIF(LIBMD_FOUND)
 
 #
-# How to prove that HASH functions, which have several names on various
-# platforms, can be mapped to archive_{hash name}_init,
-# archive_{hash name}_update and archive_{hash name}_final through
-# archive_hash.h
+# How to prove that CRYPTO functions, which have several names on various
+# platforms, just see if archive_crypto.c can compile and link against
+# required libraries.
 #
-MACRO(CHECK_MD HASH IMPLEMENTATIONS)
+MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION)
     IF(HAVE_SYS_TYPES_H)
-        SET(HASH_HEADER_CONFIG "#define HAVE_SYS_TYPES_H 1\n")
+        SET(CRYPTO_HEADER_CONFIG "#define HAVE_SYS_TYPES_H 1\n")
     ELSE(HAVE_SYS_TYPES_H)
-        SET(HASH_HEADER_CONFIG "")
+        SET(CRYPTO_HEADER_CONFIG "")
     ENDIF(HAVE_SYS_TYPES_H)
 
-    FOREACH(IMPLEMENTATION ${IMPLEMENTATIONS})
-      IF(NOT DEFINED ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-	STRING(TOLOWER "${HASH}" lower_hash)
-	STRING(TOUPPER "${HASH}" hash)
-
-	SET(HASH_REQUIRED_INCLUDES)
-	SET(TRY_HASH_REQUIRED_INCLUDES
-	  "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_CURRENT_SOURCE_DIR}/libarchive")
-	SET(HASH_REQUIRED_LIBS)
-	SET(TRY_HASH_REQUIRED_LIBS)
+    FOREACH(ALGORITHM ${ALGORITHMS})
+      STRING(TOLOWER "${ALGORITHM}" lower_algorithm)
+      STRING(TOUPPER "${ALGORITHM}" algorithm)
+      IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND)
+        SET(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} FALSE)
+      ELSEIF("${IMPLEMENTATION}" MATCHES "^NETTLE$" AND NOT NETTLE_FOUND)
+        SET(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} FALSE)
+      ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND)
+
+      IF(NOT DEFINED ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+        # Probe the local implementation for whether this
+	# crypto implementation is available on this platform.
+	SET(TRY_CRYPTO_REQUIRED_INCLUDES
+	  "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_CURRENT_SOURCE_DIR}/libarchive;${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp")
+	SET(TRY_CRYPTO_REQUIRED_LIBS)
 	IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
-	    SET(HASH_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
-	    SET(TRY_HASH_REQUIRED_INCLUDES
-	      "${TRY_HASH_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}")
-	    SET(HASH_REQUIRED_LIBS ${OPENSSL_LIBRARIES})
-	    SET(TRY_HASH_REQUIRED_LIBS
+	    SET(TRY_CRYPTO_REQUIRED_INCLUDES
+	      "${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}")
+	    SET(TRY_CRYPTO_REQUIRED_LIBS
 	        "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}")
+	ELSEIF("${IMPLEMENTATION}" MATCHES "^NETTLE$" AND NETTLE_FOUND)
+	    SET(TRY_CRYPTO_REQUIRED_LIBS
+	        "-DLINK_LIBRARIES:STRING=${NETTLE_LIBRARY}")
 	ELSEIF("${IMPLEMENTATION}" MATCHES "^LIBMD$" AND LIBMD_FOUND)
-	    SET(TRY_HASH_REQUIRED_LIBS
+	    SET(TRY_CRYPTO_REQUIRED_LIBS
 	        "-DLINK_LIBRARIES:STRING=${LIBMD_LIBRARY}")
-	ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+	ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+
+	FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/libarchive/archive_crypto.c"
+	     ARCHIVE_CRYPTO_C)
 
-	SET(SOURCE "#define ${hash}_COMPILE_TEST
-#define ARCHIVE_HASH_${hash}_${IMPLEMENTATION}
-#define __LIBARCHIVE_BUILD
-${HASH_HEADER_CONFIG}
-#include \"archive_hash.h\"
+	SET(SOURCE "
+#define ARCHIVE_${algorithm}_COMPILE_TEST
+#define ARCHIVE_CRYPTO_${algorithm}_${IMPLEMENTATION}
+#define PLATFORM_CONFIG_H \"check_crypto_md.h\"
+
+${ARCHIVE_CRYPTO_C}
 
 int
 main(int argc, char **argv)
 {
-	archive_${lower_hash}_ctx ctx;
-
-	archive_${lower_hash}_init(&ctx);
-	archive_${lower_hash}_update(&ctx, *argv, argc);
-	archive_${lower_hash}_final(&ctx, *argv);
-	return 0;
+  archive_${lower_crypto}_ctx ctx;
+  archive_${lower_crypto}_init(&ctx);
+  archive_${lower_crypto}_update(&ctx, *argv, argc);
+  archive_${lower_crypto}_final(&ctx, NULL);
+  return 0;
 }
 ")
 
-	FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_hash_md.c" "${SOURCE}")
-	MESSAGE(STATUS "Checking support for ARCHIVE_HASH_${HASH}_${IMPLEMENTATION}")
+  FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_crypto_md.h" "")
+	FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_crypto_md.c" "${SOURCE}")
+	MESSAGE(STATUS "Checking support for ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}")
 
-	TRY_COMPILE(ARCHIVE_HASH_${HASH}_${IMPLEMENTATION}
+	TRY_COMPILE(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}
 	  ${CMAKE_BINARY_DIR}
-	  ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_hash_md.c
+	  ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_crypto_md.c
 	  CMAKE_FLAGS
-	   "${TRY_HASH_REQUIRED_LIBS}"
-	   "${TRY_HASH_REQUIRED_INCLUDES}"
+	   "${TRY_CRYPTO_REQUIRED_LIBS}"
+	   "${TRY_CRYPTO_REQUIRED_INCLUDES}"
 	  OUTPUT_VARIABLE OUTPUT)
 
-	IF (ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-	    MESSAGE(STATUS "Checking support for ARCHIVE_HASH_${HASH}_${IMPLEMENTATION} -- found")
-	    IF (HASH_REQUIRED_INCLUDES)
-	        INCLUDE_DIRECTORIES(${HASH_REQUIRED_INCLUDES})
-	    ENDIF (HASH_REQUIRED_INCLUDES)
-	    IF (HASH_REQUIRED_LIBS)
-	        LIST(APPEND ADDITIONAL_LIBS ${HASH_REQUIRED_LIBS})
-	        LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
-	    ENDIF (HASH_REQUIRED_LIBS)
-	    BREAK()
-	ENDIF (ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-
-	MESSAGE(STATUS "Checking support for ARCHIVE_HASH_${HASH}_${IMPLEMENTATION} -- not found")
-    	FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-    	    "Checking support for ARCHIVE_HASH_${HASH}_${IMPLEMENTATION} failed with the following output:\n"
+	# Inform user whether or not we found it; if not, log why we didn't.
+        IF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+          MESSAGE(STATUS "Checking support for ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} -- found")
+        ELSE (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+          MESSAGE(STATUS "Checking support for ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} -- not found")
+          FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+    	    "Checking support for ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} failed with the following output:\n"
     	    "${OUTPUT}\n"
     	    "Source file was:\n${SOURCE}\n")
-      ELSE(NOT DEFINED ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-        IF(ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-           BREAK()
-        ENDIF(ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-      ENDIF(NOT DEFINED ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
-    ENDFOREACH(IMPLEMENTATION)
-ENDMACRO(CHECK_MD HASH IMPLEMENTATIONS)
+        ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+      ENDIF(NOT DEFINED ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
 
-#
-# HASH functions on Windows is defined at archive_windows.c, thus we do not
-# need the test what the functions can be mapped to archive_{hash name}_init,
-# archive_{hash name}_update and archive_{hash name}_final.
-# The functions on Windows use CALG_{hash name} macro to create a crypt object
-# and then we need to know what CALG_{hash name} macros is available to show
-# ARCHIVE_HASH_{hash name}_WIN macros because Windows 2000 and earlier version
+      # Add appropriate libs/includes depending on whether the implementation
+      # was found on this platform.
+      IF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+        IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+          INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
+	  LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES})
+	   LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
+        ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+      ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+    ENDFOREACH(ALGORITHM ${ALGORITHMS})
+ENDMACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION)
+
+#
+# CRYPTO functions on Windows is defined at archive_windows.c, thus we do not
+# need the test what the functions can be mapped to archive_{crypto name}_init,
+# archive_{crypto name}_update and archive_{crypto name}_final.
+# The functions on Windows use CALG_{crypto name} macro to create a crypt object
+# and then we need to know what CALG_{crypto name} macros is available to show
+# ARCHIVE_CRYPTO_{crypto name}_WIN macros because Windows 2000 and earlier version
 # of Windows XP do not support SHA256, SHA384 and SHA512.
 #
-MACRO(CHECK_HASH_WIN HASH_LIST)
+MACRO(CHECK_CRYPTO_WIN CRYPTO_LIST)
   IF(WIN32 AND NOT CYGWIN)
-    FOREACH(HASH ${HASH_LIST})
-      IF(NOT DEFINED ARCHIVE_HASH_${HASH}_WIN)
-	STRING(TOUPPER "${HASH}" hash)
+    FOREACH(CRYPTO ${CRYPTO_LIST})
+      IF(NOT DEFINED ARCHIVE_CRYPTO_${CRYPTO}_WIN)
+	STRING(TOUPPER "${CRYPTO}" crypto)
 	SET(ALGID "")
-	IF ("${HASH}" MATCHES "^MD5$")
+	IF ("${CRYPTO}" MATCHES "^MD5$")
 	    SET(ALGID "CALG_MD5")
-	ENDIF ("${HASH}" MATCHES "^MD5$")
-	IF ("${HASH}" MATCHES "^SHA1$")
+	ENDIF ("${CRYPTO}" MATCHES "^MD5$")
+	IF ("${CRYPTO}" MATCHES "^SHA1$")
 	    SET(ALGID "CALG_SHA1")
-	ENDIF ("${HASH}" MATCHES "^SHA1$")
-	IF ("${HASH}" MATCHES "^SHA256$")
+	ENDIF ("${CRYPTO}" MATCHES "^SHA1$")
+	IF ("${CRYPTO}" MATCHES "^SHA256$")
 	    SET(ALGID "CALG_SHA_256")
-	ENDIF ("${HASH}" MATCHES "^SHA256$")
-	IF ("${HASH}" MATCHES "^SHA384$")
+	ENDIF ("${CRYPTO}" MATCHES "^SHA256$")
+	IF ("${CRYPTO}" MATCHES "^SHA384$")
 	    SET(ALGID "CALG_SHA_384")
-	ENDIF ("${HASH}" MATCHES "^SHA384$")
-	IF ("${HASH}" MATCHES "^SHA512$")
+	ENDIF ("${CRYPTO}" MATCHES "^SHA384$")
+	IF ("${CRYPTO}" MATCHES "^SHA512$")
 	    SET(ALGID "CALG_SHA_512")
-	ENDIF ("${HASH}" MATCHES "^SHA512$")
+	ENDIF ("${CRYPTO}" MATCHES "^SHA512$")
 
-	SET(SOURCE "#define ${hash}_COMPILE_TEST
+	SET(SOURCE "#define ${crypto}_COMPILE_TEST
 #define _WIN32_WINNT ${_WIN32_WINNT}
 #define WINVER ${WINVER}
 #include <windows.h>
@@ -412,45 +473,112 @@ main(int argc, char **argv)
 	return ${ALGID};
 }
 ")
-	SET(SOURCE_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_hash_win.c")
+	SET(SOURCE_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_crypto_win.c")
 
 	FILE(WRITE "${SOURCE_FILE}" "${SOURCE}")
-	MESSAGE(STATUS "Checking support for ARCHIVE_HASH_${HASH}_WIN")
+	MESSAGE(STATUS "Checking support for ARCHIVE_CRYPTO_${CRYPTO}_WIN")
 
-	TRY_COMPILE(ARCHIVE_HASH_${HASH}_WIN
+	TRY_COMPILE(ARCHIVE_CRYPTO_${CRYPTO}_WIN
 	  ${CMAKE_BINARY_DIR}
 	  ${SOURCE_FILE}
 	  CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_CURRENT_SOURCE_DIR}/libarchive"
 	  OUTPUT_VARIABLE OUTPUT)
 
-	IF (ARCHIVE_HASH_${HASH}_WIN)
+	IF (ARCHIVE_CRYPTO_${CRYPTO}_WIN)
 	    MESSAGE(STATUS
-	        "Checking support for ARCHIVE_HASH_${HASH}_WIN -- found")
-	ELSE (ARCHIVE_HASH_${HASH}_WIN)
+	        "Checking support for ARCHIVE_CRYPTO_${CRYPTO}_WIN -- found")
+	ELSE (ARCHIVE_CRYPTO_${CRYPTO}_WIN)
 	    MESSAGE(STATUS
-	         "Checking support for ARCHIVE_HASH_${HASH}_WIN -- not found")
+	         "Checking support for ARCHIVE_CRYPTO_${CRYPTO}_WIN -- not found")
     	    FILE(APPEND
 	        ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-                "Checking support for ARCHIVE_HASH_${HASH}_WIN failed with the following output:\n"
+                "Checking support for ARCHIVE_CRYPTO_${CRYPTO}_WIN failed with the following output:\n"
         	"${OUTPUT}\n"
         	"Source file was:\n${SOURCE}\n")
-	ENDIF (ARCHIVE_HASH_${HASH}_WIN)
+	ENDIF (ARCHIVE_CRYPTO_${CRYPTO}_WIN)
 
-      ENDIF(NOT DEFINED ARCHIVE_HASH_${HASH}_WIN)
-    ENDFOREACH(HASH)
+      ENDIF(NOT DEFINED ARCHIVE_CRYPTO_${CRYPTO}_WIN)
+    ENDFOREACH(CRYPTO)
   ENDIF(WIN32 AND NOT CYGWIN)
-ENDMACRO(CHECK_HASH_WIN HASH_LIST)
+ENDMACRO(CHECK_CRYPTO_WIN CRYPTO_LIST)
 
 #
-# Check MD5/RMD160/SHA support
-#
-CHECK_MD(MD5 "LIBC;LIBMD;LIBSYSTEM;OPENSSL")
-CHECK_MD(RMD160 "LIBC;OPENSSL")
-CHECK_MD(SHA1 "LIBC;LIBMD;LIBSYSTEM;OPENSSL")
-CHECK_MD(SHA256 "LIBC;LIBC2;LIBC3;LIBMD;LIBSYSTEM;OPENSSL")
-CHECK_MD(SHA384 "LIBC;LIBC2;LIBC3;LIBSYSTEM;OPENSSL")
-CHECK_MD(SHA512 "LIBC;LIBC2;LIBC3;LIBMD;LIBSYSTEM;OPENSSL")
-CHECK_HASH_WIN("MD5;SHA1;SHA256;SHA384;SHA512")
+# Find iconv
+# POSIX defines the second arg as const char **
+# and requires it to be in libc.  But we can accept
+# a non-const argument here and can support iconv()
+# being in libiconv.
+#
+MACRO(CHECK_ICONV LIB TRY_ICONV_CONST)
+  IF(NOT HAVE_ICONV)
+    CHECK_C_SOURCE_COMPILES(
+      "#include <stdlib.h>
+       #include <iconv.h>
+       int main() {
+          ${TRY_ICONV_CONST} char *ccp;
+          iconv_t cd = iconv_open(\"\", \"\");
+          iconv(cd, &ccp, (size_t *)0, (char **)0, (size_t *)0);
+          iconv_close(cd);
+          return 0;
+       }"
+     HAVE_ICONV_${LIB}_${TRY_ICONV_CONST})
+    IF(HAVE_ICONV_${LIB}_${TRY_ICONV_CONST})
+      SET(HAVE_ICONV true)
+      SET(ICONV_CONST ${TRY_ICONV_CONST})
+    ENDIF(HAVE_ICONV_${LIB}_${TRY_ICONV_CONST})
+  ENDIF(NOT HAVE_ICONV)
+ENDMACRO(CHECK_ICONV TRY_ICONV_CONST)
+
+IF(ENABLE_ICONV)
+  FIND_PATH(ICONV_INCLUDE_DIR iconv.h)
+  IF(ICONV_INCLUDE_DIR)
+    #SET(INCLUDES ${INCLUDES} "iconv.h")
+    SET(HAVE_ICONV_H 1)
+    INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
+    SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
+    CHECK_ICONV("libc" "const")
+    CHECK_ICONV("libc" "")
+
+    # If iconv isn't in libc and we have a libiconv, try that.
+    FIND_LIBRARY(LIBICONV_PATH iconv)
+    IF(NOT HAVE_ICONV AND LIBICONV_PATH)
+      LIST(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBICONV_PATH})
+      CHECK_ICONV("libiconv" "const")
+      CHECK_ICONV("libiconv" "")
+      IF (HAVE_ICONV)
+        LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH})
+      ENDIF(HAVE_ICONV)
+    ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH)
+  ENDIF(ICONV_INCLUDE_DIR)
+  #
+  # Find locale_charset() for libiconv.
+  #
+  IF(LIBICONV_PATH)
+    CHECK_INCLUDE_FILES("localcharset.h" HAVE_LOCALCHARSET_H)
+    CHECK_FUNCTION_EXISTS_GLIBC(locale_charset HAVE_LOCALE_CHARSET)
+    IF(NOT HAVE_LOCALE_CHARSET)
+      FIND_LIBRARY(LIBCHARSET_PATH charset)
+      IF(LIBCHARSET_PATH)
+        SET(CMAKE_REQUIRED_LIBRARIES ${LIBCHARSET_PATH})
+        CHECK_FUNCTION_EXISTS_GLIBC(locale_charset HAVE_LOCALE_CHARSET)
+        IF(HAVE_LOCALE_CHARSET)
+          LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH})
+        ENDIF(HAVE_LOCALE_CHARSET)
+      ENDIF(LIBCHARSET_PATH)
+    ENDIF(NOT HAVE_LOCALE_CHARSET)
+  ENDIF(LIBICONV_PATH)
+ELSE(ENABLE_ICONV)
+  # Make sure ICONV variables are not in CACHE after ENABLE_ICONV disabled
+  # (once enabled).
+  UNSET(HAVE_LOCALE_CHARSET CACHE)
+  UNSET(HAVE_ICONV CACHE)
+  UNSET(HAVE_ICONV_libc_ CACHE)
+  UNSET(HAVE_ICONV_libc_const CACHE)
+  UNSET(HAVE_ICONV_libiconv_ CACHE)
+  UNSET(HAVE_ICONV_libiconv_const CACHE)
+  UNSET(ICONV_INCLUDE_DIR CACHE)
+  UNSET(LIBICONV_PATH CACHE)
+ENDIF(ENABLE_ICONV)
 
 #
 # Find Libxml2
@@ -461,12 +589,9 @@ IF(LIBXML2_FOUND)
   LIST(APPEND ADDITIONAL_LIBS ${LIBXML2_LIBRARIES})
   SET(HAVE_LIBXML2 1)
   # libxml2's include files use iconv.h
-  # We need a directory path of iconv.h so that it won't fail to check
-  # "libxml/xmlreader.h".
-  FIND_PATH(ICONV_INCLUDE_DIR iconv.h)
-  INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
   SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
   CHECK_INCLUDE_FILES("libxml/xmlreader.h" HAVE_LIBXML_XMLREADER_H)
+  CHECK_INCLUDE_FILES("libxml/xmlwriter.h" HAVE_LIBXML_XMLWRITER_H)
   SET(CMAKE_REQUIRED_INCLUDES "")
 ELSE(LIBXML2_FOUND)
   #
@@ -484,39 +609,59 @@ ENDIF(LIBXML2_FOUND)
 #
 # Check functions
 #
-CHECK_SYMBOL_EXISTS(CreateHardLinkA "windows.h" HAVE_CREATEHARDLINKA)
-CHECK_SYMBOL_EXISTS(CreateHardLinkW "windows.h" HAVE_CREATEHARDLINKW)
+IF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
+  #
+  # During checking functions, we should use -fno-builtin to avoid the
+  # failure of function detection which failure is an error "conflicting
+  # types for built-in function" caused by using -Werror option.
+  #
+  SET(SAVE_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-builtin")
+ENDIF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
 CHECK_SYMBOL_EXISTS(_CrtSetReportMode "crtdbg.h" HAVE__CrtSetReportMode)
 CHECK_FUNCTION_EXISTS_GLIBC(chflags HAVE_CHFLAGS)
 CHECK_FUNCTION_EXISTS_GLIBC(chown HAVE_CHOWN)
 CHECK_FUNCTION_EXISTS_GLIBC(chroot HAVE_CHROOT)
+CHECK_FUNCTION_EXISTS_GLIBC(ctime_r HAVE_CTIME_R)
 CHECK_FUNCTION_EXISTS_GLIBC(fchdir HAVE_FCHDIR)
 CHECK_FUNCTION_EXISTS_GLIBC(fchflags HAVE_FCHFLAGS)
 CHECK_FUNCTION_EXISTS_GLIBC(fchmod HAVE_FCHMOD)
 CHECK_FUNCTION_EXISTS_GLIBC(fchown HAVE_FCHOWN)
 CHECK_FUNCTION_EXISTS_GLIBC(fcntl HAVE_FCNTL)
+CHECK_FUNCTION_EXISTS_GLIBC(fdopendir HAVE_FDOPENDIR)
 CHECK_FUNCTION_EXISTS_GLIBC(fork HAVE_FORK)
 CHECK_FUNCTION_EXISTS_GLIBC(fstat HAVE_FSTAT)
+CHECK_FUNCTION_EXISTS_GLIBC(fstatat HAVE_FSTATAT)
+CHECK_FUNCTION_EXISTS_GLIBC(fstatfs HAVE_FSTATFS)
+CHECK_FUNCTION_EXISTS_GLIBC(fstatvfs HAVE_FSTATVFS)
 CHECK_FUNCTION_EXISTS_GLIBC(ftruncate HAVE_FTRUNCATE)
 CHECK_FUNCTION_EXISTS_GLIBC(futimens HAVE_FUTIMENS)
 CHECK_FUNCTION_EXISTS_GLIBC(futimes HAVE_FUTIMES)
+CHECK_FUNCTION_EXISTS_GLIBC(futimesat HAVE_FUTIMESAT)
 CHECK_FUNCTION_EXISTS_GLIBC(geteuid HAVE_GETEUID)
 CHECK_FUNCTION_EXISTS_GLIBC(getgrgid_r HAVE_GETGRGID_R)
 CHECK_FUNCTION_EXISTS_GLIBC(getgrnam_r HAVE_GETGRNAM_R)
 CHECK_FUNCTION_EXISTS_GLIBC(getpwnam_r HAVE_GETPWNAM_R)
 CHECK_FUNCTION_EXISTS_GLIBC(getpwuid_r HAVE_GETPWUID_R)
 CHECK_FUNCTION_EXISTS_GLIBC(getpid HAVE_GETPID)
+CHECK_FUNCTION_EXISTS_GLIBC(getvfsbyname HAVE_GETVFSBYNAME)
+CHECK_FUNCTION_EXISTS_GLIBC(gmtime_r HAVE_GMTIME_R)
 CHECK_FUNCTION_EXISTS_GLIBC(lchflags HAVE_LCHFLAGS)
 CHECK_FUNCTION_EXISTS_GLIBC(lchmod HAVE_LCHMOD)
 CHECK_FUNCTION_EXISTS_GLIBC(lchown HAVE_LCHOWN)
 CHECK_FUNCTION_EXISTS_GLIBC(link HAVE_LINK)
+CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R)
 CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT)
 CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES)
+CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC)
+CHECK_FUNCTION_EXISTS_GLIBC(mbsnrtowcs HAVE_MBSNRTOWCS)
 CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE)
 CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR)
 CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO)
 CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD)
+CHECK_FUNCTION_EXISTS_GLIBC(mkstemp HAVE_MKSTEMP)
 CHECK_FUNCTION_EXISTS_GLIBC(nl_langinfo HAVE_NL_LANGINFO)
+CHECK_FUNCTION_EXISTS_GLIBC(openat HAVE_OPENAT)
 CHECK_FUNCTION_EXISTS_GLIBC(pipe HAVE_PIPE)
 CHECK_FUNCTION_EXISTS_GLIBC(poll HAVE_POLL)
 CHECK_FUNCTION_EXISTS_GLIBC(readlink HAVE_READLINK)
@@ -524,6 +669,8 @@ CHECK_FUNCTION_EXISTS_GLIBC(select HAVE_
 CHECK_FUNCTION_EXISTS_GLIBC(setenv HAVE_SETENV)
 CHECK_FUNCTION_EXISTS_GLIBC(setlocale HAVE_SETLOCALE)
 CHECK_FUNCTION_EXISTS_GLIBC(sigaction HAVE_SIGACTION)
+CHECK_FUNCTION_EXISTS_GLIBC(statfs HAVE_STATFS)
+CHECK_FUNCTION_EXISTS_GLIBC(statvfs HAVE_STATVFS)
 CHECK_FUNCTION_EXISTS_GLIBC(strchr HAVE_STRCHR)
 CHECK_FUNCTION_EXISTS_GLIBC(strdup HAVE_STRDUP)
 CHECK_FUNCTION_EXISTS_GLIBC(strerror HAVE_STRERROR)
@@ -541,19 +688,52 @@ CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE
 CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP)
 CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY)
 CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN)
+CHECK_FUNCTION_EXISTS_GLIBC(wcsnrtombs HAVE_WCSNRTOMBS)
 CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
-CHECK_SYMBOL_EXISTS(wmemcmp "wchar.h" HAVE_WMEMCMP)
-CHECK_SYMBOL_EXISTS(wmemcpy "wchar.h" HAVE_WMEMCPY)
+CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S)
+CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64)
+CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE)
+CHECK_FUNCTION_EXISTS_GLIBC(_localtime64_s HAVE__LOCALTIME64_S)
+CHECK_FUNCTION_EXISTS_GLIBC(_mkgmtime64 HAVE__MKGMTIME64)
 
 SET(CMAKE_REQUIRED_LIBRARIES "")
-CHECK_SYMBOL_EXISTS(fseeko           "stdio.h"    HAVE_FSEEKO)
-CHECK_SYMBOL_EXISTS(strerror_r       "string.h"   HAVE_STRERROR_R)
-CHECK_SYMBOL_EXISTS(strftime         "time.h"     HAVE_STRFTIME)
-CHECK_SYMBOL_EXISTS(vprintf          "stdio.h"    HAVE_VPRINTF)
-CHECK_SYMBOL_EXISTS(cygwin_conv_path "sys/cygwin.h" HAVE_CYGWIN_CONV_PATH)
-
-CHECK_SYMBOL_EXISTS(major            "sys/mkdev.h"     MAJOR_IN_MKDEV)
-CHECK_SYMBOL_EXISTS(major            "sys/sysmacros.h" MAJOR_IN_SYSMACROS)
+CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH)
+CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
+CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R)
+CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME)
+CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
+CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP)
+CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY)
+
+# Restore CMAKE_REQUIRED_FLAGS
+IF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
+  SET(CMAKE_REQUIRED_FLAGS ${SAVE_CMAKE_REQUIRED_FLAGS})
+ENDIF ("CMAKE_C_COMPILER_ID" MATCHES "^GNU$")
+
+# Make sure we have the POSIX version of readdir_r, not the
+# older 2-argument version.
+CHECK_C_SOURCE_COMPILES(
+  "#include <dirent.h>\nint main() {DIR *d = opendir(\".\"); struct dirent e,*r; return readdir_r(d,&e,&r);}"
+  HAVE_READDIR_R)
+
+
+# Only detect readlinkat() if we also have AT_FDCWD in unistd.h.
+# NOTE: linux requires fcntl.h for AT_FDCWD.
+CHECK_C_SOURCE_COMPILES(
+  "#include <fcntl.h>\n#include <unistd.h>\nint main() {char buf[10]; return readlinkat(AT_FDCWD, \"\", buf, 0);}"
+  HAVE_READLINKAT)
+
+
+# To verify major(), we need to both include the header
+# of interest and verify that the result can be linked.
+# CHECK_FUNCTION_EXISTS doesn't accept a header argument,
+# CHECK_SYMBOL_EXISTS doesn't test linkage.
+CHECK_C_SOURCE_COMPILES(
+  "#include <sys/mkdev.h>\nint main() { return major(256); }"
+  MAJOR_IN_MKDEV)
+CHECK_C_SOURCE_COMPILES(
+  "#include <sys/sysmacros.h>\nint main() { return major(256); }"
+  MAJOR_IN_SYSMACROS)
 
 IF(HAVE_STRERROR_R)
   SET(HAVE_DECL_STRERROR_R 1)
@@ -572,8 +752,6 @@ ENDIF(HAVE_INTTYPES_H)
 CHECK_SYMBOL_EXISTS(EFTYPE           "errno.h"    HAVE_EFTYPE)
 CHECK_SYMBOL_EXISTS(EILSEQ           "errno.h"    HAVE_EILSEQ)
 CHECK_SYMBOL_EXISTS(D_MD_ORDER       "langinfo.h" HAVE_D_MD_ORDER)
-CHECK_SYMBOL_EXISTS(optarg           "unistd.h"   HAVE_DECL_OPTARG)
-CHECK_SYMBOL_EXISTS(optind           "unistd.h"   HAVE_DECL_OPTIND)
 CHECK_SYMBOL_EXISTS(INT64_MAX        "${headers}" HAVE_DECL_INT64_MAX)
 CHECK_SYMBOL_EXISTS(INT64_MIN        "${headers}" HAVE_DECL_INT64_MIN)
 CHECK_SYMBOL_EXISTS(UINT32_MAX       "${headers}" HAVE_DECL_UINT32_MAX)
@@ -584,6 +762,16 @@ CHECK_SYMBOL_EXISTS(SSIZE_MAX        "li
 #
 # Check struct members
 #
+# Check for tm_gmtoff in struct tm
+CHECK_STRUCT_MEMBER("struct tm" tm_gmtoff
+    "time.h" HAVE_STRUCT_TM_TM_GMTOFF)
+CHECK_STRUCT_MEMBER("struct tm" __tm_gmtoff
+    "time.h" HAVE_STRUCT_TM___TM_GMTOFF)
+
+# Check for f_namemax in struct statfs
+CHECK_STRUCT_MEMBER("struct statfs" f_namemax
+    "sys/param.h;sys/mount.h" HAVE_STRUCT_STATFS_F_NAMEMAX)
+
 # Check for birthtime in struct stat
 CHECK_STRUCT_MEMBER("struct stat" st_birthtime
     "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_BIRTHTIME)
@@ -615,13 +803,30 @@ CHECK_STRUCT_MEMBER("struct tm" tm_sec
 #
 # Check for integer types
 #
-# XXX There must be a way to make this simpler <sigh> XXXX
 #
-CHECK_TYPE_SIZE("long long int"            LONG_LONG_INT)
-CHECK_TYPE_SIZE("unsigned long long"       UNSIGNED_LONG_LONG)
-CHECK_TYPE_SIZE("unsigned long long int"   UNSIGNED_LONG_LONG_INT)
+CHECK_TYPE_SIZE("short" SIZE_OF_SHORT)
+CHECK_TYPE_SIZE("int" SIZE_OF_INT)
+CHECK_TYPE_SIZE("long" SIZE_OF_LONG)
+CHECK_TYPE_SIZE("long long"     SIZE_OF_LONG_LONG)
+
+CHECK_TYPE_SIZE("unsigned short" SIZE_OF_UNSIGNED_SHORT)
+CHECK_TYPE_SIZE("unsigned" SIZE_OF_UNSIGNED)
+CHECK_TYPE_SIZE("unsigned long" SIZE_OF_UNSIGNED_LONG)
+CHECK_TYPE_SIZE("unsigned long long" SIZE_OF_UNSIGNED_LONG_LONG)
+
+CHECK_TYPE_SIZE("__int64" __INT64)
+CHECK_TYPE_SIZE("unsigned __int64" UNSIGNED___INT64)
+
+CHECK_TYPE_SIZE(int16_t INT16_T) 
+CHECK_TYPE_SIZE(int32_t INT32_T)
+CHECK_TYPE_SIZE(int64_t INT64_T)
+CHECK_TYPE_SIZE(intmax_t INTMAX_T)
+CHECK_TYPE_SIZE(uint8_t UINT8_T) 
+CHECK_TYPE_SIZE(uint16_t UINT16_T) 
+CHECK_TYPE_SIZE(uint32_t UINT32_T) 
+CHECK_TYPE_SIZE(uint64_t UINT64_T)
+CHECK_TYPE_SIZE(uintmax_t UINTMAX_T)
 
-#
 CHECK_TYPE_SIZE(dev_t       DEV_T)
 IF(NOT HAVE_DEV_T)
   IF(MSVC)
@@ -647,23 +852,6 @@ IF(NOT HAVE_ID_T)
   ENDIF(WIN32)
 ENDIF(NOT HAVE_ID_T)
 #
-CHECK_TYPE_SIZE(int32_t    INT32_T)
-IF(NOT HAVE_INT32_T)
-  SET(int32_t "int")
-ENDIF(NOT HAVE_INT32_T)
-#
-CHECK_TYPE_SIZE(int64_t     INT64_T)
-IF(NOT HAVE_INT64_T)
-  IF(WIN32)
-    SET(int64_t __int64)
-  ENDIF(WIN32)
-ENDIF(NOT HAVE_INT64_T)
-#
-CHECK_TYPE_SIZE(intmax_t    INTMAX_T)
-IF(NOT HAVE_INTMAX_T)
-  SET(intmax_t "int64_t")
-ENDIF(NOT HAVE_INTMAX_T)
-#
 CHECK_TYPE_SIZE(mode_t      MODE_T)
 IF(NOT HAVE_MODE_T)
   IF(WIN32)
@@ -714,28 +902,6 @@ IF(NOT HAVE_PID_T)
   ENDIF(WIN32)
 ENDIF(NOT HAVE_PID_T)
 #
-CHECK_TYPE_SIZE(uint16_t    UINT16_T)
-IF(NOT HAVE_UINT16_T)
-  SET(uint16_t "unsigned short")
-ENDIF(NOT HAVE_UINT16_T)
-#
-CHECK_TYPE_SIZE(uint32_t    UINT32_T)
-IF(NOT HAVE_UINT32_T)
-  SET(uint32_t "unsigned int")
-ENDIF(NOT HAVE_UINT32_T)
-#
-CHECK_TYPE_SIZE(uint64_t    UINT64_T)
-IF(NOT HAVE_UINT64_T)
-  IF(WIN32)
-    SET(uint64_t "unsigned __int64")
-  ENDIF(WIN32)
-ENDIF(NOT HAVE_UINT64_T)
-#
-CHECK_TYPE_SIZE(uintmax_t   UINTMAX_T)
-IF(NOT HAVE_UINTMAX_T)
-  SET(uintmax_t "uint64_t")
-ENDIF(NOT HAVE_UINTMAX_T)
-#
 CHECK_TYPE_SIZE(intptr_t   INTPTR_T)
 IF(NOT HAVE_INTPTR_T)
   IF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
@@ -763,8 +929,6 @@ ENDIF(HAVE_SIZEOF_WCHAR_T)
 #
 CHECK_FILE_OFFSET_BITS()
 
-
-
 #
 # Check for Extended Attribute libraries, headers, and functions
 #
@@ -772,21 +936,57 @@ IF(ENABLE_XATTR)
   LA_CHECK_INCLUDE_FILE(attr/xattr.h     HAVE_ATTR_XATTR_H)
   LA_CHECK_INCLUDE_FILE(sys/xattr.h      HAVE_SYS_XATTR_H)
   LA_CHECK_INCLUDE_FILE(sys/extattr.h      HAVE_SYS_EXTATTR_H)
-  CHECK_LIBRARY_EXISTS(attr "setxattr" "" HAVE_ATTR_LIB)
-  IF(HAVE_ATTR_LIB)
+  CHECK_LIBRARY_EXISTS(attr "setxattr" "" HAVE_LIBATTR)
+  IF(HAVE_LIBATTR)
     SET(CMAKE_REQUIRED_LIBRARIES "attr")
-  ENDIF(HAVE_ATTR_LIB)
+  ENDIF(HAVE_LIBATTR)
   CHECK_SYMBOL_EXISTS(EXTATTR_NAMESPACE_USER "sys/types.h;sys/extattr.h" HAVE_DECL_EXTATTR_NAMESPACE_USER)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_get_file HAVE_EXTATTR_GET_FILE)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_list_file HAVE_EXTATTR_LIST_FILE)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_set_fd HAVE_EXTATTR_SET_FD)
   CHECK_FUNCTION_EXISTS_GLIBC(extattr_set_file HAVE_EXTATTR_SET_FILE)
+  CHECK_FUNCTION_EXISTS_GLIBC(fgetxattr HAVE_FGETXATTR)
+  CHECK_FUNCTION_EXISTS_GLIBC(flistxattr HAVE_FLISTXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(fsetxattr HAVE_FSETXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(getxattr HAVE_GETXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(lgetxattr HAVE_LGETXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(listxattr HAVE_LISTXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(llistxattr HAVE_LLISTXATTR)
   CHECK_FUNCTION_EXISTS_GLIBC(lsetxattr HAVE_LSETXATTR)
+  CHECK_FUNCTION_EXISTS_GLIBC(fgetea HAVE_FGETEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(flistea HAVE_FLISTEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(fsetea HAVE_FSETEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(getea HAVE_GETEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(lgetea HAVE_LGETEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(listea HAVE_LISTEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(llistea HAVE_LLISTEA)
+  CHECK_FUNCTION_EXISTS_GLIBC(lsetea HAVE_LSETEA)
+ELSE(ENABLE_XATTR)
+  SET(HAVE_ATTR_LIB FALSE)
+  SET(HAVE_ATTR_XATTR_H FALSE)
+  SET(HAVE_DECL_EXTATTR_NAMESPACE_USER FALSE)
+  SET(HAVE_EXTATTR_GET_FILE FALSE)
+  SET(HAVE_EXTATTR_LIST_FILE FALSE)
+  SET(HAVE_EXTATTR_SET_FD FALSE)
+  SET(HAVE_EXTATTR_SET_FILE FALSE)
+  SET(HAVE_FGETEA FALSE)
+  SET(HAVE_FGETXATTR FALSE)
+  SET(HAVE_FLISTEA FALSE)
+  SET(HAVE_FLISTXATTR FALSE)
+  SET(HAVE_FSETEA FALSE)
+  SET(HAVE_FSETXATTR FALSE)
+  SET(HAVE_GETEA FALSE)
+  SET(HAVE_GETXATTR FALSE)
+  SET(HAVE_LGETEA FALSE)
+  SET(HAVE_LGETXATTR FALSE)
+  SET(HAVE_LISTEA FALSE)
+  SET(HAVE_LISTXATTR FALSE)
+  SET(HAVE_LLISTEA FALSE)
+  SET(HAVE_LLISTXATTR FALSE)
+  SET(HAVE_LSETEA FALSE)
+  SET(HAVE_LSETXATTR FALSE)
+  SET(HAVE_SYS_EXTATTR_H FALSE)
+  SET(HAVE_SYS_XATTR_H FALSE)
 ENDIF(ENABLE_XATTR)
 
 #
@@ -798,12 +998,12 @@ ENDIF(ENABLE_XATTR)
 # which makes the following checks rather more complex than I would like.
 #
 IF(ENABLE_ACL)
-  CHECK_LIBRARY_EXISTS(acl "acl_get_file" "" HAVE_ACL_LIB)
-  IF(HAVE_ACL_LIB)
+  CHECK_LIBRARY_EXISTS(acl "acl_get_file" "" HAVE_LIBACL)
+  IF(HAVE_LIBACL)
     SET(CMAKE_REQUIRED_LIBRARIES "acl")
     FIND_LIBRARY(ACL_LIBRARY NAMES acl)
     LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY})
-  ENDIF(HAVE_ACL_LIB)
+  ENDIF(HAVE_LIBACL)
   #
   CHECK_FUNCTION_EXISTS_GLIBC(acl_create_entry HAVE_ACL_CREATE_ENTRY)
   CHECK_FUNCTION_EXISTS_GLIBC(acl_init HAVE_ACL_INIT)
@@ -817,16 +1017,47 @@ IF(ENABLE_ACL)
   # test for specific permissions in a permset.)  Linux uses the obvious
   # name, FreeBSD adds _np to mark it as "non-Posix extension."
   # Test for both as a double-check that we really have POSIX-style ACL support.
-  CHECK_SYMBOL_EXISTS(acl_get_perm "${INCLUDES}" HAVE_ACL_GET_PERM)
-  CHECK_SYMBOL_EXISTS(acl_get_perm_np "${INCLUDES}" HAVE_ACL_GET_PERM_NP)
-  CHECK_SYMBOL_EXISTS(acl_get_link "${INCLUDES}" HAVE_ACL_GET_LINK)
-  CHECK_SYMBOL_EXISTS(acl_get_link_np "${INCLUDES}" HAVE_ACL_GET_LINK_NP)
+  CHECK_FUNCTION_EXISTS(acl_get_perm HAVE_ACL_GET_PERM)
+  CHECK_FUNCTION_EXISTS(acl_get_perm_np HAVE_ACL_GET_PERM_NP)
+  CHECK_FUNCTION_EXISTS(acl_get_link HAVE_ACL_GET_LINK)
+  CHECK_FUNCTION_EXISTS(acl_get_link_np HAVE_ACL_GET_LINK_NP)
 
   # MacOS has an acl.h that isn't POSIX.  It can be detected by
   # checking for ACL_USER
   CHECK_SYMBOL_EXISTS(ACL_USER "${INCLUDES}" HAVE_ACL_USER)
+ELSE(ENABLE_ACL)
+  # If someone runs cmake, then disables ACL support, we need
+  # to forcibly override the cached values for these.
+  SET(HAVE_ACL_CREATE_ENTRY FALSE)
+  SET(HAVE_ACL_GET_LINK FALSE)
+  SET(HAVE_ACL_GET_LINK_NP FALSE)
+  SET(HAVE_ACL_GET_PERM FALSE)
+  SET(HAVE_ACL_GET_PERM_NP FALSE)
+  SET(HAVE_ACL_INIT FALSE)
+  SET(HAVE_ACL_LIB FALSE)
+  SET(HAVE_ACL_PERMSET_T FALSE)
+  SET(HAVE_ACL_SET_FD FALSE)
+  SET(HAVE_ACL_SET_FD_NP FALSE)
+  SET(HAVE_ACL_SET_FILE FALSE)
+  SET(HAVE_ACL_USER FALSE)
 ENDIF(ENABLE_ACL)
 
+#
+# Check MD5/RMD160/SHA support
+# NOTE: Crypto checks must be run last before generating config.h
+#
+CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" LIBC)
+CHECK_CRYPTO("SHA256;SHA384;SHA512" LIBC2)
+CHECK_CRYPTO("SHA256;SHA384;SHA512" LIBC3)
+CHECK_CRYPTO("MD5;SHA1;SHA256;SHA384;SHA512" LIBSYSTEM)
+CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" NETTLE)
+CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" OPENSSL)
+
+# Libmd has to be probed after OpenSSL.
+CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA512" LIBMD)
+
+CHECK_CRYPTO_WIN("MD5;SHA1;SHA256;SHA384;SHA512")
+
 # Generate "config.h" from "build/cmake/config.h.in"
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in
 	${CMAKE_CURRENT_BINARY_DIR}/config.h)
@@ -858,8 +1089,13 @@ IF(MSVC)
   ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
 ENDIF(MSVC)
 
+# We need CoreServices on Mac OS.
+IF(APPLE)
+  LIST(APPEND ADDITIONAL_LIBS "-framework CoreServices")
+ENDIF(APPLE)
+
 IF(ENABLE_TEST)
-ADD_CUSTOM_TARGET(run_all_tests)
+  ADD_CUSTOM_TARGET(run_all_tests)
 ENDIF(ENABLE_TEST)
 
 add_subdirectory(libarchive)

Modified: vendor/libarchive/dist/COPYING
==============================================================================
--- vendor/libarchive/dist/COPYING	Wed Feb  8 12:52:01 2012	(r231199)
+++ vendor/libarchive/dist/COPYING	Wed Feb  8 12:53:14 2012	(r231200)
@@ -16,8 +16,8 @@ the actual statements in the files are c
   a 3-clause UC Regents copyright; please read the individual source
   files for details:
    libarchive/archive_entry.c
-   libarchive/archive_read_support_compression_compress.c
-   libarchive/archive_write_set_compression_compress.c
+   libarchive/archive_read_support_filter_compress.c
+   libarchive/archive_write_set_filter_compress.c
    libarchive/mtree.5
    tar/matching.c
 

Modified: vendor/libarchive/dist/INSTALL
==============================================================================
--- vendor/libarchive/dist/INSTALL	Wed Feb  8 12:52:01 2012	(r231199)
+++ vendor/libarchive/dist/INSTALL	Wed Feb  8 12:53:14 2012	(r231200)
@@ -19,7 +19,7 @@ configure script and other build files:

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202081253.q18CrGmF043254>