Re: Mandates explicit -std=c++XY for c++ projects
- Date: Tue, 10 Oct 2017 09:11:51 +0200
- From: Ansgar Burchardt <ansgar@xxxxxxxxxx>
- Subject: Re: Mandates explicit -std=c++XY for c++ projects
Mathieu Malaterre writes:
> With this mind I'd like to make mandatory the -std=c++XY flags when
> compiling either a c++ library or a stand-alone c++ program:
> 1. Either upstream define the explicit -std=c++XY flags by mean of its
> build system,
> 2. Or the package maintainers needs to explicit change the CXXFLAGS to
> pass the appropriate version of the c++ standard. In which case this
> should be documented in the README.Debian file.
> 3. As a fallback, dh should initialize the CXXFLAGS with -std=gnu++98
So if the upstream build system adds '-std=c++14' and CXXFLAGS is set to
'-std=gnu++98', one gets '-std=c++14 -std=gnu++98' and building the
package no longer works? That doesn't sound good to me.
Why should CXXFLAGS be documented in README.Debian? (Or in fact
anywhere outside of d/rules?) They aren't interesting for users of the
I also don't think we should default to an ancient C++ standard. All
maintained software should hopefully work with C++11 or later by now...