+The documentation can be built locally without compiling LilyPond
+binary, if LilyPond is already installed on your system.
+
+ From a fresh Git checkout, do
+
+ ./autogen.sh # ignore any warning messages
+ cp GNUmakefile.in GNUmakefile
+ make -C scripts && make -C python
+ nice make LILYPOND_EXTERNAL_BINARY=/path/to/bin/lilypond doc
+
+ Please note that this may break sometimes - for example, if a new
+feature is added with a test file in input/regression, even the latest
+development release of LilyPond will fail to build the docs.
+
+ You may build the manual without building all the `input/*' stuff
+(i.e. mostly regression tests): change directory, for example to
+`Documentation/', issue `make doc', which will build documentation in a
+subdirectory `out-www' from the source files in current directory. In
+this case, if you also want to browse the documentation in its
+post-processed form, change back to top directory and issue
+
+ make out=www WWW-post
+
+
+Known issues and warnings
+.........................
+
+You may also need to create a script for `pngtopnm' and `pnmtopng'. On
+GNU/Linux, I use this:
+
+export LD_LIBRARY_PATH=/usr/lib
+exec /usr/bin/pngtopnm "$@"
+
+ On MacOS X with fink, I use this:
+
+export DYLD_LIBRARY_PATH=/sw/lib
+exec /sw/bin/pngtopnm "$@"
+
+ On MacOS X with macports, you should use this:
+
+export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
+exec /opt/local/bin/pngtopnm "$@"
+
+Testing LilyPond binary
+-----------------------
+
+LilyPond comes with an extensive suite that exercises the entire
+program. This suite can be used to test that the binary has been built
+correctly.
+
+ The test suite can be executed with:
+
+make test
+
+ If the test suite completes successfully, the LilyPond binary has
+been verified.
+
+ More information on the regression test suite is found at *note
+Regression tests: (lilypond-contributor)Regression tests.
+
+Problems
+========
+
+For help and questions use <lilypond-user@gnu.org>. Send bug reports
+to <bug-lilypond@gnu.org>.
+
+ Bugs that are not fault of LilyPond are documented here.
+
+Bison 1.875
+...........
+
+There is a bug in bison-1.875: compilation fails with "parse error
+before `goto'" in line 4922 due to a bug in bison. To fix, please
+recompile bison 1.875 with the following fix
+
+ $ cd lily; make out/parser.cc
+ $ vi +4919 out/parser.cc
+ # append a semicolon to the line containing "__attribute__ ((__unused__))
+ # save
+ $ make
+
+Compiling on MacOS X
+....................
+
+Here are special instructions for compiling under MacOS X. These
+instructions assume that dependencies are installed using MacPorts.
+(http://www.macports.org/) The instructions have been tested using OS X
+10.5 (Leopard).
+
+ First, install the relevant dependencies using MacPorts.
+
+ Next, add the following to your relevant shell initialization files.
+This is `~/.profile' by default. You should create this file if it
+does not exist.
+
+ export PATH=/opt/local/bin:/opt/local/sbin:$PATH
+ export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:$DYLD_FALLBACK_LIBRARY_PATH
+
+ Now you must edit the generated `config.make' file. Change
+
+ FLEXLEXER_FILE = /usr/include/FlexLexer.h
+
+to:
+
+ FLEXLEXER_FILE = /opt/local/include/FlexLexer.h
+
+ At this point, you should verify that you have the appropriate fonts
+installed with your ghostscript installation. Check `ls
+/opt/local/share/ghostscript/fonts' for: 'c0590*' files (.pfb, .pfb and
+.afm). If you don't have them, run the following commands to grab them
+from the ghostscript SVN server and install them in the appropriate
+location:
+
+ svn export http://svn.ghostscript.com/ghostscript/tags/urw-fonts-1.0.7pre44/
+ sudo mv urw-fonts-1.0.7pre44/* /opt/local/share/ghostscript/fonts/
+ rm -rf urw-fonts-1.07pre44
+
+ Now run the `./configure' script. To avoid complications with
+automatic font detection, add
+
+ --with-ncsb-dir=/opt/local/share/ghostscript/fonts
+
+Solaris
+.......
+
+Solaris7, ./configure
+
+ `./configure' needs a POSIX compliant shell. On Solaris7, `/bin/sh'
+is not yet POSIX compliant, but `/bin/ksh' or bash is. Run configure
+like
+
+ CONFIG_SHELL=/bin/ksh ksh -c ./configure
+
+or
+
+ CONFIG_SHELL=/bin/bash bash -c ./configure
+
+FreeBSD
+.......
+
+To use system fonts, dejaview must be installed. With the default
+port, the fonts are installed in `usr/X11R6/lib/X11/fonts/dejavu'.
+
+ Open the file `$LILYPONDBASE/usr/etc/fonts/local.conf' and add the
+following line just after the `<fontconfig>' line. (Adjust as necessary
+for your hierarchy.)
+
+ <dir>/usr/X11R6/lib/X11/fonts</dir>
+
+International fonts
+...................
+
+On Mac OS X, all fonts are installed by default. However, finding all
+system fonts requires a bit of configuration; see this post
+(http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00472.html)
+on the `lilypond-user' mailing list.
+
+ On Linux, international fonts are installed by different means on
+every distribution. We cannot list the exact commands or packages that
+are necessary, as each distribution is different, and the exact package
+names within each distribution changes. Here are some hints, though:
+
+Red Hat Fedora
+
+ taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
+ ttfonts-zh_CN fonts-ja fonts-hebrew
+
+Debian GNU/Linux
+
+ apt-get install emacs-intl-fonts xfonts-intl-.* \
+ ttf-kochi-gothic ttf-kochi-mincho \
+ xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
+
+Using lilypond python libraries
+...............................
+
+If you want to use lilypond's python libraries (either running certain
+build scripts manually, or using them in other programs), set
+`PYTHONPATH' to `python/out' in your build directory, or
+`.../usr/lib/lilypond/current/python' in the installation directory
+structure.
+
+Concurrent stable and development versions
+==========================================
+
+It can be useful to have both the stable and the development versions
+of Lilypond available at once. One way to do this on GNU/Linux is to
+install the stable version using the precompiled binary, and run the
+development version from the source tree. After running `make all'
+from the top directory of the Lilypond source files, there will be a
+binary called `lilypond' in the `out' directory:
+
+ <PATH TO>/lilypond/out/bin/lilypond
+
+ This binary can be run without actually doing the `make install'
+command. The advantage to this is that you can have all of the latest
+changes available after pulling from git and running `make all',
+without having to uninstall the old version and reinstall the new.
+
+ So, to use the stable version, install it as usual and use the
+normal commands:
+
+ lilypond foobar.ly
+
+ To use the development version, create a link to the binary in the
+source tree by saving the following line in a file somewhere in your
+`$PATH':
+
+ exec <PATH TO>/lilypond/out/bin/lilypond "$@"
+
+ Save it as `Lilypond' (with a capital L to distinguish it from the
+stable `lilypond'), and make it executable:
+
+ chmod +x Lilypond
+
+ Then you can invoke the development version this way:
+
+ Lilypond foobar.ly
+
+ TODO: ADD
+
+ - other compilation tricks for developers
+
+Build system
+============
+
+We currently use make and stepmake, which is complicated and only used
+by us. Hopefully this will change in the future.
+
+Version-specific texinfo macros
+...............................
+
+ * made with `scripts/build/create-version-itexi.py' and
+ `scripts/build/create-weblinks-itexi.py'
+
+ * used extensively in the `WEBSITE_ONLY_BUILD' version of the
+ website (made with `website.make', used on lilypond.org)
+
+ * not (?) used in the main docs?
+
+ * the numbers in VERSION file: MINOR_VERSION should be 1 more than
+ the last release, VERSION_DEVEL should be the last *online*
+ release. Yes, VERSION_DEVEL is less than VERSION.