[PATCH wayland v4] scanner: add a new --include-core-only option
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