Commit Graph

199 Commits

Author SHA1 Message Date
Søren Sandmann Pedersen
f73f798531 Pre-release version bump to 0.25.2 2012-03-08 09:33:16 -05:00
Nemanja Lukic
1364c91bd1 MIPS: DSPr2: Basic infrastructure for MIPS architecture
MIPS DSP instruction set extensions
2012-02-25 15:06:43 -05:00
Søren Sandmann Pedersen
5eb4c12a79 Disable MMX when Clang is being used.
There are several issues with the Clang compiler and pixman-mmx.c:

- When not optimizing, it doesn't seem to recognize that an argument
  to an __always_inline__ function is compile-time constant. This
  results in this error being produced:

      fatal error: error in backend: Invalid operand for inline asm
              constraint 'K'!

- This inline assembly:

      asm ("pmulhuw %1, %0\n\t"
          : "+y" (__A)
          : "y" (__B)
      );

  results in

      fatal error: error in backend: Unsupported asm: input constraint
              with a matching output constraint of incompatible type!

So disable MMX when the compiler is Clang.
2012-02-24 16:30:41 -05:00
Matt Turner
a14f0f66bb autoconf: use #error instead of error
We'd rather see the actual #error message rather than a syntax error in
config.log.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2012-02-20 18:36:24 -05:00
Matt Turner
e27bdcd968 Make sure to run AC_SUBST IWMMXT_CFLAGS
Allows you to compile without -flax-vector-conversions in your CFLAGS,
though -march=iwmmxt2 is still necessary since specifying some other
-march= value will override it, and disable iwmmxt.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2012-02-17 18:10:37 -05:00
Jeremy Huddleston
82a3980701 configure.ac: Add an --enable-libpng option
Now there is a way to not link against libpng even if it's available.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-02-16 15:22:32 -05:00
Matt Turner
46fc4eb234 Use AC_LANG_SOURCE for iwMMXt configure program
Signed-off-by: Matt Turner <mattst88@gmail.com>
2012-02-11 23:47:10 -05:00
Naohiro Aota
84450c411c Don't use non-POSIX test
test "$test_CFLAGS" == "" &&         \

may cause an error on some POSIX shells and uses a style which is not
consistent with the other tests in configure.ac

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42588 and
https://bugs.gentoo.org/show_bug.cgi?id=387087
2011-11-24 14:23:29 +01:00
Søren Sandmann Pedersen
8d72d35b29 Post-release version bump to 0.25.1 2011-11-06 16:36:01 -05:00
Søren Sandmann Pedersen
973dc7d319 Pre-release version bump to 0.24.0 2011-11-06 16:10:33 -05:00
Søren Sandmann Pedersen
697cfe1537 Post-release version bump to 0.23.9 2011-10-29 05:51:54 -04:00
Søren Sandmann Pedersen
a0f1b56581 Pre-release version bump to 0.23.8 2011-10-29 05:33:44 -04:00
Søren Sandmann Pedersen
bb7142d361 Post-release version bump to 0.23.7 2011-10-11 06:10:39 -04:00
Søren Sandmann Pedersen
e20ac40bd3 Pre-release version bump to 0.23.6 2011-10-11 06:00:51 -04:00
Matt Turner
741eb8462c Correct the minimum gcc version needed for iwmmxt
Spotted by Søren Sandmann.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-10-06 17:56:09 -04:00
Matt Turner
0a34277180 Make sure iwMMXt is only detected on ARM
iwMMXt is incorrectly detected on x86 and amd64. This happens because
the test uses standard _mm_* intrinsic functions which it compiles with
-march=iwmmxt, but when the user has set CFLAGS=-march=k8 for instance,
no error is generated from -march=iwmmxt, even though it's not a valid
flag on x86/amd64. Passing CFLAGS=-march=native does not override the
-march=iwmmxt flag though, which is why it wasn't noticed before.

So, just #error out in the test if the __arm__ preprocessor directive
isn't defined.

Fixes https://bugs.gentoo.org/show_bug.cgi?id=385179

Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-10-06 17:52:12 -04:00
Matt Turner
7ab94c5f99 mmx: compile on ARM for iwmmxt optimizations
Check in configure for at least gcc-4.6, since gcc-4.7 (and hopefully
4.6) will be the eariest version capable of compiling the _mm_*
intrinsics on ARM/iwmmxt. Even for suitable compile versions I use
_mm_srli_si64 which is known to cause unpatched compilers to fail.

Select iwmmxt at runtime only after NEON, since we expect the NEON
optimizations to be more capable and faster than iwmmxt.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-27 13:13:15 -04:00
Matt Turner
02c1f1a022 mmx: rename USE_MMX to USE_X86_MMX
This will make upcoming ARM usage of pixman-mmx.c unambiguous.

Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-27 13:12:50 -04:00
Søren Sandmann Pedersen
9882d832f6 Use pkg-config to determine the flags to use with libpng
Previously we would unconditionally link with -lpng leading to build
failures on systems without libpng.
2011-09-12 22:39:53 -04:00
Søren Sandmann Pedersen
99a53667da test: New function to save a pixman image to .png
When debugging it is often very useful to be able to save an image as
a png file. This commit adds a function "write_png()" that does that.

If libpng is not available, then the function becomes a noop.
2011-09-10 04:07:50 -04:00
Søren Sandmann Pedersen
1e1ae0bf6e Post-release version bump to 0.23.5 2011-09-09 23:59:20 -04:00
Søren Sandmann Pedersen
f901e3b58b Pre-release version bump to 0.23.4 2011-09-09 23:51:11 -04:00
Søren Sandmann Pedersen
ed6d2f1cec Post-release version bump to 0.23.3 2011-07-04 15:35:17 -04:00
Søren Sandmann Pedersen
6c4001a0e1 Pre-release version bump to 0.23.2 2011-07-04 08:13:19 -04:00
Andrea Canciani
d815a1c54a Silence autoconf warnings
Autoconf 2.86 reports:

warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body

Every code fragment must be wrapped in [AC_LANG_SOURCE([...])]
2011-06-23 10:47:43 +02:00
Dave Yeo
838c2b593e Check for working mmap()
OS/2 doesn't have a working mmap().
2011-05-09 12:38:44 +02:00
Søren Sandmann Pedersen
c53625a36e Post-release version bump to 0.23.1 2011-05-02 05:11:49 -04:00
Søren Sandmann Pedersen
918a544406 Pre-release version bump to 0.22.0 2011-05-02 05:06:33 -04:00
Søren Sandmann Pedersen
71b2e2745b Post-release version bump to 0.21.9 2011-04-19 00:22:29 -04:00
Søren Sandmann Pedersen
89868e93bd Pre-release version bump to 0.21.8 2011-04-19 00:00:37 -04:00
Gilles Espinasse
1670b95214 Fix OpenMP not supported case
PIXMAN_LINK_WITH_ENV did not fail unless -Wall -Werror is used.
So even when the compiler did not support OpenMP, USE_OPENMP was defined.
Fix that by running the second OpenMP test only when first AC_OPENMP find supported

configure tested in the cases :
gcc without libgomp support, no openmp option, --enable-openmp and --disable-openmp
gcc with libgomp support, no openmp option, --enable-openmp and --disable-openmp

Not tested with autoconf version not knowing openmp (<2.62)

Warn when --enable-openmp is requested but no support is found

Signed-off-by: Gilles Espinasse <g.esp@free.fr>
2011-04-18 16:13:58 -04:00
Gilles Espinasse
b9e8f7fb74 Fix missing AC_MSG_RESULT value from Werror test
Use the correct variable name

Signed-off-by: Gilles Espinasse <g.esp@free.fr>
2011-04-18 16:13:58 -04:00
Søren Sandmann Pedersen
48e951000c Post-release version bump to 0.21.7 2011-02-22 16:13:32 -05:00
Søren Sandmann Pedersen
8b33321660 Pre-release version bump to 0.21.6 2011-02-22 15:43:41 -05:00
Søren Sandmann Pedersen
87cd6b8056 sse2: Don't compile pixman-sse2.c with -mmmx anymore
It's not necessary now that the file doesn't use MMX instructions.
2011-02-18 16:03:29 -05:00
Søren Sandmann Pedersen
7dfe845786 Move all the GTK+ based test programs to a new subdir, "demos"
This separates the test suite from the random gtk+ using test
programs. "demos" is somewhat misleading because the programs there
are not particularly exciting (with the possible exception of
composite-test which shows off all the compositing operators).
2011-02-15 09:25:17 -05:00
Søren Sandmann Pedersen
ed781df1cc Print a warning when a development snapshot is being configured.
It seems to be relatively common for people to use development
snapshots of pixman thinking they are ordinary releases. This patch
makes it such that if the current minor version is odd, configure will
print a banner explaining the version number scheme plus information
about where to report bugs.
2011-01-26 17:07:35 -05:00
Søren Sandmann Pedersen
a6a04c07c3 Post-release version bump to 0.21.5 2011-01-19 07:47:52 -05:00
Søren Sandmann Pedersen
4e56cec564 Pre-release version bump to 0.21.4 2011-01-19 07:38:24 -05:00
Siarhei Siamashka
2bbd553bd2 A new configure option --enable-static-testprogs
This option can be used for building fully static binaries of the test
programs so that they can be easily run using qemu-user. With binfmt-misc
configured, 'make check' works fine for crosscompiled pixman builds.
2011-01-16 23:40:34 +02:00
Søren Sandmann Pedersen
de2e51dacb Add enable_fp_exceptions() function in utils.[ch]
This function enables floating point traps if possible.
2010-12-17 16:57:18 -05:00
Cyril Brulebois
e7ee43c39d Fix argument quoting for AC_INIT.
One gets rid of this accordingly:
| autoreconf -vfi
| autoreconf: Entering directory `.'
| autoreconf: configure.ac: not using Gettext
| autoreconf: running: aclocal --force
| configure.ac:61: warning: AC_INIT: not a literal: "pixman@lists.freedesktop.org"
| autoreconf: configure.ac: tracing
| configure.ac:61: warning: AC_INIT: not a literal: "pixman@lists.freedesktop.org"

Signed-off-by: Cyril Brulebois <kibi@debian.org>
2010-11-19 13:57:47 -05:00
Søren Sandmann Pedersen
c59db8af66 Post-release version bump to 0.21.3 2010-11-16 17:14:47 -05:00
Søren Sandmann Pedersen
4646c23858 Pre-release version bump 2010-11-16 16:43:26 -05:00
Siarhei Siamashka
fed4a2fde5 Do CPU features detection from 'constructor' function when compiled with gcc
There is attribute 'constructor' supported since gcc 2.7 which allows
to have a constructor function for library initialization. This eliminates
an extra branch for each composite operation and also helps to avoid
complains from race condition detection tools like helgrind.

The other compilers may or may not support this attribute properly.
Ideally, the compilers should fail to compile the code with unknown
attribute, so the configure check should do the right job. But in
reality the problems are surely possible. Fortunately such problems
should be quite easy to find because NULL pointer dereference should
happen almost immediately if the constructor fails to run.

clang 2.7:
  supports __attribute__((constructor)) properly and pretends to be gcc

tcc 0.9.25:
  ignores __attribute__((constructor)), but does not pretend to be gcc
2010-11-05 16:02:28 +02:00
Siarhei Siamashka
56748ea9a6 Fixed broken configure check for __thread support
Somehow the patch from [1] was not applied correctly, fixing that.

1. http://lists.cairographics.org/archives/cairo/2010-September/020826.html
2010-11-02 01:36:37 +02:00
Søren Sandmann Pedersen
c993cd9614 Version bump 0.21.1.
The previous bump to 0.20.1 was a mistake; it belongs on the 0.20 branch.
2010-10-27 17:21:06 -04:00
Søren Sandmann Pedersen
d890b684f6 Post-release version bump to 0.20.1 2010-10-27 16:58:29 -04:00
Søren Sandmann Pedersen
c5e048d46c Pre-release version bump to 0.20.0 2010-10-27 16:51:40 -04:00
Scott McCreary
6a6d9758af Added check to find pthread on Haiku. 2010-10-27 16:49:02 -04:00