]> git.ipfire.org Git - thirdparty/libarchive.git/blobdiff - Makefile.am
Fix encoding detection on platforms with nl_langinfo() (#2030)
[thirdparty/libarchive.git] / Makefile.am
index 3d30b6e16a2ca099f072d33e713026711c59e0c4..b5ccae02ed165843d40b8dd11b7433804c67c834 100644 (file)
@@ -8,17 +8,17 @@ ACLOCAL_AMFLAGS = -I build/autoconf
 #
 lib_LTLIBRARIES=       libarchive.la
 noinst_LTLIBRARIES=    libarchive_fe.la
-bin_PROGRAMS=  $(bsdtar_programs) $(bsdcpio_programs) $(bsdcat_programs)
-man_MANS= $(libarchive_man_MANS) $(bsdtar_man_MANS) $(bsdcpio_man_MANS) $(bsdcat_man_MANS)
-BUILT_SOURCES= libarchive/test/list.h tar/test/list.h cpio/test/list.h cat/test/list.h
+bin_PROGRAMS=  $(bsdtar_programs) $(bsdcpio_programs) $(bsdcat_programs) $(bsdunzip_programs)
+man_MANS= $(libarchive_man_MANS) $(bsdtar_man_MANS) $(bsdcpio_man_MANS) $(bsdcat_man_MANS) $(bsdunzip_man_MANS)
+BUILT_SOURCES= libarchive/test/list.h tar/test/list.h cpio/test/list.h cat/test/list.h unzip/test/list.h
 
 #
 # What to test: We always test libarchive, test bsdtar and bsdcpio only
 # if we built them.
 #
-check_PROGRAMS= libarchive_test $(bsdtar_test_programs) $(bsdcpio_test_programs) $(bsdcat_test_programs)
-TESTS= libarchive_test $(bsdtar_test_programs) $(bsdcpio_test_programs) $(bsdcat_test_programs)
-TESTS_ENVIRONMENT= $(libarchive_TESTS_ENVIRONMENT) $(bsdtar_TESTS_ENVIRONMENT) $(bsdcpio_TESTS_ENVIRONMENT) $(bsdcat_TESTS_ENVIRONMENT)
+check_PROGRAMS= libarchive_test $(bsdtar_test_programs) $(bsdcpio_test_programs) $(bsdcat_test_programs) $(bsdunzip_test_programs)
+TESTS= libarchive_test $(bsdtar_test_programs) $(bsdcpio_test_programs) $(bsdcat_test_programs) $(bsdunzip_test_programs)
+TESTS_ENVIRONMENT= $(libarchive_TESTS_ENVIRONMENT) $(bsdtar_TESTS_ENVIRONMENT) $(bsdcpio_TESTS_ENVIRONMENT) $(bsdcat_TESTS_ENVIRONMENT) $(bsdunzip_TESTS_ENVIRONMENT)
 # Always build and test both bsdtar and bsdcpio as part of 'distcheck'
 DISTCHECK_CONFIGURE_FLAGS = --enable-bsdtar --enable-bsdcpio
 # The next line is commented out by default in shipping libarchive releases.
@@ -49,7 +49,9 @@ EXTRA_DIST= \
        $(bsdcpio_EXTRA_DIST) \
        $(bsdcpio_test_EXTRA_DIST) \
        $(bsdcat_EXTRA_DIST) \
-       $(bsdcat_test_EXTRA_DIST)
+       $(bsdcat_test_EXTRA_DIST) \
+       $(bsdunzip_EXTRA_DIST) \
+       $(bsdunzip_test_EXTRA_DIST)
 
 # a) Clean out some unneeded files and directories
 # b) Collect all documentation and format it for distribution.
@@ -69,7 +71,8 @@ DISTCLEANFILES= \
        libarchive/test/list.h \
        tar/test/list.h \
        cpio/test/list.h \
-       cat/test/list.h
+       cat/test/list.h \
+       unzip/test/list.h
 
 distclean-local:
        -rm -rf .ref
@@ -82,7 +85,9 @@ distclean-local:
        -[ -f cpio/Makefile ] && cd cpio && make clean
        -[ -f cpio/test/Makefile ] && cd cpio/test && make clean
        -[ -f cat/Makefile ] && cd cat && make clean
-       -[ -f cpio/test/Makefile ] && cd cat/test && make clean
+       -[ -f cat/test/Makefile ] && cd cat/test && make clean
+       -[ -f unzip/Makefile ] && cd unzip && make clean
+       -[ -f unzip/test/Makefile ] && cd unzip/test && make clean
 
 #
 # Libarchive headers, source, etc.
@@ -224,6 +229,7 @@ libarchive_la_SOURCES= \
        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_binary.c \
        libarchive/archive_write_set_format_cpio_newc.c \
        libarchive/archive_write_set_format_cpio_odc.c \
        libarchive/archive_write_set_format_filter_by_ext.c \
@@ -283,7 +289,7 @@ endif
 
 # -no-undefined marks that libarchive doesn't rely on symbols
 # defined in the application.  This is mandatory for cygwin.
-libarchive_la_LDFLAGS= -no-undefined -version-info $(ARCHIVE_LIBTOOL_VERSION)
+libarchive_la_LDFLAGS= -no-undefined -version-info $(ARCHIVE_LIBTOOL_VERSION) $(DEAD_CODE_REMOVAL)
 libarchive_la_LIBADD= $(LTLIBICONV)
 
 # Manpages to install
@@ -413,6 +419,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_compat_solaris_tar_acl.c \
        libarchive/test/test_compat_solaris_pax_sparse.c \
        libarchive/test/test_compat_star_acl.c \
+       libarchive/test/test_compat_tar_directory.c \
        libarchive/test/test_compat_tar_hardlink.c \
        libarchive/test/test_compat_uudecode.c \
        libarchive/test/test_compat_uudecode_large.c \
@@ -447,6 +454,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_read_filter_program.c \
        libarchive/test/test_read_filter_program_signature.c \
        libarchive/test/test_read_filter_uudecode.c \
+       libarchive/test/test_read_filter_uudecode_raw.c \
        libarchive/test/test_read_format_7zip.c \
        libarchive/test/test_read_format_7zip_encryption_data.c \
        libarchive/test/test_read_format_7zip_encryption_partially.c \
@@ -501,6 +509,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_read_format_rar_encryption_data.c \
        libarchive/test/test_read_format_rar_encryption_partially.c \
        libarchive/test/test_read_format_rar_encryption_header.c \
+       libarchive/test/test_read_format_rar_filter.c \
        libarchive/test/test_read_format_rar_invalid1.c \
        libarchive/test/test_read_format_rar5.c \
        libarchive/test/test_read_format_raw.c \
@@ -510,6 +519,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_read_format_tar_empty_filename.c \
        libarchive/test/test_read_format_tar_empty_with_gnulabel.c \
        libarchive/test/test_read_format_tar_filename.c \
+       libarchive/test/test_read_format_tar_invalid_pax_size.c \
        libarchive/test/test_read_format_tbz.c \
        libarchive/test/test_read_format_tgz.c \
        libarchive/test/test_read_format_tlz.c \
@@ -549,6 +559,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_read_too_many_filters.c \
        libarchive/test/test_read_truncated.c \
        libarchive/test/test_read_truncated_filter.c \
+       libarchive/test/test_short_writes.c \
        libarchive/test/test_sparse_basic.c \
        libarchive/test/test_tar_filenames.c \
        libarchive/test/test_tar_large.c \
@@ -558,6 +569,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_write_disk.c \
        libarchive/test/test_write_disk_appledouble.c \
        libarchive/test/test_write_disk_failures.c \
+       libarchive/test/test_write_disk_fixup.c \
        libarchive/test/test_write_disk_hardlink.c \
        libarchive/test/test_write_disk_hfs_compression.c \
        libarchive/test/test_write_disk_lookup.c \
@@ -622,6 +634,7 @@ libarchive_test_SOURCES= \
        libarchive/test/test_write_format_xar_empty.c \
        libarchive/test/test_write_format_zip.c \
        libarchive/test/test_write_format_zip_compression_store.c \
+       libarchive/test/test_write_format_zip_entry_size_unset.c \
        libarchive/test/test_write_format_zip_empty.c \
        libarchive/test/test_write_format_zip_empty_zip64.c \
        libarchive/test/test_write_format_zip_file.c \
@@ -677,6 +690,8 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_compat_lz4_B7BD.tar.lz4.uu \
        libarchive/test/test_compat_lzip_1.tlz.uu \
        libarchive/test/test_compat_lzip_2.tlz.uu \
+       libarchive/test/test_compat_lzip_3.lz.uu \
+       libarchive/test/test_compat_lzip_4.tlz.uu \
        libarchive/test/test_compat_lzma_1.tlz.uu \
        libarchive/test/test_compat_lzma_2.tlz.uu \
        libarchive/test/test_compat_lzma_3.tlz.uu \
@@ -692,6 +707,7 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_compat_solaris_tar_acl.tar.uu \
        libarchive/test/test_compat_star_acl_nfs4.tar.uu \
        libarchive/test/test_compat_star_acl_posix1e.tar.uu \
+       libarchive/test/test_compat_tar_directory_1.tar.uu \
        libarchive/test/test_compat_tar_hardlink_1.tar.uu \
        libarchive/test/test_compat_uudecode_large.tar.Z.uu \
        libarchive/test/test_compat_xz_1.txz.uu \
@@ -735,6 +751,8 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_filter_lrzip.tar.lrz.uu \
        libarchive/test/test_read_filter_lzop.tar.lzo.uu \
        libarchive/test/test_read_filter_lzop_multiple_parts.tar.lzo.uu \
+       libarchive/test/test_read_filter_uudecode_raw.uu \
+       libarchive/test/test_read_filter_uudecode_base64_raw.uu \
        libarchive/test/test_read_format_mtree_crash747.mtree.bz2.uu \
        libarchive/test/test_read_format_mtree_noprint.mtree.uu \
        libarchive/test/test_read_format_7zip_bcj2_bzip2.7z.uu \
@@ -755,6 +773,7 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_7zip_copy.7z.uu \
        libarchive/test/test_read_format_7zip_copy_2.7z.uu \
        libarchive/test/test_read_format_7zip_deflate.7z.uu \
+       libarchive/test/test_read_format_7zip_deflate_arm64.7z.uu \
        libarchive/test/test_read_format_7zip_delta_lzma1.7z.uu \
        libarchive/test/test_read_format_7zip_delta4_lzma1.7z.uu \
        libarchive/test/test_read_format_7zip_delta_lzma2.7z.uu \
@@ -768,11 +787,19 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_7zip_lzma1_2.7z.uu \
        libarchive/test/test_read_format_7zip_lzma1_lzma2.7z.uu \
        libarchive/test/test_read_format_7zip_lzma2.7z.uu \
+       libarchive/test/test_read_format_7zip_lzma2_arm64.7z.uu \
+       libarchive/test/test_read_format_7zip_lzma2_arm.7z.uu \
        libarchive/test/test_read_format_7zip_malformed.7z.uu \
        libarchive/test/test_read_format_7zip_malformed2.7z.uu \
        libarchive/test/test_read_format_7zip_packinfo_digests.7z.uu \
        libarchive/test/test_read_format_7zip_ppmd.7z.uu \
+       libarchive/test/test_read_format_7zip_solid_zstd.7z.uu \
        libarchive/test/test_read_format_7zip_symbolic_name.7z.uu \
+       libarchive/test/test_read_format_7zip_win_attrib.7z.uu \
+       libarchive/test/test_read_format_7zip_zstd_arm.7z.uu \
+       libarchive/test/test_read_format_7zip_zstd_bcj.7z.uu \
+       libarchive/test/test_read_format_7zip_zstd_nobcj.7z.uu \
+       libarchive/test/test_read_format_7zip_zstd.7z.uu \
        libarchive/test/test_read_format_ar.ar.uu \
        libarchive/test/test_read_format_cab_1.cab.uu \
        libarchive/test/test_read_format_cab_2.cab.uu \
@@ -832,6 +859,7 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_rar_encryption_data.rar.uu \
        libarchive/test/test_read_format_rar_encryption_header.rar.uu \
        libarchive/test/test_read_format_rar_encryption_partially.rar.uu \
+       libarchive/test/test_read_format_rar_filter.rar.uu \
        libarchive/test/test_read_format_rar_invalid1.rar.uu \
        libarchive/test/test_read_format_rar_multi_lzss_blocks.rar.uu \
        libarchive/test/test_read_format_rar_multivolume.part0001.rar.uu \
@@ -875,6 +903,7 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_rar5_nonempty_dir_stream.rar.uu \
        libarchive/test/test_read_format_rar5_owner.rar.uu \
        libarchive/test/test_read_format_rar5_readtables_overflow.rar.uu \
+       libarchive/test/test_read_format_rar5_sfx.exe.uu \
        libarchive/test/test_read_format_rar5_solid.rar.uu \
        libarchive/test/test_read_format_rar5_stored.rar.uu \
        libarchive/test/test_read_format_rar5_stored_manyfiles.rar.uu \
@@ -884,6 +913,9 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_rar5_arm_filter_on_window_boundary.rar.uu \
        libarchive/test/test_read_format_rar5_different_winsize_on_merge.rar.uu \
        libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu \
+       libarchive/test/test_read_format_rar5_decode_number_out_of_bounds_read.rar.uu \
+       libarchive/test/test_read_format_rar5_window_buf_and_size_desync.rar.uu \
+       libarchive/test/test_read_format_rar5_bad_window_sz_in_mltarc_file.rar.uu \
        libarchive/test/test_read_format_raw.bufr.uu \
        libarchive/test/test_read_format_raw.data.gz.uu \
        libarchive/test/test_read_format_raw.data.Z.uu \
@@ -893,12 +925,14 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_tar_empty_with_gnulabel.tar.uu \
        libarchive/test/test_read_format_tar_empty_pax.tar.Z.uu \
        libarchive/test/test_read_format_tar_filename_koi8r.tar.Z.uu \
+       libarchive/test/test_read_format_tar_invalid_pax_size.tar.uu \
        libarchive/test/test_read_format_ustar_filename_cp866.tar.Z.uu \
        libarchive/test/test_read_format_ustar_filename_eucjp.tar.Z.uu \
        libarchive/test/test_read_format_ustar_filename_koi8r.tar.Z.uu \
        libarchive/test/test_read_format_warc.warc.uu \
        libarchive/test/test_read_format_zip.zip.uu \
        libarchive/test/test_read_format_zip_7075_utf8_paths.zip.uu \
+       libarchive/test/test_read_format_zip_7z_deflate.zip.uu \
        libarchive/test/test_read_format_zip_7z_lzma.zip.uu \
        libarchive/test/test_read_format_zip_bz2_hang.zip.uu \
        libarchive/test/test_read_format_zip_bzip2.zipx.uu \
@@ -946,6 +980,8 @@ libarchive_test_EXTRA_DIST=\
        libarchive/test/test_read_format_zip_xz_multi.zipx.uu \
        libarchive/test/test_read_format_zip_zip64a.zip.uu \
        libarchive/test/test_read_format_zip_zip64b.zip.uu \
+       libarchive/test/test_read_format_zip_zstd.zipx.uu \
+       libarchive/test/test_read_format_zip_zstd_multi.zipx.uu \
        libarchive/test/test_read_large_splitted_rar_aa.uu \
        libarchive/test/test_read_large_splitted_rar_ab.uu \
        libarchive/test/test_read_large_splitted_rar_ac.uu \
@@ -1016,7 +1052,7 @@ endif
 
 bsdtar_LDADD= libarchive.la libarchive_fe.la $(LTLIBICONV)
 bsdtar_CPPFLAGS= -I$(top_srcdir)/libarchive -I$(top_srcdir)/libarchive_fe $(bsdtar_ccstatic) $(PLATFORMCPPFLAGS)
-bsdtar_LDFLAGS= $(bsdtar_ldstatic)
+bsdtar_LDFLAGS= $(bsdtar_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdtar_EXTRA_DIST= \
        tar/bsdtar.1 \
@@ -1077,6 +1113,7 @@ bsdtar_test_SOURCES= \
        tar/test/test_option_fflags.c \
        tar/test/test_option_gid_gname.c \
        tar/test/test_option_grzip.c \
+       tar/test/test_option_ignore_zeros.c \
        tar/test/test_option_j.c \
        tar/test/test_option_k.c \
        tar/test/test_option_keep_newer_files.c \
@@ -1181,7 +1218,7 @@ endif
 
 bsdcpio_LDADD= libarchive_fe.la libarchive.la $(LTLIBICONV)
 bsdcpio_CPPFLAGS= -I$(top_srcdir)/libarchive -I$(top_srcdir)/libarchive_fe $(bsdcpio_ccstatic) $(PLATFORMCPPFLAGS)
-bsdcpio_LDFLAGS= $(bsdcpio_ldstatic)
+bsdcpio_LDFLAGS= $(bsdcpio_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdcpio_EXTRA_DIST= \
        cpio/bsdcpio.1 \
@@ -1335,7 +1372,7 @@ endif
 
 bsdcat_LDADD= libarchive_fe.la libarchive.la $(LTLIBICONV)
 bsdcat_CPPFLAGS= -I$(top_srcdir)/libarchive -I$(top_srcdir)/libarchive_fe $(bsdcat_ccstatic) $(PLATFORMCPPFLAGS)
-bsdcat_LDFLAGS= $(bsdcat_ldstatic)
+bsdcat_LDFLAGS= $(bsdcat_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdcat_EXTRA_DIST= \
        cat/bsdcat.1 \
@@ -1386,6 +1423,7 @@ bsdcat_test_CPPFLAGS= \
 bsdcat_test_LDADD=libarchive_fe.la
 
 cat/test/list.h: Makefile
+       $(MKDIR_P) cat/test
        cat $(top_srcdir)/cat/test/test_*.c | grep '^DEFINE_TEST' > cat/test/list.h
 
 if BUILD_BSDCAT
@@ -1410,3 +1448,108 @@ bsdcat_test_EXTRA_DIST= \
        cat/test/test_expand.plain.uu \
        cat/test/test_expand.xz.uu \
        cat/test/CMakeLists.txt
+
+#
+#
+# bsdunzip source, docs, etc.
+#
+#
+
+bsdunzip_SOURCES= \
+               unzip/bsdunzip.c \
+               unzip/bsdunzip.h \
+               unzip/bsdunzip_platform.h \
+               unzip/cmdline.c \
+               unzip/la_getline.c \
+               unzip/la_queue.h
+
+if INC_WINDOWS_FILES
+bsdunzip_SOURCES+=
+endif
+
+bsdunzip_DEPENDENCIES = libarchive.la libarchive_fe.la
+
+
+if STATIC_BSDUNZIP
+bsdunzip_ldstatic= -static
+bsdunzip_ccstatic= -DLIBARCHIVE_STATIC
+else
+bsdunzip_ldstatic=
+bsdunzip_ccstatic=
+endif
+
+bsdunzip_LDADD= libarchive_fe.la libarchive.la $(LTLIBICONV)
+bsdunzip_CPPFLAGS= -I$(top_srcdir)/libarchive -I$(top_srcdir)/libarchive_fe $(bsdunzip_ccstatic) $(PLATFORMCPPFLAGS)
+bsdunzip_LDFLAGS= $(bsdunzip_ldstatic) $(DEAD_CODE_REMOVAL)
+
+bsdunzip_EXTRA_DIST= \
+       unzip/bsdunzip.1 \
+       unzip/CMakeLists.txt
+
+
+if BUILD_BSDUNZIP
+# Manpages to install
+bsdunzip_man_MANS= unzip/bsdunzip.1
+bsdunzip_programs= bsdunzip
+else
+bsdunzip_man_MANS=
+bsdunzip_programs=
+endif
+
+#
+# bsdunzip_test
+#
+
+bsdunzip_test_SOURCES= \
+       $(test_utils_SOURCES) \
+       unzip/test/test.h \
+       unzip/test/test_0.c \
+       unzip/test/test_basic.c \
+       unzip/test/test_doubledash.c \
+       unzip/test/test_glob.c \
+       unzip/test/test_not_exist.c \
+       unzip/test/test_singlefile.c \
+       unzip/test/test_C.c \
+       unzip/test/test_p.c \
+       unzip/test/test_d.c \
+       unzip/test/test_j.c \
+       unzip/test/test_L.c \
+       unzip/test/test_n.c \
+       unzip/test/test_o.c \
+       unzip/test/test_q.c \
+       unzip/test/test_t.c \
+       unzip/test/test_t_bad.c \
+       unzip/test/test_version.c \
+       unzip/test/test_x.c \
+       unzip/test/test_Z1.c \
+       unzip/test/test_P_encryption.c \
+       unzip/test/test_I.c
+
+bsdunzip_test_CPPFLAGS= \
+       -I$(top_srcdir)/libarchive -I$(top_srcdir)/libarchive_fe \
+       -I$(top_srcdir)/test_utils \
+       -I$(top_srcdir)/unzip -I$(top_srcdir)/unzip/test \
+       -I$(top_builddir)/unzip/test \
+       $(PLATFORMCPPFLAGS)
+bsdunzip_test_LDADD=libarchive_fe.la
+
+unzip/test/list.h: Makefile
+       $(MKDIR_P) unzip/test
+       cat $(top_srcdir)/unzip/test/test_*.c | grep '^DEFINE_TEST' > unzip/test/list.h
+
+if BUILD_BSDUNZIP
+bsdunzip_test_programs= bsdunzip_test
+bsdunzip_TESTS_ENVIRONMENT= BSDUNZIP=`cd $(top_builddir);/bin/pwd`/bsdunzip$(EXEEXT) BSDUNZIP_TEST_FILES=`cd $(top_srcdir);/bin/pwd`/unzip/test
+else
+bsdunzip_test_programs=
+bsdunzip_TESTS_ENVIRONMENT=
+endif
+
+bsdunzip_test_EXTRA_DIST= \
+       unzip/test/list.h \
+       unzip/test/test_basic.zip.uu \
+       unzip/test/test_encrypted.zip.uu \
+       unzip/test/test_singlefile.zip.uu \
+       unzip/test/test_t_bad.zip.uu \
+       unzip/test/test_I.zip.uu \
+       unzip/test/CMakeLists.txt