From 230599b6d78a39121053f3ba3299a38eac21a254 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 20 Dec 2004 16:29:06 +0000 Subject: Added boilerplate gtk-doc files for plugin-libs documentation. Original commit message from CVS: Added boilerplate gtk-doc files for plugin-libs documentation. --- ChangeLog | 13 ++ Makefile.am | 9 +- configure.ac | 4 + docs/Makefile.am | 11 ++ docs/libs/Makefile.am | 330 ++++++++++++++++++++++++++++++++ docs/libs/gst-plugins-libs-docs.sgml | 17 ++ docs/libs/gst-plugins-libs-sections.txt | 5 + docs/libs/gst-plugins-libs.types | 0 docs/libs/tmpl/gstgconf.sgml | 25 +++ docs/upload.mak | 34 ++++ docs/version.entities.in | 2 + 11 files changed, 449 insertions(+), 1 deletion(-) create mode 100644 docs/Makefile.am create mode 100644 docs/libs/Makefile.am create mode 100644 docs/libs/gst-plugins-libs-docs.sgml create mode 100644 docs/libs/gst-plugins-libs-sections.txt create mode 100644 docs/libs/gst-plugins-libs.types create mode 100644 docs/libs/tmpl/gstgconf.sgml create mode 100644 docs/upload.mak create mode 100644 docs/version.entities.in diff --git a/ChangeLog b/ChangeLog index 880fd388..258afe06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-12-20 Stefan Kost + + * Makefile.am: + * configure.ac: + * docs/Makefile.am: + * docs/libs/Makefile.am: + * docs/libs/gst-plugins-libs-docs.sgml: + * docs/libs/gst-plugins-libs-sections.txt: + * docs/libs/tmpl/gstgconf.sgml: + * docs/upload.mak: + * docs/version.entities.in: + Added boilerplate gtk-doc files for plugin-libs documentation. + 2004-12-19 Stephane Loeuillet * gst/auparse/gstauparse.c: fix int and float audio caps diff --git a/Makefile.am b/Makefile.am index e20dd34a..ed18dd73 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,9 @@ +if BUILD_DOCS +SUBDIRS_DOCS = docs +else +SUBDIRS_DOCS = +endif + if USE_GCONFTOOL GCONF_DIR=gconf else @@ -25,7 +31,8 @@ SUBDIRS=gst-libs \ po \ common \ m4 \ - pkgconfig + pkgconfig \ + $(SUBDIRS_DOCS) DIST_SUBDIRS=ext gst-libs \ gst sys \ diff --git a/configure.ac b/configure.ac index 156939ea..a3621fdb 100644 --- a/configure.ac +++ b/configure.ac @@ -177,6 +177,7 @@ AC_ARG_WITH(pkg-config-path, AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]), [export PKG_CONFIG_PATH=${withval}]) +GST_DOC() dnl check architecture GST_ARCH() @@ -2087,6 +2088,9 @@ pkgconfig/gstreamer-plugins-uninstalled.pc po/Makefile.in common/Makefile common/m4/Makefile +docs/Makefile +docs/libs/Makefile +docs/version.entities m4/Makefile ) AC_OUTPUT diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 00000000..1664f70e --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,11 @@ +if BUILD_DOCS +SUBDIRS_DOCS = libs +else +SUBDIRS_DOCS = +endif + +SUBDIRS = $(SUBDIRS_DOCS) +DIST_SUBDIRS = libs + +#upload: +# @if test "x$(SUBDIRS_DOCS)" != x; then for a in $(SUBDIRS_DOCS); do cd $$a; make upload; cd ..; done; fi diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am new file mode 100644 index 00000000..5890db09 --- /dev/null +++ b/docs/libs/Makefile.am @@ -0,0 +1,330 @@ +## Process this file with automake to produce Makefile.in + +# The name of the module, e.g. 'glib'. +#DOC_MODULE=gst-plugins-libs-@GST_MAJORMINOR@ +DOC_MODULE=gst-plugins-libs + +# for upload.mak +DOC=gst-plugins-libs +FORMATS=html +html: html-build.stamp +include $(srcdir)/../upload.mak + +# generated basefiles +#basefiles = \ +## $(DOC_MODULE).types \ +# $(DOC_MODULE)-sections.txt \ +# $(DOC_MODULE)-docs.sgml + +# ugly hack to make -unused.sgml work +#unused-build.stamp: +# BUILDDIR=`pwd` && \ +# cd $(srcdir)/tmpl && \ +# ln -sf gstreamer-libs-unused.sgml \ +# $$BUILDDIR/tmpl/gstreamer-libs-@GST_MAJORMINOR@-unused.sgml +# touch unused-build.stamp + +# these rules are added to create parallel docs using GST_MAJORMINOR +#$(basefiles): gstreamer-libs-@GST_MAJORMINOR@%: gstreamer-libs% +# cp $< $@ + +#CLEANFILES = $(basefiles) + +# The top-level SGML file. Change it if you want. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml + +# The directory containing the source code. Relative to $(top_srcdir). +# gtk-doc will search all .c & .h files beneath here for inline comments +# documenting functions and macros. +DOC_SOURCE_DIR=$(top_srcdir)/gst-libs/gst + +# Extra options to supply to gtkdoc-scan. +SCAN_OPTIONS= + +# FIXME : +# there's something wrong with gstreamer-sections.txt not being in the dist +# maybe it doesn't resolve; we're adding it below for now +#EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt gstreamer-sections.txt $(DOC_MAIN_SGML_FILE) + +# Extra options to supply to gtkdoc-mkdb. +MKDB_OPTIONS=--sgml-mode --ignore-files=trio + +# Extra options to supply to gtkdoc-fixref. +# FIXME get the location of the installed gstreamer docs +#FIXXREF_OPTIONS=--extra-dir=../gst/html + +# Used for dependencies. +HFILE_GLOB=$(DOC_SOURCE_DIR)/*/*.h +CFILE_GLOB=$(DOC_SOURCE_DIR)/*/*.c + +# this is a wingo addition +# thomasvs: another nice wingo addition would be an explanation on why +# this is useful ;) + +#SCANOBJ_DEPS = $(top_builddir)/gst/elements/libgstelements.la \ +# $(top_builddir)/gst/schedulers/libgstbasicomegascheduler.la +#SCANOBJ_DEPS = $(top_builddir)/libs/gst/control/libgstcontrol-@GST_MAJORMINOR@.la +SCANOBJ_DEPF = + +# Header files to ignore when scanning. +IGNORE_HFILES = + +# Images to copy into HTML directory. +HTML_IMAGES = + +# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). +content_files = + +# Other files to distribute. +extra_files = + +# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib +# contains GtkObjects/GObjects and you want to document signals and properties. +GTKDOC_CFLAGS = $(GST_OBJ_CFLAGS) -I$(top_builddir) +GTKDOC_LIBS = $(GST_OBJ_LIBS) $(SCANOBJ_DEPS) + +GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC) +GTKDOC_LD=$(LIBTOOL) --mode=link $(CC) + +# If you need to override some of the declarations, place them in this file +# and uncomment this line. +#DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt + + + +########################################################################### +# Everything below here is generic and you shouldn't need to change it. +########################################################################### +# thomas: except of course that we did + +# thomas: copied from glib-2 +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@ + +EXTRA_DIST = \ + $(content_files) \ + $(extra_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE).types \ + $(DOC_MODULE)-sections.txt + +DOC_STAMPS = \ + scan-build.stamp \ + tmpl-build.stamp \ + sgml-build.stamp \ + html-build.stamp \ + $(srcdir)/tmpl.stamp \ + $(srcdir)/sgml.stamp \ + $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + .libs/$(DOC_MODULE)-scan.o \ + $(DOC_MODULE).signals + +CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS) + +if HAVE_GTK_DOC +all-local: html-build.stamp + +#### scan #### + +# in the case of non-srcdir builds, the built gst directory gets added +# to gtk-doc scanning; but only then, to avoid duplicates +scan-build.stamp: $(HFILE_GLOB) $(SCANOBJ_DEPS) $(basefiles) + @echo '*** Scanning header files ***' + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null; \ + then \ + if test x"$(srcdir)" != x. ; then \ + cp $(srcdir)/$(DOC_MODULE).types . ; \ + chmod u+w $(DOC_MODULE).types ; \ + fi ; \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \ + CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" \ + $(GTK_DOC_SCANOBJ) --type-init-func="gst_init(NULL,NULL)" \ + --module=$(DOC_MODULE) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + if test "x$(top_srcdir)" != "x$(top_builddir)"; \ + then \ + export BUILT_OPTIONS="--source-dir=$(top_builddir)/libs/gst"; \ + fi; \ + gtkdoc-scan \ + $(SCAN_OPTIONS) $(EXTRA_HFILES) \ + --module=$(DOC_MODULE) \ + --source-dir=$(DOC_SOURCE_DIR) \ + $$BUILT_OPTIONS \ + --ignore-headers="$(IGNORE_HFILES)" + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES) + @echo '*** Rebuilding template files ***' + if test x"$(srcdir)" != x. ; then \ + cp $(srcdir)/$(DOC_MODULE)-decl.txt . ; \ + cp $(srcdir)/$(DOC_MODULE)-sections.txt . ; \ + fi + gtkdoc-mktmpl --module=$(DOC_MODULE) + touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +#### sgml #### + +sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) + @echo '*** Building XML ***' + gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS) | tee sgml-build.log + @if grep "WARNING:" sgml-build.log > /dev/null; then exit 1; fi + rm sgml-build.log + touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +# FIXME: setting LANG=C is a hack to work with gtk-doc < 1.1, because +# that forces a non-utf8 locale. gtk-doc >= 1.1 solves this by calling +# use bytes; in gtkdoc-fixxref +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo '*** Building HTML ***' + if test -d html; then rm -rf html; fi + mkdir html + @cp $(srcdir)/$(DOC_MAIN_SGML_FILE) html + cp -pr xml html + cp ../version.entities html + cd html && gtkdoc-mkhtml $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) + rm -f html/$(DOC_MAIN_SGML_FILE) + rm -rf html/xml + rm -f html/version.entities + test "x$(HTML_IMAGES)" = "x" || for i in "" $(HTML_IMAGES) ; do \ + if test "$$i" != ""; then cp $(srcdir)/$$i html ; fi; done + @echo '-- Fixing Crossreferences' + LANG=C && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp +else +all-local: +endif + +clean-local: + rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) + rm -rf xml html + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +# FIXME : thomas added all sgml files and some other things to make +# make distcheck work +distclean-local: clean + rm -rf $(DOC_MODULE)-decl-list.txt + rm -rf $(DOC_MODULE)-decl.txt + rm -rf $(DOC_MODULE)-undocumented.txt + rm -rf $(DOC_MODULE)-unused.txt + rm -rf tmpl/*.sgml.bak + rm -f $(DOC_MODULE).hierarchy + rm -f *.stamp || true + if test x"$(srcdir)" != x. ; then \ + rm -f $(DOC_MODULE)-docs.sgml ; \ + rm -f $(DOC_MODULE).types ; \ + rm -f $(DOC_MODULE).interfaces ; \ + rm -f $(DOC_MODULE).prerequisites ; \ + rm -f $(DOC_MODULE)-sections.txt ; \ + rm -rf tmpl/*.sgml ; \ + fi + rm -f *.o + + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) + (installfiles=`echo ./html/*.html`; \ + if test "$$installfiles" = './html/*.html'; \ + then echo '-- Nothing to install' ; \ + else \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + pngfiles=`echo ./html/*.png`; \ + if test "$$pngfiles" != './html/*.png'; then \ + for i in $$pngfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + fi; \ + echo '-- Installing $(srcdir)/html/$(DOC_MODULE).devhelp' ; \ + $(INSTALL_DATA) $(srcdir)/html/$(DOC_MODULE).devhelp \ + $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \ + fi) +uninstall-local: + (installfiles=`echo ./html/*.html`; \ + if test "$$installfiles" = './html/*.html'; \ + then echo '-- Nothing to uninstall' ; \ + else \ + for i in $$installfiles; do \ + rmfile=`basename $$i` ; \ + echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ + rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ + done; \ + pngfiles=`echo ./html/*.png`; \ + if test "$$pngfiles" != './html/*.png'; then \ + for i in $$pngfiles; do \ + rmfile=`basename $$i` ; \ + echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ + rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ + done; \ + fi; \ + echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE).devhelp' ; \ + rm -f $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ + echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/index.sgml' ; \ + rm -f $(DESTDIR)$(TARGET_DIR)/index.sgml; \ + fi) + if test -d $(DESTDIR)$(TARGET_DIR); then rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(TARGET_DIR) 2>/dev/null; fi + +# +# Require gtk-doc when making dist +# +if HAVE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + -cp $(srcdir)/sgml/*.xml $(distdir)/xml + -cp $(srcdir)/html/index.sgml $(distdir)/html + -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html + -cp $(srcdir)/html/gstreamer-libs.devhelp $(distdir)/html + + images=$(HTML_IMAGES) ; \ + for i in "" $$images ; do \ + if test "$$i" != ""; then cp $(srcdir)/$$i $(distdir)/html ; fi; \ + done + +.PHONY : dist-hook-local diff --git a/docs/libs/gst-plugins-libs-docs.sgml b/docs/libs/gst-plugins-libs-docs.sgml new file mode 100644 index 00000000..036478d4 --- /dev/null +++ b/docs/libs/gst-plugins-libs-docs.sgml @@ -0,0 +1,17 @@ + + +%version-entities; + +]> + + + GStreamer &GST_MAJORMINOR; Plugin Library Reference Manual + + + + GStreamer Plugin Libraries + &GstGConf; + + diff --git a/docs/libs/gst-plugins-libs-sections.txt b/docs/libs/gst-plugins-libs-sections.txt new file mode 100644 index 00000000..9b77029b --- /dev/null +++ b/docs/libs/gst-plugins-libs-sections.txt @@ -0,0 +1,5 @@ +
+gstgconf +gst-libs/gst/gconf/gconf.h +gst_gconf_get_string +
diff --git a/docs/libs/gst-plugins-libs.types b/docs/libs/gst-plugins-libs.types new file mode 100644 index 00000000..e69de29b diff --git a/docs/libs/tmpl/gstgconf.sgml b/docs/libs/tmpl/gstgconf.sgml new file mode 100644 index 00000000..36865fbf --- /dev/null +++ b/docs/libs/tmpl/gstgconf.sgml @@ -0,0 +1,25 @@ + +gstgconf + + +gconf default elements support + + + + + + + + + + + + + + + + +@key: +@Returns: + + diff --git a/docs/upload.mak b/docs/upload.mak new file mode 100644 index 00000000..ed01e5e9 --- /dev/null +++ b/docs/upload.mak @@ -0,0 +1,34 @@ +# this snippet is to be included by both our docbook manuals +# and gtk-doc API references + +# it adds an upload target to each of these dir's Makefiles + +# each Makefile.am should define the following variables: +# - DOC: the base name of the documentation +# (faq, manual, pwg, gstreamer, gstreamer-libs) +# - FORMATS: the formats in which DOC is output +# (html ps pdf) + +# if you want to use it, make sure your ..sh/config file contains the +# correct User entry for the Host entry for the DOC_SERVER + +# these variables define the location of the online docs +DOC_SERVER=freedesktop.org +DOC_BASE=/srv/gstreamer.freedesktop.org/www/data/doc +DOC_URL=$(DOC_SERVER):$(DOC_BASE) + + +upload: $(FORMATS) + @if test "x$(GST_VERSION_NANO)" = x0; then \ + export DOCVERSION=$(VERSION); \ + else export DOCVERSION=head; \ + fi; \ + export DIR=$(DOC_BASE)/gstreamer/$$DOCVERSION/$(DOC); \ + ssh $(DOC_SERVER) mkdir -p $$DIR; \ + if echo $(FORMATS) | grep html > /dev/null; then export SRC="$$SRC html"; fi; \ + if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \ + if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \ + echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \ + rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \ + ssh $(DOC_SERVER) chmod -R g+w $$DIR; \ + echo Done diff --git a/docs/version.entities.in b/docs/version.entities.in new file mode 100644 index 00000000..79a68981 --- /dev/null +++ b/docs/version.entities.in @@ -0,0 +1,2 @@ + + -- cgit v1.2.1