@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
may want to check out the
@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.
+
This release is a free extra service of the developers to assist 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 need the following software (but read on):
+@section Windows binary setup
-@c list these first, because lilypond install scripts look for these
-@c packages
-@table @asis
-@item A full TeX installation.
-
-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.
-
-@item Ghostview.
-
-You can use GSView-2.6. This old package has two advantages. It has
-gsview and ghostscript bundeled, and it doesn't popup @emph{Register
-Now|Cancel} windows all the time. It doesn't work together with Yap to
-display PostScript specials.
-
-Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv26w32.exe,here} to
-install GSView-2.6 (GhostView for Windows), or visit
-@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
-
-You can also use the newer versions GSView-3.6 and GhostScript-6.50 If
-you install both these packages, Yap will display PostScript specials.
-You get annoying @emph{Register Now|Cancel} popups, though.
-
-Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv36w32.exe,here} for
-GSview and
-Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe
-,here} for GhostScript.
-@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
-or visit the
-@uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}.
-
-@item Python
-Click @uref{http://www.python.org/ftp/python/win32/py152.exe,here} to
-install Python-1.5.2, or visit
-@uref{http://www.python.org,www.python.org}.
-
-We have not tried using newer versions than 1.5.2.
+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
@c let's do http, so that people read the README
LilyPond.
As of version 1.3.150, you also have the option to install MiKTeX,
-Python and GSView from this installer, but that's still somewhat
-experimental. If you choose to install these by hand (see above), make
-sure to install them @strong{before} you install LilyPond.
+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
@end table
-
@section Windows running setup
If you're lucky, after running @file{setup.exe} you're all set up.
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.
+
+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.
+
+@item Ghostview.
+
+You can use GSView-2.6. This old package has two advantages. It has
+gsview and ghostscript bundeled, and it doesn't popup @emph{Register
+Now|Cancel} windows all the time. It doesn't work together with Yap to
+display PostScript specials.
+
+Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv26w32.exe,here} to
+install GSView-2.6 (GhostView for Windows), or visit
+@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
+
+You can also use the newer versions GSView-3.6 and GhostScript-6.50 If
+you install both these packages, Yap will display PostScript specials.
+You get annoying @emph{Register Now|Cancel} popups, though.
+
+Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv36w32.exe,here} for
+GSview and
+Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe
+,here} for GhostScript.
+@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
+or visit the
+@uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}.
+
+@item Python
+Click @uref{http://www.python.org/ftp/python/win32/py152.exe,here} to
+install Python-1.5.2, or visit
+@uref{http://www.python.org,www.python.org}.
+
+We have not tried using newer versions than 1.5.2.
+
+@end table
+
+
+
[TODO:
Until now, installing LilyPond on Windows was
@uref{http://mail.gnu.org/pipermail/help-gnu-music/2001-April/000620.html,
almost} a dull process that could easily be @uref{
-ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/latest/bin/tar/lily-install-0.6-i686-cygwin.bin.tar.gz,
+ftp://appel.lilypond.org/pub/gnu-windows/cygwin-1.1.7/bin/tar/lily-install-0.6-i686-cygwin.bin.tar.gz,
automated} and scripted. This meant that you would have more time left
for actual work, and we all know that's not what computers were designed
for.
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/snapshots/cygwin-src-20010410.tar.bz2,
Windows installer}.
No
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/tar/lilypond/md5.sum,
+@uref{http://www.lilypond.org/gnu-windows/tar/lilypond/md5.sum,
difficult checksums} or signatures. Enjoy the the thrills of running
-@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/latest/setup.exe,
+@uref{http://www.lilypond.org/gnu-windows/latest/setup.exe,
untrusted binaries} with adminstrator rights, on your painfully
firewalled intranet.
export MFINPUTS TEXINPUTS TFMFONTS
-@name@.tex "$*"
+@name@.exe "$*"
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=150
-MY_PATCH_LEVEL=uu1
+MY_PATCH_LEVEL=jcn2
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
{
#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
cmd = 'latex \\\\nonstopmode \\\\input %s' % latex_fn
- if not verbose_p:
+ if not verbose_p and os.name == 'posix':
progress ( _("Running %s...") % 'LaTeX')
cmd = cmd + ' 1> /dev/null 2> /dev/null'
cmd = 'dvips %s -o%s %s' % (opts, outbase + '.ps', outbase + '.dvi')
- if not verbose_p:
+ if not verbose_p and os.name == 'posix':
progress ( _("Running %s...") % 'dvips')
cmd = cmd + ' 1> /dev/null 2> /dev/null'