diff --git a/clutter/clutter-alpha.c b/clutter/clutter-alpha.c
index df9ed2786..803d1d67c 100644
--- a/clutter/clutter-alpha.c
+++ b/clutter/clutter-alpha.c
@@ -76,17 +76,17 @@
  *     function called my_sine_alpha(). The defined #ClutterAlpha
  *     instance can be reused in multiple #ClutterBehaviour
  *     definitions or for #ClutterAnimation definitions.</para>
- *     <programlisting>
- *  {
- *    "id" : "sine-alpha",
- *    "timeline" : {
- *      "id" : "sine-timeline",
- *      "duration" : 500,
- *      "loop" : true
- *    },
- *    "function" : "my_sine_alpha"
- *  }
- *     </programlisting>
+ *     <programlisting><![CDATA[
+ * {
+ *   "id" : "sine-alpha",
+ *   "timeline" : {
+ *     "id" : "sine-timeline",
+ *     "duration" : 500,
+ *     "loop" : true
+ *   },
+ *   "function" : "my_sine_alpha"
+ * }
+ *    ]]></programlisting>
  *   </example>
  *   <para>For the way to define the #ClutterAlpha:mode property
  *   inside a ClutterScript fragment, see <link
diff --git a/clutter/clutter-animator.c b/clutter/clutter-animator.c
index e81e5dd40..1956631e2 100644
--- a/clutter/clutter-animator.c
+++ b/clutter/clutter-animator.c
@@ -64,7 +64,7 @@
  *   which allows describing the key frames for objects.</para>
  *   <para>The "properties" property has the following syntax:</para>
  *   <informalexample>
- *     <programlisting>
+ *     <programlisting><![CDATA[
  *  {
  *    "properties" : [
  *      {
@@ -77,7 +77,7 @@
  *        ]
  *    ]
  *  }
- *     </programlisting>
+ *     ]]></programlisting>
  *   </informalexample>
  *   <example id="ClutterAnimator-script-example">
  *     <title>ClutterAnimator definition</title>
@@ -88,7 +88,7 @@
  *     from its current position to the 100, 100 position in 20 percent
  *     of the duration of the animation; the second will using a cubic
  *     easing to move the actor to the 200, 200 coordinates.</para>
- *     <programlisting>
+ *     <programlisting><![CDATA[
  *  {
  *    "type" : "ClutterAnimator",
  *    "duration" : 1000,
@@ -113,7 +113,7 @@
  *      }
  *    ]
  *  }
- *     </programlisting>
+ *     ]]></programlisting>
  *   </example>
  * </refsect2>
  *
diff --git a/clutter/clutter-script.c b/clutter/clutter-script.c
index d865d8cee..a286b72fd 100644
--- a/clutter/clutter-script.c
+++ b/clutter/clutter-script.c
@@ -47,7 +47,7 @@
  *
  * A simple object might be defined as:
  *
- * |[
+ * <informalexample><programlisting><![CDATA[
  * {
  *   "id"     : "red-button",
  *   "type"   : "ClutterRectangle",
@@ -55,7 +55,7 @@
  *   "height" : 100,
  *   "color"  : "&num;ff0000ff"
  * }
- * ]|
+ * ]]></programlisting></informalexample>
  *
  * This will produce a red #ClutterRectangle, 100x100 pixels wide, and
  * with a ClutterScript id of "red-button"; it can be retrieved by calling:
@@ -78,7 +78,7 @@
  * Behaviours and timelines can also be defined inside a UI definition
  * buffer:
  *
- * |[
+ * <informalexample><programlisting><![CDATA[
  * {
  *   "id"          : "rotate-behaviour",
  *   "type"        : "ClutterBehaviourRotate",
@@ -90,25 +90,25 @@
  *     "mode"     : "easeInSine"
  *   }
  * }
- * ]|
+ * ]]></programlisting></informalexample>
  *
  * And then to apply a defined behaviour to an actor defined inside the
  * definition of an actor, the "behaviour" member can be used:
  *
- * |[
+ * <informalexample><programlisting><![CDATA[
  * {
  *   "id" : "my-rotating-actor",
  *   "type" : "ClutterTexture",
  *   ...
  *   "behaviours" : [ "rotate-behaviour" ]
  * }
- * ]|
+ * ]]></programlisting></informalexample>
  *
  * A #ClutterAlpha belonging to a #ClutterBehaviour can only be defined
  * implicitly like in the example above, or explicitly by setting the
  * "alpha" property to point to a previously defined #ClutterAlpha, e.g.:
  *
- * |[
+ * <informalexample><programlisting><![CDATA[
  * {
  *   "id"          : "rotate-behaviour",
  *   "type"        : "ClutterBehaviourRotate",
@@ -127,7 +127,7 @@
  *     "function" : "custom_sine_alpha"
  *   }
  * }
- * ]|
+ * ]]></programlisting></informalexample>
  *
  * Implicitely defined #ClutterAlpha<!-- -->s and #ClutterTimeline<!-- -->s
  * can omit the <varname>id</varname> member, as well as the
@@ -139,7 +139,7 @@
  * then autoconnected to their respective signals using the
  * clutter_script_connect_signals() function:
  *
- * |[
+ * <informalexample><programlisting><![CDATA[
  *   ...
  *   "signals" : [
  *     { "name" : "button-press-event", "handler" : "on_button_press" },
@@ -150,7 +150,7 @@
  *     },
  *   ],
  *   ...
- * ]|
+ * ]]></programlisting></informalexample>
  *
  * Signal handler definitions must have a "name" and a "handler" members;
  * they can also have the "after" and "swapped" boolean members (for the
diff --git a/clutter/cogl/cogl/cogl.h b/clutter/cogl/cogl/cogl.h
index 791e1ad5f..64eac5b83 100644
--- a/clutter/cogl/cogl/cogl.h
+++ b/clutter/cogl/cogl/cogl.h
@@ -258,10 +258,10 @@ cogl_frustum (float left,
  * @right: The coordinate for the right clipping plane
  * @bottom: The coordinate for the bottom clipping plane
  * @top: The coordinate for the top clipping plane
- * @near: The <b>distance</b> to the near clipping plane (negative if
- *        the plane is behind the viewer)
- * @far: The <b>distance</b> for the far clipping plane (negative if
- *       the plane is behind the viewer)
+ * @near: The <emphasis>distance</emphasis> to the near clipping
+ *   plane (negative if the plane is behind the viewer)
+ * @far: The <emphasis>distance</emphasis> for the far clipping
+ *   plane (negative if the plane is behind the viewer)
  *
  * Replaces the current projection matrix with an orthographic projection
  * matrix. See <xref linkend="cogl-ortho-matrix"/> to see how the matrix is
@@ -272,7 +272,7 @@ cogl_frustum (float left,
  *   <graphic fileref="cogl_ortho.png" format="PNG"/>
  * </figure>
  *
- * <note>cogl_ortho copies the arguments from OpenGL's glOrtho even
+ * <note>This function copies the arguments from OpenGL's glOrtho() even
  * though they are unnecessarily confusing due to the z near and z far
  * arguments actually being a "distance" from the origin, where
  * negative values are behind the viewer, instead of coordinates for
diff --git a/doc/reference/clutter/Makefile.am b/doc/reference/clutter/Makefile.am
index b138fda60..5b89cc071 100644
--- a/doc/reference/clutter/Makefile.am
+++ b/doc/reference/clutter/Makefile.am
@@ -48,6 +48,7 @@ FIXXREF_OPTIONS=\
 # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
 # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
 HFILE_GLOB=$(top_srcdir)/clutter/*.h \
+	$(top_builddir)/clutter/*.h \
 	$(top_srcdir)/clutter/x11/clutter-x11.h \
 	$(top_srcdir)/clutter/x11/clutter-x11-texture-pixmap.h \
 	$(top_srcdir)/clutter/glx/clutter-glx-texture-pixmap.h \
diff --git a/doc/reference/cogl/Makefile.am b/doc/reference/cogl/Makefile.am
index 3ea046337..8ca7830d9 100644
--- a/doc/reference/cogl/Makefile.am
+++ b/doc/reference/cogl/Makefile.am
@@ -39,16 +39,15 @@ MKTMPL_OPTIONS=
 # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
 FIXXREF_OPTIONS=\
 	--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
-	--extra-dir=$(GDPIXBUF_PREFIX)/share/gtk-doc/html/gdk-pixbuf \
-	--extra-dir=$(top_srcdir)/doc/reference/clutter/html
+	--extra-dir=$(GDPIXBUF_PREFIX)/share/gtk-doc/html/gdk-pixbuf
 
 # 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)/clutter/cogl/cogl/*.h
-CFILE_GLOB=\
-	$(top_srcdir)/clutter/cogl/cogl/*.c
+	$(top_srcdir)/clutter/cogl/cogl/*.h \
+	$(top_builddir)/clutter/cogl/cogl/*.h
+CFILE_GLOB=$(top_srcdir)/clutter/cogl/cogl/*.c
 
 # Header files to ignore when scanning.
 # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
@@ -85,6 +84,7 @@ IGNORE_HFILES=\
 	cogl-util.h 				\
 	cogl-vertex-buffer-private.h 		\
 	driver 					\
+	tesselator				\
 	winsys
 
 EXTRA_HFILES=
@@ -113,7 +113,7 @@ expand_content_files = \
 # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
 
-INCLUDES=-I$(top_srcdir) -I$(top_srcdir)/clutter -I$(top_srcdir)/clutter/cogl $(CLUTTER_CFLAGS)
+INCLUDES=-I$(top_srcdir) -I$(top_srcdir)/clutter -I$(top_srcdir)/clutter/cogl -I$(top_builddir)/clutter/cogl $(CLUTTER_CFLAGS)
 GTKDOC_LIBS=$(top_builddir)/clutter/libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la $(CLUTTER_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.