Wee. You're lucky I just did a bunch of low level library compiling stuff on OSX/iOS for OpenFrameworks ...

On Jul 27, 2013, at 5:51 AM, pd-list-request@iem.at wrote:

From: Jonathan Wilkes <jancsika@yahoo.com>
Subject: Re: [PD] Building Pd App on OSX
Date: July 27, 2013 1:34:11 AM EDT
To: Miller Puckette <msp@ucsd.edu>
Cc: "pd-list@iem.at" <pd-list@iem.at>


On 07/06/2013 06:18 PM, Miller Puckette wrote:
Yeah... I originally assembled it by trial and error, starting from the
"Wish Shell" app and changing stuff by trial and error.  It might even
be the case that the "Wish Shell.app" archive used by the script below
can be replaced with your own local one... but I thought it safer to cache
 copy once I had it all working.

After yet another wasted hour on a non-free OS,
some questions regarding makefile.mac:

* what is -O6?  It throws an error right off the bat.  (I changed it to -O3 to fix)
* why is there "-arch ppc" as well as i386?

By specifying multiple architectures, OSX will build a "fat" lib that supports them in a single binary.

i386 + ppc is the old "universal binary/lib". The new 10.7+ format is i386 + x86_64 so I'd suggest dropping the old format
now as the vast majority of people are using newer Intel machines.

* Why is there -isysroot?  If I'm using Xcode 4.6 the directory
specified after that flag in makefile.mac doesn't exist, and I get an error
that stdlib.h doesn't exist.

sysroot should point to the Mac OSX SDK location. For newer Xcodes, there is a commandline util that returns the path to the Xcode
developer root: xcode-select -print-path. With Xcode 4.6, it returns:

/Applications/Xcode.app/Contents/Developer

For example, with the 10.8 SDK you can use this:
$(xcode-select -print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/

Naturally, you can do a search in that SDKs folder and choose the last one to build for the latest SDK or simply use a shell variable:

OSX_SDK_VER=10.8
SYSROOT=$(xcode-select -print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$OSX_SDK_VER.sdk/

* Any hint what -isysroot should be to find something as
common as stdlib.h?

Yes, it contains all of the includes and libs for that particular SDK.

* Is "make -f makefile.mac" supposed to compile using cc, gcc, or something else?

gcc should be fine for now, you could target llvm-gcc if you want, but gcc isn't disappearing complete in the meantime.

--------
Dan Wilcox
@danomatika