[PD-dev] Compiling pd on OS X

Ken Gregson ken.gregson at gmail.com
Thu Mar 27 21:49:13 CET 2014


Being a pd neophyte, I also struggled with this enroute to getting other
software to work with pd as a dependency.

I use MacPorts and also have portaudio/portmidi (and gcc suite)
installed from there under Mac OSX 10.9. My general preference is to
re-use those libraries rather than re/build (multiple versions) where
possible.

What I ultimately had success with was:
1) Download the current version of source from sourceforge
(pd-0.45-4.src.tar.gz)
2) Working from the ../pd-0.45-4/src/makefile.mac
a) change deployment target from 10.3
MACOSX_DEPLOYMENT_TARGET = 10.9
b) set ARCH to build only x86_64 ARCH= -arch x86_64
c) replace portaudio/midi include directories with Macports include
locations in CPPFLAGS
CPPFLAGS = -DPD -DINSTALL_PREFIX=\"$(prefix)\"
  -DHAVE_LIBDL -DMACOSX -DHAVE_UNISTD_H -I/usr/X11R6/include
-I/opt/local/include \
  -DUSEAPI_PORTAUDIO -DPA_USE_COREAUDIO -DNEWBUFFER
d) add Macports library location to LDFLAGS
LDFLAGS = -Wl -framework CoreAudio -framework AudioUnit \
  -framework AudioToolbox -framework Carbon -framework CoreMIDI $(ARCH) \
  -L /opt/local/lib
e) add portaudio/midi libraries to LIB LIB = -ldl -lm -lpthread
-lportaudio -lportmidi
f) remove all references to portaudio/midi sources from SYSRC SYSSRC +=
s_midi_pm.c s_audio_pa.c s_audio_paring.c

Some additional adjustments were required to "extras" that also get built
../extra/makefile.subdir
a) build only x86_64 DARWINARCH= -arch x86_64

../extra/expr~/makefile (doesn't respect DARWINARCH)
a) build only x86_64 MACOSXARCH= -arch x86_64

Disclaimer: the resultant binaries run on my system but I haven't tested
them at all.

This is, of course, more of a kludge born of my naivete (and not
recommended for general use). It would be nice if the standard configure
scripts handled all the various permutations of options and system
variations.

I look forward to seeing pd in Macports, maybe this helps (some)?
-Ken



More information about the Pd-dev mailing list