| # Copyright 2017 The Fuchsia Authors. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are |
| # met: |
| # |
| # * Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above |
| # copyright notice, this list of conditions and the following disclaimer |
| # in the documentation and/or other materials provided with the |
| # distribution. |
| # * Neither the name of Google Inc. nor the names of its |
| # contributors may be used to endorse or promote products derived from |
| # this software without specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| config("archive_private_config") { |
| visibility = [ ":*" ] |
| defines = [ "HAVE_CONFIG_H" ] |
| include_dirs = [ target_gen_dir ] |
| } |
| |
| config("archive_config") { |
| include_dirs = [ "libarchive" ] |
| } |
| |
| copy("copy_archive_config") { |
| visibility = [ ":*" ] |
| if (is_fuchsia) { |
| sources = [ |
| "config.h.fuchsia", |
| ] |
| } else { |
| sources = [ |
| "config.h", |
| ] |
| } |
| outputs = [ |
| "$target_gen_dir/config.h", |
| ] |
| } |
| |
| group("archive_settings") { |
| visibility = [ ":*" ] |
| public_configs = [ ":archive_private_config" ] |
| deps = [ |
| ":copy_archive_config", |
| ] |
| } |
| |
| target(default_library_type, "archive") { |
| public_configs = [ ":archive_config" ] |
| public = [ |
| "libarchive/archive.h", |
| "libarchive/archive_entry.h", |
| ] |
| sources = [ |
| "libarchive/archive_acl.c", |
| "libarchive/archive_acl_private.h", |
| "libarchive/archive_check_magic.c", |
| "libarchive/archive_cmdline.c", |
| "libarchive/archive_cmdline_private.h", |
| "libarchive/archive_crc32.h", |
| "libarchive/archive_cryptor.c", |
| "libarchive/archive_cryptor_private.h", |
| "libarchive/archive_digest.c", |
| "libarchive/archive_digest_private.h", |
| "libarchive/archive_endian.h", |
| "libarchive/archive_entry.c", |
| "libarchive/archive_entry.h", |
| "libarchive/archive_entry_copy_stat.c", |
| "libarchive/archive_entry_link_resolver.c", |
| "libarchive/archive_entry_locale.h", |
| "libarchive/archive_entry_private.h", |
| "libarchive/archive_entry_sparse.c", |
| "libarchive/archive_entry_stat.c", |
| "libarchive/archive_entry_strmode.c", |
| "libarchive/archive_entry_xattr.c", |
| "libarchive/archive_getdate.c", |
| "libarchive/archive_getdate.h", |
| "libarchive/archive_hmac.c", |
| "libarchive/archive_hmac_private.h", |
| "libarchive/archive_match.c", |
| "libarchive/archive_openssl_evp_private.h", |
| "libarchive/archive_openssl_hmac_private.h", |
| "libarchive/archive_options.c", |
| "libarchive/archive_options_private.h", |
| "libarchive/archive_pack_dev.c", |
| "libarchive/archive_pack_dev.h", |
| "libarchive/archive_pathmatch.c", |
| "libarchive/archive_pathmatch.h", |
| "libarchive/archive_platform.h", |
| "libarchive/archive_platform_acl.h", |
| "libarchive/archive_platform_xattr.h", |
| "libarchive/archive_ppmd7.c", |
| "libarchive/archive_ppmd7_private.h", |
| "libarchive/archive_ppmd_private.h", |
| "libarchive/archive_private.h", |
| "libarchive/archive_random.c", |
| "libarchive/archive_random_private.h", |
| "libarchive/archive_rb.c", |
| "libarchive/archive_rb.h", |
| "libarchive/archive_read.c", |
| "libarchive/archive_read_add_passphrase.c", |
| "libarchive/archive_read_append_filter.c", |
| "libarchive/archive_read_data_into_fd.c", |
| "libarchive/archive_read_disk_entry_from_file.c", |
| "libarchive/archive_read_disk_posix.c", |
| "libarchive/archive_read_disk_private.h", |
| "libarchive/archive_read_disk_set_standard_lookup.c", |
| "libarchive/archive_read_extract.c", |
| "libarchive/archive_read_extract2.c", |
| "libarchive/archive_read_open_fd.c", |
| "libarchive/archive_read_open_file.c", |
| "libarchive/archive_read_open_filename.c", |
| "libarchive/archive_read_open_memory.c", |
| "libarchive/archive_read_private.h", |
| "libarchive/archive_read_set_format.c", |
| "libarchive/archive_read_set_options.c", |
| "libarchive/archive_read_support_filter_all.c", |
| "libarchive/archive_read_support_filter_bzip2.c", |
| "libarchive/archive_read_support_filter_compress.c", |
| "libarchive/archive_read_support_filter_grzip.c", |
| "libarchive/archive_read_support_filter_gzip.c", |
| "libarchive/archive_read_support_filter_lrzip.c", |
| "libarchive/archive_read_support_filter_lz4.c", |
| "libarchive/archive_read_support_filter_lzop.c", |
| "libarchive/archive_read_support_filter_none.c", |
| "libarchive/archive_read_support_filter_program.c", |
| "libarchive/archive_read_support_filter_rpm.c", |
| "libarchive/archive_read_support_filter_uu.c", |
| "libarchive/archive_read_support_filter_xz.c", |
| "libarchive/archive_read_support_format_7zip.c", |
| "libarchive/archive_read_support_format_all.c", |
| "libarchive/archive_read_support_format_ar.c", |
| "libarchive/archive_read_support_format_by_code.c", |
| "libarchive/archive_read_support_format_cab.c", |
| "libarchive/archive_read_support_format_cpio.c", |
| "libarchive/archive_read_support_format_empty.c", |
| "libarchive/archive_read_support_format_iso9660.c", |
| "libarchive/archive_read_support_format_lha.c", |
| "libarchive/archive_read_support_format_mtree.c", |
| "libarchive/archive_read_support_format_rar.c", |
| "libarchive/archive_read_support_format_raw.c", |
| "libarchive/archive_read_support_format_tar.c", |
| "libarchive/archive_read_support_format_warc.c", |
| "libarchive/archive_read_support_format_xar.c", |
| "libarchive/archive_read_support_format_zip.c", |
| "libarchive/archive_string.c", |
| "libarchive/archive_string.h", |
| "libarchive/archive_string_composition.h", |
| "libarchive/archive_string_sprintf.c", |
| "libarchive/archive_util.c", |
| "libarchive/archive_version_details.c", |
| "libarchive/archive_virtual.c", |
| "libarchive/archive_write.c", |
| "libarchive/archive_write_add_filter.c", |
| "libarchive/archive_write_add_filter_b64encode.c", |
| "libarchive/archive_write_add_filter_by_name.c", |
| "libarchive/archive_write_add_filter_bzip2.c", |
| "libarchive/archive_write_add_filter_compress.c", |
| "libarchive/archive_write_add_filter_grzip.c", |
| "libarchive/archive_write_add_filter_gzip.c", |
| "libarchive/archive_write_add_filter_lrzip.c", |
| "libarchive/archive_write_add_filter_lz4.c", |
| "libarchive/archive_write_add_filter_lzop.c", |
| "libarchive/archive_write_add_filter_none.c", |
| "libarchive/archive_write_add_filter_program.c", |
| "libarchive/archive_write_add_filter_uuencode.c", |
| "libarchive/archive_write_add_filter_xz.c", |
| "libarchive/archive_write_disk_posix.c", |
| "libarchive/archive_write_disk_private.h", |
| "libarchive/archive_write_disk_set_standard_lookup.c", |
| "libarchive/archive_write_open_fd.c", |
| "libarchive/archive_write_open_file.c", |
| "libarchive/archive_write_open_filename.c", |
| "libarchive/archive_write_open_memory.c", |
| "libarchive/archive_write_private.h", |
| "libarchive/archive_write_set_format.c", |
| "libarchive/archive_write_set_format_7zip.c", |
| "libarchive/archive_write_set_format_ar.c", |
| "libarchive/archive_write_set_format_by_name.c", |
| "libarchive/archive_write_set_format_cpio.c", |
| "libarchive/archive_write_set_format_cpio_newc.c", |
| "libarchive/archive_write_set_format_filter_by_ext.c", |
| "libarchive/archive_write_set_format_gnutar.c", |
| "libarchive/archive_write_set_format_iso9660.c", |
| "libarchive/archive_write_set_format_mtree.c", |
| "libarchive/archive_write_set_format_pax.c", |
| "libarchive/archive_write_set_format_raw.c", |
| "libarchive/archive_write_set_format_shar.c", |
| "libarchive/archive_write_set_format_ustar.c", |
| "libarchive/archive_write_set_format_v7tar.c", |
| "libarchive/archive_write_set_format_warc.c", |
| "libarchive/archive_write_set_format_xar.c", |
| "libarchive/archive_write_set_format_zip.c", |
| "libarchive/archive_write_set_options.c", |
| "libarchive/archive_write_set_passphrase.c", |
| "libarchive/archive_xxhash.h", |
| "libarchive/filter_fork.h", |
| "libarchive/filter_fork_posix.c", |
| "libarchive/xxhash.c", |
| ] |
| if (is_win) { |
| sources += [ |
| "archive/archive_entry_copy_bhfi.c", |
| "archive/archive_read_disk_windows.c", |
| "archive/archive_windows.c", |
| "archive/archive_windows.h", |
| "archive/archive_write_disk_windows.c", |
| "archive/filter_fork_windows.c", |
| ] |
| } |
| if (is_mac) { |
| sources += [ "archive/archive_disk_acl_darwin.c" ] |
| } |
| configs -= [ "//build/config:symbol_visibility_hidden" ] |
| deps = [ |
| ":archive_settings", |
| "//third_party/boringssl:crypto", |
| "//third_party/bzip2:bz2", |
| "//third_party/libxml2", |
| "//third_party/xz:lzma", |
| "//third_party/zlib", |
| ] |
| } |
| |
| executable("tar") { |
| include_dirs = [ "libarchive_fe" ] |
| sources = [ |
| "libarchive_fe/err.c", |
| "libarchive_fe/err.h", |
| "libarchive_fe/lafe_platform.h", |
| "libarchive_fe/line_reader.c", |
| "libarchive_fe/line_reader.h", |
| "libarchive_fe/passphrase.c", |
| "libarchive_fe/passphrase.h", |
| "tar/bsdtar.c", |
| "tar/bsdtar.h", |
| "tar/bsdtar_platform.h", |
| "tar/cmdline.c", |
| "tar/creation_set.c", |
| "tar/read.c", |
| "tar/subst.c", |
| "tar/util.c", |
| "tar/write.c", |
| ] |
| if (is_win) { |
| sources += [ |
| "tar/bsdtar_windows.c", |
| "tar/bsdtar_windows.h", |
| ] |
| } |
| deps = [ |
| ":archive", |
| ":archive_settings", |
| ] |
| } |
| |
| executable("cpio") { |
| include_dirs = [ "libarchive_fe" ] |
| sources = [ |
| "cpio/cmdline.c", |
| "cpio/cpio.c", |
| "cpio/cpio.h", |
| "cpio/cpio_platform.h", |
| "libarchive_fe/err.c", |
| "libarchive_fe/err.h", |
| "libarchive_fe/lafe_platform.h", |
| "libarchive_fe/line_reader.c", |
| "libarchive_fe/line_reader.h", |
| "libarchive_fe/passphrase.c", |
| "libarchive_fe/passphrase.h", |
| ] |
| if (is_win) { |
| sources += [ |
| "cpio/cpio_windows.c", |
| "cpio/cpio_windows.h", |
| ] |
| } |
| deps = [ |
| ":archive", |
| ":archive_settings", |
| ] |
| } |