-O2 in Debug build?

Andreas Pakulat apaku at gmx.de
Fri Jul 18 23:19:07 CEST 2008


On 18.07.08 17:55:50, Thiago Macieira wrote:
> Alexander Neundorf wrote:
> >On Friday 18 July 2008, Andreas Pakulat wrote:
> >> Hi,
> >>
> >> Whats the reasoning behind using -O2 in the Debug CXX flags? A debug
> >> build shouldn't use _any_ optimizations IMHO.
> >
> >I think there were lengthy discussion about the flags for the different
> > build types. I guess this was the result.
> >/me hasn't slept a lot this week, so I don't feel like searching for
> > this now
> 
> The reason is that we split the build types in (for gcc):
> 
> Release
> 	optimised for speed, qDebug/kDebug turned off, no debug symbols
> Release with debug info
> 	optimised for speed, debugging symbols on (-g)
> Debug
> 	optimised but debuggable, debugging on (-g)
> 	(-fno-reorder-blocks -fno-schedule-insns -fno-inline)
> DebugFull
> 	no optimisation, full debugging on (-g3)
> Profile
> 	DebugFull + -ftest-coverage -fprofile-arcs

Damn, actually I have a slight feeling I've asked this already. Any
objections against putting this information close to the gcc-version of
setting the flags. So neither I nor anybody else need to ask stupid
questions again?

> It is expected that the "Debug" build type be still debuggable with gdb 
> without going all over the place, but still produce better performance. 
> It's also important to note that gcc cannot detect all warning conditions 
> unless the optimiser is active.

Sigh, compilers ;)

> I'd say that "debug" is recommended for kdelibs for people developing KDE 
> applications, since oftentimes they may have to go into kdelibs 
> functions. Their own code should be build under debugfull while still in 
> development, but should be built a few times in release before a release.

Ok, I guess that means I can add "debugfull" to
CMAKE_CONFIGURATION_TYPES in FindKDE4Internal? Or does somebody have
objections against that.

Andreas

-- 
You will be Told about it Tomorrow.  Go Home and Prepare Thyself.


More information about the Kde-buildsystem mailing list