Merge branch 'th/diff-extra'
[gitweb.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 63ccf62ae9dc7201f794a421b54cb0a4f3eb7c52..fa9bf74a208697bd4c6cd5c91f3335b2f5475a49 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -5,14 +5,23 @@ Normally you can just do "make" followed by "make install", and that
 will install the git programs in your own ~/bin/ directory.  If you want
 to do a global install, you can do
 
-       $ make prefix=/usr ;# as yourself
-       # make prefix=/usr install ;# as root
+       $ make prefix=/usr all doc ;# as yourself
+       # make prefix=/usr install install-doc ;# as root
 
 (or prefix=/usr/local, of course).  Just like any program suite
 that uses $prefix, the built results have some paths encoded,
 which are derived from $prefix, so "make all; make prefix=/usr
 install" would not work.
 
+Alternatively you can use autoconf generated ./configure script to
+set up install paths (via config.mak.autogen), so you can write instead
+
+       $ make configure ;# as yourself
+       $ ./configure --prefix=/usr ;# as yourself
+       $ make all doc ;# as yourself
+       # make install install-doc ;# as root
+
+
 Issues of note:
 
  - git normally installs a helper script wrapper called "git", which
@@ -40,13 +49,11 @@ Issues of note:
 
          If you don't have openssl, you can use one of the SHA1 libraries
          that come with git (git includes the one from Mozilla, and has
-         its own PowerPC-optimized one too - see the Makefile), and you
-         can avoid the bignum support by excising git-rev-list support
-         for "--merge-order" (by hand).
+         its own PowerPC and ARM optimized ones too - see the Makefile).
 
        - "libcurl" and "curl" executable.  git-http-fetch and
          git-fetch use them.  If you do not use http
-         transfer, you are probabaly OK if you do not have
+         transfer, you are probably OK if you do not have
          them.
 
        - expat library; git-http-push uses it for remote lock
@@ -71,7 +78,7 @@ Issues of note:
          git, and if you only use git to track other peoples work you'll
          never notice the lack of it. 
 
-        - "wish", the TCL/Tk windowing shell is used in gitk to show the
+        - "wish", the Tcl/Tk windowing shell is used in gitk to show the
           history graphically
 
        - "ssh" is used to push and pull over the net
@@ -87,3 +94,30 @@ Issues of note:
    have all the libraries/tools needed, or you may have
    necessary libraries at unusual locations.  Please look at the
    top of the Makefile to see what can be adjusted for your needs.
+   You can place local settings in config.mak and the Makefile
+   will include them.  Note that config.mak is not distributed;
+   the name is reserved for local settings.
+
+ - To build and install documentation suite, you need to have the
+   asciidoc/xmlto toolchain.  Alternatively, pre-formatted
+   documentation are available in "html" and "man" branches of the git
+   repository itself.  For example, you could:
+
+       $ mkdir manual && cd manual
+       $ git init-db
+       $ git fetch-pack git://git.kernel.org/pub/scm/git/git.git man html |
+         while read a b
+         do
+           echo $a >.git/$b
+         done
+       $ cp .git/refs/heads/man .git/refs/heads/master
+       $ git checkout
+
+   to checkout the pre-built man pages.  Also in this repository:
+
+       $ git checkout html
+
+   would instead give you a copy of what you see at:
+
+       http://www.kernel.org/pub/software/scm/git/docs/
+