From: Steve L. <st...@di...> - 2007-01-08 00:13:51
|
On 07/01/2007, at 1:29 AM, Kevin Walzer wrote: > Last fall I was trying to compile a Tcl library as a universal binary > via critcl using this command: > > critcl -target universal-macosx -pkg myscript.tcl > > It worked, in that the resulting .dylib had both the pcc and i386 > architectures. However, the dylib was stored in > lib/myscript/powerpc-macosx/myscript.dylib. > > To have the dylib successfully load on Intel as well as PPC, I had to > hack lib/myscript/critcl as follows: > > set plat macosx > set cpu universal > > and then I had to change the directory the dylib was stored in to > "universal-macosx." > > At the time, when this was discussed on-list, Steve Landers said that > the new version of critcl was more or less still in beta mode, and > still > had some bugs in handling unviersal binaries; hence the hacks > required > above. I am wondering if has been updated in the interim to automate > this process. Yes - but it's still in my half-bakery and not formally released (I still have to merge Pat Thoyts' MSVC patches and finish the documentation). > Looking at the most recent build of ActiveTcl, I see that > ActiveState does something similar for its universal binaries based on > critcl (Daniel Steffen's carboncrit package, for instance), but I'm > not > sure if criticl did this or someone at AS had to edit the files by > hand, > as I did. I provided a copy of the beta critcl to Andreas Kupries, so it's likely that AS used that. > If critcl has been updated to handle universal binaries more > gracefully, > can someone please let me know, and also provide a download link? > Thanks. Yes - see http://www.digitalsmarties.com/pub/critcl-new.kit. The current behaviour is to generate universal binaries if built using OSX 4.0 SDK. There are also some smarts so that if the resulting package is loaded on OSX >= 10.4.0 it will look first for a universal version of the shared library. So, if you're building on OSX with a SDK >= 10.4 you'll just need to run critcl -pkg myscript If you also want to build a PPC version for earlier OSX releases then you can set the SDKROOT variable to the appropriate value and run critcl -pkg -target powerpc-macosx myscript BTW, this version of Critcl uses the new platform package that formed the basis of TIP #291. Good luck, and don't hesitate to mail me directly if you have any problems Steve |