CVSROOT: /cvs/directfb
Module name: DirectFB
Changes by: dok 20060202 19:59:25
Modified files:
. : configure.in
lib/direct : build.h.in conf.c debug.c debug.h interface.c
interface.h mem.c mem.h
lib/fusion : fusion.c shmalloc.c shmalloc.h
lib/fusion/shm : fake.c pool.c pool.h shm_internal.h
src/core : Makefile.am core.c core.h
tools : fusion_bench.c
wm/unique : stret_test.c
Log message:
Made debug/release versions binary compatible, being able to link
dynamically against both or even run in the same session.
This enables single hybrid SDKs for debug and release platforms.
To achieve this all "debug support code" is in the library, whether
itself uses debug mechanisms or not.
But the option "--disable-debug-support" builds a "pure release" lib
to save a few kb in binary size, but basically no runtime overhead.
The shared memory pools accept a new option at creation, that is
whether to debug allocations. This is stored in the pool info and
anyone joining the pool must follow it (for the pool).
Except pure release versions which can't join debug enabled pools.
Another limitation is that debug enabled applications cannot link
against pure release libraries, but a debug enabled application
can be linked statically against its debug/release library and run
in a pure release session.
There shouldn't be other limitations and you'll warnings/errors
before anything crashes etc.
The default for the "debug" option is true in debug enabled libs
and false in release (debug disabled, but supported) libs. This
option currently determines if shared memory pools are debug enabled.
Happy mixing :)
_______________________________________________
directfb-cvs mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-cvs