beta-0.89.2
[luatex.git] / source / libs / cairo / cairo-src / src / README
blob03e4455ea58c085788bf206073b816b148fc1060
1 Cairo Library Source Code
2 =========================
4 This directory contains the source code of the cairo library.
7 Source Code Listing
8 -------------------
10 The canonical list of source files is the file Makefile.sources.  See that
11 file for how it works.
14 New Backends
15 ------------
17 The rule of the thumb for adding new backends is to see how other
18 backends are integrated.  Pick one of the simpler, unsupported, backends
19 and search the entire tree for it, and go from there.
21 To add new backends you need to basically:
23   * Modify $(top_srcdir)/configure.in to add checks for your backend.
25   * Modify Makefile.sources to add source files for your backend,
27   * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for
28     testing your new backend.
31 New API
32 -------
34 After adding new API, run "make check" in this directory and fix any
35 reported issues.  Also add new API to the right location in
36 $(top_srcdir)/doc/public/cairo-sections.txt and run "make check"
37 in $(top_builddir)/doc/public to make sure that any newly added
38 documentation is correctly hooked up.
40 Do not forget to add tests for the new API.  See next section.
43 Tests
44 -----
46 There are some tests in this directory that check the source code and
47 the build for various issues.  The tests are very quick to run, and
48 particularly should be run after any documentation or API changes.  It
49 does not hurt to run them after any source modification either.  Run
50 them simply by calling:
52         make check
54 There are also extensive regression tests in $(top_srcdir)/test.  It is
55 a good idea to run that test suite for any changes made to the source
56 code.  Moreover, for any new feature, API, or bug fix, new tests should
57 be added to the regression test suite to test the new code.
60 Bibliography
61 ------------
63 A detailed list of academic publications used in cairo code is available
64 in the file $(top_srcdir)/BIBLIOGRAPHY.  Feel free to update as you
65 implement more papers.
67 For more technical publications (eg. Adobe technical reports) just
68 point them out in a comment in the header of the file implementing them.