[PATCH 1/2] doc: build and install doxygen api docs

2014-07-04 Thread David Bremner
David Bremner  writes:

> Add to the build-man and install-man targets. We also stop hardcoding
> the version information into doxygen.cfg

There are (at least) two outstanding issues with this patch:

- configure needs to check for doxygen and disable api docs 
  if not found.

- it doesn't work for out of tree build.

So more work for me I guess.

d


Re: [PATCH 1/2] doc: build and install doxygen api docs

2014-07-04 Thread David Bremner
David Bremner da...@tethera.net writes:

 Add to the build-man and install-man targets. We also stop hardcoding
 the version information into doxygen.cfg

There are (at least) two outstanding issues with this patch:

- configure needs to check for doxygen and disable api docs 
  if not found.

- it doesn't work for out of tree build.

So more work for me I guess.

d
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 1/2] doc: build and install doxygen api docs

2014-07-01 Thread David Bremner
Add to the build-man and install-man targets. We also stop hardcoding
the version information into doxygen.cfg
---
 doc/Makefile.local | 14 --
 doc/doxygen.cfg|  4 ++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/doc/Makefile.local b/doc/Makefile.local
index bbd4610..e9402b4 100644
--- a/doc/Makefile.local
+++ b/doc/Makefile.local
@@ -12,6 +12,8 @@ mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py

 # Internal variables.
 ALLSPHINXOPTS   := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(srcdir)/$(dir)
+APIMAN := $(DOCBUILDDIR)/man/man3/notmuch.3
+DOXYFILE   := $(dir)/doxygen.cfg

 .PHONY: sphinx-html sphinx-texinfo sphinx-info

@@ -31,7 +33,7 @@ sphinx-info: sphinx-texinfo

 -include $(dir)/docdeps.mk

-MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES})
+MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES} ${APIMAN})

 # Use the man page converter that is available. We should never depend
 # on MAN_ROFF_FILES if a converter is not available.
@@ -66,16 +68,24 @@ else
 build-man: ${MAN_GZIP_FILES}
 install-man: ${MAN_GZIP_FILES}
mkdir -p "$(DESTDIR)$(mandir)/man1"
+   mkdir -p "$(DESTDIR)$(mandir)/man3"
mkdir -p "$(DESTDIR)$(mandir)/man5"
mkdir -p "$(DESTDIR)$(mandir)/man7"
install -m0644 $(DOCBUILDDIR)/man/man1/*.1.gz $(DESTDIR)/$(mandir)/man1
+   install -m0644 $(DOCBUILDDIR)/man/man3/*.3.gz $(DESTDIR)/$(mandir)/man3
install -m0644 $(DOCBUILDDIR)/man/man5/*.5.gz $(DESTDIR)/$(mandir)/man5
install -m0644 $(DOCBUILDDIR)/man/man7/*.7.gz $(DESTDIR)/$(mandir)/man7
cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz
 endif

+$(APIMAN): $(dir)/version.dox $(dir)/doxygen.cfg $(srcdir)/lib/notmuch.h
+   doxygen $(DOXYFILE)
+
+$(dir)/version.dox: version.stamp
+   echo "PROJECT_NAME = \"Notmuch $(VERSION)\"" > $@
+
 $(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py
$(mkdocdeps) $(srcdir)/doc $(DOCBUILDDIR) $@

 CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(DOCBUILDDIR)/.roff.stamp
-CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc
+CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc 
$(dir)/version.dox
diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg
index bfbfcab..bf9f075 100644
--- a/doc/doxygen.cfg
+++ b/doc/doxygen.cfg
@@ -4,11 +4,11 @@
 # Project related configuration options
 #---
 DOXYFILE_ENCODING  = UTF-8
-PROJECT_NAME   = "Notmuch 0.18"
+ at INCLUDE   =  "doc/version.dox"
 PROJECT_NUMBER =
 PROJECT_BRIEF  =
 PROJECT_LOGO   =
-OUTPUT_DIRECTORY   =
+OUTPUT_DIRECTORY   = doc/_build
 CREATE_SUBDIRS = NO
 OUTPUT_LANGUAGE= English
 BRIEF_MEMBER_DESC  = YES
-- 
2.0.0.rc2



[PATCH 1/2] doc: build and install doxygen api docs

2014-07-01 Thread David Bremner
Add to the build-man and install-man targets. We also stop hardcoding
the version information into doxygen.cfg
---
 doc/Makefile.local | 14 --
 doc/doxygen.cfg|  4 ++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/doc/Makefile.local b/doc/Makefile.local
index bbd4610..e9402b4 100644
--- a/doc/Makefile.local
+++ b/doc/Makefile.local
@@ -12,6 +12,8 @@ mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py
 
 # Internal variables.
 ALLSPHINXOPTS   := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(srcdir)/$(dir)
+APIMAN := $(DOCBUILDDIR)/man/man3/notmuch.3
+DOXYFILE   := $(dir)/doxygen.cfg
 
 .PHONY: sphinx-html sphinx-texinfo sphinx-info
 
@@ -31,7 +33,7 @@ sphinx-info: sphinx-texinfo
 
 -include $(dir)/docdeps.mk
 
-MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES})
+MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES} ${APIMAN})
 
 # Use the man page converter that is available. We should never depend
 # on MAN_ROFF_FILES if a converter is not available.
@@ -66,16 +68,24 @@ else
 build-man: ${MAN_GZIP_FILES}
 install-man: ${MAN_GZIP_FILES}
mkdir -p $(DESTDIR)$(mandir)/man1
+   mkdir -p $(DESTDIR)$(mandir)/man3
mkdir -p $(DESTDIR)$(mandir)/man5
mkdir -p $(DESTDIR)$(mandir)/man7
install -m0644 $(DOCBUILDDIR)/man/man1/*.1.gz $(DESTDIR)/$(mandir)/man1
+   install -m0644 $(DOCBUILDDIR)/man/man3/*.3.gz $(DESTDIR)/$(mandir)/man3
install -m0644 $(DOCBUILDDIR)/man/man5/*.5.gz $(DESTDIR)/$(mandir)/man5
install -m0644 $(DOCBUILDDIR)/man/man7/*.7.gz $(DESTDIR)/$(mandir)/man7
cd $(DESTDIR)/$(mandir)/man1  ln -sf notmuch.1.gz notmuch-setup.1.gz
 endif
 
+$(APIMAN): $(dir)/version.dox $(dir)/doxygen.cfg $(srcdir)/lib/notmuch.h
+   doxygen $(DOXYFILE)
+
+$(dir)/version.dox: version.stamp
+   echo PROJECT_NAME = \Notmuch $(VERSION)\  $@
+
 $(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py
$(mkdocdeps) $(srcdir)/doc $(DOCBUILDDIR) $@
 
 CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(DOCBUILDDIR)/.roff.stamp
-CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc
+CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc 
$(dir)/version.dox
diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg
index bfbfcab..bf9f075 100644
--- a/doc/doxygen.cfg
+++ b/doc/doxygen.cfg
@@ -4,11 +4,11 @@
 # Project related configuration options
 #---
 DOXYFILE_ENCODING  = UTF-8
-PROJECT_NAME   = Notmuch 0.18
+@INCLUDE  =  doc/version.dox
 PROJECT_NUMBER =
 PROJECT_BRIEF  =
 PROJECT_LOGO   =
-OUTPUT_DIRECTORY   =
+OUTPUT_DIRECTORY   = doc/_build
 CREATE_SUBDIRS = NO
 OUTPUT_LANGUAGE= English
 BRIEF_MEMBER_DESC  = YES
-- 
2.0.0.rc2

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch