summaryrefslogtreecommitdiff
path: root/README-hacking
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-03-08 20:22:35 +0100
committerJim Meyering <meyering@redhat.com>2010-03-09 14:28:23 +0100
commit3c2dac22f427a7e10c096573d14c07ce926ae188 (patch)
treeaa10d9d95aa0cfd6b2ea893c4579871c2042ecc9 /README-hacking
parent5acb1dc0dffbf8a8e9db87bc6caf9fa7c3dc170e (diff)
downloadgrep-3c2dac22f427a7e10c096573d14c07ce926ae188.tar.gz
doc+bootstrap: document build-from-git-clone process
* bootstrap: Update from coreutils/gnulib. * README-hacking: New file, nearly identical to the one in coreutils.
Diffstat (limited to 'README-hacking')
-rw-r--r--README-hacking77
1 files changed, 77 insertions, 0 deletions
diff --git a/README-hacking b/README-hacking
new file mode 100644
index 00000000..f8d6668d
--- /dev/null
+++ b/README-hacking
@@ -0,0 +1,77 @@
+-*- outline -*-
+
+These notes intend to help people working on the checked-out sources.
+These requirements do not apply when building from a distribution tarball.
+
+* Requirements
+
+We've opted to keep only the highest-level sources in the GIT repository.
+This eases our maintenance burden, (fewer merges etc.), but imposes more
+requirements on anyone wishing to build from the just-checked-out sources.
+Note the requirements to build the released archive are much less and
+are just the requirements of the standard ./configure && make procedure.
+Specific development tools and versions will be checked for and listed by
+the bootstrap script. See README-prereq for specific notes on obtaining
+these prerequisite tools.
+
+Valgrind <http://valgrind.org/> is also highly recommended, if
+Valgrind supports your architecture. See also README-valgrind.
+
+While building from a just-cloned source tree may require installing a
+few prerequisites, later, a plain `git pull && make' should be sufficient.
+
+* First GIT checkout
+
+You can get a copy of the source repository like this:
+
+ $ git clone git://git.sv.gnu.org/grep
+ $ cd grep
+
+As an optional step, if you already have a copy of the gnulib git
+repository on your hard drive, then you can use it as a reference to
+reduce download time and disk space requirements:
+
+ $ export GNULIB_SRCDIR=/path/to/gnulib
+
+The next step is to get and check other files needed to build,
+which are extracted from other source packages:
+
+ $ ./bootstrap
+
+And there you are! Just
+
+ $ ./configure --quiet #[--enable-gcc-warnings] [*]
+ $ make
+ $ make check
+
+At this point, there should be no difference between your local copy,
+and the GIT master copy:
+
+ $ git diff
+
+should output no difference.
+
+Enjoy!
+
+[*] The --enable-gcc-warnings option is useful only with glibc
+and with a very recent version of gcc. You'll probably also have
+to use recent system headers. If you configure with this option,
+and spot a problem, please be sure to send the report to the bug
+reporting address of this package, and not to that of gnulib, even
+if the problem seems to originate in a gnulib-provided file.
+-----
+
+Copyright (C) 2002-2010 Free Software Foundation, Inc.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.