summaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2009-09-13[configure] --enable-symbol-lookupChris Wilson3-0/+5
There you go Joonas, I don't always ignore your suggestions! This is simple patch to allow the user to disable symbol loops in case the auto-detection fails on some obscure (perhaps OpenBSD) platform. Or in case the user really wants to trim a few bytes from a library only used during tracing!
2009-09-08[build] Improve handling of missing test apparatusChris Wilson3-1/+6
Improve detection, reporting and disabling of test backends when we lack the required libraries and utilities.
2009-09-05[configure] Add option to disable trace.Chris Wilson3-0/+7
Some environments may be broken beyond our capabilities to detect, or maybe the user is just insane and doesn't want to build my nice shiny cairo-trace. Whatever, give them the option to choose: $ ./configure --disable-trace
2009-09-02[build] Fix typos in prototype warnings.M Joonas Pihlaja1-1/+1
The -Wstrict-prototypes and -Wmissing-prototypes warnings weren't actually in use due to typos.
2009-09-02[build] Hush the Solaris compiler about enum abuse.M Joonas Pihlaja2-2/+27
Sun Studio 12 doesn't like it when we mix our enum values and types. We do that a lot on purpose so the warnings from compiles were very verbose.
2009-09-02[build] Refine the -Wno-attribute test to check our use cases.M Joonas Pihlaja3-13/+41
We don't actually check that -Wno-attribute does what we think it does. On clang it doesn't since it happily seems to recognize but ignore the attribute. This patch factors out a silent version of CAIRO_CC_TRY_FLAG which accepts an optional program argument and actually tests that the compiler doesn't produce any warning messages. It is then used to check that -Wno-attribute doesn't complain when the __warn_unused_result__ attribute is applied to void functions or variables.
2009-09-02[trace] Check for __builtin_return_address explicitly.M Joonas Pihlaja1-0/+12
Some other compilers such as clang and icc support the __builtin_return_address() intrinsic as well, so we don't need to check for __GNUC__ >= 3 only.
2009-08-31[build] Remove duplicate invocation of AC_CHECK_HEADERS.M Joonas Pihlaja1-3/+0
The fenv.h stuff was checked twice.
2009-08-29Add skia backendVladimir Vukicevic3-0/+5
Originally written by Vladimir Vukicevic to investigate using Skia for Mozilla, it provides a nice integration with a rather interesting code base. By hooking Skia underneath Cairo it allows us to directly compare code paths... which is interesting. [updated by Chris Wilson]
2009-08-29[build] Remove -Wcast-alignChris Wilson1-1/+4
Use -Wcast-align simply generates too much noise due to false-positive reports when casting pixels to uint32_t.
2009-08-29Add xml surfaceChris Wilson3-0/+5
A very simple surface that produces a hierarchical DAG in a simple XML format. It is intended to be used whilst debugging, for example with the automatic regression finding tools of cairo-sphinx, and with test suites that just want to verify that their code made a particular Cairo call.
2009-08-29Introduce cairo_tee_surface_tChris Wilson2-0/+2
Add a new surface type that multiplies it input onto several output surfaces. The only limitation is that it requires a master surface that is used whenever we need to query surface options, such as font options and extents.
2009-08-29[build] Add options for warning about bad castsChris Wilson1-4/+5
-Wbad-function-cast in particular. Triggers quite a few warnings where we have explicitly cast to an integer.
2009-08-25[build] Remove bogus warning that we require at least one native font backendBehdad Esfahbod1-4/+0
That limitation was lifted long ago after twin face was introduced.
2009-08-24[build] Fix typoBehdad Esfahbod1-1/+1
2009-08-06[build] Configure switch to disable atomicsChris Wilson1-2/+8
Workaround for my arm toolchain which succeeds in linking the configure program, only to complain when linking a program (such as cairo-perf) against libcairo.so. Annoying.
2009-08-06[boilerplate/test] Convert make-*-constructors to shellChris Wilson1-8/+0
Remove the intermediate C program that was a nuisance whilst cross-compiling and replace it with a simple shell script that is just a combination of cat + sed.
2009-07-23[drm] Add an accelerated image surface.Chris Wilson3-0/+9
Use the DRM interface to h/w accelerate composition on image surfaces. The purpose of the backend is simply to explore what such a hardware interface might look like and what benefits we might expect. The use case that might justify writing such custom backends are embedded devices running a drm compositor like wayland - which would, for example, allow one to write applications that seamlessly integrated accelerated, dynamic, high quality 2D graphics using Cairo with advanced interaction (e.g. smooth animations in the UI) driven by a clutter framework... In this first step we introduce the fundamental wrapping of GEM for intel and radeon chipsets, and, for comparison, gallium. No acceleration, all we do is use buffer objects (that is use the kernel memory manager) to allocate images and simply use the fallback mechanism. This provides a suitable base to start writing chip specific drivers.
2009-07-21Merge commit 'anholt/gl'Chris Wilson3-3/+13
Conflicts: boilerplate/Makefile.sources boilerplate/cairo-boilerplate.c build/configure.ac.features src/cairo.h util/cairo-script/Makefile.am
2009-07-20[perf] Include trace comparison in html outputChris Wilson1-0/+2
2009-07-20[build] And export CC_FOR_BUILD so that we can actually use it!Chris Wilson1-0/+1
2009-07-20[build] Use ${CC} as the default value for CC_FOR_BUILDChris Wilson1-0/+7
2009-07-17Add OpenVG backend.Chris Wilson3-0/+15
Based on the work by Øyvind Kolås and Pierre Tardy -- many thanks to Pierre for pushing this backend for inclusion as well as testing and reviewing my initial patch. And many more thanks to pippin for writing the backend in the first place! Hacked and chopped by myself into a suitable basis for a backend. Quite a few issues remain open, but would seem to be ready for testing on suitable hardware.
2009-07-03Export meta-surfaceChris Wilson2-0/+2
The meta-surface is a vital tool to record a trace of drawing commands in-memory. As such it is used throughout cairo. The value of such a surface is immediately obvious and should be applicable for many applications. The first such case is by cairo-test-trace which wants to record the entire graph of drawing commands that affect a surface in the event of a failure.
2009-06-28[test] Timeout support for testsChris Wilson1-0/+3
Enforce that each test must render within 60 seconds or be considered to have hit an infinite loop and be reported as a CRASH. The timeout value is adjustable via CAIRO_TEST_TIMEOUT -- a value of 0 will disable.
2009-06-21[atomic] Silence compiler warnings by defining an intptr_tChris Wilson1-0/+3
Evaulate the integer sizes during configure to find one of the exact same size as a void* to use in the conversion of the atomic ptr cmpxchg to an atomic int cmpxchg.
2009-06-18[shave] Robuster usage of the test shell built-in.M Joonas Pihlaja1-1/+1
Solaris 9 confuses shave, resulting in an empty variable. This patch papers over the resulting build failure from the test shell built-in being called with an empty argument which was unquoted.
2009-06-18[test] Fix checking of the fenv.h include.M Joonas Pihlaja1-1/+1
This adds a configure check for fenv.h and makes invalid-matrix.c check for it with HAVE_FENV_H instead of HAVE_FEDISABLEEXCEPT -- turns out Solaris doesn't have fedisableexcept(), but it does have feclearexcept(). The same issue appears on OSX and was fixed in ab86662ab499e1f29c0f8c4248771e730c281e3f. This patch adds some configure magic.
2009-06-18[boilerplate] Check for connect() in libsocket.M Joonas Pihlaja1-0/+4
Solaris requires -lsocket to be able to talk to the any2ppm daemon over unix domain sockets.
2009-06-18[test] Never use gcc __attribute__ magic for constructors.M Joonas Pihlaja1-10/+0
The configure test for __attribute__((constructor)) succeeds when compiling with Sun Studio 12 on OpenSolaris but the attribute is just ignored and has no actual effect. This causes the test suite to not run any tests at all. With this patch we revert to always using make-cairo-test-constructors.pl.
2009-06-16Import Qt backend by MozillaVladimir Vukicevic3-0/+5
Written by Vladimir Vukicevic to enable integration with Qt embedded devices, this backend allows cairo code to target QPainter, and use it as a source for other cairo backends. This imports the sources from mozilla-central: http://mxr.mozilla.org/mozilla-central/find?text=&kind=text&string=cairo-qpainter renames them from cairo-qpainter to cairo-qt, and integrates the patch by Oleg Romashin: https://bugs.freedesktop.org/attachment.cgi?id=18953 And then attempts to restore 'make check' to full functionality. However: - C++ does not play well with the PLT symbol hiding, and leaks into the global namespace. 'make check' fails at check-plt.sh - Qt embeds a GUI into QApplication which it requires to construct any QPainter drawable, i.e. used by the boilerplate to create a cairo-qt surface, and this leaks fonts (cairo-ft-fonts no less) causing assertion failures that all cairo objects are accounted for upon destruction. [Updated by Chris Wilson] Acked-by: Jeff Muizelaar <jeff@infidigm.net> Acked-by: Carl Worth <cworth@cworth.org>
2009-06-15[configure] Rephrase warning message for disabling core features.Chris Wilson1-3/+3
"strictly recommended" is an odd phrase and though the stern warning is appropriate as replacing a system library with a more limited version is likely to cause mayhem, we are but mere servants and should be reserved in our parlance.
2009-06-13[configure] Check for shm_open()Chris Wilson1-0/+8
As needed for cairo-test-trace.
2009-06-12Makefile: Fix two typos preventing doc-publish from workingCarl Worth1-2/+2
It seems that everything up to this point in release-publish worked fine, so with these fixes, hopefully the next run of make release-publish will work without any snags.
2009-06-12[doc] Workaround read-only tree during make distcheckChris Wilson2-6/+7
This looks to be an ugly necessity to work-around the nasty issue that we currently gtkdoc expect to be run inside the source tree. I'm sure Behdad will be able to resolve this much more elegantly than this quick and fragile attempt.
2009-06-11Make the warning about the need to --enable-gtk-doc more explicit.Carl Worth1-2/+2
I must have read it three times and kept thinking, "but I *did* just install gtk-doc", before I finally understood what it was trying to tell me.
2009-06-11[script] Store fonts inside mmaped files.Chris Wilson1-0/+3
As an aide to tiny swapless systems write the rarely used bytes that define type42 fonts into a deleted file and mmap them back into our address space.
2009-06-06[perf] Switch to using clock_gettime()Chris Wilson1-2/+7
Try using clock_gettime() for a high resolution stable time source in preference to the potentially unstable TSC.
2009-06-02Merge commit 'origin/master' into glEric Anholt12-28/+269
Felt like pulling the latest stuff, since I branched back in February. Conflicts: build/configure.ac.features src/cairo.h util/cairo-script/csi-replay.c
2009-05-25[build] Make valgrind support user-configurableChris Wilson1-15/+22
As the number of places where we add valgrind client requests grows, it becomes imperative that we should be able to disable them with a simple configure time option.
2009-05-20[gl] Add EGL targetChris Wilson3-0/+11
Split the GLX context from the GL surface to enable use of an alternative EGL interface.
2009-05-15[test] Clear expected floating point exceptionsChris Wilson1-1/+1
test/invalid-matrix deliberately feeds garbage into the API to test our error detection. This causes FPE to be raised during the course of the test - so they are deliberately disable for the duration. However, the exceptions were not being cleared and so the FPE could be triggered on the next floating point operation. This was being masked during make check, by the fact that each test is run in its own forked process and was only observed when multiple tests were run in foreground mode.
2009-05-07[check] Quieten output during checking headers-standaloneChris Wilson1-0/+3
Remove the duplication of the compile line and enable shave to replace it entirely with a "CHECK $header". This should make errors more obvious.
2009-05-07[build] Fix gtk-doc interoperation with shaveChris Wilson1-2/+2
Add --tag=CC to the libtool invocations.
2009-05-07[build] Report status of gtk-doc in summaryChris Wilson1-0/+1
2009-05-05[build] Add lcov-1.7 to known listChris Wilson1-1/+1
2009-05-05[build] Enable shave supportChris Wilson5-0/+228
shave transforms the messy output of autotools into a pretty (quiet!) Kbuild-like one. Lets see how controversial a simple change can be...
2009-04-07[win32] Fix building with libpng and zlibJeff Muizelaar1-3/+5
Include zlib and libpng dependencies using something like '$(cairo_dir)/../zlib/zdll.lib' instead of just 'zdll.lib'. Also, do similarly for the headers.
2009-03-17Support compiling without fontconfigBehdad Esfahbod3-0/+5
Adds a new, fake, fontconfig font backend. Fontconfig can be disabled using --disable-fc, in which case the toy text API wont find fonts and the internal font will always be used. Also defines the feature macro CAIRO_HAS_FC_FONT. The two fontconfig-specific functions in cairo-ft.h depend on that macro now.
2009-03-03[configure] Detect mkdir variant with non-gcc compilers.Ginn Chen1-1/+1
It doesn't work for non GCC compiler right now, as "-Werror -Wall" is an error to non GCC compiler. I swapped the sequence of build/configure.ac.system and build/ configure.ac.warnings, then WARN_CFLAGS can be used.