]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/INSTALL.pod
release: 0.0.63
[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 subdirectory
158 F<bin/>.
159
160 =head1 INSTALLING
161
162 If you have done a successful C<make>, then a simple
163
164         make install
165
166 should do the trick. 
167
168 [todo]
169
170 Install the musixtex fonts in a directory which TeX and MF knows (if
171 you are root, look for a directory which contains the directories with
172 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
173 and copy the fonts into that). Do not forget to rehash TeX (if
174 applicable)
175
176 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
177 have a symlink pointing to that in
178 F</usr/lib/texmf/texmf/fonts/source/public/>
179
180 =head1 CAVEATS
181
182
183
184 =over 5
185
186 =item *
187
188 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
189 should turn off this flag for this file.
190
191 =back
192
193 =head1 RUNNING
194
195 GNU LilyPond does use a lot of resources. For operation you need the following:
196
197
198 =over 5
199
200 =item *
201
202 A fast computer (a full page of music typically takes 1 minute
203 on my 486/66, using the B<--enable-checking> compile. It's lot slower
204 than most MusiXTeX preprocessors)
205
206 =item *
207
208 TeX
209
210 =item *
211
212 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
213 clef symbol has changed position in recent versions of MusixTeX)
214
215 =back
216
217 Please refer to the man page for more information.
218
219 =head1 REDHAT LINUX
220
221 RedHat Linux users should be able to get a RPM. A spec file is in
222 F<make/lilypond.spec>. You should be able to create an rpm as a normal
223 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
224 F<Variables.make>
225
226
227 =head1 WINDOZE
228
229 Windows NT:
230
231 you need the cygnus win32 gnu port development stuff; have a look
232 at http://www.cygnus.com/gnu-win32.
233
234 to make GNU LilyPond under, brr, aargh, well, simply type:
235
236         bash configure
237         make win32
238
239 =head1 PLATFORMS
240
241 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
242
243         * linux 2.0.x, g++ 2.7.2[.1]
244         * aix 4.1, g++ 2.7.2
245         * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
246         * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
247
248 =head1 AUTHORS
249
250 Han-Wen Nienhuys <hanwen@stack.nl>
251
252 Jan Nieuwenhuizen <jan@digicash.com>
253
254
255 Have fun!