diff --git a/configure b/configure index c8690d3a..b4ee7f37 100755 --- a/configure +++ b/configure @@ -801,6 +801,7 @@ if [ $have_python3 -eq 1 ]; then if "$python" -c 'import cffi,setuptools; cffi.FFI().verify()' >/dev/null 2>&1; then printf "Yes.\n" have_python3_cffi=1 + WITH_PYTHON_DOCS=1 else printf "No (will not install CFFI-based python bindings).\n" fi @@ -1554,6 +1555,9 @@ EOF if [ $WITH_EMACS = "1" ]; then printf "tags.add('WITH_EMACS')\n" >> sphinx.config fi +if [ $WITH_PYTHON_DOCS = "1" ]; then + printf "tags.add('WITH_PYTHON')\n" >> sphinx.config +fi printf "rsti_dir = '%s'\n" $(realpath emacs) >> sphinx.config # Finally, after everything configured, inform the user how to continue. diff --git a/doc/conf.py b/doc/conf.py index fdff2a2c..94e266af 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -4,6 +4,8 @@ import sys import os +extensions = [ 'sphinx.ext.autodoc' ] + # The suffix of source filenames. source_suffix = '.rst' @@ -22,6 +24,9 @@ for pathdir in ['.', '..']: with open(version_file,'r') as infile: version=infile.read().replace('\n','') +# for autodoc +sys.path.insert(0, os.path.join(location, '..', 'bindings', 'python-cffi', 'notmuch2')) + # read generated config for pathdir in ['.', '..']: conf_file = os.path.join(location,pathdir,'sphinx.config') @@ -50,6 +55,9 @@ else: # the docstring include files exclude_patterns.append('notmuch-emacs.rst') +if not tags.has('WITH_PYTHON'): + exclude_patterns.append('python-bindings.rst') + # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' diff --git a/doc/index.rst b/doc/index.rst index 4440d93a..a3bf3480 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -26,6 +26,7 @@ Contents: man7/notmuch-search-terms man1/notmuch-show man1/notmuch-tag + python-bindings Indices and tables ================== diff --git a/doc/python-bindings.rst b/doc/python-bindings.rst new file mode 100644 index 00000000..e1ad26ad --- /dev/null +++ b/doc/python-bindings.rst @@ -0,0 +1,5 @@ +Python Bindings +=============== + +.. automodule:: notmuch2 + :members: