[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