Mactel/universal binaries

Kevin Walzer Apple has announced its transition to the Intel platform in 2006 after more than a decade on PPC. To ease the transition for developers, it is providing support for "universal binaries"--compilation to support both the legacy PPC platform and the new Intel platform. See http://developer.apple.com/transition/index.html for more information.

How are Tcl/Tk developers on the Mac dealing with the transition to Intel?

A few notes:

  • Daniel Steffen has already committed new makefiles and Xcode projects that make building Tcl/Tk as a universal binary simple. See http://aspn.activestate.com/ASPN/Mail/Message/tcl-mac/2920946 for complete details.
  • Extensions are a trickier matter. While many extensions such as Img are already included by default on MacOS X, and should presumably run without problem on Mactel, other extensions are not. Tile, Tclkit, Starkit, etc. are not yet available as universal binaries. My efforts to get Tile to build so far have not been successful (bug report filed at SF).
  • Some details on how to compile Universal binaries that also run on 10.2 http://www.macmegasite.com/drupal/node/2583
  • It is also possible to combine separately compiled PPC and intel binaries using the lipo command line tool.

Others are invited to post their experiences/perspectives/solutions on the Mactel transition.

Kevin Walzer UPDATE (11 January 2006): I've decided to stick with the Tcl/Tk core, which is already "universal" thanks to the hard work of Daniel Steffen, and rely only on pure-Tcl extensions or compiled extensions that Apple ships with its OS (see http://tcltkaqua.sourceforge.net/tiger ) on both PPC and Mactel machines. This means, for the time being, removing Tile and other extensions that don't trivially compile as universal binaries. I'm doing this with both my open-source and commercial/shareware products.

Kevin Walzer UPDATE (18 February 2006): I got Tile to build universally, and am now using that in my applications.

Kevin Walzer I've packaged up a "universal" build of the Tcl/Tk Aqua frameworks and Tile for others to use. (curently offline)

Vince on my Intel iMac, the Xcode projects fail to build a universal binary of Tk. I logged this on sourcforge

EH Starting from 1.0-rc0, eTcl supports MacOSX. It is available for download as an Universal Binary bundle. It embeds Tile, Sqlite, Tls, Pixane (Img and Image Magick like extension), Scene (3D widget using OpenGL), Zlib, and several other extensions. It can still load external stub-enabled package. Bundle contains a single standalone executable, with no external dependencies (e.g. uses its own statically linked zlib, libpng, openssl, etc...) and an embedded VFS, so no install is required. Just copy anywhere and run. Support both console (TTY) and graphical console, automatically detected.