+ sudo make install
+
+ Now verify that your operating system is able to see the correct
+ version of ‘texi2html’.
+
+ texi2html --version
+
+ • Fonts required to build the documentation in addition to those
+ required to run LilyPond:
+
+ gsfonts
+ fonts-linuxlibertine
+ fonts-liberation
+ fonts-dejavu
+ fonts-freefont-otf
+ ttf-bitstream-vera
+ texlive-fonts-recommended
+ ttf-xfree86-nonfree
+
+ Note: By default, when building LilyPond’s documentation,
+ ‘pdfTeX’ is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the ‘texlive-xetex’
+ package. The scripts used to build the LilyPond documentation
+ will use ‘XeTex’ instead of ‘pdfTex’ to generate the PDF
+ documents if it is available. No additional configuration is
+ required.
+
+1.3 Getting the source code
+===========================
+
+Downloading the Git repository
+------------------------------
+
+In general, developers compile LilyPond from within a local Git
+repository. Setting up a local Git repository is explained in *note
+(lilypond-contributor)Starting with Git::.
+
+Downloading a source tarball
+----------------------------
+
+Packagers are encouraged to use source tarballs for compiling.
+
+ The tarball for the latest stable release is available on the *note
+(lilypond-web)Source:: page.
+
+The latest source code snapshot
+(http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=snapshot) is also
+available as a tarball from the GNU Savannah Git server.
+
+All tagged releases (including legacy stable versions and the most
+recent development release) are available here:
+
+ <http://download.linuxaudio.org/lilypond/source/>
+
+ Download the tarball to your ‘~/src/’ directory, or some other
+appropriate place.
+
+ Note: Be careful where you unpack the tarball! Any
+ subdirectories of the current folder named ‘lilypond/’ or
+ ‘lilypond-X.Y.Z/’ (where X.Y.Z is the release number) will be
+ overwritten if there is a name clash with the tarball.
+
+ Unpack the tarball with this command:
+
+ tar -xzf lilypond-X.Y.Z.tar.gz
+
+ This creates a subdirectory within the current directory called
+‘lilypond-X.Y.Z/’. Once unpacked, the source files occupy about 40 MB
+of disk space.
+
+ Windows users wanting to look at the source code may have to download
+and install the free-software 7zip archiver (http://www.7-zip.org) to
+extract the tarball.
+
+1.4 Configuring ‘make’
+======================
+
+1.4.1 Running ‘./autogen.sh’
+----------------------------
+
+After you unpack the tarball (or download the Git repository), the
+contents of your top source directory should be similar to the current
+source tree listed at
+<http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=tree>.
+
+ Next, you need to create the generated files; enter the following
+command from your top source directory:
+
+ ./autogen.sh --noconfigure
+
+ This will generate a number of files and directories to aid
+configuration, such as ‘configure’, ‘README.txt’, etc.
+
+ Next, create the build directory with:
+
+ mkdir build/
+ cd build/
+
+ We heavily recommend building lilypond inside a separate directory
+with this method.
+
+1.4.2 Running ‘../configure’
+----------------------------
+
+Configuration options
+.....................
+
+ Note: make sure that you are in the ‘build/’ subdirectory of
+ your source tree.
+
+ The ‘../configure’ command (generated by ‘./autogen.sh’) provides
+many options for configuring ‘make’. To see them all, run:
+
+ ../configure --help
+
+Checking build dependencies
+...........................
+
+ Note: make sure that you are in the ‘build/’ subdirectory of
+ your source tree.
+
+ When ‘../configure’ is run without any arguments, it will check to
+make sure your system has everything required for compilation:
+
+ ../configure
+
+ If any build dependency is missing, ‘../configure’ will return with:
+
+ ERROR: Please install required programs: FOO
+
+ The following message is issued if you are missing programs that are
+only needed for building the documentation:
+
+ WARNING: Please consider installing optional programs: BAR
+
+ If you intend to build the documentation locally, you will need to
+install or update these programs accordingly.
+
+ Note: ‘../configure’ may fail to issue warnings for certain
+ documentation build requirements that are not met. If you
+ experience problems when building the documentation, you may
+ need to do a manual check of *note Requirements for building
+ documentation::.
+
+Configuring target directories
+..............................
+
+ Note: make sure that you are in the ‘build/’ subdirectory of
+ your source tree.
+
+ If you intend to use your local build to install a local copy of the
+program, you will probably want to configure the installation directory.
+Here are the relevant lines taken from the output of
+‘../configure --help’:
+
+ By default, ‘‘make install’’ will install all the files in
+ ‘/usr/local/bin’, ‘/usr/local/lib’ etc. You can specify an
+ installation prefix other than ‘/usr/local’ using ‘‘--prefix’’, for
+ instance ‘‘--prefix=$HOME’’.
+
+ A typical installation prefix is ‘$HOME/usr’:
+
+ ../configure --prefix=$HOME/usr
+
+ Note that if you plan to install a local build on a system where you
+do not have root privileges, you will need to do something like this
+anyway—‘make install’ will only succeed if the installation prefix
+points to a directory where you have write permission (such as your home
+directory). The installation directory will be automatically created if
+necessary.
+
+ The location of the ‘lilypond’ command installed by this process will
+be ‘PREFIX/bin/lilypond’; you may want to add ‘PREFIX/bin/’ to your
+‘$PATH’ if it is not already included.
+
+ It is also possible to specify separate installation directories for
+different types of program files. See the full output of
+‘../configure --help’ for more information.
+
+ If you encounter any problems, please see *note Problems::.
+
+1.5 Compiling LilyPond
+======================