]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/INSTALL.pod
release: 0.0.64
[lilypond.git] / Documentation / INSTALL.pod
1 =head1 NAME
2
3 INSTALL - installing GNU LilyPond
4
5 =head1 DESCRIPTION
6
7 This page documents installation  and compilation of GNU LilyPond
8
9 =head1 IMPORTANT
10
11 if you have downloaded a
12
13         *.pre*
14
15 version, then this is version is I<not> meant for producing nice
16 output, but to keep your patchsets up to date.  It might not even compile.
17
18 =head1 PREREQUISITES
19
20 For compilation you need.
21
22 =over 5
23
24 =item *
25
26 Unix. GNU LilyPond is known to run on Linux, AIX, Digital Unix and
27 Solaris
28
29 If you have the Cygnus WIN32 port of the GNU utils, it will
30 even work in Lose NT/95, but don't promise to support it.
31
32 =item *
33
34 GNU C++ v2.7 or better, with libg++ installed.  Version 2.7.2
35 or better recommended. I almost positive that it will not compile with
36 AT&T CC.
37
38 =item *
39
40 GNU make. 
41
42 =item *
43
44 Flex (2.5.1 or better). 
45
46 =item *
47
48 Bison. (Version 1.25 or better)
49
50 =back
51
52 =head1 RECOMMENDED
53
54 =over 5
55
56 =item *
57
58 Perl.  Most scripts are written in Perl. The documentation was created
59 with the perl's Plain Old Documentation.
60
61 =item *
62 (GNU) find
63
64 =back
65
66
67
68 =head1 CONFIGURING and COMPILING
69
70 to install GNU LilyPond, simply type:
71
72         configure
73         make install
74
75 This will install the following files:
76
77         /usr/local/man/man1/mi2mu.1
78         /usr/local/man/man5/mudela.5
79         /usr/local/man/man1/lilypond.1
80         /usr/local/lib/libflower.{so,a}
81         /usr/local/bin/lilypond
82         /usr/local/bin/mi2mu
83         /usr/local/share/lilypond/*
84         /usr/lib/texmf/texmf/tex/lilypond/* 
85         /usr/lib/texmf/texmf/fonts/source/lilypond/* 
86
87 The TeX include directory is detected dynamically, but it can be
88 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
89 above assumes that you are root and have the gnu development tools,
90 and your make is gnu make.  If this is not the case, you can adjust
91 your environment variables to your taste:
92
93         export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
94         configure
95
96 C<CPPFLAGS> are the preprocessor flags. 
97
98 the configure script is Cygnus configure, and it will accept
99 B<--help>. If you are not root, you will probably have to make it with
100
101         configure --prefix=/home/me_myself_and_I/
102
103 In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
104
105 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
106 no default hooks for local stuff (mine is broken too), you can do:
107
108         configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
109
110 Since GNU LilyPond currently is beta, you are advised to also use
111
112         --enable-debugging
113         --enable-checking
114
115 other options include:
116
117 =over 4
118
119 =item --enable-shared
120
121 Make a shared library (linux, solaris (?) only ) 
122
123 =item   --enable-printing
124
125 Enable debugging print routines (lilypond B<-d> option)
126
127 =item   --enable-optimise
128
129 Set maximum optimisation
130
131 =item   --enable-profiling
132
133 Compile with support for profiling
134
135 =item   --enable-tex-prefix
136
137 Set the directory where texmf lives
138
139 =item --enable-tex-dir
140
141 Set then directory tex input is in (detected as a subdir of tex-prefix)
142
143 =item --enable-mf-dir
144
145 Set then directory tex input is in (idem)
146
147 =back
148
149 All options are documented in the F<configure> help
150 The option B<--enable-optimise> is recommended for Real Life usage.
151
152 If you do
153
154         make all
155
156 everything will be compiled, but nothing will be installed.  The
157 resulting binaries can be found in the subdirectories F<out/> (which
158 contain all files generated during compilation).
159
160
161 =head1 INSTALLING
162
163 If you have done a successful C<make>, then a simple
164
165         make install
166
167 should do the trick. 
168
169 [todo. Obsolete; fonts are in distribution now.]
170
171 Install the musixtex fonts in a directory which TeX and MF knows (if
172 you are root, look for a directory which contains the directories with
173 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
174 and copy the fonts into that). Do not forget to rehash TeX (if
175 applicable)
176
177 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
178 have a symlink pointing to that in
179 F</usr/lib/texmf/texmf/fonts/source/public/>
180
181 =head1 CAVEATS
182
183
184
185 =over 5
186
187 =item *
188
189 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
190 should turn off this flag for this file.
191
192 =back
193
194 =head1 RUNNING
195
196 GNU LilyPond does use a lot of resources. For operation you need the following:
197
198
199 =over 5
200
201 =item *
202
203 A fast computer (a full page of music typically takes 1 minute
204 on my 486/66, using the B<--enable-checking> compile. It's lot slower
205 than most MusiXTeX preprocessors)
206
207 =item *
208
209 TeX
210
211 =item *
212
213 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
214 clef symbol has changed position in recent versions of MusixTeX)
215
216 =back
217
218 Please refer to the man page for more information.
219
220 =head1 REDHAT LINUX
221
222 RedHat Linux users should be able to get a RPM. A spec file is in
223 F<make/lilypond.spec>. You should be able to create an rpm as a normal
224 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
225 F<Variables.make>
226
227
228 =head1 WINDOZE
229
230 Windows NT:
231
232 you need the cygnus win32 gnu port development stuff; have a look
233 at http://www.cygnus.com/gnu-win32.
234
235 to make GNU LilyPond under, brr, aargh, well, simply type:
236
237         bash configure
238         make win32
239
240 =head1 PLATFORMS
241
242 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
243
244         * linux 2.0.x, g++ 2.7.2[.1]
245         * aix 4.1, g++ 2.7.2
246         * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
247         * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
248
249 =head1 AUTHORS
250
251 Han-Wen Nienhuys <hanwen@stack.nl>
252
253 Jan Nieuwenhuizen <jan@digicash.com>
254
255
256 Have fun!