[PATCH] Include sdk header dependencies and protect agains't multiple inclusion.

Paulo César Pereira de Andrade pcpa at mandriva.com.br
Wed Dec 17 12:23:09 PST 2008


Eric Anholt wrote:
>> Hi,
>>
>>   The attached patch is the result of "as few extra
>> inclusions as possible", by creating a dummy file
>> including just that header, and making it compile.
>> This was done in the loader directory, and I added
>> some extra -I for module headers, but including in
>> the build tree.
>
> This seems like a bunch of churn for something that's not actually
> broken.

  Sorry, did not understand that phrase, and google translation
was not much helpful. But I feel you were not saying how much
you loves me :-)

  The patch as a whole may not be required to apply, and not
that patch "verbatim", as it would require still at least a
review to ensure every sdk header "passes" the:
ifdef HAVE_FOO_CONFIG_H
#include <foo-config.h>
#endif
when it is applicable. But always including it would not really
be a problem, just that those bits are only required before
installing the headers, i.e. in the X Server build.

  To apply a minimal amount of the patch, it would be required
to just add the proper
#ifndef FOO_H
#define FOO_H
<file-contents>
#endif /* FOO_H */
to the headers that don't guard agains't multiple inclusion.

  And a more complete work is to only define in "sdk headers"
those symbols that should not be available to drivers.

  Anyway, the current code is ok, and should require minimal
maintenance work to compile the X Server and modules with
hidden symbols by default (most of it is just changing a header
instead of hunting symbols in the C sources, that have theirs
names frequently generated after macro expansions...).

Paulo




More information about the xorg mailing list