/soc/2013/ankitkv/gobjectification: 3560f0bc6eaf: Intrgeated gtk...

Ankit Vani a at nevitus.org
Fri Oct 11 15:50:07 EDT 2013


Changeset: 3560f0bc6eaf87b251061c9a5b17dcab7d6fe241
Author:	 Ankit Vani <a at nevitus.org>
Date:	 2013-10-11 22:00 +0530
Branch:	 soc.2013.gobjectification.plugins
URL: https://hg.pidgin.im/soc/2013/ankitkv/gobjectification/rev/3560f0bc6eaf

Description:

Intrgeated gtk-doc with the project

diffstat:

 .hgignore                              |    3 +
 ChangeLog                              |    3 +
 Makefile.am                            |    5 +-
 autogen.sh                             |    5 +-
 configure.ac                           |   19 +++++-
 doc/Makefile.am                        |    4 +
 doc/reference/Makefile.am              |    1 +
 doc/reference/finch/Makefile.am        |  105 +++++++++++++++++++++++++++++++++
 doc/reference/finch/version.xml.in     |    1 +
 doc/reference/libpurple/Makefile.am    |  103 ++++++++++++++++++++++++++++++++
 doc/reference/libpurple/version.xml.in |    1 +
 doc/reference/pidgin/Makefile.am       |  104 ++++++++++++++++++++++++++++++++
 doc/reference/pidgin/version.xml.in    |    1 +
 finch/libgnt/configure.ac              |    2 +-
 14 files changed, 351 insertions(+), 6 deletions(-)

diffs (truncated from 515 to 300 lines):

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -52,9 +52,11 @@ depcomp
 doc/finch.1$
 doc/html
 doc/pidgin.1$
+doc/reference/.*/version.xml
 finch/finch$
 finch/libgnt/gntmarshal.c
 finch/libgnt/gntmarshal.h
+gtk-doc.make
 install-sh
 intltool-.*
 libpurple/dbus-bindings.c
@@ -85,6 +87,7 @@ libpurple/win32/libpurplerc.rc$
 libtool
 local.mak
 ltmain.sh
+m4macros/gtk-doc.m4
 m4macros/intltool.m4
 m4macros/ltoptions.m4
 m4macros/ltsugar.m4
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -76,6 +76,9 @@ version 3.0.0 (??/??/????):
 	* Ciphers are now built from the libpurple directory.
 	* Added dependency GPlugin, which is now required to build libpurple with
 	  plugins support.
+	* Added dependency gobject-introspection, which is now required to enable
+	  non-native plugin support.
+	* Doxygen has been replaced by gtk-doc for generating documentation.
 
 	Windows-Specific Changes:
 	* Updates to dependencies:
diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -120,11 +120,12 @@ package_revision.h: package_revision_raw
 # line does is tell 'distcheck' to shut up and ignore those two files.
 distcleancheck_listfiles = find . -type f -a ! -name package_revision.h
 
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
 if PLUGINS
-DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
+DISTCHECK_CONFIGURE_FLAGS += --enable-introspection
 endif
 
-SUBDIRS = . libpurple doc $(GNT_DIR) $(GTK_DIR) m4macros $(PO_DIR) share/ca-certs share/sounds
+SUBDIRS = . m4macros libpurple $(GNT_DIR) $(GTK_DIR) $(PO_DIR) share/ca-certs share/sounds doc
 
 # perl's MakeMaker uninstall foo doesn't work well with DESTDIR set, which
 # breaks "make distcheck" unless we ignore perl things
diff --git a/autogen.sh b/autogen.sh
--- a/autogen.sh
+++ b/autogen.sh
@@ -34,6 +34,7 @@
 #   AUTOMAKE_FLAGS - command line arguments to pass to automake flags
 #   CONFIGURE_FLAGS - command line arguments to pass to configure
 #   GLIB_GETTEXTIZE_FLAGS - command line arguments to pass to glib-gettextize
+#   GTKDOCIZE_FLAGS - command line arguments to pass to gtkdocize
 #   INTLTOOLIZE_FLAGS - command line arguments to pass to intltoolize
 #   LIBTOOLIZE_FLAGS - command line arguments to pass to libtoolize
 #
@@ -136,8 +137,9 @@ fi
 ###############################################################################
 check "$libtoolize";		LIBTOOLIZE=${BIN};
 check "glib-gettextize";	GLIB_GETTEXTIZE=${BIN};
+check "gtkdocize";		GTKDOCIZE=${BIN};
 check "intltoolize";		INTLTOOLIZE=${BIN};
-check "sed";				SED=${BIN};
+check "sed";			SED=${BIN};
 check "aclocal";		ACLOCAL=${BIN};
 check "autoheader";		AUTOHEADER=${BIN};
 check "automake";		AUTOMAKE=${BIN};
@@ -155,6 +157,7 @@ run_or_die ${SED} -i -e "s:'\^\$\$lang\$
 # glib-gettextize doesn't seems to use AM_V_GEN macro
 ${SED} -i -e "s:\\tfile=\`echo:\\t at echo -e \"  GEN\\\\t\$\@\"; file=\`echo:g" po/Makefile.in.in
 run_or_die ${ACLOCAL} ${ACLOCAL_FLAGS:-"-I m4macros"}
+run_or_die ${GTKDOCIZE} ${GTKDOCIZE_FLAGS}
 run_or_die ${AUTOHEADER} ${AUTOHEADER_FLAGS}
 run_or_die ${AUTOMAKE} ${AUTOMAKE_FLAGS:-"-a -c --gnu"}
 run_or_die ${AUTOCONF} ${AUTOCONF_FLAGS}
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -81,7 +81,7 @@ AM_SILENT_RULES([yes])
 PURPLE_MAJOR_VERSION=purple_major_version
 PURPLE_MINOR_VERSION=purple_minor_version
 PURPLE_MICRO_VERSION=purple_micro_version
-PURPLE_VERSION=[purple_display_version]
+PURPLE_VERSION=purple_display_version
 AC_SUBST(PURPLE_MAJOR_VERSION)
 AC_SUBST(PURPLE_MINOR_VERSION)
 AC_SUBST(PURPLE_MICRO_VERSION)
@@ -93,7 +93,7 @@ AC_SUBST(PURPLE_LT_VERSION_INFO)
 GNT_MAJOR_VERSION=gnt_major_version
 GNT_MINOR_VERSION=gnt_minor_version
 GNT_MICRO_VERSION=gnt_micro_version
-GNT_VERSION=[gnt_display_version]
+GNT_VERSION=gnt_display_version
 AC_SUBST(GNT_MAJOR_VERSION)
 AC_SUBST(GNT_MINOR_VERSION)
 AC_SUBST(GNT_MICRO_VERSION)
@@ -2520,6 +2520,13 @@ AC_ARG_ENABLE(trayicon-compat, AS_HELP_S
 
 AM_CONDITIONAL(ENABLE_TRAYCOMPAT, test "x$enable_traycompat" = "xyes")
 
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+
 AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug],
 	[compile with debugging support])], , enable_debug=no)
 
@@ -2533,6 +2540,13 @@ AC_CONFIG_FILES([Makefile
 		   doc/Makefile
 		   doc/pidgin.1
 		   doc/finch.1
+		   doc/reference/Makefile
+		   doc/reference/finch/Makefile
+		   doc/reference/finch/version.xml
+		   doc/reference/libpurple/Makefile
+		   doc/reference/libpurple/version.xml
+		   doc/reference/pidgin/Makefile
+		   doc/reference/pidgin/version.xml
 		   m4macros/Makefile
 		   pidgin.apspec
 		   pidgin/Makefile
@@ -2641,6 +2655,7 @@ echo Build with plugin support..... : $e
 echo Enable Introspection...........: $enable_introspection
 echo
 echo Print debugging messages...... : $enable_debug
+echo Generate documentation........ : $enable_gtk_doc
 echo
 eval eval echo Pidgin will be installed in $bindir.
 if test "x$pidginpath" != "x" ; then
diff --git a/doc/Makefile.am b/doc/Makefile.am
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,3 +1,7 @@
+if ENABLE_GTK_DOC
+SUBDIRS = reference
+endif
+
 man_MANS =
 
 if ENABLE_GTK
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
new file mode 100644
--- /dev/null
+++ b/doc/reference/Makefile.am
@@ -0,0 +1,1 @@
+SUBDIRS = libpurple finch pidgin
diff --git a/doc/reference/finch/Makefile.am b/doc/reference/finch/Makefile.am
new file mode 100644
--- /dev/null
+++ b/doc/reference/finch/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=finch
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=$(top_srcdir)/$(DOC_MODULE)
+
+# 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=--deprecated-guards="PURPLE_DISABLE_DEPRECATED|GNT_DISABLE_DEPRECATED|FINCH_DISABLE_DEPRECATED"
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-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)/$(DOC_MODULE)/*.h
+CFILE_GLOB=$(top_srcdir)/$(DOC_MODULE)/*.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 to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=
+
+# 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=version.xml
+
+# 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 = \
+	-I$(top_srcdir) \
+	-I$(top_srcdir)/libpurple \
+	-I$(top_srcdir)/finch \
+	-I$(top_srcdir)/finch/libgnt
+
+GTKDOC_LIBS = \
+	$(top_builddir)/finch/libfinch.la
+
+# 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 += version.xml.in
+
+# 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 your docs-status tested during 'make check'
+if ENABLE_GTK_DOC
+#TESTS_ENVIRONMENT = cd $(srcsrc) &&
+#TESTS = $(GTKDOC_CHECK)
+endif
diff --git a/doc/reference/finch/version.xml.in b/doc/reference/finch/version.xml.in
new file mode 100644
--- /dev/null
+++ b/doc/reference/finch/version.xml.in
@@ -0,0 +1,1 @@
+ at PURPLE_VERSION@
diff --git a/doc/reference/libpurple/Makefile.am b/doc/reference/libpurple/Makefile.am
new file mode 100644
--- /dev/null
+++ b/doc/reference/libpurple/Makefile.am
@@ -0,0 +1,103 @@
+## 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=libpurple
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments



More information about the Commits mailing list