[PATCH wayland v4] scanner: add a new --include-core-only option

Giulio Camuffo giuliocamuffo at gmail.com
Thu Apr 30 11:08:53 PDT 2015

2015-04-30 21:00 GMT+03:00 Bill Spitzak <spitzak at gmail.com>:
> On 04/30/2015 04:49 AM, Pekka Paalanen wrote:
>> But we have no reason to push people away from the old headers. Those
>> who need the new headers know already that the old ones are awkward.
>> Those who don't need the new headers are welcome to keep using the old
>> ones. That's why we're not adding a #warn in the old headers either, at
>> least not until we want to push people away from them.
>> IOW, you're actually proposing to remove the comment from the headers.
>> I'm fine either way.
> People can continue to use the old headers all they want, by putting
> "#include <wayland-client.h>" in their code (which is already being done
> which is why 99% of the code compiled without changes).
> I just want to remove the hidden and unavoidable use of the old headers if
> you want to use wayland-client-protocol.h, which is NOT a deprecated header.
> It is silly to force inclusion of an old header.
> I think also you should get rid of the circular header dependency. This is
> actually the cause of the current problems and why obvious fixes can break
> existing code.
> I think the only acceptable alternative to the original proposal is to make
> up a new header name for the generated protocol files. The old files would
> still exist and contain this new one and wayland-client.h, but would be
> deprecated. This would not have any circular dependency and be entirely
> compatible. I don't like it because it adds header file bloat.
> Another alternative is to use a #define to switch whether wayland-client.h
> or wayland-client-core.h is included, and new code is expected to be
> compiled with this switch on. But this is ugly, the default will still
> include deprecated headers, and there is still a circular header dependency.
> It also breaks some dependency generators.

I think you're just not getting the goal of the patches here. The goal
is basically to be able to *not include* indirectly
wayland-client-protocol.h, not to clean up the circular includes or
whatever. Whoever includes directly wayland-client-protocol.h won't
and shouldn't be affected by this patchset, and no change is needed.

More information about the wayland-devel mailing list