Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 2624)
+++ tests/Makefile.am	(working copy)
@@ -18,7 +18,8 @@ INCLUDES =					\
 	$(XFT_CFLAGS)				\
 	$(CAIRO_CFLAGS)				\
 	$(FREETYPE_CFLAGS)			\
-	$(X_CFLAGS)
+	$(X_CFLAGS)				\
+	-DPANGO_DISABLE_SINGLE_INCLUDES
 
 if HAVE_XFT
 INCLUDES += -DHAVE_X
Index: pango/pango-modules.h
===================================================================
--- pango/pango-modules.h	(revision 2624)
+++ pango/pango-modules.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_MODULES_H__
 #define __PANGO_MODULES_H__
 
@@ -26,7 +30,7 @@
 
 G_BEGIN_DECLS
 
-#ifdef PANGO_ENABLE_BACKEND
+#if defined(PANGO_ENABLE_BACKEND) && defined(PANGO_ENABLE_ENGINE)
 
 typedef struct _PangoMap PangoMap;
 typedef struct _PangoMapEntry PangoMapEntry;
@@ -53,7 +57,7 @@ void           pango_map_get_engines (Pa
 				      GSList             **fallback_engines);
 void           pango_module_register (PangoIncludedModule *module);
 
-#endif /* PANGO_ENABLE_BACKEND */
+#endif /* PANGO_ENABLE_BACKEND && PANGO_ENABLE_ENGINE */
 
 G_END_DECLS
 
Index: pango/pango-glyph.h
===================================================================
--- pango/pango-glyph.h	(revision 2624)
+++ pango/pango-glyph.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_GLYPH_H__
 #define __PANGO_GLYPH_H__
 
Index: pango/pango-break.h
===================================================================
--- pango/pango-break.h	(revision 2624)
+++ pango/pango-break.h	(working copy)
@@ -19,15 +19,17 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_BREAK_H__
 #define __PANGO_BREAK_H__
 
-#include <glib.h>
+#include <pango/pango-item.h>
 
 G_BEGIN_DECLS
 
-#include <pango/pango-item.h>
-
 /* Logical attributes of a character.
  */
 struct _PangoLogAttr
Index: pango/pango-types.h
===================================================================
--- pango/pango-types.h	(revision 2624)
+++ pango/pango-types.h	(working copy)
@@ -19,10 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_TYPES_H__
 #define __PANGO_TYPES_H__
 
-#include <glib.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
Index: pango/pango-script.h
===================================================================
--- pango/pango-script.h	(revision 2624)
+++ pango/pango-script.h	(working copy)
@@ -19,11 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_SCRIPT_H__
 #define __PANGO_SCRIPT_H__
 
-#include <glib.h>
-
 #include <pango/pango-language.h>
 
 G_BEGIN_DECLS
Index: pango/pango-fontmap.h
===================================================================
--- pango/pango-fontmap.h	(revision 2624)
+++ pango/pango-fontmap.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_FONTMAP_H__
 #define __PANGO_FONTMAP_H__
 
Index: pango/pangofc-fontmap.h
===================================================================
--- pango/pangofc-fontmap.h	(revision 2624)
+++ pango/pangofc-fontmap.h	(working copy)
@@ -19,11 +19,15 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_FC_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pangofc.h> can be included directly."
+#endif
+
 #ifndef __PANGO_FC_FONT_MAP_H__
 #define __PANGO_FC_FONT_MAP_H__
 
 #include <fontconfig/fontconfig.h>
-#include <pango/pango-fontmap.h>
+#include <pango/pango.h>
 #include <pango/pangofc-decoder.h>
 #include <pango/pangofc-font.h>
 
Index: pango/pango-glyph-item.h
===================================================================
--- pango/pango-glyph-item.h	(revision 2624)
+++ pango/pango-glyph-item.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_GLYPH_ITEM_H__
 #define __PANGO_GLYPH_ITEM_H__
 
Index: pango/pango-language.h
===================================================================
--- pango/pango-language.h	(revision 2624)
+++ pango/pango-language.h	(working copy)
@@ -19,10 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_LANGUAGE_H__
 #define __PANGO_LANGUAGE_H__
 
-#include <glib.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
Index: pango/pango-attributes.h
===================================================================
--- pango/pango-attributes.h	(revision 2624)
+++ pango/pango-attributes.h	(working copy)
@@ -19,11 +19,14 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_ATTRIBUTES_H__
 #define __PANGO_ATTRIBUTES_H__
 
 #include <pango/pango-font.h>
-#include <glib-object.h>
 
 G_BEGIN_DECLS
 
Index: pango/pangoxft-render.h
===================================================================
--- pango/pangoxft-render.h	(revision 2624)
+++ pango/pangoxft-render.h	(working copy)
@@ -19,10 +19,14 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGOXFT_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pangoxft.h> can be included directly."
+#endif
+
 #ifndef __PANGOXFT_RENDER_H__
 #define __PANGOXFT_RENDER_H__
 
-#include <pango/pango-renderer.h>
+#include <pango/pango.h>
 
 G_BEGIN_DECLS
 
@@ -138,4 +142,3 @@ void pango_xft_render_layout      (XftDr
 G_END_DECLS
 
 #endif /* __PANGOXFT_RENDER_H__ */
-
Index: pango/pangoft2.h
===================================================================
--- pango/pangoft2.h	(revision 2624)
+++ pango/pangoft2.h	(working copy)
@@ -25,8 +25,8 @@
 
 #include <fontconfig/fontconfig.h>
 
-#include <pango/pango-layout.h>
-#include <pango/pangofc-font.h>
+#include <pango/pango.h>
+#include <pango/pangofc.h>
 
 G_BEGIN_DECLS
 
Index: pango/pangofc-font.h
===================================================================
--- pango/pangofc-font.h	(revision 2624)
+++ pango/pangofc-font.h	(working copy)
@@ -19,15 +19,17 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_FC_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pangofc.h> can be included directly."
+#endif
+
 #ifndef __PANGO_FC_FONT_H__
 #define __PANGO_FC_FONT_H__
 
 #include <ft2build.h>
 #include FT_FREETYPE_H
 #include <fontconfig/fontconfig.h>
-#include <pango/pango-font.h>
-#include <pango/pango-fontmap.h>
-#include <pango/pango-glyph.h>
+#include <pango/pango.h>
 
 G_BEGIN_DECLS
 
@@ -148,4 +150,5 @@ FT_Face    pango_fc_font_lock_face      
 void       pango_fc_font_unlock_face       (PangoFcFont      *font);
 
 G_END_DECLS
+
 #endif /* __PANGO_FC_FONT_H__ */
Index: pango/pango.h
===================================================================
--- pango/pango.h	(revision 2624)
+++ pango/pango.h	(working copy)
@@ -22,6 +22,8 @@
 #ifndef __PANGO_H__
 #define __PANGO_H__
 
+#define __PANGO_H_INSIDE__
+
 #include <pango/pango-attributes.h>
 #include <pango/pango-bidi-type.h>
 #include <pango/pango-break.h>
@@ -37,12 +39,16 @@
 #include <pango/pango-glyph-item.h>
 #include <pango/pango-gravity.h>
 #include <pango/pango-item.h>
+#include <pango/pango-language.h>
 #include <pango/pango-layout.h>
 #include <pango/pango-matrix.h>
+#include <pango/pango-modules.h>
 #include <pango/pango-renderer.h>
 #include <pango/pango-script.h>
 #include <pango/pango-tabs.h>
 #include <pango/pango-types.h>
 #include <pango/pango-utils.h>
 
+#undef __PANGO_H_INSIDE__
+
 #endif /* __PANGO_H__ */
Index: pango/pangofc.h
===================================================================
--- pango/pangofc.h	(revision 0)
+++ pango/pangofc.h	(revision 0)
@@ -0,0 +1,33 @@
+/* Pango
+ * pangofc.h: fontconfig-based backends
+ *
+ * Copyright (C) 2003 Red Hat Software
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __PANGO_FC_H__
+#define __PANGO_FC_H__
+
+#define __PANGO_FC_H_INSIDE__
+
+#include <pango/pangofc-decoder.h>
+#include <pango/pangofc-font.h>
+#include <pango/pangofc-fontmap.h>
+
+#undef __PANGO_FC_H_INSIDE__
+
+#endif /* __PANGO_FC_H__ */
Index: pango/pangofc-decoder.h
===================================================================
--- pango/pangofc-decoder.h	(revision 2624)
+++ pango/pangofc-decoder.h	(working copy)
@@ -19,8 +19,12 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __PANGO_DECODER_H_
-#define __PANGO_DECODER_H_
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_FC_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pangofc.h> can be included directly."
+#endif
+
+#ifndef __PANGO_FC_DECODER_H__
+#define __PANGO_FC_DECODER_H__
 
 #include <pango/pangofc-font.h>
 
@@ -107,4 +111,3 @@ PangoGlyph pango_fc_decoder_get_glyph   
 G_END_DECLS
 
 #endif /* __PANGO_DECODER_H_ */
-
Index: pango/Makefile.am
===================================================================
--- pango/Makefile.am	(revision 2624)
+++ pango/Makefile.am	(working copy)
@@ -16,6 +16,7 @@ DIST_SUBDIRS = mini-fribidi opentype
 
 INCLUDES =						\
 	-DG_LOG_DOMAIN=\"Pango\"			\
+	-DPANGO_COMPILATION				\
 	-DPANGO_ENABLE_BACKEND				\
 	-DPANGO_ENABLE_ENGINE				\
 	-DSYSCONFDIR=\"$(sysconfdir)\"			\
@@ -129,7 +130,7 @@ pango-enum-types.h: s-enum-types-h
 	@true
 s-enum-types-h: @REBUILD@ $(pango_headers) Makefile
 	( cd $(srcdir) && glib-mkenums \
-			--fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+			--fhead "#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)\n#error \"Only <pango/pango.h> can be included directly.\"\n#endif\n\n#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
 			--fprod "/* enumerations from \"@filename@\" */\n" \
 			--vhead "GType @enum_name@_get_type (void);\n#define PANGO_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" 	\
 			--ftail "G_END_DECLS\n\n#endif /* __PANGO_ENUM_TYPES_H__ */" \
@@ -186,7 +187,7 @@ libpangox_1_0_la_SOURCES = \
 # ------------------- libpangoft2 -------------------
 
 if HAVE_FREETYPE
-pangoinclude_HEADERS += pangofc-font.h pangofc-fontmap.h
+pangoinclude_HEADERS += pangofc.h pangofc-font.h pangofc-fontmap.h
 pangoinclude_HEADERS += pangoft2.h pango-ot.h pangofc-decoder.h
 lib_LTLIBRARIES += libpangoft2-1.0.la
 endif
Index: pango/pango-ot.h
===================================================================
--- pango/pango-ot.h	(revision 2624)
+++ pango/pango-ot.h	(working copy)
@@ -22,11 +22,8 @@
 #ifndef __PANGO_OT_H__
 #define __PANGO_OT_H__
 
-#include <pango/pangofc-font.h>
-#include <pango/pango-glyph.h>
-#include <pango/pango-font.h>
-#include <pango/pango-script.h>
-#include <pango/pango-language.h>
+#include <pango/pango.h>
+#include <pango/pangofc.h>
 
 G_BEGIN_DECLS
 
Index: pango/pangox.h
===================================================================
--- pango/pangox.h	(revision 2624)
+++ pango/pangox.h	(working copy)
@@ -23,8 +23,7 @@
 #ifndef __PANGOX_H__
 #define __PANGOX_H__
 
-#include <glib.h>
-#include <pango/pango-layout.h>
+#include <pango/pango.h>
 
 G_BEGIN_DECLS
 
Index: pango/pango-matrix.h
===================================================================
--- pango/pango-matrix.h	(revision 2624)
+++ pango/pango-matrix.h	(working copy)
@@ -19,10 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_MATRIX_H__
 #define __PANGO_MATRIX_H__
 
-#include <glib.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
Index: pango/pangoatsui.h
===================================================================
--- pango/pangoatsui.h	(revision 2624)
+++ pango/pangoatsui.h	(working copy)
@@ -22,8 +22,7 @@
 #ifndef __PANGOATSUI_H__
 #define __PANGOATSUI_H__
 
-#include <pango/pango-context.h>
-#include <pango/pango-font.h>
+#include <pango/pango.h>
 #include <ApplicationServices/ApplicationServices.h>
 
 G_BEGIN_DECLS
Index: pango/pango-tabs.h
===================================================================
--- pango/pango-tabs.h	(revision 2624)
+++ pango/pango-tabs.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_TABS_H__
 #define __PANGO_TABS_H__
 
Index: pango/pango-engine.h
===================================================================
--- pango/pango-engine.h	(revision 2624)
+++ pango/pango-engine.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_ENGINE_H__
 #define __PANGO_ENGINE_H__
 
Index: pango/pango-font.h
===================================================================
--- pango/pango-font.h	(revision 2624)
+++ pango/pango-font.h	(working copy)
@@ -19,14 +19,16 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_FONT_H__
 #define __PANGO_FONT_H__
 
 #include <pango/pango-coverage.h>
 #include <pango/pango-types.h>
 
-#include <glib-object.h>
-
 G_BEGIN_DECLS
 
 typedef struct _PangoFontDescription PangoFontDescription;
Index: pango/pango-fontset.h
===================================================================
--- pango/pango-fontset.h	(revision 2624)
+++ pango/pango-fontset.h	(working copy)
@@ -19,14 +19,16 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_FONTSET_H__
 #define __PANGO_FONTSET_H__
 
 #include <pango/pango-coverage.h>
 #include <pango/pango-types.h>
 
-#include <glib-object.h>
-
 G_BEGIN_DECLS
 
 /*
Index: pango/pango-gravity.h
===================================================================
--- pango/pango-gravity.h	(revision 2624)
+++ pango/pango-gravity.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_GRAVITY_H__
 #define __PANGO_GRAVITY_H__
 
Index: pango/pangowin32.h
===================================================================
--- pango/pangowin32.h	(revision 2624)
+++ pango/pangowin32.h	(working copy)
@@ -24,9 +24,7 @@
 #ifndef __PANGOWIN32_H__
 #define __PANGOWIN32_H__
 
-#include <glib.h>
-#include <pango/pango-font.h>
-#include <pango/pango-layout.h>
+#include <pango/pango.h>
 
 G_BEGIN_DECLS
 
Index: pango/pango-bidi-type.h
===================================================================
--- pango/pango-bidi-type.h	(revision 2624)
+++ pango/pango-bidi-type.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_BIDI_TYPE_H__
 #define __PANGO_BIDI_TYPE_H__
 
Index: pango/pango-coverage.h
===================================================================
--- pango/pango-coverage.h	(revision 2624)
+++ pango/pango-coverage.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_COVERAGE_H__
 #define __PANGO_COVERAGE_H__
 
Index: pango/pango-renderer.h
===================================================================
--- pango/pango-renderer.h	(revision 2624)
+++ pango/pango-renderer.h	(working copy)
@@ -18,8 +18,13 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#ifndef __PANGO_RENDERER_H_
-#define __PANGO_RENDERER_H_
+
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
+#ifndef __PANGO_RENDERER_H__
+#define __PANGO_RENDERER_H__
 
 #include <pango/pango-layout.h>
 
@@ -243,4 +248,3 @@ PangoLayoutLine *pango_renderer_get_layo
 G_END_DECLS
 
 #endif /* __PANGO_RENDERER_H_ */
-
Index: pango/pango-layout.h
===================================================================
--- pango/pango-layout.h	(revision 2624)
+++ pango/pango-layout.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_LAYOUT_H__
 #define __PANGO_LAYOUT_H__
 
Index: pango/pangoxft.h
===================================================================
--- pango/pangoxft.h	(revision 2624)
+++ pango/pangoxft.h	(working copy)
@@ -23,12 +23,16 @@
 #ifndef __PANGOXFT_H__
 #define __PANGOXFT_H__
 
-#include <pango/pango-context.h>
+#include <pango/pango.h>
 #include <pango/pango-ot.h>
-#include <pango/pangofc-font.h>
-#include <pango/pango-layout.h>
+#include <pango/pangofc.h>
+
+#define __PANGOXFT_H_INSIDE__
+
 #include <pango/pangoxft-render.h>
 
+#undef __PANGOXFT_H_INSIDE__
+
 G_BEGIN_DECLS
 
 #ifndef PANGO_DISABLE_DEPRECATED
Index: pango/pango-context.h
===================================================================
--- pango/pango-context.h	(revision 2624)
+++ pango/pango-context.h	(working copy)
@@ -19,10 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_CONTEXT_H__
 #define __PANGO_CONTEXT_H__
 
-#include <pango/pango-font.h>
 #include <pango/pango-fontmap.h>
 #include <pango/pango-attributes.h>
 
Index: pango/pango-item.h
===================================================================
--- pango/pango-item.h	(revision 2624)
+++ pango/pango-item.h	(working copy)
@@ -19,6 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_ITEM_H__
 #define __PANGO_ITEM_H__
 
Index: pango/pango-utils.h
===================================================================
--- pango/pango-utils.h	(revision 2624)
+++ pango/pango-utils.h	(working copy)
@@ -19,11 +19,14 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H_INSIDE__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
 #ifndef __PANGO_UTILS_H__
 #define __PANGO_UTILS_H__
 
 #include <stdio.h>
-#include <glib.h>
 #include <pango/pango-font.h>
 
 G_BEGIN_DECLS
Index: configure.in
===================================================================
--- configure.in	(revision 2624)
+++ configure.in	(working copy)
@@ -155,6 +155,8 @@ if test "x$GCC" = "xyes"; then
 fi
 changequote([,])dnl
 
+CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES"
+
 dnl declare --enable-* args and collect ac_help strings
 
 m4_define([debug_default],
@@ -892,8 +894,13 @@ AC_CONFIG_COMMANDS([pango/pango-features
            AC_MSG_NOTICE([creating $featuresfile])
            cat >$outfile <<_EOF
 /* Generated by configure. Do not edit */
-#ifndef PANGO_FEATURES_H
-#define PANGO_FEATURES_H
+
+#if defined(PANGO_DISABLE_SINGLE_INCLUDES) && !defined (__PANGO_H__) && !defined (PANGO_COMPILATION)
+#error "Only <pango/pango.h> can be included directly."
+#endif
+
+#ifndef __PANGO_FEATURES_H__
+#define __PANGO_FEATURES_H__
 
 #define PANGO_VERSION_MAJOR $PANGO_VERSION_MAJOR
 #define PANGO_VERSION_MINOR $PANGO_VERSION_MINOR
@@ -905,7 +912,7 @@ _EOF
 	# TODO: define macros for enabled features/backends here
 
         echo '' >>$outfile
-        echo '#endif' >>$outfile
+        echo '#endif /* __PANGO_FEATURES_H__ */' >>$outfile
 
         if cmp -s $outfile $featuresfile; then
           AC_MSG_NOTICE([$featuresfile is unchanged])
Index: examples/Makefile.am
===================================================================
--- examples/Makefile.am	(revision 2624)
+++ examples/Makefile.am	(working copy)
@@ -10,7 +10,8 @@ INCLUDES =				\
 	$(XFT_CFLAGS)			\
 	$(CAIRO_CFLAGS)			\
 	$(FREETYPE_CFLAGS)		\
-	$(X_CFLAGS)
+	$(X_CFLAGS)			\
+	-DPANGO_DISABLE_SINGLE_INCLUDES
 
 noinst_PROGRAMS =
 
