James Aylett
2007-Jun-04 16:00 UTC
[Xapian-devel] Patch to enable python bindings in absence of docs build
As discussed on IRC. The naming conventions aren't ideal, but the intent feels right and it works for me. J -- /--------------------------------------------------------------------------\ James Aylett xapian.org james at tartarus.org uncertaintydivision.org -------------- next part -------------- Index: python/util.i ==================================================================--- python/util.i (revision 8794) +++ python/util.i (working copy) @@ -25,7 +25,9 @@ %} /* Include the documentation comments extracted from doxygen output. */ +#ifdef DOCCOMMENTS_I_SOURCES %include "doccomments.i" +#endif /* Include overrides for the documentation comments. */ %include "extracomments.i" Index: python/Makefile.am ==================================================================--- python/Makefile.am (revision 8794) +++ python/Makefile.am (working copy) @@ -9,7 +9,12 @@ BUILT_SOURCES = modern/xapian_wrap.cc modern/xapian_wrap.h modern/xapian.py -EXTRA_DIST = util.i extra.i extracomments.i except.i doccomments.i\ +if HAVE_DOCCOMMENTS_SOURCES +DOCCOMMENTS_I = doccomments.i +DOCCOMMENTS_I_FLAGS=-DDOCCOMMENTS_I_SOURCES +endif + +EXTRA_DIST = util.i extra.i extracomments.i except.i $(DOCCOMMENTS_I)\ testsuite.py $(TESTS) $(BUILT_SOURCES) SUBDIRS = docs @@ -58,7 +63,7 @@ # "\" when extracting the output directory from the value passed to the -o # option. -BUILT_SOURCES += except.i doccomments.i +BUILT_SOURCES += except.i $(DOCCOMMENTS_I) except.i: generate-python-exceptions ../../xapian-core/exception_data.pm ./generate-python-exceptions @@ -79,9 +84,9 @@ test -f modern/xapian_wrap.stamp; exit $$?; \ fi; \ fi -modern/xapian_wrap.stamp: $(SWIG_sources) util.i except.i doccomments.i extra.i extracomments.i +modern/xapian_wrap.stamp: $(SWIG_sources) util.i except.i $(DOCCOMMENTS_I) extra.i extracomments.i test -d modern || mkdir modern - $(SWIG) $(SWIG_includes) $(SWIG_FLAGS) -c++ \ + $(SWIG) $(SWIG_includes) $(SWIG_FLAGS) $(DOCCOMMENTS_I_FLAGS) -c++ \ -python -threads -shadow -modern -O -outdir modern \ -o modern/xapian_wrap.cc $(SWIG_mainsource) $(PERL) -pe 's/class Error:/class Error(Exception):/' modern/xapian.py > modern/xapian_py.tmp Index: configure.ac ==================================================================--- configure.ac (revision 8794) +++ configure.ac (working copy) @@ -99,6 +99,10 @@ test -n "$docdir" || docdir='${datadir}/doc/${PACKAGE_TARNAME}' AC_SUBST(docdir) +dnl Try to find the xapian-core files used to build python/doccomments.i; +dnl this is optional (it's nicer if we do this, but not essential). +AM_CONDITIONAL(HAVE_DOCCOMMENTS_SOURCES, test -f ${srcdir}../../xapian-core/docs/apidoc/xml/index.xml) + dnl Only probe for SWIG and enable SWIG rules in makefiles if dnl configure --enable-maintainer-mode is used. AM_MAINTAINER_MODE