Building On Mac
|This guide will help you establish a working development environment for Audacity on OS X Snow Leopard, Lion or Mountain Lion. |
The steps detailed below are focused on getting you building Audacity as quickly and easily as possible, but you may use the environment for general development as well.
Download Xcode 3.2.6
To download Xcode, you will need to register at the Apple Developer site:
Once registered, the available downloads are located here:
Xcode 3.2.6 is the last version that (officially) supports the PPC architecture and the macosx10.4u SDK. Unless you're building release versions, the PPC support isn't absolutely necessary, but the SDK is required.
Enter “Xcode 3.2.6” in the search box on the left, press enter, and download the “Xcode 3.2.6 and iOS SDK 4.3” dmg:
Download Xcode 4.5.2
Snow Leopard users may skip this step.
NOTE: You may choose to install other versions of Xcode, but at the time this guide was written, 4.5.2 was the latest and other versions may not work as outlined here.
Enter “Xcode 4.5.2” in the search box on the left, press enter, and download the “Xcode 4.5.2” dmg:
Enter “Command Line Tools” in the search box on the left, press enter and download the “Command Line Tools” dmg that corresponds to your version of OS X:
Two build utilities, cmake and pkgconfig, will need to be installed and MacPorts or Fink are the easiest way to get them. This guide will use MacPorts so you will need to make adjustments if you choose to use Fink or other source.
Download the version of MacPorts which matches your OS X version from:
You must download the wxMac version 2.8.12 of wxWidgets from:
Download the "Build wxwidgets.gz" script that will be used to build wxWidgets for use with Audacity. Make sure you save the file as "build_wxwidgets.gz". Safari will automatically uncompress the file, others may not.
Install Xcode 3.2.6
Locate the Xcode 3.2.6 dmg, xcode_3.2.6_and_ios_sdk_4.3.dmg, on your system and double click it to have Finder verify and mount it:
The “Xcode and iOS SDK” installer checks the version of OS X that is currently running and it will not work on any version above Snow Leopard. However, this version check can be bypassed by starting the installation from the command line.
NOTE: It is advisable to have all OS X updates applied to your system before installing Xcode 3.2.6. This is especially important for Lion users as the installation will fail.
Open a Terminal window and start the installation by entering the following commands:
- export COMMAND_LINE_INSTALL=1
- open "/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg"
This will start the installation while bypassing the version check.
On Mountain Lion, the installer needs to restart itself:
And, since the Xcode 3.2.6 certificate has expired, you will be asked to accept it:
You will then get to the normal installation process:
Proceed through the various installation pages until you get to the “Custom Install” page:
Open the Essentials item by clicking the arrow:
The minimum required options are “Unix Development” and “Mac OS X 10.4 SDK”, but if you're running Snow Leopard, you may elect to install everything. On Lion or above, you will not be able to use “System Tools” and may choose to use the “iOS SDK” and “Documentation” from Xcode 4.5.2:
Continue through the pages to start the installation.
On Mountain Lion, you will be prompted to stop iTunes near the end of the installation:
To terminate the process and allow the installation to complete, open a Terminal window and enter:
- sudo killall iTunesHelper
Close the installer when complete:
This completes the Xcode 3.2.6 installation.
Install Xcode 4.5.2
Snow Leopard users should skip this step.
Locate the Xcode 4.5.2 dmg, xcode4520418508a.dmg, on your system and double click it to have Finder verify and mount it:
The Xcode folder will open when it's mounted:
You may choose to drag the Xcode app to wherever you like, but this guide expects it to be located in the Applications folder:
Locate the Command Line Tools dmg, xcode452cltools10_76938212a.dmg, on your system and double click it to have Finder verify and mount it:
The Command Line Tools folder will open:
Start the installation by double clicking the installer, “Command Line Tools (Lion).mpkg” in this case:
Once the installation completes, close the installer:
Open a Terminal window and enter:
- sudo xcode-select -switch "/Applications/Xcode.app/Contents/Developer"
You will be asked to enter your password:
To make it a little easier to use Xcode 3.2.6 from the command line, create a link to the 3.2.6 version of xcodebuild. You make change the "xcodebuild3" to whatever you like, just remember when building Audacity from the command line to use what you specify here:
- sudo ln -s /Developer/usr/bin/xcodebuild /usr/bin/xcodebuild3
This completes the Xcode 4.5.2 installation.
Locate the MacPorts installer and double click to start the installation:
Click through the installation pages and close the installer when installation completes:
Open a Terminal window and install the cmake and pkgconfig packages:
- sudo port install cmake pkgconfig
You will be prompted to enter your password:
The packages will be downloaded and installed:
Add links to Xcode 3.2.6 so cmake and pkg-config can be located:
- ln -s /opt/local/bin/cmake /Developer/usr/bin/cmake
- ln -s /opt/local/bin/pkg-config /Developer/usr/bin/pkg-config
This completes the MacPorts installation.
Open a Terminal window and extract the wxWidgets source:
- tar xf ~/Downloads/wxMac-2.8.12.tar
Change to the newly created directory:
- cd wxMac-2.8.12
Start the build. This assumes you downloaded the build_wxwidgets script to your Downloads directory:
- sh ~/Downloads/build_wxwidgets
After all configurations are built, you will be prompted for your password:
All configurations have been built and installed:
To verify, list the installed configurations:
Make sure you see 1 default configuration and 3 alternates:
wxWidgets installation is now complete.
Now that everything is in place, we finally get to the whole purpose of this exercise, building Audacity. But first, you must decide if you want to use the source for the current stable version of Audacity or if you want to get the absolute latest development source. Remember that the latter may not build (usually does) due to active development.
Make your choice when downloading from here:
Once you have the source downloaded and extracted, you may use either the xcodebuild command line utility or the Xcode 3.2.6 IDE.
The Audacity xcode project has 4 configurations defined:
- Debug Static - disables optimization, enables debugging code, and links to static libraries
- Debug Shared - disables optimization, enables debugging code, and links to shared libraries
- Release Static - enables optimization, disables debugging code, and links to static libraries
- Release Shared - disables optimization, disables debugging code, and links to shared libraries
So you'll need to select which one you want to use in the following steps, but "Debug Static" will be used for this guide.
Build with xcodebuild
To use the command line utility, open a Terminal window, change to the Audacity mac directory, and start the build. If you didn't install Xcode 4.5.2 above, then use "xcodebuild" here:
- cd audacity/mac
- xcodebuild3 -configuration "Debug Static"
When it completes, you should get a "Build Succeeded" message:
The newly built Audacity can be started from Finder, using gdb, or simply:
- open "build/Debug Static/Audacity.app"
Build with Xcode IDE
To build Audacity using the Xcode 3.2.6 IDE, use Finder to navigate to the "/Developer/Applications" folder, by selecting "Go to folder" from the "Go" menu in Finder:
And then enter the "/Developor/Applications" and click "Go":
Now double click the "Xcode" application to start it:
The first time you launch Xcode 3.2.6, you will be prompted to install Java:
When the installation completes, open the Audacity Xcode project by selecting "Open" from the "File" menu in Xcode:
Navigate to the "audacity/mac" folder and then double click the "Audacity.xcodeproj" project:
Now just click "Build and Run" on the toolbar and a freshly built Audacity will start when the build completes.