Commit graph

185 commits

Author SHA1 Message Date
Behdad Esfahbod
47e0ecbea5 [configure.in] Generate a cairo-no-features.h with macros for disabled supported backends
to trick gtk-doc with it.
2008-01-28 23:26:35 -05:00
Behdad Esfahbod
9ba8f6b1b0 [src/check-doc-syntax.sh] Check for various doc syntax consistency rules 2008-01-28 21:49:26 -05:00
Behdad Esfahbod
1931ce1b3d [cairo-operator] Remove unused cairo-operator.c 2008-01-22 00:36:48 -05:00
Behdad Esfahbod
ac17ce0f89 [cairo-fixed/wideint-private.h] Split out typedefs from prototypes
such that the type definitions can be used from boilerplate without exposing
the prototypes.
2008-01-20 02:55:07 -05:00
Carl Worth
d2a02d4f5c Remove check-has-hidden-symbols.i on 'make distclean'
Without this, 'make distcheck' fails so releases don't happen.
2008-01-16 10:36:01 -08:00
Carl Worth
cb1ddc4e47 Replace -I($builddir) with -I. to avoid breaking non-srcdir builds.
This variable was expanding to an empty string, so the next -I flag
was getting completely swallowed. Let's avoid being clever and just
use . which is what we want in the expansion anyway.
2008-01-16 10:15:34 -08:00
Chris Wilson
2c10c7559d [Makefile.am] Add -I$(builddir) for .c.i target
Updated the CPP command so that it can find <cairo-features.h> in the
local build directory.
2008-01-16 16:37:38 +00:00
Chris Wilson
968eaf3c44 [cairo-xlib] Fixup --disable-xlib-xrender
Fixup the headers and boilerplate to compile and run correctly when
configured with --disable-xlib-xrender.
2008-01-15 13:08:53 +00:00
Chris Wilson
92c744978f [Makefile.am] Tweak the flags passed to CPP.
Adjust the flags passed to $(CPP) to match those used in the
surrounding targets (splint and sparse), which should improve their
reliability.
2008-01-11 21:58:09 +00:00
Behdad Esfahbod
36f5d69a11 [src/Makefile.am] Tweak includes a bit 2008-01-11 16:48:55 -05:00
Chris Wilson
ed113ef422 [check] Move the hidden symbol check into check-{def,plt}.sh
Behdad, once again the arbiter of good taste, objected to the use of
the dotfile within the Makefile, and suggested that one calls $MAKE to
pre-process the source file from within the check scripts.

Doing so removes the ugly wart added to Makefile.am...
2008-01-11 21:21:34 +00:00
Chris Wilson
8a6a0b43dc [check] Replace compiled symbol visibility checker with shell script.
Behdad Esfahbod objected to the execution of a compiled program to check
symbol visibility as it makes cross-compilation more difficult.

Instead of executing the program, this method conditionally exports
a variable if cairo uses symbol hiding and scans the executable for
that symbol in a similar manner to check-def.sh. This has the slight
advantage of using the Makefile for performing the compilation, rather
than attempting to invoke $(CPP) from a shell script within the test
environment.
2008-01-11 20:27:23 +00:00
Chris Wilson
6d3ed950ea [check] Skip def/plt tests if the compiler doesn't support symbol hiding.
Compile a trivial program such that it reports whether cairo is hiding
its internal symbols and skip the tests that depend upon it.

This prevents false errors, such as bug 12726, where the user is
presented with a scary make check failure.
2008-01-11 16:16:20 +00:00
Chris Wilson
be146f02e0 [Makefile.am] Update cairo.def after the set of enabled features is modified.
Bug 13342 corresponds with a rebuild of cairo after removing
--enable-glitz from the configure line. Under these circumstances,
the remaining installable headers are not modified and therefore
cairo.def is not rebuilt and still expects to find a reference to
cairo_glitz_surface_create. The solution is to rebuild cairo.def after
any modification to the 'public' headers (installable or otherwise).
2008-01-11 15:45:22 +00:00
Adrian Johnson
26c6159b1e Move the PDF drawing operators into cairo-pdf-operators.c
By defining PostScript functions the same as the PDF drawing
operators, this code can be shared by both the PDF and PS backends.
2008-01-07 20:36:32 +10:30
Adrian Johnson
4fa46e3caa Implement a win32 tmpfile() function
Bug report and proposed patch at:
http://lists.cairographics.org/archives/cairo/2007-December/012529.html

On Windows the tmpfile() function creates the file in the root
directory. This will fail if the user does not have write access to the
root directory.

Implement _cairo_win32_tmpfile() that is #defined as tmpfile() on
Windows. This function uses GetTempPath() and GetTempFileName() to
create the temporary file. CreateFile() is used to open the file so
the DELETE_ON_CLOSE flag can be set.
2007-12-29 00:25:34 +10:30
Behdad Esfahbod
c26084a45f Pass $(MAKE) to test shell scripts (#13591) 2007-12-10 14:38:48 -05:00
Chris Wilson
e5b01e6797 [Makefile.am] Add missing headers and reference images.
Andrew Jorgensen spotted that make dist was missing a few headers needed
for compilation and running make distcheck had spurious failures. Add
the missing files to the distribution and a silly one-liner to check for
missing reference images.
2007-10-11 18:05:46 +01:00
Chris Wilson
03be41151d [cairo-atomic] Rewrite reference counting using atomic ops.
Introduce an opaque cairo_reference_count_t and define operations on it
in terms of atomic ops. Update all users of reference counters to use
the new opaque type.
2007-09-25 16:29:54 +01:00
Chris Wilson
8b6c871c90 [cairo-atomic] Introduce atomic ops.
Test for the availability of the Intel __sync_* atomic primitives and
use them to define a few operations useful for reference counting -
providing a generic interface that may be targeted at more architectures
in the future. If no atomic primitives are available, use a mutex based
variant. If the contention on that mutex is too high, we can consider
using an array of mutexes using the address of the atomic variable as
the hash.
2007-09-25 16:29:54 +01:00
Chris Wilson
42de1a0a7f Move GCC attributes wrapping into a separate header.
The wrapping of GCC attributes (such as cairo_private) needs to be
visible to any header file, including those that avoid cairoint.h such
as cairo-boilerplate. To achieve this we move the pre-processor magic to
its own header file and include it as required.
2007-09-25 16:29:54 +01:00
Vladimir Vukicevic
ffc16c4be2 [win32] Add win32 printing surface
Add win32 surface intended for use with printer DCs; GDI will be used
as much as possible, and the surface will be a paginated surface
that supports fine-grained fallback.

(Original work from Adrian Johnson; additional fixes by me.)
2007-09-18 09:28:29 -07:00
Behdad Esfahbod
740fed62d2 [xlib] Make it compile without Xrender available at compile time (#12210) 2007-08-31 20:52:43 -04:00
Behdad Esfahbod
5594f8b035 [Makefile.am] Run sparse and splint once per source file
Also skip .h files for splint as it causes lots of unused-function warnings.
2007-08-23 14:00:12 -04:00
Behdad Esfahbod
735757a17a [Makefile.am] Add target sparse to run sparse static source code analyzer
There are still some bits not quite working.
2007-08-22 02:58:37 -04:00
Behdad Esfahbod
bfdc3b6642 [Makefile.am] Move -DHAVE_CONFIG_H to the right place 2007-08-22 01:16:50 -04:00
Behdad Esfahbod
af6a123e95 [Makefile.am] Inhibit unrecognized options to splint 2007-08-22 01:09:21 -04:00
Behdad Esfahbod
ef878345c8 [Makefile.am] Add target splint to run splint static source code analyzer 2007-08-22 01:07:38 -04:00
Behdad Esfahbod
f015091bb5 [Makefile.am] Use libcairo_la_CFLAGS instead of INCLUDES
for clarity.
2007-08-22 01:03:50 -04:00
Søren Sandmann
12cc32b674 [pixman] Initial port to standalone pixman library. 2007-06-21 22:21:11 -07:00
Carl Worth
e19c49269d Remove stale reference to cairo-xlib-test.h 2007-06-07 12:19:46 -07:00
Chris Wilson
dd8681b76b [cairo-xlib] Split per-display attributes from per-screen.
Previously, we stored the per-display attributes inside a special
screen=NULL _cairo_xlib_screen_info_t. Now we keep track of known X
displays and store the screen information beneath the display structure
alongside the per-display hooks.
2007-05-04 14:02:28 +01:00
Behdad Esfahbod
f7cdbd385a [cairo-mutex-private.h] Move implementation-specific parts to cairo-mutex-type-private.h
This fixes the problem reported by Dave Yeo that boilerplate wasn't building:

In file included from ../src/cairo-scaled-font-private.h:44,
	     from cairo-boilerplate.c:65:
../src/cairo-mutex-private.h:183: error: syntax error before "extern"
../src/cairo-mutex-private.h:184: error: syntax error before "void"
../src/cairo-mutex-private.h:185: error: syntax error before "void"
make[3]: *** [cairo-boilerplate.lo] Error 1
2007-05-01 00:41:47 -04:00
Carl Worth
cb6fcdae92 Fix typo in Makefile preventing builds from succeeding
The cairo-ps-surface-private.h file was not getting included in the
distribution.
2007-04-28 07:38:56 -07:00
Behdad Esfahbod
79098c0370 [scaled-font] Get rid of _cairo_scaled_font_test_set_max_glyphs_cached_per_font
in favor of cairo_boilerplate_scaled_font_set_max_glyphs_cached.
2007-04-21 03:43:04 -04:00
Behdad Esfahbod
51ce92c3db [scaled-font] Move cairo_scaled_font_t to cairo-scaled-font-private.h 2007-04-21 03:24:31 -04:00
Behdad Esfahbod
d2bb5f3007 [svg] Get rid of _cairo_svg_test_force_fallbacks
in favor of cairo_boilerplate_svg_surface_force_fallbacks.
2007-04-21 03:08:26 -04:00
Behdad Esfahbod
7e0ae8bd43 [svg] Move cairo_svg_surface_t to cairo-svg-surface-private.h 2007-04-21 02:57:55 -04:00
Behdad Esfahbod
3885fff3e6 [ps] Get rid of _cairo_ps_test_force_fallbacks
in favor of cairo_boilerplate_ps_surface_force_fallbacks.
2007-04-21 02:51:22 -04:00
Behdad Esfahbod
57dc972d6e [ps] Move cairo_ps_surface_t to cairo-ps-surface-private.h 2007-04-21 02:51:17 -04:00
Behdad Esfahbod
03477064fa [paginated] Move cairo_paginated_surface_t to cairo-paginated-surface-private.h
The old cairo-paginated-surface-private.h is cairo-paginated-private.h now.
2007-04-21 02:43:28 -04:00
Behdad Esfahbod
68e2158aae [pdf] Move cairo_pdf_surface_t to cairo-pdf-surface-private.h 2007-04-21 02:10:34 -04:00
Behdad Esfahbod
cd72167ede [xlib] Get rid of _cairo_xlib_test_disable_render
in favor of cairo_boilerplate_xlib_surface_disable_render.
2007-04-21 02:08:38 -04:00
Behdad Esfahbod
908418cb4d [cairo-surface] Move cairo_surface_t struct in cairo-surface-private.h 2007-04-21 02:08:37 -04:00
Behdad Esfahbod
1345552ac2 [xlib] Move cairo_xlib_surface_t definition into cairo-xlib-surface-private.h 2007-04-21 02:08:37 -04:00
Behdad Esfahbod
beadcdf9bd Rename cairo-font.c to cairo-font-face.c 2007-04-18 18:24:09 -04:00
Carl Worth
ae80d375f8 Rename cairo-mutex-list.h to cairo-mutex-list-private.h
Also add it (and cairo-mutex-private.h) to Makefile.am
where they should have been.
2007-04-12 13:22:36 -07:00
Chris Wilson
5c24711ee6 Restore gcov functionality
Add -lgcov to the shared library else the test programs fail to link.
Add a couple of lcov convenience targets to generate the coverage reports.
2007-04-04 10:13:13 +01:00
Behdad Esfahbod
ffc7d06da0 [src/check-cairoint.h] Test to check that all source files #include "cairoint.h"
as their first include.
2007-04-03 20:27:24 -04:00
Mathias Hasselmann
be52178443 Initialize mutexes at central location.
All mutex declarations have been moved to cairo-mutex-list.h.
This should avoid breaking of less frequently tested backends,
when mutexes are introduced or when existing mutexes are renamed.

Instead of initializing mutexes on library startup, mutexes are
lazily initialized within the few entry points of now by calling
CAIRO_MUTEX_INITIALIZE(). Currently only the OS/2 backend takes
care about releasing global mutexes. Therefore there is no counter
part of that macro for finalizing all global mutexes yet - but
as cairo-backend-os2.c shows such a function would be quite
easy to implement.
2007-03-20 10:11:14 +01:00