Update to x11perf 1.5.4

This commit is contained in:
matthieu 2011-08-28 10:45:18 +00:00
parent 7a8ca1500f
commit a436c5afac
16 changed files with 1614 additions and 499 deletions

View File

@ -1,3 +1,140 @@
commit 84bfc56a89929999db92925c078d9e2f801b1689
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Jul 27 18:29:38 2011 -0700
x11perf 1.5.4
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d171454212bff8f4a32cf3cef08566e29237da9d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Jul 7 22:40:14 2011 -0700
Add MKTEMP to DIR_SUBSTS in Makefile
Needed for commit 1188465112a1 to work after revert of 4af24b2f5b3f8f
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
commit 86cf2ab52ad5c6b4b262c1673ad5bd4c8713e3e8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Jul 7 17:16:52 2011 -0700
Revert "Let autoconf generate x11perfcomp directly instead of doing it via sed"
This reverts commit 4af24b2f5b3f8f2c20271ae323b6fa528b9b2127.
Letting autoconf do it failed to handle the recursive expansion needed,
resulting in "PATH=${exec_prefix}/lib/X11/x11perfcomp:..." without having
exec_prefix defined in x11perfcomp.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
commit be99f1c0ecac26255aa9b0bb0347bab1b6e0fb88
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jul 1 19:59:34 2011 -0700
Remove stray remaining CVS id tag
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 1188465112a1a3c6acce9d370d448df70fd4fa4d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jul 1 19:51:47 2011 -0700
x11perfcomp should use mktemp instead of pid for tmp directory
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 4af24b2f5b3f8f2c20271ae323b6fa528b9b2127
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jul 1 17:38:01 2011 -0700
Let autoconf generate x11perfcomp directly instead of doing it via sed
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit fefc834c419085b2db3b2d7d57bdbfe240d1b75c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jul 1 17:30:14 2011 -0700
x11perfcomp: use saner $PATH
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 4e86c85ac8cf2fc6631be704de45f098d1a58ab3
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Mar 11 14:46:00 2011 -0800
Make Makefile.am's compatible with Solaris make
Solaris make won't substitute $< in explicit rules, only implicit ones
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 8b8f94bca1576e7365c492cfc8131d5aa7bcd7c8
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 22 14:41:33 2011 -0500
config: substitute x11perfcompdir using Autoconf @x11perfcompdir@
Use the Autoconf recommended way of substituting bindir and friends, see
http://www.gnu.org/software/autoconf/manual/autoconf.html
Use # sign for comment in script.
Only sed is used, drop the cpp terminology.
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 490ceddc3e97e8c5bf1ed61265525c213abf65d1
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jan 19 10:06:55 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 36d4517099505fac29a3c0b8c6c3779b3f05b8ff
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 8ebaae2bf1350b9414d261fc8509fcd898d9b152
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 7f46d58f7523a07e9086b7c47534c37240d83409
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Jan 6 10:58:53 2011 +0000
Add tests for ShmGetImage
Similar to GetImage and ShmPutImage, test the performance of retrieving
pixel data from the X server without the overhead of copying the pixels.
In the upper bound, using XShmGetImage, the performance will be limited
by the RTT latency (x11perf -prop). However, comparing the scaling factors
of XShmGetImage and XGetImage will give some insight into the driver
efficiency.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
commit c39d831d409537fce2f36c8672f908a7cc810519
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Jan 5 16:33:36 2011 -0800

View File

@ -19,15 +19,10 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
SUBDIRS = man
bin_PROGRAMS = x11perf
bin_SCRIPTS = x11perfcomp
LIBPATH = $(libdir)/X11/x11perfcomp
x11perfcompdir = $(LIBPATH)
dist_x11perfcomp_SCRIPTS = fillblnk perfboth perfratio Xmark
AM_CFLAGS = $(CWARNFLAGS) $(XEXT_CFLAGS) $(XFT_CFLAGS) $(XRENDER_CFLAGS) $(X11PERF_CFLAGS)
x11perf_LDADD = $(XEXT_LIBS) $(XFT_LIBS) $(XRENDER_LIBS) $(X11PERF_LIBS) -lm
@ -52,34 +47,22 @@ x11perf_SOURCES = \
x11perf.c \
x11perf.h
appman_PRE = \
x11perfcomp.man \
x11perf.man \
Xmark.man
bin_SCRIPTS = x11perfcomp
CLEANFILES = $(bin_SCRIPTS)
EXTRA_DIST = $(bin_SCRIPTS:=.in)
DIR_SUBSTS = -e 's|@x11perfcompdir[@]|$(x11perfcompdir)|g'
DIR_SUBSTS += -e 's|@MKTEMP[@]|$(MKTEMP)|g'
x11perfcomp: x11pcomp.cpp
$(AM_V_GEN)$(SED) s/LIBPATH/`echo $(LIBPATH) | sed -e s/\\\\//\\\\\\\\\\\\\//g`/ < $(srcdir)/x11pcomp.cpp | \
$(SED) s/XCOMM/\#/ > $@
x11perfcomp: x11perfcomp.in
$(AM_V_GEN)$(SED) $(DIR_SUBSTS) < $(srcdir)/$@.in > $@
dist_x11perfcomp_SCRIPTS = \
fillblnk \
perfboth \
perfratio \
Xmark
MAINTAINERCLEANFILES = ChangeLog INSTALL
CLEANFILES = $(bin_SCRIPTS) x11perfcomp
EXTRA_DIST = x11pcomp.cpp
appmandir = $(APP_MAN_DIR)
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) < $< > $@
.PHONY: ChangeLog INSTALL

View File

@ -36,7 +36,6 @@
# PERFORMANCE OF THIS SOFTWARE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -46,9 +45,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 = :
@ -76,7 +75,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(x11perfcompdir)" "$(DESTDIR)$(appmandir)"
"$(DESTDIR)$(x11perfcompdir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_x11perf_OBJECTS = bitmaps.$(OBJEXT) do_arcs.$(OBJEXT) \
@ -101,16 +100,15 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(x11perf_SOURCES)
DIST_SOURCES = $(x11perf_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)
@ -173,6 +171,7 @@ MAKEINFO = @MAKEINFO@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@ -185,6 +184,7 @@ PKG_CONFIG = @PKG_CONFIG@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@
VERSION = @VERSION@
X11PERF_CFLAGS = @X11PERF_CFLAGS@
@ -239,10 +239,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
bin_SCRIPTS = x11perfcomp
LIBPATH = $(libdir)/X11/x11perfcomp
x11perfcompdir = $(LIBPATH)
dist_x11perfcomp_SCRIPTS = fillblnk perfboth perfratio Xmark
x11perfcompdir = @x11perfcompdir@
SUBDIRS = man
AM_CFLAGS = $(CWARNFLAGS) $(XEXT_CFLAGS) $(XFT_CFLAGS) $(XRENDER_CFLAGS) $(X11PERF_CFLAGS)
x11perf_LDADD = $(XEXT_LIBS) $(XFT_LIBS) $(XRENDER_LIBS) $(X11PERF_LIBS) -lm
x11perf_SOURCES = \
@ -266,22 +264,23 @@ x11perf_SOURCES = \
x11perf.c \
x11perf.h
appman_PRE = \
x11perfcomp.man \
x11perf.man \
Xmark.man
bin_SCRIPTS = x11perfcomp
CLEANFILES = $(bin_SCRIPTS)
EXTRA_DIST = $(bin_SCRIPTS:=.in)
DIR_SUBSTS = -e 's|@x11perfcompdir[@]|$(x11perfcompdir)|g' -e \
's|@MKTEMP[@]|$(MKTEMP)|g'
dist_x11perfcomp_SCRIPTS = \
fillblnk \
perfboth \
perfratio \
Xmark
MAINTAINERCLEANFILES = ChangeLog INSTALL
CLEANFILES = $(bin_SCRIPTS) x11perfcomp $(appman_DATA)
EXTRA_DIST = x11pcomp.cpp $(appman_PRE)
appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
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)
@ -435,22 +434,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)
@ -463,10 +516,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; \
@ -479,7 +545,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`; \
@ -530,6 +596,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
@ -631,21 +712,22 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) config.h
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(x11perfcompdir)" "$(DESTDIR)$(appmandir)"; do \
check: check-recursive
all-am: Makefile $(PROGRAMS) $(SCRIPTS) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(x11perfcompdir)"; 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 \
@ -663,84 +745,83 @@ 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-dist_x11perfcompSCRIPTS
install-data-am: install-dist_x11perfcompSCRIPTS
install-exec-am: install-binPROGRAMS install-binSCRIPTS
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-binSCRIPTS uninstall-dist_x11perfcompSCRIPTS \
uninstall-info-am
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-dist_x11perfcompSCRIPTS 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-binSCRIPTS \
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-binSCRIPTS \
install-data install-data-am install-dist_x11perfcompSCRIPTS \
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-binSCRIPTS \
uninstall-dist_x11perfcompSCRIPTS uninstall-info-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-binSCRIPTS uninstall-dist_x11perfcompSCRIPTS \
uninstall-info-am
x11perfcomp: x11pcomp.cpp
$(AM_V_GEN)$(SED) s/LIBPATH/`echo $(LIBPATH) | sed -e s/\\\\//\\\\\\\\\\\\\//g`/ < $(srcdir)/x11pcomp.cpp | \
$(SED) s/XCOMM/\#/ > $@
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
x11perfcomp: x11perfcomp.in
$(AM_V_GEN)$(SED) $(DIR_SUBSTS) < $(srcdir)/$@.in > $@
.PHONY: ChangeLog INSTALL

414
app/x11perf/aclocal.m4 vendored
View File

@ -1022,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.15.0])
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,,
@ -1049,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
@ -1067,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
@ -1417,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
@ -1662,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
@ -1685,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[)]),
@ -1714,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
@ -1796,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])
@ -1873,6 +2007,194 @@ 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])
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
# ------------
# 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.
#
AC_DEFUN([XORG_LD_WRAP],[
XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no])
# Not having ld wrap when unit testing has been explicitly requested is an error
if test "x$enable_unit_tests" = x"yes"; 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])
#
# 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.
#
# 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([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_CHECK_MALLOC_ZERO
# ----------------------
# Minimum version: 1.0.0
@ -1889,18 +2211,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])
@ -2026,6 +2346,23 @@ 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_CWARNFLAGS
# ---------------
# Minimum version: 1.2.0
@ -2034,6 +2371,7 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
#
AC_DEFUN([XORG_CWARNFLAGS], [
AC_REQUIRE([AC_PROG_CC_C99])
AC_REQUIRE([XORG_COMPILER_BRAND])
if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
@ -2044,7 +2382,6 @@ if test "x$GCC" = xyes ; then
;;
esac
else
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
if test "x$SUNCC" = "xyes"; then
CWARNFLAGS="-v"
fi
@ -2056,28 +2393,43 @@ 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
# $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_COMPILER_BRAND])
AC_REQUIRE([XORG_CWARNFLAGS])
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])
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
if test "x$GCC" = xyes ; then
STRICT_CFLAGS="-pedantic -Werror"
# Add -Werror=attributes if supported (gcc 4.2 & later)
AC_MSG_CHECKING([if $CC supports -Werror=attributes])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $STRICT_CFLAGS -Werror=attributes"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([return 0;])],
[STRICT_CFLAGS="$STRICT_CFLAGS -Werror=attributes"
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
CFLAGS="$save_CFLAGS"
elif test "x$SUNCC" = "xyes"; then
STRICT_CFLAGS="-errwarn"
elif test "x$INTELCC" = "xyes"; then
STRICT_CFLAGS="-Werror"
fi
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
if test "x$STRICT_COMPILE" = "xyes"; then
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
fi
AC_SUBST([STRICT_CFLAGS])
AC_SUBST([CWARNFLAGS])
]) # XORG_STRICT_OPTION

490
app/x11perf/configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for x11perf 1.5.3.
# Generated by GNU Autoconf 2.62 for x11perf 1.5.4.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@ -596,8 +596,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='x11perf'
PACKAGE_TARNAME='x11perf'
PACKAGE_VERSION='1.5.3'
PACKAGE_STRING='x11perf 1.5.3'
PACKAGE_VERSION='1.5.4'
PACKAGE_STRING='x11perf 1.5.4'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@ -718,6 +718,7 @@ CPP
GREP
EGREP
CWARNFLAGS
STRICT_CFLAGS
CHANGELOG_CMD
PKG_CONFIG
INSTALL_CMD
@ -745,6 +746,8 @@ ADMIN_MAN_DIR
XORG_MAN_PAGE
MAN_SUBSTS
AM_DEFAULT_VERBOSITY
x11perfcompdir
MKTEMP
X11PERF_CFLAGS
X11PERF_LIBS
XRENDER_CFLAGS
@ -1332,7 +1335,7 @@ 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 x11perf 1.5.3 to adapt to many kinds of systems.
\`configure' configures x11perf 1.5.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1402,7 +1405,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of x11perf 1.5.3:";;
short | recursive ) echo "Configuration of x11perf 1.5.4:";;
esac
cat <<\_ACEOF
@ -1507,7 +1510,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
x11perf configure 1.5.3
x11perf configure 1.5.4
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@ -1521,7 +1524,7 @@ 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 x11perf $as_me 1.5.3, which was
It was created by x11perf $as_me 1.5.4, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
@ -2175,7 +2178,7 @@ fi
# Define the identity of the package.
PACKAGE='x11perf'
VERSION='1.5.3'
VERSION='1.5.4'
cat >>confdefs.h <<_ACEOF
@ -4287,6 +4290,186 @@ done
{ $as_echo "$as_me:$LINENO: checking whether __clang__ is declared" >&5
$as_echo_n "checking whether __clang__ is declared... " >&6; }
if test "${ac_cv_have_decl___clang__+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __clang__
(void) __clang__;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___clang__=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___clang__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___clang__" >&5
$as_echo "$ac_cv_have_decl___clang__" >&6; }
if test $ac_cv_have_decl___clang__ = yes; then
CLANGCC="yes"
else
CLANGCC="no"
fi
{ $as_echo "$as_me:$LINENO: checking whether __INTEL_COMPILER is declared" >&5
$as_echo_n "checking whether __INTEL_COMPILER is declared... " >&6; }
if test "${ac_cv_have_decl___INTEL_COMPILER+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __INTEL_COMPILER
(void) __INTEL_COMPILER;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___INTEL_COMPILER=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___INTEL_COMPILER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___INTEL_COMPILER" >&5
$as_echo "$ac_cv_have_decl___INTEL_COMPILER" >&6; }
if test $ac_cv_have_decl___INTEL_COMPILER = yes; then
INTELCC="yes"
else
INTELCC="no"
fi
{ $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5
$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; }
if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __SUNPRO_C
(void) __SUNPRO_C;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___SUNPRO_C=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___SUNPRO_C=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5
$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; }
if test $ac_cv_have_decl___SUNPRO_C = yes; then
SUNCC="yes"
else
SUNCC="no"
fi
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@ -4563,6 +4746,7 @@ $as_echo "$ac_cv_path_SED" >&6; }
if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
@ -4573,65 +4757,6 @@ if test "x$GCC" = xyes ; then
;;
esac
else
{ $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5
$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; }
if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __SUNPRO_C
(void) __SUNPRO_C;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___SUNPRO_C=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___SUNPRO_C=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5
$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; }
if test $ac_cv_have_decl___SUNPRO_C = yes; then
SUNCC="yes"
else
SUNCC="no"
fi
if test "x$SUNCC" = "xyes"; then
CWARNFLAGS="-v"
fi
@ -4643,6 +4768,7 @@ fi
# Check whether --enable-strict-compilation was given.
if test "${enable_strict_compilation+set}" = set; then
enableval=$enable_strict_compilation; STRICT_COMPILE=$enableval
@ -4650,134 +4776,61 @@ else
STRICT_COMPILE=no
fi
if test "x$GCC" = xyes ; then
STRICT_CFLAGS="-pedantic -Werror"
# Add -Werror=attributes if supported (gcc 4.2 & later)
{ $as_echo "$as_me:$LINENO: checking if $CC supports -Werror=attributes" >&5
$as_echo_n "checking if $CC supports -Werror=attributes... " >&6; }
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $STRICT_CFLAGS -Werror=attributes"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
return 0;
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
STRICT_CFLAGS="$STRICT_CFLAGS -Werror=attributes"
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$save_CFLAGS"
elif test "x$SUNCC" = "xyes"; then
STRICT_CFLAGS="-errwarn"
elif test "x$INTELCC" = "xyes"; then
STRICT_CFLAGS="-Werror"
fi
if test "x$STRICT_COMPILE" = "xyes"; then
{ $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5
$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; }
if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __SUNPRO_C
(void) __SUNPRO_C;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___SUNPRO_C=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___SUNPRO_C=no
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5
$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; }
if test $ac_cv_have_decl___SUNPRO_C = yes; then
SUNCC="yes"
else
SUNCC="no"
fi
{ $as_echo "$as_me:$LINENO: checking whether __INTEL_COMPILER is declared" >&5
$as_echo_n "checking whether __INTEL_COMPILER is declared... " >&6; }
if test "${ac_cv_have_decl___INTEL_COMPILER+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
#ifndef __INTEL_COMPILER
(void) __INTEL_COMPILER;
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_have_decl___INTEL_COMPILER=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_have_decl___INTEL_COMPILER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___INTEL_COMPILER" >&5
$as_echo "$ac_cv_have_decl___INTEL_COMPILER" >&6; }
if test $ac_cv_have_decl___INTEL_COMPILER = yes; then
INTELCC="yes"
else
INTELCC="no"
fi
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
fi
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
@ -4974,6 +5027,52 @@ _ACEOF
# Define the installation directory for the x11 performance compare scripts
x11perfcompdir=$libdir/X11/x11perfcomp
# Checks for programs run by the scripts we install
# Extract the first word of "mktemp", so it can be a program name with args.
set dummy mktemp; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_MKTEMP+set}" = set; then
$as_echo_n "(cached) " >&6
else
case $MKTEMP in
[\\/]* | ?:[\\/]*)
ac_cv_path_MKTEMP="$MKTEMP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_MKTEMP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
MKTEMP=$ac_cv_path_MKTEMP
if test -n "$MKTEMP"; then
{ $as_echo "$as_me:$LINENO: result: $MKTEMP" >&5
$as_echo "$MKTEMP" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
# Checks for pkg-config packages
pkg_failed=no
@ -5435,7 +5534,7 @@ done
;;
esac
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files Makefile man/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -5877,7 +5976,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by x11perf $as_me 1.5.3, which was
This file was extended by x11perf $as_me 1.5.4, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -5930,7 +6029,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
x11perf config.status 1.5.3
x11perf config.status 1.5.4
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@ -6055,6 +6154,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}

View File

@ -23,7 +23,7 @@ dnl Process this file with autoconf to create configure.
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([x11perf],
[1.5.3],
[1.5.4],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[x11perf])
AC_CONFIG_SRCDIR([Makefile.am])
@ -41,6 +41,12 @@ XORG_DEFAULT_OPTIONS
AC_TYPE_SIGNAL
# Define the installation directory for the x11 performance compare scripts
AC_SUBST([x11perfcompdir], [$libdir/X11/x11perfcomp])
# Checks for programs run by the scripts we install
AC_PATH_PROG(MKTEMP, mktemp)
# Checks for pkg-config packages
PKG_CHECK_MODULES(X11PERF, x11 xmuu)
@ -72,4 +78,7 @@ yes)
;;
esac
AC_OUTPUT([Makefile])
AC_CONFIG_FILES([
Makefile
man/Makefile])
AC_OUTPUT

View File

@ -364,8 +364,8 @@ shmerrorhandler(Display *d, XErrorEvent *e)
return (*origerrorhandler)(d,e);
}
int
InitShmPutImage(XParms xp, Parms p, int reps)
static int
InitShmImage(XParms xp, Parms p, int reps, Bool read_only)
{
int image_size;
@ -382,7 +382,6 @@ InitShmPutImage(XParms xp, Parms p, int reps)
free(segsb);
return False;
}
XClearWindow(xp->d, xp->w);
shm_image = *image;
image_size = image->bytes_per_line * image->height;
/* allow XYPixmap choice: */
@ -418,7 +417,7 @@ InitShmPutImage(XParms xp, Parms p, int reps)
shmctl (shm_info.shmid, IPC_RMID, NULL);
return False;
}
shm_info.readOnly = True;
shm_info.readOnly = read_only;
XSync(xp->d,True);
haderror = False;
origerrorhandler = XSetErrorHandler(shmerrorhandler);
@ -447,7 +446,21 @@ InitShmPutImage(XParms xp, Parms p, int reps)
return reps;
}
void
int
InitShmPutImage(XParms xp, Parms p, int reps)
{
if (!InitShmImage(xp, p, reps, True)) return False;
XClearWindow(xp->d, xp->w);
return reps;
}
int
InitShmGetImage(XParms xp, Parms p, int reps)
{
return InitShmImage(xp, p, reps, False);
}
void
DoShmPutImage(XParms xp, Parms p, int reps)
{
int i, size;
@ -467,10 +480,30 @@ DoShmPutImage(XParms xp, Parms p, int reps)
}
}
void
EndShmPutImage(XParms xp, Parms p)
void
DoShmGetImage(XParms xp, Parms p, int reps)
{
int i, size;
XSegment *sa, *sb;
size = p->special;
shm_image.width = size;
shm_image.height = size;
for (sa = segsa, sb = segsb, i = 0; i != reps; i++, sa++, sb++) {
/* compute offsets into image data? */
XShmGetImage(xp->d, xp->w, &shm_image, sa->x1, sa->y1, xp->planemask);
XShmGetImage(xp->d, xp->w, &shm_image, sa->x2, sa->y2, xp->planemask);
XShmGetImage(xp->d, xp->w, &shm_image, sb->x2, sb->y2, xp->planemask);
XShmGetImage(xp->d, xp->w, &shm_image, sb->x1, sb->y1, xp->planemask);
CheckAbort ();
}
}
static void
EndShmImage(XParms xp, Parms p)
{
EndGetImage (xp, p);
XShmDetach (xp->d, &shm_info);
XSync(xp->d, False); /* need server to detach so can remove id */
@ -480,6 +513,17 @@ EndShmPutImage(XParms xp, Parms p)
perror("shmctl rmid:");
}
void
EndShmGetImage(XParms xp, Parms p)
{
EndShmImage(xp, p);
}
void
EndShmPutImage(XParms xp, Parms p)
{
EndShmImage(xp, p);
}
#endif

View File

@ -1210,6 +1210,30 @@ Test test[] = {
InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
V1_4FEATURE, ROP, 0,
{4, 500, "XY"}},
{"-shmget10", "ShmGetImage 10x10 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_2FEATURE, ROP, 0,
{4, 10}},
{"-shmget100", "ShmGetImage 100x100 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_2FEATURE, ROP, 0,
{4, 100}},
{"-shmget500", "ShmGetImage 500x500 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_2FEATURE, ROP, 0,
{4, 500}},
{"-shmgetxy10", "ShmGetImage XY 10x10 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_4FEATURE, ROP, 0,
{4, 10, "XY"}},
{"-shmgetxy100", "ShmGetImage XY 100x100 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_4FEATURE, ROP, 0,
{4, 100, "XY"}},
{"-shmgetxy500", "ShmGetImage XY 500x500 square", NULL,
InitShmGetImage, DoShmGetImage, NullProc, EndShmGetImage,
V1_4FEATURE, ROP, 0,
{4, 500, "XY"}},
#endif
{"-getimage10", "GetImage 10x10 square", NULL,
InitGetImage, DoGetImage, NullProc, EndGetImage,

View File

@ -0,0 +1,12 @@
appmandir = $(APP_MAN_DIR)
appman_PRE = x11perfcomp.man x11perf.man Xmark.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) < $< > $@

365
app/x11perf/man/Makefile.in Normal file
View File

@ -0,0 +1,365 @@
# 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) $(top_srcdir)/mkinstalldirs
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@
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@
MKTEMP = @MKTEMP@
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@
X11PERF_CFLAGS = @X11PERF_CFLAGS@
X11PERF_LIBS = @X11PERF_LIBS@
XEXT_CFLAGS = @XEXT_CFLAGS@
XEXT_LIBS = @XEXT_LIBS@
XFT_CFLAGS = @XFT_CFLAGS@
XFT_LIBS = @XFT_LIBS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
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@
x11perfcompdir = @x11perfcompdir@
appmandir = $(APP_MAN_DIR)
appman_PRE = x11perfcomp.man x11perf.man Xmark.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:

View File

@ -32,13 +32,13 @@ following way:
It is possible to run the GXcopy and GXxor tests separately, as long as they
are concatenated to the same output file:
.nf
.BI "x11perf -display " display " -v1.3 -rop GXcopy -all > " datafile
.BI "x11perf -display " display " -v1.3 -rop GXxor -all >> " datafile
.BI "x11perf -display " display " -v1.3 -rop GXcopy -all > " datafile
.BI "x11perf -display " display " -v1.3 -rop GXxor -all >> " datafile
.fi
or
.nf
.BI "x11perf -display " display " -v1.3 -rop GXxor -all > " datafile
.BI "x11perf -display " display " -v1.3 -rop GXcopy -all >> " datafile
.BI "x11perf -display " display " -v1.3 -rop GXxor -all > " datafile
.BI "x11perf -display " display " -v1.3 -rop GXcopy -all >> " datafile
.fi
.SH FILES
.TP
@ -48,7 +48,7 @@ Temporary file created in the current directory, deleted after use.
.TP
.B Usage: Xmark datafile
.I Xmark
was invoked without arguments or with more than one argument, or
was invoked without arguments or with more than one argument, or
with options. Xmark takes no options.
.TP
.B "Error: data file does not exist or is not ordinary."
@ -63,4 +63,4 @@ by x11perf in the expected way.
.BR "Diagnostic: ERROR: sum of weights =" nnn ", not equal to 4566.0;"
There is an internal error in Xmark.
.SH "SEE ALSO"
X(__miscmansuffix__), x11perf(1), x11perfcomp(1)
X(__miscmansuffix__), x11perf(__appmansuffix__), x11perfcomp(__appmansuffix__)

View File

@ -1,15 +1,15 @@
.\" Copyright 1988, 1989 Digital Equipment Corporation.
.\" Copyright 1989, 1994, 1998 The Open Group
.\"
.\"
.\" 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.
.\"
.\"
.\" 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.
@ -17,7 +17,7 @@
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
.\" OTHER DEALINGS IN THE SOFTWARE.
.\"
.\"
.\" Except as contained in this notice, the name of The Open Group shall
.\" not be used in advertising or otherwise to promote the sale, use or
.\" other dealings in this Software without prior written authorization
@ -42,25 +42,25 @@ done on some other device, like a terminal. Such benchmarks usually measure
drawing speed for lines, polygons, text, etc.
.PP
Since workstations are not used as standalone graphics engines, but as
super-terminals,
.I x11perf
super-terminals,
.I x11perf
measures window management performance as well as
traditional graphics performance.
.I x11perf
traditional graphics performance.
.I x11perf
includes benchmarks for the time it
takes to create and map windows (as when you start up an application); to map a
pre-existing set of windows onto the screen (as when you deiconify an
application or pop up a menu); and to rearrange windows (as when you slosh
windows to and fro trying to find the one you want).
.PP
.I x11perf
.I x11perf
also measures graphics performance for operations not normally used in
standalone graphics displays, but are nonetheless used frequently by X
applications. Such operations include CopyPlane (used to map bitmaps into
pixels), scrolling (used in text windows), and various stipples and tiles
(used for CAD and color half-toning, respectively).
.PP
.I x11perf
.I x11perf
should be used to analyze particular strengths and weaknesses
of servers, and is most useful to a server writer who wants to
analyze and improve a server.
@ -72,10 +72,10 @@ While it can be used as a benchmark, it was written and is intended as
a performance testing tool.
.PP
As such,
.I x11perf
.I x11perf
DOES NOT whittle down measurements to a single ``HeXStones''
or ``MeXops'' number. We consider such numbers to be uninformative
at best and misleading at worst.
or ``MeXops'' number. We consider such numbers to be uninformative
at best and misleading at worst.
Some servers which are very fast for certain applications can be
very slow for others.
No single number or small set of numbers are sufficient to
@ -86,15 +86,15 @@ may be able to use the numbers
reports to predict its performance on a given X implementation.
.PP
That said, you might also want to look at
.I x11perfcomp(1),
a program to compare the outputs of different
.I x11perfcomp(__appmansuffix__),
a program to compare the outputs of different
.I x11perf
runs. You provide a list of files containing results from
.I x11perf,
and it lays them out in a nice tabular format.
.PP
For repeatable results,
.I x11perf
For repeatable results,
.I x11perf
should be run using a local connection on a
freshly-started server. The default configuration runs each test 5 times, in
order to see if each trial takes approximately the same amount of time.
@ -117,7 +117,7 @@ the work requested by fetching a pixel back from the test window, which means
that servers talking to graphics accelerators can't claim that they are done,
while in the meantime the accelerator is painting madly.
.PP
By default
By default
.I x11perf
automatically calibrates the number of repetitions of each test,
so that each should take approximately the same length of time to run across
@ -138,15 +138,15 @@ The current program is mostly the responsibility of Joel McCormack. It is
based upon the x11perf developed by Phil Karlton, Susan Angebranndt, Chris
Kent, Mary Walker, and Todd Newman, who wanted to assess performance differences between various servers.
Several tests were added in order to write and tune
the PMAX (DECStation 3100) servers.
For a general release to the world,
.I x11perf
the PMAX (DECStation 3100) servers.
For a general release to the world,
.I x11perf
was rewritten to ease making comparisons between widely varying
machines, to cover most important (and unimportant) X functionality,
and to exercise graphics operations in as many different
orientations and alignments as possible.
.SH OPTIONS
.I x11perf
.I x11perf
is solely Xlib based, and
accepts the options listed below:
.TP 14
@ -155,7 +155,7 @@ Specifies which display to use.
.TP 14
.B \-sync
Runs the tests in synchronous mode.
Normally only useful for debugging
Normally only useful for debugging
.I x11perf .
.TP 14
.B \-pack
@ -164,7 +164,7 @@ This makes it easy to debug server code for stipples and tiles...if the
pattern looks ugly, you've got alignment problems.
.TP 14
.B \-repeat \fI<n>\fP
Repeats each test
Repeats each test
.I n
times (by default each test is run 5 times).
.TP 14
@ -238,8 +238,8 @@ Set the save_under window attribute to True on all windows created by x11perf.
Default is False.
.TP 14
.B \-bs <backing_store_hint>
Set the backing_store window attribute to the given value on all windows
created by x11perf. <backing_store_hint> can be WhenMapped or
Set the backing_store window attribute to the given value on all windows
created by x11perf. <backing_store_hint> can be WhenMapped or
Always. Default is NotUseful.
.TP 14
.B \-dot
@ -1001,7 +1001,7 @@ Circulate unmapped window to top.
.SH X DEFAULTS
There are no X defaults used by this program.
.SH "SEE ALSO"
X(__miscmansuffix__), x11perfcomp(1)
X(__miscmansuffix__), x11perfcomp(__appmansuffix__)
.SH AUTHORS
Joel McCormack
.br

View File

@ -1,14 +1,14 @@
.\" Copyright 1993, 1994, 1998 The Open Group
.\"
.\"
.\" 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.
.\"
.\"
.\" 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.
@ -16,7 +16,7 @@
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
.\" OTHER DEALINGS IN THE SOFTWARE.
.\"
.\"
.\" Except as contained in this notice, the name of The Open Group shall
.\" not be used in advertising or otherwise to promote the sale, use or
.\" other dealings in this Software without prior written authorization
@ -33,11 +33,11 @@ x11perfcomp \- X11 server performance comparison program
The
.I x11perfcomp
program merges the output of several
.I x11perf(1)
.I x11perf(__appmansuffix__)
runs into a nice tabular
format. It takes the results in each file, fills in any missing test results if
necessary, and for each test shows the objects/second rate of each server.
If invoked with the -r or -ro options, it shows the relative performance
If invoked with the -r or -ro options, it shows the relative performance
of each server to the first server.
.PP
Normally,
@ -46,16 +46,16 @@ uses the first file specified to determine which specific tests it should
report on. Some (non-DEC :) servers may fail to perform
all tests. In this case,
.I x11perfcomp
automatically substitutes in a rate of 0.0 objects/second.
automatically substitutes in a rate of 0.0 objects/second.
Since the first file
determines which tests to report on, this file must contain a superset of
the tests reported in the other files, else
the tests reported in the other files, else
.I x11perfcomp
will fail.
.PP
You can provide an explicit list of tests to report on
by using the -l switch to specify a file of labels. You can create a label
file by using the -label option in
file by using the -label option in
.I x11perf.
.SH OPTIONS
.I x11perfcomp
@ -73,7 +73,7 @@ Specifies a label file to use.
.SH X DEFAULTS
There are no X defaults used by this program.
.SH "SEE ALSO"
X(__miscmansuffix__), x11perf(1)
X(__miscmansuffix__), x11perf(__appmansuffix__)
.SH AUTHORS
Mark Moraes wrote the original scripts to compare servers.
.br

View File

@ -1,103 +0,0 @@
XCOMM! /bin/sh
XCOMM
XCOMM $XFree86$
XCOMM
XCOMM Collects multiple outputs of x11perf. Just feed it a list of files, each
XCOMM containing the output from an x11perf run, and this shell will extract the
XCOMM object/second information and show it in tabular form. An 80-column line
XCOMM is big enough to compare 4 different servers.
XCOMM
XCOMM This script normally uses the results from $1 to extract the test label
XCOMM descriptions, so you can run x11perf on a subset of the test and then
XCOMM compare the results. But note that x11perffill requires the labels file
XCOMM to be a superset of the x11perf results file. If you run into an ugly
XCOMM situation in which none of the servers completes the desired tests
XCOMM (quite possible on non-DEC servers :), you can use -l <filename> as $1 and
XCOMM $2 to force x11perfcomp to use the labels stored in file $2. (You can run
XCOMM x11perf with the -labels option to generate such a file.)
XCOMM
XCOMM Mark Moraes, University of Toronto <moraes@csri.toronto.edu>
XCOMM Joel McCormack, DEC Western Research Lab <joel@decwrl.dec.com>
XCOMM
PATH=LIBPATH:.:$PATH
export PATH
set -e
tmp=${TMPDIR-/tmp}/rates.$$
trap "rm -rf $tmp" 0 1 2 15
mkdir $tmp || exit 1
mkdir $tmp/rates
ratio=
allfiles=
XCOMM Include relative rates in output? Report only relative rates?
case $1 in
-r|-a)
ratio=1
shift;
;;
-ro)
ratio=2
shift;
;;
esac
XCOMM Get either the provided label file, or construct one from all the
XCOMM files given.
case $1 in
-l) cp $2 $tmp/labels
shift; shift
;;
*) for file in "$@"; do
awk '$2 == "reps" || $2 == "trep" { print $0; next; }' $file |
sed 's/^.*: //' |
sed 's/ /_/g' |
awk 'NR > 1 { printf ("%s %s\n", prev, $0); } \
{ prev = $0; }'
done | tsort 2>/dev/null | sed 's/_/ /g' > $tmp/labels
;;
esac
XCOMM Go through all files, and create a corresponding rate file for each
n=1
for i
do
XCOMM Get lines with average numbers, fill in any tests that may be missing
XCOMM then extract the rate field
base=`basename $i`
(echo " $n "
echo '--------'
awk '$2 == "reps" || $2 == "trep" { \
line = $0; \
next; \
} \
NF == 0 && line != "" { \
print line; \
line=""; \
next; \
} \
' $i > $tmp/$n.avg
fillblnk $tmp/$n.avg $tmp/labels |
sed 's/( *\([0-9]*\)/(\1/' |
awk '$2 == "reps" || $2 == "trep" { \
n = substr($6,2,length($6)-7); \
printf "%8s\n", n; \
}'
) > $tmp/rates/$n
echo "$n: $i"
allfiles="$allfiles$tmp/rates/$n "
n=`expr $n + 1`
done
case x$ratio in
x)
ratio=/bin/cat
;;
x1)
ratio="perfboth $n"
;;
*)
ratio="perfratio $n"
;;
esac
echo ''
(echo Operation; echo '---------'; cat $tmp/labels) |
paste $allfiles - | sed 's/ / /g' | $ratio
rm -rf $tmp

View File

@ -183,8 +183,11 @@ extern void DoGetImage ( XParms xp, Parms p, int reps );
extern void DoPutImage ( XParms xp, Parms p, int reps );
#ifdef MITSHM
extern int InitShmPutImage ( XParms xp, Parms p, int reps );
extern int InitShmGetImage ( XParms xp, Parms p, int reps );
extern void DoShmPutImage ( XParms xp, Parms p, int reps );
extern void DoShmGetImage ( XParms xp, Parms p, int reps );
extern void EndShmPutImage ( XParms xp, Parms p );
extern void EndShmGetImage ( XParms xp, Parms p );
#endif
extern void MidCopyPix ( XParms xp, Parms p );
extern void EndCopyWin ( XParms xp, Parms p );

108
app/x11perf/x11perfcomp.in Normal file
View File

@ -0,0 +1,108 @@
#! /bin/sh
#
# Collects multiple outputs of x11perf. Just feed it a list of files, each
# containing the output from an x11perf run, and this shell will extract the
# object/second information and show it in tabular form. An 80-column line
# is big enough to compare 4 different servers.
#
# This script normally uses the results from $1 to extract the test label
# descriptions, so you can run x11perf on a subset of the test and then
# compare the results. But note that x11perffill requires the labels file
# to be a superset of the x11perf results file. If you run into an ugly
# situation in which none of the servers completes the desired tests
# (quite possible on non-DEC servers :), you can use -l <filename> as $1 and
# $2 to force x11perfcomp to use the labels stored in file $2. (You can run
# x11perf with the -labels option to generate such a file.)
#
# Mark Moraes, University of Toronto <moraes@csri.toronto.edu>
# Joel McCormack, DEC Western Research Lab <joel@decwrl.dec.com>
#
PATH="@x11perfcompdir@:/bin:/usr/bin:$PATH"
export PATH
MKTEMP="@MKTEMP@"
set -e
if [ "x$MKTEMP" != "x" ] && [ -x "$MKTEMP" ] ; then
tmp=`$MKTEMP -p /tmp -d rates.XXXXXX`
if [ "x$tmp" = "x" ]; then exit 1 ; fi
else
tmp=${TMPDIR-/tmp}/rates.$$
mkdir $tmp || exit 1
fi
trap "rm -rf $tmp" 0 1 2 15
mkdir $tmp/rates
ratio=
allfiles=
# Include relative rates in output? Report only relative rates?
case $1 in
-r|-a)
ratio=1
shift;
;;
-ro)
ratio=2
shift;
;;
esac
# Get either the provided label file, or construct one from all the
# files given.
case $1 in
-l) cp $2 $tmp/labels
shift; shift
;;
*) for file in "$@"; do
awk '$2 == "reps" || $2 == "trep" { print $0; next; }' $file |
sed 's/^.*: //' |
sed 's/ /_/g' |
awk 'NR > 1 { printf ("%s %s\n", prev, $0); } \
{ prev = $0; }'
done | tsort 2>/dev/null | sed 's/_/ /g' > $tmp/labels
;;
esac
# Go through all files, and create a corresponding rate file for each
n=1
for i
do
# Get lines with average numbers, fill in any tests that may be missing
# then extract the rate field
base=`basename $i`
(echo " $n "
echo '--------'
awk '$2 == "reps" || $2 == "trep" { \
line = $0; \
next; \
} \
NF == 0 && line != "" { \
print line; \
line=""; \
next; \
} \
' $i > $tmp/$n.avg
fillblnk $tmp/$n.avg $tmp/labels |
sed 's/( *\([0-9]*\)/(\1/' |
awk '$2 == "reps" || $2 == "trep" { \
n = substr($6,2,length($6)-7); \
printf "%8s\n", n; \
}'
) > $tmp/rates/$n
echo "$n: $i"
allfiles="$allfiles$tmp/rates/$n "
n=`expr $n + 1`
done
case x$ratio in
x)
ratio=/bin/cat
;;
x1)
ratio="perfboth $n"
;;
*)
ratio="perfratio $n"
;;
esac
echo ''
(echo Operation; echo '---------'; cat $tmp/labels) |
paste $allfiles - | sed 's/ / /g' | $ratio
rm -rf $tmp