doc: README-hacking tweak
[platform/upstream/coreutils.git] / README-hacking
1 -*- outline -*-
2
3 These notes intend to help people working on the checked-out sources.
4 These requirements do not apply when building from a distribution tarball.
5 See also HACKING for more detailed coreutils contribution guidelines.
6
7 * Requirements
8
9 We've opted to keep only the highest-level sources in the GIT repository.
10 This eases our maintenance burden, (fewer merges etc.), but imposes more
11 requirements on anyone wishing to build from the just-checked-out sources.
12 Specific tools and versions will be checked for and listed by the
13 bootstrap script shown below, and will include:
14
15 - Automake <http://www.gnu.org/software/automake/>
16 - Autoconf <http://www.gnu.org/software/autoconf/>
17 - Bison <http://www.gnu.org/software/bison/>
18 - Gettext <http://www.gnu.org/software/gettext/>
19 - Git <http://git.or.cz/>
20 - Gperf <http://www.gnu.org/software/gperf/>
21 - Gzip <http://www.gnu.org/software/gzip/>
22 - Perl <http://www.cpan.org/>
23 - Rsync <http://samba.anu.edu.au/rsync/>
24 - Tar <http://www.gnu.org/software/tar/>
25
26 - Valgrind
27
28 Valgrind <http://valgrind.org/> is also highly recommended, if
29 Valgrind supports your architecture. See also README-valgrind.
30
31 - XZ utils (successor to LZMA)
32
33 This package's build procedure uses XZ to create a compressed
34 distribution tarball.  Using this feature of Automake requires
35 version 1.10a or newer, as well as the xz program itself.
36 Make sure you have the latest version of the XZ Utils from
37 <http://tukaani.org/xz/>
38
39 While building from a just-cloned source tree may require installing a
40 few prerequisites, later, a plain `git pull && make' should be sufficient.
41
42 * First GIT checkout
43
44 You can get a copy of the source repository like this:
45
46         $ git clone git://git.sv.gnu.org/coreutils
47         $ cd coreutils
48
49 The next step is to get and check other files needed to build,
50 which are extracted from other source packages:
51
52         $ ./bootstrap
53
54 And there you are!  Just
55
56         $ ./configure #[--enable-gcc-warnings]
57         $ make
58         $ make check
59
60 At this point, there should be no difference between your local copy,
61 and the GIT master copy:
62
63         $ git diff
64
65 should output no difference.
66
67 Enjoy!
68
69 -----
70
71 Copyright (C) 2002-2009 Free Software Foundation, Inc.
72
73 This program is free software: you can redistribute it and/or modify
74 it under the terms of the GNU General Public License as published by
75 the Free Software Foundation, either version 3 of the License, or
76 (at your option) any later version.
77
78 This program is distributed in the hope that it will be useful,
79 but WITHOUT ANY WARRANTY; without even the implied warranty of
80 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
81 GNU General Public License for more details.
82
83 You should have received a copy of the GNU General Public License
84 along with this program.  If not, see <http://www.gnu.org/licenses/>.
85
86 Local Variables:
87 indent-tabs-mode: nil
88 End: