On Tue, 29 Oct 2013 00:16:17 +0100 Dimitry Andric <[email protected]> wrote:
> On 28 Oct 2013, at 19:57, Michael Gmelin <[email protected]> wrote: > > Now that most ports build ok with clang, are there any steps planned > > towards supporting C++11 and libc++ in the ports tree? I'm thinking > > of flags like NEEDS_CPP98, NEEDS_CPP11 etc. With C++14 at the > > horizon I expect more problems with ports depending on C++11 and > > even though mixing standard libraries and language revisions might > > build in many cases, it can lead to terrible problems at run time. > > Aren't the Mozilla ports already doing something like this now? (See > https://developer.mozilla.org/en-US/docs/Using_CXX_in_Mozilla_code for > their specific needs.) > > -Dimitry > 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? -- Michael Gmelin _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
