Compiler toolchain

Michael Feiri mfeiri at macports.org
Tue Apr 3 12:05:03 PDT 2012


A while ago I've put some effort into packaging several of Apple's open source developer components as macports ports. It turned out that just a handful of ports are necessary to have a self-contained compiler toolchain. Such a toolchain could allow us to be self-contained in the sense that for most of our needs we don't need to rely on Xcode any more. Here is a list of relevant ports:

= basic toolchain =
 * llvm
 * clang
 * ld64
 * csu
 * cctools
 * llvm-gcc42

= header ports =
 * cctools-headers
 * dyld-headers
 * libunwind-headers
 * libm-headers
 * xnu-headers
 * libc-headers
 * lib[std]cxx-headers

= supplementals =
 * coreosmakefiles
 * bootstrap_cmds
 * developer_cmds
 * b[sd]make
 * g[nu]make
 * nasm
 * yasm

I've created and tested these ports in my experimental repo at https://macports.feir.eu/ and as they stabilize I've started to slowly move them to the main macports repo. I test everything on darwin9/ppc, darwin10/x86_64 and darwin11/x86_64. The licenses of all these ports should allow binary distribution for easy bootstrapping.
Because some ports imply certain assumptions about the host OS, I tend to be more specific about the versions offered than we usually are in macports. Also note that cross-architecture, cross-SDK, and universal support are completely untested. Help is appreciated, e.g. Jeremy Huddleston already started to add support for more platforms and took (co-)maintainership for some ports.

The obvious benefit of having our own version-controlled toolchain is of course more stability and predictability. We often hear about problems due to missing, outdated or unsupported Xcode installations. And its just nice to rely purely on opensource tools and to not require an AppleID and the Xcode EULA agreement to use macports.

Regards, Michael



More information about the macports-dev mailing list