[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