[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