On 01/11/2013 02:59, Michael Gmelin wrote: > On Tue, 29 Oct 2013 13:34:24 +0100 > Michael Gmelin <[email protected]> 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.
>> 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. > > 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. I actually think fixing builds for 10.0 is achieving this, at least with clang and libc++ as the older libstdc++ has been removed with gcc. 10.0 also appears to be stricter on things like math.h, eg. isnan(int) produces an error in 10.0 but not 9.2. The only issue I would think you'll find working on this is that every port maintainer has ports that need updating and most are working on fixing their own ports. So there is a high chance that you will fix a port the same time as the maintainer is doing it. So if you start, I would suggest building against 10.0 (with or without -std=c++11) and try starting with unmaintained ports. I believe that would be with [email protected]. If you submit fixes for these then you should probably update for staging as well. If you start doing this I would suggest keeping examples of what you fix and creating a changes table. eg if you get error: xxxx then try replacing this with this or this. _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
