lkml.org 
[lkml]   [2006]   [Feb]   [24]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 24 Feb 2006 08:23:23 +0100 (MET)
FromJan Engelhardt <>
SubjectRe: [RFC] duplicate #include check for build system
>> I think the kernel style is to encourage duplicate includes, rather than 
>> removing them. Removing duplicate includes won't remove any dependancies 
>> (since the includes that they duplicate will remain).
>The style as I have understood it is that each .h file in include/linux/
>are supposed to be self-contained. So it includes what is needs, and the
>'what it needs' are kept small.
>
>Keeping the 'what it needs' part small is a challenge resulting in
>smaller .h files. But also a good way to keep related things together.
>
How far does this go? Consider the following hypothetical case:

---dcache.h---
struct dentry {
   ...
};
---fs.h---
#include "dcache.h"
struct inode {
    struct dentry *de;
};
Since only a pointer to struct dentry is involved, I would compress it to:

---fs.h---
struct dentry;
struct inode {
    struct dentry *de;
};
The fs.h file still "compiles" (gcc -xc fs.h), and there is one file less 
to be read. And since dcache.h in this case here should anyway be included 
in the .c file if *DE is dereferenced, I do not see a problem with this.
Objections?



Jan Engelhardt
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-24 08:25    [from the cache]
©2003-2008