Ugh... What fun...
GCC, of late, is something of a pain for cross-compile people. Later versions (3.4 and above) strictly enforce the rule about -I include path inclusion. If it detects that it's something that "duplicates" one of the directories (okay, HOW do you guys "KNOW" that it's duplicating it??) it ignores it outright. If you do an -isystem to override some of the problem -I includes, it works just fine (okay, why add a new flippin' flag?), but you've got to be careful what you include via -isystem as some of the paths won't be found correctly (What? You mean to tell me that this path's not found even though I can 'cd' to it?) and you have to guess at which it will and won't balk at. I finally got the cross-compile environment to work to compile Ballistics working without resorting to Scratchbox (which is a little more cumbersome than what we're doing with LGP's setup.)- which is a win. Now, to see if I can get away with 3.4.5 or if I need to do 4.0.2 or 4.1 to build Ballistics.
I thought this was all about programmer responsibility and choice- not the developer of the tool knows best. That's what MS does, for goodness' sake- if I override the search order with a -I, that means just THAT. If it causes problems with things, that's MY problem, not yours.