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

Reply via email to