~ubuntu-branches/ubuntu/gutsy/audacity/gutsy-backports

« back to all changes in this revision

Viewing changes to win/compile.txt

  • Committer: Bazaar Package Importer
  • Author(s): John Dong
  • Date: 2008-02-18 21:58:19 UTC
  • mfrom: (13.1.2 hardy)
  • Revision ID: james.westby@ubuntu.com-20080218215819-tmbcf1rx238r8gdv
Tags: 1.3.4-1.1ubuntu1~gutsy1
Automated backport upload; no source changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Compiling Audacity for Microsoft Windows (TM)
 
1
Compiling Audacity (R) for Microsoft Windows (TM)
2
2
 
3
3
Authors:
4
4
  Asger Ottar Alstrup
12
12
  Lynn Allan
13
13
 
14
14
========================================================================
15
 
This version is currently accurate for Audacity version 1.3.3.
16
 
Last Updated: October 22, 2006
 
15
This version is currently accurate for Audacity version 1.3.4.
17
16
If the advice here is inaccurate or incomplete, please
18
17
email audacity-devel@lists.sourceforge.net.
19
 
See also "http://audacityteam.org/wiki/index.pl?CompilingAudacity".
 
18
See also "http://audacityteam.org/wiki/index.php?title=Developing_On_Windows".
20
19
========================================================================
21
20
 
22
21
Audacity releases are now built with Microsoft Visual C++ 8, 
26
25
 
27
26
For instructions on compiling Audacity under the Cygwin 
28
27
UNIX Emulation Layer, see the "Compiling Audacity under 
29
 
Cygwin" section below.
 
28
Cygwin" section below. This is not maintianed.
30
29
 
31
30
Previous Audacity releases have been built with Visual C++ 6.0, 
32
31
with Service Pack 5. This is no longer actively supported. 
51
50
 
52
51
Audacity now requires wxWidgets 2.6.1 or greater for 
53
52
Microsoft Windows, available at "http://www.wxwidgets.org/". 
54
 
The release version of Audacity 1.3.3 is built with 
55
 
wxWidgets 2.6.3.
 
53
The release version of Audacity 1.3.4 is built with 
 
54
wxWidgets 2.6.3. wxWidgets 2.8 is also supported.
56
55
 
57
56
 
58
57
------------------------
89
88
   if you plan to build Unicode Release Audacity, you need to 
90
89
   have built Unicode Release wxWidgets.
91
90
 
 
91
5. At this point, if you want to save some disk space,
 
92
   you can safely delete the directory:
 
93
   "C:\wxWidgets-2.6.3\build"
 
94
 
92
95
 
93
96
--------------------------
94
97
MSVC++ STEP 3:  Download Audacity
171
174
with these libs, open the file "configwin.h" and change it according 
172
175
to the third-party libraries you have installed. 
173
176
 
174
 
DirectSound and ASIO are sound card interface protocols that are more 
175
 
efficient than the standard WMME. Unlike WMME, not all sound card 
176
 
drivers support them. You can optionally add support for either 
177
 
DirectSound or ASIO as follows: 
 
177
DirectSound (Microsoft) and ASIO (Steinberg) are sound card interface 
 
178
protocols that are more efficient than the standard 
 
179
WMME. Unlike WMME, not all sound card drivers support them. 
178
180
 
179
 
If you wish DirectSound support, you must install the DirectX
180
 
SDK from Microsoft (http://msdn.microsoft.com/directx).  The
181
 
installation will automatically define the DXSDK_DIR
 
181
TO ADD SUPPORT FOR DIRECTSOUND: 
 
182
Install the DirectX SDK from Microsoft (http://msdn.microsoft.com/directx).  
 
183
The installation will automatically define the DXSDK_DIR
182
184
environment variable and its presense will cause DirectSound
183
185
support to be automatically included when Audacity is built.
184
186
 
 
187
 
 
188
TO ADD SUPPORT FOR ASIO:
 
189
Because ASIO is a PROPRIETARY, closed standard, 
 
190
we (or any third party) cannot distribute its SDK. 
 
191
That means we cannot distribute builds of Audacity that support 
 
192
ASIO, because Audacity is licensed under the 
 
193
GPL (http://audacity.sourceforge.net/about/license), which requires 
 
194
we distribute all source code. 
 
195
 
 
196
So, although you can build your own copies of Audacity with 
 
197
ASIO support, for personal use, you cannot distribute them without 
 
198
violating the Audacity license and the ASIO license. 
 
199
If you build ASIO support into Audacity, do not distribute that build. 
 
200
 
185
201
If you wish ASIO support, install the ASIO SDK from Steinberg 
186
202
(http://www.steinberg.net ... select Company, then 3rd Party
187
203
Developers), then define an environment variable called
188
 
ASIOSDK_DIR, as you did for WXWIN above. The value should be 
 
204
ASIOSDK_DIR, as you did for WXWIN, above. The value should be 
189
205
the full path to the base directory of the ASIO SDK, e.g., 
190
206
         set ASIOSDK_DIR=C:\ASIOSDK2
191
207
 
 
208
 
192
209
PortAudio (http://www.portaudio.com/) is a cross-platform OSS library 
193
210
that Audacity uses for recording and playback. The default build 
194
211
settings use PortAudio v19, but v18 is still supported. If you want 
213
230
* "Unicode_Debug" for a Unicode-based, slower, debuggable 
214
231
   executable
215
232
 
 
233
There is also a wx284_debug target which enables various expriemental features
 
234
not in the release builds. This requires files not included in the source
 
235
tarball, so we recommend checking out the latest source from audacity CVS:
 
236
  http://audacity.sourceforge.net/community/developers#cvs
 
237
 
216
238
You can select the configuration from the Solution 
217
239
Configurations pull-down menu, or select it from the "Build" 
218
240
menu > "Configuration Manager..." dialog box.
575
597
`wx-config --static --libs` instead of `wx-config --libs` which it already uses.  Currently,
576
598
Audacity will not build with `wx-config --static --libs`.  If you get it to work, let us know!
577
599
 
578
 
 
579
 
----------------------
580
 
Miscellaneous Problems
581
 
----------------------
582
 
 
583
 
When I tried to get Audacity to compile with wxWidgets 2.4.0, I ran into trouble with large file
584
 
support.  This trouble is characterized by a linker error that looks like this:
585
 
 
586
 
obj/import/ImportMP3.o(.text+0x63b): In function
587
 
`_Z8input_cbPvP10mad_stream':
588
 
/home/dfancella/audacity/src/import/ImportMP3.cpp:278: undefined
589
 
reference to `wxFile::Read(void*, long long)'
590
 
 
591
 
This problem went away when compiled with wxWidgets 2.4.1.  However, since the proper solution
592
 
to the problem was never identified, it is possible that this problem will resurface with future
593
 
versions of wxWidgets.  It is also possible that this occurred as a bug in wxWidgets 2.4.0 that was
594
 
fixed in 2.4.1, in which case it's not likely to reappear.
595
 
 
596
 
The root of the problem is that wxWidgets was compiled without large file support enabled, while
597
 
Audacity was compiled with it.  This is determined by a #define symbol, _INPUT_BYTE_OFFSET being
598
 
set to 64 for large file support.  It should also affect libsndfile, but mysteriously it did not.
599
 
If you encounter this problem and find a fix, please submit a patch.
600
 
 
601
 
If you modify Audacity's Makefile and then run configure, configure will overwrite your changes
602
 
to the Makefile when it regenerates it.  This is not a bug, this is the expected behavior.  The way
603
 
to address this issue is to make sure that you migrate changes to the Makefile to Makefile.in
604
 
before rerunning configure.  This is also why it is recommended that you work with configure.in to
605
 
provide the features you need rather than editing Audacity's Makefile.  Just keep in mind that
606
 
Audacity's Makefile is a strong Makefile that successfully compiles under multiple Linux distributions,
607
 
and even FreeBSD.  If you find yourself modifying it a lot, you are probably making a mistake and
608
 
should step back and re-evaluate how you are working.  I was able to effect all changes needed
609
 
to successfully build Audacity under Cygwin without modifying Audacity's Makefile, although I
610
 
did frequently test changes by modifying the Makefile directly.  After each change, you should
611
 
find a way to put it in configure.in and rerun autoconf and configure.
612
 
 
613
 
 
614
600
----------
615
601
Known Bugs
616
602
----------