summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Fix "make check" in a subdirectory (VPATH build).Bruno Haible2023-01-301-1/+1
| | | | | * Makefile.am (gzip.doc): Generate gzip.doc in the source directory, not in the build directory.
* maint: update copyright datesJim Meyering2023-01-011-1/+1
|
* maint: link with $(LIB_FDATASYNC)Paul Eggert2022-12-271-1/+3
| | | | | | * Makefile.am (gzip_LDADD): Add LIB_FDATASYNC as gnulib-tool suggests. It’s not likely to make much difference nowadays (does anybody still run Solaris 10 x86?) but it shouldn’t hurt to add it.
* build: support --program-prefix etc.Paul Eggert2022-04-041-1/+36
| | | | | | | | | | | | | | | | Problem reported by Antonio Diaz Diaz via Dagobert Michelsen in: https://bugs.gnu.org/16876 * Makefile.am (.in): Substitute for 'gzip', 'zdiff', 'zgrep'. ($(GZIP_TRANSFORMED), $(ZDIFF_TRANSFORMED), $(ZGREP_TRANSFORMED)): New rules to build forwarding shell scripts, if needed. Add these files to BUILT_SOURCES and MOSTLY_CLEANFILES if needed. * configure.ac (GZIP_TRANSFORMED, ZDIFF_TRANSFORMED, ZGREP_TRANSFORMED): New substituted vars. (GZIP_IS_TRANSFORMED, ZDIFF_IS_TRANSFORMED, ZGREP_IS_TRANSFORMED): New Automake conditions. * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Quote possibly-transformed subcommand names.
* zless: install only on platforms with 'less'Paul Eggert2022-03-311-2/+10
| | | | | | | | | Problem reported by Michael Felt (Bug#30029). * Makefile.am (ZLESS_MAN, ZLESS_PROG): New macros. (man_MANS, bin_SCRIPTS): Use them. * configure.ac: Check for 'less'. * tests/Makefile.am (ZLESS_PROG): New macro. (built_programs): Use it.
* maint: make update-copyrightJim Meyering2022-01-031-1/+1
|
* maint: reduce module couplingPaul Eggert2021-12-011-1/+1
| | | | | | | | | | | | | | | | | If a symbol is extern but never used by another module, make it static instead, or remove it if it is not used anywhere. * Makefile.am (gzip_SOURCES): Remove lzw.c. * bits.c (bi_buf, bi_valid) [!IBM_Z_DFLTCC]: * deflate.c (prev_length, match_start, max_chain_length) (good_match, lm_init): * gzip.c (verbose) [!DEBUG]: * unlzw.c (block_mode): Now static. * gzip.c (help, main, do_lzw): * revision.h: Simplify by assuming !LZW. * util.c (setcrc): Define only if IBM_Z_DFLTCC. (make_simple_name): Define only if NO_MULTIPLE_DOTS.
* maint: update all copyright year number rangesJim Meyering2021-01-011-1/+1
| | | | | | | Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise.
* maint: update all copyright year number rangesJim Meyering2020-01-011-1/+1
| | | | | | | Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise.
* bug#34918: [PATCH] Add support for IBM Z hardware-accelerated deflateIlya Leoshkevich2019-04-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Future versions of IBM Z mainframes will provide DFLTCC instruction, which implements deflate algorithm in hardware with estimated compression and decompression performance orders of magnitude faster than the current gzip and ratio comparable with that of level 1. This patch adds DFLTCC support to gzip. In order to enable it, the following build commands should be used: $ ./configure --enable-dfltcc $ make When built like this, gzip would compress in hardware on level 1, and in software on all other levels. Decompression will always happen in hardware. In order to enable DFLTCC compression for levels 1-6 (i.e. to make it used by default) one could either add -DDFLTCC_LEVEL_MASK=0x7e at compile time, or set the environment variable DFLTCC_LEVEL_MASK to 0x7e at run time. Two DFLTCC compression calls produce the same results only when they both are made on machines of the same generation, and when the respective buffers have the same offset relative to the start of the page. Therefore care should be taken when using hardware compression when reproducible results are desired. One such use case - reproducible software builds - is handled explicitly: when SOURCE_DATE_EPOCH environment variable is set, the hardware compression is disabled. This patch tries to add DFLTCC support in a least intrusive way. All SystemZ-specific code was placed into a separate file, but unfortunately there is still a noticeable amount of changes in the main gzip code. Below is the summary of those changes. DFLTCC will refuse to write an End-of-block Symbol if there is no input data, thus in some cases it is necessary to do this manually. In order to achieve this, bi_buf and bi_valid were promoted to extern variables. lm_init() function moves the input buffer into the window, which is not desirable for DFLTCC. Therefore, its invocation was moved to software-only deflate(). In addition to initializing the window, this function also used to convert compression level to flags, which is still needed for DFLTCC. This responsibility was handed off to zip() function. To achieve maximum performance with DFLTCC, inbuf and outbuf must be 256k big and page-aligned. Additionally, for DFLTCC to work at all, the window must be page-aligned. In addition to compression, DFLTCC computes CRC-32 checksum, therefore, whenever it's used, software checksumming needs to be suppressed and its results replaced by those of dfltcc. This is achieved by introducing the new getcrc() and setcrc() functions. Unlike the current software implementation, DFLTCC decompresses data into the output buffer, and not the window. Therefore, just like flushing the window, flushing the output buffer must honor the test flag. Finally, znew-k test assumes that "znew -K" would not convert the test .Z file to .gz, which is not the case with DFLTCC. Since this is not the main point of the test, this assumption was relaxed.
* maint: update all copyright dates via "make update-copyright"Jim Meyering2019-01-011-1/+1
| | | | * gnulib: Also update submodule for its copyright updates.
* maint: update gnulib and copyright dates for 2018Jim Meyering2018-01-031-1/+1
| | | | | | * gnulib: Update to latest. * bootstrap: Update from gnulib. * all files: Run "make update-copyright".
* build: make each generated script unwritableJim Meyering2017-11-151-2/+3
| | | | | | * Makefile.am (.in): Ensure that each generated script is unwritable. This makes it less likely that someone (even me) will mistakenly modify one of those generated files.
* maint: update gnulib and copyright dates for 2017Jim Meyering2017-01-011-1/+1
| | | | | * gnulib: Update to latest. * all files: Run "make update-copyright".
* Port to Alpine Linux which uses BusyboxPaul Eggert2016-03-261-4/+4
| | | | * Makefile.am (check-local): Use plain diff rather than
* maint: don't ignore gitlog-to-changelog failureJim Meyering2016-03-151-3/+3
| | | | | * Makefile.am (gen-ChangeLog): Don't ignore failure of gitlog-to-changelog. This syncs to coreutils' copy of this rule.
* tests: port to systems for which ":" is not the PATH separatorJim Meyering2016-03-061-8/+11
| | | | | | * Makefile.am (new_path): New variable. (check-local): Use $(PATH_SEPARATOR) rather than a literal ":", to avoid "make syntax-check" failure.
* gzip: remove --__bindirPaul Eggert2016-03-061-11/+11
| | | | | | | | | | | | | | | | | | | * NEWS: Document this. * gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Remove support for undocumented --__bindir option. Callers can set PATH instead; that's less error-prone. This fixes some 'make check' failures on my Solaris 11 box, which occurred because the test scripts were mistakenly testing the installed gzip rather than the gzip in the working directory. * Makefile.am (.in): Don't replace bindir. (check-local): Set PATH instead of using --__bindir. * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) (znew_setuphelp): Remove. All uses removed. (lbracket_setup): Default args to empty.
* gzip: support the --rsyncable optionRusty Russell2016-03-021-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | * deflate.c: Include verify.h. (RSYNC_WIN, RSYNC_SUM_MATCH): Define. (rsync_sum, rsync_chunk_end): Declare file-scoped globals. (lm_init): Initialize globals. (fill_window): Update rsync_chunk_end. (rsync_roll): New function. (RSYNC_ROLL): New macro. (FLUSH_BLOCK): Update for new "pad" parameter. (deflate_fast): Use RSYNC_ROLL and flush/pad. (deflate): Likewise. * trees.c (flush_block): Add "pad" parameter. * gzip.c (rsync): New global. (RSYNCABLE_OPTION, longopts, help): Add the option. (main): Set the new global. * gzip.h (rsync): Declare new global. (flush_block): Update prototype. * doc/gzip.texi: Document it. * gzip.1: Likewise. * bootstrap.conf: Use verify module. * NEWS (New feature): Mention it. * Makefile.am (check-local): Add tests and use AM_V__* command- hiding opions. Reported against Debian here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118
* maint: update copyright year, bootstrap, init.shJim Meyering2016-01-011-1/+1
| | | | | | | | | Run "make update-copyright" and then... * gzip.c: Transform the copyright notice via s/2015/2016/. * gnulib: Update to latest. * tests/init.sh: Update from gnulib. * bootstrap: Likewise.
* maint: update copyright year ranges to include 2015; update gnulibJim Meyering2015-01-011-1/+1
|
* maint: udpate all copyright notices via "make update-copyright"Jim Meyering2014-06-071-1/+1
|
* build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGSJim Meyering2013-06-091-1/+0
| | | | | * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable. * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).
* maint: update all copyright year number rangesJim Meyering2013-01-041-1/+1
| | | | Run "make update-copyright".
* zgrep: do not assume standard 'grep' has -ePaul Eggert2012-10-201-0/+1
| | | | | | | | | On Solaris 11, /usr/bin/grep -e does not work. Problem reported by Petr Sumbera in <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>. * Makefile.am (.in): Substitute @GREP@. * configure.ac (AC_PROG_GREP): Invoke. * zgrep.in (grep): Use @GREP@.
* maint: update all copyright year number rangesJim Meyering2012-01-011-1/+1
| | | | Run "make update-copyright".
* maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,Jim Meyering2011-08-101-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and all files therein. This was proposed months prior, and no one objected. * amiga/Makefile.gcc: Remove file. * amiga/Makefile.sasc: Likewise. * amiga/match.a: Likewise. * amiga/tailor.c: Likewise. * amiga/utime.h: Likewise. * atari/Makefile.st: Likewise. * msdos/Makefile.bor: Likewise. * msdos/Makefile.djg: Likewise. * msdos/Makefile.msc: Likewise. * msdos/doturboc.bat: Likewise. * msdos/gzip.prj: Likewise. * msdos/match.asm: Likewise. * msdos/tailor.c: Likewise. * nt/Makefile.nt: Likewise. * os2/Makefile.os2: Likewise. * os2/gzip.def: Likewise. * os2/gzip16.def: Likewise. * vms/Makefile.gcc: Likewise. * vms/Makefile.mms: Likewise. * vms/Makefile.vms: Likewise. * vms/Readme.vms: Likewise. * vms/gzip.hlp: Likewise. * vms/makegzip.com: Likewise. * vms/vms.c: Likewise. * Makefile.am (EXTRA_DIST): Remove those file names.
* maint: remove crypt.[ch] stubsJim Meyering2011-05-091-2/+2
| | | | | | | | | | * Makefile.am (gzip_SOURCES): Remove crypt.c (EXTRA_DIST): Remove crypt.h * crypt.c, crypt.h: Remove files. * unpack.c: Don't #include "crypt.h" * zip.c: Likewise * util.c: Likewise. * unzip.c: Likewise.
* maint: prepare for tight-scope rule: use noinst_HEADERSJim Meyering2011-05-091-1/+2
| | | | | | * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ... (noinst_HEADERS): ...here. For convenience, since the tight-scope rule uses $(noinst_HEADERS).
* maint: update copyright year ranges to include 2011Jim Meyering2011-01-031-1/+1
| | | | Run "make update-copyright", so "make syntax-check" works in 2011.
* maint: remove primos supportJim Meyering2010-04-261-4/+2
| | | | | | | | | | | | | * Makefile.am (EXTRA_DIST): Remove all primos/ files. * primos/build.cpl: Remove file. * primos/ci.opts: Likewise. * primos/include/errno.h: Likewise. * primos/include/fcntl.h: Likewise. * primos/include/stdlib.h: Likewise. * primos/include/sysStat.h: Likewise. * primos/include/sysTypes.h: Likewise. * primos/primos.c: Likewise. * primos/readme: Likewise.
* build: include cfg.mk in the distribution tarballJim Meyering2010-04-081-0/+1
| | | | * Makefile.am (EXTRA_DIST): Add cfg.mk.
* build: keep --version strictly up to dateJim Meyering2010-04-071-1/+21
| | | | | | | | | | | | Before this change, in development, gzip's --version output could lag behind reality by a couple deltas or by a "-dirty" suffix. That would lead to spurious failure of the new --version-$VERSION PATH cross-check. * Makefile.am (version.c, version.h): New rules. (BUILT_SOURCES): Set/append. (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define. (gzip_LDADD): Add libver.a. (DISTCLEANFILES): Define. * gzip.c (license): Use Version, not VERSION.
* tests: run most tests via tests/Makefile.amJim Meyering2010-04-061-63/+2
| | | | | | | | | | | | | | | | | | | * Makefile.am (SUBDIRS): List tests after ".". Move most test-related things from here to ... * tests/Makefile.am: ... here. * configure.ac (AC_CONFIG_FILES): Add tests/Makefile. * tests/helin-segv: Adjust. * tests/help-version: Likewise. * tests/hufts: Likewise. * tests/memcpy-abuse: Likewise. * tests/mixed: Likewise. * tests/null-suffix-clobber: Likewise. * tests/stdin: Likewise. * tests/trailing-nul: Likewise. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. * tests/zgrep-signal: Likewise. * tests/znew-k: Likewise.
* tests: arrange for skip and failure notices to go to stderr, not .logJim Meyering2010-04-061-0/+1
| | | | | | * tests/init.cfg: New file. Make init.sh's stderr_fileno_ match what the "exec 9>&2" we use in TESTS_ENVIRONMENT. * Makefile.am (EXTRA_DIST): Add it.
* build: use gnulib's lib-ignore moduleJim Meyering2010-04-061-0/+3
| | | | | * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps. * Makefile.am (AM_LDFLAGS): Define it.
* tests: exercise the fix for the decompression data-loss bugJim Meyering2010-02-221-0/+1
| | | | | * tests/null-suffix-clobber: New file. * Makefile.am (TESTS): Add it.
* tests: add the help-version sanity tests from coreutilsJim Meyering2010-02-071-0/+1
| | | | | * tests/help-version: New file, from coreutils. * Makefile.am (TESTS): Add it.
* tests: make distcheck invoke "make syntax-check" and other testsJim Meyering2010-02-071-0/+8
| | | | | | * dist-check.mk: New file, from coreutils. * cfg.mk: Include it. * Makefile.am (distcheck-hook): New rule, to make us use it.
* tests: flip and adjust mixed test, now that the bug is fixedJim Meyering2010-02-041-3/+1
| | | | | | | * NEWS (Bug fixes): Mention the fix. * Makefile.am (XFAIL_TESTS): Move tests/mixed from here... (TESTS): ...to here. * tests/mixed: Comment out the currently (always?) failing part.
* zgrep: terminate gracefully when a pipeline is interrupted by a signalDmitry V. Levin2010-02-041-0/+1
| | | | | | | | | | | | | | | | zgrep is not terminated gracefully when its grep/sed pipeline is terminated by a signal. For example, a command like zgrep -F .TH /usr/share/man/man1/*.gz | head continues working long after the "head" process completes. Another example, a command like zgrep unmatched-pattern /usr/share/man/man1/*.gz cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs zgrep: line 221: test: : integer expression expected and goes on. * zgrep.in: Terminate gracefully when the grep/sed pipeline is terminated by a signal. * tests/zgrep-signal: New test. * Makefile.am (TESTS): Add it.
* gzip -cdf mishandles some concatenated input streams: test itJim Meyering2010-02-031-0/+3
| | | | | | * tests/mixed: Exercise "gzip -cdf" bug. * Makefile.am (XFAIL_TESTS): Add it. Mark Adler reported the bug.
* tests: move the hufts-segv test to its own fileJim Meyering2010-02-031-2/+1
| | | | | | * tests/hufts: New test. * Makefile.am (TESTS): Add tests/ (check-local): Remove the hufts-segv test from this rule.
* tests: begin moving tests into their own filesJim Meyering2010-02-031-2/+1
| | | | | | * Makefile.am (TESTS): Add tests/stdin. (check-local): Move the stdin check to its own file: * tests/stdin: New script.
* fix "znew -K" to work without use of compress utilityDmitry V. Levin2010-02-011-1/+2
| | | | | | | * znew.in: Change -K option to imply -t, do not use compress(1). * znew.1: Document it. * tests/znew-k: New test. * Makefile.am (TESTS): Add it.
* tests: exercise the segfault fixJim Meyering2010-01-201-0/+1
| | | | | * tests/helin-segv: New test. * Makefile.am (TESTS): Add it.
* gzip -d would fail with a CRC error...Jim Meyering2010-01-111-0/+1
| | | | | | | | | | | | | | | | ...for some inputs, and some memcpy implementations. It is possible that an offending input has to be compressed "from FAT filesystem (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a CRC error when uncompressed and recompressed on a GNU/Linux system. Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs on a GNU/Linux system did not turn up another reproducer. * inflate.c (inflate_codes): Don't call memcpy with overlapping regions. Properly detect when source and destination overlap. * tests/memcpy-abuse: New test, to trigger misbehavior. * Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Alain Magloire in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
* tests: switch to gnulib's init.sh test infrastructureJim Meyering2010-01-081-1/+1
| | | | | | | | | * tests/test-lib.sh: Remove file. * tests/init.sh: New file, from gnulib. * tests/trailing-nul: Use the new file. * tests/zdiff: Likewise. * tests/zgrep-f: Likewise. * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
* maint: update all FSF copyright year lists to include 2010Jim Meyering2010-01-011-1/+2
| | | | | | Use this command: git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \ env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
* build: with --enable-gcc-warnings, use -WerrorJim Meyering2009-12-301-1/+1
| | | | | | * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS). * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and $(WERROR_CFLAGS).