diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 101 |
1 files changed, 59 insertions, 42 deletions
@@ -28,16 +28,35 @@ set up install paths (via config.mak.autogen), so you can write instead If you're willing to trade off (much) longer build time for a later faster git you can also do a profile feedback build with - $ make profile-all - # make prefix=... install + $ make prefix=/usr profile + # make prefix=/usr PROFILE=BUILD install This will run the complete test suite as training workload and then rebuild git with the generated profile feedback. This results in a git which is a few percent faster on CPU intensive workloads. This may be a good tradeoff for distribution packagers. -Note that the profile feedback build stage currently generates -a lot of additional compiler warnings. +Alternatively you can run profile feedback only with the git benchmark +suite. This runs significantly faster than the full test suite, but +has less coverage: + + $ make prefix=/usr profile-fast + # make prefix=/usr PROFILE=BUILD install + +Or if you just want to install a profile-optimized version of git into +your home directory, you could run: + + $ make profile-install + +or + $ make profile-fast-install + +As a caveat: a profile-optimized build takes a *lot* longer since the +git tree must be built twice, and in order for the profiling +measurements to work properly, ccache must be disabled and the test +suite has to be run using only a single CPU. In addition, the profile +feedback build stage currently generates a lot of additional compiler +warnings. Issues of note: @@ -83,20 +102,27 @@ Issues of note: - "Perl" version 5.8 or later is needed to use some of the features (e.g. preparing a partial commit using "git add -i/-p", interacting with svn repositories with "git svn"). If you can - live without these, use NO_PERL. + live without these, use NO_PERL. Note that recent releases of + Redhat/Fedora are reported to ship Perl binary package with some + core modules stripped away (see http://lwn.net/Articles/477234/), + so you might need to install additional packages other than Perl + itself, e.g. Time::HiRes. - - "openssl" library is used by git-imap-send to use IMAP over SSL. - If you don't need it, use NO_OPENSSL. + - git-imap-send needs the OpenSSL library to talk IMAP over SSL if + you are using libcurl older than 7.34.0. Otherwise you can use + NO_OPENSSL without losing git-imap-send. - By default, git uses OpenSSL for SHA1 but it will use it's own + By default, git uses OpenSSL for SHA1 but it will use its own library (inspired by Mozilla's) with either NO_OPENSSL or BLK_SHA1. Also included is a version optimized for PowerPC (PPC_SHA1). - - "libcurl" library is used by git-http-fetch and git-fetch. You - might also want the "curl" executable for debugging purposes. - If you do not use http:// or https:// repositories, you do not - have to have them (use NO_CURL). + - "libcurl" library is used by git-http-fetch, git-fetch, and, if + the curl version >= 7.34.0, for git-imap-send. You might also + want the "curl" executable for debugging purposes. If you do not + use http:// or https:// repositories, and do not want to put + patches into an IMAP mailbox, you do not have to have them + (use NO_CURL). - "expat" library; git-http-push uses it for remote lock management over DAV. Similar to "curl" above, this is optional @@ -106,6 +132,22 @@ Issues of note: history graphically, and in git-gui. If you don't want gitk or git-gui, you can use NO_TCLTK. + - A gettext library is used by default for localizing Git. The + primary target is GNU libintl, but the Solaris gettext + implementation also works. + + We need a gettext.h on the system for C code, gettext.sh (or + Solaris gettext(1)) for shell scripts, and libintl-perl for Perl + programs. + + Set NO_GETTEXT to disable localization support and make Git only + use English. Under autoconf the configure script will do this + automatically if it can't find libintl on the system. + + - Python version 2.4 or later (but not 3.x, which is not + supported by Perforce) is needed to use the git-p4 interface + to Perforce. + - Some platform specific issues are dealt with Makefile rules, but depending on your specific installation, you may not have all the libraries/tools needed, or you may have @@ -133,40 +175,15 @@ Issues of note: makeinfo and docbook2X. Version 0.8.3 is known to work. Building and installing the pdf file additionally requires - dblatex. Version 0.2.7 with asciidoc >= 8.2.7 is known to work. - - The documentation is written for AsciiDoc 7, but by default - uses some compatibility wrappers to work on AsciiDoc 8. If you have - AsciiDoc 7, try "make ASCIIDOC7=YesPlease". - - Alternatively, pre-formatted documentation is available in - "html" and "man" branches of the git repository itself. For - example, you could: - - $ mkdir manual && cd manual - $ git init - $ 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: + dblatex. Version >= 0.2.7 is known to work. - http://www.kernel.org/pub/software/scm/git/docs/ + All formats require at least asciidoc 8.4.1. There are also "make quick-install-doc", "make quick-install-man" and "make quick-install-html" which install preformatted man pages - and html documentation. - This does not require asciidoc/xmlto, but it only works from within - a cloned checkout of git.git with these two extra branches, and will - not work for the maintainer for obvious chicken-and-egg reasons. + and html documentation. To use these build targets, you need to + clone two separate git-htmldocs and git-manpages repositories next + to the clone of git itself. It has been reported that docbook-xsl version 1.72 and 1.73 are buggy; 1.72 misformats manual pages for callouts, and 1.73 needs |