Build C++ based packages using C++11

Michael Gmelin freebsd at grem.de
Thu Oct 31 16:29:44 UTC 2013


On Tue, 29 Oct 2013 13:34:24 +0100
Michael Gmelin <freebsd at grem.de> wrote:

>
> 
> I was thinking more of building the entire stack using C++11 (libc++
> requires it anyway). To give you an example I know personally, the
> port devel/ice provides a bigger feature set if C++11 is available.
> If it's used, it's advised to also build dependencies (e.g.
> databases/db5) using C++11 as well, to make sure symbols and
> exception handling works properly.
> 
> So if developing a software that uses Ice and C++11 features, which in
> turn requires to build all C++ port dependencies (including Ice and
> others commonly used like boost-libs) using C++11, it really trickles
> down to be able to build all ports using the current version of the
> standard. This is a lot of work (many ports have minor issues that can
> be corrected easily, some are more complicated).
> 
> The way I would approach this is to set up poudriere to build the
> entire tree using clang++ -std=c++11 -stdlib=libc++ and then start
> dealing with the fallout, fixing smaller problems immediately (or make
> the maintainers fix them) and mark ports that are to hard to fix as
> "NEEDS_CPP98" or something like this.
> 
> Comments?
> 

So, how could I get that started? I'm willing to put effort into
this myself, but I would need pointers on how to do this in a way
that makes sure it leads to some productive result. Basically it would
be some project to make as much of the ports tree as possible work with
libc++ and C++1x, starting with devel/*. Not sure if there is anybody
interested in this besides me right now - given the feedback so far I
doubt it.

Thanks,
Michael

-- 
Michael Gmelin


More information about the freebsd-ports mailing list