From owner-svn-src-all@FreeBSD.ORG Wed Feb 8 12:53:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0527B106564A; Wed, 8 Feb 2012 12:53:17 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DDCFA8FC0A; Wed, 8 Feb 2012 12:53:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q18CrGD0043259; Wed, 8 Feb 2012 12:53:16 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q18CrGmF043254; Wed, 8 Feb 2012 12:53:16 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201202081253.q18CrGmF043254@svn.freebsd.org> From: Martin Matuska Date: Wed, 8 Feb 2012 12:53:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: 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/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2012 12:53:17 -0000 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 +#include +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 @@ -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 + #include + 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 \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 \n#include \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 \nint main() { return major(256); }" + MAJOR_IN_MKDEV) +CHECK_C_SOURCE_COMPILES( + "#include \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 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 ***