Mathieu Malaterre <ma...@debian.org> schrieb:
>On Sat, Feb 23, 2013 at 11:09 AM, Vincent Cheng ><vincentc1...@gmail.com> wrote: >> On Sat, Feb 23, 2013 at 1:39 AM, Mathieu Malaterre <ma...@debian.org> >wrote: >>> On Fri, Feb 22, 2013 at 9:52 PM, Russ Allbery <r...@debian.org> >wrote: >>>> Ian Jackson <ijack...@chiark.greenend.org.uk> 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: >>>> >>>>>> -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. >>>> >>>> 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: >>> >>> >http://codesearch.debian.net/search?q=DCMAKE_BUILD_TYPE:STRING%3DRelease >> >> 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... > >cmake from sid makes it even harder. RelWithDebInfo now contains >-DNDEBUG ... I have to source-upload all my packages :( > >$ grep NDEBUG ChangeLog.manual > Add -DNDEBUG to RelWithDebInfo flags where where Release flags had it. > > >The solution (backward compat) is now: > >Either do *not* define CMAKE_BUILD_TYPE, or define CMAKE_BUILD_TYPE to >Debug (and hope -DNDEBUG does not creep in ever) > >2cts Or just define CMAKE_C_FLAGS properly and don't rely on the default values. It's not that hard, actually. -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4965467d-46cf-4b56-979c-480b84403...@email.android.com