Update to xev 1.2.0
This commit is contained in:
parent
da8acd3d49
commit
2c16010781
@ -1,3 +1,133 @@
|
||||
commit 96b24e2c353bb4c9b7a0e2fff4f13d015fdb25b9
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Tue Feb 21 20:51:23 2012 -0800
|
||||
|
||||
xev 1.2.0
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 42299b08106445e938e47392da5b3c26f650413a
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Feb 15 15:30:59 2012 -0800
|
||||
|
||||
Rename "mask" variable to "rr_mask" in randr setup code.
|
||||
|
||||
Fixes gcc warning:
|
||||
xev.c: In function `main':
|
||||
xev.c:1129: warning: declaration of 'mask' shadows a previous local
|
||||
xev.c:923: warning: shadowed declaration is here
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 5006597a1e440bde27b652bb1754f8ad8e4f39f8
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Sep 28 21:43:40 2011 -0700
|
||||
|
||||
Remove checks for NULL before XFree
|
||||
|
||||
Replaced if (.*) \(XFree (.*);\) with \1
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 2770432c982373624a34b61f8abae100ece19886
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Sep 28 21:39:20 2011 -0700
|
||||
|
||||
Remove render from PKG_CHECK_MODULES list
|
||||
|
||||
No direct calls to libXrender functions or #includes of Xrender headers
|
||||
|
||||
Fixes Solaris ld -z guidance warning:
|
||||
ld: guidance: removal of unused dependency recommended: libXrender.so.1
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit fafbd548d2177d0e91b69fa5bf705bfff3923972
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Sep 28 21:38:49 2011 -0700
|
||||
|
||||
Add const attributes to fix gcc -Wwrite-strings warnings
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit a7882c4ab93100954e9e9a20f58e372bf6da612b
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Sep 28 21:34:17 2011 -0700
|
||||
|
||||
Strip trailing whitespace
|
||||
|
||||
Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}'
|
||||
git diff -w & git diff -b show no diffs from this change
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit a808c25d8d08b6499ae3dd63dad416a75d172cc2
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Thu Jun 9 20:21:51 2011 -0700
|
||||
|
||||
config: Add missing AC_CONFIG_SRCDIR
|
||||
|
||||
Regroup AC statements under the Autoconf initialization section.
|
||||
Regroup AM statements under the Automake initialization section.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit e13d96502d6df614c35584c2e9919f4a508de34f
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Thu Jun 9 20:19:49 2011 -0700
|
||||
|
||||
Replace local checks for gcc with _X_NORETURN from xproto 7.0.17
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 7965bc6efbf5db244593735bbb98f0ffa759cd1a
|
||||
Author: Michael Thayer <michael.thayer@oracle.com>
|
||||
Date: Thu Mar 3 13:35:15 2011 -0800
|
||||
|
||||
Show RandR events
|
||||
|
||||
Signed-off-by: Michael Thayer <michael.thayer@oracle.com>
|
||||
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
|
||||
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
|
||||
Tested-by: Aaron Plattner <aplattner@nvidia.com>
|
||||
|
||||
commit 2e7b697e9b5719056430cead8f4f155db141629a
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Wed Jan 19 10:06:56 2011 -0500
|
||||
|
||||
config: move man pages into their own directory
|
||||
|
||||
Use services provided by XORG_MANPAGE_SECTIONS.
|
||||
Use standard Makefile for man pages.
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 5f862ac7239618dcccd793aa8a13490f3f67ff50
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Jan 13 17:15:36 2011 -0500
|
||||
|
||||
man: replace hard coded man page section with substitution strings
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 53c871b0439997c0a73ecf8f1af892efa955daa7
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Jan 13 11:15:47 2011 -0500
|
||||
|
||||
man: remove trailing spaces and tabs
|
||||
|
||||
Using s/[ \t]*$//
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit e74ac8c79c617faa5d28b6d40ffd58c7aa1b4919
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Wed Jan 12 16:28:02 2011 -0500
|
||||
|
||||
config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
|
||||
|
||||
This silences an Autoconf warning
|
||||
|
||||
commit 01e2993e2563285ee22f18accecb5d65009a49a1
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sat Oct 30 09:03:09 2010 -0700
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
#
|
||||
# Copyright 2005 Red Hat, Inc.
|
||||
#
|
||||
#
|
||||
# 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
|
||||
@ -10,7 +10,7 @@
|
||||
# specific, written prior permission. Red Hat makes no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
#
|
||||
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
@ -19,6 +19,7 @@
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
SUBDIRS = man
|
||||
bin_PROGRAMS = xev
|
||||
|
||||
AM_CFLAGS = $(CWARNFLAGS) $(XEV_CFLAGS)
|
||||
@ -27,23 +28,7 @@ xev_LDADD = $(XEV_LIBS)
|
||||
xev_SOURCES = \
|
||||
xev.c
|
||||
|
||||
appman_PRE = \
|
||||
xev.man
|
||||
|
||||
|
||||
appmandir = $(APP_MAN_DIR)
|
||||
|
||||
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
|
||||
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
CLEANFILES = $(appman_DATA)
|
||||
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
|
@ -14,9 +14,9 @@
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
#
|
||||
#
|
||||
# Copyright 2005 Red Hat, Inc.
|
||||
#
|
||||
#
|
||||
# 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
|
||||
@ -26,7 +26,7 @@
|
||||
# specific, written prior permission. Red Hat makes no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
#
|
||||
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
@ -35,7 +35,6 @@
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
@ -45,9 +44,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
|
||||
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
@ -73,7 +72,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
mkinstalldirs = $(SHELL) $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_xev_OBJECTS = xev.$(OBJEXT)
|
||||
@ -89,16 +88,15 @@ CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(xev_SOURCES)
|
||||
DIST_SOURCES = $(xev_SOURCES)
|
||||
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 = `echo $$p | sed -e 's|^.*/||'`;
|
||||
appmanDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(appman_DATA)
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-exec-recursive install-info-recursive \
|
||||
install-recursive installcheck-recursive installdirs-recursive \
|
||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
@ -123,6 +121,7 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
@ -173,6 +172,7 @@ PKG_CONFIG = @PKG_CONFIG@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XEV_CFLAGS = @XEV_CFLAGS@
|
||||
@ -221,25 +221,18 @@ sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = man
|
||||
AM_CFLAGS = $(CWARNFLAGS) $(XEV_CFLAGS)
|
||||
xev_LDADD = $(XEV_LIBS)
|
||||
xev_SOURCES = \
|
||||
xev.c
|
||||
|
||||
appman_PRE = \
|
||||
xev.man
|
||||
|
||||
appmandir = $(APP_MAN_DIR)
|
||||
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
CLEANFILES = $(appman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(APP_MAN_SUFFIX) .man .c .o .obj
|
||||
.SUFFIXES: .c .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@ -339,22 +332,76 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
uninstall-info-am:
|
||||
install-appmanDATA: $(appman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)"
|
||||
@list='$(appman_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \
|
||||
$(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-appmanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(appman_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(appmandir)/$$f"; \
|
||||
# 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):
|
||||
@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; \
|
||||
(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"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@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; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@ -367,10 +414,23 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
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 || \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
@ -383,7 +443,7 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
@ -434,6 +494,21 @@ distdir: $(DISTFILES)
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
distdir=`$(am__cd) $(distdir) && pwd`; \
|
||||
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
||||
(cd $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$top_distdir" \
|
||||
distdir="$$distdir/$$subdir" \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-hook
|
||||
@ -535,21 +610,22 @@ distcleancheck: distclean
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS) $(DATA) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \
|
||||
check: check-recursive
|
||||
all-am: Makefile $(PROGRAMS) config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(bindir)"; 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: 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-am
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
@ -558,7 +634,6 @@ install-strip:
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
@ -567,79 +642,77 @@ maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
clean: clean-am
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
html: html-recursive
|
||||
|
||||
info: info-am
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-appmanDATA
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-info: install-info-am
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \
|
||||
uninstall-info-am
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
|
||||
distclean distclean-compile distclean-generic distclean-hdr \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-appmanDATA install-binPROGRAMS install-data \
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
||||
check-am clean clean-binPROGRAMS clean-generic clean-recursive \
|
||||
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
|
||||
dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
|
||||
distclean-compile distclean-generic distclean-hdr \
|
||||
distclean-recursive distclean-tags distcleancheck distdir \
|
||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||
install install-am install-binPROGRAMS install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
|
||||
uninstall-am uninstall-appmanDATA uninstall-binPROGRAMS \
|
||||
uninstall-info-am
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic maintainer-clean-recursive \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
|
||||
uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
|
664
app/xev/aclocal.m4
vendored
664
app/xev/aclocal.m4
vendored
@ -498,18 +498,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
|
||||
# Copyright (C) 1996, 1997, 2000, 2001, 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 8
|
||||
|
||||
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
|
||||
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
@ -1034,7 +1022,7 @@ dnl DEALINGS IN THE SOFTWARE.
|
||||
# See the "minimum version" comment for each macro you use to see what
|
||||
# version you require.
|
||||
m4_defun([XORG_MACROS_VERSION],[
|
||||
m4_define([vers_have], [1.11.0])
|
||||
m4_define([vers_have], [1.16.1])
|
||||
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||||
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
@ -1061,7 +1049,7 @@ AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
|
||||
# which is not the best choice for supporting other OS'es, but covers most
|
||||
# of the ones we need for now.
|
||||
AC_MSG_CHECKING([if $RAWCPP requires -undef])
|
||||
AC_LANG_CONFTEST([Does cpp redefine unix ?])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])])
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
@ -1079,7 +1067,7 @@ fi
|
||||
rm -f conftest.$ac_ext
|
||||
|
||||
AC_MSG_CHECKING([if $RAWCPP requires -traditional])
|
||||
AC_LANG_CONFTEST([Does cpp preserve "whitespace"?])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])])
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
@ -1429,6 +1417,123 @@ AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
|
||||
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
|
||||
]) # XORG_WITH_XMLTO
|
||||
|
||||
# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
|
||||
# --------------------------------------------
|
||||
# Minimum version: 1.12.0
|
||||
# Minimum version for optional DEFAULT argument: 1.12.0
|
||||
#
|
||||
# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
|
||||
# XML-based language used for the transformation of XML documents.
|
||||
# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
|
||||
# It is used under the cover by xmlto to generate html files from DocBook/XML.
|
||||
# The XSLT processor is often used as a standalone tool for transformations.
|
||||
# It should not be assumed that this tool is used only to work with documnetation.
|
||||
# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
|
||||
#
|
||||
# Interface to module:
|
||||
# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
|
||||
# XSLTPROC: returns the path of the xsltproc program found
|
||||
# returns the path set by the user in the environment
|
||||
# --with-xsltproc: 'yes' user instructs the module to use xsltproc
|
||||
# 'no' user instructs the module not to use xsltproc
|
||||
# have_xsltproc: returns yes if xsltproc found in PATH or no
|
||||
#
|
||||
# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
|
||||
#
|
||||
AC_DEFUN([XORG_WITH_XSLTPROC],[
|
||||
AC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
|
||||
# Preserves the interface, should it be implemented later
|
||||
m4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])])
|
||||
m4_define([_defopt], m4_default([$2], [auto]))
|
||||
AC_ARG_WITH(xsltproc,
|
||||
AS_HELP_STRING([--with-xsltproc],
|
||||
[Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
|
||||
[use_xsltproc=$withval], [use_xsltproc=]_defopt)
|
||||
m4_undefine([_defopt])
|
||||
|
||||
if test "x$use_xsltproc" = x"auto"; then
|
||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||
if test "x$XSLTPROC" = "x"; then
|
||||
AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
|
||||
have_xsltproc=no
|
||||
else
|
||||
have_xsltproc=yes
|
||||
fi
|
||||
elif test "x$use_xsltproc" = x"yes" ; then
|
||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||
if test "x$XSLTPROC" = "x"; then
|
||||
AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
|
||||
fi
|
||||
have_xsltproc=yes
|
||||
elif test "x$use_xsltproc" = x"no" ; then
|
||||
if test "x$XSLTPROC" != "x"; then
|
||||
AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
|
||||
fi
|
||||
have_xsltproc=no
|
||||
else
|
||||
AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
|
||||
]) # XORG_WITH_XSLTPROC
|
||||
|
||||
# XORG_WITH_PERL([MIN-VERSION], [DEFAULT])
|
||||
# ----------------------------------------
|
||||
# Minimum version: 1.15.0
|
||||
#
|
||||
# PERL (Practical Extraction and Report Language) is a language optimized for
|
||||
# scanning arbitrary text files, extracting information from those text files,
|
||||
# and printing reports based on that information.
|
||||
#
|
||||
# When DEFAULT is not specified, --with-perl assumes 'auto'.
|
||||
#
|
||||
# Interface to module:
|
||||
# HAVE_PERL: used in makefiles to conditionally scan text files
|
||||
# PERL: returns the path of the perl program found
|
||||
# returns the path set by the user in the environment
|
||||
# --with-perl: 'yes' user instructs the module to use perl
|
||||
# 'no' user instructs the module not to use perl
|
||||
# have_perl: returns yes if perl found in PATH or no
|
||||
#
|
||||
# If the user sets the value of PERL, AC_PATH_PROG skips testing the path.
|
||||
#
|
||||
AC_DEFUN([XORG_WITH_PERL],[
|
||||
AC_ARG_VAR([PERL], [Path to perl command])
|
||||
# Preserves the interface, should it be implemented later
|
||||
m4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])])
|
||||
m4_define([_defopt], m4_default([$2], [auto]))
|
||||
AC_ARG_WITH(perl,
|
||||
AS_HELP_STRING([--with-perl],
|
||||
[Use perl for extracting information from files (default: ]_defopt[)]),
|
||||
[use_perl=$withval], [use_perl=]_defopt)
|
||||
m4_undefine([_defopt])
|
||||
|
||||
if test "x$use_perl" = x"auto"; then
|
||||
AC_PATH_PROG([PERL], [perl])
|
||||
if test "x$PERL" = "x"; then
|
||||
AC_MSG_WARN([perl not found - cannot extract information and report])
|
||||
have_perl=no
|
||||
else
|
||||
have_perl=yes
|
||||
fi
|
||||
elif test "x$use_perl" = x"yes" ; then
|
||||
AC_PATH_PROG([PERL], [perl])
|
||||
if test "x$PERL" = "x"; then
|
||||
AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH])
|
||||
fi
|
||||
have_perl=yes
|
||||
elif test "x$use_perl" = x"no" ; then
|
||||
if test "x$PERL" != "x"; then
|
||||
AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified])
|
||||
fi
|
||||
have_perl=no
|
||||
else
|
||||
AC_MSG_ERROR([--with-perl expects 'yes' or 'no'])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
|
||||
]) # XORG_WITH_PERL
|
||||
|
||||
# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
|
||||
# ----------------
|
||||
# Minimum version: 1.5.0
|
||||
@ -1674,10 +1779,11 @@ AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
|
||||
AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
|
||||
]) # XORG_WITH_GROFF
|
||||
|
||||
# XORG_WITH_FOP([DEFAULT])
|
||||
# ----------------
|
||||
# XORG_WITH_FOP([MIN-VERSION], [DEFAULT])
|
||||
# ---------------------------------------
|
||||
# Minimum version: 1.6.0
|
||||
# Minimum version for optional DEFAULT argument: 1.11.0
|
||||
# Minimum version for optional MIN-VERSION argument: 1.15.0
|
||||
#
|
||||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
@ -1697,7 +1803,7 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
|
||||
#
|
||||
AC_DEFUN([XORG_WITH_FOP],[
|
||||
AC_ARG_VAR([FOP], [Path to fop command])
|
||||
m4_define([_defopt], m4_default([$1], [auto]))
|
||||
m4_define([_defopt], m4_default([$2], [auto]))
|
||||
AC_ARG_WITH(fop,
|
||||
AS_HELP_STRING([--with-fop],
|
||||
[Use fop to regenerate documentation (default: ]_defopt[)]),
|
||||
@ -1726,6 +1832,22 @@ elif test "x$use_fop" = x"no" ; then
|
||||
else
|
||||
AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
|
||||
fi
|
||||
|
||||
# Test for a minimum version of fop, if provided.
|
||||
m4_ifval([$1],
|
||||
[if test "$have_fop" = yes; then
|
||||
# scrape the fop version
|
||||
AC_MSG_CHECKING([for fop minimum version])
|
||||
fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3`
|
||||
AC_MSG_RESULT([$fop_version])
|
||||
AS_VERSION_COMPARE([$fop_version], [$1],
|
||||
[if test "x$use_fop" = xauto; then
|
||||
AC_MSG_WARN([fop version $fop_version found, but $1 needed])
|
||||
have_fop=no
|
||||
else
|
||||
AC_MSG_ERROR([fop version $fop_version found, but $1 needed])
|
||||
fi])
|
||||
fi])
|
||||
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
|
||||
]) # XORG_WITH_FOP
|
||||
|
||||
@ -1808,12 +1930,12 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
|
||||
# parm1: specify the default value, yes or no.
|
||||
#
|
||||
AC_DEFUN([XORG_ENABLE_DOCS],[
|
||||
m4_define([default], m4_default([$1], [yes]))
|
||||
m4_define([docs_default], m4_default([$1], [yes]))
|
||||
AC_ARG_ENABLE(docs,
|
||||
AS_HELP_STRING([--enable-docs],
|
||||
[Enable building the documentation (default: ]default[)]),
|
||||
[build_docs=$enableval], [build_docs=]default)
|
||||
m4_undefine([default])
|
||||
[Enable building the documentation (default: ]docs_default[)]),
|
||||
[build_docs=$enableval], [build_docs=]docs_default)
|
||||
m4_undefine([docs_default])
|
||||
AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
|
||||
AC_MSG_CHECKING([whether to build documentation])
|
||||
AC_MSG_RESULT([$build_docs])
|
||||
@ -1885,6 +2007,251 @@ AC_MSG_CHECKING([whether to build functional specifications])
|
||||
AC_MSG_RESULT([$build_specs])
|
||||
]) # XORG_ENABLE_SPECS
|
||||
|
||||
# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
|
||||
# ----------------------------------------------
|
||||
# Minimum version: 1.13.0
|
||||
#
|
||||
# This macro enables a builder to enable/disable unit testing
|
||||
# It makes no assumption about the test cases implementation
|
||||
# Test cases may or may not use Automake "Support for test suites"
|
||||
# They may or may not use the software utility library GLib
|
||||
#
|
||||
# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
|
||||
# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
|
||||
# The variable enable_unit_tests is used by other macros in this file.
|
||||
#
|
||||
# Interface to module:
|
||||
# ENABLE_UNIT_TESTS: used in makefiles to conditionally build tests
|
||||
# enable_unit_tests: used in configure.ac for additional configuration
|
||||
# --enable-unit-tests: 'yes' user instructs the module to build tests
|
||||
# 'no' user instructs the module not to build tests
|
||||
# parm1: specify the default value, yes or no.
|
||||
#
|
||||
AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
|
||||
AC_BEFORE([$0], [XORG_WITH_GLIB])
|
||||
AC_BEFORE([$0], [XORG_LD_WRAP])
|
||||
AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
|
||||
m4_define([_defopt], m4_default([$1], [auto]))
|
||||
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
||||
[Enable building unit test cases (default: ]_defopt[)]),
|
||||
[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
|
||||
m4_undefine([_defopt])
|
||||
AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
|
||||
AC_MSG_CHECKING([whether to build unit test cases])
|
||||
AC_MSG_RESULT([$enable_unit_tests])
|
||||
]) # XORG_ENABLE_UNIT_TESTS
|
||||
|
||||
# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
|
||||
# ----------------------------------------
|
||||
# Minimum version: 1.13.0
|
||||
#
|
||||
# GLib is a library which provides advanced data structures and functions.
|
||||
# This macro enables a module to test for the presence of Glib.
|
||||
#
|
||||
# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
|
||||
# Otherwise the value of $enable_unit_tests is blank.
|
||||
#
|
||||
# Interface to module:
|
||||
# HAVE_GLIB: used in makefiles to conditionally build targets
|
||||
# with_glib: used in configure.ac to know if GLib has been found
|
||||
# --with-glib: 'yes' user instructs the module to use glib
|
||||
# 'no' user instructs the module not to use glib
|
||||
#
|
||||
AC_DEFUN([XORG_WITH_GLIB],[
|
||||
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
m4_define([_defopt], m4_default([$2], [auto]))
|
||||
AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
|
||||
[Use GLib library for unit testing (default: ]_defopt[)]),
|
||||
[with_glib=$withval], [with_glib=]_defopt)
|
||||
m4_undefine([_defopt])
|
||||
|
||||
have_glib=no
|
||||
# Do not probe GLib if user explicitly disabled unit testing
|
||||
if test "x$enable_unit_tests" != x"no"; then
|
||||
# Do not probe GLib if user explicitly disabled it
|
||||
if test "x$with_glib" != x"no"; then
|
||||
m4_ifval(
|
||||
[$1],
|
||||
[PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
|
||||
[PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
|
||||
)
|
||||
fi
|
||||
fi
|
||||
|
||||
# Not having GLib when unit testing has been explicitly requested is an error
|
||||
if test "x$enable_unit_tests" = x"yes"; then
|
||||
if test "x$have_glib" = x"no"; then
|
||||
AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
|
||||
fi
|
||||
fi
|
||||
|
||||
# Having unit testing disabled when GLib has been explicitly requested is an error
|
||||
if test "x$enable_unit_tests" = x"no"; then
|
||||
if test "x$with_glib" = x"yes"; then
|
||||
AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
|
||||
fi
|
||||
fi
|
||||
|
||||
# Not having GLib when it has been explicitly requested is an error
|
||||
if test "x$with_glib" = x"yes"; then
|
||||
if test "x$have_glib" = x"no"; then
|
||||
AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
|
||||
fi
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
|
||||
]) # XORG_WITH_GLIB
|
||||
|
||||
# XORG_LD_WRAP([required|optional])
|
||||
# ---------------------------------
|
||||
# Minimum version: 1.13.0
|
||||
#
|
||||
# Check if linker supports -wrap, passed via compiler flags
|
||||
#
|
||||
# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
|
||||
# Otherwise the value of $enable_unit_tests is blank.
|
||||
#
|
||||
# Argument added in 1.16.0 - default is "required", to match existing behavior
|
||||
# of returning an error if enable_unit_tests is yes, and ld -wrap is not
|
||||
# available, an argument of "optional" allows use when some unit tests require
|
||||
# ld -wrap and others do not.
|
||||
#
|
||||
AC_DEFUN([XORG_LD_WRAP],[
|
||||
XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
|
||||
[AC_LANG_PROGRAM([#include <stdlib.h>
|
||||
void __wrap_exit(int status) { return; }],
|
||||
[exit(0);])])
|
||||
# Not having ld wrap when unit testing has been explicitly requested is an error
|
||||
if test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
|
||||
if test "x$have_ld_wrap" = x"no"; then
|
||||
AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
|
||||
#
|
||||
]) # XORG_LD_WRAP
|
||||
|
||||
# XORG_CHECK_LINKER_FLAGS
|
||||
# -----------------------
|
||||
# SYNOPSIS
|
||||
#
|
||||
# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check whether the given linker FLAGS work with the current language's
|
||||
# linker, or whether they give an error.
|
||||
#
|
||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
||||
# success/failure.
|
||||
#
|
||||
# PROGRAM-SOURCE is the program source to link with, if needed
|
||||
#
|
||||
# NOTE: Based on AX_CHECK_COMPILER_FLAGS.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
|
||||
# Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
|
||||
# Copyright (c) 2009 Matteo Frigo
|
||||
#
|
||||
# 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 3 of the License, 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, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.#
|
||||
AC_DEFUN([XORG_CHECK_LINKER_FLAGS],
|
||||
[AC_MSG_CHECKING([whether the linker accepts $1])
|
||||
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
|
||||
AS_LITERAL_IF([$1],
|
||||
[AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
|
||||
ax_save_FLAGS=$LDFLAGS
|
||||
LDFLAGS="$1"
|
||||
AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
|
||||
AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
|
||||
AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
|
||||
LDFLAGS=$ax_save_FLAGS])],
|
||||
[ax_save_FLAGS=$LDFLAGS
|
||||
LDFLAGS="$1"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
|
||||
eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
|
||||
eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
|
||||
LDFLAGS=$ax_save_FLAGS])
|
||||
eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
|
||||
AC_MSG_RESULT($xorg_check_linker_flags)
|
||||
if test "x$xorg_check_linker_flags" = xyes; then
|
||||
m4_default([$2], :)
|
||||
else
|
||||
m4_default([$3], :)
|
||||
fi
|
||||
]) # XORG_CHECK_LINKER_FLAGS
|
||||
|
||||
# XORG_MEMORY_CHECK_FLAGS
|
||||
# -----------------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# This macro attempts to find appropriate memory checking functionality
|
||||
# for various platforms which unit testing code may use to catch various
|
||||
# forms of memory allocation and access errors in testing.
|
||||
#
|
||||
# Interface to module:
|
||||
# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
|
||||
# Usually added to TESTS_ENVIRONMENT in Makefile.am
|
||||
#
|
||||
# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
|
||||
#
|
||||
AC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
|
||||
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
|
||||
[Environment variables to enable memory checking in tests])
|
||||
|
||||
# Check for different types of support on different platforms
|
||||
case $host_os in
|
||||
solaris*)
|
||||
AC_CHECK_LIB([umem], [umem_alloc],
|
||||
[malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
|
||||
;;
|
||||
*-gnu*) # GNU libc - Value is used as a single byte bit pattern,
|
||||
# both directly and inverted, so should not be 0 or 255.
|
||||
malloc_debug_env='MALLOC_PERTURB_=15'
|
||||
;;
|
||||
darwin*)
|
||||
malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
|
||||
;;
|
||||
*bsd*)
|
||||
malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
|
||||
;;
|
||||
esac
|
||||
|
||||
# User supplied flags override default flags
|
||||
if test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
|
||||
malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
|
||||
fi
|
||||
|
||||
AC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
|
||||
]) # XORG_WITH_LINT
|
||||
|
||||
# XORG_CHECK_MALLOC_ZERO
|
||||
# ----------------------
|
||||
# Minimum version: 1.0.0
|
||||
@ -1901,18 +2268,16 @@ AC_ARG_ENABLE(malloc0returnsnull,
|
||||
|
||||
AC_MSG_CHECKING([whether malloc(0) returns NULL])
|
||||
if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
|
||||
AC_RUN_IFELSE([
|
||||
char *malloc();
|
||||
char *realloc();
|
||||
char *calloc();
|
||||
main() {
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||
#include <stdlib.h>
|
||||
],[
|
||||
char *m0, *r0, *c0, *p;
|
||||
m0 = malloc(0);
|
||||
p = malloc(10);
|
||||
r0 = realloc(p,0);
|
||||
c0 = calloc(0);
|
||||
exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
|
||||
}],
|
||||
c0 = calloc(0,10);
|
||||
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
|
||||
])],
|
||||
[MALLOC_ZERO_RETURNS_NULL=yes],
|
||||
[MALLOC_ZERO_RETURNS_NULL=no],
|
||||
[MALLOC_ZERO_RETURNS_NULL=yes])
|
||||
@ -2038,28 +2403,204 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
|
||||
|
||||
]) # XORG_LINT_LIBRARY
|
||||
|
||||
# XORG_COMPILER_BRAND
|
||||
# -------------------
|
||||
# Minimum version: 1.14.0
|
||||
#
|
||||
# Checks for various brands of compilers and sets flags as appropriate:
|
||||
# GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
|
||||
# clang compiler - sets CLANGCC to "yes"
|
||||
# Intel compiler - sets INTELCC to "yes"
|
||||
# Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
|
||||
#
|
||||
AC_DEFUN([XORG_COMPILER_BRAND], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
|
||||
AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
|
||||
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||||
]) # XORG_COMPILER_BRAND
|
||||
|
||||
# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
|
||||
# ---------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# Test if the compiler works when passed the given flag as a command line argument.
|
||||
# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
|
||||
# next flag in the list until there are no more options.
|
||||
#
|
||||
# Note that this does not guarantee that the compiler supports the flag as some
|
||||
# compilers will simply ignore arguments that they do not understand, but we do
|
||||
# attempt to weed out false positives by using -Werror=unknown-warning-option and
|
||||
# -Werror=unused-command-line-argument
|
||||
#
|
||||
AC_DEFUN([XORG_TESTSET_CFLAG], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
m4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
|
||||
m4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
|
||||
|
||||
xorg_testset_save_CFLAGS="$CFLAGS"
|
||||
|
||||
if test "x$xorg_testset_unknown_warning_option" = "x" ; then
|
||||
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
|
||||
AC_MSG_CHECKING([if $CC supports -Werror=unknown-warning-option])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
|
||||
[xorg_testset_unknown_warning_option=yes],
|
||||
[xorg_testset_unknown_warning_option=no])
|
||||
AC_MSG_RESULT([$xorg_testset_unknown_warning_option])
|
||||
CFLAGS="$xorg_testset_save_CFLAGS"
|
||||
fi
|
||||
|
||||
if test "x$xorg_testset_unused_command_line_argument" = "x" ; then
|
||||
if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
|
||||
fi
|
||||
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
|
||||
AC_MSG_CHECKING([if $CC supports -Werror=unused-command-line-argument])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
|
||||
[xorg_testset_unused_command_line_argument=yes],
|
||||
[xorg_testset_unused_command_line_argument=no])
|
||||
AC_MSG_RESULT([$xorg_testset_unused_command_line_argument])
|
||||
CFLAGS="$xorg_testset_save_CFLAGS"
|
||||
fi
|
||||
|
||||
found="no"
|
||||
m4_foreach([flag], m4_cdr($@), [
|
||||
if test $found = "no" ; then
|
||||
if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
|
||||
fi
|
||||
|
||||
if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
|
||||
fi
|
||||
|
||||
CFLAGS="$CFLAGS ]flag["
|
||||
|
||||
AC_MSG_CHECKING([if $CC supports ]flag[])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
|
||||
[supported=yes], [supported=no])
|
||||
AC_MSG_RESULT([$supported])
|
||||
CFLAGS="$xorg_testset_save_CFLAGS"
|
||||
|
||||
if test "$supported" = "yes" ; then
|
||||
$1="$$1 ]flag["
|
||||
found="yes"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
]) # XORG_TESTSET_CFLAG
|
||||
|
||||
# XORG_COMPILER_FLAGS
|
||||
# ---------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# Defines BASE_CFLAGS to contain a set of command line arguments supported
|
||||
# by the selected compiler which do NOT alter the generated code. These
|
||||
# arguments will cause the compiler to print various warnings during
|
||||
# compilation AND turn a conservative set of warnings into errors.
|
||||
#
|
||||
# The set of flags supported by BASE_CFLAGS will grow in future
|
||||
# versions of util-macros as options are added to new compilers.
|
||||
#
|
||||
AC_DEFUN([XORG_COMPILER_FLAGS], [
|
||||
AC_REQUIRE([XORG_COMPILER_BRAND])
|
||||
|
||||
AC_ARG_ENABLE(selective-werror,
|
||||
AS_HELP_STRING([--disable-selective-werror],
|
||||
[Turn off selective compiler errors. (default: enabled)]),
|
||||
[SELECTIVE_WERROR=$enableval],
|
||||
[SELECTIVE_WERROR=yes])
|
||||
|
||||
# -v is too short to test reliably with XORG_TESTSET_CFLAG
|
||||
if test "x$SUNCC" = "xyes"; then
|
||||
BASE_CFLAGS="-v"
|
||||
else
|
||||
BASE_CFLAGS=""
|
||||
fi
|
||||
|
||||
# This chunk of warnings were those that existed in the legacy CWARNFLAGS
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wall])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wpointer-arith])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wstrict-prototypes])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmissing-prototypes])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmissing-declarations])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wnested-externs])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wbad-function-cast])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wformat=2], [-Wformat])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wold-style-definition])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wdeclaration-after-statement])
|
||||
|
||||
# This chunk adds additional warnings that could catch undesired effects.
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wunused])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wuninitialized])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wshadow])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wcast-qual])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmissing-noreturn])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmissing-format-attribute])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wredundant-decls])
|
||||
|
||||
# These are currently disabled because they are noisy. They will be enabled
|
||||
# in the future once the codebase is sufficiently modernized to silence
|
||||
# them. For now, I don't want them to drown out the other warnings.
|
||||
# XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wlogical-op])
|
||||
# XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wparentheses])
|
||||
# XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wcast-align])
|
||||
|
||||
# Turn some warnings into errors, so we don't accidently get successful builds
|
||||
# when there are problems that should be fixed.
|
||||
|
||||
if test "x$SELECTIVE_WERROR" = "xyes" ; then
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=nonnull])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=init-self])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=main])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=missing-braces])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=sequence-point])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=trigraphs])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=array-bounds])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=write-strings])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=address])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
|
||||
else
|
||||
AC_MSG_WARN([You have chosen not to turn some select compiler warnings into errors. This should not be necessary. Please report why you needed to do so in a bug report at $PACKAGE_BUGREPORT])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wimplicit])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wnonnull])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Winit-self])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmain])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wmissing-braces])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wsequence-point])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wreturn-type])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wtrigraphs])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Warray-bounds])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wwrite-strings])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Waddress])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wint-to-pointer-cast])
|
||||
XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wpointer-to-int-cast])
|
||||
fi
|
||||
|
||||
AC_SUBST([BASE_CFLAGS])
|
||||
]) # XORG_COMPILER_FLAGS
|
||||
|
||||
# XORG_CWARNFLAGS
|
||||
# ---------------
|
||||
# Minimum version: 1.2.0
|
||||
# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
|
||||
#
|
||||
# Defines CWARNFLAGS to enable C compiler warnings.
|
||||
#
|
||||
# This function is deprecated because it defines -fno-strict-aliasing
|
||||
# which alters the code generated by the compiler. If -fno-strict-aliasing
|
||||
# is needed, then it should be added explicitly in the module when
|
||||
# it is updated to use BASE_CFLAGS.
|
||||
#
|
||||
AC_DEFUN([XORG_CWARNFLAGS], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_REQUIRE([XORG_COMPILER_FLAGS])
|
||||
AC_REQUIRE([XORG_COMPILER_BRAND])
|
||||
CWARNFLAGS="$BASE_CFLAGS"
|
||||
if test "x$GCC" = xyes ; then
|
||||
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
|
||||
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
|
||||
-Wbad-function-cast -Wformat=2"
|
||||
case `$CC -dumpversion` in
|
||||
3.4.* | 4.*)
|
||||
CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||||
if test "x$SUNCC" = "xyes"; then
|
||||
CWARNFLAGS="-v"
|
||||
fi
|
||||
CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
|
||||
fi
|
||||
AC_SUBST(CWARNFLAGS)
|
||||
]) # XORG_CWARNFLAGS
|
||||
@ -2068,28 +2609,36 @@ AC_SUBST(CWARNFLAGS)
|
||||
# -----------------------
|
||||
# Minimum version: 1.3.0
|
||||
#
|
||||
# Add configure option to enable strict compilation
|
||||
# Add configure option to enable strict compilation flags, such as treating
|
||||
# warnings as fatal errors.
|
||||
# If --enable-strict-compilation is passed to configure, adds strict flags to
|
||||
# $BASE_CFLAGS and the deprecated $CWARNFLAGS.
|
||||
#
|
||||
# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
|
||||
# when strict compilation is unconditionally desired.
|
||||
AC_DEFUN([XORG_STRICT_OPTION], [
|
||||
# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_REQUIRE([XORG_CWARNFLAGS])
|
||||
AC_REQUIRE([XORG_COMPILER_FLAGS])
|
||||
|
||||
AC_ARG_ENABLE(strict-compilation,
|
||||
AS_HELP_STRING([--enable-strict-compilation],
|
||||
[Enable all warnings from compiler and make them errors (default: disabled)]),
|
||||
[STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
|
||||
|
||||
STRICT_CFLAGS=""
|
||||
XORG_TESTSET_CFLAG([STRICT_CFLAGS], [-pedantic])
|
||||
XORG_TESTSET_CFLAG([STRICT_CFLAGS], [-Werror], [-errwarn])
|
||||
|
||||
# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
|
||||
# activate it with -Werror, so we add it here explicitly.
|
||||
XORG_TESTSET_CFLAG([STRICT_CFLAGS], [-Werror=attributes])
|
||||
|
||||
if test "x$STRICT_COMPILE" = "xyes"; then
|
||||
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||||
AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
|
||||
if test "x$GCC" = xyes ; then
|
||||
STRICT_CFLAGS="-pedantic -Werror"
|
||||
elif test "x$SUNCC" = "xyes"; then
|
||||
STRICT_CFLAGS="-errwarn"
|
||||
elif test "x$INTELCC" = "xyes"; then
|
||||
STRICT_CFLAGS="-Werror"
|
||||
fi
|
||||
BASE_CFLAGS="$BASE_CFLAGS $STRICT_CFLAGS"
|
||||
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
|
||||
fi
|
||||
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
|
||||
AC_SUBST([STRICT_CFLAGS])
|
||||
AC_SUBST([BASE_CFLAGS])
|
||||
AC_SUBST([CWARNFLAGS])
|
||||
]) # XORG_STRICT_OPTION
|
||||
|
||||
@ -2101,6 +2650,7 @@ AC_SUBST([CWARNFLAGS])
|
||||
#
|
||||
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
|
||||
AC_REQUIRE([AC_PROG_INSTALL])
|
||||
XORG_COMPILER_FLAGS
|
||||
XORG_CWARNFLAGS
|
||||
XORG_STRICT_OPTION
|
||||
XORG_RELEASE_VERSION
|
||||
|
8568
app/xev/configure
vendored
8568
app/xev/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
dnl Copyright 2005 Red Hat, Inc.
|
||||
dnl
|
||||
dnl
|
||||
dnl Permission to use, copy, modify, distribute, and sell this software and its
|
||||
dnl documentation for any purpose is hereby granted without fee, provided that
|
||||
dnl the above copyright notice appear in all copies and that both that
|
||||
@ -9,7 +9,7 @@ dnl advertising or publicity pertaining to distribution of the software without
|
||||
dnl specific, written prior permission. Red Hat makes no
|
||||
dnl representations about the suitability of this software for any purpose. It
|
||||
dnl is provided "as is" without express or implied warranty.
|
||||
dnl
|
||||
dnl
|
||||
dnl RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
dnl EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
@ -20,22 +20,27 @@ dnl PERFORMANCE OF THIS SOFTWARE.
|
||||
dnl
|
||||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xev], [1.1.0],
|
||||
AC_INIT([xev], [1.2.0],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xev])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
# Initialize Automake
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
|
||||
m4_ifndef([XORG_MACROS_VERSION],
|
||||
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.8)
|
||||
|
||||
XORG_DEFAULT_OPTIONS
|
||||
|
||||
# Checks for pkg-config packages
|
||||
PKG_CHECK_MODULES(XEV, x11)
|
||||
PKG_CHECK_MODULES(XEV, [xrandr >= 1.2 x11 xproto >= 7.0.17])
|
||||
|
||||
AC_OUTPUT([Makefile])
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
man/Makefile])
|
||||
AC_OUTPUT
|
||||
|
12
app/xev/man/Makefile.am
Normal file
12
app/xev/man/Makefile.am
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
appmandir = $(APP_MAN_DIR)
|
||||
appman_PRE = xev.man
|
||||
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
||||
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
CLEANFILES = $(appman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
358
app/xev/man/Makefile.in
Normal file
358
app/xev/man/Makefile.in
Normal file
@ -0,0 +1,358 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 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@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
|
||||
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = man
|
||||
DIST_COMMON = $(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 = $(SHELL) $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
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 = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(appmandir)"
|
||||
appmanDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(appman_DATA)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XEV_CFLAGS = @XEV_CFLAGS@
|
||||
XEV_LIBS = @XEV_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
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@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
appmandir = $(APP_MAN_DIR)
|
||||
appman_PRE = xev.man
|
||||
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
CLEANFILES = $(appman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(APP_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
uninstall-info-am:
|
||||
install-appmanDATA: $(appman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)"
|
||||
@list='$(appman_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \
|
||||
$(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-appmanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(appman_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(appmandir)/$$f"; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$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 $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(appmandir)"; 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:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-appmanDATA
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
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-appmanDATA uninstall-info-am
|
||||
|
||||
.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-appmanDATA install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
|
||||
pdf-am ps ps-am uninstall uninstall-am uninstall-appmanDATA \
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
# 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:
|
@ -13,7 +13,7 @@ xev - print contents of X events
|
||||
moved, resized, typed in, clicked in, etc.). You can also attach it to an
|
||||
existing window. It is useful for seeing what causes events to occur and to
|
||||
display the information that they contain; it is essentially a debugging and
|
||||
development tool, and should not be needed in normal usage.
|
||||
development tool, and should not be needed in normal usage.
|
||||
.SH OPTIONS
|
||||
.TP 8
|
||||
.B \-display \fIdisplay\fP
|
||||
@ -21,7 +21,7 @@ This option specifies the X server to contact.
|
||||
.TP 8
|
||||
.B \-geometry \fIgeom\fP
|
||||
This option specifies the size and/or location of the window, if a window is
|
||||
to be created.
|
||||
to be created.
|
||||
.TP 8
|
||||
.B \-bw \fIpixels\fP
|
||||
This option specifies the border width for the window.
|
||||
@ -53,7 +53,7 @@ This option specifies the name to assign to the created window.
|
||||
.B \-rv
|
||||
This option specifies that the window should be in reverse video.
|
||||
.SH "SEE ALSO"
|
||||
X(__miscmansuffix__), xwininfo(1), xdpyinfo(1), Xlib Programmers Manual, X Protocol
|
||||
X(__miscmansuffix__), xwininfo(__appmansuffix__), xdpyinfo(__appmansuffix__), Xlib Programmers Manual, X Protocol
|
||||
Specification
|
||||
.br
|
||||
See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions.
|
308
app/xev/xev.c
308
app/xev/xev.c
@ -40,6 +40,7 @@ from the X Consortium.
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
|
||||
#define INNER_WINDOW_WIDTH 50
|
||||
#define INNER_WINDOW_HEIGHT 50
|
||||
@ -54,7 +55,7 @@ from the X Consortium.
|
||||
#define OUTER_WINDOW_DEF_HEIGHT (OUTER_WINDOW_MIN_HEIGHT + 100)
|
||||
#define OUTER_WINDOW_DEF_X 100
|
||||
#define OUTER_WINDOW_DEF_Y 100
|
||||
|
||||
|
||||
|
||||
typedef unsigned long Pixel;
|
||||
|
||||
@ -71,8 +72,13 @@ XIC xic = NULL;
|
||||
Atom wm_delete_window;
|
||||
Atom wm_protocols;
|
||||
|
||||
Bool have_rr;
|
||||
int rr_event_base, rr_error_base;
|
||||
|
||||
static void usage (void) _X_NORETURN;
|
||||
|
||||
static void
|
||||
prologue (XEvent *eventp, char *event_name)
|
||||
prologue (XEvent *eventp, const char *event_name)
|
||||
{
|
||||
XAnyEvent *e = (XAnyEvent *) eventp;
|
||||
|
||||
@ -97,7 +103,7 @@ do_KeyPress (XEvent *eventp)
|
||||
KeySym ks;
|
||||
KeyCode kc = 0;
|
||||
Bool kc_set = False;
|
||||
char *ksname;
|
||||
const char *ksname;
|
||||
int nbytes, nmbbytes = 0;
|
||||
char str[256+1];
|
||||
static char *buf = NULL;
|
||||
@ -130,7 +136,7 @@ do_KeyPress (XEvent *eventp)
|
||||
kc = XKeysymToKeycode(dpy, ks);
|
||||
kc_set = True;
|
||||
}
|
||||
|
||||
|
||||
printf (" root 0x%lx, subw 0x%lx, time %lu, (%d,%d), root:(%d,%d),\n",
|
||||
e->root, e->subwindow, e->time, e->x, e->y, e->x_root, e->y_root);
|
||||
printf (" state 0x%x, keycode %u (keysym 0x%lx, %s), same_screen %s,\n",
|
||||
@ -160,7 +166,7 @@ do_KeyPress (XEvent *eventp)
|
||||
}
|
||||
}
|
||||
|
||||
printf (" XFilterEvent returns: %s\n",
|
||||
printf (" XFilterEvent returns: %s\n",
|
||||
XFilterEvent (eventp, e->window) ? "True" : "False");
|
||||
}
|
||||
|
||||
@ -202,7 +208,7 @@ static void
|
||||
do_EnterNotify (XEvent *eventp)
|
||||
{
|
||||
XCrossingEvent *e = (XCrossingEvent *) eventp;
|
||||
char *mode, *detail;
|
||||
const char *mode, *detail;
|
||||
char dmode[10], ddetail[10];
|
||||
|
||||
switch (e->mode) {
|
||||
@ -242,7 +248,7 @@ static void
|
||||
do_FocusIn (XEvent *eventp)
|
||||
{
|
||||
XFocusChangeEvent *e = (XFocusChangeEvent *) eventp;
|
||||
char *mode, *detail;
|
||||
const char *mode, *detail;
|
||||
char dmode[10], ddetail[10];
|
||||
|
||||
switch (e->mode) {
|
||||
@ -301,7 +307,7 @@ static void
|
||||
do_GraphicsExpose (XEvent *eventp)
|
||||
{
|
||||
XGraphicsExposeEvent *e = (XGraphicsExposeEvent *) eventp;
|
||||
char *m;
|
||||
const char *m;
|
||||
char mdummy[10];
|
||||
|
||||
switch (e->major_code) {
|
||||
@ -319,7 +325,7 @@ static void
|
||||
do_NoExpose (XEvent *eventp)
|
||||
{
|
||||
XNoExposeEvent *e = (XNoExposeEvent *) eventp;
|
||||
char *m;
|
||||
const char *m;
|
||||
char mdummy[10];
|
||||
|
||||
switch (e->major_code) {
|
||||
@ -336,7 +342,7 @@ static void
|
||||
do_VisibilityNotify (XEvent *eventp)
|
||||
{
|
||||
XVisibilityEvent *e = (XVisibilityEvent *) eventp;
|
||||
char *v;
|
||||
const char *v;
|
||||
char vdummy[10];
|
||||
|
||||
switch (e->state) {
|
||||
@ -401,7 +407,7 @@ do_ReparentNotify (XEvent *eventp)
|
||||
|
||||
printf (" event 0x%lx, window 0x%lx, parent 0x%lx,\n",
|
||||
e->event, e->window, e->parent);
|
||||
printf (" (%d,%d), override %s\n", e->x, e->y,
|
||||
printf (" (%d,%d), override %s\n", e->x, e->y,
|
||||
e->override_redirect ? Yes : No);
|
||||
}
|
||||
|
||||
@ -420,7 +426,7 @@ static void
|
||||
do_ConfigureRequest (XEvent *eventp)
|
||||
{
|
||||
XConfigureRequestEvent *e = (XConfigureRequestEvent *) eventp;
|
||||
char *detail;
|
||||
const char *detail;
|
||||
char ddummy[10];
|
||||
|
||||
switch (e->detail) {
|
||||
@ -459,7 +465,7 @@ static void
|
||||
do_CirculateNotify (XEvent *eventp)
|
||||
{
|
||||
XCirculateEvent *e = (XCirculateEvent *) eventp;
|
||||
char *p;
|
||||
const char *p;
|
||||
char pdummy[10];
|
||||
|
||||
switch (e->place) {
|
||||
@ -476,7 +482,7 @@ static void
|
||||
do_CirculateRequest (XEvent *eventp)
|
||||
{
|
||||
XCirculateRequestEvent *e = (XCirculateRequestEvent *) eventp;
|
||||
char *p;
|
||||
const char *p;
|
||||
char pdummy[10];
|
||||
|
||||
switch (e->place) {
|
||||
@ -494,7 +500,7 @@ do_PropertyNotify (XEvent *eventp)
|
||||
{
|
||||
XPropertyEvent *e = (XPropertyEvent *) eventp;
|
||||
char *aname = XGetAtomName (dpy, e->atom);
|
||||
char *s;
|
||||
const char *s;
|
||||
char sdummy[10];
|
||||
|
||||
switch (e->state) {
|
||||
@ -506,7 +512,7 @@ do_PropertyNotify (XEvent *eventp)
|
||||
printf (" atom 0x%lx (%s), time %lu, state %s\n",
|
||||
e->atom, aname ? aname : Unknown, e->time, s);
|
||||
|
||||
if (aname) XFree (aname);
|
||||
XFree (aname);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -518,7 +524,7 @@ do_SelectionClear (XEvent *eventp)
|
||||
printf (" selection 0x%lx (%s), time %lu\n",
|
||||
e->selection, sname ? sname : Unknown, e->time);
|
||||
|
||||
if (sname) XFree (sname);
|
||||
XFree (sname);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -535,9 +541,9 @@ do_SelectionRequest (XEvent *eventp)
|
||||
e->target, tname ? tname : Unknown, e->property,
|
||||
pname ? pname : Unknown, e->time);
|
||||
|
||||
if (sname) XFree (sname);
|
||||
if (tname) XFree (tname);
|
||||
if (pname) XFree (pname);
|
||||
XFree (sname);
|
||||
XFree (tname);
|
||||
XFree (pname);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -554,16 +560,16 @@ do_SelectionNotify (XEvent *eventp)
|
||||
printf (" property 0x%lx (%s), time %lu\n",
|
||||
e->property, pname ? pname : Unknown, e->time);
|
||||
|
||||
if (sname) XFree (sname);
|
||||
if (tname) XFree (tname);
|
||||
if (pname) XFree (pname);
|
||||
XFree (sname);
|
||||
XFree (tname);
|
||||
XFree (pname);
|
||||
}
|
||||
|
||||
static void
|
||||
do_ColormapNotify (XEvent *eventp)
|
||||
{
|
||||
XColormapEvent *e = (XColormapEvent *) eventp;
|
||||
char *s;
|
||||
const char *s;
|
||||
char sdummy[10];
|
||||
|
||||
switch (e->state) {
|
||||
@ -586,18 +592,18 @@ do_ClientMessage (XEvent *eventp)
|
||||
char *message = XGetAtomName (dpy, e->data.l[0]);
|
||||
printf (" message_type 0x%lx (%s), format %d, message 0x%lx (%s)\n",
|
||||
e->message_type, mname ? mname : Unknown, e->format, e->data.l[0], message);
|
||||
if (message) XFree (message);
|
||||
XFree (message);
|
||||
}
|
||||
else {
|
||||
printf (" message_type 0x%lx (%s), format %d\n",
|
||||
e->message_type, mname ? mname : Unknown, e->format);
|
||||
}
|
||||
|
||||
if (mname) XFree (mname);
|
||||
XFree (mname);
|
||||
|
||||
if (e->format == 32
|
||||
&& e->message_type == wm_protocols
|
||||
&& (Atom) e->data.l[0] == wm_delete_window)
|
||||
if (e->format == 32
|
||||
&& e->message_type == wm_protocols
|
||||
&& (Atom) e->data.l[0] == wm_delete_window)
|
||||
exit (0);
|
||||
}
|
||||
|
||||
@ -605,7 +611,7 @@ static void
|
||||
do_MappingNotify (XEvent *eventp)
|
||||
{
|
||||
XMappingEvent *e = (XMappingEvent *) eventp;
|
||||
char *r;
|
||||
const char *r;
|
||||
char rdummy[10];
|
||||
|
||||
switch (e->request) {
|
||||
@ -620,11 +626,196 @@ do_MappingNotify (XEvent *eventp)
|
||||
XRefreshKeyboardMapping(e);
|
||||
}
|
||||
|
||||
static void
|
||||
print_SubPixelOrder (SubpixelOrder subpixel_order)
|
||||
{
|
||||
switch (subpixel_order) {
|
||||
case SubPixelUnknown: printf ("SubPixelUnknown"); return;
|
||||
case SubPixelHorizontalRGB: printf ("SubPixelHorizontalRGB"); return;
|
||||
case SubPixelHorizontalBGR: printf ("SubPixelHorizontalBGR"); return;
|
||||
case SubPixelVerticalRGB: printf ("SubPixelVerticalRGB"); return;
|
||||
case SubPixelVerticalBGR: printf ("SubPixelVerticalBGR"); return;
|
||||
case SubPixelNone: printf ("SubPixelNone"); return;
|
||||
default: printf ("%d", subpixel_order);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
print_Rotation (Rotation rotation)
|
||||
{
|
||||
if (rotation & RR_Rotate_0)
|
||||
printf ("RR_Rotate_0");
|
||||
else if (rotation & RR_Rotate_90)
|
||||
printf ("RR_Rotate_90");
|
||||
else if (rotation & RR_Rotate_180)
|
||||
printf ("RR_Rotate_180");
|
||||
else if (rotation & RR_Rotate_270)
|
||||
printf ("RR_Rotate_270");
|
||||
else {
|
||||
printf ("%d", rotation);
|
||||
return;
|
||||
}
|
||||
if (rotation & RR_Reflect_X)
|
||||
printf (", RR_Reflect_X");
|
||||
if (rotation & RR_Reflect_Y)
|
||||
printf (", RR_Reflect_Y");
|
||||
}
|
||||
|
||||
static void
|
||||
print_Connection (Connection connection)
|
||||
{
|
||||
switch (connection) {
|
||||
case RR_Connected: printf ("RR_Connected"); return;
|
||||
case RR_Disconnected: printf ("RR_Disconnected"); return;
|
||||
case RR_UnknownConnection: printf ("RR_UnknownConnection"); return;
|
||||
default: printf ("%d", connection);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
do_RRScreenChangeNotify (XEvent *eventp)
|
||||
{
|
||||
XRRScreenChangeNotifyEvent *e = (XRRScreenChangeNotifyEvent *) eventp;
|
||||
|
||||
XRRUpdateConfiguration (eventp);
|
||||
printf (" root 0x%lx, timestamp %lu, config_timestamp %lu\n",
|
||||
e->root, e->timestamp, e->config_timestamp);
|
||||
printf (" size_index %hu", e->size_index);
|
||||
printf (", subpixel_order ");
|
||||
print_SubPixelOrder (e->subpixel_order);
|
||||
printf ("\n rotation ");
|
||||
print_Rotation (e->rotation);
|
||||
printf("\n width %d, height %d, mwidth %d, mheight %d\n",
|
||||
e->width, e->height, e->mwidth, e->mheight);
|
||||
}
|
||||
|
||||
static void
|
||||
do_RRNotify_OutputChange (XEvent *eventp, XRRScreenResources *screen_resources)
|
||||
{
|
||||
XRROutputChangeNotifyEvent *e = (XRROutputChangeNotifyEvent *) eventp;
|
||||
XRROutputInfo *output_info = NULL;
|
||||
XRRModeInfo *mode_info = NULL;
|
||||
|
||||
if (screen_resources) {
|
||||
int i;
|
||||
|
||||
output_info = XRRGetOutputInfo (dpy, screen_resources, e->output);
|
||||
for (i = 0; i < screen_resources->nmode; i++)
|
||||
if (screen_resources->modes[i].id == e->mode) {
|
||||
mode_info = &screen_resources->modes[i]; break;
|
||||
}
|
||||
}
|
||||
printf (" subtype XRROutputChangeNotifyEvent\n");
|
||||
if (output_info)
|
||||
printf (" output %s, ", output_info->name);
|
||||
else
|
||||
printf (" output %lu, ", e->output);
|
||||
if (e->crtc)
|
||||
printf("crtc %lu, ", e->crtc);
|
||||
else
|
||||
printf("crtc None, ");
|
||||
if (mode_info)
|
||||
printf ("mode %s (%dx%d)\n", mode_info->name, mode_info->width,
|
||||
mode_info->height);
|
||||
else if (e->mode)
|
||||
printf ("mode %lu\n", e->mode);
|
||||
else
|
||||
printf("mode None\n");
|
||||
printf (" rotation ");
|
||||
print_Rotation (e->rotation);
|
||||
printf ("\n connection ");
|
||||
print_Connection (e->connection);
|
||||
printf (", subpixel_order ");
|
||||
print_SubPixelOrder (e->subpixel_order);
|
||||
printf ("\n");
|
||||
XRRFreeOutputInfo (output_info);
|
||||
}
|
||||
|
||||
static void
|
||||
do_RRNotify_CrtcChange (XEvent *eventp, XRRScreenResources *screen_resources)
|
||||
{
|
||||
XRRCrtcChangeNotifyEvent *e = (XRRCrtcChangeNotifyEvent *) eventp;
|
||||
XRRModeInfo *mode_info = NULL;
|
||||
|
||||
if (screen_resources) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < screen_resources->nmode; i++)
|
||||
if (screen_resources->modes[i].id == e->mode) {
|
||||
mode_info = &screen_resources->modes[i]; break;
|
||||
}
|
||||
}
|
||||
printf (" subtype XRRCrtcChangeNotifyEvent\n");
|
||||
if (e->crtc)
|
||||
printf(" crtc %lu, ", e->crtc);
|
||||
else
|
||||
printf(" crtc None, ");
|
||||
if (mode_info)
|
||||
printf ("mode %s, ", mode_info->name);
|
||||
else if (e->mode)
|
||||
printf ("mode %lu, ", e->mode);
|
||||
else
|
||||
printf("mode None, ");
|
||||
printf ("rotation ");
|
||||
print_Rotation (e->rotation);
|
||||
printf ("\n x %d, y %d, width %d, height %d\n",
|
||||
e->x, e->y, e->width, e->height);
|
||||
}
|
||||
|
||||
static void
|
||||
do_RRNotify_OutputProperty (XEvent *eventp,
|
||||
XRRScreenResources *screen_resources)
|
||||
{
|
||||
XRROutputPropertyNotifyEvent *e = (XRROutputPropertyNotifyEvent *) eventp;
|
||||
XRROutputInfo *output_info = NULL;
|
||||
char *property = XGetAtomName (dpy, e->property);
|
||||
|
||||
if (screen_resources)
|
||||
output_info = XRRGetOutputInfo (dpy, screen_resources, e->output);
|
||||
printf (" subtype XRROutputPropertyChangeNotifyEvent\n");
|
||||
if (output_info)
|
||||
printf (" output %s, ", output_info->name);
|
||||
else
|
||||
printf (" output %lu, ", e->output);
|
||||
printf ("property %s, timestamp %lu, state ",
|
||||
property, e->timestamp);
|
||||
if (e->state == PropertyNewValue)
|
||||
printf ("NewValue\n");
|
||||
else if (e->state == PropertyDelete)
|
||||
printf ("Delete\n");
|
||||
else
|
||||
printf ("%d\n", e->state);
|
||||
XRRFreeOutputInfo (output_info);
|
||||
XFree (property);
|
||||
}
|
||||
|
||||
static void
|
||||
do_RRNotify (XEvent *eventp)
|
||||
{
|
||||
XRRNotifyEvent *e = (XRRNotifyEvent *) eventp;
|
||||
XRRScreenResources *screen_resources;
|
||||
|
||||
XRRUpdateConfiguration (eventp);
|
||||
screen_resources = XRRGetScreenResources (dpy, e->window);
|
||||
prologue (eventp, "RRNotify");
|
||||
switch (e->subtype) {
|
||||
case RRNotify_OutputChange:
|
||||
do_RRNotify_OutputChange (eventp, screen_resources); break;
|
||||
case RRNotify_CrtcChange:
|
||||
do_RRNotify_CrtcChange (eventp, screen_resources); break;
|
||||
case RRNotify_OutputProperty:
|
||||
do_RRNotify_OutputProperty (eventp, screen_resources); break;
|
||||
default:
|
||||
printf (" subtype %d\n", e->subtype);
|
||||
}
|
||||
XRRFreeScreenResources (screen_resources);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_sizehints (XSizeHints *hintp, int min_width, int min_height,
|
||||
int defwidth, int defheight, int defx, int defy,
|
||||
set_sizehints (XSizeHints *hintp, int min_width, int min_height,
|
||||
int defwidth, int defheight, int defx, int defy,
|
||||
char *geom)
|
||||
{
|
||||
int geom_result;
|
||||
@ -674,11 +865,6 @@ set_sizehints (XSizeHints *hintp, int min_width, int min_height,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if defined(__GNUC__) && \
|
||||
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
|
||||
static void usage (void) __attribute__((__noreturn__));
|
||||
#endif
|
||||
static void
|
||||
usage (void)
|
||||
{
|
||||
@ -736,7 +922,7 @@ main (int argc, char **argv)
|
||||
XWindowAttributes wattr;
|
||||
unsigned long mask = 0L;
|
||||
int done;
|
||||
char *name = "Event Tester";
|
||||
const char *name = "Event Tester";
|
||||
Bool reverse = False;
|
||||
Bool use_root = False;
|
||||
unsigned long back, fore;
|
||||
@ -812,7 +998,7 @@ main (int argc, char **argv)
|
||||
default:
|
||||
usage ();
|
||||
} /* end switch on - */
|
||||
} else
|
||||
} else
|
||||
usage ();
|
||||
} /* end for over argc */
|
||||
|
||||
@ -856,19 +1042,19 @@ main (int argc, char **argv)
|
||||
}
|
||||
XFree (xim_styles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
screen = DefaultScreen (dpy);
|
||||
|
||||
/* select for all events */
|
||||
attr.event_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask |
|
||||
ButtonReleaseMask | EnterWindowMask |
|
||||
LeaveWindowMask | PointerMotionMask |
|
||||
LeaveWindowMask | PointerMotionMask |
|
||||
Button1MotionMask |
|
||||
Button2MotionMask | Button3MotionMask |
|
||||
Button4MotionMask | Button5MotionMask |
|
||||
ButtonMotionMask | KeymapStateMask |
|
||||
ExposureMask | VisibilityChangeMask |
|
||||
ExposureMask | VisibilityChangeMask |
|
||||
StructureNotifyMask | /* ResizeRedirectMask | */
|
||||
SubstructureNotifyMask | SubstructureRedirectMask |
|
||||
FocusChangeMask | PropertyChangeMask |
|
||||
@ -885,7 +1071,7 @@ main (int argc, char **argv)
|
||||
XSelectInput(dpy, w, attr.event_mask);
|
||||
} else {
|
||||
set_sizehints (&hints, OUTER_WINDOW_MIN_WIDTH, OUTER_WINDOW_MIN_HEIGHT,
|
||||
OUTER_WINDOW_DEF_WIDTH, OUTER_WINDOW_DEF_HEIGHT,
|
||||
OUTER_WINDOW_DEF_WIDTH, OUTER_WINDOW_DEF_HEIGHT,
|
||||
OUTER_WINDOW_DEF_X, OUTER_WINDOW_DEF_Y, geom);
|
||||
|
||||
if (reverse) {
|
||||
@ -924,10 +1110,10 @@ main (int argc, char **argv)
|
||||
}
|
||||
|
||||
if (xim && xim_style) {
|
||||
xic = XCreateIC (xim,
|
||||
XNInputStyle, xim_style,
|
||||
XNClientWindow, w,
|
||||
XNFocusWindow, w,
|
||||
xic = XCreateIC (xim,
|
||||
XNInputStyle, xim_style,
|
||||
XNClientWindow, w,
|
||||
XNFocusWindow, w,
|
||||
NULL);
|
||||
|
||||
if (xic == NULL) {
|
||||
@ -935,6 +1121,21 @@ main (int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
have_rr = XRRQueryExtension (dpy, &rr_event_base, &rr_error_base);
|
||||
if (have_rr) {
|
||||
int rr_major, rr_minor;
|
||||
|
||||
if (XRRQueryVersion (dpy, &rr_major, &rr_minor)) {
|
||||
int rr_mask = RRScreenChangeNotifyMask;
|
||||
|
||||
if (rr_major > 1
|
||||
|| (rr_major == 1 && rr_minor >= 2))
|
||||
rr_mask |= RRCrtcChangeNotifyMask | RROutputChangeNotifyMask |
|
||||
RROutputPropertyNotifyMask;
|
||||
XRRSelectInput (dpy, w, rr_mask);
|
||||
}
|
||||
}
|
||||
|
||||
for (done = 0; !done; ) {
|
||||
XEvent event;
|
||||
|
||||
@ -1074,6 +1275,17 @@ main (int argc, char **argv)
|
||||
do_MappingNotify (&event);
|
||||
break;
|
||||
default:
|
||||
if (have_rr) {
|
||||
if (event.type == rr_event_base + RRScreenChangeNotify) {
|
||||
prologue (&event, "RRScreenChangeNotify");
|
||||
do_RRScreenChangeNotify (&event);
|
||||
break;
|
||||
}
|
||||
if (event.type == rr_event_base + RRNotify) {
|
||||
do_RRNotify (&event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
printf ("Unknown event type %d\n", event.type);
|
||||
break;
|
||||
}
|
||||
@ -1081,5 +1293,5 @@ main (int argc, char **argv)
|
||||
}
|
||||
|
||||
XCloseDisplay (dpy);
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user