diff options
-rw-r--r-- | .gitignore | 31 | ||||
-rw-r--r-- | HACKING | 20 | ||||
-rw-r--r-- | Makefile.in | 756 | ||||
-rw-r--r-- | NEWS | 61 | ||||
-rw-r--r-- | aclocal.m4 | 875 | ||||
-rwxr-xr-x | autogen.sh | 4 | ||||
-rwxr-xr-x | configure | 3687 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/xml-xcb.txt | 21 | ||||
-rwxr-xr-x | install-sh | 527 | ||||
-rwxr-xr-x | missing | 331 | ||||
-rw-r--r-- | packaging/xcb-proto.spec | 6 | ||||
-rwxr-xr-x | py-compile | 161 | ||||
-rw-r--r-- | src/.gitattributes | 1 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/Makefile.in | 479 | ||||
-rw-r--r-- | src/composite.xml | 6 | ||||
-rw-r--r-- | src/damage.xml | 8 | ||||
-rw-r--r-- | src/dpms.xml | 8 | ||||
-rw-r--r-- | src/dri2.xml | 26 | ||||
-rw-r--r-- | src/dri3.xml | 97 | ||||
-rw-r--r-- | src/glx.xml | 15 | ||||
-rw-r--r-- | src/present.xml | 205 | ||||
-rw-r--r-- | src/randr.xml | 236 | ||||
-rw-r--r-- | src/render.xml | 140 | ||||
-rw-r--r-- | src/res.xml | 75 | ||||
-rw-r--r-- | src/screensaver.xml | 27 | ||||
-rw-r--r-- | src/shape.xml | 16 | ||||
-rw-r--r-- | src/shm.xml | 21 | ||||
-rw-r--r-- | src/sync.xml | 104 | ||||
-rw-r--r-- | src/xcb.xsd | 12 | ||||
-rw-r--r-- | src/xevie.xml | 4 | ||||
-rw-r--r-- | src/xfixes.xml | 52 | ||||
-rw-r--r-- | src/xinput.xml | 2577 | ||||
-rw-r--r-- | src/xkb.xml | 615 | ||||
-rw-r--r-- | src/xproto.xml | 170 | ||||
-rw-r--r-- | src/xtest.xml | 3 | ||||
-rw-r--r-- | src/xv.xml | 42 | ||||
-rw-r--r-- | xcbgen/Makefile.in | 410 | ||||
-rw-r--r-- | xcbgen/expr.py | 3 | ||||
-rw-r--r-- | xcbgen/state.py | 2 | ||||
-rw-r--r-- | xcbgen/xtypes.py | 66 |
42 files changed, 3301 insertions, 8603 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..91876c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +aclocal.m4 +autom4te.cache +compile +depcomp +install-sh +libtool +ltmain.sh +missing +mkinstalldirs +py-compile +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +configure.lineno +.deps +.dirstamp +.libs +*.lo +*.loT +*.la +Makefile +Makefile.in +stamp-h1 +*.o +*.pc +*.tar.bz2 +*.tar.gz @@ -0,0 +1,20 @@ +Make patches more descriptive +============================= + +By default hunk headers of a patch will look like this: + + @@ -1227,6 +1227,8 @@ authorization from the authors. + +Which is not very usefull as it doesn't give a hint where the change +happened (except for the line number). To make those hunk headers more +descriptive, i.e.: + + @@ -1227,6 +1227,8 @@ <struct name="HierarchyChange"> + +Add these 2 lines to your .git/config file: + + [diff "xcb"] + xfuncname = "(<\\b(xcb|enum|event|request|struct|union)\\b.*>)" + +For more background on this magic have a look at src/.gitattributes and +the man page gitattributes(5) chapter "Defining a custom hunk-header". diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index e6a67ff..0000000 --- a/Makefile.in +++ /dev/null @@ -1,756 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/xcb-proto.pc.in \ - $(top_srcdir)/configure COPYING INSTALL NEWS TODO install-sh \ - missing py-compile -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = xcb-proto.pc -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pkgconfigdir)" -DATA = $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PYTHON = @PYTHON@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_VERSION = @PYTHON_VERSION@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XMLLINT = @XMLLINT@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = @pkgpythondir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xcbincludedir = @xcbincludedir@ -SUBDIRS = src xcbgen -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = xcb-proto.pc -EXTRA_DIST = doc xcb-proto.pc.in autogen.sh -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): -xcb-proto.pc: $(top_builddir)/config.status $(srcdir)/xcb-proto.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-pkgconfigDATA - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-pkgconfigDATA install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-pkgconfigDATA - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: @@ -1,3 +1,64 @@ +Release 1.10 (2013-12-22) +========================= +* xkb: comment out portions that libxcb doesn't handle properly +* Present: Remove reference to nonexistent enum +* sync: Add missing namespace for the INT64 struct +* sync: VALUETYPE and TESTTYPE are enum +* xinput: Add XI2 event enum. for event selection +* Rename ge events to GeGeneric events to avoid clash with libxcb + +Release 1.9 (2013-11-07) +======================== +* Add Present protocol specification +* Add DRI3 +* Add MIT-SHM AttachFd and CreateSegment requests +* Add support for file descriptor request fields +* Define X generic event structure +* Add CARD64/INT64 protocol types +* XKB: Rewrite AXOption +* XKB: Fix values of AXFBOpt enum +* xkb: Fix struct ExtensionDeviceNotify +* xkb: Pad structs CommonDoodad and SALockDeviceBtn +* randr: Fix GetProviderProperty reply +* Enforce a bit or value in enum items +* xkb: Add missing LedClass and BellClass enum values +* xkb: Add missing 'supported' field to GetNamedIndicator reply +* xkb: Unify Overlay1Behavior and Overlay2Behavior +* xkb: Change DfltBtnAbsolute to the value used by the server +* xkb: Fix key type map entry field order +* xkb: Work around alignment problems in GetNames and GetMap replies +* xinput: Use BARRIER from xfixes +* xinput: Unlock uninterpreted lists +* xinput: Add XI v2.3 +* xinput: Add XI v2.2 +* xinput: Add XI v2.1 +* xinput: Add XI v2.0 +* xinput: Add XI v1.5 +* xinput: Cleanup implementation of XI up to v1.4 +* Add support for X Generic Extension events +* sync: Change value list param of CreateAlarm and ChangeAlarm into switch +* res: Add ClientIdMask enum +* res: Fix and rename list in ClientIdValue +* randr: Add provider object support (RandR v1.4) +* xtest: Version bump 2.1..2.2 +* glx: Version bump 1.3..1.4 +* composite: Version bump 0.3..0.4 +* xfixes: Rename enum DirectionMask to BarrierDirec. +* XKB: Correct enum to mask +* screensaver: Use enum and mask attributes +* screensaver: Remove wrong fields from Notify event +* Prototype for XRes v1.2 +* XKB: Fix calculation in GetIndicatorMap +* XKB: Fix GetKbdByName +* Allow multiple <enumref> in a <bitcase> +* XKB: Change CARD8 to char where ASCII is expected +* XKB: Fix VirtualMods +* XKB: Fix SymInterpret +* XKB: Fix CountedString16 padding +* xkb: Revert half of d42d791 XKB: Fix broken events +* xfixes: Update to version 5 +* autogen.sh: Implement GNOME Build API + Release 1.8 (2012-10-05) ======================== * dri2: Update to DRI2 1.4 diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 7289889..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,875 +0,0 @@ -# generated automatically by aclocal 1.11.6 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, -# Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software -# Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.6], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.6])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, -# Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, -# Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software -# Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, -# 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# --------------------------------------------------------------------------- -# Adds support for distributing Python modules and packages. To -# install modules, copy them to $(pythondir), using the python_PYTHON -# automake variable. To install a package with the same name as the -# automake package, install to $(pkgpythondir), or use the -# pkgpython_PYTHON automake variable. -# -# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as -# locations to install python extension modules (shared libraries). -# Another macro is required to find the appropriate flags to compile -# extension modules. -# -# If your package is configured with a different prefix to python, -# users will have to add the install directory to the PYTHONPATH -# environment variable, or create a .pth file (see the python -# documentation for details). -# -# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will -# cause an error if the version of python installed on the system -# doesn't meet the requirement. MINIMUM-VERSION should consist of -# numbers and dots only. -AC_DEFUN([AM_PATH_PYTHON], - [ - dnl Find a Python interpreter. Python versions prior to 2.0 are not - dnl supported. (2.0 was released on October 16, 2000). - m4_define_default([_AM_PYTHON_INTERPRETER_LIST], -[python python2 python3 python3.2 python3.1 python3.0 python2.7 dnl - python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0]) - - AC_ARG_VAR([PYTHON], [the Python interpreter]) - - m4_if([$1],[],[ - dnl No version check is needed. - # Find any Python interpreter. - if test -z "$PYTHON"; then - AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) - fi - am_display_PYTHON=python - ], [ - dnl A version check is needed. - if test -n "$PYTHON"; then - # If the user set $PYTHON, use it and don't search something else. - AC_MSG_CHECKING([whether $PYTHON version >= $1]) - AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], - [AC_MSG_RESULT(yes)], - [AC_MSG_ERROR(too old)]) - am_display_PYTHON=$PYTHON - else - # Otherwise, try each interpreter until we find one that satisfies - # VERSION. - AC_CACHE_CHECK([for a Python interpreter with version >= $1], - [am_cv_pathless_PYTHON],[ - for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do - test "$am_cv_pathless_PYTHON" = none && break - AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) - done]) - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. - if test "$am_cv_pathless_PYTHON" = none; then - PYTHON=: - else - AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) - fi - am_display_PYTHON=$am_cv_pathless_PYTHON - fi - ]) - - if test "$PYTHON" = :; then - dnl Run any user-specified action, or abort. - m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) - else - - dnl Query Python for its version number. Getting [:3] seems to be - dnl the best way to do this; it's what "site.py" does in the standard - dnl library. - - AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], - [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) - AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) - - dnl Use the values of $prefix and $exec_prefix for the corresponding - dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made - dnl distinct variables so they can be overridden if need be. However, - dnl general consensus is that you shouldn't need this ability. - - AC_SUBST([PYTHON_PREFIX], ['${prefix}']) - AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) - - dnl At times (like when building shared libraries) you may want - dnl to know which OS platform Python thinks this is. - - AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], - [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) - AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) - - - dnl Set up 4 directories: - - dnl pythondir -- where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior - dnl is more consistent with lispdir.m4 for example. - dnl Query distutils for this directory. - AC_CACHE_CHECK([for $am_display_PYTHON script directory], - [am_cv_python_pythondir], - [if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; - esac - ]) - AC_SUBST([pythondir], [$am_cv_python_pythondir]) - - dnl pkgpythondir -- $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - - AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) - - dnl pyexecdir -- directory for installing python extension modules - dnl (shared libraries) - dnl Query distutils for this directory. - AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], - [am_cv_python_pyexecdir], - [if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; - esac - ]) - AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) - - dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) - - AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) - - dnl Run any user-specified action. - $2 - fi - -]) - - -# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# --------------------------------------------------------------------------- -# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. -# Run ACTION-IF-FALSE otherwise. -# This test uses sys.hexversion instead of the string equivalent (first -# word of sys.version), in order to cope with versions such as 2.2c1. -# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). -AC_DEFUN([AM_PYTHON_CHECK_VERSION], - [prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] -sys.exit(sys.hexversion < minverhex)" - AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar <conftest.tar]) - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/configure b/configure deleted file mode 100755 index 6c3ed90..0000000 --- a/configure +++ /dev/null @@ -1,3687 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for XCB Proto 1.8. -# -# Report bugs to <xcb@lists.freedesktop.org>. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: xcb@lists.freedesktop.org about your system, including -$0: any error possibly output before this message. Then -$0: install a modern shell, or manually run the script -$0: under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='XCB Proto' -PACKAGE_TARNAME='xcb-proto' -PACKAGE_VERSION='1.8' -PACKAGE_STRING='XCB Proto 1.8' -PACKAGE_BUGREPORT='xcb@lists.freedesktop.org' -PACKAGE_URL='' - -ac_unique_file="xcb-proto.pc.in" -ac_subst_vars='LTLIBOBJS -LIBOBJS -xcbincludedir -pkgpyexecdir -pyexecdir -pkgpythondir -pythondir -PYTHON_PLATFORM -PYTHON_EXEC_PREFIX -PYTHON_PREFIX -PYTHON_VERSION -PYTHON -HAVE_XMLLINT_FALSE -HAVE_XMLLINT_TRUE -XMLLINT -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -' - ac_precious_vars='build_alias -host_alias -target_alias -PYTHON' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures XCB Proto 1.8 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/xcb-proto] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of XCB Proto 1.8:";; - esac - cat <<\_ACEOF - -Some influential environment variables: - PYTHON the Python interpreter - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <xcb@lists.freedesktop.org>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -XCB Proto configure 1.8 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by XCB Proto $as_me 1.8, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -am__api_version='1.11' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='xcb-proto' - VERSION='1.8' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# Extract the first word of "xmllint", so it can be a program name with args. -set dummy xmllint; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XMLLINT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XMLLINT in - [\\/]* | ?:[\\/]*) - ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT="no" - ;; -esac -fi -XMLLINT=$ac_cv_path_XMLLINT -if test -n "$XMLLINT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 -$as_echo "$XMLLINT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "x$XMLLINT" != "xno"; then - HAVE_XMLLINT_TRUE= - HAVE_XMLLINT_FALSE='#' -else - HAVE_XMLLINT_TRUE='#' - HAVE_XMLLINT_FALSE= -fi - -if test "$XMLLINT" = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: xmllint not found; unable to validate against schema." >&5 -$as_echo "$as_me: WARNING: xmllint not found; unable to validate against schema." >&2;} -fi - - - - - - - - if test -n "$PYTHON"; then - # If the user set $PYTHON, use it and don't search something else. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.5" >&5 -$as_echo_n "checking whether $PYTHON version >= 2.5... " >&6; } - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 - ($PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - as_fn_error $? "too old" "$LINENO" 5 -fi - am_display_PYTHON=$PYTHON - else - # Otherwise, try each interpreter until we find one that satisfies - # VERSION. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.5" >&5 -$as_echo_n "checking for a Python interpreter with version >= 2.5... " >&6; } -if ${am_cv_pathless_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else - - for am_cv_pathless_PYTHON in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do - test "$am_cv_pathless_PYTHON" = none && break - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 - ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then : - break -fi - done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 -$as_echo "$am_cv_pathless_PYTHON" >&6; } - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. - if test "$am_cv_pathless_PYTHON" = none; then - PYTHON=: - else - # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. -set dummy $am_cv_pathless_PYTHON; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PYTHON=$ac_cv_path_PYTHON -if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi - am_display_PYTHON=$am_cv_pathless_PYTHON - fi - - - if test "$PYTHON" = :; then - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 - else - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 -$as_echo_n "checking for $am_display_PYTHON version... " >&6; } -if ${am_cv_python_version+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 -$as_echo "$am_cv_python_version" >&6; } - PYTHON_VERSION=$am_cv_python_version - - - - PYTHON_PREFIX='${prefix}' - - PYTHON_EXEC_PREFIX='${exec_prefix}' - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 -$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } -if ${am_cv_python_platform+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 -$as_echo "$am_cv_python_platform" >&6; } - PYTHON_PLATFORM=$am_cv_python_platform - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 -$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } -if ${am_cv_python_pythondir+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 -$as_echo "$am_cv_python_pythondir" >&6; } - pythondir=$am_cv_python_pythondir - - - - pkgpythondir=\${pythondir}/$PACKAGE - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 -$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } -if ${am_cv_python_pyexecdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 -$as_echo "$am_cv_python_pyexecdir" >&6; } - pyexecdir=$am_cv_python_pyexecdir - - - - pkgpyexecdir=\${pyexecdir}/$PACKAGE - - - - fi - - - -xcbincludedir='${datadir}/xcb' - - -ac_config_files="$ac_config_files Makefile src/Makefile xcbgen/Makefile xcb-proto.pc" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -if test -z "${HAVE_XMLLINT_TRUE}" && test -z "${HAVE_XMLLINT_FALSE}"; then - as_fn_error $? "conditional \"HAVE_XMLLINT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by XCB Proto $as_me 1.8, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to <xcb@lists.freedesktop.org>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -XCB Proto config.status 1.8 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "xcbgen/Makefile") CONFIG_FILES="$CONFIG_FILES xcbgen/Makefile" ;; - "xcb-proto.pc") CONFIG_FILES="$CONFIG_FILES xcb-proto.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/configure.ac b/configure.ac index ba6a90c..a235f93 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([XCB Proto], - 1.8, + 1.10, [xcb@lists.freedesktop.org]) AC_CONFIG_SRCDIR([xcb-proto.pc.in]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) diff --git a/doc/xml-xcb.txt b/doc/xml-xcb.txt index 7057727..7311911 100644 --- a/doc/xml-xcb.txt +++ b/doc/xml-xcb.txt @@ -128,7 +128,8 @@ Top-Level Elements requests of the same type may be combined into a single request without affecting the semantics of the requests. -<event name="identifier" number="integer" [no-sequence-number="true"]> +<event name="identifier" number="integer" + [[no-sequence-number="true"] | [xge="true"]]> structure contents </event> @@ -142,6 +143,11 @@ Top-Level Elements include a sequence number. This is a special-case for the KeymapNotify event in the core protocol, and should not be used in any other event. + If the optional xge attribute is true, the event is an X Generic Event and + will be treated as such. + + The no-sequence-number and xge attribute can not be combined. + <error name="identifier" number="integer"> structure contents </error> @@ -229,13 +235,18 @@ enum; the value is restricted to one of the constants named in the enum. <switch> instead for new protocol definitions. <switch name="identifier"> switch expression - <bitcase> bitcase expression, fields </bitcase> </switch> + <bitcase> bitcase expression(s), fields </bitcase> </switch> This element represents conditional inclusion of fields. It can be viewed as sequence of multiple ifs: if ( switch expression & bitcase expression ) - is equal to bitcase expression, bitcase fields are included in structure. - It can be used only as the last field of structure. New protocol definitions - should prefer to use this instead of <valueparam>. + is non-zero, bitcase fields are included in structure. It can be used only + as the last field of a structure. + + When a bitcase includes multiple <enumref> clauses, the contents of the + bitcase are only present once regardless of the number of bitcase expressions + that match. + + New protocol definitions should prefer to use this instead of <valueparam>. Expressions ----------- diff --git a/install-sh b/install-sh deleted file mode 100755 index a9244eb..0000000 --- a/install-sh +++ /dev/null @@ -1,527 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2011-01-19.21; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for `test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/missing b/missing deleted file mode 100755 index 86a8fc3..0000000 --- a/missing +++ /dev/null @@ -1,331 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2012-01-06.13; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -Send bug reports to <bug-automake@gnu.org>." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/packaging/xcb-proto.spec b/packaging/xcb-proto.spec index 0761cc0..cf119c2 100644 --- a/packaging/xcb-proto.spec +++ b/packaging/xcb-proto.spec @@ -1,5 +1,5 @@ -Name: xcb-proto -Version: 1.8 +Name: xcb-proto +Version: 1.10 Release: 1 License: MIT Summary: X C Binding - protocol descriptions @@ -33,7 +33,7 @@ used by Python code generators in individual language bindings. cp %{SOURCE1001} . %build -%configure --disable-static \ +%autogen --disable-static \ --libdir=%{_datadir} \ --without-xmlto diff --git a/py-compile b/py-compile deleted file mode 100755 index 15c834c..0000000 --- a/py-compile +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/sh -# py-compile - Compile a Python program - -scriptversion=2011-06-08.12; # UTC - -# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009, 2011 Free -# Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -if [ -z "$PYTHON" ]; then - PYTHON=python -fi - -me=py-compile - -usage_error () -{ - echo "$me: $*" >&2 - echo "Try \`$me --help' for more information." >&2 - exit 1 -} - -basedir= -destdir= -while test $# -ne 0; do - case "$1" in - --basedir) - if test $# -lt 2; then - usage_error "option '--basedir' requires an argument" - else - basedir=$2 - fi - shift - ;; - --destdir) - if test $# -lt 2; then - usage_error "option '--destdir' requires an argument" - else - destdir=$2 - fi - shift - ;; - -h|--help) - cat <<\EOF -Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." - -Byte compile some python scripts FILES. Use --destdir to specify any -leading directory path to the FILES that you don't want to include in the -byte compiled file. Specify --basedir for any additional path information you -do want to be shown in the byte compiled file. - -Example: - py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v|--version) - echo "$me $scriptversion" - exit $? - ;; - --) - shift - break - ;; - -*) - usage_error "unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift -done - -files=$* -if test -z "$files"; then - usage_error "no files given" -fi - -# if basedir was given, then it should be prepended to filenames before -# byte compilation. -if [ -z "$basedir" ]; then - pathtrans="path = file" -else - pathtrans="path = os.path.join('$basedir', file)" -fi - -# if destdir was given, then it needs to be prepended to the filename to -# byte compile but not go into the compiled file. -if [ -z "$destdir" ]; then - filetrans="filepath = path" -else - filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" -fi - -$PYTHON -c " -import sys, os, py_compile - -files = '''$files''' - -sys.stdout.write('Byte-compiling python modules...\n') -for file in files.split(): - $pathtrans - $filetrans - if not os.path.exists(filepath) or not (len(filepath) >= 3 - and filepath[-3:] == '.py'): - continue - sys.stdout.write(file) - sys.stdout.flush() - py_compile.compile(filepath, filepath + 'c', path) -sys.stdout.write('\n')" || exit $? - -# this will fail for python < 1.5, but that doesn't matter ... -$PYTHON -O -c " -import sys, os, py_compile - -files = '''$files''' -sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') -for file in files.split(): - $pathtrans - $filetrans - if not os.path.exists(filepath) or not (len(filepath) >= 3 - and filepath[-3:] == '.py'): - continue - sys.stdout.write(file) - sys.stdout.flush() - py_compile.compile(filepath, filepath + 'o', path) -sys.stdout.write('\n')" 2>/dev/null || : - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/src/.gitattributes b/src/.gitattributes new file mode 100644 index 0000000..8d345b0 --- /dev/null +++ b/src/.gitattributes @@ -0,0 +1 @@ +*.xml diff=xcb diff --git a/src/Makefile.am b/src/Makefile.am index eef2dbc..d81d818 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,8 +6,10 @@ xcbinclude_HEADERS = \ damage.xml \ dpms.xml \ dri2.xml \ + dri3.xml \ ge.xml \ glx.xml \ + present.xml \ randr.xml \ record.xml \ render.xml \ diff --git a/src/Makefile.in b/src/Makefile.in deleted file mode 100644 index 99a37ef..0000000 --- a/src/Makefile.in +++ /dev/null @@ -1,479 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -subdir = src -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(xcbinclude_HEADERS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(xcbincludedir)" -HEADERS = $(xcbinclude_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PYTHON = @PYTHON@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_VERSION = @PYTHON_VERSION@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XMLLINT = @XMLLINT@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = @pkgpythondir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xcbincludedir = @xcbincludedir@ -xcbinclude_HEADERS = \ - xcb.xsd \ - xproto.xml \ - bigreq.xml \ - composite.xml \ - damage.xml \ - dpms.xml \ - dri2.xml \ - ge.xml \ - glx.xml \ - randr.xml \ - record.xml \ - render.xml \ - res.xml \ - screensaver.xml \ - shape.xml \ - shm.xml \ - sync.xml \ - xc_misc.xml \ - xevie.xml \ - xf86dri.xml \ - xf86vidmode.xml \ - xfixes.xml \ - xinerama.xml \ - xinput.xml \ - xkb.xml \ - xprint.xml \ - xselinux.xml \ - xtest.xml \ - xv.xml \ - xvmc.xml - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-xcbincludeHEADERS: $(xcbinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(xcbinclude_HEADERS)'; test -n "$(xcbincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(xcbincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(xcbincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(xcbincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(xcbincludedir)" || exit $$?; \ - done - -uninstall-xcbincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(xcbinclude_HEADERS)'; test -n "$(xcbincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(xcbincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -@HAVE_XMLLINT_FALSE@check-local: -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-local -check: check-am -all-am: Makefile $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(xcbincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-xcbincludeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-xcbincludeHEADERS - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am check-local clean \ - clean-generic ctags distclean distclean-generic distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip install-xcbincludeHEADERS installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-xcbincludeHEADERS - - -@HAVE_XMLLINT_TRUE@check-local: -@HAVE_XMLLINT_TRUE@ $(XMLLINT) --noout --schema $(srcdir)/xcb.xsd $(srcdir)/*.xml - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/composite.xml b/src/composite.xml index d16b6e7..86de146 100644 --- a/src/composite.xml +++ b/src/composite.xml @@ -26,14 +26,14 @@ authorization from the authors. --> <!-- This file describes version 0.3 of COMPOSITE. --> <xcb header="composite" extension-xname="Composite" extension-name="Composite" - major-version="0" minor-version="3"> + major-version="0" minor-version="4"> <import>xproto</import> <import>xfixes</import> <enum name="Redirect"> - <item name="Automatic" /> - <item name="Manual" /> + <item name="Automatic"> <value>0</value> </item> + <item name="Manual"> <value>1</value> </item> </enum> <request name="QueryVersion" opcode="0"> diff --git a/src/damage.xml b/src/damage.xml index 9c5cde5..c04721d 100644 --- a/src/damage.xml +++ b/src/damage.xml @@ -35,10 +35,10 @@ authorization from the authors. <xidtype name="DAMAGE" /> <enum name="ReportLevel"> - <item name="RawRectangles" /> - <item name="DeltaRectangles" /> - <item name="BoundingBox" /> - <item name="NonEmpty" /> + <item name="RawRectangles"> <value>0</value> </item> + <item name="DeltaRectangles"> <value>1</value> </item> + <item name="BoundingBox"> <value>2</value> </item> + <item name="NonEmpty"> <value>3</value> </item> </enum> <error name="BadDamage" number="0" /> diff --git a/src/dpms.xml b/src/dpms.xml index 0c2ac20..5581284 100644 --- a/src/dpms.xml +++ b/src/dpms.xml @@ -66,10 +66,10 @@ authorization from the authors. <request name="Disable" opcode="5" /> <enum name="DPMSMode"> - <item name="On" /> - <item name="Standby" /> - <item name="Suspend" /> - <item name="Off" /> + <item name="On"> <value>0</value> </item> + <item name="Standby"> <value>1</value> </item> + <item name="Suspend"> <value>2</value> </item> + <item name="Off"> <value>3</value> </item> </enum> <request name="ForceLevel" opcode="6"> diff --git a/src/dri2.xml b/src/dri2.xml index 1916d47..d14df41 100644 --- a/src/dri2.xml +++ b/src/dri2.xml @@ -32,22 +32,22 @@ authorization from the authors. <import>xproto</import> <enum name="Attachment"> - <item name="BufferFrontLeft" /> - <item name="BufferBackLeft" /> - <item name="BufferFrontRight" /> - <item name="BufferBackRight" /> - <item name="BufferDepth" /> - <item name="BufferStencil" /> - <item name="BufferAccum" /> - <item name="BufferFakeFrontLeft" /> - <item name="BufferFakeFrontRight" /> - <item name="BufferDepthStencil" /> - <item name="BufferHiz" /> + <item name="BufferFrontLeft"> <value>0</value> </item> + <item name="BufferBackLeft"> <value>1</value> </item> + <item name="BufferFrontRight"> <value>2</value> </item> + <item name="BufferBackRight"> <value>3</value> </item> + <item name="BufferDepth"> <value>4</value> </item> + <item name="BufferStencil"> <value>5</value> </item> + <item name="BufferAccum"> <value>6</value> </item> + <item name="BufferFakeFrontLeft"> <value>7</value> </item> + <item name="BufferFakeFrontRight"> <value>8</value> </item> + <item name="BufferDepthStencil"> <value>9</value> </item> + <item name="BufferHiz"> <value>10</value> </item> </enum> <enum name="DriverType"> - <item name="DRI" /> - <item name="VDPAU" /> + <item name="DRI"> <value>0</value> </item> + <item name="VDPAU"> <value>1</value> </item> </enum> <enum name="EventType"> diff --git a/src/dri3.xml b/src/dri3.xml new file mode 100644 index 0000000..608af31 --- /dev/null +++ b/src/dri3.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. +--> + +<xcb header="dri3" extension-xname="DRI3" extension-name="DRI3" + major-version="1" minor-version="0"> + <import>xproto</import> + + <!-- Types --> + + <!-- Requests --> + <request name="QueryVersion" opcode="0"> + <field type="CARD32" name="major_version" /> + <field type="CARD32" name="minor_version" /> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="major_version" /> + <field type="CARD32" name="minor_version" /> + </reply> + </request> + + <request name="Open" opcode="1"> + <field type="DRAWABLE" name="drawable" /> + <field type="CARD32" name="provider" /> + <reply> + <field type="CARD8" name="nfd"/> + <fd name="device_fd" /> + <pad bytes="24" /> + </reply> + </request> + + <request name="PixmapFromBuffer" opcode="2"> + <field type="PIXMAP" name="pixmap" /> + <field type="DRAWABLE" name="drawable" /> + <field type="CARD32" name="size" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="CARD16" name="stride" /> + <field type="CARD8" name="depth" /> + <field type="CARD8" name="bpp" /> + <fd name="pixmap_fd" /> + </request> + + <request name="BufferFromPixmap" opcode="3"> + <field type="PIXMAP" name="pixmap" /> + <reply> + <field type="CARD8" name="nfd"/> + <field type="CARD32" name="size" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="CARD16" name="stride" /> + <field type="CARD8" name="depth" /> + <field type="CARD8" name="bpp" /> + <fd name="pixmap_fd" /> + <pad bytes="12"/> + </reply> + </request> + + <request name="FenceFromFD" opcode="4"> + <field type="DRAWABLE" name="drawable" /> + <field type="CARD32" name="fence"/> + <field type="BOOL" name="initially_triggered"/> + <pad bytes="3"/> + <fd name="fence_fd"/> + </request> + + <request name="FDFromFence" opcode="5"> + <field type="DRAWABLE" name="drawable" /> + <field type="CARD32" name="fence"/> + <reply> + <field type="CARD8" name="nfd"/> + <fd name="fence_fd" /> + <pad bytes="24"/> + </reply> + </request> + +</xcb> diff --git a/src/glx.xml b/src/glx.xml index 53c9267..2a36daa 100644 --- a/src/glx.xml +++ b/src/glx.xml @@ -45,8 +45,7 @@ The patch that fixed this server bug in X.org CVS is here: --> <xcb header="glx" extension-xname="GLX" extension-name="Glx" - major-version="1" minor-version="3"> - <!-- target support: 1.3 --> + major-version="1" minor-version="4"> <import>xproto</import> @@ -107,6 +106,18 @@ The patch that fixed this server bug in X.org CVS is here: <pad bytes="4" /> </event> + <event name="BufferSwapComplete" number="1"> + <pad bytes="1" /> + <field type="CARD16" name="event_type" /> + <pad bytes="2" /> + <field type="glx:DRAWABLE" name="drawable" /> + <field type="CARD32" name="ust_hi" /> + <field type="CARD32" name="ust_lo" /> + <field type="CARD32" name="msc_hi" /> + <field type="CARD32" name="msc_lo" /> + <field type="CARD32" name="sbc" /> + </event> + <!-- enums for PbufferClobber event/draw type --> <enum name="PBCET"> <item name="Damaged"> diff --git a/src/present.xml b/src/present.xml new file mode 100644 index 0000000..a9adc2b --- /dev/null +++ b/src/present.xml @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + +Copyright © 2013 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. +--> + +<xcb header="present" extension-xname="Present" extension-name="Present" + major-version="1" minor-version="0"> + <import>xproto</import> + <import>randr</import> + <import>xfixes</import> + <import>sync</import> + + <!-- Types --> + + <enum name="Event"> + <item name="ConfigureNotify"><value>0</value></item> + <item name="CompleteNotify"><value>1</value></item> + <item name="IdleNotify"><value>2</value></item> + <item name="RedirectNotify"><value>3</value></item> + </enum> + + <enum name="EventMask"> + <item name="NoEvent"><value>0</value></item> + <item name="ConfigureNotify"><bit>0</bit></item> + <item name="CompleteNotify"><bit>1</bit></item> + <item name="IdleNotify"><bit>2</bit></item> + <item name="RedirectNotify"><bit>3</bit></item> + </enum> + + <enum name="Option"> + <item name="None"><value>0</value></item> + <item name="Async"><bit>0</bit></item> + <item name="Copy"><bit>1</bit></item> + <item name="UST"><bit>2</bit></item> + </enum> + + <enum name="Capability"> + <item name="None"><value>0</value></item> + <item name="Async"><bit>0</bit></item> + <item name="Fence"><bit>1</bit></item> + <item name="UST"><bit>2</bit></item> + </enum> + + <enum name="CompleteKind"> + <item name="Pixmap"><value>0</value></item> + <item name="NotifyMSC"><value>1</value></item> + </enum> + + <enum name="CompleteMode"> + <item name="Copy"><value>0</value></item> + <item name="Flip"><value>1</value></item> + <item name="Skip"><value>2</value></item> + </enum> + + <struct name="Notify"> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="serial" /> + </struct> + + <!-- Requests --> + <request name="QueryVersion" opcode="0"> + <field type="CARD32" name="major_version" /> + <field type="CARD32" name="minor_version" /> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="major_version" /> + <field type="CARD32" name="minor_version" /> + </reply> + </request> + + <request name="Pixmap" opcode="1"> + <field type="WINDOW" name="window" /> + <field type="PIXMAP" name="pixmap" /> + <field type="CARD32" name="serial" /> + <field type="REGION" name="valid" /> + <field type="REGION" name="update" /> + <field type="INT16" name="x_off" /> + <field type="INT16" name="y_off" /> + <field type="CRTC" name="target_crtc" /> + <field type="FENCE" name="wait_fence" /> + <field type="FENCE" name="idle_fence" /> + <field type="CARD32" name="options" /> + <pad bytes="4"/> + <field type="CARD64" name="target_msc" /> + <field type="CARD64" name="divisor" /> + <field type="CARD64" name="remainder" /> + <list type="Notify" name="notifies"/> + </request> + + <request name="NotifyMSC" opcode="2"> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="serial" /> + <pad bytes="4"/> + <field type="CARD64" name="target_msc" /> + <field type="CARD64" name="divisor" /> + <field type="CARD64" name="remainder" /> + </request> + + <xidtype name="EVENT"/> + + <request name="SelectInput" opcode="3"> + <field type="EVENT" name="eid"/> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="event_mask" mask="EventMask" /> + </request> + + <request name="QueryCapabilities" opcode="4"> + <field type="CARD32" name="target" /> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="capabilities" /> + </reply> + </request> + + <!-- Events --> + + <event name="Generic" number="0"> + <field type="CARD8" name="extension" /> + <field type="CARD32" name="length" /> + <field type="CARD16" name="evtype" /> + <pad bytes="2" /> + <field type="EVENT" name="event" /> + </event> + + <event name="ConfigureNotify" number="0" xge="true"> + <pad bytes="2" /> + <field type="EVENT" name="event" /> + <field type="WINDOW" name="window" /> + <field type="INT16" name="x" /> + <field type="INT16" name="y" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="INT16" name="off_x" /> + <field type="INT16" name="off_y" /> + <field type="CARD16" name="pixmap_width" /> + <field type="CARD16" name="pixmap_height" /> + <field type="CARD32" name="pixmap_flags" /> + </event> + + <event name="CompleteNotify" number="1" xge="true"> + <field type="CARD8" name="kind" enum="CompleteKind" /> + <field type="CARD8" name="mode" enum="CompleteMode" /> + <field type="EVENT" name="event" /> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="serial" /> + <field type="CARD64" name="ust" /> + <field type="CARD64" name="msc" /> + </event> + + <event name="IdleNotify" number="2" xge="true"> + <pad bytes="2"/> + <field type="EVENT" name="event" /> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="serial" /> + <field type="PIXMAP" name="pixmap" /> + <field type="FENCE" name="idle_fence" /> + </event> + + <event name="RedirectNotify" number="3" xge="true"> + <field type="BOOL" name="update_window"/> + <pad bytes="1"/> + <field type="EVENT" name="event" /> + <field type="WINDOW" name="event_window" /> + <field type="WINDOW" name="window" /> + <field type="PIXMAP" name="pixmap" /> + <field type="CARD32" name="serial" /> + + <field type="REGION" name="valid_region" /> + <field type="REGION" name="update_region" /> + <field type="RECTANGLE" name="valid_rect" /> + <field type="RECTANGLE" name="update_rect" /> + + <field type="INT16" name="x_off" /> + <field type="INT16" name="y_off" /> + <field type="CRTC" name="target_crtc" /> + <field type="FENCE" name="wait_fence" /> + <field type="FENCE" name="idle_fence" /> + <field type="CARD32" name="options" /> + <pad bytes="4"/> + <field type="CARD64" name="target_msc" /> + <field type="CARD64" name="divisor" /> + <field type="CARD64" name="remainder" /> + <list type="Notify" name="notifies"/> + </event> + +</xcb> diff --git a/src/randr.xml b/src/randr.xml index 4f0716f..d9192b2 100644 --- a/src/randr.xml +++ b/src/randr.xml @@ -27,7 +27,7 @@ authorization from the authors. --> <xcb header="randr" extension-xname="RANDR" extension-name="RandR" - major-version="1" minor-version="3"> + major-version="1" minor-version="4"> <import>xproto</import> <import>render</import> @@ -36,12 +36,14 @@ authorization from the authors. <xidtype name="MODE" /> <xidtype name="CRTC" /> <xidtype name="OUTPUT" /> + <xidtype name="PROVIDER" /> <!-- Errors --> - <error name="BadOutput" number="0" /> - <error name="BadCrtc" number="1" /> - <error name="BadMode" number="2" /> + <error name="BadOutput" number="0" /> + <error name="BadCrtc" number="1" /> + <error name="BadMode" number="2" /> + <error name="BadProvider" number="3" /> <!-- Requests --> @@ -113,11 +115,15 @@ authorization from the authors. <!-- opcode 3 is obsolete --> <enum name="NotifyMask" > - <item name="ScreenChange"> <bit>0</bit></item> - <!-- new in 1.2 --> - <item name="CrtcChange"> <bit>1</bit></item> - <item name="OutputChange"> <bit>2</bit></item> - <item name="OutputProperty"><bit>3</bit></item> + <item name="ScreenChange"> <bit>0</bit></item> + <!-- New in version 1.2 --> + <item name="CrtcChange"> <bit>1</bit></item> + <item name="OutputChange"> <bit>2</bit></item> + <item name="OutputProperty"> <bit>3</bit></item> + <!-- New in version 1.4 --> + <item name="ProviderChange"> <bit>4</bit></item> + <item name="ProviderProperty"><bit>5</bit></item> + <item name="ResourceChange"> <bit>6</bit></item> </enum> <request name="SelectInput" opcode="4"> @@ -242,9 +248,9 @@ authorization from the authors. <!-- for GetOutputInfo.connection --> <enum name="Connection"> - <item name="Connected" /> - <item name="Disconnected" /> - <item name="Unknown" /> + <item name="Connected"> <value>0</value> </item> + <item name="Disconnected"> <value>1</value> </item> + <item name="Unknown"> <value>2</value> </item> </enum> <request name="GetOutputInfo" opcode="9"> @@ -506,6 +512,14 @@ authorization from the authors. </reply> </request> + <enum name="Transform"> + <!-- Introduced in version 1.3, but not referenced. --> + <item name="Unit"> <bit>0</bit></item> + <item name="ScaleUp"> <bit>1</bit></item> + <item name="ScaleDown"> <bit>2</bit></item> + <item name="Projective"> <bit>3</bit></item> + </enum> + <request name="SetCrtcTransform" opcode="26"> <field type="CRTC" name="crtc" /> <field type="TRANSFORM" name="transform" /> @@ -599,6 +613,162 @@ authorization from the authors. </reply> </request> + <!-- New in version 1.4 --> + + <request name="GetProviders" opcode="32"> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD16" name="num_providers" /> + <pad bytes="18" /> + <list type="PROVIDER" name="providers"> + <fieldref>num_providers</fieldref> + </list> + </reply> + </request> + + <enum name="ProviderCapability"> + <item name="SourceOutput"> <bit>0</bit></item> + <item name="SinkOutput"> <bit>1</bit></item> + <item name="SourceOffload"> <bit>2</bit></item> + <item name="SinkOffload"> <bit>3</bit></item> + </enum> + + <request name="GetProviderInfo" opcode="33"> + <field type="PROVIDER" name="provider" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <reply> + <field type="CARD8" name="status" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD32" name="capabilities" mask="ProviderCapability" /> + <field type="CARD16" name="num_crtcs" /> + <field type="CARD16" name="num_outputs" /> + <field type="CARD16" name="num_associated_providers" /> + <field type="CARD16" name="name_len" /> + <pad bytes="8" /> + <list type="CRTC" name="crtcs"> + <fieldref>num_crtcs</fieldref> + </list> + <list type="OUTPUT" name="outputs"> + <fieldref>num_outputs</fieldref> + </list> + <list type="PROVIDER" name="associated_providers"> + <fieldref>num_associated_providers</fieldref> + </list> + <list type="CARD32" name="associated_capability"> + <fieldref>num_associated_providers</fieldref> + </list> + <list type="char" name="name"> + <fieldref>name_len</fieldref> + </list> + <!-- XXX: Prepared for the future. Until xcbgen supports + the align attribute in <pad>, we ignore the + trailing pad bytes here. + <pad align="4" /> + --> + </reply> + </request> + + <request name="SetProviderOffloadSink" opcode="34"> + <field type="PROVIDER" name="provider" /> + <field type="PROVIDER" name="sink_provider" /> + <field type="TIMESTAMP" name="config_timestamp" /> + </request> + + <request name="SetProviderOutputSource" opcode="35"> + <field type="PROVIDER" name="provider" /> + <field type="PROVIDER" name="source_provider" /> + <field type="TIMESTAMP" name="config_timestamp" /> + </request> + + <request name="ListProviderProperties" opcode="36"> + <field type="PROVIDER" name="provider" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_atoms" /> + <pad bytes="22" /> + <list type="ATOM" name="atoms"> + <fieldref>num_atoms</fieldref> + </list> + </reply> + </request> + + <request name="QueryProviderProperty" opcode="37"> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="property" /> + <reply> + <pad bytes="1" /> + <field type="BOOL" name="pending" /> + <field type="BOOL" name="range" /> + <field type="BOOL" name="immutable" /> + <pad bytes="21" /> + <list type="INT32" name="valid_values"> + <fieldref>length</fieldref> + </list> + </reply> + </request> + + <request name="ConfigureProviderProperty" opcode="38"> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="property" /> + <field type="BOOL" name="pending" /> + <field type="BOOL" name="range" /> + <pad bytes="2" /> + <list type="INT32" name="values" /> + </request> + + <request name="ChangeProviderProperty" opcode="39"> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD8" name="format" /> + <field type="CARD8" name="mode" /> + <pad bytes="2" /> + <field type="CARD32" name="num_items" /> + <list type="void" name="data"> + <op op="*"> + <fieldref>num_items</fieldref> + <op op="/"> + <fieldref>format</fieldref> + <value>8</value> + </op> + </op> + </list> + </request> + + <request name="DeleteProviderProperty" opcode="40"> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="property" /> + </request> + + <request name="GetProviderProperty" opcode="41"> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> <!-- AnyProperty --> + <field type="CARD32" name="long_offset" /> + <field type="CARD32" name="long_length" /> + <field type="BOOL" name="delete" /> + <field type="BOOL" name="pending" /> + <pad bytes="2" /> + <reply> + <field type="CARD8" name="format" /> + <field type="ATOM" name="type" /> <!-- None --> + <field type="CARD32" name="bytes_after" /> + <field type="CARD32" name="num_items" /> + <pad bytes="12" /> + <list type="void" name="data"> + <op op="*"> + <fieldref>num_items</fieldref> + <op op="/"> + <fieldref>format</fieldref> + <value>8</value> + </op> + </op> + </list> + </reply> + </request> + <!-- Events --> <event name="ScreenChangeNotify" number="0"> @@ -619,9 +789,12 @@ authorization from the authors. <!-- subcode --> <enum name="Notify" > - <item name="CrtcChange"> <value>0</value></item> - <item name="OutputChange"> <value>1</value></item> - <item name="OutputProperty"><value>2</value></item> + <item name="CrtcChange"> <value>0</value></item> + <item name="OutputChange"> <value>1</value></item> + <item name="OutputProperty"> <value>2</value></item> + <item name="ProviderChange"> <value>3</value></item> + <item name="ProviderProperty"><value>4</value></item> + <item name="ResourceChange"> <value>5</value></item> </enum> <struct name="CrtcChange"> @@ -658,10 +831,37 @@ authorization from the authors. <pad bytes="11" /> </struct> + <!-- New in version 1.4 --> + + <struct name="ProviderChange"> + <field type="TIMESTAMP" name="timestamp" /> + <field type="WINDOW" name="window" /> + <field type="PROVIDER" name="provider" /> + <pad bytes="16" /> + </struct> + + <struct name="ProviderProperty"> + <field type="WINDOW" name="window" /> + <field type="PROVIDER" name="provider" /> + <field type="ATOM" name="atom" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD8" name="state" /> + <pad bytes="11" /> + </struct> + + <struct name="ResourceChange"> + <field type="TIMESTAMP" name="timestamp" /> + <field type="WINDOW" name="window" /> + <pad bytes="20" /> + </struct> + <union name="NotifyData"> - <field type="CrtcChange" name="cc" /> - <field type="OutputChange" name="oc" /> - <field type="OutputProperty" name="op" /> + <field type="CrtcChange" name="cc" /> + <field type="OutputChange" name="oc" /> + <field type="OutputProperty" name="op" /> + <field type="ProviderChange" name="pc" /> + <field type="ProviderProperty" name="pp" /> + <field type="ResourceChange" name="rc" /> </union> <event name="Notify" number="1"> diff --git a/src/render.xml b/src/render.xml index 9667fbe..55b73f7 100644 --- a/src/render.xml +++ b/src/render.xml @@ -11,84 +11,84 @@ for licensing information. <import>xproto</import> <enum name="PictType"> - <item name="Indexed" /> - <item name="Direct" /> + <item name="Indexed"> <value>0</value> </item> + <item name="Direct"> <value>1</value> </item> </enum> <enum name="Picture"> - <item name="None" /> + <item name="None"> <value>0</value> </item> </enum> <!-- Disjoint* and Conjoint* are new in version 0.2 --> <!-- PDF blend modes are new in version 0.11 --> <enum name="PictOp"> - <item name="Clear" /> - <item name="Src" /> - <item name="Dst" /> - <item name="Over" /> - <item name="OverReverse" /> - <item name="In" /> - <item name="InReverse" /> - <item name="Out" /> - <item name="OutReverse" /> - <item name="Atop" /> - <item name="AtopReverse" /> - <item name="Xor" /> - <item name="Add" /> - <item name="Saturate" /> + <item name="Clear"> <value>0</value> </item> + <item name="Src"> <value>1</value> </item> + <item name="Dst"> <value>2</value> </item> + <item name="Over"> <value>3</value> </item> + <item name="OverReverse"> <value>4</value> </item> + <item name="In"> <value>5</value> </item> + <item name="InReverse"> <value>6</value> </item> + <item name="Out"> <value>7</value> </item> + <item name="OutReverse"> <value>8</value> </item> + <item name="Atop"> <value>9</value> </item> + <item name="AtopReverse"> <value>10</value> </item> + <item name="Xor"> <value>11</value> </item> + <item name="Add"> <value>12</value> </item> + <item name="Saturate"> <value>13</value> </item> - <item name="DisjointClear"><value>16</value></item> - <item name="DisjointSrc" /> - <item name="DisjointDst" /> - <item name="DisjointOver" /> - <item name="DisjointOverReverse" /> - <item name="DisjointIn" /> - <item name="DisjointInReverse" /> - <item name="DisjointOut" /> - <item name="DisjointOutReverse" /> - <item name="DisjointAtop" /> - <item name="DisjointAtopReverse" /> - <item name="DisjointXor" /> + <item name="DisjointClear"> <value>16</value></item> + <item name="DisjointSrc"> <value>17</value> </item> + <item name="DisjointDst"> <value>18</value> </item> + <item name="DisjointOver"> <value>19</value> </item> + <item name="DisjointOverReverse"> <value>20</value> </item> + <item name="DisjointIn"> <value>21</value> </item> + <item name="DisjointInReverse"> <value>22</value> </item> + <item name="DisjointOut"> <value>23</value> </item> + <item name="DisjointOutReverse"> <value>24</value> </item> + <item name="DisjointAtop"> <value>25</value> </item> + <item name="DisjointAtopReverse"> <value>26</value> </item> + <item name="DisjointXor"> <value>27</value> </item> - <item name="ConjointClear"><value>32</value></item> - <item name="ConjointSrc" /> - <item name="ConjointDst" /> - <item name="ConjointOver" /> - <item name="ConjointOverReverse" /> - <item name="ConjointIn" /> - <item name="ConjointInReverse" /> - <item name="ConjointOut" /> - <item name="ConjointOutReverse" /> - <item name="ConjointAtop" /> - <item name="ConjointAtopReverse" /> - <item name="ConjointXor" /> + <item name="ConjointClear"> <value>32</value></item> + <item name="ConjointSrc"> <value>33</value> </item> + <item name="ConjointDst"> <value>34</value> </item> + <item name="ConjointOver"> <value>35</value> </item> + <item name="ConjointOverReverse"> <value>36</value> </item> + <item name="ConjointIn"> <value>37</value> </item> + <item name="ConjointInReverse"> <value>38</value> </item> + <item name="ConjointOut"> <value>39</value> </item> + <item name="ConjointOutReverse"> <value>40</value> </item> + <item name="ConjointAtop"> <value>41</value> </item> + <item name="ConjointAtopReverse"> <value>42</value> </item> + <item name="ConjointXor"> <value>43</value> </item> <!-- PDF blend modes are new in version 0.11 --> - <item name="Multiply"><value>48</value></item> - <item name="Screen" /> - <item name="Overlay" /> - <item name="Darken" /> - <item name="Lighten" /> - <item name="ColorDodge" /> - <item name="ColorBurn" /> - <item name="HardLight" /> - <item name="SoftLight" /> - <item name="Difference" /> - <item name="Exclusion" /> - <item name="HSLHue" /> - <item name="HSLSaturation" /> - <item name="HSLColor" /> - <item name="HSLLuminosity" /> + <item name="Multiply"> <value>48</value></item> + <item name="Screen"> <value>49</value> </item> + <item name="Overlay"> <value>50</value> </item> + <item name="Darken"> <value>51</value> </item> + <item name="Lighten"> <value>52</value> </item> + <item name="ColorDodge"> <value>53</value> </item> + <item name="ColorBurn"> <value>54</value> </item> + <item name="HardLight"> <value>55</value> </item> + <item name="SoftLight"> <value>56</value> </item> + <item name="Difference"> <value>57</value> </item> + <item name="Exclusion"> <value>58</value> </item> + <item name="HSLHue"> <value>59</value> </item> + <item name="HSLSaturation"> <value>60</value> </item> + <item name="HSLColor"> <value>61</value> </item> + <item name="HSLLuminosity"> <value>62</value> </item> </enum> <enum name="PolyEdge"> - <item name="Sharp" /> - <item name="Smooth" /> + <item name="Sharp"> <value>0</value> </item> + <item name="Smooth"> <value>1</value> </item> </enum> <enum name="PolyMode"> - <item name="Precise" /> - <item name="Imprecise" /> + <item name="Precise"> <value>0</value> </item> + <item name="Imprecise"> <value>1</value> </item> </enum> <enum name="CP"> @@ -108,20 +108,20 @@ for licensing information. </enum> <enum name="SubPixel"> - <item name="Unknown" /> - <item name="HorizontalRGB" /> - <item name="HorizontalBGR" /> - <item name="VerticalRGB" /> - <item name="VerticalBGR" /> - <item name="None" /> + <item name="Unknown"> <value>0</value> </item> + <item name="HorizontalRGB"> <value>1</value> </item> + <item name="HorizontalBGR"> <value>2</value> </item> + <item name="VerticalRGB"> <value>3</value> </item> + <item name="VerticalBGR"> <value>4</value> </item> + <item name="None"> <value>5</value> </item> </enum> <!-- Extended repeat attributes introduced in 0.10 --> <enum name="Repeat"> - <item name="None" /> - <item name="Normal" /> - <item name="Pad" /> - <item name="Reflect" /> + <item name="None"> <value>0</value> </item> + <item name="Normal"> <value>1</value> </item> + <item name="Pad"> <value>2</value> </item> + <item name="Reflect"> <value>3</value> </item> </enum> <typedef oldname="CARD32" newname="GLYPH" /> diff --git a/src/res.xml b/src/res.xml index d758d89..17e6f83 100644 --- a/src/res.xml +++ b/src/res.xml @@ -26,9 +26,10 @@ sale, use or other dealings in this Software without prior written authorization from the authors. --> <xcb header="res" extension-xname="X-Resource" extension-name="Res" - major-version="1" minor-version="0"> + major-version="1" minor-version="2"> <import>xproto</import> + <!-- v1.0 --> <struct name="Client"> <field type="CARD32" name="resource_base" /> <field type="CARD32" name="resource_mask" /> @@ -39,6 +40,46 @@ authorization from the authors. <field type="CARD32" name="count" /> </struct> + <!-- v1.2 --> + <enum name="ClientIdMask"> + <item name="ClientXID"> <bit>0</bit> </item> + <item name="LocalClientPID"> <bit>1</bit> </item> + </enum> + + <struct name="ClientIdSpec"> + <field type="CARD32" name="client" /> + <field type="CARD32" name="mask" mask="ClientIdMask" /> + </struct> + + <struct name="ClientIdValue"> + <field type="ClientIdSpec" name="spec" /> + <field type="CARD32" name="length" /> + <list type="CARD32" name="value"> + <fieldref>length</fieldref> + </list> + </struct> + + <struct name="ResourceIdSpec"> + <field type="CARD32" name="resource" /> + <field type="CARD32" name="type" /> + </struct> + + <struct name="ResourceSizeSpec"> + <field type="ResourceIdSpec" name="spec" /> + <field type="CARD32" name="bytes" /> + <field type="CARD32" name="ref_count" /> + <field type="CARD32" name="use_count" /> + </struct> + + <struct name="ResourceSizeValue"> + <field type="ResourceSizeSpec" name="size" /> + <field type="CARD32" name="num_cross_references" /> + <list type="ResourceSizeSpec" name="cross_references"> + <fieldref>num_cross_references</fieldref> + </list> + </struct> + + <!-- v1.0 --> <request name="QueryVersion" opcode="0"> <field type="CARD8" name="client_major" /> <field type="CARD8" name="client_minor" /> @@ -80,4 +121,36 @@ authorization from the authors. <field type="CARD32" name="bytes_overflow" /> </reply> </request> + + <!-- v1.2 --> + <request name="QueryClientIds" opcode="4"> + <field type="CARD32" name="num_specs" /> + <list type="ClientIdSpec" name="specs"> + <fieldref>num_specs</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="num_ids" /> + <pad bytes="20" /> + <list type="ClientIdValue" name="ids"> + <fieldref>num_ids</fieldref> + </list> + </reply> + </request> + + <request name="QueryResourceBytes" opcode="5"> + <field type="CARD32" name="client" /> + <field type="CARD32" name="num_specs" /> + <list type="ResourceIdSpec" name="specs"> + <fieldref>num_specs</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="num_sizes" /> + <pad bytes="20" /> + <list type="ResourceSizeValue" name="sizes"> + <fieldref>num_sizes</fieldref> + </list> + </reply> + </request> </xcb> diff --git a/src/screensaver.xml b/src/screensaver.xml index 9c7bccb..491869e 100644 --- a/src/screensaver.xml +++ b/src/screensaver.xml @@ -36,9 +36,9 @@ Draft Standard Version 1.1 <import>xproto</import> <enum name="Kind"> - <item name="Blanked" /> - <item name="Internal" /> - <item name="External" /> + <item name="Blanked"> <value>0</value> </item> + <item name="Internal"> <value>1</value> </item> + <item name="External"> <value>2</value> </item> </enum> <enum name="Event"> @@ -47,10 +47,10 @@ Draft Standard Version 1.1 </enum> <enum name="State"> - <item name="Off" /> - <item name="On" /> - <item name="Cycle" /> - <item name="Disabled" /> + <item name="Off"> <value>0</value> </item> + <item name="On"> <value>1</value> </item> + <item name="Cycle"> <value>2</value> </item> + <item name="Disabled"> <value>3</value> </item> </enum> <!-- Errors --> @@ -75,14 +75,14 @@ Draft Standard Version 1.1 <field type="CARD32" name="ms_until_server"/> <field type="CARD32" name="ms_since_user_input"/> <field type="CARD32" name="event_mask" /> - <field type="BYTE" name="kind"/> <!-- enum Kind --> + <field type="BYTE" name="kind" enum="Kind"/> <pad bytes="7"/> </reply> </request> <request name="SelectInput" opcode="2"> <field type="DRAWABLE" name="drawable"/> - <field type="CARD32" name="event_mask" /> <!-- enum Event --> + <field type="CARD32" name="event_mask" mask="Event"/> </request> <request name="SetAttributes" opcode="3"> @@ -92,7 +92,7 @@ Draft Standard Version 1.1 <field type="CARD16" name="width"/> <field type="CARD16" name="height"/> <field type="CARD16" name="border_width"/> - <field type="BYTE" name="class"/> <!-- enum XCBWindowClass --> + <field type="BYTE" name="class" enum="WindowClass"/> <field type="CARD8" name="depth"/> <field type="VISUALID" name="visual"/> <valueparam value-mask-type="CARD32" @@ -113,14 +113,11 @@ Draft Standard Version 1.1 <!-- Events --> <event name="Notify" number="0"> - <field type="CARD8" name="code"/> - <field type="BYTE" name="state"/> <!-- enum State --> - <pad bytes="1" /> - <field type="CARD16" name="sequence_number"/> + <field type="BYTE" name="state" enum="State"/> <field type="TIMESTAMP" name="time"/> <field type="WINDOW" name="root"/> <field type="WINDOW" name="window"/> - <field type="BYTE" name="kind"/> <!-- enum Kind --> + <field type="BYTE" name="kind" enum="Kind"/> <field type="BOOL" name="forced"/> <pad bytes="14"/> </event> diff --git a/src/shape.xml b/src/shape.xml index c128ade..d75549e 100644 --- a/src/shape.xml +++ b/src/shape.xml @@ -34,18 +34,18 @@ authorization from the authors. <!-- Shape attributes of type OP. --> <enum name="SO"> - <item name="Set" /> - <item name="Union" /> - <item name="Intersect" /> - <item name="Subtract" /> - <item name="Invert" /> + <item name="Set"> <value>0</value> </item> + <item name="Union"> <value>1</value> </item> + <item name="Intersect"> <value>2</value> </item> + <item name="Subtract"> <value>3</value> </item> + <item name="Invert"> <value>4</value> </item> </enum> <!-- Shape attributes of type KIND. --> <enum name="SK"> - <item name="Bounding" /> - <item name="Clip" /> - <item name="Input" /> <!-- added in version 1.1 --> + <item name="Bounding"> <value>0</value> </item> + <item name="Clip"> <value>1</value> </item> + <item name="Input"> <value>2</value> </item> <!-- added in version 1.1 --> </enum> <event name="Notify" number="0"> diff --git a/src/shm.xml b/src/shm.xml index adda509..71fce14 100644 --- a/src/shm.xml +++ b/src/shm.xml @@ -26,7 +26,7 @@ sale, use or other dealings in this Software without prior written authorization from the authors. --> <xcb header="shm" extension-xname="MIT-SHM" extension-name="Shm" - major-version="1" minor-version="1"> + major-version="1" minor-version="2"> <import>xproto</import> <xidtype name="SEG" /> @@ -113,4 +113,23 @@ authorization from the authors. <field type="SEG" name="shmseg" /> <field type="CARD32" name="offset" /> </request> + + <request name="AttachFd" opcode="6"> + <field type="SEG" name="shmseg" /> + <fd name="shm_fd" /> + <field type="BOOL" name="read_only" /> + <pad bytes="3" /> + </request> + + <request name="CreateSegment" opcode="7"> + <field type="SEG" name="shmseg" /> + <field type="CARD32" name="size" /> + <field type="BOOL" name="read_only" /> + <pad bytes="3" /> + <reply> + <field type="CARD8" name="nfd" /> + <fd name="shm_fd" /> + <pad bytes="24" /> + </reply> + </request> </xcb> diff --git a/src/sync.xml b/src/sync.xml index 516d149..23175cb 100644 --- a/src/sync.xml +++ b/src/sync.xml @@ -11,9 +11,9 @@ for licensing information. <xidtype name="ALARM" /> <enum name="ALARMSTATE"> - <item name="Active" /> - <item name="Inactive" /> - <item name="Destroyed" /> + <item name="Active"> <value>0</value> </item> + <item name="Inactive"> <value>1</value> </item> + <item name="Destroyed"> <value>2</value> </item> </enum> <xidtype name="COUNTER" /> @@ -21,15 +21,15 @@ for licensing information. <xidtype name="FENCE" /> <enum name="TESTTYPE"> - <item name="PositiveTransition" /> - <item name="NegativeTransition" /> - <item name="PositiveComparison" /> - <item name="NegativeComparison" /> + <item name="PositiveTransition"> <value>0</value> </item> + <item name="NegativeTransition"> <value>1</value> </item> + <item name="PositiveComparison"> <value>2</value> </item> + <item name="NegativeComparison"> <value>3</value> </item> </enum> <enum name="VALUETYPE"> - <item name="Absolute" /> - <item name="Relative" /> + <item name="Absolute"> <value>0</value> </item> + <item name="Relative"> <value>1</value> </item> </enum> <enum name="CA"> @@ -48,7 +48,7 @@ for licensing information. <struct name="SYSTEMCOUNTER"> <field type="COUNTER" name="counter" /> - <field type="INT64" name="resolution" /> + <field type="sync:INT64" name="resolution" /> <field type="CARD16" name="name_len" /> <list type="char" name="name"> <fieldref>name_len</fieldref> @@ -58,13 +58,13 @@ for licensing information. <struct name="TRIGGER"> <field type="COUNTER" name="counter" /> <field type="CARD32" name="wait_type" enum="VALUETYPE" /> - <field type="INT64" name="wait_value" /> + <field type="sync:INT64" name="wait_value" /> <field type="CARD32" name="test_type" enum="TESTTYPE" /> </struct> <struct name="WAITCONDITION"> <field type="TRIGGER" name="trigger" /> - <field type="INT64" name="event_threshold" /> + <field type="sync:INT64" name="event_threshold" /> </struct> <error name="Counter" number="0"> @@ -103,7 +103,7 @@ for licensing information. <request name="CreateCounter" opcode="2"> <field type="COUNTER" name="id" /> - <field type="INT64" name="initial_value" /> + <field type="sync:INT64" name="initial_value" /> </request> <request name="DestroyCounter" opcode="6"> @@ -114,7 +114,7 @@ for licensing information. <field type="COUNTER" name="counter" /> <reply> <pad bytes="1" /> - <field type="INT64" name="counter_value" /> + <field type="sync:INT64" name="counter_value" /> </reply> </request> @@ -124,26 +124,76 @@ for licensing information. <request name="ChangeCounter" opcode="4"> <field type="COUNTER" name="counter" /> - <field type="INT64" name="amount" /> + <field type="sync:INT64" name="amount" /> </request> <request name="SetCounter" opcode="3"> <field type="COUNTER" name="counter" /> - <field type="INT64" name="value" /> + <field type="sync:INT64" name="value" /> </request> <request name="CreateAlarm" opcode="8"> <field type="ALARM" name="id" /> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="CA" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CA">Counter</enumref> + <field type="COUNTER" name="counter" /> + </bitcase> + <bitcase> + <enumref ref="CA">ValueType</enumref> + <field type="CARD32" name="valueType" enum="VALUETYPE" /> + </bitcase> + <bitcase> + <enumref ref="CA">Value</enumref> + <field type="sync:INT64" name="value" /> + </bitcase> + <bitcase> + <enumref ref="CA">TestType</enumref> + <field type="CARD32" name="testType" enum="TESTTYPE" /> + </bitcase> + <bitcase> + <enumref ref="CA">Delta</enumref> + <field type="sync:INT64" name="delta" /> + </bitcase> + <bitcase> + <enumref ref="CA">Events</enumref> + <field type="CARD32" name="events" /> + </bitcase> + </switch> </request> <request name="ChangeAlarm" opcode="9"> <field type="ALARM" name="id" /> - <valueparam value-mask-type="CARD32" - value-mask-name="value_mask" - value-list-name="value_list" /> + <field type="CARD32" name="value_mask" mask="CA" /> + <switch name="value_list"> + <fieldref>value_mask</fieldref> + <bitcase> + <enumref ref="CA">Counter</enumref> + <field type="COUNTER" name="counter" /> + </bitcase> + <bitcase> + <enumref ref="CA">ValueType</enumref> + <field type="CARD32" name="valueType" enum="VALUETYPE" /> + </bitcase> + <bitcase> + <enumref ref="CA">Value</enumref> + <field type="sync:INT64" name="value" /> + </bitcase> + <bitcase> + <enumref ref="CA">TestType</enumref> + <field type="CARD32" name="testType" enum="TESTTYPE" /> + </bitcase> + <bitcase> + <enumref ref="CA">Delta</enumref> + <field type="sync:INT64" name="delta" /> + </bitcase> + <bitcase> + <enumref ref="CA">Events</enumref> + <field type="CARD32" name="events" /> + </bitcase> + </switch> </request> <request name="DestroyAlarm" opcode="11"> @@ -155,7 +205,7 @@ for licensing information. <reply> <pad bytes="1" /> <field type="TRIGGER" name="trigger" /> - <field type="INT64" name="delta" /> + <field type="sync:INT64" name="delta" /> <field type="BOOL" name="events" /> <field type="CARD8" name="state" enum="ALARMSTATE" /> <pad bytes="2" /> @@ -209,8 +259,8 @@ for licensing information. <event name="CounterNotify" number="0"> <field type="CARD8" name="kind" /> <field type="COUNTER" name="counter" /> - <field type="INT64" name="wait_value" /> - <field type="INT64" name="counter_value" /> + <field type="sync:INT64" name="wait_value" /> + <field type="sync:INT64" name="counter_value" /> <field type="TIMESTAMP" name="timestamp" /> <field type="CARD16" name="count" /> <field type="BOOL" name="destroyed" /> @@ -220,8 +270,8 @@ for licensing information. <event name="AlarmNotify" number="1"> <field type="CARD8" name="kind" /> <field type="ALARM" name="alarm" /> - <field type="INT64" name="counter_value" /> - <field type="INT64" name="alarm_value" /> + <field type="sync:INT64" name="counter_value" /> + <field type="sync:INT64" name="alarm_value" /> <field type="TIMESTAMP" name="timestamp" /> <field type="CARD8" name="state" enum="ALARMSTATE" /> <pad bytes="3" /> diff --git a/src/xcb.xsd b/src/xcb.xsd index cfa90c9..73dbf8a 100644 --- a/src/xcb.xsd +++ b/src/xcb.xsd @@ -59,7 +59,7 @@ authorization from the authors. <xsd:complexType name="caseexpr"> <xsd:sequence> <!-- case expression: --> - <xsd:group ref="expression" minOccurs="1" maxOccurs="1" /> + <xsd:group ref="expression" minOccurs="1" maxOccurs="unbounded" /> <!-- match --> <xsd:group ref="fields" minOccurs="1" maxOccurs="unbounded" /> <xsd:choice> @@ -89,6 +89,9 @@ authorization from the authors. <!-- field replaces FIELD, PARAM, and REPLY. --> <xsd:element name="field" type="var" /> + <!-- fd passing parameter --> + <xsd:element name="fd" /> + <!-- list replaces ARRAYFIELD, LISTPARAM, and ARRAYREPLY. The name and type are specified as attributes. The content is an expression giving the length. --> @@ -185,6 +188,7 @@ authorization from the authors. <xsd:element ref="pad" /> <xsd:element ref="field" /> <xsd:element ref="list" /> + <xsd:element ref="fd" /> </xsd:choice> </xsd:group> @@ -324,6 +328,7 @@ authorization from the authors. </xsd:sequence> <xsd:attribute name="no-sequence-number" type="xsd:boolean" use="optional" /> + <xsd:attribute name="xge" type="xsd:boolean" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> @@ -352,7 +357,10 @@ authorization from the authors. <xsd:sequence minOccurs="1" maxOccurs="unbounded"> <xsd:element name="item"> <xsd:complexType> - <xsd:group ref="expression" minOccurs="0" maxOccurs="1" /> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="value" type="dec-or-hex-integer" /> + <xsd:element name="bit" type="xsd:integer" /> + </xsd:choice> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> diff --git a/src/xevie.xml b/src/xevie.xml index 222b412..bafa990 100644 --- a/src/xevie.xml +++ b/src/xevie.xml @@ -55,8 +55,8 @@ authorization from the authors. </request> <enum name="Datatype"> - <item name="Unmodified" /> - <item name="Modified" /> + <item name="Unmodified"> <value>0</value> </item> + <item name="Modified"> <value>1</value> </item> </enum> <!-- The Send request needs to send an arbitrary Event; this type is used diff --git a/src/xfixes.xml b/src/xfixes.xml index 9bbeaab..c5cba35 100644 --- a/src/xfixes.xml +++ b/src/xfixes.xml @@ -26,7 +26,7 @@ authorization from the authors. --> <!-- This file describes version 4 of XFixes. --> <xcb header="xfixes" extension-xname="XFIXES" extension-name="XFixes" - major-version="4" minor-version="0"> + major-version="5" minor-version="0"> <import>xproto</import> <import>render</import> <import>shape</import> @@ -44,18 +44,18 @@ authorization from the authors. </request> <enum name="SaveSetMode"> - <item name="Insert" /> - <item name="Delete" /> + <item name="Insert"> <value>0</value> </item> + <item name="Delete"> <value>1</value> </item> </enum> <enum name="SaveSetTarget"> - <item name="Nearest" /> - <item name="Root" /> + <item name="Nearest"> <value>0</value> </item> + <item name="Root"> <value>1</value> </item> </enum> <enum name="SaveSetMapping"> - <item name="Map" /> - <item name="Unmap" /> + <item name="Map"> <value>0</value> </item> + <item name="Unmap"> <value>1</value> </item> </enum> <request name="ChangeSaveSet" opcode="1"> @@ -67,9 +67,9 @@ authorization from the authors. </request> <enum name="SelectionEvent"> - <item name="SetSelectionOwner" /> - <item name="SelectionWindowDestroy" /> - <item name="SelectionClientClose" /> + <item name="SetSelectionOwner"> <value>0</value> </item> + <item name="SelectionWindowDestroy"> <value>1</value> </item> + <item name="SelectionClientClose"> <value>2</value> </item> </enum> <enum name="SelectionEventMask"> @@ -95,7 +95,7 @@ authorization from the authors. </request> <enum name="CursorNotify"> - <item name="DisplayCursor" /> + <item name="DisplayCursor"> <value>0</value> </item> </enum> <enum name="CursorNotifyMask"> @@ -143,7 +143,7 @@ authorization from the authors. <error name="BadRegion" number="0" /> <enum name="Region"> - <item name="None" /> + <item name="None"> <value>0</value> </item> </enum> <request name="CreateRegion" opcode="5"> @@ -331,4 +331,32 @@ authorization from the authors. <request name="ShowCursor" opcode="30"> <field type="WINDOW" name="window" /> </request> + + <!-- Version 5 --> + + <xidtype name="BARRIER" /> + + <enum name="BarrierDirections"> + <item name="PositiveX"><bit>0</bit></item> + <item name="PositiveY"><bit>1</bit></item> + <item name="NegativeX"><bit>2</bit></item> + <item name="NegativeY"><bit>3</bit></item> + </enum> + + <request name="CreatePointerBarrier" opcode="31"> + <field type="BARRIER" name="barrier" /> + <field type="WINDOW" name="window" /> + <field type="CARD16" name="x1" /> + <field type="CARD16" name="y1" /> + <field type="CARD16" name="x2" /> + <field type="CARD16" name="y2" /> + <field type="CARD32" name="directions" mask="BarrierDirections" /> + <pad bytes="2" /> + <field type="CARD16" name="num_devices" /> + <list type="CARD16" name="devices"><fieldref>num_devices</fieldref></list> + </request> + + <request name="DeletePointerBarrier" opcode="32"> + <field type="BARRIER" name="barrier" /> + </request> </xcb> diff --git a/src/xinput.xml b/src/xinput.xml index 80416fe..fa115bd 100644 --- a/src/xinput.xml +++ b/src/xinput.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -Copyright (C) 2006 Peter Hutterer +Copyright (C) 2006 Peter Hutterer +Copyright (C) 2013 Daniel Martin All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -26,995 +27,2211 @@ sale, use or other dealings in this Software without prior written authorization from the authors. --> -<!-- Spec: http://refspecs.freestandards.org/X11/Xinput.pdf --> +<!-- Specifications: + http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XIproto.txt + http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt +--> <xcb header="xinput" extension-xname="XInputExtension" extension-name="Input" - major-version="1" minor-version="4"> + major-version="2" minor-version="3"> + <import>xfixes</import> <import>xproto</import> - <typedef oldname="CARD8" newname="KeyCode" /> + <!-- ⋅⋅⋅ Types (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + <typedef oldname="CARD32" newname="EventClass" /> + <typedef oldname="CARD8" newname="KeyCode" /> - <enum name="ValuatorMode"> - <item name="Relative"> <value>0</value></item> - <item name="Absolute"> <value>1</value></item> - </enum> + <!-- ⋅⋅⋅ Types (v2.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> - <enum name="PropagateMode"> - <item name="AddToList"> <value>0</value></item> - <item name="DeleteFromList"> <value>1</value></item> - </enum> + <typedef oldname="CARD16" newname="DeviceId" /> + <typedef oldname="INT32" newname="FP1616" /> + + <struct name="FP3232"> + <field type="INT32" name="integral" /> + <field type="CARD32" name="frac" /> + </struct> + + <!-- ⋅⋅⋅ Requests (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> <!-- GetExtensionVersion --> <request name="GetExtensionVersion" opcode="1"> - <field type="CARD16" name="name_len" /> - <pad bytes="2" /> - <list type="char" name="name"> - <fieldref>name_len</fieldref> - </list> - <reply> - <pad bytes="1" /> - <field type="CARD16" name="server_major" /> - <field type="CARD16" name="server_minor" /> - <field type="BOOL" name="present" /> - <pad bytes="19" /> - </reply> + <field type="CARD16" name="name_len" /> + <pad bytes="2" /> + <list type="char" name="name"> + <fieldref>name_len</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="server_major" /> + <field type="CARD16" name="server_minor" /> + <field type="BOOL" name="present" /> + <pad bytes="19" /> + </reply> </request> <!-- ListInputDevices --> <enum name="DeviceUse"> - <item name="IsXPointer"><value>0</value></item> - <item name="IsXKeyboard"><value>1</value></item> - <item name="IsXExtensionDevice"><value>2</value></item> - <item name="IsXExtensionKeyboard"><value>3</value></item> - <item name="IsXExtensionPointer"><value>4</value></item> + <item name="IsXPointer"> <value>0</value> </item> + <item name="IsXKeyboard"> <value>1</value> </item> + <item name="IsXExtensionDevice"> <value>2</value> </item> + <item name="IsXExtensionKeyboard"> <value>3</value> </item> + <item name="IsXExtensionPointer"> <value>4</value> </item> </enum> - <struct name="DeviceInfo"> - <field type="ATOM" name="device_type" /> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="num_class_info" /> - <field type="CARD8" name="device_use" enum="DeviceUse" /> - <pad bytes="1" /> - </struct> - - <request name="ListInputDevices" opcode="2"> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="devices_len" /> - <pad bytes="23" /> - <list type="DeviceInfo" name="devices"> - <fieldref>devices_len</fieldref> - </list> - <!-- Uninterpreted: list of deviceinfo structs of 3 the subtypes --> - <!-- Uninterpreted: list of null-terminated strings --> - </reply> - </request> - <enum name="InputClass"> - <item name="Key"><value>0</value></item> - <item name="Button"><value>1</value></item> - <item name="Valuator"><value>2</value></item> - <item name="Feedback"><value>3</value></item> - <item name="Proximity"><value>4</value></item> - <item name="Focus"><value>5</value></item> - <item name="Other"><value>6</value></item> + <item name="Key"> <value>0</value> </item> + <item name="Button"> <value>1</value> </item> + <item name="Valuator"> <value>2</value> </item> + <item name="Feedback"> <value>3</value> </item> + <item name="Proximity"> <value>4</value> </item> + <item name="Focus"> <value>5</value> </item> + <item name="Other"> <value>6</value> </item> </enum> - <struct name="InputInfo"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> + <enum name="ValuatorMode"> + <item name="Relative"> <value>0</value> </item> + <item name="Absolute"> <value>1</value> </item> + </enum> + + <struct name="DeviceInfo"> + <field type="ATOM" name="device_type" /> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="num_class_info" /> + <field type="CARD8" name="device_use" enum="DeviceUse" /> + <pad bytes="1" /> </struct> <struct name="KeyInfo"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="KeyCode" name="min_keycode" /> - <field type="KeyCode" name="max_keycode" /> - <field type="CARD16" name="num_keys" /> - <pad bytes="2" /> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="KeyCode" name="min_keycode" /> + <field type="KeyCode" name="max_keycode" /> + <field type="CARD16" name="num_keys" /> + <pad bytes="2" /> </struct> <struct name="ButtonInfo"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD16" name="num_buttons" /> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD16" name="num_buttons" /> </struct> <struct name="AxisInfo"> - <field type="CARD32" name="resolution" /> - <field type="INT32" name="minimum" /> - <field type="INT32" name="maximum" /> + <field type="CARD32" name="resolution" /> + <field type="INT32" name="minimum" /> + <field type="INT32" name="maximum" /> </struct> <struct name="ValuatorInfo"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD8" name="axes_len" /> - <field type="CARD8" name="mode" enum="ValuatorMode" /> - <field type="CARD32" name="motion_size" /> - <list type="AxisInfo" name="axes"> - <fieldref>axes_len</fieldref> - </list> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD8" name="axes_len" /> + <field type="CARD8" name="mode" enum="ValuatorMode" /> + <field type="CARD32" name="motion_size" /> + <list type="AxisInfo" name="axes"> + <fieldref>axes_len</fieldref> + </list> </struct> + <struct name="InputInfo"> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + </struct> + + <struct name="DeviceName"> + <field type="CARD8" name="len" /> + <list type="char" name="string"> + <fieldref>len</fieldref> + </list> + </struct> + + <request name="ListInputDevices" opcode="2"> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="devices_len" /> + <pad bytes="23" /> + <list type="DeviceInfo" name="devices"> + <fieldref>devices_len</fieldref> + </list> + <!-- Uninterpreted: list (infos) of InputInfo structures, + length is <sumof> all devices.num_class_info --> + <!-- Uninterpreted: list (name) of DeviceName structures --> + </reply> + </request> + <!-- OpenDevice --> <struct name="InputClassInfo"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="event_type_base" /> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="event_type_base" /> </struct> <request name="OpenDevice" opcode="3"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="num_classes" /> - <pad bytes="23" /> - <list type="InputClassInfo" name="class_info"> - <fieldref>num_classes</fieldref> - </list> - </reply> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="num_classes" /> + <pad bytes="23" /> + <list type="InputClassInfo" name="class_info"> + <fieldref>num_classes</fieldref> + </list> + </reply> </request> <!-- CloseDevice --> <request name="CloseDevice" opcode="4"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> </request> <!-- SetDeviceMode --> <request name="SetDeviceMode" opcode="5"> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="mode" enum="ValuatorMode" /> - <pad bytes="2" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" altenum="GrabStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="mode" enum="ValuatorMode" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" altenum="GrabStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- SelectExtensionEvent --> <request name="SelectExtensionEvent" opcode="6"> - <field type="WINDOW" name="window" /> - <field type="CARD16" name="num_classes" /> - <pad bytes="2" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> + <field type="WINDOW" name="window" /> + <field type="CARD16" name="num_classes" /> + <pad bytes="2" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> </request> <!-- GetSelectedExtensionEvents --> <request name="GetSelectedExtensionEvents" opcode="7"> - <field type="WINDOW" name="window" /> - <reply> - <pad bytes="1" /> - <field type="CARD16" name="num_this_classes" /> - <field type="CARD16" name="num_all_classes" /> - <pad bytes="20" /> - <list type="EventClass" name="this_classes"> - <fieldref>num_this_classes</fieldref> - </list> - <list type="EventClass" name="all_classes"> - <fieldref>num_all_classes</fieldref> - </list> - </reply> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_this_classes" /> + <field type="CARD16" name="num_all_classes" /> + <pad bytes="20" /> + <list type="EventClass" name="this_classes"> + <fieldref>num_this_classes</fieldref> + </list> + <list type="EventClass" name="all_classes"> + <fieldref>num_all_classes</fieldref> + </list> + </reply> </request> <!-- ChangeDeviceDontPropagateList --> + <enum name="PropagateMode"> + <item name="AddToList"> <value>0</value> </item> + <item name="DeleteFromList"> <value>1</value> </item> + </enum> + <request name="ChangeDeviceDontPropagateList" opcode="8"> - <field type="WINDOW" name="window" /> - <field type="CARD16" name="num_classes" /> - <field type="CARD8" name="mode" enum="PropagateMode" /> - <pad bytes="1" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> + <field type="WINDOW" name="window" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD8" name="mode" enum="PropagateMode" /> + <pad bytes="1" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> </request> <!-- GetDeviceDontPropagateList --> <request name="GetDeviceDontPropagateList" opcode="9"> - <field type="WINDOW" name="window" /> - <reply> - <pad bytes="1" /> - <field type="CARD16" name="num_classes" /> - <pad bytes="22" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> - </reply> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_classes" /> + <pad bytes="22" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> + </reply> </request> <!-- GetDeviceMotionEvents --> - <request name="GetDeviceMotionEvents" opcode="10"> - <field type="TIMESTAMP" name="start" /> - <field type="TIMESTAMP" name="stop" altenum="Time" /> - <field type="CARD8" name="device_id" /> - <reply> - <pad bytes="1" /> - <field type="CARD32" name="num_coords" /> - <field type="CARD8" name="num_axes" /> - <field type="CARD8" name="device_mode" enum="ValuatorMode" /> - <pad bytes="18" /> - <!-- Uninterpreted: list of DeviceTimeCoord structures --> - </reply> - </request> - <struct name="DeviceTimeCoord"> - <field type="TIMESTAMP" name="time" /> - <!-- Uninterpreted: list of CARD16 --> + <field type="TIMESTAMP" name="time" /> + <!-- Uninterpreted: list (axisvalues) of CARD32, + length is num_axes from GetDeviceMotionEvents --> </struct> + <request name="GetDeviceMotionEvents" opcode="10"> + <field type="TIMESTAMP" name="start" /> + <field type="TIMESTAMP" name="stop" altenum="Time" /> + <field type="CARD8" name="device_id" /> + <reply> + <pad bytes="1" /> + <field type="CARD32" name="num_events" /> + <field type="CARD8" name="num_axes" /> + <field type="CARD8" name="device_mode" enum="ValuatorMode" /> + <pad bytes="18" /> + <!-- Uninterpreted: list (events) of DeviceTimeCoord structures --> + </reply> + </request> + <!-- ChangeKeyboardDevice --> + <request name="ChangeKeyboardDevice" opcode="11"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" altenum="GrabStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" altenum="GrabStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- ChangePointerDevice --> <request name="ChangePointerDevice" opcode="12"> - <field type="CARD8" name="x_axis" /> - <field type="CARD8" name="y_axis" /> - <field type="CARD8" name="device_id" /> - <pad bytes="1" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" altenum="GrabStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="x_axis" /> + <field type="CARD8" name="y_axis" /> + <field type="CARD8" name="device_id" /> + <pad bytes="1" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" altenum="GrabStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- GrabDevice --> <request name="GrabDevice" opcode="13"> - <field type="WINDOW" name="grab_window" /> - <field type="TIMESTAMP" name="time" altenum="Time" /> - <field type="CARD16" name="num_classes" /> - <field type="CARD8" name="this_device_mode" enum="GrabMode" /> - <field type="CARD8" name="other_device_mode" enum="GrabMode" /> - <field type="BOOL" name="owner_events" /> - <field type="CARD8" name="device_id" /> - <pad bytes="2" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" enum="GrabStatus" /> - <pad bytes="23" /> - </reply> + <field type="WINDOW" name="grab_window" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD8" name="this_device_mode" enum="GrabMode" /> + <field type="CARD8" name="other_device_mode" enum="GrabMode" /> + <field type="BOOL" name="owner_events" /> + <field type="CARD8" name="device_id" /> + <pad bytes="2" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" enum="GrabStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- UngrabDevice --> <request name="UngrabDevice" opcode="14"> - <field type="TIMESTAMP" name="time" altenum="Time" /> - <field type="CARD8" name="device_id" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="CARD8" name="device_id" /> </request> <!-- GrabDeviceKey --> <request name="GrabDeviceKey" opcode="15"> - <field type="WINDOW" name="grab_window" /> - <field type="CARD16" name="num_classes" /> - <field type="CARD16" name="modifiers" mask="ModMask" /> - <field type="CARD8" name="modifier_device" /> - <field type="CARD8" name="grabbed_device" /> - <field type="CARD8" name="key" altenum="Grab" /> - <field type="CARD8" name="this_device_mode" enum="GrabMode" /> - <field type="CARD8" name="other_device_mode" enum="GrabMode" /> - <field type="BOOL" name="owner_events" /> - <pad bytes="2" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> + <field type="WINDOW" name="grab_window" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD16" name="modifiers" mask="ModMask" /> + <field type="CARD8" name="modifier_device" /> + <field type="CARD8" name="grabbed_device" /> + <field type="CARD8" name="key" altenum="Grab" /> + <field type="CARD8" name="this_device_mode" enum="GrabMode" /> + <field type="CARD8" name="other_device_mode" enum="GrabMode" /> + <field type="BOOL" name="owner_events" /> + <pad bytes="2" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> </request> <!-- UngrabDeviceKey --> <request name="UngrabDeviceKey" opcode="16"> - <field type="WINDOW" name="grabWindow" /> - <field type="CARD16" name="modifiers" mask="ModMask" /> - <field type="CARD8" name="modifier_device" /> - <field type="CARD8" name="key" altenum="Grab" /> - <field type="CARD8" name="grabbed_device" /> + <field type="WINDOW" name="grabWindow" /> + <field type="CARD16" name="modifiers" mask="ModMask" /> + <field type="CARD8" name="modifier_device" /> + <field type="CARD8" name="key" altenum="Grab" /> + <field type="CARD8" name="grabbed_device" /> </request> <!-- GrabDeviceButton --> <request name="GrabDeviceButton" opcode="17"> - <field type="WINDOW" name="grab_window" /> - <field type="CARD8" name="grabbed_device" /> - <field type="CARD8" name="modifier_device" /> - <field type="CARD16" name="num_classes" /> - <field type="CARD16" name="modifiers" mask="ModMask" /> - <field type="CARD8" name="this_device_mode" enum="GrabMode" /> - <field type="CARD8" name="other_device_mode" enum="GrabMode" /> - <field type="CARD8" name="button" altenum="Grab" /> - <field type="CARD8" name="owner_events" /> - <pad bytes="2" /> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> + <field type="WINDOW" name="grab_window" /> + <field type="CARD8" name="grabbed_device" /> + <field type="CARD8" name="modifier_device" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD16" name="modifiers" mask="ModMask" /> + <field type="CARD8" name="this_device_mode" enum="GrabMode" /> + <field type="CARD8" name="other_device_mode" enum="GrabMode" /> + <field type="CARD8" name="button" altenum="Grab" /> + <field type="CARD8" name="owner_events" /> + <pad bytes="2" /> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> </request> <!-- UngrabDeviceButton --> <request name="UngrabDeviceButton" opcode="18"> - <field type="WINDOW" name="grab_window" /> - <field type="CARD16" name="modifiers" mask="ModMask" /> - <field type="CARD8" name="modifier_device" /> - <field type="CARD8" name="button" altenum="Grab" /> - <field type="CARD8" name="grabbed_device" /> + <field type="WINDOW" name="grab_window" /> + <field type="CARD16" name="modifiers" mask="ModMask" /> + <field type="CARD8" name="modifier_device" /> + <field type="CARD8" name="button" altenum="Grab" /> + <field type="CARD8" name="grabbed_device" /> </request> <!-- AllowDeviceEvents --> <enum name="DeviceInputMode"> - <item name="AsyncThisDevice" /> - <item name="SyncThisDevice" /> - <item name="ReplayThisDevice" /> - <item name="AsyncOtherDevices" /> - <item name="AsyncAll" /> - <item name="SyncAll" /> + <item name="AsyncThisDevice"> <value>0</value> </item> + <item name="SyncThisDevice"> <value>1</value> </item> + <item name="ReplayThisDevice"> <value>2</value> </item> + <item name="AsyncOtherDevices"> <value>3</value> </item> + <item name="AsyncAll"> <value>4</value> </item> + <item name="SyncAll"> <value>5</value> </item> </enum> <request name="AllowDeviceEvents" opcode="19"> - <field type="TIMESTAMP" name="time" altenum="Time" /> - <field type="CARD8" name="mode" enum="DeviceInputMode" /> - <field type="CARD8" name="device_id" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="CARD8" name="mode" enum="DeviceInputMode" /> + <field type="CARD8" name="device_id" /> </request> <!-- GetDeviceFocus --> <request name="GetDeviceFocus" opcode="20"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="WINDOW" name="focus" altenum="InputFocus" /> - <field type="TIMESTAMP" name="time" /> - <field type="CARD8" name="revert_to" enum="InputFocus" /> - <pad bytes="15" /> - </reply> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="WINDOW" name="focus" altenum="InputFocus" /> + <field type="TIMESTAMP" name="time" /> + <field type="CARD8" name="revert_to" enum="InputFocus" /> + <pad bytes="15" /> + </reply> </request> <!-- SetDeviceFocus --> <request name="SetDeviceFocus" opcode="21"> - <field type="WINDOW" name="focus" altenum="InputFocus" /> - <field type="TIMESTAMP" name="time" altenum="Time" /> - <field type="CARD8" name="revert_to" enum="InputFocus" /> - <field type="CARD8" name="device_id" /> + <field type="WINDOW" name="focus" altenum="InputFocus" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="CARD8" name="revert_to" enum="InputFocus" /> + <field type="CARD8" name="device_id" /> </request> <!-- GetFeedbackControl --> - <request name="GetFeedbackControl" opcode="22"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD16" name="num_feedback" /> - <pad bytes="22" /> - <!-- Uninterpreted: list of FeedbackState structures --> - </reply> - </request> - <enum name="FeedbackClass"> - <item name="Keyboard" /> - <item name="Pointer" /> - <item name="String" /> - <item name="Integer" /> - <item name="Led" /> - <item name="Bell" /> + <item name="Keyboard"> <value>0</value> </item> + <item name="Pointer"> <value>1</value> </item> + <item name="String"> <value>2</value> </item> + <item name="Integer"> <value>3</value> </item> + <item name="Led"> <value>4</value> </item> + <item name="Bell"> <value>5</value> </item> </enum> - <struct name="FeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - </struct> - <struct name="KbdFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD16" name="pitch" /> - <field type="CARD16" name="duration" /> - <field type="CARD32" name="led_mask" /> - <field type="CARD32" name="led_values" /> - <field type="BOOL" name="global_auto_repeat" /> - <field type="CARD8" name="click" /> - <field type="CARD8" name="percent" /> - <pad bytes="1" /> - <list type="CARD8" name="auto_repeats"><value>32</value></list> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD16" name="pitch" /> + <field type="CARD16" name="duration" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + <field type="BOOL" name="global_auto_repeat" /> + <field type="CARD8" name="click" /> + <field type="CARD8" name="percent" /> + <pad bytes="1" /> + <list type="CARD8" name="auto_repeats"> + <value>32</value> + </list> </struct> <struct name="PtrFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <pad bytes="2" /> - <field type="CARD16" name="accel_num" /> - <field type="CARD16" name="accel_denom" /> - <field type="CARD16" name="threshold" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <pad bytes="2" /> + <field type="CARD16" name="accel_num" /> + <field type="CARD16" name="accel_denom" /> + <field type="CARD16" name="threshold" /> </struct> <struct name="IntegerFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="resolution" /> - <field type="INT32" name="min_value" /> - <field type="INT32" name="max_value" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="resolution" /> + <field type="INT32" name="min_value" /> + <field type="INT32" name="max_value" /> </struct> <struct name="StringFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD16" name="max_symbols" /> - <field type="CARD16" name="num_keysyms" /> - <list type="KEYSYM" name="keysyms"> - <fieldref>num_keysyms</fieldref> - </list> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD16" name="max_symbols" /> + <field type="CARD16" name="num_keysyms" /> + <list type="KEYSYM" name="keysyms"> + <fieldref>num_keysyms</fieldref> + </list> </struct> <struct name="BellFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="percent" /> - <pad bytes="3" /> - <field type="CARD16" name="pitch" /> - <field type="CARD16" name="duration" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="percent" /> + <pad bytes="3" /> + <field type="CARD16" name="pitch" /> + <field type="CARD16" name="duration" /> </struct> <struct name="LedFeedbackState"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="led_mask" /> - <field type="CARD32" name="led_values" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> </struct> - <!-- ChangeFeedbackControl + <struct name="FeedbackState"> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <fieldref>len</fieldref> + <value>4</value> + </op> + </list> + </struct> - <request name="ChangeFeedbackControl" opcode="23"> - <field type="CARD32" name="mask" /> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="feedback_id" /> - Uninterpreted: list of FeedbackCtl structures + <request name="GetFeedbackControl" opcode="22"> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_feedbacks" /> + <pad bytes="22" /> + <list type="FeedbackState" name="feedbacks"> + <fieldref>num_feedbacks</fieldref> + </list> + </reply> </request> - --> - - <struct name="FeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - </struct> + <!-- ChangeFeedbackControl --> <struct name="KbdFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="KeyCode" name="key" /> - <field type="CARD8" name="auto_repeat_mode" /> - <field type="INT8" name="key_click_percent" /> - <field type="INT8" name="bell_percent" /> - <field type="INT16" name="bell_pitch" /> - <field type="INT16" name="bell_duration" /> - <field type="CARD32" name="led_mask" /> - <field type="CARD32" name="led_values" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="KeyCode" name="key" /> + <field type="CARD8" name="auto_repeat_mode" /> + <field type="INT8" name="key_click_percent" /> + <field type="INT8" name="bell_percent" /> + <field type="INT16" name="bell_pitch" /> + <field type="INT16" name="bell_duration" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> </struct> <struct name="PtrFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <pad bytes="2" /> - <field type="INT16" name="num" /> - <field type="INT16" name="denom" /> - <field type="INT16" name="threshold" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <pad bytes="2" /> + <field type="INT16" name="num" /> + <field type="INT16" name="denom" /> + <field type="INT16" name="threshold" /> </struct> <struct name="IntegerFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="INT32" name="int_to_display" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="INT32" name="int_to_display" /> </struct> <struct name="StringFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <pad bytes="2" /> - <field type="CARD16" name="num_keysyms" /> - <list type="KEYSYM" name="keysyms"> - <fieldref>num_keysyms</fieldref> - </list> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <pad bytes="2" /> + <field type="CARD16" name="num_keysyms" /> + <list type="KEYSYM" name="keysyms"> + <fieldref>num_keysyms</fieldref> + </list> </struct> <struct name="BellFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="INT8" name="percent" /> - <pad bytes="3" /> - <field type="INT16" name="pitch" /> - <field type="INT16" name="duration" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="INT8" name="percent" /> + <pad bytes="3" /> + <field type="INT16" name="pitch" /> + <field type="INT16" name="duration" /> </struct> <struct name="LedFeedbackCtl"> - <field type="CARD8" name="class_id" enum="FeedbackClass" /> - <field type="CARD8" name="id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="led_mask" /> - <field type="CARD32" name="led_values" /> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="led_mask" /> + <field type="CARD32" name="led_values" /> + </struct> + + <struct name="FeedbackCtl"> + <field type="CARD8" name="class_id" enum="FeedbackClass" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD16" name="len" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <fieldref>len</fieldref> + <value>4</value> + </op> + </list> </struct> + <request name="ChangeFeedbackControl" opcode="23"> + <field type="CARD32" name="mask" /> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="feedback_id" /> + <field type="FeedbackCtl" name="feedback" /> + </request> + <!-- GetDeviceKeyMapping --> <request name="GetDeviceKeyMapping" opcode="24"> - <field type="CARD8" name="device_id" /> - <field type="KeyCode" name="first_keycode" /> - <field type="CARD8" name="count" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="keysyms_per_keycode" /> - <pad bytes="23" /> - <list type="KEYSYM" name="keysyms"> - <fieldref>length</fieldref> - </list> - </reply> + <field type="CARD8" name="device_id" /> + <field type="KeyCode" name="first_keycode" /> + <field type="CARD8" name="count" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="keysyms_per_keycode" /> + <pad bytes="23" /> + <list type="KEYSYM" name="keysyms"> + <!-- 'length' is a field in the header --> + <fieldref>length</fieldref> + </list> + </reply> </request> <!-- ChangeDeviceKeyMapping --> <request name="ChangeDeviceKeyMapping" opcode="25"> - <field type="CARD8" name="device_id" /> - <field type="KeyCode" name="first_keycode" /> - <field type="CARD8" name="keysyms_per_keycode" /> - <field type="CARD8" name="keycode_count" /> - <list type="KEYSYM" name="keysyms"> - <op op="*"> - <fieldref>keycode_count</fieldref> - <fieldref>keysyms_per_keycode</fieldref> - </op> - </list> + <field type="CARD8" name="device_id" /> + <field type="KeyCode" name="first_keycode" /> + <field type="CARD8" name="keysyms_per_keycode" /> + <field type="CARD8" name="keycode_count" /> + <list type="KEYSYM" name="keysyms"> + <op op="*"> + <fieldref>keycode_count</fieldref> + <fieldref>keysyms_per_keycode</fieldref> + </op> + </list> </request> <!-- GetDeviceModifierMapping --> <request name="GetDeviceModifierMapping" opcode="26"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="keycodes_per_modifier" /> - <pad bytes="23" /> - <list type="CARD8" name="keymaps"> - <op op="*"> - <fieldref>keycodes_per_modifier</fieldref> - <value>8</value> - </op> - </list> - </reply> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="keycodes_per_modifier" /> + <pad bytes="23" /> + <list type="CARD8" name="keymaps"> + <op op="*"> + <fieldref>keycodes_per_modifier</fieldref> + <value>8</value> + </op> + </list> + </reply> </request> <!-- SetDeviceModifierMapping --> <request name="SetDeviceModifierMapping" opcode="27"> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="keycodes_per_modifier" /> - <pad bytes="1" /> - <list type="CARD8" name="keymaps"> - <op op="*"> - <fieldref>keycodes_per_modifier</fieldref> - <value>8</value> - </op> - </list> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" enum="MappingStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="keycodes_per_modifier" /> + <pad bytes="1" /> + <list type="CARD8" name="keymaps"> + <op op="*"> + <fieldref>keycodes_per_modifier</fieldref> + <value>8</value> + </op> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" enum="MappingStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- GetDeviceButtonMapping --> <request name="GetDeviceButtonMapping" opcode="28"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="map_size" /> - <pad bytes="23" /> - <list type="CARD8" name="map"> - <fieldref>map_size</fieldref> - </list> - </reply> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="map_size" /> + <pad bytes="23" /> + <list type="CARD8" name="map"> + <fieldref>map_size</fieldref> + </list> + </reply> </request> <!-- SetDeviceButtonMapping --> <request name="SetDeviceButtonMapping" opcode="29"> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="map_size" /> - <pad bytes="2" /> - <list type="CARD8" name="map"> - <fieldref>map_size</fieldref> - </list> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" enum="MappingStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="map_size" /> + <pad bytes="2" /> + <list type="CARD8" name="map"> + <fieldref>map_size</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" enum="MappingStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- QueryDeviceState --> - <request name="QueryDeviceState" opcode="30"> - <field type="CARD8" name="device_id" /> - <pad bytes="3" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="num_classes" /> - <pad bytes="23" /> - <!-- Uninterpreted: list of InputState structures --> - </reply> - </request> - - <struct name="InputState"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD8" name="num_items" /> - </struct> - <struct name="KeyState"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD8" name="num_keys" /> - <pad bytes="1" /> - <list type="CARD8" name="keys"> - <value>32</value> - </list> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD8" name="num_keys" /> + <pad bytes="1" /> + <list type="CARD8" name="keys"> + <value>32</value> + </list> </struct> <struct name="ButtonState"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD8" name="num_buttons" /> - <pad bytes="1" /> - <list type="CARD8" name="buttons"> - <value>32</value> - </list> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD8" name="num_buttons" /> + <pad bytes="1" /> + <list type="CARD8" name="buttons"> + <value>32</value> + </list> </struct> <struct name="ValuatorState"> - <field type="CARD8" name="class_id" enum="InputClass" /> - <field type="CARD8" name="len" /> - <field type="CARD8" name="num_valuators" /> - <field type="CARD8" name="mode" /> - <list type="CARD32" name="valuators"> - <fieldref>num_valuators</fieldref> - </list> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD8" name="num_valuators" /> + <field type="CARD8" name="mode" /> + <list type="CARD32" name="valuators"> + <fieldref>num_valuators</fieldref> + </list> + </struct> + + <struct name="InputState"> + <field type="CARD8" name="class_id" enum="InputClass" /> + <field type="CARD8" name="len" /> + <field type="CARD8" name="num_items" /> + <pad bytes="1" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <fieldref>len</fieldref> + <value>4</value> + </op> + </list> </struct> + <request name="QueryDeviceState" opcode="30"> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="num_classes" /> + <pad bytes="23" /> + <list type="InputState" name="classes"> + <fieldref>num_classes</fieldref> + </list> + </reply> + </request> + <!-- SendExtensionEvent --> <request name="SendExtensionEvent" opcode="31"> - <field type="WINDOW" name="destination" /> - <field type="CARD8" name="device_id" /> - <field type="BOOL" name="propagate" /> - <field type="CARD16" name="num_classes" /> - <field type="CARD8" name="num_events" /> - <pad bytes="3" /> - <list type="char" name="events"> - <op op="*"> - <fieldref>num_events</fieldref> - <value>32</value> - </op> - </list> - <list type="EventClass" name="classes"> - <fieldref>num_classes</fieldref> - </list> + <field type="WINDOW" name="destination" /> + <field type="CARD8" name="device_id" /> + <field type="BOOL" name="propagate" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD8" name="num_events" /> + <pad bytes="3" /> + <list type="CARD8" name="events"> + <op op="*"> + <fieldref>num_events</fieldref> + <value>32</value> + </op> + </list> + <list type="EventClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> </request> <!-- DeviceBell --> <request name="DeviceBell" opcode="32"> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="feedback_id" /> - <field type="CARD8" name="feedback_class" /> - <field type="INT8" name="percent" /> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="feedback_id" /> + <field type="CARD8" name="feedback_class" /> + <field type="INT8" name="percent" /> </request> <!-- SetDeviceValuators --> <request name="SetDeviceValuators" opcode="33"> - <field type="CARD8" name="device_id" /> - <field type="CARD8" name="first_valuator" /> - <field type="CARD8" name="num_valuators" /> - <pad bytes="1" /> - <list type="INT32" name="valuators"> - <fieldref>num_valuators</fieldref> - </list> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" enum="GrabStatus" /> - <pad bytes="23" /> - </reply> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="first_valuator" /> + <field type="CARD8" name="num_valuators" /> + <pad bytes="1" /> + <list type="INT32" name="valuators"> + <fieldref>num_valuators</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" enum="GrabStatus" /> + <pad bytes="23" /> + </reply> </request> <!-- GetDeviceControl --> - <request name="GetDeviceControl" opcode="34"> - <field type="CARD16" name="control_id" /> - <field type="CARD8" name="device_id" /> - <pad bytes="1" /> - <reply> - <pad bytes="1" /> - <field type="CARD8" name="status" altenum="GrabStatus" /> - <pad bytes="23" /> - <!-- Uninterpreted: list of DeviceState structures --> - </reply> - </request> - - <struct name="DeviceState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - </struct> + <enum name="DeviceControl"> + <item name="resolution"> <value>1</value> </item> + <item name="abs_calib"> <value>2</value> </item> + <item name="core"> <value>3</value> </item> + <item name="enable"> <value>4</value> </item> + <item name="abs_area"> <value>5</value> </item> + </enum> <struct name="DeviceResolutionState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="num_valuators" /> - <list type="CARD32" name="resolution_values"> - <fieldref>num_valuators</fieldref> - </list> - <list type="CARD32" name="resolution_min"> - <fieldref>num_valuators</fieldref> - </list> - <list type="CARD32" name="resolution_max"> - <fieldref>num_valuators</fieldref> - </list> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="num_valuators" /> + <list type="CARD32" name="resolution_values"> + <fieldref>num_valuators</fieldref> + </list> + <list type="CARD32" name="resolution_min"> + <fieldref>num_valuators</fieldref> + </list> + <list type="CARD32" name="resolution_max"> + <fieldref>num_valuators</fieldref> + </list> </struct> <struct name="DeviceAbsCalibState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="INT32" name="min_x" /> - <field type="INT32" name="max_x" /> - <field type="INT32" name="min_y" /> - <field type="INT32" name="max_y" /> - <field type="CARD32" name="flip_x" /> - <field type="CARD32" name="flip_y" /> - <field type="CARD32" name="rotation" /> - <field type="CARD32" name="button_threshold" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="INT32" name="min_x" /> + <field type="INT32" name="max_x" /> + <field type="INT32" name="min_y" /> + <field type="INT32" name="max_y" /> + <field type="CARD32" name="flip_x" /> + <field type="CARD32" name="flip_y" /> + <field type="CARD32" name="rotation" /> + <field type="CARD32" name="button_threshold" /> </struct> <struct name="DeviceAbsAreaState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="offset_x" /> - <field type="CARD32" name="offset_y" /> - <field type="CARD32" name="width" /> - <field type="CARD32" name="height" /> - <field type="CARD32" name="screen" /> - <field type="CARD32" name="following" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="offset_x" /> + <field type="CARD32" name="offset_y" /> + <field type="CARD32" name="width" /> + <field type="CARD32" name="height" /> + <field type="CARD32" name="screen" /> + <field type="CARD32" name="following" /> </struct> <struct name="DeviceCoreState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="status" /> - <field type="CARD8" name="iscore" /> - <pad bytes="2" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="status" /> + <field type="CARD8" name="iscore" /> + <pad bytes="2" /> </struct> <struct name="DeviceEnableState"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="enable" /> - <pad bytes="3" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="enable" /> + <pad bytes="3" /> </struct> - <!-- ChangeDeviceControl + <struct name="DeviceState"> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <fieldref>len</fieldref> + <value>4</value> + </op> + </list> + </struct> - <request name="ChangeDeviceControl" opcode="35"> - <field type="CARD16" name="control_id" /> - <field type="CARD8" name="device_id" /> - <pad bytes="1" /> - Uninterpreted: list of DeviceCtl structures - <reply> - <pad byte="1" /> + <request name="GetDeviceControl" opcode="34"> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD8" name="device_id" /> + <pad bytes="1" /> + <reply> + <pad bytes="1" /> <field type="CARD8" name="status" altenum="GrabStatus" /> <pad bytes="23" /> - </reply> + <field type="DeviceState" name="control" /> + </reply> </request> - --> - - <struct name="DeviceCtl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - </struct> + <!-- ChangeDeviceControl --> <struct name="DeviceResolutionCtl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="first_valuator" /> - <field type="CARD8" name="num_valuators" /> - <list type="CARD32" name="resolution_values"> - <fieldref>num_valuators</fieldref> - </list> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="first_valuator" /> + <field type="CARD8" name="num_valuators" /> + <list type="CARD32" name="resolution_values"> + <fieldref>num_valuators</fieldref> + </list> </struct> <struct name="DeviceAbsCalibCtl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="INT32" name="min_x" /> - <field type="INT32" name="max_x" /> - <field type="INT32" name="min_y" /> - <field type="INT32" name="max_y" /> - <field type="CARD32" name="flip_x" /> - <field type="CARD32" name="flip_y" /> - <field type="CARD32" name="rotation" /> - <field type="CARD32" name="button_threshold" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="INT32" name="min_x" /> + <field type="INT32" name="max_x" /> + <field type="INT32" name="min_y" /> + <field type="INT32" name="max_y" /> + <field type="CARD32" name="flip_x" /> + <field type="CARD32" name="flip_y" /> + <field type="CARD32" name="rotation" /> + <field type="CARD32" name="button_threshold" /> </struct> <struct name="DeviceAbsAreaCtrl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD32" name="offset_x" /> - <field type="CARD32" name="offset_y" /> - <field type="INT32" name="width" /> - <field type="INT32" name="height" /> - <field type="INT32" name="screen" /> - <field type="CARD32" name="following" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD32" name="offset_x" /> + <field type="CARD32" name="offset_y" /> + <field type="INT32" name="width" /> + <field type="INT32" name="height" /> + <field type="INT32" name="screen" /> + <field type="CARD32" name="following" /> </struct> <struct name="DeviceCoreCtrl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="status" /> - <pad bytes="3" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="status" /> + <pad bytes="3" /> </struct> <struct name="DeviceEnableCtrl"> - <field type="CARD16" name="control_id" /> - <field type="CARD16" name="len" /> - <field type="CARD8" name="enable" /> - <pad bytes="3" /> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <field type="CARD8" name="enable" /> + <pad bytes="3" /> + </struct> + + <struct name="DeviceCtl"> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD16" name="len" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <fieldref>len</fieldref> + <value>4</value> + </op> + </list> + </struct> + + <request name="ChangeDeviceControl" opcode="35"> + <field type="CARD16" name="control_id" enum="DeviceControl" /> + <field type="CARD8" name="device_id" /> + <pad bytes="1" /> + <field type="DeviceCtl" name="control" /> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" altenum="GrabStatus" /> + <pad bytes="23" /> + </reply> + </request> + + <!-- ⋅⋅⋅ Requests (v1.5) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <!-- ListDeviceProperties --> + + <request name="ListDeviceProperties" opcode="36"> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_atoms" /> + <pad bytes="22" /> + <list type="ATOM" name="atoms"> + <fieldref>num_atoms</fieldref> + </list> + </reply> + </request> + + <!-- ChangeDeviceProperty --> + + <enum name="PropertyFormat"> + <item name="8Bits"> <value> 8</value> </item> + <item name="16Bits"> <value>16</value> </item> + <item name="32Bits"> <value>32</value> </item> + </enum> + + <request name="ChangeDeviceProperty" opcode="37"> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD8" name="device_id" /> + <field type="CARD8" name="format" enum="PropertyFormat" /> + <field type="CARD8" name="mode" enum="PropMode" /> + <pad bytes="1" /> + <field type="CARD32" name="num_items" /> + <switch name="items"> + <fieldref>format</fieldref> + <!-- <bitcase> is not correct, this would need <cases>s. + It works in that case, because PropertyFormat items can be + distinguished exactly as their values don't have equal bits. + --> + <bitcase> + <enumref ref="PropertyFormat">8Bits</enumref> + <list type="CARD8" name="data8"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">16Bits</enumref> + <list type="CARD16" name="data16"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">32Bits</enumref> + <list type="CARD32" name="data32"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + </switch> + </request> + + <!-- DeleteDeviceProperty --> + + <request name="DeleteDeviceProperty" opcode="38"> + <field type="ATOM" name="property" /> + <field type="CARD8" name="device_id" /> + <pad bytes="3" /> + </request> + + <!-- GetDeviceProperty --> + + <request name="GetDeviceProperty" opcode="39"> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="offset" /> + <field type="CARD32" name="len" /> + <field type="CARD8" name="device_id" /> + <field type="BOOL" name="delete" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="bytes_after" /> + <field type="CARD32" name="num_items" /> + <field type="CARD8" name="format" enum="PropertyFormat" /> + <field type="CARD8" name="device_id" /> + <pad bytes="10" /> + <switch name="items"> + <fieldref>format</fieldref> + <!-- <bitcase> is not correct, this would need <cases>s. + It works in that case, because PropertyFormat items can be + distinguished exactly as their values don't have equal bits. + --> + <bitcase> + <enumref ref="PropertyFormat">8Bits</enumref> + <list type="CARD8" name="data8"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">16Bits</enumref> + <list type="CARD16" name="data16"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">32Bits</enumref> + <list type="CARD32" name="data32"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + </switch> + </reply> + </request> + + <!-- ⋅⋅⋅ Requests (v2.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <!-- XIQueryPointer --> + + <enum name="Device"> + <item name="All"> <value>0</value> </item> + <item name="AllMaster"> <value>1</value> </item> + </enum> + + <struct name="GroupInfo"> + <field type="CARD8" name="base" /> + <field type="CARD8" name="latched" /> + <field type="CARD8" name="locked" /> + <field type="CARD8" name="effective" /> + </struct> + + <struct name="ModifierInfo"> + <field type="CARD32" name="base" /> + <field type="CARD32" name="latched" /> + <field type="CARD32" name="locked" /> + <field type="CARD32" name="effective" /> + </struct> + + <request name="XIQueryPointer" opcode="40"> + <field type="WINDOW" name="window" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="child" /> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP1616" name="win_x" /> + <field type="FP1616" name="win_y" /> + <field type="CARD8" name="same_screen" /> + <pad bytes="1" /> + <field type="CARD16" name="buttons_len" /> + <field type="ModifierInfo" name="mods" /> + <field type="GroupInfo" name="group" /> + <list type="CARD32" name="buttons"> + <fieldref>buttons_len</fieldref> + </list> + </reply> + </request> + + <!-- XIWarpPointer --> + + <request name="XIWarpPointer" opcode="41"> + <field type="WINDOW" name="src_win" /> + <field type="WINDOW" name="dst_win" /> + <field type="FP1616" name="src_x" /> + <field type="FP1616" name="src_y" /> + <field type="CARD16" name="src_width" /> + <field type="CARD16" name="src_height" /> + <field type="FP1616" name="dst_x" /> + <field type="FP1616" name="dst_y" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </request> + + <!-- XIChangeCursor --> + + <request name="XIChangeCursor" opcode="42"> + <field type="WINDOW" name="window" /> + <field type="CURSOR" name="cursor" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </request> + + <!-- XIChangeHierarchy --> + + <enum name="HierarchyChangeType"> + <item name="AddMaster"> <value>1</value> </item> + <item name="RemoveMaster"> <value>2</value> </item> + <item name="AttachSlave"> <value>3</value> </item> + <item name="DetachSlave"> <value>4</value> </item> + </enum> + + <enum name="ChangeMode"> + <item name="Attach"> <value>1</value> </item> + <item name="Float"> <value>2</value> </item> + </enum> + + <struct name="AddMaster"> + <field type="CARD16" name="type" enum="HierarchyChangeType" /> + <field type="CARD16" name="len" /> + <field type="CARD16" name="name_len" /> + <field type="CARD8" name="send_core" /> + <field type="CARD8" name="enable" /> + <list type="char" name="name"> + <fieldref>name_len</fieldref> + </list> + </struct> + + <struct name="RemoveMaster"> + <field type="CARD16" name="type" enum="HierarchyChangeType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD8" name="return_mode" enum="ChangeMode" /> + <pad bytes="1" /> + <field type="DeviceId" name="return_pointer" altenum="Device" /> + <field type="DeviceId" name="return_keyboard" altenum="Device" /> + </struct> + + <struct name="AttachSlave"> + <field type="CARD16" name="type" enum="HierarchyChangeType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="DeviceId" name="master" altenum="Device" /> + </struct> + + <struct name="DetachSlave"> + <field type="CARD16" name="type" enum="HierarchyChangeType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </struct> + + <struct name="HierarchyChange"> + <field type="CARD16" name="type" enum="HierarchyChangeType" /> + <field type="CARD16" name="len" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <op op="*"> + <fieldref>len</fieldref> + <value>4</value> + </op> + <value>4</value> + </op> + </list> + </struct> + + <request name="XIChangeHierarchy" opcode="43"> + <field type="CARD8" name="num_changes" /> + <list type="HierarchyChange" name="changes"> + <fieldref>num_changes</fieldref> + </list> + </request> + + <!-- XISetClientPointer --> + + <request name="XISetClientPointer" opcode="44"> + <field type="WINDOW" name="window" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </request> + + <!-- XIGetClientPointer --> + + <request name="XIGetClientPointer" opcode="45"> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="BOOL" name="set" /> + <pad bytes="1" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="20" /> + </reply> + </request> + + <!-- XISelectEvents --> + + <enum name="XIEventMask"> + <item name="DeviceChanged"> <bit>1</bit> </item> + <item name="KeyPress"> <bit>2</bit> </item> + <item name="KeyRelease"> <bit>3</bit> </item> + <item name="ButtonPress"> <bit>4</bit> </item> + <item name="ButtonRelease"> <bit>5</bit> </item> + <item name="Motion"> <bit>6</bit> </item> + <item name="Enter"> <bit>7</bit> </item> + <item name="Leave"> <bit>8</bit> </item> + <item name="FocusIn"> <bit>9</bit> </item> + <item name="FocusOut"> <bit>10</bit> </item> + <item name="Hierarchy"> <bit>11</bit> </item> + <item name="Property"> <bit>12</bit> </item> + <!-- ⋅⋅⋅ Events (v2.1) ⋅⋅⋅ --> + <item name="RawKeyPress"> <bit>13</bit> </item> + <item name="RawKeyRelease"> <bit>14</bit> </item> + <item name="RawButtonPress"> <bit>15</bit> </item> + <item name="RawButtonRelease"> <bit>16</bit> </item> + <item name="RawMotion"> <bit>17</bit> </item> + <!-- ⋅⋅⋅ Events (v2.2) ⋅⋅⋅ --> + <item name="TouchBegin"> <bit>18</bit> </item> + <item name="TouchUpdate"> <bit>19</bit> </item> + <item name="TouchEnd"> <bit>20</bit> </item> + <item name="TouchOwnership"> <bit>21</bit> </item> + <item name="RawTouchBegin"> <bit>22</bit> </item> + <item name="RawTouchUpdate"> <bit>23</bit> </item> + <item name="RawTouchEnd"> <bit>24</bit> </item> + <!-- ⋅⋅⋅ Events (v2.3) ⋅⋅⋅ --> + <item name="BarrierHit"> <bit>25</bit> </item> + <item name="BarrierLeave"> <bit>26</bit> </item> + </enum> + + <struct name="EventMask"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD16" name="mask_len" /> + <list type="CARD32" name="mask" mask="XIEventMask"> + <fieldref>mask_len</fieldref> + </list> + </struct> + + <request name="XISelectEvents" opcode="46"> + <field type="WINDOW" name="window" /> + <field type="CARD16" name="num_mask" /> + <pad bytes="2" /> + <list type="EventMask" name="masks"> + <fieldref>num_mask</fieldref> + </list> + </request> + + <!-- XIQueryVersion --> + + <request name="XIQueryVersion" opcode="47"> + <field type="CARD16" name="major_version" /> + <field type="CARD16" name="minor_version" /> + + <reply> + <pad bytes="1" /> + <field type="CARD16" name="major_version" /> + <field type="CARD16" name="minor_version" /> + <pad bytes="20" /> + </reply> + </request> + + <!-- XIQueryDevice --> + + <enum name="DeviceClassType"> + <item name="Key"> <value>0</value> </item> + <item name="Button"> <value>1</value> </item> + <item name="Valuator"> <value>2</value> </item> + <item name="Scroll"> <value>3</value> </item> + <item name="Touch"> <value>8</value> </item> + </enum> + + <enum name="DeviceType"> + <item name="MasterPointer"> <value>1</value> </item> + <item name="MasterKeyboard"> <value>2</value> </item> + <item name="SlavePointer"> <value>3</value> </item> + <item name="SlaveKeyboard"> <value>4</value> </item> + <item name="FloatingSlave"> <value>5</value> </item> + </enum> + + <enum name="ScrollFlags"> + <item name="NoEmulation"> <bit>0</bit> </item> + <item name="Preferred"> <bit>1</bit> </item> + </enum> + + <enum name="ScrollType"> + <item name="Vertical"> <value>1</value> </item> + <item name="Horizontal"> <value>2</value> </item> + </enum> + + <enum name="TouchMode"> + <item name="Direct"> <value>1</value> </item> + <item name="Dependent"> <value>2</value> </item> + </enum> + + <struct name="ButtonClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="num_buttons" /> + <list type="CARD32" name="state"> + <op op="/"> + <op op="+"> + <fieldref>num_buttons</fieldref> + <value>31</value> + </op> + <value>32</value> + </op> + </list> + <list type="ATOM" name="labels"> + <fieldref>num_buttons</fieldref> + </list> + </struct> + + <struct name="KeyClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="num_keys" /> + <list type="CARD32" name="keys"> + <fieldref>num_keys</fieldref> + </list> + </struct> + + <struct name="ScrollClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="number" /> + <field type="CARD16" name="scroll_type" enum="ScrollType" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" enum="ScrollFlags" /> + <field type="FP3232" name="increment" /> + </struct> + + <struct name="TouchClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD8" name="mode" enum="TouchMode" /> + <field type="CARD8" name="num_touches" /> + </struct> + + <struct name="ValuatorClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="number" /> + <field type="ATOM" name="label" /> + <field type="FP3232" name="min" /> + <field type="FP3232" name="max" /> + <field type="FP3232" name="value" /> + <field type="CARD32" name="resolution" /> + <field type="CARD8" name="mode" enum="ValuatorMode" /> + <pad bytes="3" /> + </struct> + + <struct name="DeviceClass"> + <field type="CARD16" name="type" enum="DeviceClassType" /> + <field type="CARD16" name="len" /> + <field type="DeviceId" name="sourceid" /> + <pad bytes="2" /> + <list type="CARD8" name="uninterpreted_data"> + <op op="-"> + <op op="*"> + <fieldref>len</fieldref> + <value>4</value> + </op> + <value>8</value> + </op> + </list> + </struct> + + <struct name="XIDeviceInfo"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD16" name="type" altenum="DeviceType" /> + <field type="DeviceId" name="attachment" altenum="Device" /> + <field type="CARD16" name="num_classes" /> + <field type="CARD16" name="name_len" /> + <field type="BOOL" name="enabled" /> + <pad bytes="1" /> + <list type="char" name="name"> + <!-- name_len is without padding, so we've to pad on our own, + auto align pad after the list would be helpfull --> + <op op="*"> + <op op="/"> + <op op="+"> + <fieldref>name_len</fieldref> + <value>3</value> + </op> + <value>4</value> + </op> + <value>4</value> + </op> + </list> + <list type="DeviceClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> + </struct> + + <request name="XIQueryDevice" opcode="48"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_infos" /> + <pad bytes="22" /> + <list type="XIDeviceInfo" name="infos"> + <fieldref>num_infos</fieldref> + </list> + </reply> + </request> + + <!-- XISetFocus --> + + <request name="XISetFocus" opcode="49"> + <field type="WINDOW" name="window" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </request> + + <!-- XIGetFocus --> + + <request name="XIGetFocus" opcode="50"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="WINDOW" name="focus" /> + <pad bytes="20" /> + </reply> + </request> + + <!-- XIGrabDevice --> + + <enum name="GrabOwner"> + <item name="NoOwner"> <value>0</value> </item> + <item name="Owner"> <value>1</value> </item> + </enum> + + <request name="XIGrabDevice" opcode="51"> + <field type="WINDOW" name="window" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="CURSOR" name="cursor" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD8" name="mode" enum="GrabMode" /> + <field type="CARD8" name="paired_device_mode" enum="GrabMode" /> + <field type="BOOL" name="owner_events" enum="GrabOwner" /> + <pad bytes="1" /> + <field type="CARD16" name="mask_len" /> + <list type="CARD32" name="mask"> + <fieldref>mask_len</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD8" name="status" enum="GrabStatus" /> + <pad bytes="23" /> + </reply> + </request> + + <!-- XIUngrabDevice --> + + <request name="XIUngrabDevice" opcode="52"> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + </request> + + <!-- XIAllowEvents --> + + <enum name="EventMode"> + <item name="AsyncDevice"> <value>0</value> </item> + <item name="SyncDevice"> <value>1</value> </item> + <item name="ReplayDevice"> <value>2</value> </item> + <item name="AsyncPairedDevice"> <value>3</value> </item> + <item name="AsyncPair"> <value>4</value> </item> + <item name="SyncPair"> <value>5</value> </item> + <item name="AcceptTouch"> <value>6</value> </item> + <item name="RejectTouch"> <value>7</value> </item> + </enum> + + <request name="XIAllowEvents" opcode="53"> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD8" name="event_mode" enum="EventMode" /> + <pad bytes="1" /> + <field type="CARD32" name="touchid" /> + <field type="WINDOW" name="grab_window" /> + </request> + + <!-- XIPassiveGrabDevice --> + + <enum name="GrabMode22"> + <item name="Sync"> <value>0</value> </item> + <item name="Async"> <value>1</value> </item> + <item name="Touch"> <value>2</value> </item> + </enum> + + <enum name="GrabType"> + <item name="Button"> <value>0</value> </item> + <item name="Keycode"> <value>1</value> </item> + <item name="Enter"> <value>2</value> </item> + <item name="FocusIn"> <value>3</value> </item> + <item name="TouchBegin"> <value>4</value> </item> + </enum> + + <enum name="ModifierMask"> + <item name="Any"> <bit>31</bit> </item> + </enum> + + <struct name="GrabModifierInfo"> + <field type="CARD32" name="modifiers" altenum="ModifierMask" /> + <field type="CARD8" name="status" enum="GrabStatus" /> + <pad bytes="3" /> + </struct> + + <request name="XIPassiveGrabDevice" opcode="54"> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <field type="WINDOW" name="grab_window" /> + <field type="CURSOR" name="cursor" /> + <field type="CARD32" name="detail" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD16" name="num_modifiers" /> + <field type="CARD16" name="mask_len" /> + <field type="CARD8" name="grab_type" enum="GrabType" /> + <field type="CARD8" name="grab_mode" enum="GrabMode22" /> + <field type="CARD8" name="paired_device_mode" enum="GrabMode" /> + <field type="BOOL" name="owner_events" enum="GrabOwner" /> + <pad bytes="2" /> + <list type="CARD32" name="mask"> + <fieldref>mask_len</fieldref> + </list> + <list type="CARD32" name="modifiers"> + <fieldref>num_modifiers</fieldref> + </list> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_modifiers" /> + <pad bytes="22" /> + <list type="GrabModifierInfo" name="modifiers"> + <fieldref>num_modifiers</fieldref> + </list> + </reply> + </request> + + <!-- XIPassiveUngrabDevice --> + + <request name="XIPassiveUngrabDevice" opcode="55"> + <field type="WINDOW" name="grab_window" /> + <field type="CARD32" name="detail" /> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD16" name="num_modifiers" /> + <field type="CARD8" name="grab_type" enum="GrabType" /> + <pad bytes="3" /> + <list type="CARD32" name="modifiers"> + <fieldref>num_modifiers</fieldref> + </list> + </request> + + <!-- XIListProperties --> + + <request name="XIListProperties" opcode="56"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_properties" /> + <pad bytes="22" /> + <list type="ATOM" name="properties"> + <fieldref>num_properties</fieldref> + </list> + </reply> + </request> + + <!-- XIChangeProperty --> + + <request name="XIChangeProperty" opcode="57"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="CARD8" name="mode" enum="PropMode" /> + <field type="CARD8" name="format" enum="PropertyFormat" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="num_items" /> + <switch name="items"> + <fieldref>format</fieldref> + <!-- <bitcase> is not correct, this would need <cases>s. + It works in that case, because PropertyFormat items can be + distinguished exactly as their values don't have equal bits. + --> + <bitcase> + <enumref ref="PropertyFormat">8Bits</enumref> + <list type="CARD8" name="data8"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">16Bits</enumref> + <list type="CARD16" name="data16"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">32Bits</enumref> + <list type="CARD32" name="data32"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + </switch> + </request> + + <!-- XIDeleteProperty --> + + <request name="XIDeleteProperty" opcode="58"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <pad bytes="2" /> + <field type="ATOM" name="property" /> + </request> + + <!-- XIGetProperty --> + + <request name="XIGetProperty" opcode="59"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="BOOL" name="delete" /> + <pad bytes="1" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="offset" /> + <field type="CARD32" name="len" /> + <reply> + <pad bytes="1" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="bytes_after" /> + <field type="CARD32" name="num_items" /> + <field type="CARD8" name="format" enum="PropertyFormat" /> + <pad bytes="11" /> + <switch name="items"> + <fieldref>format</fieldref> + <!-- <bitcase> is not correct, this would need <cases>s. + It works in that case, because PropertyFormat items can be + distinguished exactly as their values don't have equal bits. + --> + <bitcase> + <enumref ref="PropertyFormat">8Bits</enumref> + <list type="CARD8" name="data8"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">16Bits</enumref> + <list type="CARD16" name="data16"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + <bitcase> + <enumref ref="PropertyFormat">32Bits</enumref> + <list type="CARD32" name="data32"> + <fieldref>num_items</fieldref> + </list> + </bitcase> + </switch> + </reply> + </request> + + <!-- XIGetSelectedEvents --> + + <request name="XIGetSelectedEvents" opcode="60"> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_masks" /> + <pad bytes="22" /> + <list type="EventMask" name="masks"> + <fieldref>num_masks</fieldref> + </list> + </reply> + </request> + + <!-- ⋅⋅⋅ Requests (v2.3) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <!-- XIBarrierReleasePointer --> + + <struct name="BarrierReleasePointerInfo"> + <field type="DeviceId" name="deviceid" /> + <pad bytes="2" /> + <field type="BARRIER" name="barrier" /> + <field type="CARD32" name="eventid" /> </struct> - <!-- EVENTS --> + <request name="XIBarrierReleasePointer" opcode="61"> + <field type="CARD32" name="num_barriers" /> + <list type="BarrierReleasePointerInfo" name="barriers"> + <fieldref>num_barriers</fieldref> + </list> + </request> + + <!-- ⋅⋅⋅ Events (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + <!-- Notes: + - A 'len' field in a v1++ structure is in bytes. + --> <event name="DeviceValuator" number="0"> - <field type="CARD8" name="device_id" /> - <field type="CARD16" name="device_state" /> - <field type="CARD8" name="num_valuators" /> - <field type="CARD8" name="first_valuator" /> - <list type="INT32" name="valuators"><value>6</value></list> + <field type="CARD8" name="device_id" /> + <field type="CARD16" name="device_state" /> + <field type="CARD8" name="num_valuators" /> + <field type="CARD8" name="first_valuator" /> + <list type="INT32" name="valuators"> + <value>6</value> + </list> </event> <event name="DeviceKeyPress" number="1"> - <field type="BYTE" name="detail" /> - <field type="TIMESTAMP" name="time" /> - <field type="WINDOW" name="root" /> - <field type="WINDOW" name="event" /> - <field type="WINDOW" name="child" altenum="Window" /> - <field type="INT16" name="root_x" /> - <field type="INT16" name="root_y" /> - <field type="INT16" name="event_x" /> - <field type="INT16" name="event_y" /> - <field type="CARD16" name="state" /> - <field type="BOOL" name="same_screen" /> - <field type="CARD8" name="device_id" /> + <field type="BYTE" name="detail" /> + <field type="TIMESTAMP" name="time" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" altenum="Window" /> + <field type="INT16" name="root_x" /> + <field type="INT16" name="root_y" /> + <field type="INT16" name="event_x" /> + <field type="INT16" name="event_y" /> + <field type="CARD16" name="state" /> + <field type="BOOL" name="same_screen" /> + <field type="CARD8" name="device_id" /> </event> - <eventcopy name="DeviceKeyRelease" number="2" ref="DeviceKeyPress" /> - <eventcopy name="DeviceButtonPress" number="3" ref="DeviceKeyPress" /> + <eventcopy name="DeviceKeyRelease" number="2" ref="DeviceKeyPress" /> + <eventcopy name="DeviceButtonPress" number="3" ref="DeviceKeyPress" /> <eventcopy name="DeviceButtonRelease" number="4" ref="DeviceKeyPress" /> - <eventcopy name="DeviceMotionNotify" number="5" ref="DeviceKeyPress" /> - <eventcopy name="ProximityIn" number="8" ref="DeviceKeyPress" /> - <eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" /> - - <event name="FocusIn" number="6"> - <field type="BYTE" name="detail" enum="NotifyDetail" /> - <field type="TIMESTAMP" name="time" /> - <field type="WINDOW" name="window" /> - <field type="BYTE" name="mode" enum="NotifyMode" /> - <field type="CARD8" name="device_id" /> - <pad bytes="18" /> + <eventcopy name="DeviceMotionNotify" number="5" ref="DeviceKeyPress" /> + + <event name="DeviceFocusIn" number="6"> + <field type="BYTE" name="detail" enum="xproto:NotifyDetail" /> + <field type="TIMESTAMP" name="time" /> + <field type="WINDOW" name="window" /> + <field type="BYTE" name="mode" enum="xproto:NotifyMode" /> + <field type="CARD8" name="device_id" /> + <pad bytes="18" /> </event> - <eventcopy name="FocusOut" number="7" ref="FocusIn" /> + <eventcopy name="DeviceFocusOut" number="7" ref="DeviceFocusIn" /> + <eventcopy name="ProximityIn" number="8" ref="DeviceKeyPress" /> + <eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" /> <event name="DeviceStateNotify" number="10"> - <field type="BYTE" name="device_id" /> - <field type="TIMESTAMP" name="time" /> - <field type="CARD8" name="num_keys" /> - <field type="CARD8" name="num_buttons" /> - <field type="CARD8" name="num_valuators" /> - <field type="CARD8" name="classes_reported" /> - <list type="CARD8" name="buttons"> + <field type="BYTE" name="device_id" /> + <field type="TIMESTAMP" name="time" /> + <field type="CARD8" name="num_keys" /> + <field type="CARD8" name="num_buttons" /> + <field type="CARD8" name="num_valuators" /> + <field type="CARD8" name="classes_reported" /> + <list type="CARD8" name="buttons"> <value>4</value> - </list> - <list type="CARD8" name="keys"> + </list> + <list type="CARD8" name="keys"> <value>4</value> - </list> - <list type="CARD32" name="valuators"> - <value>3</value> - </list> + </list> + <list type="CARD32" name="valuators"> + <value>3</value> + </list> </event> <event name="DeviceMappingNotify" number="11"> - <field type="BYTE" name="device_id" /> - <field type="CARD8" name="request" /> - <field type="KeyCode" name="first_keycode" /> - <field type="CARD8" name="count" /> - <pad bytes="1" /> - <field type="TIMESTAMP" name="time" /> - <pad bytes="20" /> + <field type="BYTE" name="device_id" /> + <field type="CARD8" name="request" /> + <field type="KeyCode" name="first_keycode" /> + <field type="CARD8" name="count" /> + <pad bytes="1" /> + <field type="TIMESTAMP" name="time" /> + <pad bytes="20" /> </event> <event name="ChangeDeviceNotify" number="12"> - <field type="BYTE" name="device_id" /> - <field type="TIMESTAMP" name="time" /> - <field type="CARD8" name="request" /> - <pad bytes="23" /> + <field type="BYTE" name="device_id" /> + <field type="TIMESTAMP" name="time" /> + <field type="CARD8" name="request" /> + <pad bytes="23" /> </event> <event name="DeviceKeyStateNotify" number="13"> - <field type="BYTE" name="device_id" /> - <list type="CARD8" name="keys"> + <field type="BYTE" name="device_id" /> + <list type="CARD8" name="keys"> <value>28</value> - </list> + </list> </event> <event name="DeviceButtonStateNotify" number="14"> - <field type="BYTE" name="device_id" /> - <list type="CARD8" name="buttons"> + <field type="BYTE" name="device_id" /> + <list type="CARD8" name="buttons"> <value>28</value> - </list> + </list> </event> + <!-- ⋅⋅⋅ Events (v1.4) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <enum name="DeviceChange"> + <item name="Added"> <value>0</value> </item> + <item name="Removed"> <value>1</value> </item> + <item name="Enabled"> <value>2</value> </item> + <item name="Disabled"> <value>3</value> </item> + <item name="Unrecoverable"> <value>4</value> </item> + <item name="ControlChanged"> <value>5</value> </item> + </enum> + <event name="DevicePresenceNotify" number="15"> <pad bytes="1" /> <field type="TIMESTAMP" name="time" /> - <field type="BYTE" name="devchange" /> - <field type="BYTE" name="device_id" /> - <field type="CARD16" name="control" /> - <pad bytes="20" /> + <field type="BYTE" name="devchange" enum="DeviceChange" /> + <field type="BYTE" name="device_id" /> + <field type="CARD16" name="control" /> + <pad bytes="20" /> </event> - <!-- ERRORS --> - <error name="Device" number="0" /> - <error name="Event" number="1" /> - <error name="Mode" number="2" /> + <!-- ⋅⋅⋅ Events (v1.5) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <event name="DevicePropertyNotify" number="16"> + <field type="BYTE" name="state" enum="Property" /> + <field type="TIMESTAMP" name="time" /> + <field type="ATOM" name="property" /> + <pad bytes="19" /> + <field type="CARD8" name="device_id" /> + </event> + + <!-- ⋅⋅⋅ Events (v2.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + <!-- Notes: + - A 'len' field in a v2++ structure is in 4 byte units. + --> + + <enum name="ChangeReason"> + <item name="SlaveSwitch"> <value>1</value> </item> + <item name="DeviceChange"> <value>2</value> </item> + </enum> + + <event name="DeviceChanged" number="1" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD16" name="num_classes" /> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <field type="CARD8" name="reason" enum="ChangeReason" /> + <pad bytes="11" /> + <!-- 32 byte boundary --> + <list type="DeviceClass" name="classes"> + <fieldref>num_classes</fieldref> + </list> + </event> + + <enum name="KeyEventFlags"> + <item name="KeyRepeat"> <bit>16</bit> </item> + </enum> + + <event name="KeyPress" number="2" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" /> + <!-- 32 byte boundary --> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP1616" name="event_x" /> + <field type="FP1616" name="event_y" /> + <field type="CARD16" name="buttons_len" /> + <field type="CARD16" name="valuators_len" /> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" mask="KeyEventFlags" /> + <field type="ModifierInfo" name="mods" /> + <field type="GroupInfo" name="group" /> + <list type="CARD32" name="button_mask"> + <fieldref>buttons_len</fieldref> + </list> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="KeyRelease" number="3" ref="KeyPress" /> + + <enum name="PointerEventFlags"> + <item name="PointerEmulated"> <bit>16</bit> </item> + </enum> + + <event name="ButtonPress" number="4" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" /> + <!-- 32 byte boundary --> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP1616" name="event_x" /> + <field type="FP1616" name="event_y" /> + <field type="CARD16" name="buttons_len" /> + <field type="CARD16" name="valuators_len" /> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" mask="PointerEventFlags" /> + <field type="ModifierInfo" name="mods" /> + <field type="GroupInfo" name="group" /> + <list type="CARD32" name="button_mask"> + <fieldref>buttons_len</fieldref> + </list> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" /> + <eventcopy name="Motion" number="6" ref="ButtonPress" /> + + <enum name="NotifyMode"> + <item name="Normal"> <value>0</value> </item> + <item name="Grab"> <value>1</value> </item> + <item name="Ungrab"> <value>2</value> </item> + <item name="WhileGrabbed"> <value>3</value> </item> + <item name="PassiveGrab"> <value>4</value> </item> + <item name="PassiveUngrab"> <value>5</value> </item> + </enum> + + <enum name="NotifyDetail"> + <item name="Ancestor"> <value>0</value> </item> + <item name="Virtual"> <value>1</value> </item> + <item name="Inferior"> <value>2</value> </item> + <item name="Nonlinear"> <value>3</value> </item> + <item name="NonlinearVirtual"> <value>4</value> </item> + <item name="Pointer"> <value>5</value> </item> + <item name="PointerRoot"> <value>6</value> </item> + <item name="None"> <value>7</value> </item> + </enum> + + <event name="Enter" number="7" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <field type="CARD8" name="mode" enum="xinput:NotifyMode" /> + <field type="CARD8" name="detail" enum="xinput:NotifyDetail" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" /> + <!-- 32 byte boundary --> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP1616" name="event_x" /> + <field type="FP1616" name="event_y" /> + <field type="CARD8" name="same_screen" /> + <field type="CARD8" name="focus" /> + <field type="CARD16" name="buttons_len" /> + <field type="ModifierInfo" name="mods" /> + <field type="GroupInfo" name="group" /> + <list type="CARD32" name="buttons"> + <fieldref>buttons_len</fieldref> + </list> + </event> + + <eventcopy name="Leave" number="8" ref="Enter" /> + <eventcopy name="FocusIn" number="9" ref="Enter" /> + <eventcopy name="FocusOut" number="10" ref="Enter" /> + + <enum name="HierarchyMask"> + <item name="MasterAdded"> <bit>0</bit> </item> + <item name="MasterRemoved"> <bit>1</bit> </item> + <item name="SlaveAdded"> <bit>2</bit> </item> + <item name="SlaveRemoved"> <bit>3</bit> </item> + <item name="SlaveAttached"> <bit>4</bit> </item> + <item name="SlaveDetached"> <bit>5</bit> </item> + <item name="DeviceEnabled"> <bit>6</bit> </item> + <item name="DeviceDisabled"> <bit>7</bit> </item> + </enum> + + <struct name="HierarchyInfo"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="DeviceId" name="attachment" altenum="Device" /> + <field type="CARD8" name="type" enum="DeviceType"/> + <field type="BOOL" name="enabled" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" mask="HierarchyMask" /> + </struct> + + <event name="Hierarchy" number="11" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="flags" mask="HierarchyMask" /> + <field type="CARD16" name="num_infos" /> + <pad bytes="10" /> + <!-- 32 byte boundary --> + <list type="HierarchyInfo" name="infos"> + <fieldref>num_infos</fieldref> + </list> + </event> + + <enum name="PropertyFlag"> + <item name="Deleted"> <value>0</value> </item> + <item name="Created"> <value>1</value> </item> + <item name="Modified"> <value>2</value> </item> + </enum> + + <event name="Property" number="12" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="ATOM" name="property" /> + <field type="CARD8" name="what" enum="PropertyFlag" /> + <pad bytes="11" /> + <!-- 32 byte boundary --> + </event> + + <!-- ⋅⋅⋅ Events (v2.1) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <event name="RawKeyPress" number="13" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="valuators_len" /> + <field type="CARD32" name="flags" mask="KeyEventFlags"/> + <pad bytes="4" /> + <!-- 32 byte boundary --> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + <!-- Uninterpreted: list (axisvalues_raw) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="RawKeyRelease" number="14" ref="RawKeyPress" /> + + <event name="RawButtonPress" number="15" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="valuators_len" /> + <field type="CARD32" name="flags" mask="PointerEventFlags"/> + <pad bytes="4" /> + <!-- 32 byte boundary --> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + <!-- Uninterpreted: list (axisvalues_raw) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="RawButtonRelease" number="16" ref="RawButtonPress" /> + <eventcopy name="RawMotion" number="17" ref="RawButtonPress" /> + + <!-- ⋅⋅⋅ Events (v2.2) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <enum name="TouchEventFlags"> + <item name="TouchPendingEnd"> <bit>16</bit> </item> + <item name="TouchEmulatingPointer"> <bit>17</bit> </item> + </enum> + + <event name="TouchBegin" number="18" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" /> + <!-- 32 byte boundary --> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP1616" name="event_x" /> + <field type="FP1616" name="event_y" /> + <field type="CARD16" name="buttons_len" /> + <field type="CARD16" name="valuators_len" /> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" mask="TouchEventFlags" /> + <field type="ModifierInfo" name="mods" /> + <field type="GroupInfo" name="group" /> + <list type="CARD32" name="button_mask"> + <fieldref>buttons_len</fieldref> + </list> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="TouchUpdate" number="19" ref="TouchBegin" /> + <eventcopy name="TouchEnd" number="20" ref="TouchBegin" /> + + <enum name="TouchOwnershipFlags"> + <!-- XXX: Remove this enum? Currently, no flag is defined. --> + <item name="None"> <value>0</value> </item> + </enum> + + <event name="TouchOwnership" number="21" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="touchid" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="WINDOW" name="child" /> + <!-- 32 byte boundary --> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <pad bytes="2" /> + <field type="CARD32" name="flags" enum="TouchOwnershipFlags" /> + <pad bytes="8" /> + </event> + + <event name="RawTouchBegin" number="22" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="detail" /> + <field type="DeviceId" name="sourceid" /> + <field type="CARD16" name="valuators_len" /> + <field type="CARD32" name="flags" mask="TouchEventFlags"/> + <pad bytes="4" /> + <!-- 32 byte boundary --> + <list type="CARD32" name="valuator_mask"> + <fieldref>valuators_len</fieldref> + </list> + <!-- Uninterpreted: list (axisvalues) of FP3232, + length is <popcount> on valuator_mask list --> + <!-- Uninterpreted: list (axisvalues_raw) of FP3232, + length is <popcount> on valuator_mask list --> + </event> + + <eventcopy name="RawTouchUpdate" number="23" ref="RawTouchBegin" /> + <eventcopy name="RawTouchEnd" number="24" ref="RawTouchBegin" /> + + <!-- ⋅⋅⋅ Events (v2.3) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <event name="BarrierHit" number="25" xge="true"> + <field type="DeviceId" name="deviceid" altenum="Device" /> + <field type="TIMESTAMP" name="time" altenum="Time" /> + <!-- event specific fields --> + <field type="CARD32" name="eventid" /> + <field type="WINDOW" name="root" /> + <field type="WINDOW" name="event" /> + <field type="BARRIER" name="barrier" /> + <!-- 32 byte boundary --> + <field type="CARD32" name="dtime" /> + <field type="CARD32" name="flags" /> + <field type="DeviceId" name="sourceid" altenum="Device" /> + <pad bytes="2" /> + <field type="FP1616" name="root_x" /> + <field type="FP1616" name="root_y" /> + <field type="FP3232" name="dx" /> + <field type="FP3232" name="dy" /> + </event> + + <eventcopy name="BarrierLeave" number="26" ref="BarrierHit" /> + + <!-- ⋅⋅⋅ Errors (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ --> + + <error name="Device" number="0" /> + <error name="Event" number="1" /> + <error name="Mode" number="2" /> <error name="DeviceBusy" number="3" /> - <error name="Class" number="4" /> + <error name="Class" number="4" /> </xcb> diff --git a/src/xkb.xml b/src/xkb.xml index a6ef374..1df0771 100644 --- a/src/xkb.xml +++ b/src/xkb.xml @@ -130,29 +130,21 @@ authorization from the authors. <item name="ControlsEnabled"> <bit>31</bit> </item> </enum> - <enum name="AXFBOpt"> + <enum name="AXOption"> <item name="SKPressFB"> <bit>0</bit> </item> <item name="SKAcceptFB"> <bit>1</bit> </item> <item name="FeatureFB"> <bit>2</bit> </item> <item name="SlowWarnFB"> <bit>3</bit> </item> <item name="IndicatorFB"> <bit>4</bit> </item> <item name="StickyKeysFB"> <bit>5</bit> </item> - <item name="SKReleaseFB"> <bit>6</bit> </item> - <item name="SKRejectFB"> <bit>7</bit> </item> - <item name="BKRejectFB"> <bit>8</bit> </item> - <item name="DumbBell"> <bit>9</bit> </item> + <item name="TwoKeys"> <bit>6</bit> </item> + <item name="LatchToLock"> <bit>7</bit> </item> + <item name="SKReleaseFB"> <bit>8</bit> </item> + <item name="SKRejectFB"> <bit>9</bit> </item> + <item name="BKRejectFB"> <bit>10</bit> </item> + <item name="DumbBell"> <bit>11</bit> </item> </enum> - <enum name="AXSKOpt"> - <item name="TwoKeys"> <bit>6</bit> </item> - <item name="LatchToLock"> <bit>7</bit> </item> - </enum> - - <union name="AXOption"> - <field name="fbopt" type="CARD16" enum="AXFBOpt" /> - <field name="skopt" type="CARD16" enum="AXSKOpt" /> - </union> - <typedef oldname="CARD16" newname="DeviceSpec" /> <enum name="LedClassResult"> @@ -161,8 +153,10 @@ authorization from the authors. </enum> <enum name="LedClass"> - <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> - <item name="AllXIClasses"> <value>1280</value> </item> <!--0x500--> + <item name="KbdFeedbackClass"> <value>0</value> </item> + <item name="LedFeedbackClass"> <value>4</value> </item> + <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> + <item name="AllXIClasses"> <value>1280</value> </item> <!--0x500--> </enum> <typedef oldname="CARD16" newname="LedClassSpec" /> @@ -172,7 +166,9 @@ authorization from the authors. </enum> <enum name="BellClass"> - <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> + <item name="KbdFeedbackClass"> <value>0</value> </item> + <item name="BellFeedbackClass"> <value>5</value> </item> + <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> </enum> <typedef oldname="CARD16" newname="BellClassSpec" /> @@ -268,7 +264,7 @@ authorization from the authors. <item name="KeyType1"> <bit>0</bit> </item> </enum> - <enum name="SymInterpret"> + <enum name="SymInterpretMatch"> <item name="NoneOf"> <value>0</value> </item> <item name="AnyOfOrNone"> <value>1</value> </item> <item name="AnyOf"> <value>2</value> </item> @@ -311,7 +307,7 @@ authorization from the authors. <field name="mods" type="CARD8" mask="ModMask" /> <field name="realMods" type="CARD8" mask="ModMask" /> <field name="vmods" type="CARD16" mask="VMod" /> - <field name="ctrls" type="CARD32" enum="BoolCtrl" /> + <field name="ctrls" type="CARD32" mask="BoolCtrl" /> </struct> <enum name="CMDetail"> @@ -370,43 +366,48 @@ authorization from the authors. </struct> <struct name="KeyName"> - <list name="name" type="CARD8"> + <list name="name" type="char"> <value>4</value> </list> </struct> <struct name="KeyAlias"> - <list name="real" type="CARD8"> + <list name="real" type="char"> <value>4</value> </list> - <list name="alias" type="CARD8"> + <list name="alias" type="char"> <value>4</value> </list> </struct> - <struct name="CountedString8"> - <field name="length" type="CARD8" /> - <list name="string" type="CARD8"> - <fieldref>length</fieldref> - </list> - </struct> - <struct name="CountedString16"> <field name="length" type="CARD16" /> - <list name="string" type="CARD8"> + <list name="string" type="char"> <fieldref>length</fieldref> </list> - <pad bytes="1" /> + <list type="void" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>length</fieldref> + <value>5</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <op op="+"> + <fieldref>length</fieldref> + <value>2</value> + </op> + </op> + </list> </struct> <struct name="KTMapEntry"> <field name="active" type="BOOL" /> - <!-- Xlib uses a different arrangement of fields <field name="mods_mask" type="CARD8" mask="ModMask" /> <field name="level" type="CARD8" /> - --> - <field name="level" type="CARD8" /> - <field name="mods_mask" type="CARD8" mask="ModMask" /> <field name="mods_mods" type="CARD8" mask="ModMask" /> <field name="mods_vmods" type="CARD16" mask="VMod" /> <pad bytes="2" /> @@ -462,32 +463,26 @@ authorization from the authors. <field name="group" type="CARD8" /> </struct> - <struct name="Overlay1Behavior"> + <struct name="OverlayBehavior"> <field name="type" type="CARD8" /> <field name="key" type="KEYCODE" /> </struct> - <struct name="Overlay2Behavior"> - <field name="type" type="CARD8" /> - <field name="key" type="CARD8" /> - </struct> - <typedef oldname="LockBehavior" newname="PermamentLockBehavior" /> <typedef oldname="RadioGroupBehavior" newname="PermamentRadioGroupBehavior" /> - <typedef oldname="Overlay1Behavior" newname="PermamentOverlay1Behavior" /> - <typedef oldname="Overlay2Behavior" newname="PermamentOverlay2Behavior" /> + <typedef oldname="OverlayBehavior" newname="PermamentOverlayBehavior" /> <union name="Behavior"> <field name="common" type="CommonBehavior" /> <field name="default" type="DefaultBehavior" /> <field name="lock" type="LockBehavior" /> <field name="radioGroup" type="RadioGroupBehavior" /> - <field name="overlay1" type="Overlay1Behavior" /> - <field name="overlay2" type="Overlay2Behavior" /> + <field name="overlay1" type="OverlayBehavior" /> + <field name="overlay2" type="OverlayBehavior" /> <field name="permamentLock" type="PermamentLockBehavior" /> <field name="permamentRadioGroup" type="PermamentRadioGroupBehavior" /> - <field name="permamentOverlay1" type="PermamentOverlay1Behavior" /> - <field name="permamentOverlay2" type="PermamentOverlay2Behavior" /> + <field name="permamentOverlay1" type="PermamentOverlayBehavior" /> + <field name="permamentOverlay2" type="PermamentOverlayBehavior" /> <field name="type" type="CARD8" /> </union> @@ -552,6 +547,7 @@ authorization from the authors. <typedef oldname="char" newname="STRING8" /> + <!-- XXX: Property is broken <struct name="Property"> <field name="nameLength" type="CARD16" /> <list name="name" type="STRING8"> @@ -562,6 +558,15 @@ authorization from the authors. <fieldref>valueLength</fieldref> </list> </struct> + --> + <!-- XXX: This would be the correct Property structure as per spec., + but it's broken atm. too. Add it anyway here, so we don't + loose that information. + <struct name="Property"> + <field name="name" type="CountedString16" /> + <field name="value" type="CountedString16" /> + </struct> + --> <struct name="Outline"> <field name="nPoints" type="CARD8" /> @@ -638,6 +643,7 @@ authorization from the authors. <item name="Logo"> <value>5</value> </item> </enum> + <!-- XXX: doodads are broken <struct name="CommonDoodad"> <field name="name" type="ATOM" /> <field name="type" type="CARD8" enum="DoodadType" /> @@ -645,6 +651,7 @@ authorization from the authors. <field name="top" type="INT16" /> <field name="left" type="INT16" /> <field name="angle" type="INT16" /> + <pad bytes="8" /> </struct> <struct name="ShapeDoodad"> @@ -730,6 +737,7 @@ authorization from the authors. <fieldref>nOverlays</fieldref> </list> </struct> + --> <struct name="Listing"> <field name="flags" type="CARD16" /> @@ -869,7 +877,8 @@ authorization from the authors. </struct> <enum name="SASetPtrDfltFlag"> - <item name="DfltBtnAbsolute"> <bit>1</bit> </item> + <!-- The spec says 0x02 but Xlib uses 0x04. --> + <item name="DfltBtnAbsolute"> <bit>2</bit> </item> <item name="AffectDfltButton"> <bit>0</bit> </item> </enum> @@ -998,6 +1007,7 @@ authorization from the authors. <pad bytes="1" /> <field name="button" type="CARD8" /> <field name="device" type="CARD8" /> + <pad bytes="3" /> </struct> <enum name="SAValWhat"> @@ -1020,6 +1030,23 @@ authorization from the authors. <field name="val2value" type="CARD8" /> </struct> + <struct name="SIAction"> + <field name="type" type="CARD8" enum="SAType" /> + <list name="data" type="CARD8"> + <value>7</value> + </list> + </struct> + + <struct name="SymInterpret"> + <field name="sym" type="KEYSYM" /> + <field name="mods" type="CARD8" mask="ModMask" /> + <!-- "match" may also have XkbSI_LevelOneOnly (0x80) or'd into it --> + <field name="match" type="CARD8" altenum="SymInterpretMatch" /> + <field name="virtualMod" type="CARD8" mask="VModsLow" /> + <field name="flags" type="CARD8" /> + <field name="action" type="SIAction" /> + </struct> + <union name="Action"> <field name="noaction" type="SANoAction" /> <field name="setmods" type="SASetMods" /> @@ -1060,11 +1087,11 @@ authorization from the authors. <request name="SelectEvents" opcode="1"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="affectWhich" type="CARD16" enum="EventType" /> - <field name="clear" type="CARD16" enum="EventType" /> - <field name="selectAll" type="CARD16" enum="EventType" /> - <field name="affectMap" type="CARD16" enum="MapPart" /> - <field name="map" type="CARD16" enum="MapPart" /> + <field name="affectWhich" type="CARD16" mask="EventType" /> + <field name="clear" type="CARD16" mask="EventType" /> + <field name="selectAll" type="CARD16" mask="EventType" /> + <field name="affectMap" type="CARD16" mask="MapPart" /> + <field name="map" type="CARD16" mask="MapPart" /> <switch name="details"> <op op="&"> <fieldref>affectWhich</fieldref> @@ -1206,14 +1233,14 @@ authorization from the authors. <field name="mouseKeysTimeToMax" type="CARD16" /> <field name="mouseKeysMaxSpeed" type="CARD16" /> <field name="mouseKeysCurve" type="INT16" /> - <field name="accessXOption" type="AXOption" /> + <field name="accessXOption" type="CARD16" mask="AXOption" /> <field name="accessXTimeout" type="CARD16" /> - <field name="accessXTimeoutOptionsMask" type="AXOption" /> - <field name="accessXTimeoutOptionsValues" type="AXOption" /> + <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> + <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> <pad bytes="2" /> - <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" /> - <field name="enabledControls" type="CARD32" enum="BoolCtrl" /> + <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> + <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> <list name="perKeyRepeat" type="CARD8"> <value>32</value> </list> @@ -1232,10 +1259,10 @@ authorization from the authors. <field name="ignoreLockVirtualMods" type="CARD16" mask="VMod" /> <field name="mouseKeysDfltBtn" type="CARD8" /> <field name="groupsWrap" type="CARD8" /> - <field name="accessXOptions" type="AXOption" /> + <field name="accessXOptions" type="CARD16" mask="AXOption" /> <pad bytes="2" /> - <field name="affectEnabledControls" type="CARD32" enum="BoolCtrl" /> - <field name="enabledControls" type="CARD32" enum="BoolCtrl" /> + <field name="affectEnabledControls" type="CARD32" mask="BoolCtrl" /> + <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> <field name="changeControls" type="CARD32" mask="Control" /> <field name="repeatDelay" type="CARD16" /> <field name="repeatInterval" type="CARD16" /> @@ -1247,10 +1274,10 @@ authorization from the authors. <field name="mouseKeysMaxSpeed" type="CARD16" /> <field name="mouseKeysCurve" type="INT16" /> <field name="accessXTimeout" type="CARD16" /> - <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutOptionsMask" type="AXOption" /> - <field name="accessXTimeoutOptionsValues" type="AXOption" /> + <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> + <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> <list name="perKeyRepeat" type="CARD8"> <value>32</value> </list> @@ -1258,8 +1285,8 @@ authorization from the authors. <request name="GetMap" opcode="8"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="full" type="CARD16" enum="MapPart" /> - <field name="partial" type="CARD16" enum="MapPart" /> + <field name="full" type="CARD16" mask="MapPart" /> + <field name="partial" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="firstKeySym" type="KEYCODE" /> @@ -1281,7 +1308,7 @@ authorization from the authors. <pad bytes="2" /> <field name="minKeyCode" type="KEYCODE" /> <field name="maxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="totalTypes" type="CARD8" /> @@ -1324,6 +1351,20 @@ authorization from the authors. <list name="acts_rtrn_count" type="CARD8"> <fieldref>nKeyActions</fieldref> </list> + <list type="CARD8" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>nKeyActions</fieldref> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <fieldref>nKeyActions</fieldref> + </op> + </list> <list name="acts_rtrn_acts" type="Action"> <fieldref>totalActions</fieldref> </list> @@ -1337,7 +1378,21 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> + </list> + <list type="CARD8" name="alignment_pad2"> + <op op="-"> + <op op="&"> + <op op="+"> + <popcount><fieldref>virtualMods</fieldref></popcount> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <popcount><fieldref>virtualMods</fieldref></popcount> + </op> </list> </bitcase> <bitcase> @@ -1345,12 +1400,40 @@ authorization from the authors. <list name="explicit_rtrn" type="SetExplicit"> <fieldref>totalKeyExplicit</fieldref> </list> + <list type="CARD16" name="alignment_pad3"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>totalKeyExplicit</fieldref> + <value>1</value> + </op> + <unop op="~"> + <value>1</value> + </unop> + </op> + <fieldref>totalKeyExplicit</fieldref> + </op> + </list> </bitcase> <bitcase> <enumref ref="MapPart">ModifierMap</enumref> <list name="modmap_rtrn" type="KeyModMap"> <fieldref>totalModMapKeys</fieldref> </list> + <list type="CARD16" name="alignment_pad4"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>totalModMapKeys</fieldref> + <value>1</value> + </op> + <unop op="~"> + <value>1</value> + </unop> + </op> + <fieldref>totalModMapKeys</fieldref> + </op> + </list> </bitcase> <bitcase> <enumref ref="MapPart">VirtualModMap</enumref> @@ -1364,7 +1447,7 @@ authorization from the authors. <request name="SetMap" opcode="9"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="flags" type="CARD16" mask="SetMapFlags" /> <field name="minKeyCode" type="KEYCODE" /> <field name="maxKeyCode" type="KEYCODE" /> @@ -1421,7 +1504,7 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods" type="CARD8"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> </list> </bitcase> <bitcase> @@ -1459,11 +1542,8 @@ authorization from the authors. <field name="nSIRtrn" type="CARD16" /> <field name="nTotalSI" type="CARD16" /> <pad bytes="16" /> - <list name="si_rtrn" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSIRtrn</fieldref> - </op> + <list name="si_rtrn" type="SymInterpret"> + <fieldref>nSIRtrn</fieldref> </list> <list name="group_rtrn" type="ModDef"> <popcount> @@ -1482,11 +1562,8 @@ authorization from the authors. <field name="firstSI" type="CARD16" /> <field name="nSI" type="CARD16" /> <pad bytes="2"/> - <list name="si" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSI</fieldref> - </op> + <list name="si" type="SymInterpret"> + <fieldref>nSI</fieldref> </list> <list name="groupMaps" type="ModDef"> <popcount> @@ -1516,7 +1593,7 @@ authorization from the authors. <field name="nIndicators" type="CARD8" /> <pad bytes="15" /> <list name="maps" type="IndicatorMap"> - <fieldref>nIndicators</fieldref> + <popcount><fieldref>which</fieldref></popcount> </list> </reply> </request> @@ -1553,6 +1630,7 @@ authorization from the authors. <field name="map_realMods" type="CARD8" mask="ModMask" /> <field name="map_vmod" type="CARD16" mask="VMod" /> <field name="map_ctrls" type="CARD32" mask="BoolCtrl" /> + <field name="supported" type="BOOL" /> <pad bytes="3" /> </reply> </request> @@ -1637,6 +1715,20 @@ authorization from the authors. <fieldref>nKTLevels</fieldref> --> <fieldref>nTypes</fieldref> </list> + <list type="CARD8" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>nTypes</fieldref> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <fieldref>nTypes</fieldref> + </op> + </list> <list name="ktLevelNames" type="ATOM"> <sumof ref="nLevelsPerType" /> </list> @@ -1789,6 +1881,7 @@ authorization from the authors. </switch> </request> + <!-- XXX: Property and doodads are broken, which renders GetGeometry useless <request name="GetGeometry" opcode="19"> <field name="deviceSpec" type="DeviceSpec" /> <pad bytes="2" /> @@ -1829,7 +1922,9 @@ authorization from the authors. </list> </reply> </request> + --> + <!-- XXX: Property and doodads are broken, which renders SetGeometry useless <request name="SetGeometry" opcode="20"> <field name="deviceSpec" type="DeviceSpec" /> <field name="nShapes" type="CARD8" /> @@ -1864,6 +1959,7 @@ authorization from the authors. <fieldref>nKeyAliases</fieldref> </list> </request> + --> <request name="PerClientFlags" opcode="21"> <field name="deviceSpec" type="DeviceSpec" /> @@ -1886,6 +1982,7 @@ authorization from the authors. <request name="ListComponents" opcode="22"> <field name="deviceSpec" type="DeviceSpec" /> <field name="maxNames" type="CARD16" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -1910,6 +2007,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="nKeymaps" type="CARD16" /> @@ -1947,6 +2045,7 @@ authorization from the authors. <field name="want" type="CARD16" mask="GBNDetail" /> <field name="load" type="BOOL" /> <pad bytes="1" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -1971,6 +2070,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="minKeyCode" type="KEYCODE" /> @@ -1984,6 +2084,8 @@ authorization from the authors. <fieldref>reported</fieldref> <bitcase name="types"> <enumref ref="GBNDetail">Types</enumref> + <enumref ref="GBNDetail">ClientSymbols</enumref> + <enumref ref="GBNDetail">ServerSymbols</enumref> <!-- from the spec, this has to be a GetMap reply --> <field name="getmap_type" type="CARD8" /> <!-- done 'emulating' GetMap reply header--> @@ -1995,7 +2097,7 @@ authorization from the authors. <pad bytes="2" /> <field name="typeMinKeyCode" type="KEYCODE" /> <field name="typeMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="totalTypes" type="CARD8" /> @@ -2051,7 +2153,7 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> </list> </bitcase> <bitcase> @@ -2076,18 +2178,20 @@ authorization from the authors. </bitcase> <bitcase name="compat_map"> <enumref ref="GBNDetail">CompatMap</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="compatmap_type" type="CARD8" /> <field name="compatDeviceID" type="CARD8" /> + <field name="compatmap_sequence" type="CARD16" /> + <field name="compatmap_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="groupsRtrn" type="CARD8" mask="SetOfGroup" /> <pad bytes="1" /> <field name="firstSIRtrn" type="CARD16" /> <field name="nSIRtrn" type="CARD16" /> <field name="nTotalSI" type="CARD16" /> <pad bytes="16" /> - <list name="si_rtrn" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSIRtrn</fieldref> - </op> + <list name="si_rtrn" type="SymInterpret"> + <fieldref>nSIRtrn</fieldref> </list> <list name="group_rtrn" type="ModDef"> <popcount> @@ -2095,179 +2199,14 @@ authorization from the authors. </popcount> </list> </bitcase> - <bitcase name="client_symbols"> - <enumref ref="GBNDetail">ClientSymbols</enumref> - <field name="clientDeviceID" type="CARD8" /> - <pad bytes="2" /> - <field name="clientMinKeyCode" type="KEYCODE" /> - <field name="clientMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> - <field name="firstType" type="CARD8" /> - <field name="nTypes" type="CARD8" /> - <field name="totalTypes" type="CARD8" /> - <field name="firstKeySym" type="KEYCODE" /> - <field name="totalSyms" type="CARD16" /> - <field name="nKeySyms" type="CARD8" /> - <field name="firstKeyAction" type="KEYCODE" /> - <field name="totalActions" type="CARD16" /> - <field name="nKeyActions" type="CARD8" /> - <field name="firstKeyBehavior" type="KEYCODE" /> - <field name="nKeyBehaviors" type="CARD8" /> - <field name="totalKeyBehaviors" type="CARD8" /> - <field name="firstKeyExplicit" type="KEYCODE" /> - <field name="nKeyExplicit" type="CARD8" /> - <field name="totalKeyExplicit" type="CARD8" /> - <field name="firstModMapKey" type="KEYCODE" /> - <field name="nModMapKeys" type="CARD8" /> - <field name="totalModMapKeys" type="CARD8" /> - <field name="firstVModMapKey" type="KEYCODE" /> - <field name="nVModMapKeys" type="CARD8" /> - <field name="totalVModMapKeys" type="CARD8" /> - <pad bytes="1" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <switch name="map"> - <fieldref>present</fieldref> - <bitcase> - <enumref ref="MapPart">KeyTypes</enumref> - <list name="types_rtrn" type="KeyType"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeySyms</enumref> - <list name="syms_rtrn" type="KeySymMap"> - <fieldref>nKeySyms</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyActions</enumref> - <list name="acts_rtrn_count" type="CARD8"> - <fieldref>nKeyActions</fieldref> - </list> - <list name="acts_rtrn_acts" type="Action"> - <fieldref>totalActions</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyBehaviors</enumref> - <list name="behaviors_rtrn" type="SetBehavior"> - <fieldref>totalKeyBehaviors</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualMods</enumref> - <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ExplicitComponents</enumref> - <list name="explicit_rtrn" type="SetExplicit"> - <fieldref>totalKeyExplicit</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ModifierMap</enumref> - <list name="modmap_rtrn" type="KeyModMap"> - <fieldref>totalModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualModMap</enumref> - <list name="vmodmap_rtrn" type="KeyVModMap"> - <fieldref>totalVModMapKeys</fieldref> - </list> - </bitcase> - </switch> - </bitcase> - <bitcase name="server_symbols"> - <enumref ref="GBNDetail">ServerSymbols</enumref> - <field name="serverDeviceID" type="CARD8" /> - <pad bytes="2" /> - <field name="serverMinKeyCode" type="KEYCODE" /> - <field name="serverMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> - <field name="firstType" type="CARD8" /> - <field name="nTypes" type="CARD8" /> - <field name="totalTypes" type="CARD8" /> - <field name="firstKeySym" type="KEYCODE" /> - <field name="totalSyms" type="CARD16" /> - <field name="nKeySyms" type="CARD8" /> - <field name="firstKeyAction" type="KEYCODE" /> - <field name="totalActions" type="CARD16" /> - <field name="nKeyActions" type="CARD8" /> - <field name="firstKeyBehavior" type="KEYCODE" /> - <field name="nKeyBehaviors" type="CARD8" /> - <field name="totalKeyBehaviors" type="CARD8" /> - <field name="firstKeyExplicit" type="KEYCODE" /> - <field name="nKeyExplicit" type="CARD8" /> - <field name="totalKeyExplicit" type="CARD8" /> - <field name="firstModMapKey" type="KEYCODE" /> - <field name="nModMapKeys" type="CARD8" /> - <field name="totalModMapKeys" type="CARD8" /> - <field name="firstVModMapKey" type="KEYCODE" /> - <field name="nVModMapKeys" type="CARD8" /> - <field name="totalVModMapKeys" type="CARD8" /> - <pad bytes="1" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <switch name="map"> - <fieldref>present</fieldref> - <bitcase> - <enumref ref="MapPart">KeyTypes</enumref> - <list name="types_rtrn" type="KeyType"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeySyms</enumref> - <list name="syms_rtrn" type="KeySymMap"> - <fieldref>nKeySyms</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyActions</enumref> - <list name="acts_rtrn_count" type="CARD8"> - <fieldref>nKeyActions</fieldref> - </list> - <list name="acts_rtrn_acts" type="Action"> - <fieldref>totalActions</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyBehaviors</enumref> - <list name="behaviors_rtrn" type="SetBehavior"> - <fieldref>totalKeyBehaviors</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualMods</enumref> - <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ExplicitComponents</enumref> - <list name="explicit_rtrn" type="SetExplicit"> - <fieldref>totalKeyExplicit</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ModifierMap</enumref> - <list name="modmap_rtrn" type="KeyModMap"> - <fieldref>totalModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualModMap</enumref> - <list name="vmodmap_rtrn" type="KeyVModMap"> - <fieldref>totalVModMapKeys</fieldref> - </list> - </bitcase> - </switch> - </bitcase> <bitcase name="indicator_maps"> <enumref ref="GBNDetail">IndicatorMaps</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="indicatormap_type" type="CARD8" /> <field name="indicatorDeviceID" type="CARD8" /> + <field name="indicatormap_sequence" type="CARD16" /> + <field name="indicatormap_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="which" type="CARD32" /> <field name="realIndicators" type="CARD32" /> <field name="nIndicators" type="CARD8" /> @@ -2278,7 +2217,13 @@ authorization from the authors. </bitcase> <bitcase name="key_names"> <enumref ref="GBNDetail">KeyNames</enumref> + <enumref ref="GBNDetail">OtherNames</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="keyname_type" type="CARD8" /> <field name="keyDeviceID" type="CARD8" /> + <field name="keyname_sequence" type="CARD16" /> + <field name="keyname_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="which" type="CARD32" mask="NameDetail" /> <field name="keyMinKeyCode" type="KEYCODE" /> <field name="keyMaxKeyCode" type="KEYCODE" /> @@ -2377,110 +2322,14 @@ authorization from the authors. </bitcase> </switch> </bitcase> - <bitcase name="other_names"> - <enumref ref="GBNDetail">OtherNames</enumref> - <field name="otherDeviceID" type="CARD8" /> - <field name="which" type="CARD32" mask="NameDetail" /> - <field name="otherMinKeyCode" type="KEYCODE" /> - <field name="otherMaxKeyCode" type="KEYCODE" /> - <field name="nTypes" type="CARD8" /> - <field name="groupNames" type="CARD8" mask="SetOfGroup" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <field name="firstKey" type="KEYCODE" /> - <field name="nKeys" type="CARD8" /> - <field name="indicators" type="CARD32" /> - <field name="nRadioGroups" type="CARD8" /> - <field name="nKeyAliases" type="CARD8" /> - <field name="nKTLevels" type="CARD16" /> - <pad bytes="4" /> - <switch name="valueList"> - <fieldref>which</fieldref> - <bitcase> - <enumref ref="NameDetail">Keycodes</enumref> - <field name="keycodesName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Geometry</enumref> - <field name="geometryName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Symbols</enumref> - <field name="symbolsName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">PhysSymbols</enumref> - <field name="physSymbolsName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Types</enumref> - <field name="typesName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Compat</enumref> - <field name="compatName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyTypeNames</enumref> - <list name="typeNames" type="ATOM"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KTLevelNames</enumref> - <list name="nLevelsPerType" type="CARD8"> - <fieldref>nKTLevels</fieldref> - </list> - <list name="ktLevelNames" type="ATOM"> - <sumof ref="nLevelsPerType" /> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">IndicatorNames</enumref> - <list name="indicatorNames" type="ATOM"> - <popcount> - <fieldref>indicators</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">VirtualModNames</enumref> - <list name="virtualModNames" type="ATOM"> - <popcount> - <fieldref>virtualMods</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">GroupNames</enumref> - <list name="groups" type="ATOM"> - <popcount> - <fieldref>groupNames</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyNames</enumref> - <list name="keyNames" type="KeyName"> - <fieldref>nKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyAliases</enumref> - <list name="keyAliases" type="KeyAlias"> - <fieldref>nKeyAliases</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">RGNames</enumref> - <list name="radioGroupNames" type="ATOM"> - <fieldref>nRadioGroups</fieldref> - </list> - </bitcase> - </switch> - </bitcase> <bitcase name="geometry"> <enumref ref="GBNDetail">Geometry</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="geometry_type" type="CARD8" /> <field name="geometryDeviceID" type="CARD8" /> + <field name="geometry_sequence" type="CARD16" /> + <field name="geometry_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="name" type="ATOM" /> <field name="geometryFound" type="BOOL" /> <pad bytes="1" /> @@ -2495,6 +2344,7 @@ authorization from the authors. <field name="baseColorNdx" type="CARD8" /> <field name="labelColorNdx" type="CARD8" /> <field name="labelFont" type="CountedString16" /> + <!-- XXX: Property is broken <list name="properties" type="Property"> <fieldref>nProperties</fieldref> </list> @@ -2504,6 +2354,8 @@ authorization from the authors. <list name="shapes" type="Shape"> <fieldref>nShapes</fieldref> </list> + --> + <!-- XXX: doodads are broken <list name="sections" type="Section"> <fieldref>nSections</fieldref> </list> @@ -2513,6 +2365,7 @@ authorization from the authors. <list name="keyAliases" type="KeyAlias"> <fieldref>nKeyAliases</fieldref> </list> + --> </bitcase> </switch> </reply> @@ -2593,9 +2446,8 @@ authorization from the authors. <!-- Events --> - <event name="NewKeyboardNotify" number="0" no-sequence-number="true"> + <event name="NewKeyboardNotify" number="0"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="oldDeviceID" type="CARD8" /> @@ -2609,9 +2461,8 @@ authorization from the authors. <pad bytes="14" /> </event> - <event name="MapNotify" number="1" no-sequence-number="true"> + <event name="MapNotify" number="1"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="ptrBtnActions" type="CARD8" /> @@ -2636,9 +2487,8 @@ authorization from the authors. <pad bytes="2" /> </event> - <event name="StateNotify" number="2" no-sequence-number="true"> + <event name="StateNotify" number="2"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="mods" type="CARD8" mask="ModMask" /> @@ -2662,9 +2512,8 @@ authorization from the authors. <field name="requestMinor" type="CARD8" /> </event> - <event name="ControlsNotify" number="3" no-sequence-number="true"> + <event name="ControlsNotify" number="3"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="numGroups" type="CARD8" /> @@ -2679,9 +2528,8 @@ authorization from the authors. <pad bytes="4" /> </event> - <event name="IndicatorStateNotify" number="4" no-sequence-number="true"> + <event name="IndicatorStateNotify" number="4"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="3" /> @@ -2690,9 +2538,8 @@ authorization from the authors. <pad bytes="12" /> </event> - <event name="IndicatorMapNotify" number="5" no-sequence-number="true"> + <event name="IndicatorMapNotify" number="5"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="3" /> @@ -2701,9 +2548,8 @@ authorization from the authors. <pad bytes="12" /> </event> - <event name="NamesNotify" number="6" no-sequence-number="true"> + <event name="NamesNotify" number="6"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="1" /> @@ -2723,9 +2569,8 @@ authorization from the authors. <pad bytes="4" /> </event> - <event name="CompatMapNotify" number="7" no-sequence-number="true"> + <event name="CompatMapNotify" number="7"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="changedGroups" type="CARD8" mask="SetOfGroup" /> @@ -2735,9 +2580,8 @@ authorization from the authors. <pad bytes="16" /> </event> - <event name="BellNotify" number="8" no-sequence-number="true"> + <event name="BellNotify" number="8"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="bellClass" type="CARD8" enum="BellClassResult" /> @@ -2751,9 +2595,8 @@ authorization from the authors. <pad bytes="7" /> </event> - <event name="ActionMessage" number="9" no-sequence-number="true"> + <event name="ActionMessage" number="9"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="keycode" type="KEYCODE" /> @@ -2767,9 +2610,8 @@ authorization from the authors. <pad bytes="10" /> </event> - <event name="AccessXNotify" number="10" no-sequence-number="true"> + <event name="AccessXNotify" number="10"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="keycode" type="KEYCODE" /> @@ -2779,15 +2621,14 @@ authorization from the authors. <pad bytes="16" /> </event> - <event name="ExtensionDeviceNotify" number="11" no-sequence-number="true"> + <event name="ExtensionDeviceNotify" number="11"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="1" /> <field name="reason" type="CARD16" mask="XIFeature" /> <field name="ledClass" type="CARD16" enum="LedClassResult" /> - <field name="ledID" type="CARD8" /> + <field name="ledID" type="CARD16" /> <field name="ledsDefined" type="CARD32" /> <field name="ledState" type="CARD32" /> <field name="firstButton" type="CARD8" /> diff --git a/src/xproto.xml b/src/xproto.xml index bf4dcbf..0779568 100644 --- a/src/xproto.xml +++ b/src/xproto.xml @@ -889,74 +889,74 @@ A timestamp of the server time when the property was changed. <enum name="Atom"> <item name="None"> <value>0</value></item> <item name="Any"> <value>0</value></item> - <item name="PRIMARY" /> - <item name="SECONDARY" /> - <item name="ARC" /> - <item name="ATOM" /> - <item name="BITMAP" /> - <item name="CARDINAL" /> - <item name="COLORMAP" /> - <item name="CURSOR" /> - <item name="CUT_BUFFER0" /> - <item name="CUT_BUFFER1" /> - <item name="CUT_BUFFER2" /> - <item name="CUT_BUFFER3" /> - <item name="CUT_BUFFER4" /> - <item name="CUT_BUFFER5" /> - <item name="CUT_BUFFER6" /> - <item name="CUT_BUFFER7" /> - <item name="DRAWABLE" /> - <item name="FONT" /> - <item name="INTEGER" /> - <item name="PIXMAP" /> - <item name="POINT" /> - <item name="RECTANGLE" /> - <item name="RESOURCE_MANAGER" /> - <item name="RGB_COLOR_MAP" /> - <item name="RGB_BEST_MAP" /> - <item name="RGB_BLUE_MAP" /> - <item name="RGB_DEFAULT_MAP" /> - <item name="RGB_GRAY_MAP" /> - <item name="RGB_GREEN_MAP" /> - <item name="RGB_RED_MAP" /> - <item name="STRING" /> - <item name="VISUALID" /> - <item name="WINDOW" /> - <item name="WM_COMMAND" /> - <item name="WM_HINTS" /> - <item name="WM_CLIENT_MACHINE" /> - <item name="WM_ICON_NAME" /> - <item name="WM_ICON_SIZE" /> - <item name="WM_NAME" /> - <item name="WM_NORMAL_HINTS" /> - <item name="WM_SIZE_HINTS" /> - <item name="WM_ZOOM_HINTS" /> - <item name="MIN_SPACE" /> - <item name="NORM_SPACE" /> - <item name="MAX_SPACE" /> - <item name="END_SPACE" /> - <item name="SUPERSCRIPT_X" /> - <item name="SUPERSCRIPT_Y" /> - <item name="SUBSCRIPT_X" /> - <item name="SUBSCRIPT_Y" /> - <item name="UNDERLINE_POSITION" /> - <item name="UNDERLINE_THICKNESS" /> - <item name="STRIKEOUT_ASCENT" /> - <item name="STRIKEOUT_DESCENT" /> - <item name="ITALIC_ANGLE" /> - <item name="X_HEIGHT" /> - <item name="QUAD_WIDTH" /> - <item name="WEIGHT" /> - <item name="POINT_SIZE" /> - <item name="RESOLUTION" /> - <item name="COPYRIGHT" /> - <item name="NOTICE" /> - <item name="FONT_NAME" /> - <item name="FAMILY_NAME" /> - <item name="FULL_NAME" /> - <item name="CAP_HEIGHT" /> - <item name="WM_CLASS" /> - <item name="WM_TRANSIENT_FOR" /> + <item name="PRIMARY"> <value>1</value> </item> + <item name="SECONDARY"> <value>2</value> </item> + <item name="ARC"> <value>3</value> </item> + <item name="ATOM"> <value>4</value> </item> + <item name="BITMAP"> <value>5</value> </item> + <item name="CARDINAL"> <value>6</value> </item> + <item name="COLORMAP"> <value>7</value> </item> + <item name="CURSOR"> <value>8</value> </item> + <item name="CUT_BUFFER0"> <value>9</value> </item> + <item name="CUT_BUFFER1"> <value>10</value> </item> + <item name="CUT_BUFFER2"> <value>11</value> </item> + <item name="CUT_BUFFER3"> <value>12</value> </item> + <item name="CUT_BUFFER4"> <value>13</value> </item> + <item name="CUT_BUFFER5"> <value>14</value> </item> + <item name="CUT_BUFFER6"> <value>15</value> </item> + <item name="CUT_BUFFER7"> <value>16</value> </item> + <item name="DRAWABLE"> <value>17</value> </item> + <item name="FONT"> <value>18</value> </item> + <item name="INTEGER"> <value>19</value> </item> + <item name="PIXMAP"> <value>20</value> </item> + <item name="POINT"> <value>21</value> </item> + <item name="RECTANGLE"> <value>22</value> </item> + <item name="RESOURCE_MANAGER"> <value>23</value> </item> + <item name="RGB_COLOR_MAP"> <value>24</value> </item> + <item name="RGB_BEST_MAP"> <value>25</value> </item> + <item name="RGB_BLUE_MAP"> <value>26</value> </item> + <item name="RGB_DEFAULT_MAP"> <value>27</value> </item> + <item name="RGB_GRAY_MAP"> <value>28</value> </item> + <item name="RGB_GREEN_MAP"> <value>29</value> </item> + <item name="RGB_RED_MAP"> <value>30</value> </item> + <item name="STRING"> <value>31</value> </item> + <item name="VISUALID"> <value>32</value> </item> + <item name="WINDOW"> <value>33</value> </item> + <item name="WM_COMMAND"> <value>34</value> </item> + <item name="WM_HINTS"> <value>35</value> </item> + <item name="WM_CLIENT_MACHINE"> <value>36</value> </item> + <item name="WM_ICON_NAME"> <value>37</value> </item> + <item name="WM_ICON_SIZE"> <value>38</value> </item> + <item name="WM_NAME"> <value>39</value> </item> + <item name="WM_NORMAL_HINTS"> <value>40</value> </item> + <item name="WM_SIZE_HINTS"> <value>41</value> </item> + <item name="WM_ZOOM_HINTS"> <value>42</value> </item> + <item name="MIN_SPACE"> <value>43</value> </item> + <item name="NORM_SPACE"> <value>44</value> </item> + <item name="MAX_SPACE"> <value>45</value> </item> + <item name="END_SPACE"> <value>46</value> </item> + <item name="SUPERSCRIPT_X"> <value>47</value> </item> + <item name="SUPERSCRIPT_Y"> <value>48</value> </item> + <item name="SUBSCRIPT_X"> <value>49</value> </item> + <item name="SUBSCRIPT_Y"> <value>50</value> </item> + <item name="UNDERLINE_POSITION"> <value>51</value> </item> + <item name="UNDERLINE_THICKNESS"> <value>52</value> </item> + <item name="STRIKEOUT_ASCENT"> <value>53</value> </item> + <item name="STRIKEOUT_DESCENT"> <value>54</value> </item> + <item name="ITALIC_ANGLE"> <value>55</value> </item> + <item name="X_HEIGHT"> <value>56</value> </item> + <item name="QUAD_WIDTH"> <value>57</value> </item> + <item name="WEIGHT"> <value>58</value> </item> + <item name="POINT_SIZE"> <value>59</value> </item> + <item name="RESOLUTION"> <value>60</value> </item> + <item name="COPYRIGHT"> <value>61</value> </item> + <item name="NOTICE"> <value>62</value> </item> + <item name="FONT_NAME"> <value>63</value> </item> + <item name="FAMILY_NAME"> <value>64</value> </item> + <item name="FULL_NAME"> <value>65</value> </item> + <item name="CAP_HEIGHT"> <value>66</value> </item> + <item name="WM_CLASS"> <value>67</value> </item> + <item name="WM_TRANSIENT_FOR"> <value>68</value> </item> </enum> <event name="SelectionRequest" number="30"> @@ -1080,7 +1080,21 @@ The number of keycodes altered. </doc> </event> - + <event name="GeGeneric" number="35" xge="true"> + <pad bytes="22" /> + <doc> + <brief>generic event (with length)</brief> + <field name="extension"><![CDATA[ +The major opcode of the extension creating this event + ]]></field> + <field name="length"><![CDATA[ +The amount (in 4-byte units) of data beyond 32 bytes + ]]></field> + <field name="evtype"><![CDATA[ +The extension-specific event type + ]]></field> + </doc> + </event> <!-- Core error types --> @@ -3404,7 +3418,7 @@ The number of characters in `string`. <field name="string"><![CDATA[ The text to get text extents for. ]]></field> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> <error type="Font"><![CDATA[ @@ -3953,7 +3967,7 @@ example. <error type="Font"><![CDATA[ TODO: reasons? ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ TODO: reasons? ]]></error> <error type="Match"><![CDATA[ @@ -4012,7 +4026,7 @@ The X server could not allocate the requested resources (no memory?). Destroys the specified `gc` and all associated storage. ]]></description> <field name="gc"><![CDATA[The graphics context to destroy.]]></field> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> </doc> @@ -4073,7 +4087,7 @@ The height of the area to copy (in pixels). <error type="Drawable"><![CDATA[ The specified `drawable` (Window or Pixmap) does not exist. ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> <error type="Match"><![CDATA[ @@ -4162,7 +4176,7 @@ An array of points. <error type="Drawable"><![CDATA[ TODO: reasons? ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ TODO: reasons? ]]></error> <error type="Match"><![CDATA[ @@ -4216,7 +4230,7 @@ An array of `xcb_segment_t` structures. <error type="Drawable"><![CDATA[ The specified `drawable` does not exist. ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified `gc` does not exist. ]]></error> <error type="Match"><![CDATA[ @@ -4294,7 +4308,7 @@ The rectangles to fill. <error type="Drawable"><![CDATA[ The specified `drawable` (Window or Pixmap) does not exist. ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> <error type="Match"><![CDATA[ @@ -4417,7 +4431,7 @@ background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. <error type="Drawable"><![CDATA[ The specified `drawable` (Window or Pixmap) does not exist. ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> <error type="Match"><![CDATA[ @@ -4475,7 +4489,7 @@ background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. <error type="Drawable"><![CDATA[ The specified `drawable` (Window or Pixmap) does not exist. ]]></error> - <error type="GC"><![CDATA[ + <error type="GContext"><![CDATA[ The specified graphics context does not exist. ]]></error> <error type="Match"><![CDATA[ diff --git a/src/xtest.xml b/src/xtest.xml index 7f0b262..085d3a3 100644 --- a/src/xtest.xml +++ b/src/xtest.xml @@ -27,8 +27,7 @@ authorization from the authors. --> <xcb header="xtest" extension-xname="XTEST" extension-name="Test" - major-version="2" minor-version="1"> - <!-- Conforms to XTEST 2.1 --> + major-version="2" minor-version="2"> <import>xproto</import> @@ -44,13 +44,13 @@ authorization from the authors. </enum> <enum name="ImageFormatInfoType"> - <item name="RGB" /> - <item name="YUV" /> + <item name="RGB"> <value>0</value> </item> + <item name="YUV"> <value>1</value> </item> </enum> <enum name="ImageFormatInfoFormat"> - <item name="Packed" /> - <item name="Planar" /> + <item name="Packed"> <value>0</value> </item> + <item name="Planar"> <value>1</value> </item> </enum> <enum name="AttributeFlag"> @@ -59,25 +59,25 @@ authorization from the authors. </enum> <enum name="VideoNotifyReason"> - <item name="Started" /> - <item name="Stopped" /> - <item name="Busy" /> - <item name="Preempted" /> - <item name="HardError" /> + <item name="Started"> <value>0</value> </item> + <item name="Stopped"> <value>1</value> </item> + <item name="Busy"> <value>2</value> </item> + <item name="Preempted"> <value>3</value> </item> + <item name="HardError"> <value>4</value> </item> </enum> <enum name="ScanlineOrder"> - <item name="TopToBottom" /> - <item name="BottomToTop" /> + <item name="TopToBottom"> <value>0</value> </item> + <item name="BottomToTop"> <value>1</value> </item> </enum> <enum name="GrabPortStatus"> - <item name="Success" /> - <item name="BadExtension" /> - <item name="AlreadyGrabbed" /> - <item name="InvalidTime" /> - <item name="BadReply" /> - <item name="BadAlloc" /> + <item name="Success"> <value>0</value> </item> + <item name="BadExtension"> <value>1</value> </item> + <item name="AlreadyGrabbed"> <value>2</value> </item> + <item name="InvalidTime"> <value>3</value> </item> + <item name="BadReply"> <value>4</value> </item> + <item name="BadAlloc"> <value>5</value> </item> </enum> <struct name="Rational"> @@ -112,10 +112,6 @@ authorization from the authors. <field type="CARD16" name="name_size" /> <field type="CARD16" name="width" /> <field type="CARD16" name="height" /> - <!-- - Some versions of Xvproto.h incorrectly have - this padding after "rate". - --> <pad bytes="2" /> <field type="Rational" name="rate" /> <list type="char" name="name"> @@ -234,10 +230,6 @@ authorization from the authors. <reply> <pad bytes="1" /> <field type="CARD16" name="num_encodings" /> - <!-- - In Xvproto.h this padding is 24 bytes - in actuality it is 22 bytes - --> <pad bytes="22" /> <list type="EncodingInfo" name="info"> <fieldref>num_encodings</fieldref> diff --git a/xcbgen/Makefile.in b/xcbgen/Makefile.in deleted file mode 100644 index 2670e92..0000000 --- a/xcbgen/Makefile.in +++ /dev/null @@ -1,410 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -subdir = xcbgen -DIST_COMMON = $(pkgpython_PYTHON) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) -am__installdirs = "$(DESTDIR)$(pkgpythondir)" -py_compile = $(top_srcdir)/py-compile -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PYTHON = @PYTHON@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_VERSION = @PYTHON_VERSION@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XMLLINT = @XMLLINT@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = $(pythondir)/xcbgen -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xcbincludedir = @xcbincludedir@ -pkgpython_PYTHON = __init__.py error.py expr.py matcher.py state.py xtypes.py -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xcbgen/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign xcbgen/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-pkgpythonPYTHON: $(pkgpython_PYTHON) - @$(NORMAL_INSTALL) - @list='$(pkgpython_PYTHON)'; dlist=; list2=; test -n "$(pkgpythondir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgpythondir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgpythondir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ - if test -f $$b$$p; then \ - $(am__strip_dir) \ - dlist="$$dlist $$f"; \ - list2="$$list2 $$b$$p"; \ - else :; fi; \ - done; \ - for file in $$list2; do echo $$file; done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgpythondir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgpythondir)" || exit $$?; \ - done || exit $$?; \ - if test -n "$$dlist"; then \ - $(am__py_compile) --destdir "$(DESTDIR)" \ - --basedir "$(pkgpythondir)" $$dlist; \ - else :; fi - -uninstall-pkgpythonPYTHON: - @$(NORMAL_UNINSTALL) - @list='$(pkgpython_PYTHON)'; test -n "$(pkgpythondir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - dir='$(DESTDIR)$(pkgpythondir)'; \ - filesc=`echo "$$files" | sed 's|$$|c|'`; \ - fileso=`echo "$$files" | sed 's|$$|o|'`; \ - st=0; \ - for files in "$$files" "$$filesc" "$$fileso"; do \ - $(am__uninstall_files_from_dir) || st=$$?; \ - done; \ - exit $$st -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: - for dir in "$(DESTDIR)$(pkgpythondir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-pkgpythonPYTHON - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-pkgpythonPYTHON - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-pkgpythonPYTHON install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-pkgpythonPYTHON - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/xcbgen/expr.py b/xcbgen/expr.py index 4f8af6f..f9d5179 100644 --- a/xcbgen/expr.py +++ b/xcbgen/expr.py @@ -13,7 +13,7 @@ class Field(object): auto is true iff the field is on the wire but not in the request API (e.g. opcode) enum is the enum name this field refers to, if any. ''' - def __init__(self, type, field_type, field_name, visible, wire, auto, enum=None): + def __init__(self, type, field_type, field_name, visible, wire, auto, enum=None, isfd=False): self.type = type self.field_type = field_type self.field_name = field_name @@ -21,6 +21,7 @@ class Field(object): self.visible = visible self.wire = wire self.auto = auto + self.isfd = isfd class Expression(object): diff --git a/xcbgen/state.py b/xcbgen/state.py index ae3d2d4..10a8722 100644 --- a/xcbgen/state.py +++ b/xcbgen/state.py @@ -74,9 +74,11 @@ class Module(object): self.add_type('CARD8', '', ('uint8_t',), tcard8) self.add_type('CARD16', '', ('uint16_t',), tcard16) self.add_type('CARD32', '', ('uint32_t',), tcard32) + self.add_type('CARD64', '', ('uint64_t',), tcard64) self.add_type('INT8', '', ('int8_t',), tint8) self.add_type('INT16', '', ('int16_t',), tint16) self.add_type('INT32', '', ('int32_t',), tint32) + self.add_type('INT64', '', ('int64_t',), tint64) self.add_type('BYTE', '', ('uint8_t',), tcard8) self.add_type('BOOL', '', ('uint8_t',), tcard8) self.add_type('char', '', ('char',), tchar) diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py index f6d4634..5f45723 100644 --- a/xcbgen/xtypes.py +++ b/xcbgen/xtypes.py @@ -75,6 +75,18 @@ class Type(object): complex_type.fields.append(new_field) + def make_fd_of(self, module, complex_type, fd_name): + ''' + Method for making a fd member of a structure. + ''' + new_fd = Field(self, module.get_type_name('INT32'), fd_name, True, False, False, None, True) + # We dump the _placeholder_byte if any fields are added. + for (idx, field) in enumerate(complex_type.fields): + if field == _placeholder_byte: + complex_type.fields[idx] = new_fd + return + + complex_type.fields.append(new_fd) class SimpleType(Type): ''' @@ -103,9 +115,11 @@ class SimpleType(Type): tcard8 = SimpleType(('uint8_t',), 1) tcard16 = SimpleType(('uint16_t',), 2) tcard32 = SimpleType(('uint32_t',), 4) +tcard64 = SimpleType(('uint64_t',), 8) tint8 = SimpleType(('int8_t',), 1) tint16 = SimpleType(('int16_t',), 2) tint32 = SimpleType(('int32_t',), 4) +tint64 = SimpleType(('int64_t',), 8) tchar = SimpleType(('char',), 1) tfloat = SimpleType(('float',), 4) tdouble = SimpleType(('double',), 8) @@ -277,6 +291,7 @@ class ComplexType(Type): self.nmemb = 1 self.size = 0 self.lenfield_parent = [self] + self.fds = [] def resolve(self, module): if self.resolved: @@ -322,9 +337,14 @@ class ComplexType(Type): type.make_member_of(module, self, field_type, field_name, visible, True, False) type.resolve(module) continue + elif child.tag == 'fd': + fd_name = child.get('name') + type = module.get_type('INT32') + type.make_fd_of(module, self, fd_name) + continue else: # Hit this on Reply - continue + continue # Get the full type name for the field field_type = module.get_type_name(fkey) @@ -481,8 +501,14 @@ class BitcaseType(ComplexType): ''' def __init__(self, index, name, elt, *parent): elts = list(elt) - self.expr = Expression(elts[0] if len(elts) else elt, self) - ComplexType.__init__(self, name, elts[1:]) + self.expr = [] + fields = [] + for elt in elts: + if elt.tag == 'enumref': + self.expr.append(Expression(elt, self)) + else: + fields.append(elt) + ComplexType.__init__(self, name, fields) self.has_name = True self.index = 1 self.lenfield_parent = list(parent) + [self] @@ -510,8 +536,9 @@ class BitcaseType(ComplexType): def resolve(self, module): if self.resolved: return - - self.expr.resolve(module, self.parents+[self]) + + for e in self.expr: + e.resolve(module, self.parents+[self]) # Resolve the bitcase expression ComplexType.resolve(self, module) @@ -593,28 +620,43 @@ class Event(ComplexType): ComplexType.__init__(self, name, elt) self.opcodes = {} - tmp = elt.get('no-sequence-number') - self.has_seq = (tmp == None or tmp.lower() == 'false' or tmp == '0') + self.has_seq = not bool(elt.get('no-sequence-number')) + + self.is_ge_event = bool(elt.get('xge')) self.doc = None for item in list(elt): if item.tag == 'doc': self.doc = Doc(name, item) - + def add_opcode(self, opcode, name, main): self.opcodes[name] = opcode if main: self.name = name def resolve(self, module): + def add_event_header(): + self.fields.append(Field(tcard8, tcard8.name, 'response_type', False, True, True)) + if self.has_seq: + self.fields.append(_placeholder_byte) + self.fields.append(Field(tcard16, tcard16.name, 'sequence', False, True, True)) + + def add_ge_event_header(): + self.fields.append(Field(tcard8, tcard8.name, 'response_type', False, True, True)) + self.fields.append(Field(tcard8, tcard8.name, 'extension', False, True, True)) + self.fields.append(Field(tcard16, tcard16.name, 'sequence', False, True, True)) + self.fields.append(Field(tcard32, tcard32.name, 'length', False, True, True)) + self.fields.append(Field(tcard16, tcard16.name, 'event_type', False, True, True)) + if self.resolved: return # Add the automatic protocol fields - self.fields.append(Field(tcard8, tcard8.name, 'response_type', False, True, True)) - if self.has_seq: - self.fields.append(_placeholder_byte) - self.fields.append(Field(tcard16, tcard16.name, 'sequence', False, True, True)) + if self.is_ge_event: + add_ge_event_header() + else: + add_event_header() + ComplexType.resolve(self, module) out = __main__.output['event'] |