@c FIXME: leave this out, just refer to unix section?
@c FIXME: commands run in dos shell: we can't redirect output
@example
-GNU LilyPond 1.3.147
-Now processing: `C:\cygwin\home\tim\ly\test.ly'
+GNU LilyPond 1.3.150
+Now processing: `/home/tim/ly/test.ly'
Parsing...
Interpreting music...[1]
-Preprocessing elements...
+Preprocessing elements...
Calculating column positions... [2]
paper output to test.tex...
Babel <v3.6Z> and hyphenation patterns for english, french, german, ngerman, du
mylang, nohyphenation, loaded.
-(test.latex (C:\Program Files\MiKTeX\tex\latex\base\article.cls
+(test.latex (C:\cygwin\usr\windows\MiKTeX\tex\latex\base\article.cls
Document Class: article 2000/05/19 v1.4b Standard LaTeX document class
-(C:\Program Files\MiKTeX\tex\latex\base\size10.clo))
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\geometry.sty
-(C:\Program Files\MiKTeX\tex\latex\graphics\keyval.sty))
-(C:\Program Files\MiKTeX\tex\latex\base\inputenc.sty
-(C:\Program Files\MiKTeX\tex\latex\base\latin1.def))
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\titledefs.tex)
+(C:\cygwin\usr\windows\MiKTeX\tex\latex\base\size10.clo))
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\geometry.sty
+(C:\cygwin\usr\windows\MiKTeX\tex\latex\graphics\keyval.sty))
+(C:\cygwin\usr\windows\MiKTeX\tex\latex\base\inputenc.sty
+(C:\cygwin\usr\windows\MiKTeX\tex\latex\base\latin1.def))
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\titledefs.tex)
No file test.aux.
(test.tex
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lilyponddefs.tex
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lilypond-latex.tex
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\lilyponddefs.tex
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\lilypond-latex.tex
LaTeX definitions)
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\feta20.tex)
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lily-ps-defs.tex)
-[footer empty]
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\fetdefs.tex)))
-Overfull \hbox (15.0pt too wide) in paragraph at lines 22--26
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\feta20.tex)
+(C:\cygwin\usr\lilypond-1.3.150.jcn2\share\lilypond\tex\lily-ps-defs.tex)
+[footer empty]))
+Overfull \hbox (15.0pt too wide) in paragraph at lines 20--24
[] $[]$
+
+Overfull \vbox (0.7539pt too high) has occurred while \output is active
[1] (test.aux) )
(see the transcript file for additional information)
Output written on test.dvi (1 page, 4292 bytes).
Transcript written on test.log.
This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
-' TeX output 2001.04.12:0033' -> test.ps
-<texc.pro><special.pro>. [1]
+' TeX output 2001.04.25:0015' -> test.ps
+<texc.pro><special.pro>. [1]
Running LilyPond...
Analyzing test.tex...
-Running LaTeX...
-Running dvips...
PS output to test.ps...
DVI output to test.dvi...
@end example
@section Obtaining LilyPond
You can get the latest version of LilyPond at
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+@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.
These binaries are cross compiled for Windows on a GNU/Linux box. You
may want to check out the
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/cross-1.1.8.tar.gz,cross
+@uref{http://www.lilypond.org/gnu-windows/cross-1.1.8.tar.gz,cross
compilation scripts}.
+
+
+@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 the source package directory @file{Documentation/windows}.
+
+@table @asis
+@item @var{guile-1.4-gnu-windows.patch}
+You may (Cygwin gets better every day) need this patch to compile GUILE.
+@item @var{cygwin-installer.patch}
+Apply this patch to the @file{cinstall} directory of Cygwin, to get the
+LilyPond installer.
+@item @var{--prefix=/usr/lilypond-x.y.x}
+The standard binary installation installs LilyPond into its own prefix.
+We think it's silly, but do this is on special request of Windows users.
+@item @file{fix-suffixes.sh}
+Add @file{.exe} to binary executables, add @file{.py} to Python scripts.
+@item @file{python-wrapper.sh}
+All python scripts get a wrapper script to make direct invocation easier
+and to change file paths to DOS style, which is needed by non-Cygwin
+Python, that's currently used.
+@item @file{latex-wrapper.sh}
+TeX and LaTeX get a wrapper script that changes the TEX path variables
+to DOS style, which is needed by non-Cygwin TeX, that's currently used.
+@item @file{/etc/postinstall/}
+A number of post installation scripts try to set registry entries and
+symlinks that are needed for the additional windows packages.
+@item @file{/etc/profile.d/}
+A number of login profile scripts set environment vars, every time you
+start the LilyPond/Cygwin shell (or Bash, for that matter).
+@end table
+
+These scripts and tricks are known to work in some cases, but are
+woefully incomplete. If you find a bug, please send us your fix.
+
+Windows users have indicated that a DOS style login (as supposed to the
+LilyPond/Cygwin shell), would be useful. We don't enjoy DOS scripting,
+and think users should try the bash shell, which is better suited for
+typing in commands. However, if you have written useful DOS login
+scripts, please send us your code.
+
on a Microsoft Windows 95, 98, NT or 2000 machine.
This release is a free extra service of the developers to assist windows
-users. Please remember that we (the developers) rather dislike windows,
+users. Please remember that we (the developers) rather dislike windows,
and none of us use it. Don't complain to us that installing LilyPond is
-too difficult; rather, send us code that works better.
+too difficult; rather, if you know something about your Windows, send us
+code that works better (see @uref{compiling.html,compiling}).
-You must install the following software:
+@section Windows binary setup
+
+Apart from LilyPond itself, you need Cygwin, GUILE, Python, and a TeX
+installation, but all this software be installed by running setup.exe:
@table @asis
@item LilyPond
Download and run
-@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/setup.exe, setup.exe}
+@c let's do http, so that people read the README
+@uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}
to install LilyPond.
This will install the minimal set of cygwin tools needed to run
-LilyPond. If you already have cygwin installed, don't worry: nothing
-will be installed twice. To expand on this minimal set, click
-@uref{http://sources.redhat.com/cygwin/setup.exe,here},
-or visit a Cygwin
-@uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
+LilyPond.
+
+As of version 1.3.150, you also have the option to install MiKTeX,
+Python and GSView from this installer, which is recommended. If you
+choose to install these by hand (see below), make sure to install them
+@strong{before} you install LilyPond, otherwise your LilyPond setup will
+be broken.
+
+If you already have cygwin installed, don't worry: nothing will be
+installed twice. To expand on this minimal set, click
+@uref{http://sources.redhat.com/cygwin/setup.exe,here}, or visit a
+Cygwin @uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
+@end table
+
+
+@section Windows running setup
+
+If you're lucky, after running @file{setup.exe} you're all set up.
+
+Open a LilyPond shell (or any bash shell), and type
+@example
+lilypond --help
+@end example
+
+If you don't see something similar to
+@example
+Usage: lilypond [OPTION]... [FILE]...
+
+Typeset music and or play MIDI from FILE
+
+LilyPond is a music typesetter. It produces beautiful sheet music
+using a high level description file as input. LilyPond is part of
+the GNU Project.
+
+Options:
+ -h,--help this help
+[..]
+@end example
+
+you should try adding @file{/usr/lilypond-x.y.z/bin} to your @var{PATH},
+do:
+@example
+PATH=/usr/lilypond-1.3.147/bin:$PATH
+@end example
+
+and try again.
+
+
+@subsection Additional software
+
+LilyPond needs a number of software packages to be really useful. These
+are included in the binary setup program (see above).
+
+If you choose to install this additional software yourself, make sure
+you install LilyPond last, otherwise the LilyPond setup will be broken.
+Also note that this means that you will probably need to fix some PATH
+and TEX environment variables yourself. If you think you can handle
+that, you may do so, but don't complain if it doesn't work.
+
+These software packages are included in the LilyPond installation:
+
+@table @asis
@item A full TeX installation.
-For example, download and install
-@uref{http://prdownloads.sourceforge.net/miktex/miktex-2.0-lvl-1.zip,MikTeX},
+Currently, only MikTeX is supported. Download and install
+@uref{http://downloads.sourceforge.net/miktex/miktex-2.0-lvl-1.zip,MikTeX},
or visit @uref{http://www.miktex.org,www.miktex.org}.
@c See @file{/usr/doc/cygwin/tetex-beta-20001218.README} for details.
@uref{http://www.python.org,www.python.org}.
We have not tried using newer versions than 1.5.2.
-@end table
-
-@section Windows running setup
-
-If you're lucky, after running @file{setup.exe} you're all set up.
-
-Open a LilyPond shell (or any bash shell), and type
-@example
-lilypond --help
-@end example
-
-If you don't see something similar to
-@example
-Usage: lilypond [OPTION]... [FILE]...
-
-Typeset music and or play MIDI from FILE
-
-LilyPond is a music typesetter. It produces beautiful sheet music
-using a high level description file as input. LilyPond is part of
-the GNU Project.
-
-Options:
- -h,--help this help
-[..]
-@end example
+@end table
-you should try adding @file{/usr/lilypond-x.y.z/bin} to your @var{PATH},
-do:
-@example
-PATH=/usr/lilypond-1.3.147/bin:$PATH
-@end example
-and try again.
[TODO:
export MFINPUTS TEXINPUTS TFMFONTS
-@name@.tex "$*"
+@name@.exe "$*"
{
#ifdef __CYGWIN__
/* All system functions would work, even if we don't convert to
- posix path, but we'd think that \foe\bar\baz.ly is in the cwd. */
- if (testing_level_global & 1)
+ posix path, but we'd think that \foe\bar\baz.ly is in the cwd.
+ On by default. */
+ if (!(testing_level_global & 1))
path = dos_to_posix (path);
#endif