diff --git a/configure.in b/configure.in index 81b6eae60e..28c59fe5fc 100644 --- a/configure.in +++ b/configure.in @@ -247,6 +247,11 @@ HAVE_VORBIS=no, ) dnl check for gtkdoc AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false) +dnl check for db2html +AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false) +AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false) +AC_CHECK_PROG(HAVE_DB2PDF, db2pdf, true, false) + dnl ###################################################################### dnl # Check command line parameters, and set shell variables accordingly # @@ -371,6 +376,9 @@ AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes") AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes") AM_CONDITIONAL(HAVE_LIBXV, test "x$HAVE_LIBXV" = "xyes") AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC) +AM_CONDITIONAL(HAVE_DB2HTML, $HAVE_DB2HTML) +AM_CONDITIONAL(HAVE_DB2PDF, $HAVE_DB2PDF) +AM_CONDITIONAL(HAVE_DB2PS, $HAVE_DB2PS) dnl FIXME: having to AC_SUBST these is messy. Not sure if CPPFLAGS and LDFLAGS @@ -466,6 +474,8 @@ tools/Makefile docs/Makefile docs/gst/Makefile docs/gst/gstreamer.types +docs/manual/Makefile +docs/manual/images/Makefile stamp.h gstreamer-config gstreamer.spec]) diff --git a/docs/Makefile.am b/docs/Makefile.am index bc4be8cbfc..5c20418990 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -1,4 +1,5 @@ -SUBDIRS = +SUBDIRS = manual + if HAVE_GTK_DOC SUBDIRS += gst endif diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index ec60ea3e11..1b70be85cd 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -2,3 +2,10 @@ Makefile Makefile.in *.bak .deps +gstreamer-manual +gstreamer-manual.pdf +gstreamer-manual.ps +gstreamer-manual.dvi +gstreamer-manual.tex +gstreamer-manual.log +gstreamer-manual.aux diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am new file mode 100644 index 0000000000..961d7cfcbc --- /dev/null +++ b/docs/manual/Makefile.am @@ -0,0 +1,96 @@ +SUBDIRS = images . + +DIST_SUBDIRS = images + +EXTRA_DIST = fig \ + advanced.sgml \ + bins.sgml \ + buffers.sgml \ + components.sgml \ + connections.sgml \ + cothreads.sgml \ + dynamic.sgml \ + elements.sgml \ + factories.sgml \ + ghostpads.sgml \ + goals.sgml \ + gstreamer-manual.sgml \ + helloworld.sgml \ + helloworld2.sgml \ + intro.sgml \ + motivation.sgml \ + plugins.sgml \ + programs.sgml \ + queues.sgml \ + states.sgml \ + threads.sgml \ + typedetection.sgml \ + utility.sgml \ + xml.sgml + +gstreamer-manual/gstreamer.html: + db2html gstreamer-manual.sgml + +gstreamer-manual.pdf: + db2pdf gstreamer-manual.sgml + +gstreamer-manual.ps: + db2ps gstreamer-manual.sgml + + +PDFFILES=gstreamer-manual.pdf +PSFILES=gstreamer-manual.ps + + +htmldocs: gstreamer-manual/gstreamer.html + ln -s ../images gstreamer-manual || true +htmldist: + @if [ -r gstreamer-manual/gstreamer.html ] ; then \ + echo "Adding HTML manual to distribution" ; \ + $(mkinstalldirs) $(distdir)/gstreamer-manual ; \ + cp -a gstreamer-manual/* $(distdir)/gstreamer-manual/ ; \ + else \ + echo "Skipping HTML manual from distribution: can't build" ; \ + fi + +pdfdocs: $(PDFFILES) +pdfdist: + @if [ -r gstreamer-manual.pdf ] ; then \ + echo "Adding PDF manual to distribution" ; \ + cp -a gstreamer-manual.pdf $(distdir)/gstreamer-manual.pdf ; \ + else \ + echo "Skipping PDF manual from distribution: can't build" ; \ + fi + +psdocs: $(PSFILES) +psdist: + @if [ -r gstreamer-manual.ps ] ; then \ + echo "Adding PS manual to distribution" ; \ + cp -a gstreamer-manual.ps $(distdir)/gstreamer-manual.ps ; \ + else \ + echo "Skipping PS manual from distribution: can't build" ; \ + fi + +# Data to install, in the usual automake way +docdatadir = $(datadir)/gstreamer +docdata_DATA = $(PDFFILES) $(PSFILES) + +htmlinst: + @if [ -r gstreamer-manual/gstreamer.html ] ; then \ + echo "Installing HTML documentation" ; \ + $(mkinstalldirs) $(DESTDIR)$(docdatadir)/gstreamer-manual ; \ + $(INSTALL_DATA) gstreamer-manual/* $(DESTDIR)$(docdatadir)/gstreamer-manual ; \ + else \ + if [ -r $(srcdir)/gstreamer-manual/gstreamer.html ] ; then \ + echo "Installing HTML documentation" ; \ + $(mkinstalldirs) $(DESTDIR)$(docdatadir)/gstreamer-manual ; \ + $(INSTALL_DATA) $(srcdir)/gstreamer-manual/* $(DESTDIR)$(docdatadir)/gstreamer-manual ; \ + else \ + echo "NOT installing HTML documentation: not present, and can't generate" ; \ + fi \ + fi + +all-local: htmldocs pdfdocs psdocs +dist-hook: htmldist pdfdist psdist +install-data-local: htmlinst + diff --git a/docs/manual/images/.gitignore b/docs/manual/images/.gitignore index e33609d251..093f7a4058 100644 --- a/docs/manual/images/.gitignore +++ b/docs/manual/images/.gitignore @@ -1 +1,4 @@ *.png +*.eps +Makefile.in +Makefile diff --git a/docs/manual/images/Makefile.am b/docs/manual/images/Makefile.am new file mode 100644 index 0000000000..3fc0557855 --- /dev/null +++ b/docs/manual/images/Makefile.am @@ -0,0 +1,38 @@ +fig_pngs= \ + bin-element.png \ + connected-elements.png \ + filter-element-multi.png \ + filter-element.png \ + hello-world.png \ + mime-world.png \ + queue.png \ + sink-element.png \ + src-element.png \ + state-diagram.png \ + thread.png + +fig_epss= \ + bin-element.eps \ + connected-elements.eps \ + filter-element-multi.eps \ + filter-element.eps \ + hello-world.eps \ + mime-world.eps \ + queue.eps \ + sink-element.eps \ + src-element.eps \ + state-diagram.eps \ + thread.eps + +png_images: $(fig_pngs) +eps_images: $(fig_epss) + +%.png : ../fig/%.fig + fig2dev -L png -s 16 $< $@ + +%.eps : ../fig/%.fig + fig2dev -L eps -s 16 $< $@ + + +all-local: png_images eps_images +