[SailfishDevel] Stripping -O2 from debug builds

Andrey Kozhevnikov coderusinbox at gmail.com
Mon Mar 30 09:41:35 UTC 2015


Hello,

i found this:
https://github.com/sailfish-sdk/sailfish-qtcreator/blob/next/src/libs/cplusplus/cplusplus.pro

30.03.2015 14:35, Dmitriy Purgin пишет:
> Hi again,
>
> I've tried to invoke remote qmake from terminal and it worked as 
> expected. I've set up Mer-related environment variables to the same 
> values as build environment in Qt Creator, then invoked qmake from 
> mer-sdk-tools with the same parameters as Qt Creator shows in Compile 
> output. Qmake of mer-sdk-tools does effectively call merssh passing 
> qmake params. The generated Makefiles do not contain -O2 switch for 
> debug builds just as expected. I could go this way but Qt Creator seem 
> to always regenerate makefiles.
>
> The funny thing is that I've built sailfish-qtcreator and traced the 
> build steps using debugger. It seems that qmake invokation doesn't 
> contain any extra params, in other words it is the same call as I did 
> on terminal. But nevertheless the output Makefiles did contain CFLAGS 
> mentioned in my previous mail.
>
> I'd really appreciate if anyone could give me some direction to look into.
>
> Cheers
> Dmitriy Purgin
>
>
> 2015-03-29 0:30 GMT+06:00 Dmitriy Purgin <dpurgin at gmail.com 
> <mailto:dpurgin at gmail.com>>:
>
>     Hi all,
>
>     is there any way to prevent optimization switch -O2 being set when
>     Makefile is generated for debug builds? I've looked into
>     linux-g++-32 and its includes of Mer SDK but didn't find any clues
>     regarding why -O2 is set for debug build. This switch as well as
>     -g are nicely managed by QMAKE_CXXFLAGS_RELEASE and
>     QMAKE_CXXFLAGS_DEBUG (-O2 appears in former, -g appears in latter)
>     but for some reason they both end up in the command line of actual
>     compilation. I've grepped everything in mkspecs directory
>     recursively but it seems like -O2 and -g are always divided into
>     _RELEASE and _DEBUG respectively.
>
>     Then I've added -d switch to qmake call on the Project page of
>     sailfish-qtcreator and after parsing default_pre.prf it outputs
>     the following lines:
>
>     DEBUG 1: (command line):65535: QMAKE_CFLAGS_RELEASE := -O2 -g
>     -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
>     --param=ssp-buffer-size=4 -Wformat -Wformat-security -m32
>     -march=i486 -fasynchronous-unwind-tables
>
>     DEBUG 1: (command line):65535: QMAKE_CFLAGS_DEBUG := -O2 -g -pipe
>     -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
>     --param=ssp-buffer-size=4 -Wformat -Wformat-security -m32
>     -march=i486 -fasynchronous-unwind-tables
>
>
>     does that mean that both -O2 and -g are forced somewhere in
>     Salifish SDK tools when calling qmake? Is there any way to turn
>     off -O2 for debug builds?
>
>     Cheers
>     Dmitriy Purgin
>
>
>
>
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20150330/b874742c/attachment.html>


More information about the Devel mailing list