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 /doc | |
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 'doc')
-rw-r--r-- | doc/public/Headers.mk | 52 | ||||
-rw-r--r-- | doc/public/Makefile.am | 30 | ||||
-rw-r--r-- | doc/public/README | 37 |
3 files changed, 44 insertions, 75 deletions
diff --git a/doc/public/Headers.mk b/doc/public/Headers.mk deleted file mode 100644 index 7b9edff13..000000000 --- a/doc/public/Headers.mk +++ /dev/null @@ -1,52 +0,0 @@ -PRIVATE_TEST_HFILES = \ - cairo-analysis-surface-private.h \ - cairo-arc-private.h \ - cairo-atomic-private.h \ - cairo-cache-private.h \ - cairo-clip-private.h \ - cairo-compiler-private.h \ - cairo-fixed-private.h \ - cairo-fixed-type-private.h \ - cairo-freelist-private.h \ - cairo-ft-private.h \ - cairo-glitz-private.h \ - cairo-gstate-private.h \ - cairo-hash-private.h \ - cairo-malloc-private.h \ - cairo-meta-surface-private.h \ - cairo-mutex-impl-private.h \ - cairo-mutex-list-private.h \ - cairo-mutex-private.h \ - cairo-mutex-type-private.h \ - cairo-os2-private.h \ - cairo-output-stream-private.h \ - cairo-paginated-private.h \ - cairo-paginated-surface-private.h \ - cairo-path-fixed-private.h \ - cairo-path-private.h \ - cairo-pdf-operators-private.h \ - cairo-pdf-surface-private.h \ - cairo-private.h \ - cairo-ps-surface-private.h \ - cairo-quartz-private.h \ - cairo-reference-count-private.h \ - cairo-region-private.h \ - cairo-scaled-font-private.h \ - cairo-scaled-font-subsets-private.h \ - cairo-skiplist-private.h \ - cairo-surface-fallback-private.h \ - cairo-surface-private.h \ - cairo-svg-surface-private.h \ - cairo-truetype-subset-private.h \ - cairo-type1-private.h \ - cairo-type3-glyph-surface-private.h \ - cairo-types-private.h \ - cairo-user-font-private.h \ - cairo-wideint-private.h \ - cairo-wideint-type-private.h \ - cairo-win32-private.h \ - cairo-xlib-private.h \ - cairo-xlib-surface-private.h \ - cairo-xlib-xrender-private.h \ - cairo-features-win32.h \ - cairoint.h diff --git a/doc/public/Makefile.am b/doc/public/Makefile.am index 2bab45b21..2b6af97b2 100644 --- a/doc/public/Makefile.am +++ b/doc/public/Makefile.am @@ -16,31 +16,15 @@ DOC_SOURCE_DIR=../../src HFILE_GLOB=$(top_srcdir)/src/cairo-*.h CFILE_GLOB=$(top_srcdir)/src/cairo-*.c $(top_srcdir)/src/cairo-*.h -include $(srcdir)/Headers.mk - -UNSUPPORTED_HFILES= \ - cairo-atsui.h \ - cairo-beos.h \ - cairo-directfb.h \ - cairo-glitz.h \ - cairo-os2.h \ - cairo-xcb.h \ - cairo-xcb-xrender.h +include $(top_srcdir)/src/Config.mk # Headers to ignore -IGNORE_HFILES= \ - $(PRIVATE_TEST_HFILES) \ - $(UNSUPPORTED_HFILES) - -Headers.mk: - ( echo "PRIVATE_TEST_HFILES = \\"; \ - find $(top_srcdir)/src \ - -name '*-private.h' | \ - sed 's@.*/@ @; s@$$@ \\@' | \ - LANG=C sort; \ - echo ' cairo-features-win32.h \'; \ - echo ' cairoint.h' ) > $@.tmp - mv $@.tmp $@ +IGNORE_HFILES= \ + cairo-features.h \ + cairo-features-win32.h \ + $(all_cairo_private) \ + $(unsupported_cairo_headers) \ + $(NULL) # CFLAGS and LDFLAGS for compiling scan program. Only needed # if $(DOC_MODULE).types is non-empty. diff --git a/doc/public/README b/doc/public/README new file mode 100644 index 000000000..f3d157b1a --- /dev/null +++ b/doc/public/README @@ -0,0 +1,37 @@ +Cairo Reference Documentation +============================= + +The API documentation is generated using gtk-doc. + + +Building +-------- + +The documentation is not built by default. To build it you need to +configure with gtk-doc enabled (--enable-gtk-doc), and run: + + make doc + + +Adding New API +-------------- + +When adding new symbols and macros to the public API, modify +cairo-section.txt and add new symbols to the right place. + +When adding whole new features, you also need to modify cairo-docs.xml +and add a new file under tmpl/. Beware that the files are tmpl/ are +both manually edited AND modified by gtk-doc, gathering documentation +stub from source files. + + +Tests +----- + +There are some tests in this directory, ensuring proper documentation +syntax as well as checking that all public symbols are fully documented. + +After adding any new API, just run: + + make check + |