make it possible to disable single-file includes by defining
authorMichael Natterer <mitch@imendio.com>
Fri, 14 Mar 2008 19:30:38 +0000 (19:30 +0000)
committerMichael Natterer <mitch@src.gnome.org>
Fri, 14 Mar 2008 19:30:38 +0000 (19:30 +0000)
2008-03-14  Michael Natterer  <mitch@imendio.com>

* glib/*.h: make it possible to disable single-file includes by
defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
Approved by Tim Janik.

* glib/glib.h: include <glib/gslice.h>.

* glib/gi18n.h
* glib/gi18n-lib.h
* glib/gprintf.h: include <glib.h> so the above works when these
files are included without including <glib.h> first.

svn path=/trunk/; revision=6713

60 files changed:
ChangeLog
glib/galloca.h
glib/garray.h
glib/gasyncqueue.h
glib/gatomic.h
glib/gbacktrace.h
glib/gbase64.h
glib/gbookmarkfile.h
glib/gcache.h
glib/gchecksum.h
glib/gcompletion.h
glib/gconvert.h
glib/gdataset.h
glib/gdate.h
glib/gdir.h
glib/gerror.h
glib/gfileutils.h
glib/ghash.h
glib/ghook.h
glib/gi18n-lib.h
glib/gi18n.h
glib/giochannel.h
glib/gkeyfile.h
glib/glib.h
glib/glist.h
glib/gmacros.h
glib/gmain.h
glib/gmappedfile.h
glib/gmarkup.h
glib/gmem.h
glib/gmessages.h
glib/gnode.h
glib/goption.h
glib/gpattern.h
glib/gprimes.h
glib/gprintf.h
glib/gqsort.h
glib/gquark.h
glib/gqueue.h
glib/grand.h
glib/gregex.h
glib/grel.h
glib/gscanner.h
glib/gsequence.h
glib/gshell.h
glib/gslice.h
glib/gslist.h
glib/gspawn.h
glib/gstrfuncs.h
glib/gstring.h
glib/gtestutils.h
glib/gthread.h
glib/gthreadpool.h
glib/gtimer.h
glib/gtree.h
glib/gtypes.h
glib/gunicode.h
glib/gurifuncs.h
glib/gutils.h
glib/gwin32.h

index 76d5a69..b8fa933 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2008-03-14  Michael Natterer  <mitch@imendio.com>
+
+       * glib/*.h: make it possible to disable single-file includes by
+       defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
+       Approved by Tim Janik.
+
+       * glib/glib.h: include <glib/gslice.h>.
+
+       * glib/gi18n.h
+       * glib/gi18n-lib.h
+       * glib/gprintf.h: include <glib.h> so the above works when these
+       files are included without including <glib.h> first.
+
 2008-03-14  Alexander Larsson  <alexl@redhat.com>
 
         * configure.in:
index baf8009..34c75e6 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_ALLOCA_H__
 #define __G_ALLOCA_H__
 
@@ -56,5 +60,4 @@ G_END_DECLS
 #define g_alloca(size)          alloca (size)
 #define g_newa(struct_type, n_structs) ((struct_type*) g_alloca (sizeof (struct_type) * (gsize) (n_structs)))
 
-
 #endif /* __G_ALLOCA_H__ */
index 7858e39..d9b8b06 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_ARRAY_H__
 #define __G_ARRAY_H__
 
@@ -160,8 +164,6 @@ void        g_byte_array_sort_with_data    (GByteArray       *array,
                                            GCompareDataFunc  compare_func,
                                            gpointer          user_data);
 
-
 G_END_DECLS
 
 #endif /* __G_ARRAY_H__ */
-
index 7c860e8..ef1b114 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_ASYNCQUEUE_H__
 #define __G_ASYNCQUEUE_H__
 
@@ -114,4 +118,3 @@ GMutex*      _g_async_queue_get_mutex           (GAsyncQueue      *queue);
 G_END_DECLS
 
 #endif /* __G_ASYNCQUEUE_H__ */
-
index fefe2af..58e55d2 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 /*
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
  * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_ATOMIC_H__
 #define __G_ATOMIC_H__
+
 #include <glib/gtypes.h>
 
 G_BEGIN_DECLS
+
 gint     g_atomic_int_exchange_and_add         (volatile gint    *atomic,
                                                gint               val);
 void     g_atomic_int_add                      (volatile gint    *atomic,
@@ -64,5 +68,5 @@ void     g_atomic_pointer_set                  (volatile gpointer *atomic,
   (g_atomic_int_exchange_and_add ((atomic), -1) == 1)
 
 G_END_DECLS
+
 #endif /* __G_ATOMIC_H__ */
index 836264e..8e7015d 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_BACKTRACE_H__
 #define __G_BACKTRACE_H__
 
index 6637984..8bf093c 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_BASE64_H__
 #define __G_BASE64_H__
 
index 2448e4a..8dd4ec1 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_BOOKMARK_FILE_H__
 #define __G_BOOKMARK_FILE_H__
 
index 93341b8..3ee3aa3 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_CACHE_H__
 #define __G_CACHE_H__
 
@@ -63,6 +67,3 @@ void     g_cache_value_foreach (GCache            *cache,
 G_END_DECLS
 
 #endif /* __G_CACHE_H__ */
-
-
-
index 8f7d808..39e6679 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_CHECKSUM_H__
 #define __G_CHECKSUM_H__
 
index 8adb231..95d7938 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_COMPLETION_H__
 #define __G_COMPLETION_H__
 
@@ -71,4 +75,3 @@ void         g_completion_free          (GCompletion*    cmp);
 G_END_DECLS
 
 #endif /* __G_COMPLETION_H__ */
-
index 9e6ca65..15edb35 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_CONVERT_H__
 #define __G_CONVERT_H__
 
index 0376cac..3f4ee0a 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_DATASET_H__
 #define __G_DATASET_H__
 
@@ -116,7 +120,3 @@ void      g_dataset_foreach             (gconstpointer    dataset_location,
 G_END_DECLS
 
 #endif /* __G_DATASET_H__ */
-
-
-
-
index 8ec02af..dcbf7fe 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_DATE_H__
 #define __G_DATE_H__
 
@@ -257,4 +261,3 @@ gsize        g_date_strftime              (gchar       *s,
 G_END_DECLS
 
 #endif /* __G_DATE_H__ */
-
index 011174e..b668115 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_DIR_H__
 #define __G_DIR_H__
 
index 7fa8ef0..dc36fb3 100644 (file)
  *   Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_ERROR_H__
 #define __G_ERROR_H__
 
@@ -81,4 +85,3 @@ void     g_propagate_prefixed_error   (GError       **dest,
 G_END_DECLS
 
 #endif /* __G_ERROR_H__ */
-
index 58f2d23..e6088e2 100644 (file)
  *   Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_FILEUTILS_H__
 #define __G_FILEUTILS_H__
 
index 17ca7de..a4b7dd8 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_HASH_H__
 #define __G_HASH_H__
 
@@ -139,4 +143,3 @@ gboolean g_direct_equal (gconstpointer  v1,
 G_END_DECLS
 
 #endif /* __G_HASH_H__ */
-
index cb4f8e1..dbcb29a 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_HOOK_H__
 #define __G_HOOK_H__
 
@@ -175,4 +179,3 @@ void         g_hook_list_marshal_check      (GHookList              *hook_list,
 G_END_DECLS
 
 #endif /* __G_HOOK_H__ */
-
index 9ba1f51..0d67017 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #ifndef __G_I18N_LIB_H__
 #define __G_I18N_LIB_H__
 
-#include <glib/gstrfuncs.h>
+#include <glib.h>
 
 #include <libintl.h>
 
@@ -32,5 +33,4 @@
 #define N_(String) (String)
 #define C_(Context,String) g_dpgettext (GETTEXT_PACKAGE, Context "\004" String, strlen (Context) + 1)
 
-
 #endif  /* __G_I18N_LIB_H__ */
index a5c829b..011b52f 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #ifndef __G_I18N_H__
 #define __G_I18N_H__
 
-#include <glib/gstrfuncs.h>
+#include <glib.h>
+
 #include <libintl.h>
 
 #define  _(String) gettext (String)
@@ -27,7 +29,4 @@
 #define N_(String) (String)
 #define C_(Context,String) g_dpgettext (NULL, Context "\004" String, strlen (Context) + 1)
 
-
 #endif  /* __G_I18N_H__ */
-
-
index 846c9ba..9a5a5b1 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_IOCHANNEL_H__
 #define __G_IOCHANNEL_H__
 
index e7eadc6..c874013 100644 (file)
  *   Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_KEY_FILE_H__
 #define __G_KEY_FILE_H__
 
index 529c831..b2941da 100644 (file)
@@ -21,7 +21,7 @@
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 #ifndef __G_LIB_H__
@@ -67,6 +67,7 @@
 #include <glib/gscanner.h>
 #include <glib/gsequence.h>
 #include <glib/gshell.h>
+#include <glib/gslice.h>
 #include <glib/gslist.h>
 #include <glib/gspawn.h>
 #include <glib/gstrfuncs.h>
index 258dcd1..4a5dd65 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_LIST_H__
 #define __G_LIST_H__
 
@@ -110,7 +114,7 @@ gpointer g_list_nth_data                (GList            *list,
 void     g_list_push_allocator          (gpointer          allocator);
 void     g_list_pop_allocator           (void);
 #endif
+
 G_END_DECLS
 
 #endif /* __G_LIST_H__ */
-
index eb6b02c..997e7b9 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 /* This file must not include any other glib header file and must thus
- * not refer to variables from glibconfig.h 
+ * not refer to variables from glibconfig.h
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MACROS_H__
 #define __G_MACROS_H__
 
index 67250da..6d400b2 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MAIN_H__
 #define __G_MAIN_H__
 
index 123bc6a..ffc1a94 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MAPPED_FILE_H__
 #define __G_MAPPED_FILE_H__
 
index 340a218..70b82c0 100644 (file)
  *   Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MARKUP_H__
 #define __G_MARKUP_H__
 
@@ -152,4 +156,3 @@ gboolean   g_markup_collect_attributes (const gchar         *element_name,
 G_END_DECLS
 
 #endif /* __G_MARKUP_H__ */
-
index 69a0bef..5c83d9f 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MEM_H__
 #define __G_MEM_H__
 
index eb2ca8f..05fc37d 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_MESSAGES_H__
 #define __G_MESSAGES_H__
 
@@ -335,4 +339,3 @@ GPrintFunc      g_set_printerr_handler  (GPrintFunc      func);
 G_END_DECLS
 
 #endif /* __G_MESSAGES_H__ */
-
index e5b7ebc..9a15e0e 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_NODE_H__
 #define __G_NODE_H__
 
@@ -278,6 +282,7 @@ GNode*       g_node_last_sibling     (GNode           *node);
 void     g_node_push_allocator  (gpointer          dummy);
 void     g_node_pop_allocator   (void);
 #endif
+
 G_END_DECLS
 
 #endif /* __G_NODE_H__ */
index 908e531..d678e97 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_OPTION_H__
 #define __G_OPTION_H__
 
@@ -154,7 +158,6 @@ void          g_option_group_set_translate_func     (GOptionGroup       *group,
 void          g_option_group_set_translation_domain (GOptionGroup       *group,
                                                     const gchar        *domain);
 
-
 G_END_DECLS
 
 #endif /* __G_OPTION_H__ */
index 5c89668..cbbea9c 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_PATTERN_H__
 #define __G_PATTERN_H__
 
index 0f1740c..46e9f93 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_PRIMES_H__
 #define __G_PRIMES_H__
 
index aa542b3..d96870f 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #ifndef __G_PRINTF_H__
 #define __G_PRINTF_H__
 
-#include <glib/gtypes.h>
+#include <glib.h>
 #include <stdio.h>
 #include <stdarg.h>
 
 G_BEGIN_DECLS
 
 gint                  g_printf    (gchar const *format,
-                                   ...) G_GNUC_PRINTF (1, 2);            
+                                   ...) G_GNUC_PRINTF (1, 2);
 gint                  g_fprintf   (FILE        *file,
                                   gchar const *format,
                                   ...) G_GNUC_PRINTF (2, 3);
@@ -35,7 +36,7 @@ gint                  g_sprintf   (gchar       *string,
                                   ...) G_GNUC_PRINTF (2, 3);
 
 gint                  g_vprintf   (gchar const *format,
-                                   va_list      args);            
+                                   va_list      args);
 gint                  g_vfprintf  (FILE        *file,
                                   gchar const *format,
                                   va_list      args);
@@ -49,6 +50,3 @@ gint                  g_vasprintf (gchar      **string,
 G_END_DECLS
 
 #endif /* __G_PRINTF_H__ */
-
-
-
index d0ff46a..75987d7 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
 
 #ifndef __G_QSORT_H__
 #define __G_QSORT_H__
@@ -41,4 +44,3 @@ void g_qsort_with_data (gconstpointer    pbase,
 G_END_DECLS
 
 #endif /* __G_QSORT_H__ */
-
index fc3006f..d061eba 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_QUARK_H__
 #define __G_QUARK_H__
 
@@ -43,8 +47,6 @@ G_CONST_RETURN gchar* g_quark_to_string          (GQuark       quark) G_GNUC_CON
 G_CONST_RETURN gchar* g_intern_string            (const gchar *string);
 G_CONST_RETURN gchar* g_intern_static_string     (const gchar *string);
 
-
 G_END_DECLS
 
 #endif /* __G_QUARK_H__ */
-
index c400451..afadfec 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_QUEUE_H__
 #define __G_QUEUE_H__
 
index cb6887b..fd2847e 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_RAND_H__
 #define __G_RAND_H__
 
@@ -79,9 +83,3 @@ gdouble g_random_double_range (gdouble  begin,
 G_END_DECLS
 
 #endif /* __G_RAND_H__ */
-
-
-
-
-
-
index c60b447..82080bd 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_REGEX_H__
 #define __G_REGEX_H__
 
@@ -236,5 +240,4 @@ gchar               **g_match_info_fetch_all        (const GMatchInfo    *match_info);
 
 G_END_DECLS
 
-
 #endif  /*  __G_REGEX_H__ */
index 275f054..bec15e3 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_REL_H__
 #define __G_REL_H__
 
@@ -91,4 +95,3 @@ gpointer   g_tuples_index     (GTuples     *tuples,
 G_END_DECLS
 
 #endif /* __G_REL_H__ */
-
index a61c0a5..e85ac97 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_SCANNER_H__
 #define __G_SCANNER_H__
 
@@ -272,4 +276,3 @@ void                g_scanner_warn                  (GScanner       *scanner,
 G_END_DECLS
 
 #endif /* __G_SCANNER_H__ */
-
index ffac6c6..b301dcf 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
-#include <glib/gtypes.h>
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
 
 #ifndef __G_SEQUENCE_H__
 #define __G_SEQUENCE_H__
 
+#include <glib/gtypes.h>
+
+G_BEGIN_DECLS
+
 typedef struct _GSequence      GSequence;
 typedef struct _GSequenceNode  GSequenceIter;
 
@@ -117,5 +123,6 @@ gint           g_sequence_iter_compare       (GSequenceIter            *a,
 GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter            *begin,
                                               GSequenceIter            *end);
 
+G_END_DECLS
 
 #endif /* __G_SEQUENCE_H__ */
index b3f9d91..680eae9 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_SHELL_H__
 #define __G_SHELL_H__
 
@@ -49,5 +53,3 @@ gboolean g_shell_parse_argv (const gchar   *command_line,
 G_END_DECLS
 
 #endif /* __G_SHELL_H__ */
-
-
index cd3b5aa..56dc73f 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_SLICE_H__
 #define __G_SLICE_H__
 
index 8ef5408..8619f83 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_SLIST_H__
 #define __G_SLIST_H__
 
@@ -104,7 +108,7 @@ gpointer g_slist_nth_data                (GSList           *list,
 void     g_slist_push_allocator          (gpointer        dummy);
 void     g_slist_pop_allocator           (void);
 #endif
+
 G_END_DECLS
 
 #endif /* __G_SLIST_H__ */
-
index adb6741..1cb5783 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_SPAWN_H__
 #define __G_SPAWN_H__
 
@@ -130,9 +134,6 @@ gboolean g_spawn_command_line_async (const gchar          *command_line,
 
 void g_spawn_close_pid (GPid pid);
 
-
 G_END_DECLS
 
 #endif /* __G_SPAWN_H__ */
-
-
index bf35326..f94ccb3 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_STRFUNCS_H__
 #define __G_STRFUNCS_H__
 
index 427b56e..6fc94b0 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_STRING_H__
 #define __G_STRING_H__
 
@@ -172,4 +176,3 @@ GString*     g_string_up                (GString     *string);
 G_END_DECLS
 
 #endif /* __G_STRING_H__ */
-
index 7deb2a3..0e2ae79 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_TEST_UTILS_H__
 #define __G_TEST_UTILS_H__
 
index 515be1a..6397b48 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_THREAD_H__
 #define __G_THREAD_H__
 
@@ -396,7 +400,6 @@ extern void glib_dummy_decl (void);
 #  define G_TRYLOCK(name)               (TRUE)
 #endif  /* !G_THREADS_ENABLED */
 
-
 G_END_DECLS
 
 #endif /* __G_THREAD_H__ */
index 91a02d6..8179f37 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_THREADPOOL_H__
 #define __G_THREADPOOL_H__
 
@@ -108,4 +112,3 @@ guint           g_thread_pool_get_max_idle_time      (void);
 G_END_DECLS
 
 #endif /* __G_THREADPOOL_H__ */
-
index d602ae1..1f05c38 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_TIMER_H__
 #define __G_TIMER_H__
 
index bab7127..1d852ec 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_TREE_H__
 #define __G_TREE_H__
 
@@ -80,9 +84,6 @@ gpointer g_tree_search          (GTree            *tree,
 gint     g_tree_height          (GTree            *tree);
 gint     g_tree_nnodes          (GTree            *tree);
 
-
-
 G_END_DECLS
 
 #endif /* __G_TREE_H__ */
-
index eaeabd2..9e7ea76 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_TYPES_H__
 #define __G_TYPES_H__
 
@@ -426,4 +430,3 @@ G_END_DECLS
 #endif /* GLIB_VAR */
 
 #endif /* __G_TYPES_H__ */
-
index 4c10fdb..2fcb920 100644 (file)
  *   Boston, MA 02111-1307, USA.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_UNICODE_H__
 #define __G_UNICODE_H__
 
@@ -382,7 +386,6 @@ GUnicodeScript g_unichar_get_script (gunichar ch) G_GNUC_CONST;
 
 gchar *_g_utf8_make_valid (const gchar *name);
 
-
 G_END_DECLS
 
 #endif /* __G_UNICODE_H__ */
index 62f1dd2..78a1b91 100644 (file)
@@ -1,5 +1,5 @@
 /* GIO - GLib Input, Output and Streaming Library
- * 
+ *
  * Copyright (C) 2006-2007 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * Author: Alexander Larsson <alexl@redhat.com>
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_URI_FUNCS_H__
 #define __G_URI_FUNCS_H__
 
index 4b72589..cc67ac4 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_UTILS_H__
 #define __G_UTILS_H__
 
index 7b6aa14..afef55b 100644 (file)
  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GLib Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/. 
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
 #ifndef __G_WIN32_H__
 #define __G_WIN32_H__