this topic has come up before too many times and has yet to be solved, and we 
have too many hacks in place

the issues:
- USE=debug is way too vague; sometimes it builds different code (i.e. 
additional runtime checks, debugging output, yada yada) and sometimes it 
forces debugging gcc flags into CFLAGS
- debug.eclass: it sucks, we all know it, enough said
- no easy way for users/developers to quickly emerge a package and have it 
contain useful debugging information, running `FEATURES=nostrip CFLAGS="-g 
-O" emerge booga` is petarded

the one true solution:
- USE=debug *never* changes CFLAGS or LDFLAGS or what have you, it *only* 
enables additional runtime code (such as assert()'s or helpful debug 
output) ... if you're confused by what i mean, run `USE=debug emerge nano` 
and then run `nano`
- we add an emerge flag (say '--debug-build') which adds "nostrip" to FEATURES 
and auto sets CFLAGS to DEBUG_CFLAGS and LDFLAGS to DEBUG_LDFLAGS
- portage will add sane debug defaults to make.globals (DEBUG_CFLAGS="-O -g" 
and DEBUG_LDFLAGS="")

so what have i missed ?
-mike
-- 
[email protected] mailing list

Reply via email to