On Oct 07, 2006, at 14:27:08, Sam Ravnborg wrote:
It would be even more simple and future proof if we could in some
way do it so "#include <foo/bar.h>" would pick up bar.h from asm-$
(ARCH) if it exists and otherwise pick up asm-generic/bar.h.
Then we could include the generic one in asm-generic and all
architectures would include it except those that provide their own
variant. The asm-$(ARCH) specific files would need a way to include
the asm-generic version.
I have no idea handy for how to actually implement this but wanted
just to share the idea. The trade-off is that if it gets too
implicit then suddenly users will loose overview of how it works.
Well if we changed the include dir to look like this:
include/linux/bar.h
include/asm/foo.h
include/asm-powerpc/asm/foo.h
include/asm-frv/asm/foo.h doesn't exist, defaults to generic version.
Then I suppose you could carefully order the -I directives like this:
gcc [...] -Iinclude/asm-$(ARCH) -Iinclude [...]
The problem with that is if you only want to partially override asm/
foo.h, and include it from your arch-specific version. I guess to
solve that you could also do this:
include/linux/bar.h
include/asm-generic/asm/foo.h
include/asm-powerpc/asm/foo.h
include/asm-frv/asm/foo.h doesn't exist, defaults to generic version.
And:
gcc [...] -Iinclude/asm-$(ARCH) -Iinclude/asm-generic -Iinclude [...]
Then you it would be possible to selectively override any headers you
wanted too. It also gets rid of that nasty symlink problem. The
only remaining trick would be teaching "headers_check" and
"headers_install" about it.
Cheers,
Kyle Moffett
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]