From 14ea2a04ebfa287e33b69a3bc7e47f02ba93c9ed Mon Sep 17 00:00:00 2001 From: Thomas Wood Date: Tue, 11 Mar 2014 16:04:28 +0000 Subject: Add API documentation support Add optional support for building API documentation using gtk-doc. Signed-off-by: Thomas Wood Signed-off-by: Daniel Vetter --- .gitignore | 3 + Makefile.am | 2 +- NEWS | 2 + autogen.sh | 7 ++ configure.ac | 12 +++ docs/Makefile.am | 1 + docs/reference/Makefile.am | 1 + docs/reference/intel-gpu-tools/.gitignore | 26 +++++ docs/reference/intel-gpu-tools/Makefile.am | 105 +++++++++++++++++++++ .../intel-gpu-tools/intel-gpu-tools-docs.xml | 40 ++++++++ docs/reference/intel-gpu-tools/version.xml.in | 1 + 11 files changed, 199 insertions(+), 1 deletion(-) create mode 100644 docs/Makefile.am create mode 100644 docs/reference/Makefile.am create mode 100644 docs/reference/intel-gpu-tools/.gitignore create mode 100644 docs/reference/intel-gpu-tools/Makefile.am create mode 100644 docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml create mode 100644 docs/reference/intel-gpu-tools/version.xml.in diff --git a/.gitignore b/.gitignore index 28ef75b8..c622b7cf 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,6 @@ TAGS build-aux/ __pycache__ version.h + +gtk-doc.make +gtk-doc.m4 diff --git a/Makefile.am b/Makefile.am index 431e7b41..9949679b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ 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 SUBDIRS += assembler diff --git a/NEWS b/NEWS index 75352ae6..22bb0142 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,8 @@ Release 1.6 (2014-XX-YY) - Broadwell support for intel_audio_dump (Mengdong Lin). +- API documentation support (Thomas) + Release 1.5 (2013-11-06) ------------------------ diff --git a/autogen.sh b/autogen.sh index 354f254e..629a2575 100755 --- a/autogen.sh +++ b/autogen.sh @@ -6,6 +6,13 @@ test -z "$srcdir" && srcdir=. ORIGDIR=`pwd` 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 cd $ORIGDIR || exit $? diff --git a/configure.ac b/configure.ac index 4aee793e..2c991a85 100644 --- a/configure.ac +++ b/configure.ac @@ -42,6 +42,14 @@ AC_PROG_CC AM_PROG_LEX 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. AC_HEADER_STDC AC_CHECK_HEADERS([termios.h]) @@ -192,6 +200,10 @@ AC_CONFIG_FILES([ Makefile benchmarks/Makefile demos/Makefile + docs/Makefile + docs/reference/Makefile + docs/reference/intel-gpu-tools/Makefile + docs/reference/intel-gpu-tools/version.xml lib/Makefile man/Makefile scripts/Makefile diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 00000000..b68c7745 --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1 @@ +SUBDIRS=reference diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am new file mode 100644 index 00000000..4f579b58 --- /dev/null +++ b/docs/reference/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = intel-gpu-tools diff --git a/docs/reference/intel-gpu-tools/.gitignore b/docs/reference/intel-gpu-tools/.gitignore new file mode 100644 index 00000000..9415974c --- /dev/null +++ b/docs/reference/intel-gpu-tools/.gitignore @@ -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/ + diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am new file mode 100644 index 00000000..daaa3f42 --- /dev/null +++ b/docs/reference/intel-gpu-tools/Makefile.am @@ -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 diff --git a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml new file mode 100644 index 00000000..a3a66f53 --- /dev/null +++ b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml @@ -0,0 +1,40 @@ + + + +]> + + + intel-gpu-tools Reference Manual + + for intel-gpu-tools &version;. + + + + + Intel GPU Tools + + + + + + + + + + + + + + API Index + + + + Index of deprecated API + + + + + diff --git a/docs/reference/intel-gpu-tools/version.xml.in b/docs/reference/intel-gpu-tools/version.xml.in new file mode 100644 index 00000000..a24f9877 --- /dev/null +++ b/docs/reference/intel-gpu-tools/version.xml.in @@ -0,0 +1 @@ +@PACKAGE_VERSION@ -- cgit v1.2.3