\input texinfo @c -*-texinfo-*-
@setfilename compiling.info
@settitle Compiling LilyPond on Windows

@html
<!--- @@WEB-TITLE@@=Windows Compilation --->
@end html

@section Obtaining LilyPond

The most convenient way of getting the LilyPond source, is to run
@uref{http://cygwin.com/setup.exe,setup.exe} and check the
@emph{source} option next to LilyPond in the Packages View dialogue window.

You can get the latest version of LilyPond at
@uref{ftp://ftp.lilypond.org/pub/LilyPond/,
ftp://ftp.lilypond.org/pub/LilyPond/}.

@section Windows build requirements
You need the following packages to compile Lilypond on Windows (ie,
for Cygwin).

@table @code
@item The GNU + Cygnus tools, 1.3.10 or newer.
Check out the @uref{http://cygwin.com,Cygwin webpage}.
You can get the latest version of the GNU + Cygnus tools from a Cygwin
@uref{http://cygwin.com/mirrors.html,mirror site}.
@end table

@subsection Cross compiling

These binaries are cross compiled for Windows on a GNU/Linux box using
mknetrel.  Get it from:
@quotation
@example
     cvs -d:pserver:anoncvs@@sources.redhat.com:/cvs/cygwin-apps co mknetrel
@end example
@end quotation

If your distribution does not include a Cygwin cross building
environment, you can quite easily create one using mknetrel.
Apply the
@uref{http://lilypond.org/cygwin/mknetnel/mknetrel-cross-tools.patch,
mknetrel-cross-tools patch}, and read @file{CROSS-TOOLS}.

Although mknetrel is well suited for this, the mknetrel maintainer
does not see any reason to include this patch.

You can also get
@uref{http://lilypond.org/lilypond/cygwin/i386-gnu-linux-x-i686-pc-cygwin,
precompiled binaries for GNU/Linux ix68}.

@subsection Compiling on Windows

Compiling on Windows should be possible, but how should we know?  If
you have any experiences you want to share, please do so at
@uref{http://lilypond.org/wiki?CompilingOnWindows,Compiling on
Windows}.  Or write to one of the mailing lists.

@section Windows installation specifics

Installing LilyPond on Windows is similar to a unix installation, but
needs a number of extra tricks.  All code for these tricks can be
found in LilyPond's mknetrel build script in the source package
directory @file{cygwin/mknetrel} and @uref{../../cygwin/mknetrel,
mknetrel:extra/lilypond}.

@section The LilyPond Installer RIP

As LilyPond is now included in the Cygwin distribution, the LilyPond
installer is no more.  Use Cygwin's
@uref{http://cygwin.com/setup.exe,setup.exe}.

