Building Ardour on OS X

Stop!

Do you really need to do this? We provide ready-to-run packages of Ardour. Unless you are a developer with experience compiling and building applications from source, this document is not for you. Please go back to the download page

Why Is This So Hard?

Apple provides a very nice development environment for people who want to build applications that run only on OS X. Unfortunately if you want to write applications like Ardour that run on other platforms as well, Apple doesn't make things easy. Many components are missing, or the wrong version, and OS X does not come with a package management system to allow upgrades.

We have found that attempting to use various 3rd party "package managers" for OS X such as MacPorts or Fink, which make most open source packages easily installable, is not a viable basis for constructing a build environment for Ardour.

Overview

Conceptually, building Ardour is relatively simple, and consists of a few steps:

  • Download and build the GTK toolkit and all the libraries and tools that it requires
  • Download and build all the libraries and tools needed directly by Ardour
  • Build Ardour as a normal executable
  • Package it as an application bundle

Before You Start

  1. make sure you have the developer tools (XCode) installed
  2. make sure you have the command line developer tools (XCode) installed. Check this by running gcc --version. If it runs successfully, then XCode is correctly installed
  3. You will need git installed
  4. You will need Python version 2.6 or later installed
  5. You must have a suitably new version of JACK installed. For JackOSX, version 0.89 or newer. For JACK1, 0.121 or newer.

Getting Required Libraries and Tools

Ardour uses a lot of software libraries to provide functionality needed by the program. Before you can build Ardour, you will need to make sure that your system has all of the current dependencies installed. On OS X, you will need to do this from the source code of each dependency. Ardour developers in general do not provide assistance with this task, so please don't ask us for help.

Building GTK+ (the graphical toolkit we use) from source is a monumental task and can require a lot of other libraries to be built and installed along the way. This is particularly true on OS X, where many of GTK's own dependencies are not easily (or correctly) available.

The amount of work associated with building and maintaining all these dependencies for OS X is a major reason why we released a binary ("ready to run") version of Ardour for the platform.

Building Ardour 3.x

From here on, we will refer to the directory where your Ardour source code is located as $AD. It does not matter where it is located on your system. Typically it will be a location such as ~/ardour

If building from git, checkout Ardour

cd $AD
git clone git://git.ardour.org/ardour/ardour.git 3.0
cd $AD/3.0
      

OR If building from a source tarball, unpack it

cd $AD
tar xf /where/you/put/the/src/tarball
cd ardour-<VERSION>
      

Now, the build

./waf configure
./waf
      

You do not need to install in order to use your new build of Ardour. You can run it from within the build tree:

cd gtk2_ardour
./ardev
      

To install the results:

./waf install
      

To uninstall:

./waf uninstall
      

To clean up results of a build (objects, libraries, etc) use

./waf clean
      

Creating An Application Bundle

Applications on OS X take the form of "bundles", which are nothing more than a directory tree which contain everything the app needs to run.

cd tools/osx_packaging
./osx_build --public
      

You now have a functioning .app bundle.

Building Ardour 2.x

From here on, we will refer to the directory where your Ardour source code is located as $AD. It does not matter where it is located on your system. Typically it will be a location such as ~/ardour

If building from git, checkout Ardour

        cd $AD
        git clone git://git.ardour.org/ardour/ardour.git 2.0-ongoing
        cd 2.0-ongoing
        git checkout 2.0-ongoing
      

OR If building from a source tarball, unpack it

        cd $AD
        tar xf /where/you/put/the/src/tarball
        cd ardour-<VERSION>
      

Now, the build

        scons
      

You do not need to install in order to use your new build of Ardour. You can run it from within the build tree:

        cd gtk2_ardour
        ./ardev
      

To install the results:

        scons install
      

To uninstall:

        scons uninstall
      

To clean up results of a build (objects, libraries, etc) use

        scons -c
      

Creating An Application Bundle

Applications on OS X take the form of "bundles", which are nothing more than a directory tree which contain everything the app needs to run.

        cd tools/osx_packaging
        ./osx_build --public
      

You now have a functioning .app bundle.