]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/included/compile.itexi
Fix typos in the English manual.
[lilypond.git] / Documentation / included / compile.itexi
index bdbd4a90f3d7f00277bd1553bf37fdcb03667ab9..e36661d259b39cd141b71658d20925671d534e17 100644 (file)
@@ -12,7 +12,7 @@
 * Overview of compiling::
 * Requirements::
 * Getting the source code::
-* Configuring @command{make}::
+* Configuring make::
 * Compiling LilyPond::
 * Post-compilation options::
 * Problems::
@@ -69,7 +69,7 @@ software:
 @item @uref{http://www.dejavu-fonts.org/, DejaVu fonts} (normally
 installed by default)
 
-@item @uref{http://www.fontconfig.org/, FontConfig} (2.2 or newer)
+@item @uref{http://www.fontconfig.org/, FontConfig} (2.4.0 or newer)
 
 @item @uref{http://www.freetype.org/, Freetype} (2.1.10 or newer)
 
@@ -234,9 +234,15 @@ repository.  Setting up a local Git repository is explained in
 @subheading Downloading a source tarball
 
 Packagers are encouraged to use source tarballs for compiling.
+
 The tarball for the latest stable release is available on the
 @rweb{Source} page.
 
+@noindent
+The latest
+@uref{http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=snapshot, source code snapshot}
+is also available as a tarball from the GNU Savannah Git server.
+
 @noindent
 All tagged releases (including legacy stable
 versions and the most recent development release) are available
@@ -265,18 +271,22 @@ This creates a subdirectory within the current directory called
 @file{lilypond-@var{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
+@uref{http://www.7-zip.org, 7zip archiver} to extract the tarball.
 
-@node Configuring @command{make}
+
+@node Configuring make
 @section Configuring @command{make}
 
 
 @menu
-* Running @command{./autogen.sh}::
-* Running @command{./configure}::
+* Running ./autogen.sh::
+* Running ./configure::
 @end menu
 
 
-@node Running @command{./autogen.sh}
+@node Running ./autogen.sh
 @subsection Running @command{./autogen.sh}
 
 After you unpack the tarball (or download the Git repository), the
@@ -301,7 +311,7 @@ configuration, such as @file{configure}, @file{README.txt}, etc.
 @end enumerate
 
 
-@node Running @command{./configure}
+@node Running ./configure
 @subsection Running @command{./configure}
 
 @menu
@@ -416,14 +426,14 @@ mkdir lily-build && cd lily-build
 
 
 @menu
-* Using @command{make}::
-* Saving time with the @option{-j} option::
+* Using make::
+* Saving time with the -j option::
 * Compiling for multiple platforms::
-* Useful @command{make} variables::
+* Useful make variables::
 @end menu
 
 
-@node Using @command{make}
+@node Using make
 @subsection Using @command{make}
 
 LilyPond is compiled with the @command{make} command.  Assuming
@@ -443,7 +453,7 @@ make help
 TODO: Describe what @command{make} actually does.
 
 
-@node Saving time with the @option{-j} option
+@node Saving time with the -j option
 @subsection Saving time with the @option{-j} option
 
 If your system has multiple CPUs, you can speed up compilation by
@@ -458,6 +468,9 @@ make -j3
 If you get errors using the @option{-j} option, and @samp{make}
 succeeds without it, try lowering the @code{@var{X}} value.
 
+Because multiple jobs run in parallel when @option{-j} is used, it can
+be difficult to determine the source of an error when one occurs.  In
+that case, running @samp{make} without the @option{-j} is advised.
 
 @node Compiling for multiple platforms
 @subsection Compiling for multiple platforms
@@ -496,7 +509,7 @@ make conf=prof install
 @ref{Installing LilyPond from a local build}
 
 
-@node Useful @command{make} variables
+@node Useful make variables
 @subsection Useful @command{make} variables
 
 If a less verbose build output if desired, the variable
@@ -511,7 +524,7 @@ command line, or in @file{local.make} at top of the build tree.
 @menu
 * Installing LilyPond from a local build::
 * Generating documentation::
-* Testing LilyPond::
+* Testing LilyPond binary::
 @end menu
 
 
@@ -557,7 +570,8 @@ re-install.  See @ref{Configuring target directories}.
 @menu
 * Documentation editor's edit/compile cycle::
 * Building documentation::
-* Saving time with @code{CPU_COUNT}::
+* Saving time with CPU_COUNT::
+* AJAX search::
 * Installing documentation::
 * Building documentation without compiling::
 @end menu
@@ -672,7 +686,7 @@ indiscriminately---it is more efficient to @command{touch} only
 the affected files.
 
 
-@node Saving time with @code{CPU_COUNT}
+@node Saving time with CPU_COUNT
 @unnumberedsubsubsec Saving time with @code{CPU_COUNT}
 
 The most time consuming task for building the documentation is
@@ -701,6 +715,23 @@ it is possible for @samp{make -j5 CPU_COUNT=5 doc} to work
 consistently even if @samp{make -j5} rarely succeeds.
 
 
+@node AJAX search
+@unnumberedsubsubsec AJAX search
+
+To build the documentation with interactive searching, use:
+
+@example
+make doc AJAX_SEARCH=1
+@end example
+
+This requires PHP, and you must view the docs via a http
+connection (you cannot view them on your local filesystem).
+
+@warning{Due to potential security or load issues, this option is
+not enabled in the official documentation builds.  Enable at your
+own risk.}
+
+
 @node Installing documentation
 @unnumberedsubsubsec Installing documentation
 
@@ -822,93 +853,25 @@ exec /opt/local/bin/pngtopnm "$@"
 @end verbatim
 
 
-@node Testing LilyPond
-@subsection Testing LilyPond
+@node Testing LilyPond binary
+@subsection Testing LilyPond binary
 
 
 LilyPond comes with an extensive suite that exercises the entire
-program. This suite can be used to automatically check the impact
-of a change.
+program.   This suite can be used to test that the binary has
+been built correctly.
 
-@menu
-* Developer's edit/compile/test cycle::
-* Other tests::
-@end menu
-
-@node Developer's edit/compile/test cycle
-@unnumberedsubsubsec Developer's edit/compile/test cycle
-
-TODO: is @code{[-j@var{X} CPU_COUNT=@var{X}]} useful for
-@code{test-baseline}, @code{check}, @code{clean},
-@code{test-redo}?
-
-@itemize
-@item
-Initial test:
-
-@example
-make [-j@var{X}]
-make test-baseline
-make [-j@var{X} CPU_COUNT=@var{X}] check
-@end example
+The test suite can be executed with:
 
-@item
-Edit/compile/test cycle:
-
-@example
-@emph{## edit source files, then...}
-
-make clean                    @emph{## only if needed (see below)}
-make [-j@var{X}]                    @emph{## only if needed (see below)}
-make test-redo                @emph{## redo files differing from baseline}
-make [-j@var{X} CPU_COUNT=@var{X}] check  @emph{## CPU_COUNT here?}
-@end example
-
-@item
-Reset:
-
-@example
-make test-clean
-@end example
-@end itemize
-
-If you modify any source files that have to be compiled (such as
-@file{.cc} or @file{.hh} files in @file{flower/} or @file{lily/}),
-then you must run @command{make} before @command{make test-redo},
-so @command{make} can compile the modified files and relink all
-the object files.  If you only modify files which are interpreted,
-like those in the @file{scm/} and @file{ly/} directories, then
-@command{make} is not needed before @command{make test-redo}.
-
-Also, if you modify any font definitions in the @file{mf/}
-directory then you must run @command{make clean} and
-@command{make} before running @command{make test-redo}.  This will
-recompile everything, whether modified or not, and takes a lot
-longer.
-
-Running @command{make@tie{}check} will leave an HTML page
-@file{out/test-results/index.html}.  This page shows all the
-important differences that your change introduced, whether in the
-layout, MIDI, performance or error reporting.
-
-
-@node Other tests
-@unnumberedsubsubsec Other tests
-
-For tracking memory usage as part of this test, you will need
-GUILE CVS; especially the following patch:
-@uref{http://www.lilypond.org/vc/old/gub.darcs/patches/guile-1.9-gcstats.patch}.
-
-For checking the coverage of the test suite, do the following
+@verbatim
+make test
+@end verbatim
 
-@example
-./scripts/auxiliar/build-coverage.sh
-@emph{# uncovered files, least covered first}
-./scripts/auxiliar/coverage.py  --summary out-cov/*.cc
-@emph{# consecutive uncovered lines, longest first}
-./scripts/auxiliar/coverage.py  --uncovered out-cov/*.cc
-@end example
+If the test suite completes successfully, the LilyPond binary
+has been verified.
 
+More information on the regression test suite is found at
+@rcontrib{Regression tests}.
 
 @node Problems
 @section Problems
@@ -948,8 +911,7 @@ this file if it does not exist.
 
 @example
 export PATH=/opt/local/bin:/opt/local/sbin:$PATH
-export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:\
-$DYLD_FALLBACK_LIBRARY_PATH
+export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:$DYLD_FALLBACK_LIBRARY_PATH
 @end example
 
 Now you must edit the generated @code{config.make} file.  Change
@@ -1233,7 +1195,7 @@ We currently use make and stepmake, which is complicated and only
 used by us.  Hopefully this will change in the future.
 
 
-@subsubheading Version-specific texinfo macors
+@subsubheading Version-specific texinfo macros
 
 @itemize