diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2008-09-02 20:20:49 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2008-09-02 20:24:08 -0400 |
commit | 59262577708ddb656851624377efb2a671fa8ca3 (patch) | |
tree | 2c75bd94e2cfe3efb333b0b1509c0540181af100 /src/README | |
parent | 5cb3e66305b25a3380f2ca5829ac81e4a27e76d0 (diff) |
Revamp the build system.
Quick summary of changes:
- Move list of cairo source files out of src/Makefile.am and into
src/Sources.mk,
- Generate files src/Config.mk and src/Config.mk.win32 that choose
the right set of source files and headers based on configured
backends and features. This drastically simplifies building
using other build systems. The src/Makefile.win32 file needs
to be updated to reflect these changes.
- Add README files to various directories,
- Add toplevel HACKING file.
Diffstat (limited to 'src/README')
-rw-r--r-- | src/README | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/README b/src/README new file mode 100644 index 00000000..f29dd3ac --- /dev/null +++ b/src/README @@ -0,0 +1,58 @@ +Cairo Library Source Code +========================= + +This directory contains the source code to the cairo library. + + +Source Code Listing +------------------- + +The canonical list of source files is the file Source.mk. See that +file for how it works. + + +New Backends +------------ + +The rule of the thumb for adding new backends is to see how other +backends are integrated. Pick one of the simpler, unsupported, backends +and search the entire tree for it, and go from there. + +To add new backends you need to basically: + + * Modify $(top_srcdir)/configure.in to add checks for your backend. + + * Modify Sources.mk to add source files for your backend, + + * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for + testing your new backend. + + +New API +------- + +After adding new API, run "make check" in this directory and fix any +reported issues. Also add new API to the right location in +$(top_srcdir)/doc/public/cairo-sections.txt and run "make check" +in $(top_builddir)/doc/public to make sure that any newly added +documentation is correctly hooked up. + +Do not forget to add tests for the new API. See next section. + + +Tests +----- + +There are some tests in this directory that check the source code and +the build for various issues. The tests are very quick to run, and +particularly should be run after any documentation or API changes. It +does not hurt to run them after any source modification either. Run +them simply by calling: + + make check + +There are also extensive regression tests in $(top_srcdir)/test. It is +a good idea to run that test suite for any changes made to the source +code. Moreover, for any new feature, API, or bug fix, new tests should +be added to the regression test suite to test the new code. + |