Building Ardour on OSX 15.3 for an M3 MacBook Pro
Published on: 13 January 2025This 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.