/[svn]/web/trunk/www.linuxsampler.org/msys.html
ViewVC logotype

Contents of /web/trunk/www.linuxsampler.org/msys.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1949 - (show annotations) (download) (as text)
Sun Jul 26 19:25:25 2009 UTC (14 years, 9 months ago) by persson
File MIME type: text/html
File size: 9208 byte(s)
* new MSYS and MinGW packages and structure
* new versions of gtkmm and SQLite

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta content="text/html; charset=ISO-8859-1"
5 http-equiv="content-type">
6 <title>Windows Build Instructions</title>
7 <link rel="shortcut icon" href="http://download.linuxsampler.org/favicon.ico" type="image/x-icon">
8 <link rel="stylesheet" type="text/css" href="libgig/css/content.css" title="content" media="all">
9 </head>
10 <body>
11 <h2 align="center">Windows Build Instructions &nbsp; <img src="gfx/logos/msys.png" alt="msys logo"> &nbsp; HOWTO by Andreas Persson</h2>
12 <br>
13 <center>July&nbsp;26th,&nbsp;2009</center><br>
14 <div style="background-color: #F4F4FF; margin: 1em 3em 1em 3em; padding: 1em 1em 1em 2.2em;">
15 <a href="#intro">1.&nbsp; Introduction</a><br>
16 <a href="#mingw">2.&nbsp; MinGW</a><br>
17 <a href="#pkg">3.&nbsp; pkg-config and gtkmm</a><br>
18 <a href="#msys">4.&nbsp; MSYS</a><br>
19 <a href="#asio">5.&nbsp; ASIO SDK</a><br>
20 <a href="#vst">6.&nbsp; VST SDK</a><br>
21 <a href="#intl">7.&nbsp; intltool</a><br>
22 <a href="#perl">8.&nbsp; Perl</a><br>
23 <a href="#xslt">9.&nbsp; xsltproc</a><br>
24 <a href="#setup">10.&nbsp; MSYS setup</a><br>
25 <a href="#sqlite">11.&nbsp; Building SQLite</a><br>
26 <a href="#sndfile">12.&nbsp; Building libsndfile</a><br>
27 <a href="#gig">13.&nbsp; Building libgig</a><br>
28 <a href="#ls">14.&nbsp; Building linuxsampler</a><br>
29 <a href="#gigedit">15.&nbsp; Building gigedit</a><br>
30 </div>
31
32
33 <h3><a name="intro">1.&nbsp; Introduction</a></h3>
34
35 <p>These are instructions for building libgig, linuxsampler and
36 gigedit on Windows (32 bit) with help of MinGW and MSYS. After the
37 MinGW and MSYS environment and the other prerequisites are installed,
38 the build procedure will be the same as in Linux, that is, basically:
39 ./configure ; make ; make install.</p>
40
41 <p>The versions of the files to download are just the ones I used
42 before updating this text. You can probably use later ones if
43 available.</p>
44
45 <p>Some of the instructions below are marked with ** and ***:</p>
46
47 <p>** = only needed if you are going to build from CVS, not if you are
48 using the tar file releases</p>
49
50 <p>*** = only needed if you are going to build gigedit</p>
51
52
53 <h3><a name="mingw">2.&nbsp; MinGW</a></h3>
54
55 <p>Download the MinGW installer, MinGW-5.1.4.exe,
56 from <a href="http://www.mingw.org">www.mingw.org</a> and run it. The
57 installer will automatically download and install further
58 packages. Choose the base tools and the g++ compiler.</p>
59
60
61 <h3><a name="pkg">3.&nbsp; pkg-config and gtkmm</a></h3>
62
63 <p>The pkg-config tool is needed by the configure script in all the
64 LinuxSampler packages. pkg-config is included in gtkmm, which is
65 needed by gigedit. (If you are not going to build gigedit, you can
66 download just GLib and pkg-config
67 from <a href="http://www.gtk.org">www.gtk.org</a>.)</p>
68
69 <p>Download the gtkmm windows installer,
70 gtkmm-win32-devel-2.16.0-4.exe,
71 from <a href="http://www.gtkmm.org">www.gtkmm.org</a>, and run it. Let
72 the installer adjust the PATH variable as it wants.</p>
73
74
75 <h3><a name="msys">4.&nbsp; MSYS</a></h3>
76
77 <p>Download from "MSYS Base System, Current Release_ MSYS-1.0.11":</p>
78 <pre>MSYS-1.0.11.exe</pre>
79
80 <p>Run the installer.</p>
81
82 <p>Download from "MSYS Supplementary Tools, Technology Preview_ Tools for MSYS-1.0.11":</p>
83 <pre>bison-2.3-MSYS-1.0.11-1.tar.bz2 **
84 crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 **
85 cvs-1.11.22-MSYS-1.0.11-1-bin.tar.gz **
86 perl-5.6.1-MSYS-1.0.11-1.tar.bz2 **</pre>
87
88 <p>Extract these files to the msys root directory, by starting msys, do
89 "cd /" followed by "tar xaf <i>filename</i>".</p>
90
91 <p>Download from "MinGW autoconf, autoconf2.5, autoconf2.5-2.63-1":</p>
92 <pre>autoconf2.5-2.63-1-mingw32-bin.tar.lzma **</pre>
93
94 <p>From "MinGW autoconf, wrapper, autoconf-6-1":</p>
95 <pre>autoconf-6-1-mingw32-bin.tar.lzma **</pre>
96
97 <p>From "MinGW automake, automake1.11, automake1.11-1.11-1":</p>
98 <pre>automake1.11-1.11-1-mingw32-bin.tar.lzma **</pre>
99
100 <p>From "MinGW automake, wrapper, automake-4-1":</p>
101 <pre>automake-4-1-mingw32-bin.tar.lzma **</pre>
102
103 <p>From "MinGW gettext, gettext-0.17-1":</p>
104 <pre>gettext-0.17.1-1-mingw32-dev.tar.lzma ***
105 libgettextpo-0.17-1-mingw32-dll-0.tar.lzma ***
106 libintl-0.17-1-mingw32-dll-8.tar.lzma ***</pre>
107
108 <p>From "MinGW libiconv, libiconv-1.13.1-1":</p>
109 <pre>libiconv-1.13.1-1-mingw32-dll-2.tar.lzma ***</pre>
110
111 <p>From "GCC Version 4, Current Release_ gcc-4.4.0":</p>
112 <pre>gcc-core-4.4.0-mingw32-dll.tar.gz ***</pre>
113
114 <p>From "MinGW libtool, libtool-2.27a-1":</p>
115 <pre>libtool-2.2.7a-1-mingw32-bin.tar.lzma</pre>
116
117 <p>Extract all these files to the MinGW directory, by starting msys, do
118 "cd /mingw" followed by "tar -x --lzma -f <i>filename</i>" for the
119 .tar.lzma files and "tar xaf <i>filename</i>" for the .tar.gz file.</p>
120
121
122 <h3><a name="asio">5.&nbsp; ASIO SDK</a></h3>
123
124 <p>Download asiosdk2.2.zip from Steinberg. Extract it to your msys
125 $HOME.</p>
126
127
128 <h3><a name="vst">6.&nbsp; VST SDK</a></h3>
129
130 <p>If you want to build the LinuxSampler VST plugin, download
131 vst_sdk2_4_rev2.zip from Steinberg (note that you should not choose
132 version 3). Extract it to msys $HOME.</p>
133
134
135 <h3><a name="intl">7.&nbsp; intltool ***</a></h3>
136
137 <p>Download intltool_0.40.4-1_win32.zip from
138 <a href="http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool">http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool</a></p>
139
140 <p>Unzip this into the gtkmm directory (C:\Program Files\gtkmm)</p>
141
142
143 <h3><a name="perl">8.&nbsp; Perl ***</a></h3>
144
145 <p>The perl in MSYS is lacking an XML parser which is needed by
146 intltool. Download ActivePerl
147 from <a href="http://www.activestate.com">www.activestate.com</a> and
148 install it.</p>
149
150
151 <h3><a name="xslt">9.&nbsp; xsltproc ***</a></h3>
152
153 <p>The gigedit Makefile wants to build the gigedit quick start
154 documentation, so it needs the xsltproc command. Download from
155 <a href="http://www.zlatkovic.com/pub/libxml/">http://www.zlatkovic.com/pub/libxml/</a>:</p>
156
157 <pre>libxml2-2.7.3.win32.zip
158 libxslt-1.1.24.win32.zip</pre>
159
160 <p>Copy the contents of the bin directories from both zip files to a
161 directory of your choice. Add this directory last in your msys PATH,
162 for example:</p>
163
164 <pre>export PATH=$PATH:$HOME/xsltproc</pre>
165
166
167 <h3><a name="setup">10.&nbsp; MSYS setup</a></h3>
168
169 <p>Add the gtkmm aclocal directory to the list of extra directories
170 used by autoconf. (Make sure the gtkmm path is the one where you
171 installed it. The space in "Program Files" causes problems, so the
172 short file name form is used here):</p>
173
174 <pre>echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist</pre>
175
176 <p>Add the gtkmm bin directory first in your PATH (the installer has
177 already added gtkmm to the PATH, but it may have used "Program Files"
178 with a space in it, which causes configure to fail):</p>
179
180 <pre>export PATH=/c/Progra~1/gtkmm/bin:$PATH</pre>
181
182 <p>Make sure pkg-config will find the libraries you build:</p>
183
184 <pre>export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</pre>
185
186
187 <p>*** The intltool scripts expect perl to be in /opt/perl/bin, so
188 make a link to the ActivePerl installation. Also add ActivePerl to
189 PATH:</p>
190
191 <pre>mkdir -p /opt/perl/bin
192 ln -s /c/Perl/bin/perl.exe /opt/perl/bin
193 export PATH=/c/Perl/bin:$PATH</pre>
194
195
196 <p>*** MinGW gettext and gtkmm both include libintl. We want the gtkmm
197 version. Remove the MinGW files so the gettext configure tools don't
198 choose the wrong version:</p>
199
200 <pre>rm /mingw/include/libintl.h /mingw/lib/libintl*</pre>
201
202
203 <p>*** The gettext configure tools also need:</p>
204
205 <pre>export CPPFLAGS="-I/c/Progra~1/gtkmm/include"
206 export LDFLAGS="-L/c/Progra~1/gtkmm/lib"</pre>
207
208
209 <h3><a name="sqlite">11.&nbsp; Building SQLite</a></h3>
210
211 <p>The windows precompiled version of SQLite doesn't include the
212 neccessary development files, so it's best to build SQLite yourself.
213 Download sqlite-amalgamation-3.6.16.tar.gz
214 from <a href="http://www.sqlite.org">www.sqlite.org</a>
215 and extract it to your $HOME:</p>
216
217 <pre>cd
218 tar xzf sqlite-amalgamation-3.6.16.tar.gz</pre>
219
220 <p>Build and install:</p>
221
222 <pre>cd sqlite-3.6.16
223 CFLAGS=-O2 ./configure
224 make
225 make install</pre>
226
227 <p>(Without CFLAGS=-O2, the build will fail. The MinGW compiler has
228 some problems with creating the debug info for some reason.)</p>
229
230 <h3><a name="sndfile">12.&nbsp; Building libsndfile</a></h3>
231
232 <p>The windows precompiled version of libsndfile doesn't include the
233 neccessary pkg-config file, so it's best to build libsndfile
234 yourself. Download libsndfile-1.0.20.tar.gz
235 from <a href="http://www.mega-nerd.com/libsndfile/">www.mega-nerd.com</a> and
236 extract it to your $HOME:</p>
237
238 <pre>cd
239 tar xzf libsndfile-1.0.20.tar.gz</pre>
240
241 <p>Build and install:</p>
242
243 <pre>cd libsndfile-1.0.20
244 ./configure
245 make
246 make install</pre>
247
248
249 <h3><a name="gig">13.&nbsp; Building libgig</a></h3>
250
251 <p>Just use the same commands as you would in linux:</p>
252
253 <pre>make -f Makefile.cvs (if you build from CVS)
254 ./configure (add any configuration parameters as you wish)
255 make
256 make install</pre>
257
258
259 <h3><a name="ls">14.&nbsp; Building linuxsampler</a></h3>
260
261 <pre>make -f Makefile.cvs (if you build from CVS)
262 ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4
263 make
264 make install</pre>
265
266
267 <h3><a name="gigedit">15.&nbsp; Building gigedit</a></h3>
268
269 <pre>make -f Makefile.cvs (if you build from CVS)
270 ./configure
271 make
272 make install</pre>
273 </body>
274 </html>

  ViewVC Help
Powered by ViewVC