Feature #1447 ยป 0083-HACKING-Update-autotools-options-to-meson-ones.patch
doc/HACKING | ||
---|---|---|
Debugging and Profiling
|
||
===========================================================================
|
||
Debugging has to be activated on compile time. For autotools based builds
|
||
that's done by adding the option '--enable-debug=no/some/yes/checks'
|
||
to the configure script. See m4/debug.m4 for exact compiler flags each
|
||
value sets. The different values have roughly the following meaning:
|
||
no: no debugging enabled(FREECIV_NDEBUG and NDEBUG are defined)
|
||
additional compiler flags for optimisation (-O3 -fomit-frame-pointer)
|
||
some: default build (neither FREECIV_NDEBUG nor FREECIV_DEBUG is defined)
|
||
yes: debugging enable (FREECIV_DEBUG is defined)
|
||
debugging log level available ("debug", log_debug())
|
||
more compiler warning flags than with lower debug levels
|
||
checks: same as 'yes' but with additional compiler check that are not
|
||
even expected to work on all configurations
|
||
Profiling is enabled by '--enable-gprof'. After the compilation run freeciv
|
||
normally. It will be 5 to 10 times slower due to the added calls to the
|
||
profiling functions. After freeciv quits normally (not after a crash) the
|
||
file gmon.out is written. It can be analyzed by calling
|
||
'gprof ./server/freeciv-server gmon.out > gprof.txt'. More information can
|
||
be found at http://sourceware.org/binutils/docs/gprof/index.html.
|
||
Debugging has to be activated on compile time. That's done by adding
|
||
the option '-Ddebug=true' to the meson configure.
|
||
When debugging is enabled:
|
||
- FREECIV_DEBUG is defined
|
||
- Debugging log level available ("debug", log_debug())
|
||
On autotools based builds profiling is enabled by '--enable-gprof'.
|
||
After the compilation run freeciv normally. It will be 5 to 10 times
|
||
slower due to the added calls to the profiling functions.
|
||
After freeciv quits normally (not after a crash) the file gmon.out
|
||
is written. It can be analyzed by calling
|
||
'gprof ./server/freeciv-server gmon.out > gprof.txt'.
|
||
More information can be found at
|
||
https://sourceware.org/binutils/docs/gprof/index.html.
|
||
===========================================================================
|