[libcxx-dev] Support for older MacOS systems

Ken Cunningham via libcxx-dev libcxx-dev at lists.llvm.org
Sun Mar 31 19:54:04 PDT 2019

Hi all,

I'm helping to maintain the clang / llvm / libcxx / libcxxabi ports at MacPorts, mostly supporting the older systems, while Jeremy Huddleson takes the lead on that. We have a reasonably simple and largely automated method of installing libc++ on older systems, and optionally updating libc++ on all systems to a current version if people wish to do so. 

We have enabled the -femulated-tls features in the llvm tree to supply thread_local support to 10.5 and 10.6 as well. The compilers are very functional, and do extremely well building a large percentage of current software -- MacPorts has about 20,000 active ports in the mix.

Recently when updating our ports to the release versions of llvm / clang / libcxx 8.0, I came across the block placed in the CMakeLists.txt file indicating anyone interested to report to the libcxx maintainers -- so here I am. The block was easily removed, and llvm-8.0 / clang-8.0 are rolled out on MacPorts for all Intel systems 10.5 and up. (PowerPC support actually works reasonably well also, but that's another tale).

I won't pretend these older systems represent some kind of large market share. It's hard to get sold statistics about how many systems are actively using these MacPorts-supplied features. But I can report that as soon as something breaks on these systems, people open tickets promptly about the issues, and we can usually fix them.

I think this keeps these machines doing useful tasks rather than just being junked. Many of us, like me, have bought quite a number of Apple machines over the years, and it's satisfying to see them still doing something rather than just bin them.

I certainly would not expect anyone at Apple or at llvm to spend any serious cycles on this -- but if the question is whether anyone would miss the support if it were just stripped out of the llvm tree, then there are at least some people who would miss it.


Ken Cunningham

More information about the libcxx-dev mailing list