[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NDEBUG when building packages?



Mathieu Malaterre writes ("Re: NDEBUG when building packages?"):
> On Tue, Feb 19, 2013 at 5:30 PM, Ian Jackson
> <ijackson@chiark.greenend.org.uk> wrote:
> > Daniel Pocock writes ("NDEBUG when building packages?"):
> >> I notice some upstreams hack NDEBUG into their Makefile, while others
> >> leave it at the discretion of the user
> >>
> >> Is there any distribution policy for this?  Should I be adding something
> >> into debian/rules to set -DNDEBUG when I prepare a package for release?
> >
> > -DNDEBUG is (normally) EBW.
> 
> http://en.wikipedia.org/wiki/EBW ?

Evil, Bad and Wrong.

> > Unless your packages are weird in some way, you shouldn't set it.
> > Even if upstream specify it it can be right to remove it.
> 
> In that case, this should really be clarified. A lot of debian/cmake
> packages are actually doing:
> 
> -DCMAKE_BUILD_TYPE:STRING=Release
> 
> 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.

Pretty much the only reason to use it is if it is necessary to disable
time-consuming checks, but most upstreams are more sensible than to
throw the assert() baby out with the expensive consistency check
bathwater.

Ian.


Reply to: