wayland/src
Peter Hutterer f66e2d53dd Validate the protocol xml during scanning
Embed the wayland.dtd protocol data into the scanner binary so we can validate
external protocol files without requiring makefile changes. Hat-tip to Pekka
Paalanen for the embedding trick.
The embedding trick doesn't work well if the to-be-embedded file is in a
different location than the source file, so copy/link it during configure and
then build it in from the local directory.

The current expat parser is not a validating parser, moving scanner.c to
another parser has the risk of breaking compatibility. This patch adds libxml2
as extra (optional) dependency, but that also requires parsing the input
twice.

If the protocol fails validation a warning is printed but no error is returned
otherwise.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-11-17 14:36:21 +02:00
..
.gitignore gitignore: adpat to scanner and protocol path changes 2014-11-19 16:35:49 +02:00
connection.c add wl_abort private function 2015-11-16 12:58:43 -08:00
dtddata.S Validate the protocol xml during scanning 2015-11-17 14:36:21 +02:00
event-loop.c event-loop: remove extra header 2015-11-16 11:42:01 -08:00
scanner.c Validate the protocol xml during scanning 2015-11-17 14:36:21 +02:00
scanner.mk Rename source subdir from wayland to src 2011-08-12 16:25:14 -04:00
wayland-client-core.h cosmetic: fix inconsistent code style with header prototypes. 2015-10-26 10:50:48 -07:00
wayland-client-uninstalled.pc.in build: add uninstalled pkg-config files 2012-05-29 10:09:59 -04:00
wayland-client.c add wl_abort private function 2015-11-16 12:58:43 -08:00
wayland-client.h src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-client.pc.in Export the Wayland protocol XML file 2013-09-21 21:48:56 -07:00
wayland-egl-core.h src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-egl.h src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-os.c src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-os.h src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-private.h add wl_abort private function 2015-11-16 12:58:43 -08:00
wayland-scanner-uninstalled.pc.in build: Add wayland-scanner.pc. 2013-07-03 16:38:12 -04:00
wayland-scanner.pc.in build: Add wayland-scanner.pc. 2013-07-03 16:38:12 -04:00
wayland-server-core.h shm: Deprecate wl_shm_buffer_create() 2015-11-06 13:42:33 +02:00
wayland-server-uninstalled.pc.in build: add uninstalled pkg-config files 2012-05-29 10:09:59 -04:00
wayland-server.c wayland-server: Fix style on multi-line comment 2015-06-12 15:35:13 -07:00
wayland-server.h src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
wayland-server.pc.in Export the Wayland protocol XML file 2013-09-21 21:48:56 -07:00
wayland-shm.c shm: wl_shm_buffer_get_data() requires a valid pool. 2015-11-06 13:42:52 +02:00
wayland-util.c add wl_abort private function 2015-11-16 12:58:43 -08:00
wayland-util.h cosmetic: fix inconsistent code style with header prototypes. 2015-10-26 10:50:48 -07:00
wayland-version.h.in src: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00