On Mon, 2015-06-29 at 17:00 +0200, Murray Cumming wrote: > On Mon, 2015-06-29 at 15:13 +0200, Kalev Lember wrote: > > >>> http://developerblog.redhat.com/2015/02/10/gcc-5-in-fedora/ has > > all the > > >>> details - this is probably the most up to date page we have right > > now. > > >>> > > >>> The short summary is that both Fedora 22 and Fedora 23 ship GCC 5 > > as the > > >>> system compiler, but with different defaults: in Fedora 22 all the > > >>> packages are built with the older C++ ABI, whereas all of Fedora > > 23 is > > >>> built with the new C++11 ABI. > > >> > > >> This means that any apps must be rebuilt in Fedora 23, right? For > > >> instance, if someone has an app that they have packaged themselves > > under > > >> Fedora 21, they can expect that app to not run under Fedora 23 > > unless > > >> they rebuild it? So it's an ABI break. > > > (Assuming that the app uses a C++ library such as boost or gtkmm.) > > > > > > > Yes, that's right. > > Personally, it feels unwise for Fedora to build everything with --std=c > ++11 if their compiler isn't going to use that by default. That's going > to confuse developers who get weird errors when they don't specify > --std=c++11. It's a bit like how Red Hat used to ship weirdly patched > unstable compiler versions back in the gcc 2.* days. But anyway, it > looks like it's happening. > > So, if we ignore all non-g++ compilers (not completely unreasonable), > maybe this is one way to look at things: > > 1. > A glibmm/gtkmm ABI break will happen on most distros anyway, and that's > not our fault and we can't avoid it. It will happen at least when the > distros ship with g++ 6 (where --std=c++11 will be the default) or even > earlier (in Fedora 23 which will use --std=c++11). > > 2. > This is an opportunity to make a few more minor ABI-breaking changes > seeing as the ABI is breaking anyway. People won't like too many big API > changes, and they'd be right to blame us for them, but people would > forgive us for a few simple API changes. > > 3. > This opportunity is right now. Maybe gtkmm 3.18 should be the one that > requires C++11. I wish that all distros were using C++11 at once, when > it became standard in g++, but Fedora forces us to jump on board now. > GTK+ 3.18 will be API stable around the middle/end of August: > https://wiki.gnome.org/Schedule > so it seems possible for us to make our API changes by then.
And it looks like the next Ubuntu version (Wily Werewolf) is stuck on the older GTK+ version 3.16, so us requiring C++11 in 3.18 wouldn't bother them: https://launchpad.net/ubuntu/+source/gtk+3.0 -- Murray Cumming [email protected] www.murrayc.com _______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
