README
1This is the GNU implementation of sed, the Unix stream editor.
2
3GNU Sed website: https://www.gnu.org/software/sed/
4
5See the NEWS file for a brief summary and the ChangeLog for
6more detailed descriptions of changes.
7
8If you obtained this file as part of a "git clone", then see the
9README-hacking file. If this file came to you as part of a tar archive,
10then see the file INSTALL for compilation and installation instructions.
11
12See the file BUGS for instructions about reporting bugs.
13
14See the files AUTHORS and THANKS for a list of authors and other contributors.
15
16After installation run 'sed --help' or 'man sed' for short usage information,
17and 'info sed' for the complete manual. The manual is also available on
18sed's website.
19
README-hacking
1-*- 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.
5
6* Requirements
7
8We've opted to keep only the highest-level sources in the GIT repository.
9This eases our maintenance burden, (fewer merges etc.), but imposes more
10requirements on anyone wishing to build from the just-checked-out sources.
11Note the requirements to build the released archive are much less and
12are just the requirements of the standard ./configure && make procedure.
13Specific development tools and versions will be checked for and listed by
14the bootstrap script. See README-prereq for specific notes on obtaining
15these prerequisite tools.
16
17Valgrind <http://valgrind.org/> is also highly recommended, if
18Valgrind supports your architecture. See also README-valgrind.
19
20While building from a just-cloned source tree may require installing a
21few prerequisites, later, a plain 'git pull && make' should be sufficient.
22
23* First GIT checkout
24
25You can get a copy of the source repository like this:
26
27 $ git clone git://git.sv.gnu.org/sed
28 $ cd sed
29
30As an optional step, if you already have a copy of the gnulib git
31repository on your hard drive, then you can use it as a reference to
32reduce download time and disk space requirements:
33
34 $ export GNULIB_SRCDIR=/path/to/gnulib
35
36The next step is to get and check other files needed to build,
37which are extracted from other source packages:
38
39 $ ./bootstrap
40
41To use the most-recent gnulib (as opposed to the gnulib version that
42the package last synchronized to), do this next:
43
44 $ git submodule foreach git pull origin master
45 $ git commit -m 'build: update gnulib submodule to latest' gnulib
46
47And there you are! Just
48
49 $ ./configure --quiet #[--enable-gcc-warnings] [*]
50 $ make
51 $ make check
52
53At this point, there should be no difference between your local copy,
54and the GIT master copy:
55
56 $ git diff
57
58should output no difference.
59
60Enjoy!
61
62[*] The --enable-gcc-warnings option is useful only with glibc
63and with a very recent version of gcc. You'll probably also have
64to use recent system headers. If you configure with this option,
65and spot a problem, please be sure to send the report to the bug
66reporting address of this package, and not to that of gnulib, even
67if the problem seems to originate in a gnulib-provided file.
68-----
69
70Copyright (C) 2002-2022 Free Software Foundation, Inc.
71
72This program is free software: you can redistribute it and/or modify
73it under the terms of the GNU General Public License as published by
74the Free Software Foundation, either version 3 of the License, or
75(at your option) any later version.
76
77This program is distributed in the hope that it will be useful,
78but WITHOUT ANY WARRANTY; without even the implied warranty of
79MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80GNU General Public License for more details.
81
82You should have received a copy of the GNU General Public License
83along with this program. If not, see <https://www.gnu.org/licenses/>.
84