summaryrefslogtreecommitdiff
path: root/bootstrap.conf
Commit message (Collapse)AuthorAgeFilesLines
* gnulib: fix Y2038 bug (again)Carlo Marcelo Arenas Belón2023-05-131-0/+1
| | | | | | | | | | AC_SYS_LARGEFILE meaning has changed, need AC_SYS_YEAR2038 as well * NEWS: mention this * tests: add test * bootstrap.conf: add year2038 Copyright-paperwork-exempt: yes
* build: update gnulib submodule to latestPaul Eggert2023-02-071-1/+1
|
* diff: use C23 boolPaul Eggert2023-02-051-0/+1
| | | | | * bootstrap.conf (gnulib_modules): Add stdbool. * src/die.h, src/system.h: Do not include <stdbool.h>.
* diff: prefer nullptr to NULLPaul Eggert2023-02-051-0/+1
| | | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add c-nullptr. * src/cmp.c (main): * src/context.c (pr_context_hunk, pr_unidiff_hunk) (mark_ignorable, find_function): * src/diff.c (longopts, main, specify_value, specify_style) (specify_colors_style, compare_files): * src/diff3.c (main, process_diff): * src/dir.c (find_dir_file_pathname): * src/ifdef.c (scan_char_literal): * src/sdiff.c (main): * src/util.c (process_signals, install_signal_handlers) (color_ext_list, color_indicator, indicator_name) (parse_diff_color): Prefer C23-style nullptr to NULL, as nullptr is a bit better.
* tests: avoid large-subopt XPASS on systems without perlJim Meyering2023-01-051-0/+1
| | | | | | | * tests/large-subopt: Use $PERL, rather than hard-coding "perl". * bootstrap.conf (gnulib_modules): Add "perl" to the list. Reported by Bruno Haible in https://lists.gnu.org/r/diffutils-devel/2023-01/msg00000.html
* maint: update copyright datesJim Meyering2023-01-011-1/+1
|
* maint: make update-copyrightJim Meyering2022-01-031-1/+1
|
* doc: copy fdl.texi into gitPaul Eggert2021-10-161-1/+0
| | | | | | | | This pacifies this notice from ./bootstrap: “Notice from module fdl: Don't use this module! Instead, copy the referenced license file into your version control repository.” * bootstrap.conf (gnulib_modules): Remove fdl. * doc/fdl.texi: New file, taken from Gnulib.
* maint: direct dependency on time_rz nowPaul Eggert2021-10-161-0/+1
| | | | | Now that diff calls tzalloc, it depends directly on time_rz. * bootstrap.conf (gnulib_modules): Add time_rz.
* maint: prefer attribute.h attributesPaul Eggert2021-08-301-0/+1
| | | | | | | | | | Prefer the macros used in attribute.h, and _Noreturn, to the by-hand use of __attribute__, as this is more portable. * bootstrap.conf (gnulib_modules): Add attribute. * src/system.h: Include attribute.h. All uses of attributes changed to use the attribute.h macros. Plus, use _Noreturn. (FALLTHROUGH): Remove; attribute.h now defines this.
* diff: use variable arg list for messagesPaul Eggert2021-08-301-1/+1
| | | | | | | | | | | | | | | | | This simplifies the code by using varargs. * bootstrap.conf (gnulib_modules): Add flexmember. (XGETTEXT_OPTIONS): Do not flag message5. * src/util.c: Include flexmember.h, stdarg.h. (struct msg): New members msgid, argbytes. args is now FLEXIBLE_ARRAY_MEMBER, and does not contain msgid. All uses changed. (message): Now varargs. Detect number of args by counting '%'s. Use FLEXSIZEOF, to avoid problems on systems with buggy allocators. Avoid redundant ‘*p = 0’ when *p is already zero after stpcpy. (message5): Remove; all callers changed to use ‘message’. (print_message_queue): Abort if too many args were passed; this cannot happen with current diffutils.
* diff: cleanup signal handling just before exitPaul Eggert2021-08-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This should fix an unlikely signal handling bug with colored output, and should also fix a Debian FTBFS (Fails To Build From Source) on powerpc64le-linux. See Bug#34519 and Frédéric Bonnard’s report in: https://bugs.debian.org/922552#19 * bootstrap.conf (gnulib_modules): Add raise, sigprocmask. * src/diff.c (main): Call cleanup_signal_handlers before exiting. Don’t bother calling ‘exit’; no longer needed nowadays. * src/util.c (sigprocmask, siginterrupt) [!SA_NOCLDSTOP]: Define to 0 instead of empty, since the results are now used. (sigset_t) [!SA_NOCLDSTOP]: Remove; we now rely on Gnulib. (xsigaction) [SA_NOCLDSTOP]: New function. (xsigaddset, xsigismember, xsignal, xsigprocmask): New functions. (some_signals_caught): New static var. (process_signals): Omit a conditional branch. Don’t bother loading interrupt_signal if stop_signal_count is nonzero. (process_signals, install_signal_handlers): Check for failures from sigprocmask etc. (sig, nsig): Now at top level, since multiple functions need them. (install_signal_handlers): No need for caught_sig array; just use caught_signals. However, set some_signals_caught. (cleanup_signal_handlers): New function.
* diff: avoid sprintf %sPaul Eggert2021-08-221-1/+0
| | | | | | | | | | | | sprintf fails if the result contains more than INT_MAX bytes, so rework the code to avoid usage of sprintf %s where the string might be longer than that. * bootstrap.conf (gnulib_modules): Remove xvasprintf. * src/diff.c (specify_style): * src/util.c (begin_output): Rewrite to avoid sprintf %s. * src/util.c: Do not include xvasprintf.h. (concat): Remove, as it uses sprintf %s. All uses rewritten.
* diff: use mempcpyPaul Eggert2021-08-221-0/+2
| | | | | | | | | * bootstrap.conf (gnulib_modules): Add mempcpy, stpcpy. * src/ifdef.c (do_printf_spec): * src/sdiff.c (expand_name, lf_snarf, temporary_file): * src/util.c (message5): Prefer mempcpy to memcpy plus manual size-updating. Prefer stpcpy to mempcpy plus manual size-spec.
* diff: plug memory leak in ifdef.cPaul Eggert2021-03-241-1/+1
| | | | | | | | | | | Problem reported by Than (Bug#47362). Fix the bug by using xmalloca instead of vararrays. * bootstrap.conf (gnulib_modules): Add xmalloca; remove vararrays. * configure.ac: Remove AC_C_VARARRAYS. * src/ifdef.c: Include xmalloca.h instead of xalloc.h. (do_printf_spec): Use xmalloca instead of an xmalloc that lacks a corresponding ‘free’ if HAVE_C_VARARRAYS due to a typo in 2017-05-18T05:51:31Z!meyering@fb.com.
* 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.
* maint: avoid gnulib-tool deprecation warnings, and build failureJim Meyering2019-12-291-3/+2
| | | | | | | * bootstrap.conf (gnulib_modules): Use getopt-gnu, rather than obsolete "getopt" module. Use nstrftime in place of strftime. (avoided_gnulib_modules): Do not avoid the "lock" module. That would lead to a build failure due to "glthread/lock.h not found".
* maint: avoid gnulib's lock-tests moduleJim Meyering2019-12-291-0/+1
| | | | | * bootstrap.conf (avoided_gnulib_modules): Also --avoid=lock-tests to avoid gnulib-related build failure.
* maint: tweak bootstrap.confJim Meyering2019-12-201-11/+35
| | | | | | | | | * bootstrap.conf (buildreq): Require at least autoconf 2.62, up from 2.61, just as grep and coreutils do. (bootstrap_post_import_hook): "Copy pkg-config's pkg.m4 ...", copied from grep's bootstrap.conf. (avoided_gnulib_modules): Pull this definition to the top. Formatting.
* diff: don’t mistreat -N in arg as a large numberPaul Eggert2019-08-271-2/+2
| | | | | | | | | | | | | | Problem reported by alec (Bug#35256). * NEWS: Mention the fix. * bootstrap.conf (gnulib_modules): Use strtoimax and xstrtoimax, not strtoumax and strtoumax. * src/cmp.c (bytes): Now signed, with -1 representing no limit. All uses changed. * src/cmp.c (specify_ignore_initial, main): * src/diff.c (main): * src/ifdef.c (format_group): * src/sdiff.c (interact): Use strtoimax, not strtoumax.
* maint: avoid Gnulib setlocale modulePaul Eggert2019-07-191-0/+1
| | | | | | | Problem reported for MS-Windows by Richard Gering (Bug#34376). Diffutils doesn’t need any of the Gnulib fixes for setlocale. * bootstrap.conf (gnulib_tool_option_extras): Avoid the setlocale module.
* diff: use xstdopen, not stdopenPaul Eggert2019-01-061-1/+1
| | | | | | * bootstrap.conf (gnulib_modules): * src/cmp.c, src/diff.c, src/diff3.c, src/sdiff.c (main): Use xstdopen, not stdopen.
* diff: remove unportable ‘diff -N - f <&-’ featurePaul Eggert2019-01-051-0/+1
| | | | | | | | | | | | * NEWS: Mention this. * bootstrap.conf (gnulib_modules): Add stdopen. * doc/diffutils.texi (Comparing Directories): Do not document behavior if stdin is closed. * src/diff.c: Include stdopen.h. (main): Call stdopen early. (compare_files) [__hpux]: Remove recently-introduced special case for HP-UX exec with stdin closed. * tests/new-file: Remove tests of the removed feature.
* 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-061-1/+1
| | | | | | * gnulib: Update to latest. * all files: Run "make update-copyright". * bootstrap: Update from gnulib.
* maint: update gnulib and copyright dates for 2017Jim Meyering2017-01-011-1/+1
| | | | | * gnulib: Update to latest. * all files: Run "make update-copyright".
* maint: require that commit messages be of a certain formJim Meyering2016-08-131-0/+25
| | | | | | | | | | | | * bootstrap.conf (bootstrap_epilogue): Merge from coreutils, so that a local commit hook will now help enforce consistent commit messages. * Makefile.am (check-git-hook-script-sync): New rule, largely copied from coreutils. * scripts/git-hooks/commit-msg: New file, from coreutils, but with adapted list of program names. * scripts/git-hooks/applypatch-msg: New file, from git. * scripts/git-hooks/pre-applypatch: Likewise. * scripts/git-hooks/pre-commit: Likewise.
* build: Solaris 9: avoid link failure due to isblank useJim Meyering2016-08-011-0/+1
| | | | | * bootstrap.conf (gnulib_modules): Add isblank, to avoid a link error on Solaris 9 Sparc. Reported by Dagobert Michelsen.
* maint: update prereq version of gettextJim Meyering2016-01-311-54/+3
| | | | | | * configure.ac: Increase designated gettext version to 0.19.2 * bootstrap.conf (buildreq): Likewise. Remove now-unnecessary code to remove gettext-provided files.
* maint: update copyright year, bootstrap, init.shJim Meyering2016-01-011-1/+1
| | | | | | | | Run "make update-copyright" and then... * gnulib: Update to latest. * tests/init.sh: Update from gnulib. * bootstrap: Likewise.
* build: add gperf to the list of required programsJim Meyering2015-11-291-0/+1
| | | | | * bootstrap.conf (buildreq): Add gperf to the list. Reported by Stephan Müller in http://debbugs.gnu.org/21945
* diff: add --paletteGiuseppe Scrivano2015-11-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | * bootstrap (gnulib_modules): Add 'argmatch'. * doc/diffutils.texi: Add documentation for --palette * src/diff.h (set_color_palette): New prototype. * src/diff.c (set_color_palette): New function. (color_palette): New variable. * src/utils.c: Include "argmatch.h". (struct bin_str): New struct. (struct color_ext_type): New struct. (color_indicator): New array. (indicator_name): New array. (indicator_no): New enum. (parse_state): New enum. (put_indicator): New function. (get_funky_string): New function. Copied from coreutils ls. (parse_diff_color): New function. Copied from coreutils ls "parse_ls_color" function. (set_color_context): Use put_indicator instead of directly outputting the sequence. * po/POTFILES.in: Add 'lib/argmatch.c'
* maint: update copyright year ranges to include 2015; update gnulibJim Meyering2015-01-011-1/+1
|
* cmp, diff, sdiff: tune by using rawmemchrPaul Eggert2013-08-221-0/+1
| | | | | | | | | | | | | | | On my platform (AMD Phenom II X4 910e, Fedora 17 x86-64), this sped up 'cmp -n 8GiB /dev/full /dev/zero' by a factor of 3.8, and 'cmp -sn 8GiB /dev/full /dev/zero' by a factor of 1.8. * bootstrap.conf (gnulib_modules): Add rawmemchr. * src/cmp.c (cmp): Optimize the common case where buffers are the same, by using count_newlines rather than block_compare_and_count. (block_compare_and_count): Remove. (count_newlines): New function. * src/cmp.c (count_newlines): * src/io.c (prepare_text): * src/sdiff.c (lf_copy, lf_skip, lf_snarf): Use rawmemchr instead of memchr, for speed.
* maint: update build procedure to recent gettext etc.Paul Eggert2013-03-231-10/+38
| | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add vararrays. (needed_gnulib_files, unnecessary_gettext_files): New vars. (bootstrap_post_import_hook): New function, to implement these vars. (excluded_files): Remove; 'bootstrap' no longer supports this. Its function is now performed by unnecessary_gettext_files. (buildreq): Update automake to 1.12.2, to avoid CVE-2012-3386. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump from 0.17 to 0.18.2, to lessen the probability that we'll have outlandishly old files during a build. * m4/vararrays.m4: Remove from repository, as we now use the gnulib version.
* maint: update all copyright year number rangesJim Meyering2013-01-041-1/+1
| | | | Run "make update-copyright".
* maint: use xasprintf in place of xmalloc+sprintfJim Meyering2012-09-101-0/+1
| | | | | | * bootstrap.conf (gnulib_modules): Add gnulib's xvasprintf module. * src/util.c: Include "xvasprintf.h". (begin_output): Use xasprintf in place of xmalloc+sprintf.
* main: port subcommands to mingwPaul Eggert2012-05-141-0/+1
| | | | | | | | | | | | | | | | | | | Problem reported by Eli Zaretskii in <http://lists.gnu.org/archive/html/bug-gnu-utils/2012-05/msg00013.html>. Approach suggested by Bruno Haible as option (4) in <http://lists.gnu.org/archive/html/bug-gnu-utils/2012-05/msg00036.html>. * bootstrap.conf (gnulib_modules): Add system-quote. * src/diff3.c, src/sdiff.c, src/util.c: Include <system-quote.h>, not <sh-quote.h>. * src/diff3.c (read_diff): * src/sdiff.c (main, edit): * src/util.c (begin_output): Use system_quote_argv, for portability to Mingw. * src/sdiff.c (NUM_SIGS, handler_index_of_SIGINT): Now enum values, not macros; this is cleaner and avoids a GCC warning if !HAVE_WORKING_VFORK. * src/util.c (begin_output) [! HAVE_WORKING_FORK]: Do not use -f, for consistency with the HAVE_WORKING_FORK code.
* sdiff: remove dependency on sigprocmaskPaul Eggert2012-02-121-1/+0
| | | | | | * bootstrap.conf (gnulib_modules): Remove sigprocmask. * src/sdiff.c (temporary_file): No need to invoke sigprocmask here, since the signal handler merely sets a flag.
* build: accommodate newer bootstrap from gnulibJim Meyering2012-01-121-5/+3
| | | | | | | | | * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink and --makefile-name=gnulib.mk. Also remove now-obsolete $bt/ prefix. * bootstrap: Update from gnulib. * tests/init.sh: Update from gnulib. * lib/Makefile.am: Initialize numerous variables, so that generated code in gnulib.mk may use += to append to them.
* New option --no-dereference.Bruno Haible2012-01-081-0/+3
| | | | | | | | | | | | | | | * src/diff.h (no_dereference_symlinks): New variable. * src/diff.c: Include xreadlink.h. (longopts): Add --no-dereference option. (main): Accept --no-dereference option. (option_help_msgid): Mention the --no-dereference option. (compare_files): If no_dereference_symlinks is true, use lstat() instead of stat(). Compare symbolic links by comparing their values. * bootstrap.conf (gnulib_modules): Add lstat, stat, xreadlink. * doc/diffutils.texi (Comparing Directories, diff Options): Mention the --no-dereference option. * tests/no-dereference: New file. * tests/Makefile.am (TESTS): Add it.
* maint: update all copyright year number rangesJim Meyering2012-01-011-1/+1
| | | | Run "make update-copyright".
* portability: use SET_BINARY rather than xfreopen (NULL, ...Claudio Bley2011-10-041-0/+1
| | | | | | | * src/diff.c: Include binary-io.h, not xfreopen.h. (main): Use SET_BINARY (...) rather than xfreopen (NULL, X, ...), because the latter doesn't work on MinGW and crashes using MSVC. * src/cmp.c (main): Likewise.
* * bootstrap.conf (gnulib_modules): Remove timegm.Paul Eggert2011-08-131-1/+0
| | | | | This fixes a problem noted by Andreas Schwab in: http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00035.html
* build: use largefile module and update to latest gnulibJim Meyering2011-08-101-0/+1
| | | | | | * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ... * bootstrap.conf (gnulib_modules): ...this. Use largefile module. * gnulib: Update to latest.
* bootstrap: Avoid multithreading.Paul Eggert2011-05-271-2/+4
| | | | | | | | | * bootstrap.conf (gnulib_tool_option_extras): Add "--avoid=localename --avoid=lock", because we don't want to bring in the multithreading code that recent gnulib changes would otherwise bring in. (excluded_files): Remove m4/lock.m4; no longer needed, now that we use --avoid=lock.
* maint: use gnulib's new readme-release moduleJim Meyering2011-05-181-0/+2
| | | | | | | * bootstrap.conf (gnulib_modules): Add readme-release. (bootstrap_epilogue): Add the recommended perl one-liner. * README-release: Remove file; it is now generated from gnulib. * .gitignore: Add it.
* maint: don't use now-removed gnulib "exit" moduleJim Meyering2011-05-181-1/+0
| | | | | * bootstrap.conf (gnulib_modules): Remove "exit" module. It no longer exists.
* maint: update copyright year ranges to include 2011Jim Meyering2011-01-031-1/+1
| | | | Run "make update-copyright", so "make syntax-check" works in 2011.