]> 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 7d75ef92652c07d8de4ec59f741540db96eeed76..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.
@@ -284,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) $(GC_SECTIONS)
+libarchive_la_LDFLAGS= -no-undefined -version-info $(ARCHIVE_LIBTOOL_VERSION) $(DEAD_CODE_REMOVAL)
 libarchive_la_LIBADD= $(LTLIBICONV)
 
 # Manpages to install
@@ -449,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 \
@@ -513,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 \
@@ -683,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 \
@@ -742,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 \
@@ -762,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 \
@@ -775,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 \
@@ -894,6 +914,8 @@ libarchive_test_EXTRA_DIST=\
        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 \
@@ -903,6 +925,7 @@ 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 \
@@ -1029,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) $(GC_SECTIONS)
+bsdtar_LDFLAGS= $(bsdtar_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdtar_EXTRA_DIST= \
        tar/bsdtar.1 \
@@ -1195,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) $(GC_SECTIONS)
+bsdcpio_LDFLAGS= $(bsdcpio_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdcpio_EXTRA_DIST= \
        cpio/bsdcpio.1 \
@@ -1349,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) $(GC_SECTIONS)
+bsdcat_LDFLAGS= $(bsdcat_ldstatic) $(DEAD_CODE_REMOVAL)
 
 bsdcat_EXTRA_DIST= \
        cat/bsdcat.1 \
@@ -1400,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
@@ -1424,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