summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm@src.gnome.org>2003-05-24 15:16:26 +0000
committerMalcolm Tredinnick <malcolm@src.gnome.org>2003-05-24 15:16:26 +0000
commite16ea58db92e05b9720acdc6992175ec346dfc91 (patch)
treedafb19409513ae55790e962f0cada60d82606237
parent59c9ab024e8a72ca8393b02a4162ad5f2d3c5cdb (diff)
downloadgnome-common-e16ea58db92e05b9720acdc6992175ec346dfc91.tar.gz
Bump the version number to 2.3.0
* configure.in: Bump the version number to 2.3.0 * configure.in, Makefile.am, macros2/autogen.sh, doc-build/*: Add in the infrastructure to allow user documentatin to be built from some common files. This will not affect existing packages. The changes required to use this are given in doc-build/README. svn path=/trunk/; revision=2905
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.am2
-rw-r--r--configure.in9
-rw-r--r--doc-build/.cvsignore3
-rw-r--r--doc-build/Makefile.am12
-rw-r--r--doc-build/README9
-rw-r--r--doc-build/gnome-doc-common.in48
-rw-r--r--doc-build/omf.make61
-rw-r--r--doc-build/xmldocs.make95
-rw-r--r--macros2/autogen.sh14
10 files changed, 253 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d34dec..d5d1df6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,13 @@
* MAINTAINERS: Put myself in as maintainer.
+ * configure.in: Bump the version number to 2.3.0
+
+ * configure.in, Makefile.am, macros2/autogen.sh, doc-build/*:
+ Add in the infrastructure to allow user documentatin to be built
+ from some common files. This will not affect existing packages.
+ The changes required to use this are given in doc-build/README.
+
2003-02-26 Frederic Crozat <fcrozat@mandrakesoft.com>
* macros2/autogen.sh: set WANT_AUTOCONF_2_5 variable to tell
diff --git a/Makefile.am b/Makefile.am
index 3e50c64..8abfc47 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = bin macros macros2 doc
+SUBDIRS = bin macros macros2 doc doc-build
EXTRA_DIST = gnome-common.spec
diff --git a/configure.in b/configure.in
index 53b3da0..ad07382 100644
--- a/configure.in
+++ b/configure.in
@@ -1,13 +1,11 @@
AC_INIT(macros2/gnome-common.m4)
-AM_INIT_AUTOMAKE(gnome-common, 1.2.4)
+AM_INIT_AUTOMAKE(gnome-common, 2.3.0)
AM_MAINTAINER_MODE
AM_CONDITIONAL(INSIDE_GNOME_COMMON, true)
-AC_DEFUN([AC_FYI], [echo "FYI: " $1])
-
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
@@ -31,5 +29,8 @@ gnome-common.spec
macros/Makefile
macros2/Makefile
bin/Makefile
-doc/Makefile])
+doc/Makefile
+doc-build/Makefile
+doc-build/gnome-doc-common
+])
diff --git a/doc-build/.cvsignore b/doc-build/.cvsignore
new file mode 100644
index 0000000..dc64754
--- /dev/null
+++ b/doc-build/.cvsignore
@@ -0,0 +1,3 @@
+Makefile.in
+Makefile
+gnome-doc-common
diff --git a/doc-build/Makefile.am b/doc-build/Makefile.am
new file mode 100644
index 0000000..b30f910
--- /dev/null
+++ b/doc-build/Makefile.am
@@ -0,0 +1,12 @@
+bin_SCRIPTS = gnome-doc-common
+
+pkgdatadir = $(datadir)/gnome-common/data
+pkgdata_DATA = \
+ omf.make \
+ xmldocs.make
+
+EXTRA_DIST = \
+ omf.make \
+ xmldocs.make \
+ gnome-doc-common.in \
+ ChangeLog
diff --git a/doc-build/README b/doc-build/README
new file mode 100644
index 0000000..6b44642
--- /dev/null
+++ b/doc-build/README
@@ -0,0 +1,9 @@
+To automatically include the standard user documentation build files (omf.make
+and xmldocs.make) in you package, set USE_COMMON_DOC_BUILD=yes in autogen.sh
+before calling the macros2/autogen.sh script.
+
+When porting applications across to use this feature, ensure that all of the
+references to xmldocs.make are to $(top_srcdir)/xmldocs.make in the appropriate
+Makefile.am files. Some modules assume that xmldocs.make is in another
+directory (like docs/ or something).
+
diff --git a/doc-build/gnome-doc-common.in b/doc-build/gnome-doc-common.in
new file mode 100644
index 0000000..881122d
--- /dev/null
+++ b/doc-build/gnome-doc-common.in
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+progname=`echo "$0" | sed 's%^.*/%%'`
+
+PROGRAM=gnome-doc-common
+PACKAGE=@PACKAGE@
+VERSION=@VERSION@
+
+prefix=@prefix@
+datadir=@datadir@
+
+# options
+docdir=.
+copy=no
+
+while test $# -gt 0; do
+ case "$1" in
+ --help)
+ echo "usage: $progname [--version|--help]" 1>&2
+ exit 1 ;;
+ --version)
+ echo "$PROGRAM ($PACKAGE) $VERSION"
+ exit 0 ;;
+ --copy)
+ copy=yes
+ shift ;;
+ -*)
+ echo "$progname: unrecognised option '$1'" 1>&2
+ echo "usage: $progname [--version|--help]" 1>&2
+ exit 1 ;;
+ *)
+ echo "$progname: too many arguments" 1>&2
+ echo "usage: $progname [--version|--help]" 1>&2
+ exit 1 ;;
+ esac
+done
+
+for file in omf.make xmldocs.make; do
+ rm -f $docdir/$file
+ if test "$copy" = yes; then
+ cp -f $datadir/$PACKAGE/data/$file $docdir/ ||
+ exit 1
+ else
+ ln -sf $datadir/$PACKAGE/data/$file $docdir/ ||
+ cp -f $datadir/$PACKAGE/data/$file $docdir/ ||
+ exit 1
+ fi
+done
diff --git a/doc-build/omf.make b/doc-build/omf.make
new file mode 100644
index 0000000..2a2b9e7
--- /dev/null
+++ b/doc-build/omf.make
@@ -0,0 +1,61 @@
+#
+# No modifications of this Makefile should be necessary.
+#
+# This file contains the build instructions for installing OMF files. It is
+# generally called from the makefiles for particular formats of documentation.
+#
+# Note that you must configure your package with --localstatedir=/var
+# so that the scrollkeeper-update command below will update the database
+# in the standard scrollkeeper directory.
+#
+# If it is impossible to configure with --localstatedir=/var, then
+# modify the definition of scrollkeeper_localstate_dir so that
+# it points to the correct location. Note that you must still use
+# $(localstatedir) in this or when people build RPMs it will update
+# the real database on their system instead of the one under RPM_BUILD_ROOT.
+#
+# Note: This make file is not incorporated into xmldocs.make because, in
+# general, there will be other documents install besides XML documents
+# and the makefiles for these formats should also include this file.
+#
+# About this file:
+# This file was derived from scrollkeeper_example2, a package
+# illustrating how to install documentation and OMF files for use with
+# ScrollKeeper 0.3.x and 0.4.x. For more information, see:
+# http://scrollkeeper.sourceforge.net/
+# Version: 0.1.3 (last updated: March 20, 2002)
+#
+
+omf_dest_dir=$(datadir)/omf/@PACKAGE@
+scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper
+
+# At some point, it may be wise to change to something like this:
+# scrollkeeper_localstate_dir = @SCROLLKEEPER_STATEDIR@
+
+omf: omf_timestamp
+
+omf_timestamp: $(omffile)
+ -for file in $(omffile); do \
+ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \
+ done; \
+ touch omf_timestamp
+
+install-data-hook-omf:
+ $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir)
+ for file in $(omffile); do \
+ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \
+ done
+ -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir)
+
+uninstall-local-omf:
+ -for file in $(srcdir)/*.omf; do \
+ basefile=`basename $$file`; \
+ rm -f $(omf_dest_dir)/$$basefile; \
+ done
+ -rmdir $(omf_dest_dir)
+ -scrollkeeper-update -p $(scrollkeeper_localstate_dir)
+
+clean-local-omf:
+ -for file in $(omffile); do \
+ rm -f $$file.out; \
+ done
diff --git a/doc-build/xmldocs.make b/doc-build/xmldocs.make
new file mode 100644
index 0000000..0bc3596
--- /dev/null
+++ b/doc-build/xmldocs.make
@@ -0,0 +1,95 @@
+#
+# No modifications of this Makefile should be necessary.
+#
+# To use this template:
+# 1) Define: figdir, docname, lang, omffile, and entities in
+# your Makefile.am file for each document directory,
+# although figdir, omffile, and entities may be empty
+# 2) Make sure the Makefile in (1) also includes
+# "include $(top_srcdir)/xmldocs.make" and
+# "dist-hook: app-dist-hook".
+# 3) Optionally define 'entities' to hold xml entities which
+# you would also like installed
+# 4) Figures must go under $(figdir)/ and be in PNG format
+# 5) You should only have one document per directory
+# 6) Note that the figure directory, $(figdir)/, should not have its
+# own Makefile since this Makefile installs those figures.
+#
+# example Makefile.am:
+# figdir = figures
+# docname = scrollkeeper-manual
+# lang = C
+# omffile=scrollkeeper-manual-C.omf
+# entities = fdl.xml
+# include $(top_srcdir)/xmldocs.make
+# dist-hook: app-dist-hook
+#
+# About this file:
+# This file was taken from scrollkeeper_example2, a package illustrating
+# how to install documentation and OMF files for use with ScrollKeeper
+# 0.3.x and 0.4.x. For more information, see:
+# http://scrollkeeper.sourceforge.net/
+# Version: 0.1.2 (last updated: March 20, 2002)
+#
+
+
+# ********** Begin of section some packagers may need to modify **********
+# This variable (docdir) specifies where the documents should be installed.
+# This default value should work for most packages.
+docdir = $(datadir)/gnome/help/$(docname)/$(lang)
+
+# ********** You should not have to edit below this line **********
+xml_files = $(entities) $(docname).xml
+
+EXTRA_DIST = $(xml_files) $(omffile)
+CLEANFILES = omf_timestamp
+
+include $(top_srcdir)/omf.make
+
+all: omf
+
+$(docname).xml: $(entities)
+ -ourdir=`pwd`; \
+ cd $(srcdir); \
+ cp $(entities) $$ourdir
+
+app-dist-hook:
+ if test "$(figdir)"; then \
+ $(mkinstalldirs) $(distdir)/$(figdir); \
+ for file in $(srcdir)/$(figdir)/*.png; do \
+ basefile=`echo $$file | sed -e 's,^.*/,,'`; \
+ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \
+ done \
+ fi
+
+install-data-local: omf
+ $(mkinstalldirs) $(DESTDIR)$(docdir)
+ for file in $(xml_files); do \
+ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \
+ done
+ if test "$(figdir)"; then \
+ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \
+ for file in $(srcdir)/$(figdir)/*.png; do \
+ basefile=`echo $$file | sed -e 's,^.*/,,'`; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \
+ done \
+ fi
+
+install-data-hook: install-data-hook-omf
+
+uninstall-local: uninstall-local-doc uninstall-local-omf
+
+uninstall-local-doc:
+ -if test "$(figdir)"; then \
+ for file in $(srcdir)/$(figdir)/*.png; do \
+ basefile=`echo $$file | sed -e 's,^.*/,,'`; \
+ rm -f $(docdir)/$(figdir)/$$basefile; \
+ done; \
+ rmdir $(DESTDIR)$(docdir)/$(figdir); \
+ fi
+ -for file in $(xml_files); do \
+ rm -f $(DESTDIR)$(docdir)/$$file; \
+ done
+ -rmdir $(DESTDIR)$(docdir)
+
+clean-local: clean-local-omf
diff --git a/macros2/autogen.sh b/macros2/autogen.sh
index cf95289..560f374 100644
--- a/macros2/autogen.sh
+++ b/macros2/autogen.sh
@@ -14,6 +14,7 @@ REQUIRED_GLIB_GETTEXT_VERSION=${REQUIRED_GLIB_GETTEXT_VERSION:-2.2.0}
REQUIRED_INTLTOOL_VERSION=${REQUIRED_INTLTOOL_VERSION:-0.25}
REQUIRED_PKG_CONFIG_VERSION=${REQUIRED_PKG_CONFIG_VERSION:-0.14.0}
REQUIRED_GTK_DOC_VERSION=${REQUIRED_GTK_DOC_VERSION:-1.0}
+REQUIRED_DOC_COMMON_VERSION=${REQUIRED_DOC_COMMON_VERSION:-2.3.0}
# a list of required m4 macros. Package can set an initial value
REQUIRED_M4MACROS=${REQUIRED_M4MACROS:-}
@@ -29,8 +30,8 @@ if [ -n "$GNOME2_DIR" ]; then
fi
-# Not all echo versions allow -n, so let's be portable. This test is based on
-# the one in autoconf.
+# Not all echo versions allow -n, so we check what is possible. This test is
+# based on the one in autoconf.
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ;;
*c*,* ) ECHO_N=-n ;;
@@ -292,6 +293,11 @@ if $want_gtk_doc; then
require_m4macro gtk-doc.m4
fi
+if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then
+ version_check gnome-common DOC_COMMON gnome-doc-common" \
+ $REQUIRED_DOC_COMMON_VERSION "" || DIE=1
+fi
+
check_m4macros || DIE=1
if [ "$DIE" -eq 1 ]; then
@@ -350,6 +356,10 @@ for configure_ac in $configure_files; do
printbold "Running $AUTOHEADER..."
$AUTOHEADER || exit 1
fi
+ if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then
+ printbold "Running gnome-doc-common..."
+ gnome-doc-common --copy || exit 1
+ fi
printbold "Running $AUTOMAKE..."
$AUTOMAKE --gnu --add-missing || exit 1