[doc] Workaround read-only tree during make distcheck

This looks to be an ugly necessity to work-around the nasty issue that
we currently gtkdoc expect to be run inside the source tree. I'm sure
Behdad will be able to resolve this much more elegantly than this quick
and fragile attempt.
This commit is contained in:
Chris Wilson 2009-06-12 11:15:16 +01:00
parent 1498c9c333
commit 7f114b781f
3 changed files with 10 additions and 8 deletions

View file

@ -62,11 +62,10 @@ docs: html-build.stamp
#### scan ####
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(EXTRA_HFILES)
@echo 'gtk-doc: Scanning header files'
@-chmod -R u+w $(srcdir)
cd $(srcdir) && \
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) --output-dir=$(srcdir)
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
else \
@ -97,11 +96,13 @@ tmpl/*.sgml:
#### xml ####
# gtkdoc-mkdb is broken and requires a --root-dir=$(srcdir) option
# The _srcdir diversion is fragile but works for make check; make distcheck
sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
@echo 'gtk-doc: Building XML'
@-chmod -R u+w $(srcdir)
cd $(srcdir) && \
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
_srcdir="`pwd`/$(DOC_SOURCE_DIR)"; \
cd $(srcdir) && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$$_srcdir --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
touch sgml-build.stamp
sgml.stamp: sgml-build.stamp

View file

@ -260,7 +260,7 @@ CAIRO_CONFIG_COMMANDS([src/cairo-features.h],
CAIRO_NO_FEATURES='$CAIRO_NO_FEATURES'
])dnl
dnl Generate src/cairo-supported-features.h
CAIRO_CONFIG_COMMANDS([$srcdir/src/cairo-supported-features.h],
CAIRO_CONFIG_COMMANDS([src/cairo-supported-features.h],
[dnl
echo '/* Generated by configure. Do not edit. */'
echo '#ifndef CAIRO_SUPPORTED_FEATURES_H'

View file

@ -10,12 +10,13 @@ DOC_MAIN_SGML_FILE=cairo-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="CAIRO_DISABLE_DEPRECATED" --ignore-decorators="cairo_public|cairo_private"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../src
# The directory containing the source code.
DOC_SOURCE_DIR=$(top_srcdir)/src
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/src/cairo*.h
CFILE_GLOB=$(top_srcdir)/src/cairo*.c
EXTRA_HFILES=$(top_builddir)/src/cairo-supported-features.h
# Headers to ignore
IGNORE_HFILES= \