]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/INSTALL.pod
release: 0.1.41
[lilypond.git] / Documentation / INSTALL.pod
index 60100908e85551365021b09432b8099be4458eb7..bca2cc23f911d77fae80b89fd64c37e059f040f0 100644 (file)
@@ -13,8 +13,7 @@ You do something which looks remotely like
        configure
        make
        make install
-       tar -C /usr/lib/texmf/fonts/source/ -zxf musixtex-T73.tgz 'mf/*'
-       
+
 The detailed instructions follow here.
 
 =head1 PREREQUISITES
@@ -25,8 +24,8 @@ For compilation you need.
 
 =item *
 
-A Unix system with GNU tools. GNU LilyPond is known to run on these
-unices: Linux, AIX, Digital Unix and Solaris.
+A GNU system: GNU LilyPond is known to run on these GNU systems:
+Linux, FreeBSD, AIX, Digital Unix and Solaris.
 
 If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
 work in Windows NT/95, but we don't promise to support it.
@@ -63,29 +62,12 @@ TeX
 
 =item *
 
-The MusixTeX fonts (I included those found in MusixTeX T.73). Beware,
-the clef symbol seems to have changed its position in some versions,
-(notably Egler's, a.k.a. OpusTeX). The MusixTeX fonts are included in
-MusixTeX (T73 or better), which can be had from any CTAN site, e.g. at
-
-=over 4
-
-=item ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
-
-=item ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
-
-=item ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
+A PostScript printer and/or viewer (such as Ghostscript) is strongly
+recommended.  Xdvi will show all embedded PostScript too if you have
+Ghostscript installed.
 
 =back
 
-You only need the contents of the F<mf/> subdirectory of the
-package. The primary site of the Taupin version is
-ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
-
-Andreas Egler's version of MusixTeX, now called OpusTeX, will also
-work. Andreas moved some characters around in the fonts, so you have
-to edit the definitions in tex/eglerdefs.tex (patch appreciated)
-
 
 =head1 RECOMMENDED
 
@@ -95,8 +77,13 @@ Although not strictly necessary, these are recommended to have.
 
 =item *
 
-Perl.  Most scripts are written in Perl. Most  documentation was created
-with the perl's Plain Old Documentation.
+Perl-5.  Most documentation was created with the perl's Plain Old
+Documentation. (I use 5.003)
+
+=item *
+
+Python.  Although perl is nice, python is better.  We will shift
+towards python for build scripts
 
 =item *
 
@@ -104,9 +91,9 @@ GNU find
 
 =item *
 
-A fast computer (a full page of music typically takes 1 minute
-on my 486/133, using the B<--enable-checking> compile. It's lot slower
-than most MusiXTeX preprocessors)
+A fast computer (a full page of music typically takes 1 minute on my
+486/133, using the B<--enable-checking> compile. It's lot slower than
+most MusiXTeX preprocessors)
 
 =back
 
@@ -162,33 +149,37 @@ other options include:
 
 =over 4
 
-=item --enable-shared
+=item B<--enable-shared>
 
 Make a shared library (gnu/linux, solaris (?) only ) 
 
-=item --enable-printing
+=item B<--enable-printing>
 
 Enable debugging print routines (lilypond B<-d> option)
 
-=item --enable-optimise
+=item B<--enable-optimise>
 
 Set maximum optimisation: compile with B<-O2>
 
-=item --enable-profiling
+=item B<--enable-profiling>
 
 Compile with support for profiling
 
-=item --enable-tex-prefix
+=item B<--enable-tex-prefix>
 
 Set the directory where TeX and Metafont live
 
-=item --enable-tex-dir
+=item B<--enable-tex-dir>
 
 Set then directory TeX input is in (detected as a subdir of tex-prefix)
 
-=item --enable-mf-dir
+=item B<--enable-mf-dir>
+
+Set the directory mf input is in (idem)
 
-Set then directory mf input is in (idem) [obsolete]
+=item B<--enable-out-dir>
+
+Set the directory for machine generated output.
 
 =back
 
@@ -203,6 +194,33 @@ everything will be compiled, but nothing will be installed.  The
 resulting binaries can be found in the subdirectories F<out/> (which
 contain all files generated during compilation).
 
+=head2 Building for multiple hosts
+
+LilyPond does not follow the GNU standards when it comes to
+configuring and making Makefiles. In LilyPond, F<make> generates I<all>
+output in output directories (called F<out/>, by default). 
+You can have multiple compiles from the same source-tree, by
+overriding the setting for the output directory.
+
+Example: on my system, I do debugging and lots compiling. For this I
+use the configuration as follows:
+
+       configure --prefix=~ --enable-debugging --enable-printing --enable-checking
+       make all
+
+and I want to do profiling. For that I use
+
+       configure --prefix=~ --enable-debugging --disable-printing\
+               --disable-checking --enable-profiling --enable-optimise\
+               --enable-out-dir=out-profile
+
+       make OUTDIR_NAME=out-profile all
+
+These two commands build two entirely separate versions of
+LilyPond. In Real Life, you would probably also want to have two
+different prefixes. On my machine this is no problem; I never do 
+C<make install>. My prefix dirs are linked back to my source directory.
+
 
 =head1 INSTALLING
 
@@ -210,18 +228,11 @@ If you have done a successful C<make>, then a simple
 
        make install
 
-should do the trick. 
+should do the trick.
 
-Install the musixtex fonts in a directory which TeX and MF knows (if
-you are root, look for a directory which contains the directories with
-AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
-and copy the fonts into that). Do not forget to rehash TeX (if
-applicable)
-
-Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
-have a symlink pointing to that in
-F</usr/lib/texmf/texmf/fonts/source/public/>. After I copied the
-files, I ran "texhash"
+If you are doing an upgrade, please remember to remove obsolete .pk
+and .tfm files of the fonts.  A script has been provided to do the
+work, see F<bin/clean-fonts.sh>.
 
 =head1 CAVEATS
 
@@ -232,6 +243,10 @@ files, I ran "texhash"
 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
 should turn off this flag for this file.
 
+=item *
+
+Perl5.003 and Perl5.004 use different syntax for pod2html.
+
 =back
 
 =head1 EXAMPLE
@@ -239,8 +254,8 @@ should turn off this flag for this file.
 This is what I type in my xterm:
 
        lilypond someinput.ly
-       tex lelie.tex
-       xdvi test&
+       tex someinput.tex
+       xdvi someinput&
 
 This is what the output looks like over here:
 
@@ -252,11 +267,11 @@ This is what the output looks like over here:
        Preprocessing elements... 
        Calculating column positions ... [14][25]
        Postprocessing elements...
-       TeX output to lelie.tex ...
-       Creating MIDI elements ...MIDI output to lelie.midi ...
+       TeX output to someinput.tex ...
+       Creating MIDI elements ...MIDI output to someinput.midi ...
 
 
-       hw:~/musix/spacer$ xdvi lelie&
+       hw:~/musix/spacer$ xdvi someinput&
        [1] 855
 
 Check out the input files, some of them have comments
@@ -265,24 +280,80 @@ Please refer to the man page for more information.
 =head1 REDHAT LINUX
 
 RedHat Linux users should be able to get a RPM. A spec file is in
-F<make/out/lilypond.spec>. You should be able to create an rpm as a normal
-user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
+F<make/out/lilypond.spec>. You should be able to create an rpm as a
+normal user. Be sure you have a F<~/.rpmrc>, and edit the RPM-dir in
 F<Variables.make>. (If you create the RPM as a normal user the
 permissions will not be set correctly, unfortunately)
 
 
-=head1 WINDOZE
+=head1 DEBIAN GNU/LINUX
+
+A Debian package is also available; contact Anthony Fok
+<foka@debian.org>.  The build scripts are in the subdirectory debian/
+
 
-Windows NT:
+=head1 WINDOWS NT/95
 
-you need the cygnus windows32 gnu port development stuff; have a look
-at http://www.cygnus.com/gnu-win32.
+So, you're stuck with Windows, eh?  Well, don't worry, you just 
+need (to get) Cygnus' windows32 port of gnu development stuff; 
+have a look at http://www.cygnus.com/gnu-win32.
 
-to make GNU LilyPond under, brr, aargh, shudder.. windows32, well,
+To make GNU LilyPond under, brr, aargh, shudder... windows32, well,
 simply type:
 
        bash configure
-       make windows32
+       make
+
+B<Note> If you rely on broken DOS/Windows tools such as pkzip/WinZIP 
+to unpack the distribution, make sure the B<entire> source tree 
+is unpacked correctly, in particular the empty out directories 
+(F<flower/out>, F<lib/out> et. al.)
+
+=head1 MUSIXTEX
+
+Previous versions (before 0.1.39) used fonts from the TeX macro
+package "MusixTeX".  You can still use these, but they are not
+supported.  Since LilyPond's Feta font is much prettier, you'd be
+seriously misguided if you used them, but anyway, here are the 
+installation instructions for those deprecated fonts.
+
+
+[obsolete] I use the MusixTeX fonts those found in MusixTeX
+T.73. Beware, the clef symbol seems to have changed its position in
+some versions, (notably Egler's, a.k.a. OpusTeX). The MusixTeX fonts
+are included in MusixTeX (T73 or better), which can be had from any
+CTAN site, e.g. at
+
+=over 4
+
+=item ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
+
+=item ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
+
+=item ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
+
+=back 
+
+You only need the contents of the F<mf/> subdirectory of the
+package. The primary site of the Taupin version is
+ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
+
+Install the musixtex fonts in a directory which TeX and MF knows (if
+you are root, look for a directory which contains the directories with
+AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
+and copy the fonts into that). Do not forget to rehash TeX (if
+applicable)
+
+Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
+have a symlink pointing to that in
+F</usr/lib/texmf/texmf/fonts/source/public/>. After I copied the
+files, I ran "texhash"
+
+Andreas Egler's version of MusixTeX, now called OpusTeX, will also
+work. Andreas moved some characters around in the fonts, so you have
+to edit the definitions in F<tex/eglerdefs.tex>.
+
+
 
 =head1 AUTHORS