Re: NDEBUG when building packages?
On Sat, Feb 23, 2013 at 1:39 AM, Mathieu Malaterre <firstname.lastname@example.org> wrote:
> On Fri, Feb 22, 2013 at 9:52 PM, Russ Allbery <email@example.com> wrote:
>> Ian Jackson <firstname.lastname@example.org> writes:
>>> Mathieu Malaterre writes ("Re: NDEBUG when building packages?"):
>>>> In that case, this should really be clarified. A lot of debian/cmake
>>>> packages are actually doing:
>>>> within there debian/rules files. This settings by default compiles
>>>> with: `-O3 -DNDEBUG`
>>> OMG WTF BBQ
>>> Certainly -DNDEBUG should never be used unless upstream explicitly say
>>> that it's intended to be supported, and usually not even then.
>> Also, -O3 is generally considered rather iffy. It's not very well-tested
>> and in various versions of GCC it tended to make the code slower, not
>> faster (usually because it unrolled loops too far and blew the CPU cache).
>> It's also had various code generation bugs from time to time.
>> I wouldn't use -O3 without benchmarking of that specific code to confirm
>> that it really improves matters.
> Seems like everyone agreed. I'll report a bug to lintian package to
> have it check for this string in d/rules:
We should also suggest that packages use
-DCMAKE_BUILD_TYPE=RelWithDebInfo instead (-g -O2). In fact, I think
that this would be a sensible default for packages using debhelper's
cmake integration. Sounds like another wishlist bug for debhelper...