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

Uli Schlachter psychon at znc.in
Sat Mar 22 06:51:51 PDT 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.
> 
> 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

Merged as cb686b5..e2813e1  master -> master.

The problem with "Requires" vs "Requires.private" is independent of this change
and can be handled on its own. Which likely means that it will just be ignored...

Cheers,
Uli
-- 
Who needs a ~/.signature anyway?


More information about the Xcb mailing list