[gobject] Flesh out hb-gobject

Move it to new harfbuzz-gobject library.  Implement enums and
boxed types for object-types.  Still have to do boxed types for
value types.
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
index c5bdb35..127f986 100644
--- a/docs/reference/Makefile.am
+++ b/docs/reference/Makefile.am
@@ -21,7 +21,7 @@
 # gtk-doc will search all .c and .h files beneath these paths
 # for inline comments documenting functions and macros.
 # e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
-DOC_SOURCE_DIR=$(top_srcdir)/src
+DOC_SOURCE_DIR=$(top_srcdir)/src $(top_builddir)/src
 
 # Extra options to pass to gtkdoc-scangobj. Not normally needed.
 SCANGOBJ_OPTIONS=
@@ -58,6 +58,11 @@
 # Header files or dirs to ignore when scanning. Use base file/dir names
 # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
 IGNORE_HFILES=`cd $(top_srcdir)/src; find . -path './hb-*/*.h' | sed 's@^.*/@@'`
+if HAVE_GOBJECT
+else
+# XXX Prevent "make dist"
+IGNORE_HFILES+=hb-gobject.h
+endif
 
 # Images to copy into HTML directory.
 # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
@@ -83,7 +88,10 @@
 # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
 GTKDOC_CFLAGS=
-GTKDOC_LIBS=
+GTKDOC_LIBS=$(top_builddir)/src/libharfbuzz.la
+if HAVE_GOBJECT
+GTKDOC_LIBS+=$(top_builddir)/src/libharfbuzz-gobject.la
+endif
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/harfbuzz-docs.xml b/docs/reference/harfbuzz-docs.xml
index 7062d6a..2731fab 100644
--- a/docs/reference/harfbuzz-docs.xml
+++ b/docs/reference/harfbuzz-docs.xml
@@ -26,6 +26,7 @@
     <xi:include href="xml/hb-shape.xml"/>
 
     <xi:include href="xml/hb-version.xml"/>
+    <xi:include href="xml/hb-deprecated.xml"/>
 
     <xi:include href="xml/hb-set.xml"/>
 
@@ -44,6 +45,8 @@
     <xi:include href="xml/hb-uniscribe.xml"/>
     <xi:include href="xml/hb-coretext.xml"/>
 
+    <xi:include href="xml/hb-gobject.xml"/>
+
   </chapter>
   <chapter id="object-tree">
     <title>Object Hierarchy</title>
diff --git a/docs/reference/harfbuzz-sections.txt b/docs/reference/harfbuzz-sections.txt
index 6a76638..3072ce4 100644
--- a/docs/reference/harfbuzz-sections.txt
+++ b/docs/reference/harfbuzz-sections.txt
@@ -102,7 +102,6 @@
 hb_script_get_horizontal_direction
 hb_script_t
 hb_script_to_iso15924_tag
-HB_SCRIPT_CANADIAN_ABORIGINAL
 hb_tag_from_string
 hb_tag_t
 hb_tag_to_string
@@ -127,6 +126,13 @@
 </SECTION>
 
 <SECTION>
+<FILE>hb-deprecated</FILE>
+HB_BUFFER_FLAGS_DEFAULT
+HB_BUFFER_SERIALIZE_FLAGS_DEFAULT
+HB_SCRIPT_CANADIAN_ABORIGINAL
+</SECTION>
+
+<SECTION>
 <FILE>hb-coretext</FILE>
 hb_coretext_face_get_cg_font
 hb_coretext_font_get_ct_font
@@ -249,6 +255,46 @@
 
 <SECTION>
 <FILE>hb-gobject</FILE>
+HB_GOBJECT_TYPE_BLOB
+HB_GOBJECT_TYPE_BUFFER
+HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE
+HB_GOBJECT_TYPE_BUFFER_FLAGS
+HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS
+HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT
+HB_GOBJECT_TYPE_DIRECTION
+HB_GOBJECT_TYPE_FACE
+HB_GOBJECT_TYPE_FONT
+HB_GOBJECT_TYPE_FONT_FUNCS
+HB_GOBJECT_TYPE_MEMORY_MODE
+HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS
+HB_GOBJECT_TYPE_SCRIPT
+HB_GOBJECT_TYPE_SHAPE_PLAN
+HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS
+HB_GOBJECT_TYPE_UNICODE_FUNCS
+HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY
+hb_gobject_blob_get_type
+hb_gobject_buffer_content_type_get_type
+hb_gobject_buffer_flags_get_type
+hb_gobject_buffer_get_type
+hb_gobject_buffer_serialize_flags_get_type
+hb_gobject_buffer_serialize_format_get_type
+hb_gobject_direction_get_type
+hb_gobject_face_get_type
+hb_gobject_font_funcs_get_type
+hb_gobject_font_get_type
+hb_gobject_memory_mode_get_type
+hb_gobject_ot_layout_glyph_class_get_type
+hb_gobject_script_get_type
+hb_gobject_shape_plan_get_type
+hb_gobject_unicode_combining_class_get_type
+hb_gobject_unicode_funcs_get_type
+hb_gobject_unicode_general_category_get_type
+<SUBSECTION Private>
+HB_GOBJECT_H_IN
+</SECTION>
+
+<SECTION>
+<FILE>hb-gobject</FILE>
 
 </SECTION>