Hello folks,
I am having a bit hard time understanding the steps of compiling for M1 machines.
What is needed to compile vst3, AU, and AAX plugins for M1 native?
After compiling it for M1, is it going to work on the other none-M1 machines?
Hello folks,
I am having a bit hard time understanding the steps of compiling for M1 machines.
What is needed to compile vst3, AU, and AAX plugins for M1 native?
After compiling it for M1, is it going to work on the other none-M1 machines?
Xcode will make a universal binary which contains both intel and arm builds. You donāt need to do anything special!
But when you build from Xcode, you need to make sure to select āBuild for all Macsā instead of āBuild for my Macā.
Also for AAX you need to disable ARM for time being, see the other threads about AAX:
And if you need external libraries it becomes easily complicatedā¦
As @daniel says, things quickly get complicated if you are using any external libraries. I just spent the best part of a week rebuilding a load of 3rd party libraries for use in my applications.
Thank you very much for this quick responses.
AAX did not surprise me
Iām not sure you even need to do that. Iāve tested both build for all and build for my and the binary comes out the same size on release mode. However the apple documentation does say that when building for a debug build it will only build for the current architecture to save time - but no one should be releasing a debug build anyway!
I think when set to release it follows the project settings no matter what:
Please correct me if I am mistaken however!
@Rory yeah, it took me a while to get going with the AAX library because of the whole universal binary thing. For standard JUCE stuff its nice and straightforward though!
You can build using either option, but you can only debug using the āBuild for my Macā option right?
Removing arm64 architecture only from the AAX target in the Xcode project did it for me. That builds the AAX plugin for Intel only, while all other plugins are built as univeral binaries.