Building Ardour on OSX 15.3 for an M3 MacBook Pro

Published on: 13 January 2025

This is very much a work in progress rough guide. But I thought I would document it now so it doesn't get lost in the void.

These are my most recently installed homebrew packages, some of the required packages were probably already installed previously:

  • gtk+
  • hicolor-icon-theme
  • at-spi2-core
  • libxtst
  • libxi
  • libxfixes
  • dbus
  • cmake
  • speexdsp
  • sleef
  • meson
  • ninja
  • lilv
  • sratom
  • sord
  • zix
  • serd
  • lrdf
  • raptor
  • libwebsockets
  • cppunit
  • lv2
  • pangomm@2.46
  • pangomm
  • cairomm@1.14
  • cairomm
  • aubio
  • numpy
  • fftw
  • open-mpi
  • pmix
  • hwloc
  • jack
  • aften
  • berkeley-db@5
  • vamp-plugin-sdk
  • taglib
  • liblo
  • glibmm@2.66
  • libsigc++@2
  • fluid-synth
  • glibmm
  • libsigc++
  • boost
  • cpp-gsl
  • gsl

clone the repo

git clone https://github.com/Ardour/ardour.git

cd into the repo

cd ardour

Apply the following patches

1) Patch wscript (waf)

diff --git a/wscript b/wscript
index 9745aeafd2..4ab8eb08a0 100644
--- a/wscript
+++ b/wscript
@@ -995,6 +995,7 @@ def configure(conf):
 
     if sys.platform == 'darwin':
         conf.define ('NEED_INTL', 1)
+        conf.define ('DISABLE_VISIBILITY', 1)
         autowaf.display_msg(conf, 'Will use explicit linkage against libintl in ' + user_gtk_root, 'yes')
     else:
         # libintl is part of the system, so use it
@@ -1052,10 +1053,10 @@ def configure(conf):
         #conf.env.append_value('LINKFLAGS_OSX', "-sysroot /Developer/SDKs/MacOSX10.4u.sdk")
         #conf.env.append_value('LINKFLAGS_OSX', "-sysroot /Developer/SDKs/MacOSX10.4u.sdk")
 
-        conf.env.append_value('CXXFLAGS_OSX', "-msse")
-        conf.env.append_value('CFLAGS_OSX', "-msse")
-        conf.env.append_value('CXXFLAGS_OSX', "-msse2")
-        conf.env.append_value('CFLAGS_OSX', "-msse2")
+        # conf.env.append_value('CXXFLAGS_OSX', "-msse")
+        # conf.env.append_value('CFLAGS_OSX', "-msse")
+        # conf.env.append_value('CXXFLAGS_OSX', "-msse2")
+        # conf.env.append_value('CFLAGS_OSX', "-msse2")
         #
         #       TODO: The previous sse flags NEED to be based
         #       off processor type.  Need to add in a check

2) Patch osx_build

diff --git a/tools/osx_packaging/osx_build b/tools/osx_packaging/osx_build
index 264fd9a13f..7db31cf1e4 100755
--- a/tools/osx_packaging/osx_build
+++ b/tools/osx_packaging/osx_build
@@ -915,13 +915,13 @@ fi
 
 
 ##### App Signing ##############################################################
-
-if test $(sw_vers -productVersion | cut -d '.' -f 1) -lt 11 -a $(sw_vers -productVersion | cut -d '.' -f 2) -lt 14 -a $(sw_vers -productVersion | cut -d '.' -f 2) -lt 7; then
-	#less than 10.13.6 does not support notariztion
-	HARDENED_OPTIONS=
-else
-	HARDENED_OPTIONS="--options runtime --entitlements entitlements.plist"
-fi
+HARDENED_OPTIONS=
+# if test $(sw_vers -productVersion | cut -d '.' -f 1) -lt 11 -a $(sw_vers -productVersion | cut -d '.' -f 2) -lt 14 -a $(sw_vers -productVersion | cut -d '.' -f 2) -lt 7; then
+# 	#less than 10.13.6 does not support notariztion
+# 	HARDENED_OPTIONS=
+# else
+# 	HARDENED_OPTIONS="--options runtime --entitlements entitlements.plist"
+# fi
 
 echo "checking for signing credentials"
 

Run the following commands

LC_CTYPE=C ARM_NEON_SUPPORT=1 CPATH=/usr/local/include:/opt/homebrew/include CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure --arm64 --no-phone-home  --strict --with-backends=jack,coreaudio,dummy --ptformat --optimize --no-carbon
LC_CTYPE=C ARM_NEON_SUPPORT=1 CPATH=/opt/homebrew/include CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf  -j$(sysctl -n hw.logicalcpu) -v
LC_CTYPE=C ARM_NEON_SUPPORT=1 CPATH=/opt/homebrew/include CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf i18n

Now set some environment variables for signing

set -x APPLE_DEVELOPER_ID_FOR_APPLICATION "Apple Development: xxx@xxx (XXXXX)"
cd tools/osx_packaging
./osx_build --nls --public

Now you should have a signed app in the build directory that you can install...good luck.

Pirates ^_^