Building clang/cling 3.5 for ROOT on Lion

Chris Jones jonesc at hep.phy.cam.ac.uk
Tue Apr 8 03:02:52 PDT 2014


 > You can actually use libc++ all the way back to 10.6 (with the libcxx
 > port). The trick is that if you build root against libc++, then every
 > library it uses via a C++ API must also be built against libc++, and
 > likewise for every library that uses it via a C++ API.

Yes, but that doesn't help here, as the libc++ on 10.6 does not support 
c++11 fully. See below.

> It sounds like root wants to use bundled copies of all its dependencies,
> which while suboptimal for all the usual reasons, does at least solve
> that side of the problem. I don't know if root exposes a C++ API for its
> dependents, but if it does, they could also be made to use libc++.

Not really. ROOT will use external dependencies just fine.

Its just ROOT6 has moved to a new interpreter based on clang, 'cling', 
and to build this ROOT6 does internally build parts of a clang release, 
which currently is I believe based on clang 3.5. They have also decided 
to fully embrace c++11 (I good thing) but this means root6 now only 
supports compilers that fully support c++11. That can be libc++ or 
libstdc++ (ROOT6 builds fine with gcc 4.8 on linux), it just has to be 
fully c++11 compliant...

Chris





More information about the macports-dev mailing list