On 28-6-2014 4:06, Jon A. Cruz wrote:
On Fri, Jun 27, 2014, at 03:48 PM, Johan Engelen wrote:
The secondary question is *which* parts of C++ 11 we can require, and which we have to defer. I believe last time I checked things for the day job included versions of gcc had only about 40% C++ 11 coverage. We also will need to take care to differentiate between C++ 11 features that are present versus those that function correctly. :-)
So we'll need to add a chart of which compilers we need to stay compatible with. Then we can cross-reference with the Apache page and quickly update our chart.
This is what this page is about: http://wiki.inkscape.org/wiki/index.php/C%2B%2B11
OK. That can be a good start. However we are missing the other info... namely which version of which OS's are and are not supported, and which compilers they have.
Ubuntu is pretty good for defining their support lifetimes, but slightly poor with which compilers & libs are in which versions. So we just need a little legwork to sync from that.
I'd say the main question will be for the enterprise distros. CentOS/RHEL, Scientific and SUSE might cover the bases. RHEL 5.x is still in production for a few more years, so we might want to consider that. RHEL 6.x could replace it as a baseline target. Some end-user research on this specific point would be good.
For the record my computer is currently stuck with gcc 4.2.1 since the hardware itself (32-bit CPU) is limited to OSX 10.6 and that does not have newer.
I hope you realize that this is not really tenable for Inkscape to keep compatible with such old compilers... (7 years is not that old in human terms, but it is a lot in computer terms)
Yes. However we need to keep in mind that compatibility with older hardware is a key selling point for many in their decision to use open source software.
I am open, however, to being declared to be on "ancient" hardware. As long as we make an informed explicit decision we should be good.
Cool. Making an informed decision is tiring though, and I don't think we need more info for this. It's just a waste of dev time to try and look up all these details. If people want to use Inkscape on old systems, fine, download 0.91. For trunk, tough luck. Our dependency requirements are upped much quicker it seems, even though requiring C++11 is much less invasive.
Note that building LLVM/clang now requires C++11. This tells me that we are very late in making the switch.
-Johan