]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/INSTALL.pod
release: 0.0.57
[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/lilypond.1
78         /usr/local/lib/libflower.{so,a}
79         /usr/local/bin/lilypond
80         /usr/local/bin/mi2mu
81         /usr/local/share/lilypond/*
82         /usr/lib/texmf/texmf/tex/lilypond/* 
83
84 The TeX include directory is detected dynamically, but it can be
85 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
86 above assumes that you are root and have the gnu development tools,
87 and your make is gnu make.  If this is not the case, you can adjust
88 your environment variables to your taste:
89
90         export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
91         configure
92
93 C<CPPFLAGS> are the preprocessor flags. 
94
95 the configure script is Cygnus configure, and it will accept
96 B<--help>. If you are not root, you will probably have to make it with
97
98         configure --prefix=/home/me_myself_and_I/
99
100 In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
101
102 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
103 no default hooks for local stuff (mine is broken too), you can do:
104
105         configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
106
107 Since GNU LilyPond currently is beta, you are advised to also use
108
109         --enable-debugging
110         --enable-checking
111
112 other options include:
113
114 =over 4
115
116 =item --enable-shared
117
118 Make a shared library (linux, solaris (?) only ) 
119
120 =item   --enable-printing
121
122 Enable debugging print routines (B<-d> option)
123
124 =item   --enable-optimise
125
126 Set maximum optimisation
127
128 =item   --enable-profiling
129
130 Compile with support for profiling
131
132 =item   --enable-tex-prefix
133
134 Set the directory where texmf lives
135
136
137 =item --enable-tex-dir
138
139 Set then directory tex input is in
140
141 =item --enable-mf-dir
142
143 Set then directory tex input is in
144
145 =back
146
147 All options are documented in the F<configure> help
148 The option B<--enable-optimise> is recommended for Real Life usage.
149
150 If you do
151
152         make all
153
154 everything will be compiled, but nothing will be installed.  The
155 resulting binaries can be found in the subdirectory
156 F<bin/>.
157
158 =head1 INSTALLING
159
160 If you have done a successful C<make>, then a simple
161
162         make install
163
164 should do the trick. 
165
166 [todo]
167
168 Install the musixtex fonts in a directory which TeX and MF knows (if
169 you are root, look for a directory which contains the directories with
170 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
171 and copy the fonts into that). Do not forget to rehash TeX (if
172 applicable)
173
174 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
175 have a symlink pointing to that in
176 F</usr/lib/texmf/texmf/fonts/source/public/>
177
178 =head1 CAVEATS
179
180
181
182 =over 5
183
184 =item *
185
186 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
187 should turn off this flag for this file.
188
189 =back
190
191 =head1 RUNNING
192
193 GNU LilyPond does use a lot of resources. For operation you need the following:
194
195
196 =over 5
197
198 =item *
199
200 A fast computer (a full page of music typically takes 1 minute
201 on my 486/66, using the B<--enable-checking> compile. It's lot slower
202 than most MusiXTeX preprocessors)
203
204 =item *
205
206 TeX
207
208 =item *
209
210 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
211 clef symbol has changed position in recent versions of MusixTeX)
212
213 =back
214
215 Please refer to the man page for more information.
216
217 =head1 REDHAT LINUX
218
219 RedHat Linux users should be able to get a RPM. A spec file is in
220 F<make/lilypond.spec>. You should be able to create an rpm as a normal
221 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
222 F<Variables.make>
223
224
225 =head1 WINDOZE
226
227 Windows NT:
228
229 you need the cygnus win32 gnu port development stuff; have a look
230 at http://www.cygnus.com/gnu-win32.
231
232 to make GNU LilyPond under, brr, aargh, well, simply type:
233
234         bash configure
235         make win32
236
237 =head1 PLATFORMS
238
239 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
240
241         * linux 2.0.x, g++ 2.7.2[.1]
242         * aix 4.1, g++ 2.7.2
243         * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
244         * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
245
246 =head1 AUTHORS
247
248 Han-Wen Nienhuys <hanwen@stack.nl>
249
250 Jan Nieuwenhuizen <jan@digicash.com>
251
252
253 Have fun!