Name Date Size

..27-Apr.-20224 KiB

.gitignoreH A D22-Aug.-20211.5 KiB

.gitmodulesH A D13-Aug.-201775

.prev-versionH A D02-Aug.-20214

AUTHORSH A D03-Jan.-20221.6 KiB

bootstrapH A D03-Jan.-202233.9 KiB

bootstrap.confH A D03-Jan.-20223.9 KiB

cfg.mkH A D03-Jan.-20222.6 KiB

ChangeLog-2008H A D03-Jan.-2022157.9 KiB

configure.acH A D03-Jan.-20224.7 KiB

COPYINGH A D13-Aug.-201734.3 KiB

dist-check.mkH A D13-Aug.-20175.7 KiB

doc/H03-Jan.-20224 KiB

exgettextH A D03-Jan.-20223 KiB

gl/lib/H13-Aug.-20174 KiB

gnulib/H13-Aug.-20174 KiB

gnulib-tests/H13-Aug.-20174 KiB

HACKINGH A D03-Jan.-202222 KiB

lib/H03-Jan.-20224 KiB

Makefile.amH A D03-Jan.-20222 KiB

man/H14-Feb.-20224 KiB

NEWSH A D03-Jan.-202217.1 KiB

po/H03-Jan.-20224 KiB

READMEH A D03-Jan.-20222.8 KiB

README-hackingH A D03-Jan.-20224.2 KiB

README-prereqH A D31-Oct.-20211.7 KiB

scripts/git-hooks/H13-Aug.-20174 KiB

src/H03-Jan.-20224 KiB

tests/H24-Jan.-20224 KiB

THANKSH A D13-Aug.-2017771

TODOH A D13-Aug.-2017306

README

1README for GNU DIFF
2
3This directory contains the GNU diff, diff3, sdiff, and cmp utilities.
4Their features are a superset of the Unix features and they are
5significantly faster.
6
7Please see the file COPYING for copying conditions.
8
9Please see the file doc/version.texi for version information.
10
11Please see the file doc/diffutils.texi (or doc/diffutils.info) for
12documentation that can be printed with TeX, or read with the 'info'
13program or with Emacs's 'M-x info'.  Brief man pages are in man/*,
14but they are no substitute for the documentation.
15
16Please see the file ABOUT-NLS for notes about translations.
17
18Please see the file INSTALL for generic compilation and installation
19instructions.  Briefly, you can run "./configure; make install".  The
20command "./configure --help" lists the supported --enable and --with
21options.
22
23If you have a problem with internationalization, you might be able to
24work around it as described in ABOUT-NLS by invoking './configure
25--disable-nls'.  Many of the problems arise from dynamic linking
26issues on non-GNU platforms (e.g. with the iconv library).  Such
27problems tend to be shared by other GNU applications on these
28platforms, and can usually be fixed by carefully tweaking your non-GNU
29installation.  If you have an older version of libiconv, please
30upgrade to the latest one; see <ftp://ftp.gnu.org/gnu/libiconv/>.  If
31the problem seems isolated to diffutils, though, please report a bug.
32
33This program requires a Standard C compiler (C89 or later).  If you
34have a nonstandard compiler, please install GCC first.
35
36If you make changes to the source code, you may need appropriate
37versions of GNU build tools to regenerate the intermediate files.  The
38following versions were used to generate the intermediate files in
39this distribution:
40
41* Autoconf 2.59   <ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.gz>
42* Automake 1.8.3  <ftp://ftp.gnu.org/gnu/automake/automake-1.8.3.tar.gz>
43* gettext 0.14.1  <ftp://ftp.gnu.org/gnu/gettext/gettext-0.14.1.tar.gz>
44* help2man 1.33   <ftp://ftp.gnu.org/gnu/help2man/help2man-1.33.1.tar.gz>
45* Texinfo 4.7     <ftp://ftp.gnu.org/gnu/texinfo/texinfo-4.7.tar.gz>
46
47For any copyright year range specified as YYYY-ZZZZ in this package
48note that the range specifies every single year in that closed interval.
49
50Please report bugs to <bug-diffutils@gnu.org>.
51
52-----
53
54Copyright (C) 1992, 1998, 2001-2002, 2004, 2009-2013, 2015-2022 Free Software
55Foundation, Inc.
56
57This file is part of GNU Diffutils.
58
59Permission is granted to copy, distribute and/or modify this document
60under the terms of the GNU Free Documentation License, Version 1.3 or
61any later version published by the Free Software Foundation; with no
62Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
63Texts.  A copy of the license is included in the "GNU Free
64Documentation License" file as part of this distribution.
65

README-hacking

1Building from a Git repository				-*- outline -*-
2
3These notes intend to help people working on the checked-out sources.
4These requirements do not apply when building from a distribution tarball.
5If this package has a file HACKING, please also read that file for
6more detailed contribution guidelines.
7
8* Requirements
9
10We've opted to keep only the highest-level sources in the Git repository.
11This eases our maintenance burden (fewer merges etc.), but imposes more
12requirements on anyone wishing to build from the just-checked-out sources.
13(The requirements to build from a release are much less and are just
14the requirements of the standard './configure && make' procedure.)
15Specific development tools and versions will be checked for and listed by
16the bootstrap script.  See README-prereq for specific notes on obtaining
17these prerequisite tools.
18
19Valgrind <http://valgrind.org/> is also highly recommended, if
20Valgrind supports your architecture.  See also README-valgrind
21(if present).
22
23While building from a just-cloned source tree may require installing a
24few prerequisites, later, a plain 'git pull && make' typically suffices.
25
26* First Git checkout
27
28You can get a copy of the source repository like this:
29
30        $ git clone git://git.sv.gnu.org/<packagename>
31        $ cd <packagename>
32
33where '<packagename>' stands for 'coreutils' or whatever other package
34you are building.
35
36To use the most-recent Gnulib (as opposed to the Gnulib version that
37the package last synchronized to), do this next:
38
39        $ git submodule foreach git pull origin master
40        $ git commit -m 'build: update gnulib submodule to latest' gnulib
41
42As an optional step, if you already have a copy of the Gnulib Git
43repository, then you can use it as a reference to reduce download
44time and file system space requirements:
45
46        $ export GNULIB_SRCDIR=/path/to/gnulib
47
48The next step is to get and check other files needed to build,
49which are extracted from other source packages:
50
51        $ ./bootstrap
52
53And there you are!  Just
54
55        $ ./configure --quiet #[--disable-gcc-warnings] [*]
56        $ make
57        $ make check
58
59At this point, there should be no difference between your local copy,
60and the Git master copy:
61
62        $ git diff
63
64should output no difference.
65
66Enjoy!
67
68[*] By default GCC warnings are enabled when building from Git.
69If you get warnings with recent GCC and Glibc with default
70configure-time options, please report the warnings to the bug
71reporting address of this package instead of to bug-gnulib,
72even if the problem seems to originate in a Gnulib-provided file.
73If you get warnings with other configurations, you can run
74'./configure --disable-gcc-warnings' or 'make WERROR_CFLAGS='
75to build quietly or verbosely, respectively.
76-----
77
78* Submitting patches
79
80If you develop a fix or a new feature, please send it to the
81appropriate bug-reporting address as reported by the --help option of
82each program.  One way to do this is to use vc-dwim
83<https://www.gnu.org/software/vc-dwim/>), as follows.
84
85  Run the command "vc-dwim --initialize" from the top-level directory
86  of this package's git-cloned hierarchy.
87
88  Edit the (empty) ChangeLog file that this command creates, creating a
89  properly-formatted entry according to the GNU coding standards
90  <https://www.gnu.org/prep/standards/html_node/Change-Logs.html>.
91
92  Make your changes.
93
94  Run the command "vc-dwim" and make sure its output (the diff of all
95  your changes) looks good.
96
97  Run "vc-dwim --commit".
98
99  Run the command "git format-patch --stdout -1", and email its output
100  in, using the output's subject line.
101
102-----
103
104Copyright (C) 2002-2022 Free Software Foundation, Inc.
105
106This program is free software: you can redistribute it and/or modify
107it under the terms of the GNU General Public License as published by
108the Free Software Foundation, either version 3 of the License, or
109(at your option) any later version.
110
111This program is distributed in the hope that it will be useful,
112but WITHOUT ANY WARRANTY; without even the implied warranty of
113MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
114GNU General Public License for more details.
115
116You should have received a copy of the GNU General Public License
117along with this program.  If not, see <https://www.gnu.org/licenses/>.
118

README-prereq

1This gives some notes on obtaining the tools required for development.
2These tools can be used by the 'bootstrap' and 'configure' scripts,
3as well as by 'make'.  They include:
4
5- Autoconf   <https://www.gnu.org/software/autoconf/>
6- Automake   <https://www.gnu.org/software/automake/>
7- Gettext    <https://www.gnu.org/software/gettext/>
8- Git        <https://git-scm.com/>
9- Gzip       <https://www.gnu.org/software/gzip/>
10- Help2man   <https://www.gnu.org/software/help2man/>
11- M4         <https://www.gnu.org/software/m4/>
12- Make       <https://www.gnu.org/software/make/>
13- Perl       <https://www.cpan.org/>
14- Tar        <https://www.gnu.org/software/tar/>
15- Texinfo    <https://www.gnu.org/software/texinfo/>
16- Wget       <http://www.gnu.org/software/wget/>
17- XZ Utils   <https://tukaani.org/xz/>
18
19It is generally better to use official packages for your system.
20If a package is not officially available you can build it from source
21and install it into a directory that you can then use to build this
22package.  If some packages are available but are too old, install the
23too-old versions first as they may be needed to build newer versions.
24
25Here is an example of how to build a program from source.  This
26example is for Autoconf; a similar approach should work for the other
27developer prerequisites.  This example assumes Autoconf 2.71; it
28should be OK to use a later version of Autoconf, if available.
29
30  prefix=$HOME/prefix   # (or wherever else you choose)
31  export PATH=$prefix/bin:$PATH
32  wget https://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.71.tar.gz
33  gzip -d <autoconf-2.71.tar.gz | tar xf -
34  cd autoconf-2.71
35  ./configure --prefix=$prefix
36  make install
37
38Once the prerequisites are installed, you can build this package as
39described in README-hacking.
40