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

Bill Spitzak spitzak at gmail.com
Thu Apr 30 11:00:02 PDT 2015

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.

More information about the wayland-devel mailing list