doc: add gtk-doc to generate documentation

Current limitation is horrible no support to sections: we have to to
have separate header files or to maintain the libkmod-sections.txt file.
We are doing the latter.
This commit is contained in:
Lucas De Marchi 2012-01-09 04:20:55 -02:00
parent db74ceec80
commit 646b83b841
9 changed files with 186 additions and 1 deletions

View File

@ -1,3 +1,5 @@
SUBDIRS = . libkmod/docs
EXTRA_DIST =
CLEANFILES =
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@ -144,3 +146,5 @@ test_test_blacklist_LDADD = libkmod/libkmod.la
test_test_elf_LDADD = libkmod/libkmod.la
test_test_probe_LDADD = libkmod/libkmod.la
test_test_invalidate_config_LDADD = libkmod/libkmod.la
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc

View File

@ -1,5 +1,6 @@
#!/bin/sh -e
gtkdocize --docdir libkmod/docs
autoreconf --install --symlink
MYCFLAGS="-g -O2 -Werror"

View File

@ -128,8 +128,12 @@ CC_CHECK_CFLAGS_APPEND([ \
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_FILES([
Makefile
libkmod/docs/Makefile
libkmod/docs/version.xml
])
GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
AC_OUTPUT
AC_MSG_RESULT([
$PACKAGE $VERSION
@ -151,4 +155,5 @@ AC_MSG_RESULT([
logging: ${enable_logging}
compression: xz=${with_xz} zlib=${with_zlib}
debug: ${enable_debug}
doc: ${enable_gtk_doc}
])

12
libkmod/docs/.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
*.bak
*.stamp
*.sgml
libkmod.*
libkmod-*.xml
!libkmod-docs.xml
libkmod-*.txt
!libkmod-sections.txt
version.xml
xml
html
gtk-doc.make

41
libkmod/docs/Makefile.am Normal file
View File

@ -0,0 +1,41 @@
AUTOMAKE_OPTIONS = 1.11
DOC_MODULE = libkmod
DOC_MODULE_VERSION = 3
DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
DOC_SOURCE_DIR = ../
SCAN_OPTIONS = --ignore-decorators="__must_check|KMOD_EXPORT"
MKDB_OPTIONS = --xml-mode --output-format=xml --name-space kmod --tmpl-dir=.
MKTMPL_OPTIONS = --output-dir=.
MKHTML_OPTIONS = --path=$(abs_srcdir)/doc --path=$(abs_builddir)/doc
HFILE_GLOB = $(top_srcdir)/libkmod/libkmod.h
CFILE_GLOB = $(top_srcdir)/libkmod/libkmod.c $(top_srcdir)/libkmod/libkmod-module.c $(top_srcdir)/libkmod/libkmod-list.c
IGNORE_HFILES = macro.h \
libkmod-private.h \
libkmod-util.h \
libkmod-array.h \
libkmod-hash.h \
libkmod-index.h
content_files = version.xml
if ENABLE_GTK_DOC
include $(top_srcdir)/libkmod/docs/gtk-doc.make
else
EXTRA_DIST = libkmod-docs.xml libkmod-sections.txt
endif
DISTCLEANFILES = $(DOC_MODULE)-docs.xml \
$(DOC_MODULE).types $(DOC_MODULE)-*.txt *.sgml *.bak
MAINTAINERCLEANFILES = Makefile.in gtk-doc.make

View File

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<bookinfo>
<title>libkmod Reference Manual</title>
<releaseinfo>for libkmod version &version;</releaseinfo>
</bookinfo>
<chapter>
<title>libkmod</title>
<xi:include href="xml/libkmod.xml"/>
<xi:include href="xml/libkmod-list.xml"/>
<xi:include href="xml/libkmod-module.xml"/>
<xi:include href="xml/libkmod-loaded.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="deprecated-api-index" role="deprecated">
<title>Index of deprecated API</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View File

@ -0,0 +1,86 @@
<SECTION>
<FILE>libkmod</FILE>
kmod_ctx
kmod_new
kmod_ref
kmod_unref
kmod_load_resources
kmod_unload_resources
kmod_validate_resources
kmod_set_log_priority
kmod_get_log_priority
kmod_set_log_fn
kmod_get_userdata
kmod_set_userdata
</SECTION>
<SECTION>
<FILE>libkmod-list</FILE>
kmod_list
kmod_list_foreach
kmod_list_foreach_reverse
kmod_list_last
kmod_list_next
kmod_list_prev
</SECTION>
<SECTION>
<FILE>libkmod-module</FILE>
kmod_module
kmod_module_new_from_loaded
kmod_module_new_from_lookup
kmod_module_new_from_name
kmod_module_new_from_path
kmod_module_ref
kmod_module_unref
kmod_module_unref_list
kmod_module_insert_module
kmod_module_probe_insert_module
kmod_module_remove_module
kmod_module_get_module
kmod_module_get_dependencies
kmod_module_get_softdeps
kmod_module_get_filtered_blacklist
kmod_module_get_install_commands
kmod_module_get_remove_commands
kmod_module_get_name
kmod_module_get_options
kmod_module_get_path
kmod_module_get_initstate
kmod_module_initstate_str
kmod_module_get_size
kmod_module_get_refcnt
kmod_module_get_holders
kmod_module_get_dependency_symbols
kmod_module_dependency_symbol_get_bind
kmod_module_dependency_symbol_get_crc
kmod_module_dependency_symbol_get_symbol
kmod_module_dependency_symbols_free_list
kmod_module_get_sections
kmod_module_section_free_list
kmod_module_section_get_address
kmod_module_section_get_name
kmod_module_get_symbols
kmod_module_symbol_get_crc
kmod_module_symbol_get_symbol
kmod_module_symbols_free_list
kmod_module_get_versions
kmod_module_version_get_crc
kmod_module_version_get_symbol
kmod_module_versions_free_list
kmod_module_get_info
kmod_module_info_free_list
kmod_module_info_get_key
kmod_module_info_get_value
</SECTION>

View File

@ -0,0 +1 @@
@VERSION@

2
m4/.gitignore vendored
View File

@ -3,4 +3,4 @@ ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
gtk-doc.m4