On 04/30/2015 11:08 AM, Giulio Camuffo wrote:
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.
Of course I know what the purpose of the patch is. However there were
several comments suggesting that deprecated api be moved to
wayland-client.h out of wayland-client-core.h, so it seems some are
under the delusion that it is serving this purpose, and it could with a
trivial fix.
For the original purpose this is pretty ugly. The programmer has to
include the alternative wayland.xml header file first or it will not
work. In addition the --include-core-only switch is not actually needed.
This can be clearly seen with a little thought, if you assume you want
to use more than one protocol at the same time but use the distributed
version of one of them:
#include "my/wayland-client-protocol.h" // must be first!
#include <foo-client-protocol.h> // this magically works
For the above to work my/wayland-client-protocol.h has to somehow stop
the wayland-client.h included by foo-client-protocol.h from including
the conflicting wayland-client-protocol.h. This can be accomplished by
using the same include guard for both, or other hacks. But if that is
done, it is harmless if the local wayland-client-protocol.h includes
wayland-client.h, because the same fix will apply there!
I also hope everybody knows that header files that are order-dependent
are bad news.
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel