* Dan Wilcox <danomatika@gmail.com> [2023-05-27 23:51]:

On May 26, 2023, at 11:28 PM, pd-list-request@lists.iem.at wrote:
* Dan Wilcox <danomatika@gmail.com <mailto:danomatika@gmail.com>> [2023-05-26 21:03]:
It has been updated for pd-lib-builder and is very easy to compile from source:
Thanks again! If someone compiles vbap the way you described, which Mac
architectures will then be able to load the external?

best, Peter

The compiler, by default, builds for the native architecture of the build machine.

If you need a multi-arch build, specify the archs on the command line using the "arch" pd-lib-builder Makefile variable:

make arch="x86_64 arm64"

Confirm the compiled archs via file:

file vbap.pd_darwin

which should spit out the compiled archs found. On my system I get:

% file vbap.pd_darwin
vbap.pd_darwin: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64:Mach-O 64-bit bundle arm64]
vbap.pd_darwin (for architecture x86_64): Mach-O 64-bit bundle x86_64
vbap.pd_darwin (for architecture arm64): Mach-O 64-bit bundle arm64

You can zip the folder and send it someone else, however a Getkeeper check will be triggered since the dynamic libs are not signed or notarized. It should mean the person running Pd will be asked if they will allow to load the lib. If I remember correctly, if you allow once, then it will run ok afterwards.

Note: the available architectures depend on which macOS version & command line tools/Xcode combination the build system has. Any newer macOS 10.15+ will support both x86_64 (Intel 64-bit) and arm64 (Apple Silicon).

Also, the build system does *not* need the full Xcode installed to build a simple C + Makefile project. The command line tools installed via "Xcode-select --install" will suffice. 

I should probably add the above info the pd-lib-builder tips & tricks markdown...

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com