cairo/util
M Joonas Pihlaja ba21f21356 [trace] Don't trace internal cairo calls on Solaris.
On various configurations of Solaris cairo-trace likes to trace
internal calls to the API from within cairo and cairo-trace itself. On
Linux the slim_hidden_proto stuff avoids this by name mangling and
symbol alias magic, but on Solaris that doesn't work so we're left
with either no hidden symbols at all or using normal ELF hidden symbol
attributes, but neither of those prevent internal calls to cairo from
being traced of course.

This commit provides a per-thread entry/exit trace counter for use
when we can't use name mangling to hide internal API calls.  As a
side-effect it may hide actual client API calls from callback
functions called by cairo, but such use cases ought to be rare.
2009-09-13 20:33:33 +03:00
..
cairo-fdr [tee] Rename 'append' to 'add' and add symmetric 'remove' 2009-09-01 14:24:06 +01:00
cairo-script [script] Always create a fallback font 2009-09-02 21:22:33 +01:00
cairo-sphinx [tee] Rename 'append' to 'add' and add symmetric 'remove' 2009-09-01 14:24:06 +01:00
cairo-trace [trace] Don't trace internal cairo calls on Solaris. 2009-09-13 20:33:33 +03:00
.gitignore Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
backtrace-symbols.c [util/backtrace-symbols] Implement backtrace_symbols_fd() 2008-05-27 04:45:37 -04:00
cairo-api-update Remove #ifdef munging since we once again support either #if or #ifdef. 2005-05-17 09:13:02 +00:00
cairo-view [util] Fix pangram 2008-12-24 22:29:59 -05:00
cairo.modules [util] And reuse the same name repository name. 2009-09-09 18:03:20 +01:00
COPYING Add a COPYING file to each aux. source directory 2008-10-31 16:14:14 +00:00
font-view.c [util] Add font-view 2009-06-02 18:16:48 +01:00
Makefile.am [build] Improve handling of missing test apparatus 2009-09-08 17:51:33 +01:00
malloc-stats.c [utils] Remove unused code 2009-08-10 12:47:37 -04:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
show-edges.c [util] Show total edge length in show-edges 2009-08-29 08:08:31 +01:00
show-events.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
show-traps.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
trace-to-xml.c Add xml surface 2009-08-29 17:07:34 +01:00
waterfall [util] Add waterfall 2008-12-26 16:38:26 -05:00
xml-to-trace.c Add xml surface 2009-08-29 17:07:34 +01:00
xr2cairo Fixed to not munge some internal cairot names, (such as cairo_traps_*) 2003-07-26 20:38:58 +00:00

Cairo Utilities
===============

There are a varieties of utilities we use with cairo.


backtrace-symbols
-----------------

This is a small shared library designed to be preloaded by the
linker and its purpose is to make the backtrace_symbols() function
of glibc produce more useful source reference information.

Build by:

	make backtrace-symbols.so

and use by:

	LD_PRELOAD=$PWD/backtrace-symbols.so app-to-run

This code should be contributed back to glibc at some point.


malloc-stats
------------

This is a small shared library designed to be preloaded by the
linker and its purpose is to make the malloc_stats() function
of glibc produce more useful information.

Build by:

	make malloc-stats.so

and use by:

	LD_PRELOAD=$PWD/malloc-stats.so app-to-run

This works best when backtrace-symbols is in use.  That is:

	LD_PRELOAD="$PWD/backtrace-symbols.so $PWD/malloc-stats.so" app-to-run


cairo-trace
-----------

This tool can be used to trace all the cairo function calls made by an
applications.  This is useful for either extracting a test case triggering
a bug from an application, or simply to get a general idea of how an
application is using cairo.


cairo-api-update and xr2cairo
-----------------------------

These two scripts were used to convert source code written for pre-1.0
cairo to newer API.  See $(top_srcdir)/PORTING_GUIDE for more information.

These files are obsolete now and may be removed in a future version.


cairo-view and waterfall
------------------------

These are two pycairo scripts useful for testing the toy font backend.