[PD] Building Pd App on OSX

Dan Wilcox danomatika at gmail.com
Sat Jul 27 17:08:02 CEST 2013


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 at iem.at wrote:

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





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130727/0d376a2c/attachment.htm>


More information about the Pd-list mailing list