[Xcb] [PATCH 0/3] Fix intra-xcb .pc file dependencies automatically

Uli Schlachter psychon at znc.in
Wed Feb 12 14:23:12 PST 2014

On 12.02.2014 23:15, Keith Packard wrote:
>> However, I don't like the result. composite.xml "<import>"s only xproto and
>> xfixes. The dependency on render and shape occur because xfixes depends on
>> these. In other words, your tool is including transitive dependencies.
> I've patched that by fixing xcb to only #include files for direct
> dependencies. The transitive #include set will still include all of
> the dependencies, of course. That's the first patch in this
> series. This should also lead to a (trivial) compile time improvement
> as we we'll process the nested header files fewer times.

Ah, thanks, I didn't even notice that the code-generator does this.

> This (obviously) requires a separate patch to the xcb proto files,
> which I've already sent under separate cover. That patch simply adds
> the direct_import field needed by this patch and must be applied
> first. "Also track directly imported modules in a separate list"
>  [PATCH 1/3] Only #include directly referenced module header files
>>  (Also, your tool will (silently) fail with out-of-tree builds, because either
>>  the .pc.in or the src/*.h files can't be found. I guess automake runs tests in
>>  the build dir, but I am not sure. And I don't care a lot about this issue since
>>  the script is already complicated enough).
> I've fixed that in this updated patch:
>  [PATCH 2/3] Validate .pc file Requires lines
> Finally, you'll see that the .pc files require only a few changes now
> that they don't include the transitive closure of dependencies
>  [PATCH 3/3] Update .pc file Requires lines to express full

All three:

Reviewed-by: Uli Schlachter <psychon at znc.in>

- Captain, I think I should tell you I've never
  actually landed a starship before.
- That's all right, Lieutenant, neither have I.

More information about the Xcb mailing list