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.




-- 
Murray Cumming
murr...@murrayc.com
www.murrayc.com


_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to