Hello community,
here is the log from the commit of package xorg-x11 for openSUSE:Factory
checked in at Tue Nov 23 10:36:19 CET 2010.
--------
--- xorg-x11/xorg-x11.changes 2010-11-11 10:17:40.000000000 +0100
+++ /mounts/work_src_done/STABLE/xorg-x11/xorg-x11.changes 2010-11-22 07:13:39.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Nov 22 06:06:34 UTC 2010 - sndirsch@novell.com
+
+- rendercheck 1.4
+ * This release makes the sources pass various checks of the
+ compilers, adds a --version option, and provides a new test
+ for rendering to source-only pictures under gradients, as
+ well as the usual recent janitorial cleanups and build
+ configuration improvements.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
rendercheck-1.3.tar.bz2
New:
----
rendercheck-1.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11.spec ++++++
--- /var/tmp/diff_new_pack.4bbkoG/_old 2010-11-23 10:35:54.000000000 +0100
+++ /var/tmp/diff_new_pack.4bbkoG/_new 2010-11-23 10:35:54.000000000 +0100
@@ -23,7 +23,7 @@
BuildRequires: bison
Url: http://xorg.freedesktop.org/
Version: 7.5
-Release: 32
+Release: 33
License: MIT License (or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Utilities
@@ -124,7 +124,7 @@
Source91: xwininfo-1.1.1.tar.bz2
Source92: xwud-1.0.3.tar.bz2
Source93: mkcomposecache-1.2.1.tar.bz2
-Source94: rendercheck-1.3.tar.bz2
+Source94: rendercheck-1.4.tar.bz2
Source96: xbacklight-1.1.1.tar.bz2
Source97: xinput-1.5.3.tar.bz2
Source98: xcompmgr-1.1.5.tar.bz2
++++++ rendercheck-1.3.tar.bz2 -> rendercheck-1.4.tar.bz2 ++++++
++++ 17105 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/autogen.sh new/rendercheck-1.4/autogen.sh
--- old/rendercheck-1.3/autogen.sh 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/autogen.sh 2009-10-16 23:38:28.000000000 +0200
@@ -6,9 +6,7 @@
ORIGDIR=`pwd`
cd $srcdir
-aclocal || exit 1
-automake --foreign --add-missing || exit 1
-autoconf || exit 1
+autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/ChangeLog new/rendercheck-1.4/ChangeLog
--- old/rendercheck-1.3/ChangeLog 2008-03-07 22:47:58.000000000 +0100
+++ new/rendercheck-1.4/ChangeLog 2010-11-22 03:56:16.000000000 +0100
@@ -1,3 +1,240 @@
+commit 16d7e5c3052f8c4e9df77f889f935ed8b8f8b326
+Author: Alan Coopersmith
+Date: Sun Nov 21 18:55:18 2010 -0800
+
+ rendercheck 1.4
+
+ Signed-off-by: Alan Coopersmith
+
+commit 03e284e42edbec2a184e0373b0d86bdfbc109b32
+Author: Alan Coopersmith
+Date: Sat Oct 30 13:47:22 2010 -0700
+
+ config: Remove unnecessary calls from configure.ac
+
+ AC_PROG_CC & AC_PROG_SED are provided by XORG_DEFAULT_OPTIONS now
+ PKG_CONFIG_MODULES handles AC_SUBST of the CFLAGS & LIBS variables
+ XORG_DEFAULT_OPTIONS includes XORG_STRICT_OPTION to set -Werror
+
+ Assume systems have xrender.pc now - those building on older systems
+ can set RC_LIBS="-lXrender -lXext -lX11" plus any -I/-L/-R flags they
+ need in RC_CFLAGS & RC_LIBS.
+
+ Signed-off-by: Alan Coopersmith
+
+commit db39192719bb4474264a6cc66d0a264468b56f05
+Author: Alan Coopersmith
+Date: Sat Oct 30 13:43:30 2010 -0700
+
+ Sun's copyrights now belong to Oracle
+
+ Signed-off-by: Alan Coopersmith
+
+commit 6e16e632cfd0528b0934aaadb6ef5f239e61aa9e
+Author: Gaetan Nadon
+Date: Sat Oct 30 13:41:51 2010 -0700
+
+ config: update AC_PREREQ statement to 2.60
+
+ Unrelated to the previous patches, the new value simply reflects
+ the reality that the minimum level for autoconf to configure
+ all x.org modules is 2.60 dated June 2006.
+
+ ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
+
+ Signed-off-by: Gaetan Nadon
+ Signed-off-by: Alan Coopersmith
+
+commit e581769b5152ff8e8fdf745b66eb81479a380c32
+Author: Alan Coopersmith
+Date: Sat Oct 30 13:41:22 2010 -0700
+
+ config: upgrade to util-macros 1.8 for additional man page support
+
+ Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
+ The value of MAN_SUBST is the same for all X.Org packages.
+
+ Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS
+ Enables use of platform appropriate version of sed.
+
+ Signed-off-by: Alan Coopersmith
+
+commit 539d89d70ddb16fc3b98968a63276519e737a270
+Author: Jesse Adkins
+Date: Tue Sep 28 13:29:49 2010 -0700
+
+ Purge cvs tags.
+
+ Signed-off-by: Jesse Adkins
+
+commit 0d88ba2ebc5d31e7bb03a0628fd4027f1937c39b
+Author: Gaetan Nadon
+Date: Sat Mar 27 10:33:54 2010 -0400
+
+ config: remove files unnecessarily listed in EXTRA_DIST
+
+ Automake always distribute those files
+
+ Signed-off-by: Gaetan Nadon
+
+commit a069b6acf4026b3bfd2927c8cc936a5fa65e160b
+Author: Gaetan Nadon
+Date: Fri Mar 26 17:22:22 2010 -0400
+
+ man: build man pages the standard way
+
+ Source in git is .man, the suffix may vary by platform
+ No need to make an exception in .gitignore for rendercheck
+ Add __xorgversion__ to rendercheck.man
+
+ Signed-off-by: Gaetan Nadon
+
+commit 83a772482d3bf85eeb3f47a7456a662b3b91c1d2
+Author: Gaetan Nadon
+Date: Thu Feb 11 10:08:06 2010 -0500
+
+ config: move CWARNFLAGS from configure.ac to Makefile.am
+
+ Compiler warning flags should be explicitly set in the makefile
+ rather than being merged with other packages compiler flags.
+
+ Signed-off-by: Gaetan Nadon
+
+commit c1cf222ea8dded9832863116b7f62991088135a0
+Author: Gaetan Nadon
+Date: Thu Nov 26 09:19:52 2009 -0500
+
+ Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
+
+ Now that the INSTALL file is generated.
+ Allows running make maintainer-clean.
+
+commit 999c99c4534a4f371076e5f85cd135483b66960d
+Author: Gaetan Nadon
+Date: Wed Oct 28 14:09:07 2009 -0400
+
+ INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
+
+ Add missing INSTALL file. Use standard GNU file on building tarball
+ README may have been updated
+ Remove AUTHORS file as it is empty and no content available yet.
+ Remove NEWS file as it is empty and no content available yet.
+
+commit a118619650d75cf92caca2896828a1d8ef0d3e03
+Author: Gaetan Nadon
+Date: Tue Oct 27 15:07:24 2009 -0400
+
+ Deploy the new XORG_DEFAULT_OPTIONS #24242
+
+ This macro aggregate a number of existing macros that sets commmon
+ X.Org components configuration options. It shields the configuration file from
+ future changes.
+
+commit f76c6cb996769fe32a6dce496b5f70326feb84e8
+Author: Gaetan Nadon
+Date: Mon Oct 26 22:08:38 2009 -0400
+
+ Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432
+
+ ChangeLog filename is known to Automake and requires no further
+ coding in the makefile.
+
+commit a05c845fd67c85a775ed5d9abf75369cf5dae25b
+Author: Gaetan Nadon
+Date: Thu Oct 22 16:13:16 2009 -0400
+
+ Makefile.am: do not include autogen.sh in distribution #24183
+
+ This is a private build script that should not be distributed
+
+commit c80dce0c5beca48ee2758ca78fba59c20127215e
+Author: Gaetan Nadon
+Date: Thu Oct 22 12:34:14 2009 -0400
+
+ .gitignore: use common defaults with custom section # 24239
+
+ Using common defaults will reduce errors and maintenance.
+ Only the very small or inexistent custom section need periodic maintenance
+ when the structure of the component changes. Do not edit defaults.
+
+commit ed91c60970a41670d6dc58f59c24c60d0dbe21fd
+Author: Jeremy Huddleston
+Date: Wed Oct 21 12:47:19 2009 -0700
+
+ This is not a GNU project, so declare it foreign.
+
+ On Wed, 2009-10-21 at 13:36 +1000, Peter Hutterer wrote:
+ > On Tue, Oct 20, 2009 at 08:23:55PM -0700, Jeremy Huddleston wrote:
+ > > I noticed an INSTALL file in xlsclients and libXvMC today, and it
+ > > was quite annoying to work around since 'autoreconf -fvi' replaces
+ > > it and git wants to commit it. Should these files even be in git?
+ > > Can I nuke them for the betterment of humanity and since they get
+ > > created by autoreconf anyways?
+ >
+ > See https://bugs.freedesktop.org/show_bug.cgi?id=24206
+
+ As an interim measure, replace AM_INIT_AUTOMAKE([dist-bzip2]) with
+ AM_INIT_AUTOMAKE([foreign dist-bzip2]). This will prevent the generation
+ of the INSTALL file. It is also part of the 24206 solution.
+
+ Signed-off-by: Jeremy Huddleston
+
+commit 37eac61e71a313df9927ca2a41ef49bda92fd9c6
+Author: Ian Romanick
+Date: Tue Jan 20 12:04:46 2009 -0800
+
+ Make autogen.sh look like the autogen.sh in every other fd.o project
+
+ Explicitly calling aclocal in autogen.sh circumvents the user's
+ ACLOCAL environment setting and pretty much always does the wrong thing.
+
+commit 63814639cb070e34a1aa2205ff71d64e6cc884ce
+Author: Paulo Cesar Pereira de Andrade
+Date: Mon Jan 19 15:20:50 2009 -0200
+
+ Ansification and compile warning fixes.
+
+ This also uses XORG_CHANGELOG and XORG_CWARNFLAGS, corrects
+ make distcheck, all gcc 4.3 and sparse warnings, and a configure
+ configure warning about err.h.
+
+commit 2659ac63a1b17e489cb37a44d8c26350de8c7c82
+Author: Aaron Plattner
+Date: Wed Jan 7 18:40:50 2009 -0800
+
+ Fix build with -Wall -Werror -pedantic
+
+commit c006790eff135feb16c88e48afb12496d74930b4
+Author: Aaron Plattner
+Date: Wed Jan 7 18:24:08 2009 -0800
+
+ Add a --version option.
+
+ Print the version unconditionally. Exit immediately if --version was specified
+ and continue otherwise.
+
+ While I'm at it, use Bool instead of int for is_sync.
+
+commit 0c6aaf012b592bae818d5ce75cd41f23bd4d2cd5
+Author: Eric Anholt
+Date: Tue Apr 15 14:01:06 2008 -0700
+
+ Add a test for rendering to source-only pictures under gradients.
+
+commit 8288fd35540d148f7900d883525b530c4923eb71
+Author: Keith Packard
+Date: Tue Apr 15 13:27:35 2008 -0700
+
+ Remove bogus extra loop from gradient tests.
+
+ Gradient tests use a single loop, not two.
+
+commit 74e2b0dffb65578360889ee7a0ef1e2a82347233
+Author: Adam Jackson
+Date: Fri Mar 7 16:48:08 2008 -0500
+
+ rendercheck 1.3
+
commit 365c2d85d4bc342a3a868f5bc5e43a342f384d07
Author: James Cloos
Date: Thu Dec 6 16:37:04 2007 -0500
@@ -5,7 +242,7 @@
Replace static ChangeLog with dist-hook to generate from git log
commit bf5275efbf45672ef8364c773cfa98ccd46ab967
-Merge: 3b5b26e... 70d9421...
+Merge: 3b5b26e 70d9421
Author: Eric Anholt
Date: Fri Feb 9 14:10:24 2007 -0800
@@ -211,7 +448,7 @@
Ignore emacs *~ backup files
commit af99a26276212838da35d9fd07702e74dcbab5a1
-Merge: 0410434... c1d2c66...
+Merge: 0410434 c1d2c66
Author: Eric Anholt
Date: Wed May 3 01:32:57 2006 -0700
@@ -248,7 +485,7 @@
pictures, not filling from the pictures).
commit b7f09efcab3e85b183218438e6e87bd665541fb5
-Merge: 6545649... f95ea74...
+Merge: 6545649 f95ea74
Author: Alan Coopersmith
Date: Mon May 1 09:49:34 2006 -0700
@@ -268,7 +505,7 @@
returning a failure exit code if we failed any tests.
commit 9d46f6e9528040416356602688d717a2bb0dd2a5
-Merge: edb11cf... 6cfab61...
+Merge: edb11cf 6cfab61
Author: Lars Knoll
Date: Fri Apr 21 10:01:40 2006 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/configure.ac new/rendercheck-1.4/configure.ac
--- old/rendercheck-1.3/configure.ac 2008-03-07 22:47:18.000000000 +0100
+++ new/rendercheck-1.4/configure.ac 2010-11-22 03:55:03.000000000 +0100
@@ -1,59 +1,31 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.57)
+AC_PREREQ(2.60)
AC_INIT([rendercheck],
- 1.3,
- [anholt@FreeBSD.org],
- rendercheck)
+ [1.4],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+ [rendercheck])
AC_CONFIG_SRCDIR([Makefile.am])
-AM_INIT_AUTOMAKE([dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
-# Checks for programs.
-AC_PROG_CC
-
-AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],
- [Treat warnings as errors (default: disabled)]),
- [WERROR=$enableval], [WERROR=no])
-
-# Checks for pkg-config packages
-PKG_CHECK_MODULES(RC, xrender,
- [xrender_found_with_pkgconfig=yes],
- [xrender_found_with_pkgconfig=no])
-
-if test "$xrender_found_with_pkgconfig" = "no"
-then
- AC_PATH_XTRA
- if test "x$no_x" = "xyes"
- then
- AC_MSG_ERROR([X is required, but it was either disabled or not found.])
- fi
-
- RC_CFLAGS="$X_CFLAGS"
- RC_LIBS="$X_LIBS -lXrender -lXext -lX11"
-fi
-
-if test "x$GCC" = "xyes"; then
- GCC_WARNINGS1="-Wall -Wpointer-arith -Wstrict-prototypes"
- GCC_WARNINGS2="-Wmissing-prototypes -Wmissing-declarations"
- GCC_WARNINGS3="-Wnested-externs -fno-strict-aliasing"
- GCC_WARNINGS="$GCC_WARNINGS1 $GCC_WARNINGS2 $GCC_WARNINGS3"
- if test "x$WERROR" = "xyes"; then
- GCC_WARNINGS="${GCC_WARNINGS} -Werror"
- fi
- RC_CFLAGS="$RC_CFLAGS $GCC_WARNINGS"
-fi
-
-AC_SUBST(RC_CFLAGS)
-AC_SUBST(RC_LIBS)
-
-# Checks for libraries.
+# 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 header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([err.h])
-AC_OUTPUT([Makefile])
+# Checks for pkg-config packages
+PKG_CHECK_MODULES(RC, [xrender x11])
+
+AC_CONFIG_FILES([Makefile
+ man/Makefile])
+
+AC_OUTPUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/INSTALL new/rendercheck-1.4/INSTALL
--- old/rendercheck-1.3/INSTALL 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/INSTALL 2010-11-22 03:56:16.000000000 +0100
@@ -1,5 +1,8 @@
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
-Foundation, Inc.
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
@@ -7,7 +10,10 @@
Basic Installation
==================
- These are generic installation instructions.
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -20,9 +26,9 @@
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
+the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
-cache files.)
+cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
@@ -32,20 +38,17 @@
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
+ `./configure' to configure the package for your system.
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
2. Type `make' to compile the package.
@@ -64,6 +67,9 @@
all sorts of other programs in order to regenerate files that came
with the distribution.
+ 6. Often, you can also type `make uninstall' to remove the installed
+ files again.
+
Compilers and Options
=====================
@@ -75,7 +81,7 @@
by setting variables in the command line or in the environment. Here
is an example:
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
@@ -84,34 +90,46 @@
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
+own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
Installation Names
==================
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
+options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
@@ -134,6 +152,28 @@
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
Specifying the System Type
==========================
@@ -156,7 +196,7 @@
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
@@ -186,9 +226,14 @@
./configure CC=/usr/local2/bin/gcc
-will cause the specified gcc to be used as the C compiler (unless it is
+causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
`configure' Invocation
======================
@@ -197,7 +242,14 @@
`--help'
`-h'
- Print a summary of the options to `configure', and exit.
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
`--version'
`-V'
@@ -224,6 +276,16 @@
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
+`--prefix=DIR'
+ Use DIR as the installation prefix. *Note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/main.c new/rendercheck-1.4/main.c
--- old/rendercheck-1.3/main.c 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/main.c 2009-10-16 23:38:28.000000000 +0200
@@ -108,7 +108,7 @@
{
fprintf(stderr, "usage: %s [-d|--display display] [-v|--verbose]\n"
"\t[-t test1,test2,...] [-o op1,op2,...] [-f format1,format2,...]\n"
- "\t[--sync] [--minimalrendering]\n"
+ "\t[--sync] [--minimalrendering] [--version]\n"
"\tAvailable tests: fill,dcoords,scoords,mcoords,tscoords,\n"
"\t\ttmcoords,blend,composite,cacomposite,gradients,repeat,triangles,\n"
"\t\tbug7366\n",
@@ -121,7 +121,7 @@
Display *dpy;
XEvent ev;
int i, o, maj, min;
- static int is_sync = 0;
+ static Bool is_sync = FALSE, print_version = FALSE;
XWindowAttributes a;
XSetWindowAttributes as;
picture_info window;
@@ -135,9 +135,10 @@
{ "tests", required_argument, NULL, 't' },
{ "ops", required_argument, NULL, 'o' },
{ "verbose", no_argument, NULL, 'v' },
- { "sync", no_argument, &is_sync, 1},
+ { "sync", no_argument, &is_sync, TRUE},
{ "minimalrendering", no_argument, &minimalrendering,
TRUE},
+ { "version", no_argument, &print_version, TRUE },
{ NULL, 0, NULL, 0 }
};
@@ -239,6 +240,13 @@
}
}
+ /* Print the version string. Bail out if --version was requested and
+ * continue otherwise.
+ */
+ puts(PACKAGE_STRING);
+ if (print_version)
+ return 0;
+
dpy = XOpenDisplay(display);
if (dpy == NULL)
errx(1, "Couldn't open display.");
@@ -271,7 +279,7 @@
XGetWindowAttributes(dpy, window.d, &a);
window.format = XRenderFindVisualFormat(dpy, a.visual);
window.pict = XRenderCreatePicture(dpy, window.d,
- window.format, 0, 0);
+ window.format, 0, NULL);
window.name = (char *)malloc(20);
if (window.name == NULL)
errx(1, "malloc error");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/Makefile.am new/rendercheck-1.4/Makefile.am
--- old/rendercheck-1.3/Makefile.am 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/Makefile.am 2010-10-30 22:40:17.000000000 +0200
@@ -1,5 +1,6 @@
+SUBDIRS = man
+
bin_PROGRAMS = rendercheck
-man_MANS = rendercheck.1
rendercheck_SOURCES = \
main.c \
@@ -18,25 +19,21 @@
t_tsrccoords2.c \
t_triangles.c
-INCLUDES = $(RC_CFLAGS)
+AM_CFLAGS = $(RC_CFLAGS) $(CWARNFLAGS)
rendercheck_LDADD = $(RC_LIBS)
+MAINTAINERCLEANFILES = ChangeLog INSTALL
EXTRA_DIST = \
- AUTHORS \
- COPYING \
- INSTALL \
- README \
doc/AddingNewTests \
doc/TODO \
- autogen.sh \
- ${man_MANS}
+ autogen.sh
-EXTRA_DIST += ChangeLog
-MAINTAINERCLEANFILES = ChangeLog
+.PHONY: ChangeLog INSTALL
-.PHONY: ChangeLog
+INSTALL:
+ $(INSTALL_CMD)
ChangeLog:
- (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ $(CHANGELOG_CMD)
-dist-hook: ChangeLog
+dist-hook: ChangeLog INSTALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/man/Makefile.am new/rendercheck-1.4/man/Makefile.am
--- old/rendercheck-1.3/man/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ new/rendercheck-1.4/man/Makefile.am 2010-10-30 22:43:18.000000000 +0200
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 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.
+#
+
+appmandir = $(APP_MAN_DIR)
+
+appman_PRE = rendercheck.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) < $< > $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/man/rendercheck.man new/rendercheck-1.4/man/rendercheck.man
--- old/rendercheck-1.3/man/rendercheck.man 1970-01-01 01:00:00.000000000 +0100
+++ new/rendercheck-1.4/man/rendercheck.man 2010-04-10 02:36:00.000000000 +0200
@@ -0,0 +1,55 @@
+.ds q \N'34'
+.TH rendercheck 1 __xorgversion__
+.SH NAME
+rendercheck \- simple tests of the X Render extension.
+.SH SYNOPSIS
+.nf
+.B rendercheck [\-d|\-\-display display] [\-i|\-\-iter] [\-\-sync] \
+[\-t|\-\-tests test1,test2,test3,...] [\-o|\-\-ops op1,op2,op3,...]
+[\-v|\-\-verbose] [\-\-minimalrendering]
+.fi
+.SH DESCRIPTION
+.B rendercheck
+is a set of simple tests of the X Render extension. It is designed for authors
+of Render implementations in X Servers.
+.SH OPTIONS
+.TP
+.BI \-d|\-\-display\ display
+Specifies the display to test against.
+.TP
+.BI \-i|\-\-iter\ iterations
+Specifies the number of times to repeat each operation before sampling results.
+Some X Servers may behave differently (hardware vs software rendering paths)
+depending on the previous operations done, so this may be used to influence the
+server's choices.
+.TP
+.BI \-\-sync
+Enables synchronous xlib operation, for debugging.
+.TP
+.BI \-t|\-\-tests\ test1,test2,test3...
+Enables only a specific subset of the possible tests. Test names include
+fill, dcoords, scoords, mcoords, tscoords, tmcoords, blend, composite,
+cacomposite, gradients, repeat, triangles, and bug7366.
+Names must be separated by
+commas and have no spaces.
+.TP
+.BI \-f|\-\-formats\ format1,format2,format3...
+Enables only a specific subset of the possible formats. Only formats listed
+in the server-supported format list are available. Names must be separated by
+commas and have no spaces.
+.TP
+.BI \-o|\-\-ops
+Enables only a specific subset of the Render operators.
+.TP
+.BI \-v|\-\-verbose
+Enables verbose printing of information on tests run, and successes and
+failures.
+.TP
+.BI \-\-minimalrendering
+Disables copying of offscreen destinations to the window, which is on by default
+to provide the user with visual feedback.
+.SH BUGS
+Several limitations are documented in the TODO file accompanying the source.
+Please report any further bugs you find to http://bugs.freedesktop.org/.
+.SH AUTHORS
+Eric Anholt, with help from Keith Packard.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/missing new/rendercheck-1.4/missing
--- old/rendercheck-1.3/missing 2008-02-04 14:53:53.000000000 +0100
+++ new/rendercheck-1.4/missing 2010-11-22 03:55:47.000000000 +0100
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@
# 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see http://www.gnu.org/licenses/.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -89,6 +87,9 @@
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to ."
exit $?
;;
@@ -106,15 +107,22 @@
esac
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
-# the program).
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
case $1 in
- lex|yacc)
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
+ tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
@@ -138,7 +146,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -148,7 +156,7 @@
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -157,7 +165,7 @@
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -187,7 +195,7 @@
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -210,7 +218,7 @@
fi
;;
- bison|yacc)
+ bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
@@ -240,7 +248,7 @@
fi
;;
- lex|flex)
+ lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
@@ -263,7 +271,7 @@
fi
;;
- help2man)
+ help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@@ -277,11 +285,11 @@
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,7 +318,7 @@
touch $file
;;
- tar)
+ tar*)
shift
# We have already tried tar in the generic part.
@@ -363,5 +371,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/rendercheck.1 new/rendercheck-1.4/rendercheck.1
--- old/rendercheck-1.3/rendercheck.1 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/rendercheck.1 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-.ds q \N'34'
-.TH rendercheck 1
-.SH NAME
-rendercheck \- simple tests of the X Render extension.
-.SH SYNOPSIS
-.nf
-.B rendercheck [\-d|\-\-display display] [\-i|\-\-iter] [\-\-sync] \
-[\-t|\-\-tests test1,test2,test3,...] [\-o|\-\-ops op1,op2,op3,...]
-[\-v|\-\-verbose] [\-\-minimalrendering]
-.fi
-.SH DESCRIPTION
-.B rendercheck
-is a set of simple tests of the X Render extension. It is designed for authors
-of Render implementations in X Servers.
-.SH OPTIONS
-.TP
-.BI \-d|\-\-display\ display
-Specifies the display to test against.
-.TP
-.BI \-i|\-\-iter\ iterations
-Specifies the number of times to repeat each operation before sampling results.
-Some X Servers may behave differently (hardware vs software rendering paths)
-depending on the previous operations done, so this may be used to influence the
-server's choices.
-.TP
-.BI \-\-sync
-Enables synchronous xlib operation, for debugging.
-.TP
-.BI \-t|\-\-tests\ test1,test2,test3...
-Enables only a specific subset of the possible tests. Test names include
-fill, dcoords, scoords, mcoords, tscoords, tmcoords, blend, composite,
-cacomposite, gradients, repeat, triangles, and bug7366.
-Names must be separated by
-commas and have no spaces.
-.TP
-.BI \-f|\-\-formats\ format1,format2,format3...
-Enables only a specific subset of the possible formats. Only formats listed
-in the server-supported format list are available. Names must be separated by
-commas and have no spaces.
-.TP
-.BI \-o|\-\-ops
-Enables only a specific subset of the Render operators.
-.TP
-.BI \-v|\-\-verbose
-Enables verbose printing of information on tests run, and successes and
-failures.
-.TP
-.BI \-\-minimalrendering
-Disables copying of offscreen destinations to the window, which is on by default
-to provide the user with visual feedback.
-.SH BUGS
-Several limitations are documented in the TODO file accompanying the source.
-Please report any further bugs you find to http://bugs.freedesktop.org/.
-.SH AUTHORS
-Eric Anholt, with help from Keith Packard.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/rendercheck.h new/rendercheck-1.4/rendercheck.h
--- old/rendercheck-1.3/rendercheck.h 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/rendercheck.h 2009-10-16 23:38:28.000000000 +0200
@@ -20,6 +20,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
+#include
#include
#if HAVE_ERR_H
@@ -90,6 +91,8 @@
extern int format_whitelist_len;
extern char **format_whitelist;
extern picture_info *argb32white, *argb32red, *argb32green, *argb32blue;
+extern int num_ops;
+extern int num_colors;
/* main.c */
void
@@ -154,6 +157,8 @@
trans_srccoords_test_2(Display *dpy, picture_info *win, picture_info *white,
Bool test_mask);
+Bool render_to_gradient_test(Display *dpy, picture_info *src);
+
Bool linear_gradient_test(Display *dpy, picture_info *win,
picture_info *dst, int op, picture_info *dst_color);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/tests.c new/rendercheck-1.4/tests.c
--- old/rendercheck-1.3/tests.c 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/tests.c 2009-10-16 23:38:28.000000000 +0200
@@ -27,9 +27,9 @@
#include "rendercheck.h"
-XRenderPictFormat **format_list;
-int nformats;
-int argb32index;
+static XRenderPictFormat **format_list;
+static int nformats;
+static int argb32index;
/* Note: changing the order of these colors may disrupt tests that depend on
* specific colors. Just add to the end if you need. These are
@@ -393,8 +393,8 @@
pictures_solid = malloc(num_colors * sizeof(picture_info));
for (i = 0; i < num_colors; i++) {
- pictures_solid[i].color = colors[i];
XRenderColor c;
+ pictures_solid[i].color = colors[i];
c.alpha = (int)(colors[i].a*65535);
c.red = (int)(colors[i].r*65535);
c.green = (int)(colors[i].g*65535);
@@ -637,6 +637,10 @@
if (enabled_tests & TEST_GRADIENTS) {
Bool ok, group_ok = TRUE;
+ printf("Beginning render to linear gradient test\n");
+ ok = render_to_gradient_test(dpy, &pictures_1x1[0]);
+ RECORD_RESULTS();
+
for (i = 0; i < num_ops; i++) {
if (ops[i].disabled)
continue;
@@ -652,11 +656,9 @@
ops[i].name, pi->name);
for (src = 0; src < num_tests; src++) {
- for (mask = 0; mask < num_tests; mask++) {
- ok = linear_gradient_test(dpy, win, pi, i,
- &pictures_1x1[dst]);
- RECORD_RESULTS();
- }
+ ok = linear_gradient_test(dpy, win, pi, i,
+ &pictures_1x1[src]);
+ RECORD_RESULTS();
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rendercheck-1.3/t_gradient.c new/rendercheck-1.4/t_gradient.c
--- old/rendercheck-1.3/t_gradient.c 2008-03-07 22:46:33.000000000 +0100
+++ new/rendercheck-1.4/t_gradient.c 2010-10-07 05:33:18.000000000 +0200
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* Copyright © 2006 Lars Knoll
*
* Permission to use, copy, modify, distribute, and sell this software and its
@@ -55,7 +53,7 @@
{ -1, {0, 0, 0, 0} }
}
};
-const int n_stop_list = sizeof(stop_list)/(10*sizeof(stop));
+static const int n_stop_list = sizeof(stop_list)/(10*sizeof(stop));
typedef struct _point {
double x;
@@ -85,7 +83,81 @@
{-1, -1}
};
-const int n_linear_gradient_points = sizeof(linear_gradient_points)/(2*sizeof(point));
+static const int n_linear_gradient_points = sizeof(linear_gradient_points)/(2*sizeof(point));
+
+static Bool got_bad_drawable;
+
+static int expecting_bad_drawable(Display *dpy, XErrorEvent *event)
+{
+ if (event->error_code == BadDrawable)
+ got_bad_drawable = TRUE;
+
+ return TRUE;
+}
+
+
+/* Tests that rendering to a linear gradient returns an error as expected.
+ */
+Bool
+render_to_gradient_test(Display *dpy, picture_info *src)
+{
+ XLinearGradient g;
+ Picture gradient;
+ XFixed stops[10];
+ XRenderColor colors[10];
+ const stop *stps = &stop_list[0][0];
+ int i, p = 0;
+
+ g.p1.x = XDoubleToFixed(linear_gradient_points[p].x);
+ g.p1.y = XDoubleToFixed(linear_gradient_points[p].y);
+ g.p2.x = XDoubleToFixed(linear_gradient_points[p+1].x);
+ g.p2.y = XDoubleToFixed(linear_gradient_points[p+1].y);
+ for (i = 0; i < 10; ++i) {
+ if (stps[i].x < 0)
+ break;
+ stops[i] = XDoubleToFixed(stps[i].x);
+ colors[i].red = stps[i].color.r*65535;
+ colors[i].green = stps[i].color.g*65535;
+ colors[i].blue = stps[i].color.b*65535;
+ colors[i].alpha = stps[i].color.a*65535;
+ }
+ gradient = XRenderCreateLinearGradient(dpy, &g, stops, colors, i);
+
+ /* Clear out any failing requests before our expected to fail ones. */
+ XSync(dpy, FALSE);
+
+ got_bad_drawable = FALSE;
+ XSetErrorHandler(expecting_bad_drawable);
+
+ /* Try a real compositing path */
+ XRenderComposite(dpy, PictOpOver, src->pict, 0, gradient,
+ 0, 0, 0, 0, 0, 0, win_width, win_height);
+ XSync(dpy, FALSE);
+ if (!got_bad_drawable) {
+ printf("render_to_gradient: Failed to get BadDrawable with "
+ "Over\n");
+ return FALSE;
+ } else {
+ got_bad_drawable = FALSE;
+ }
+
+ /* Try the copy path to catch bad short-circuiting to 2d. */
+ XRenderComposite(dpy, PictOpSrc, src->pict, 0, gradient,
+ 0, 0, 0, 0, 0, 0, win_width, win_height);
+ XSync(dpy, FALSE);
+ if (!got_bad_drawable) {
+ printf("render_to_gradient: Failed to get BadDrawable with "
+ "Src\n");
+ return FALSE;
+ } else {
+ got_bad_drawable = FALSE;
+ }
+ XSetErrorHandler(NULL);
+
+ XRenderFreePicture(dpy, gradient);
+
+ return TRUE;
+}
static void gradientPixel(const stop *stops, double pos, unsigned int spread, color4d *result)
{
@@ -211,6 +283,7 @@
pa.repeat = repeat;
XRenderChangePicture(dpy, gradient, CPRepeat, &pa);
+ assert (dst_color->pict > 100);
XRenderComposite(dpy, PictOpSrc, dst_color->pict, 0, dst->pict, 0, 0,
0, 0, 0, 0, win_width, win_height);
XRenderComposite(dpy, ops[op].op, gradient, 0,
@@ -228,7 +301,7 @@
tdst = dst_color->color;
color_correct(dst, &tdst);
- do_composite(ops[op].op, &tgradient, 0, &tdst,
+ do_composite(ops[op].op, &tgradient, NULL, &tdst,
&expected, False);
color_correct(dst, &expected);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org