Add API documentation support

Add optional support for building API documentation using gtk-doc.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Thomas Wood 2014-03-11 16:04:28 +00:00 committed by Daniel Vetter
parent c769d0988b
commit 14ea2a04eb
11 changed files with 199 additions and 1 deletions

3
.gitignore vendored
View File

@ -83,3 +83,6 @@ TAGS
build-aux/ build-aux/
__pycache__ __pycache__
version.h version.h
gtk-doc.make
gtk-doc.m4

View File

@ -21,7 +21,7 @@
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
SUBDIRS = lib man tools scripts benchmarks demos overlay SUBDIRS = docs lib man tools scripts benchmarks demos overlay
if BUILD_ASSEMBLER if BUILD_ASSEMBLER
SUBDIRS += assembler SUBDIRS += assembler

2
NEWS
View File

@ -26,6 +26,8 @@ Release 1.6 (2014-XX-YY)
- Broadwell support for intel_audio_dump (Mengdong Lin). - Broadwell support for intel_audio_dump (Mengdong Lin).
- API documentation support (Thomas)
Release 1.5 (2013-11-06) Release 1.5 (2013-11-06)
------------------------ ------------------------

View File

@ -6,6 +6,13 @@ test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd` ORIGDIR=`pwd`
cd $srcdir cd $srcdir
if ! type gtkdocize > /dev/null 2>&1; then
echo "EXTRA_DIST =" > gtk-doc.make
echo "CLEANFILES =" >> gtk-doc.make
else
gtkdocize || exit $?
fi
autoreconf -v --install || exit 1 autoreconf -v --install || exit 1
cd $ORIGDIR || exit $? cd $ORIGDIR || exit $?

View File

@ -42,6 +42,14 @@ AC_PROG_CC
AM_PROG_LEX AM_PROG_LEX
AC_PROG_YACC AC_PROG_YACC
# check for gtk-doc
m4_ifdef([GTK_DOC_CHECK], [
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
],[
AM_CONDITIONAL([ENABLE_GTK_DOC], false)
])
# Checks for functions, headers, structures, etc. # Checks for functions, headers, structures, etc.
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS([termios.h]) AC_CHECK_HEADERS([termios.h])
@ -192,6 +200,10 @@ AC_CONFIG_FILES([
Makefile Makefile
benchmarks/Makefile benchmarks/Makefile
demos/Makefile demos/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/intel-gpu-tools/Makefile
docs/reference/intel-gpu-tools/version.xml
lib/Makefile lib/Makefile
man/Makefile man/Makefile
scripts/Makefile scripts/Makefile

1
docs/Makefile.am Normal file
View File

@ -0,0 +1 @@
SUBDIRS=reference

View File

@ -0,0 +1 @@
SUBDIRS = intel-gpu-tools

View File

@ -0,0 +1,26 @@
/gtkdoc-check.log
/gtkdoc-check.trs
/html-build.stamp
/html.stamp
/html/
/intel-gpu-tools-decl-list.txt
/intel-gpu-tools-decl.txt
/intel-gpu-tools-overrides.txt
/intel-gpu-tools-sections.txt
/intel-gpu-tools-undeclared.txt
/intel-gpu-tools-undocumented.txt
/intel-gpu-tools-unused.txt
/intel-gpu-tools.args
/intel-gpu-tools.hierarchy
/intel-gpu-tools.interfaces
/intel-gpu-tools.prerequisites
/intel-gpu-tools.signals
/intel-gpu-tools.types
/scan-build.stamp
/setup-build.stamp
/sgml-build.stamp
/sgml.stamp
/test-suite.log
/version.xml
/xml/

View File

@ -0,0 +1,105 @@
## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
# of using the various options.
# The name of the module, e.g. 'glib'.
DOC_MODULE=intel-gpu-tools
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
#DOC_MODULE_VERSION=2
# The top-level XML file (SGML in the past). You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Directories containing the source code.
# gtk-doc will search all .c and .h files beneath these paths
# for inline comments documenting functions and macros.
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
DOC_SOURCE_DIR=$(top_srcdir)/lib
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/lib/*.h
CFILE_GLOB=$(top_srcdir)/lib/*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
EXTRA_HFILES=
# Header files or dirs to ignore when scanning. Use base file/dir names
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
IGNORE_HFILES=gen6_render.h gen7_media.h gen7_render.h gen8_media.h gen8_render.h i830_reg.h i915_3d.h i915_pciids.h i915_reg.h intel_reg.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
GTKDOC_CFLAGS=
GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST +=
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
#DISTCLEANFILES +=
# Comment this out if you want 'make check' to test you doc status
# and run some sanity checks
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = cd $(srcdir) && \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
endif
-include $(top_srcdir)/git.mk

View File

@ -0,0 +1,40 @@
<?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'">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index">
<bookinfo>
<title>intel-gpu-tools Reference Manual</title>
<releaseinfo>
for intel-gpu-tools &version;.
</releaseinfo>
</bookinfo>
<chapter>
<title>Intel GPU Tools</title>
<xi:include href="xml/debug.xml"/>
<xi:include href="xml/drmtest.xml"/>
<xi:include href="xml/igt_debugfs.xml"/>
<xi:include href="xml/igt_display.xml"/>
<xi:include href="xml/igt_kms.xml"/>
<xi:include href="xml/intel_batchbuffer.xml"/>
<xi:include href="xml/intel_chipset.xml"/>
<xi:include href="xml/intel_gpu_tools.xml"/>
<xi:include href="xml/media_fill.xml"/>
<xi:include href="xml/rendercopy.xml"/>
</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 @@
@PACKAGE_VERSION@