[SailfishDevel] Stripping -O2 from debug builds

Dmitriy Purgin dpurgin at gmail.com
Sat Mar 28 18:30:55 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20150329/a6b19280/attachment.html>


More information about the Devel mailing list