[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-dev] Plugins...

I've had the unfortunate pleasure of doing bunch of universal binary porting so I'm pretty familiar with what needs to be done. If the code is X86 ready all you usually need to do is go into the XCode target and click on two check boxes for each arch. Supercollider, however, uses legacy targets (because of how the xcode projects were transitioned from older versions) so it isn't quite as simple. I've transitioned most of my copy of Supercollider over to using new style targets (except for the plugins), and have it building universally. I can put those changes online if anyone is interested.

You can still build universally without going through the hassle of changing things over to new style targets. On an intel mac set the C compiler flags (in the "GCC compiler settings" part of the target) to:
-DSC_DARWIN -arch i386 -arch ppc

On a PPC mac you have link with universal frameworks, so the flags are:
-DSC_DARWIN -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 - arch ppc

Building libraries like libfftw is similarly easy a lot of the time. Apple has a good page about this here: http://developer.apple.com/documentation/Porting/Conceptual/ PortingUnix/compiling/chapter_4_section_3.html


On Nov 15, 2006, at 8:28 AM, Scott Wilson wrote:

AFAIK, that shouldn't be necessary. You should be able to compile for both architectures on either. The issue is getting the right libraries, and configuration, no?


On 15 Nov 2006, at 14:34, Joshua Parmenter wrote:

The problem is that, the way I learned how to do it from David at Wesleyan, involves combining a PPC and a Intel build at the command line with lipo. So, whoever is building them needs access to a PPC and an Intel machine. I'll do a helpfile, but the first step would have to be get a PPC machine. Step 2, get an Intel machine.

What I haven't done is spent some time looking at the UB projects David built. I know he said it was a pain to get the UB to build for the plug-ins in the first place. I'll see if I can figure it out for the extension libraries.