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

Reply via email to