Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | Cairo Library Source Code |
2 | ========================= |
||
3 | |||
4 | This directory contains the source code of the cairo library. |
||
5 | |||
6 | |||
7 | Source Code Listing |
||
8 | ------------------- |
||
9 | |||
10 | The canonical list of source files is the file Makefile.sources. See that |
||
11 | file for how it works. |
||
12 | |||
13 | |||
14 | New Backends |
||
15 | ------------ |
||
16 | |||
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. |
||
20 | |||
21 | To add new backends you need to basically: |
||
22 | |||
23 | * Modify $(top_srcdir)/configure.in to add checks for your backend. |
||
24 | |||
25 | * Modify Makefile.sources to add source files for your backend, |
||
26 | |||
27 | * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for |
||
28 | testing your new backend. |
||
29 | |||
30 | |||
31 | New API |
||
32 | ------- |
||
33 | |||
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. |
||
39 | |||
40 | Do not forget to add tests for the new API. See next section. |
||
41 | |||
42 | |||
43 | Tests |
||
44 | ----- |
||
45 | |||
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: |
||
51 | |||
52 | make check |
||
53 | |||
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. |
||
58 | |||
59 | |||
60 | Bibliography |
||
61 | ------------ |
||
62 | |||
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. |
||
66 | |||
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. |
||
69 |