summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Roberts <neil@linux.intel.com>2012-11-22 18:01:10 +0000
committerNeil Roberts <neil@linux.intel.com>2012-11-26 18:03:29 +0000
commit4138b3141c2f39cddaea3d72bfc04342ed5092d0 (patch)
tree14e360aca7ea86716b632269479f04c7bef4129e
parent8b1eabdc08da89a57792f9eb666e893a6cbb4e26 (diff)
downloadcogl-4138b3141c2f39cddaea3d72bfc04342ed5092d0.tar.gz
Fixes for --disable-glib
This fixes some problems which were stopping --disable-glib from working properly: • A lot of the public headers were including glib.h. This shouldn't be necessary because the API doesn't expose any glib types. Otherwise any apps would require glib in order to get the header. • The public headers were using G_BEGIN_DECLS. There is now a replacement macro called COGL_BEGIN_DECLS which is defined in cogl-types.h. • A similar fix has been done for G_GNUC_NULL_TERMINATED and G_GNUC_DEPRECATED. • The CFLAGS were not including $(builddir)/deps/glib which was preventing it finding the generated glibconfig.h when building out of tree. Reviewed-by: Robert Bragg <robert@linux.intel.com>
-rw-r--r--cogl-pango/cogl-pango-display-list.h4
-rw-r--r--cogl-pango/cogl-pango-glyph-cache.h4
-rw-r--r--cogl-pango/cogl-pango-pipeline-cache.h4
-rw-r--r--cogl-pango/cogl-pango-private.h4
-rw-r--r--cogl-pango/cogl-pango.h4
-rw-r--r--cogl/cogl-attribute-buffer.h4
-rw-r--r--cogl/cogl-attribute.h4
-rw-r--r--cogl/cogl-bitmap.h4
-rw-r--r--cogl/cogl-bitmask.h4
-rw-r--r--cogl/cogl-buffer-private.h4
-rw-r--r--cogl/cogl-buffer.h5
-rw-r--r--cogl/cogl-clip-state.h4
-rw-r--r--cogl/cogl-clutter-xlib.h4
-rw-r--r--cogl/cogl-clutter.h4
-rw-r--r--cogl/cogl-color.h4
-rw-r--r--cogl/cogl-context.h4
-rw-r--r--cogl/cogl-debug.h4
-rw-r--r--cogl/cogl-defines.h.in6
-rw-r--r--cogl/cogl-depth-state.h4
-rw-r--r--cogl/cogl-display.h4
-rw-r--r--cogl/cogl-egl.h4
-rw-r--r--cogl/cogl-euler.h6
-rw-r--r--cogl/cogl-flags.h4
-rw-r--r--cogl/cogl-framebuffer.h10
-rw-r--r--cogl/cogl-gles2.h4
-rw-r--r--cogl/cogl-index-buffer.h4
-rw-r--r--cogl/cogl-indices.h4
-rw-r--r--cogl/cogl-kms-display.h4
-rw-r--r--cogl/cogl-kms-renderer.h4
-rw-r--r--cogl/cogl-magazine-private.h8
-rw-r--r--cogl/cogl-matrix-private.h4
-rw-r--r--cogl/cogl-matrix.h9
-rw-r--r--cogl/cogl-memory-stack-private.h10
-rw-r--r--cogl/cogl-meta-texture.h5
-rw-r--r--cogl/cogl-offscreen.h4
-rw-r--r--cogl/cogl-onscreen-template.h4
-rw-r--r--cogl/cogl-onscreen.h5
-rw-r--r--cogl/cogl-path.h4
-rw-r--r--cogl/cogl-pipeline-layer-state.h5
-rw-r--r--cogl/cogl-pipeline-snippet-private.h2
-rw-r--r--cogl/cogl-pipeline-state.h5
-rw-r--r--cogl/cogl-pipeline.h4
-rw-r--r--cogl/cogl-pixel-buffer-private.h4
-rw-r--r--cogl/cogl-pixel-buffer.h5
-rw-r--r--cogl/cogl-point-in-poly-private.h4
-rw-r--r--cogl/cogl-poll.h5
-rw-r--r--cogl/cogl-primitive-texture.h4
-rw-r--r--cogl/cogl-primitive.h4
-rw-r--r--cogl/cogl-primitives-private.h4
-rw-r--r--cogl/cogl-private.h4
-rw-r--r--cogl/cogl-quaternion.h4
-rw-r--r--cogl/cogl-rectangle-map.h1
-rw-r--r--cogl/cogl-renderer.h6
-rw-r--r--cogl/cogl-sdl.h4
-rw-r--r--cogl/cogl-snippet.h6
-rw-r--r--cogl/cogl-sub-texture.h6
-rw-r--r--cogl/cogl-swap-chain.h4
-rw-r--r--cogl/cogl-texture-2d-gl.h6
-rw-r--r--cogl/cogl-texture-2d-sliced.h2
-rw-r--r--cogl/cogl-texture-2d.h6
-rw-r--r--cogl/cogl-texture-3d.h6
-rw-r--r--cogl/cogl-texture-rectangle.h4
-rw-r--r--cogl/cogl-texture.h4
-rw-r--r--cogl/cogl-types.h28
-rw-r--r--cogl/cogl-vector.h6
-rw-r--r--cogl/cogl-wayland-client.h2
-rw-r--r--cogl/cogl-wayland-renderer.h4
-rw-r--r--cogl/cogl-wayland-server.h6
-rw-r--r--cogl/cogl-win32-renderer.h4
-rw-r--r--cogl/cogl-xlib-renderer.h5
-rw-r--r--cogl/cogl-xlib.h6
-rw-r--r--cogl/cogl.h2
-rw-r--r--cogl/cogl1-context.h10
-rw-r--r--cogl/winsys/cogl-texture-pixmap-x11.h6
-rw-r--r--configure.ac3
-rw-r--r--tests/conform/test-utils.h2
76 files changed, 173 insertions, 200 deletions
diff --git a/cogl-pango/cogl-pango-display-list.h b/cogl-pango/cogl-pango-display-list.h
index 762fdefb..28ac4fd2 100644
--- a/cogl-pango/cogl-pango-display-list.h
+++ b/cogl-pango/cogl-pango-display-list.h
@@ -28,7 +28,7 @@
#include <cogl/cogl.h>
#include "cogl-pango-pipeline-cache.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglPangoDisplayList CoglPangoDisplayList;
@@ -75,6 +75,6 @@ _cogl_pango_display_list_clear (CoglPangoDisplayList *dl);
void
_cogl_pango_display_list_free (CoglPangoDisplayList *dl);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PANGO_DISPLAY_LIST_H__ */
diff --git a/cogl-pango/cogl-pango-glyph-cache.h b/cogl-pango/cogl-pango-glyph-cache.h
index ba0f0de0..5ab05721 100644
--- a/cogl-pango/cogl-pango-glyph-cache.h
+++ b/cogl-pango/cogl-pango-glyph-cache.h
@@ -28,7 +28,7 @@
#include <cogl/cogl.h>
#include <pango/pango-font.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglPangoGlyphCache CoglPangoGlyphCache;
typedef struct _CoglPangoGlyphCacheValue CoglPangoGlyphCacheValue;
@@ -88,6 +88,6 @@ void
_cogl_pango_glyph_cache_set_dirty_glyphs (CoglPangoGlyphCache *cache,
CoglPangoGlyphCacheDirtyFunc func);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PANGO_GLYPH_CACHE_H__ */
diff --git a/cogl-pango/cogl-pango-pipeline-cache.h b/cogl-pango/cogl-pango-pipeline-cache.h
index da30c75c..615eaf99 100644
--- a/cogl-pango/cogl-pango-pipeline-cache.h
+++ b/cogl-pango/cogl-pango-pipeline-cache.h
@@ -31,7 +31,7 @@
#include <glib.h>
#include <cogl/cogl.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglPangoPipelineCache CoglPangoPipelineCache;
@@ -49,6 +49,6 @@ _cogl_pango_pipeline_cache_get (CoglPangoPipelineCache *cache,
void
_cogl_pango_pipeline_cache_free (CoglPangoPipelineCache *cache);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PANGO_PIPELINE_CACHE_H__ */
diff --git a/cogl-pango/cogl-pango-private.h b/cogl-pango/cogl-pango-private.h
index 1095221f..91285eca 100644
--- a/cogl-pango/cogl-pango-private.h
+++ b/cogl-pango/cogl-pango-private.h
@@ -32,7 +32,7 @@
#include "cogl-pango.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define COGL_PANGO_TYPE_RENDERER (_cogl_pango_renderer_get_type ())
#define COGL_PANGO_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COGL_PANGO_TYPE_RENDERER, CoglPangoRenderer))
@@ -68,6 +68,6 @@ _cogl_pango_font_map_get_cogl_context (CoglPangoFontMap *fm);
PangoRenderer *
_cogl_pango_font_map_get_renderer (CoglPangoFontMap *fm);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PANGO_PRIVATE_H__ */
diff --git a/cogl-pango/cogl-pango.h b/cogl-pango/cogl-pango.h
index 6d82dc5c..9feff0c5 100644
--- a/cogl-pango/cogl-pango.h
+++ b/cogl-pango/cogl-pango.h
@@ -34,7 +34,7 @@
#include <pango/pangocairo.h>
#include <cogl/cogl.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/* It's too difficult to actually subclass the pango cairo font
* map. Instead we just make a fake set of macros that actually just
@@ -172,6 +172,6 @@ cogl_pango_show_layout_line (CoglFramebuffer *framebuffer,
float y,
const CoglColor *color);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PANGO_H__ */
diff --git a/cogl/cogl-attribute-buffer.h b/cogl/cogl-attribute-buffer.h
index bb690636..7b593e54 100644
--- a/cogl/cogl-attribute-buffer.h
+++ b/cogl/cogl-attribute-buffer.h
@@ -38,7 +38,7 @@ typedef struct _CoglAttributeBuffer CoglAttributeBuffer;
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-attribute-buffer
@@ -86,7 +86,7 @@ cogl_attribute_buffer_new (CoglContext *context,
CoglBool
cogl_is_attribute_buffer (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_ATTRIBUTE_BUFFER_H__ */
diff --git a/cogl/cogl-attribute.h b/cogl/cogl-attribute.h
index 1fd36492..580446e8 100644
--- a/cogl/cogl-attribute.h
+++ b/cogl/cogl-attribute.h
@@ -39,7 +39,7 @@ typedef struct _CoglAttribute CoglAttribute;
#include <cogl/cogl-attribute-buffer.h>
#include <cogl/cogl-indices.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-attribute
@@ -526,7 +526,7 @@ cogl_attribute_set_buffer (CoglAttribute *attribute,
CoglBool
cogl_is_attribute (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_ATTRIBUTE_H__ */
diff --git a/cogl/cogl-bitmap.h b/cogl/cogl-bitmap.h
index 9aeaeb41..e26aa0d6 100644
--- a/cogl/cogl-bitmap.h
+++ b/cogl/cogl-bitmap.h
@@ -37,7 +37,7 @@
#include <android/asset_manager.h>
#endif
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglBitmap CoglBitmap;
@@ -307,6 +307,6 @@ typedef enum {
uint32_t cogl_bitmap_error_domain (void);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_BITMAP_H__ */
diff --git a/cogl/cogl-bitmask.h b/cogl/cogl-bitmask.h
index dd238e7d..78f6fa6c 100644
--- a/cogl/cogl-bitmask.h
+++ b/cogl/cogl-bitmask.h
@@ -30,7 +30,7 @@
#include <glib.h>
#include "cogl-util.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/*
* CoglBitmask implements a growable array of bits. A CoglBitmask can
@@ -302,6 +302,6 @@ _cogl_bitmask_popcount_upto (const CoglBitmask *bitmask,
((1UL << upto) - 1));
}
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_BITMASK_H */
diff --git a/cogl/cogl-buffer-private.h b/cogl/cogl-buffer-private.h
index 4b21fa38..07a14904 100644
--- a/cogl/cogl-buffer-private.h
+++ b/cogl/cogl-buffer-private.h
@@ -35,7 +35,7 @@
#include "cogl-context.h"
#include "cogl-gl-header.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglBufferVtable CoglBufferVtable;
@@ -153,6 +153,6 @@ _cogl_buffer_map_for_fill_or_fallback (CoglBuffer *buffer);
void
_cogl_buffer_unmap_for_fill_or_fallback (CoglBuffer *buffer);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_BUFFER_PRIVATE_H__ */
diff --git a/cogl/cogl-buffer.h b/cogl/cogl-buffer.h
index 217de11b..54c15af6 100644
--- a/cogl/cogl-buffer.h
+++ b/cogl/cogl-buffer.h
@@ -32,10 +32,9 @@
#ifndef __COGL_BUFFER_H__
#define __COGL_BUFFER_H__
-#include <glib.h>
#include <cogl/cogl-types.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-buffer
@@ -283,6 +282,6 @@ cogl_buffer_set_data (CoglBuffer *buffer,
const void *data,
size_t size);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_BUFFER_H__ */
diff --git a/cogl/cogl-clip-state.h b/cogl/cogl-clip-state.h
index 256c8c07..2d71fbf6 100644
--- a/cogl/cogl-clip-state.h
+++ b/cogl/cogl-clip-state.h
@@ -30,8 +30,8 @@
#include <cogl/cogl-types.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_CLIP_STATE_H */
diff --git a/cogl/cogl-clutter-xlib.h b/cogl/cogl-clutter-xlib.h
index 6c08f580..67c27b65 100644
--- a/cogl/cogl-clutter-xlib.h
+++ b/cogl/cogl-clutter-xlib.h
@@ -30,12 +30,12 @@
#include <X11/Xutil.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define cogl_clutter_winsys_xlib_get_visual_info cogl_clutter_winsys_xlib_get_visual_info_CLUTTER
XVisualInfo *
cogl_clutter_winsys_xlib_get_visual_info (void);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_CLUTTER_XLIB_H__ */
diff --git a/cogl/cogl-clutter.h b/cogl/cogl-clutter.h
index 26738887..c3dfbe65 100644
--- a/cogl/cogl-clutter.h
+++ b/cogl/cogl-clutter.h
@@ -28,7 +28,7 @@
#ifndef __COGL_CLUTTER_H__
#define __COGL_CLUTTER_H__
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define cogl_clutter_check_extension cogl_clutter_check_extension_CLUTTER
CoglBool
@@ -42,6 +42,6 @@ cogl_clutter_winsys_has_feature (CoglWinsysFeature feature);
void
cogl_onscreen_clutter_backend_set_size (int width, int height);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_CLUTTER_H__ */
diff --git a/cogl/cogl-color.h b/cogl/cogl-color.h
index 3c2dd669..0a41ccaf 100644
--- a/cogl/cogl-color.h
+++ b/cogl/cogl-color.h
@@ -40,7 +40,7 @@
#include <cogl/cogl-types.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_color_init_from_4ub:
@@ -485,6 +485,6 @@ cogl_color_copy (const CoglColor *color);
void
cogl_color_free (CoglColor *color);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_COLOR_H__ */
diff --git a/cogl/cogl-context.h b/cogl/cogl-context.h
index 71904c45..587dff7e 100644
--- a/cogl/cogl-context.h
+++ b/cogl/cogl-context.h
@@ -43,7 +43,7 @@ typedef struct _CoglContext CoglContext;
#include <android/native_window.h>
#endif
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-context
@@ -310,7 +310,7 @@ cogl_foreach_feature (CoglContext *context,
CoglFeatureCallback callback,
void *user_data);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_CONTEXT_H__ */
diff --git a/cogl/cogl-debug.h b/cogl/cogl-debug.h
index a7ac6168..7c39ba34 100644
--- a/cogl/cogl-debug.h
+++ b/cogl/cogl-debug.h
@@ -30,7 +30,7 @@
#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef enum {
COGL_DEBUG_SLICING,
@@ -113,7 +113,7 @@ _cogl_parse_debug_string (const char *value,
CoglBool enable,
CoglBool ignore_help);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_DEBUG_H__ */
diff --git a/cogl/cogl-defines.h.in b/cogl/cogl-defines.h.in
index a8765d86..6e402120 100644
--- a/cogl/cogl-defines.h.in
+++ b/cogl/cogl-defines.h.in
@@ -28,10 +28,6 @@
#ifndef __COGL_DEFINES_H__
#define __COGL_DEFINES_H__
-#include <glib.h>
-
-G_BEGIN_DECLS
-
@COGL_DEFINES@
#define COGL_VERSION_MAJOR_INTERNAL @COGL_MAJOR_VERSION@
@@ -39,6 +35,4 @@ G_BEGIN_DECLS
#define COGL_VERSION_MICRO_INTERNAL @COGL_MICRO_VERSION@
#define COGL_VERSION_STRING_INTERNAL "@COGL_VERSION@"
-G_END_DECLS
-
#endif
diff --git a/cogl/cogl-depth-state.h b/cogl/cogl-depth-state.h
index 072c6b0d..f9ecded8 100644
--- a/cogl/cogl-depth-state.h
+++ b/cogl/cogl-depth-state.h
@@ -31,7 +31,7 @@
#ifndef __COGL_DEPTH_STATE_H__
#define __COGL_DEPTH_STATE_H__
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-depth-state
@@ -255,6 +255,6 @@ cogl_depth_state_get_range (CoglDepthState *state,
float *near_val,
float *far_val);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_DEPTH_STATE_H__ */
diff --git a/cogl/cogl-display.h b/cogl/cogl-display.h
index 62d5ee56..75a8678e 100644
--- a/cogl/cogl-display.h
+++ b/cogl/cogl-display.h
@@ -34,7 +34,7 @@
#include <cogl/cogl-renderer.h>
#include <cogl/cogl-onscreen-template.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#ifdef COGL_HAS_EGL_PLATFORM_GDL_SUPPORT
#include <libgdl.h>
@@ -185,7 +185,7 @@ cogl_gdl_display_set_plane (CoglDisplay *display,
CoglBool
cogl_is_display (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_DISPLAY_H__ */
diff --git a/cogl/cogl-egl.h b/cogl/cogl-egl.h
index c9ca7865..420a99eb 100644
--- a/cogl/cogl-egl.h
+++ b/cogl/cogl-egl.h
@@ -28,7 +28,7 @@
#include "cogl-egl-defines.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define NativeDisplayType EGLNativeDisplayType
#define NativeWindowType EGLNativeWindowType
@@ -53,7 +53,7 @@ G_BEGIN_DECLS
EGLDisplay
cogl_egl_context_get_egl_display (CoglContext *context);
-G_END_DECLS
+COGL_END_DECLS
#endif /* COGL_HAS_EGL_SUPPORT */
diff --git a/cogl/cogl-euler.h b/cogl/cogl-euler.h
index a4c988d2..c936dca6 100644
--- a/cogl/cogl-euler.h
+++ b/cogl/cogl-euler.h
@@ -33,9 +33,7 @@
#include <cogl/cogl-types.h>
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-euler
@@ -247,7 +245,7 @@ cogl_euler_copy (const CoglEuler *src);
void
cogl_euler_free (CoglEuler *euler);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_EULER_H */
diff --git a/cogl/cogl-flags.h b/cogl/cogl-flags.h
index d62294af..f2178d79 100644
--- a/cogl/cogl-flags.h
+++ b/cogl/cogl-flags.h
@@ -31,7 +31,7 @@
#include "cogl-util.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/* These are macros used to implement a fixed-size array of bits. This
should be used instead of CoglBitmask when the maximum bit number
@@ -119,7 +119,7 @@ G_BEGIN_DECLS
#define COGL_FLAGS_FOREACH_END \
} } } G_STMT_END
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_FLAGS_H */
diff --git a/cogl/cogl-framebuffer.h b/cogl/cogl-framebuffer.h
index c1295b88..0855d0f3 100644
--- a/cogl/cogl-framebuffer.h
+++ b/cogl/cogl-framebuffer.h
@@ -28,8 +28,6 @@
#ifndef __COGL_FRAMEBUFFER_H
#define __COGL_FRAMEBUFFER_H
-#include <glib.h>
-
#ifdef COGL_HAS_WIN32_SUPPORT
#include <windows.h>
#endif /* COGL_HAS_WIN32_SUPPORT */
@@ -42,7 +40,7 @@
#include <cogl/cogl-quaternion.h>
#include <cogl/cogl-euler.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-framebuffer
@@ -1121,7 +1119,7 @@ cogl_framebuffer_vdraw_attributes (CoglFramebuffer *framebuffer,
CoglVerticesMode mode,
int first_vertex,
int n_vertices,
- ...) G_GNUC_NULL_TERMINATED;
+ ...) COGL_GNUC_NULL_TERMINATED;
/**
* cogl_framebuffer_draw_attributes:
@@ -1221,7 +1219,7 @@ cogl_framebuffer_vdraw_indexed_attributes (CoglFramebuffer *framebuffer,
int first_vertex,
int n_vertices,
CoglIndices *indices,
- ...) G_GNUC_NULL_TERMINATED;
+ ...) COGL_GNUC_NULL_TERMINATED;
/**
* cogl_framebuffer_draw_indexed_attributes:
@@ -1774,7 +1772,7 @@ typedef enum { /*< prefix=COGL_FRAMEBUFFER_ERROR >*/
CoglBool
cogl_is_framebuffer (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_FRAMEBUFFER_H */
diff --git a/cogl/cogl-gles2.h b/cogl/cogl-gles2.h
index cbcea8b0..004e1320 100644
--- a/cogl/cogl-gles2.h
+++ b/cogl/cogl-gles2.h
@@ -49,7 +49,7 @@
#include <cogl/cogl-gles2-types.h>
#endif
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-gles2
@@ -362,7 +362,7 @@ cogl_gles2_texture_get_handle (CoglTexture *texture,
CoglBool
cogl_is_gles2_context (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_GLES2_H__ */
diff --git a/cogl/cogl-index-buffer.h b/cogl/cogl-index-buffer.h
index 663e066a..074452c3 100644
--- a/cogl/cogl-index-buffer.h
+++ b/cogl/cogl-index-buffer.h
@@ -33,7 +33,7 @@
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-index-buffer
@@ -79,7 +79,7 @@ cogl_index_buffer_new (CoglContext *context,
CoglBool
cogl_is_index_buffer (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_INDEX_BUFFER_H__ */
diff --git a/cogl/cogl-indices.h b/cogl/cogl-indices.h
index c13e425c..d56348b9 100644
--- a/cogl/cogl-indices.h
+++ b/cogl/cogl-indices.h
@@ -38,7 +38,7 @@ typedef struct _CoglIndices CoglIndices;
#include <cogl/cogl-index-buffer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-index-range
@@ -140,7 +140,7 @@ cogl_get_rectangle_indices (CoglContext *context, int n_rectangles);
CoglBool
cogl_is_indices (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_INDICES_H__ */
diff --git a/cogl/cogl-kms-display.h b/cogl/cogl-kms-display.h
index 85ecc72e..d8bfd9ea 100644
--- a/cogl/cogl-kms-display.h
+++ b/cogl/cogl-kms-display.h
@@ -32,7 +32,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-display.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_kms_display_queue_modes_reset:
@@ -54,5 +54,5 @@ G_BEGIN_DECLS
void
cogl_kms_display_queue_modes_reset (CoglDisplay *display);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_KMS_DISPLAY_H__ */
diff --git a/cogl/cogl-kms-renderer.h b/cogl/cogl-kms-renderer.h
index 539fa788..fdd8bdfe 100644
--- a/cogl/cogl-kms-renderer.h
+++ b/cogl/cogl-kms-renderer.h
@@ -31,7 +31,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-renderer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_kms_renderer_get_kms_fd:
@@ -47,5 +47,5 @@ G_BEGIN_DECLS
int
cogl_kms_renderer_get_kms_fd (CoglRenderer *renderer);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_KMS_RENDERER_H__ */
diff --git a/cogl/cogl-magazine-private.h b/cogl/cogl-magazine-private.h
index 16e5a61e..c07e0fe8 100644
--- a/cogl/cogl-magazine-private.h
+++ b/cogl/cogl-magazine-private.h
@@ -21,10 +21,6 @@
*
*/
-#if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
-#error "Only <cogl/cogl.h> can be included directly."
-#endif
-
#ifndef __COGL_MAGAZINE_PRIVATE_H__
#define __COGL_MAGAZINE_PRIVATE_H__
@@ -32,8 +28,6 @@
#include "cogl-memory-stack-private.h"
-G_BEGIN_DECLS
-
typedef struct _CoglMagazineChunk CoglMagazineChunk;
struct _CoglMagazineChunk
@@ -77,6 +71,4 @@ _cogl_magazine_chunk_free (CoglMagazine *magazine, void *data)
void
_cogl_magazine_free (CoglMagazine *magazine);
-G_END_DECLS
-
#endif /* __COGL_MAGAZINE_PRIVATE_H__ */
diff --git a/cogl/cogl-matrix-private.h b/cogl/cogl-matrix-private.h
index 0d79564d..764d2a6a 100644
--- a/cogl/cogl-matrix-private.h
+++ b/cogl/cogl-matrix-private.h
@@ -29,7 +29,7 @@
#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define _COGL_MATRIX_DEBUG_PRINT(MATRIX) \
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_MATRICES))) \
@@ -41,7 +41,7 @@ G_BEGIN_DECLS
void
_cogl_matrix_prefix_print (const char *prefix, const CoglMatrix *matrix);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_MATRIX_PRIVATE_H */
diff --git a/cogl/cogl-matrix.h b/cogl/cogl-matrix.h
index 8d85e920..b1935a1a 100644
--- a/cogl/cogl-matrix.h
+++ b/cogl/cogl-matrix.h
@@ -27,11 +27,14 @@
#ifndef __COGL_MATRIX_H
#define __COGL_MATRIX_H
-#include <glib.h>
+#ifdef COGL_HAS_GTYPE_SUPPORT
+#include <glib-object.h>
+#endif /* COGL_HAS_GTYPE_SUPPORT */
+
#include "cogl-types.h"
#include "cogl-quaternion.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-matrix
@@ -770,7 +773,7 @@ cogl_gtype_matrix_get_type (void);
#endif /* COGL_HAS_GTYPE_SUPPORT */
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_MATRIX_H */
diff --git a/cogl/cogl-memory-stack-private.h b/cogl/cogl-memory-stack-private.h
index d6d5a9ce..4e077f26 100644
--- a/cogl/cogl-memory-stack-private.h
+++ b/cogl/cogl-memory-stack-private.h
@@ -21,16 +21,10 @@
*
*/
-#if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
-#error "Only <cogl/cogl.h> can be included directly."
-#endif
-
-#include <glib.h>
-
#ifndef __COGL_MEMORY_STACK__
#define __COGL_MEMORY_STACK__
-G_BEGIN_DECLS
+#include <glib.h>
typedef struct _CoglMemoryStack CoglMemoryStack;
@@ -46,6 +40,4 @@ _cogl_memory_stack_rewind (CoglMemoryStack *stack);
void
_cogl_memory_stack_free (CoglMemoryStack *stack);
-G_END_DECLS
-
#endif /* __COGL_MEMORY_STACK__ */
diff --git a/cogl/cogl-meta-texture.h b/cogl/cogl-meta-texture.h
index 06a30880..ed951fab 100644
--- a/cogl/cogl-meta-texture.h
+++ b/cogl/cogl-meta-texture.h
@@ -30,9 +30,8 @@
#define __COGL_META_TEXTURE_H__
#include <cogl/cogl-pipeline-layer-state.h>
-#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-meta-texture
@@ -178,6 +177,6 @@ cogl_meta_texture_foreach_in_region (CoglMetaTexture *meta_texture,
CoglMetaTextureCallback callback,
void *user_data);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_META_TEXTURE_H__ */
diff --git a/cogl/cogl-offscreen.h b/cogl/cogl-offscreen.h
index 9ce428f1..8e228d4f 100644
--- a/cogl/cogl-offscreen.h
+++ b/cogl/cogl-offscreen.h
@@ -31,7 +31,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-texture.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-offscreen
@@ -82,6 +82,6 @@ cogl_offscreen_new_to_texture (CoglTexture *texture);
CoglBool
cogl_is_offscreen (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_OFFSCREEN_H__ */
diff --git a/cogl/cogl-onscreen-template.h b/cogl/cogl-onscreen-template.h
index 3df8f0f3..58d88d4a 100644
--- a/cogl/cogl-onscreen-template.h
+++ b/cogl/cogl-onscreen-template.h
@@ -33,7 +33,7 @@
#include <cogl/cogl-swap-chain.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglOnscreenTemplate CoglOnscreenTemplate;
@@ -101,6 +101,6 @@ cogl_onscreen_template_set_swap_throttled (
CoglBool
cogl_is_onscreen_template (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_ONSCREEN_TEMPLATE_H__ */
diff --git a/cogl/cogl-onscreen.h b/cogl/cogl-onscreen.h
index 5f443f7e..3a1758ba 100644
--- a/cogl/cogl-onscreen.h
+++ b/cogl/cogl-onscreen.h
@@ -34,9 +34,8 @@
#include <cogl/cogl-context.h>
#include <cogl/cogl-framebuffer.h>
-#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglOnscreen CoglOnscreen;
#define COGL_ONSCREEN(X) ((CoglOnscreen *)(X))
@@ -555,6 +554,6 @@ cogl_onscreen_remove_resize_handler (CoglOnscreen *onscreen,
CoglBool
cogl_is_onscreen (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_ONSCREEN_H */
diff --git a/cogl/cogl-path.h b/cogl/cogl-path.h
index 2947b63a..d05ee241 100644
--- a/cogl/cogl-path.h
+++ b/cogl/cogl-path.h
@@ -31,7 +31,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-paths
@@ -450,7 +450,7 @@ cogl_path_set_fill_rule (CoglPath *path, CoglPathFillRule fill_rule);
CoglPathFillRule
cogl_path_get_fill_rule (CoglPath *path);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PATH_H__ */
diff --git a/cogl/cogl-pipeline-layer-state.h b/cogl/cogl-pipeline-layer-state.h
index 9380ddfd..c8e0d0ed 100644
--- a/cogl/cogl-pipeline-layer-state.h
+++ b/cogl/cogl-pipeline-layer-state.h
@@ -32,9 +32,8 @@
#include <cogl/cogl-color.h>
#include <cogl/cogl-matrix.h>
#include <cogl/cogl-texture.h>
-#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* CoglPipelineFilter:
@@ -582,6 +581,6 @@ cogl_pipeline_add_layer_snippet (CoglPipeline *pipeline,
int layer,
CoglSnippet *snippet);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PIPELINE_LAYER_STATE_H__ */
diff --git a/cogl/cogl-pipeline-snippet-private.h b/cogl/cogl-pipeline-snippet-private.h
index bfc9d5d4..b10b6ca6 100644
--- a/cogl/cogl-pipeline-snippet-private.h
+++ b/cogl/cogl-pipeline-snippet-private.h
@@ -28,6 +28,8 @@
#ifndef __COGL_PIPELINE_SNIPPET_PRIVATE_H
#define __COGL_PIPELINE_SNIPPET_PRIVATE_H
+#include <glib.h>
+
#include "cogl-snippet.h"
#include "cogl-queue.h"
diff --git a/cogl/cogl-pipeline-state.h b/cogl/cogl-pipeline-state.h
index c402e6da..97f87e50 100644
--- a/cogl/cogl-pipeline-state.h
+++ b/cogl/cogl-pipeline-state.h
@@ -31,9 +31,8 @@
#include <cogl/cogl-pipeline.h>
#include <cogl/cogl-color.h>
#include <cogl/cogl-depth-state.h>
-#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_pipeline_set_color:
@@ -662,6 +661,6 @@ void
cogl_pipeline_add_snippet (CoglPipeline *pipeline,
CoglSnippet *snippet);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PIPELINE_STATE_H__ */
diff --git a/cogl/cogl-pipeline.h b/cogl/cogl-pipeline.h
index 5cd21d90..647d1ddf 100644
--- a/cogl/cogl-pipeline.h
+++ b/cogl/cogl-pipeline.h
@@ -37,7 +37,7 @@ typedef struct _CoglPipeline CoglPipeline;
#include <cogl/cogl-context.h>
#include <cogl/cogl-snippet.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-pipeline
@@ -164,6 +164,6 @@ cogl_pipeline_get_uniform_location (CoglPipeline *pipeline,
const char *uniform_name);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PIPELINE_H__ */
diff --git a/cogl/cogl-pixel-buffer-private.h b/cogl/cogl-pixel-buffer-private.h
index 974afa61..d6ee07b1 100644
--- a/cogl/cogl-pixel-buffer-private.h
+++ b/cogl/cogl-pixel-buffer-private.h
@@ -33,13 +33,13 @@
#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
struct _CoglPixelBuffer
{
CoglBuffer _parent;
};
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PIXEL_BUFFER_PRIVATE_H__ */
diff --git a/cogl/cogl-pixel-buffer.h b/cogl/cogl-pixel-buffer.h
index 3934c3af..09ee5e9f 100644
--- a/cogl/cogl-pixel-buffer.h
+++ b/cogl/cogl-pixel-buffer.h
@@ -32,11 +32,10 @@
#ifndef __COGL_PIXEL_BUFFER_H__
#define __COGL_PIXEL_BUFFER_H__
-#include <glib.h>
#include <cogl/cogl-types.h>
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
#define COGL_PIXEL_BUFFER(buffer) ((CoglPixelBuffer *)(buffer))
@@ -110,6 +109,6 @@ cogl_pixel_buffer_set_region (CoglPixelBuffer *buffer,
unsigned int dst_y);
#endif
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PIXEL_BUFFER_H__ */
diff --git a/cogl/cogl-point-in-poly-private.h b/cogl/cogl-point-in-poly-private.h
index 6b534b6d..1f7f5f67 100644
--- a/cogl/cogl-point-in-poly-private.h
+++ b/cogl/cogl-point-in-poly-private.h
@@ -25,7 +25,7 @@
#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
int
_cogl_util_point_in_screen_poly (float point_x,
@@ -34,7 +34,7 @@ _cogl_util_point_in_screen_poly (float point_x,
size_t stride,
int n_vertices);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_POINT_INT_POLYGON_PRIVATE_H */
diff --git a/cogl/cogl-poll.h b/cogl/cogl-poll.h
index 2a319bd4..6496c7d0 100644
--- a/cogl/cogl-poll.h
+++ b/cogl/cogl-poll.h
@@ -31,11 +31,10 @@
#ifndef __COGL_POLL_H__
#define __COGL_POLL_H__
-#include <glib.h>
#include <cogl/cogl-defines.h>
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-poll
@@ -163,6 +162,6 @@ cogl_poll_dispatch (CoglContext *context,
const CoglPollFD *poll_fds,
int n_poll_fds);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_POLL_H__ */
diff --git a/cogl/cogl-primitive-texture.h b/cogl/cogl-primitive-texture.h
index 39c3c416..5bd32c77 100644
--- a/cogl/cogl-primitive-texture.h
+++ b/cogl/cogl-primitive-texture.h
@@ -31,7 +31,7 @@
#include "cogl-types.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-primitive-texture
@@ -93,6 +93,6 @@ void
cogl_primitive_texture_set_auto_mipmap (CoglPrimitiveTexture *primitive_texture,
CoglBool value);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PRIMITIVE_TEXTURE_H__ */
diff --git a/cogl/cogl-primitive.h b/cogl/cogl-primitive.h
index e8876086..1e97ce0e 100644
--- a/cogl/cogl-primitive.h
+++ b/cogl/cogl-primitive.h
@@ -39,7 +39,7 @@ typedef struct _CoglPrimitive CoglPrimitive;
#include <cogl/cogl-types.h>
#include <cogl/cogl-attribute.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-primitive
@@ -868,7 +868,7 @@ cogl_primitive_foreach_attribute (CoglPrimitive *primitive,
CoglPrimitiveAttributeCallback callback,
void *user_data);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PRIMITIVE_H__ */
diff --git a/cogl/cogl-primitives-private.h b/cogl/cogl-primitives-private.h
index f36213cd..d42cda75 100644
--- a/cogl/cogl-primitives-private.h
+++ b/cogl/cogl-primitives-private.h
@@ -26,7 +26,7 @@
#include <glib.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/* Draws a rectangle without going through the journal so that it will
be flushed immediately. This should only be used in situations
@@ -54,6 +54,6 @@ _cogl_framebuffer_draw_multitextured_rectangles (
CoglMultiTexturedRect *rects,
int n_rects);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PRIMITIVES_PRIVATE_H */
diff --git a/cogl/cogl-private.h b/cogl/cogl-private.h
index a78435b8..056d6065 100644
--- a/cogl/cogl-private.h
+++ b/cogl/cogl-private.h
@@ -28,7 +28,7 @@
#include "cogl-context.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
CoglBool
_cogl_check_extension (const char *name, char * const *ext);
@@ -90,6 +90,6 @@ _cogl_pixel_format_is_endian_dependant (CoglPixelFormat format);
#define COGL_PIXEL_FORMAT_CAN_HAVE_PREMULT(format) \
(((format) & COGL_A_BIT) && (format) != COGL_PIXEL_FORMAT_A_8)
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_PRIVATE_H__ */
diff --git a/cogl/cogl-quaternion.h b/cogl/cogl-quaternion.h
index 8daf95d4..0651840a 100644
--- a/cogl/cogl-quaternion.h
+++ b/cogl/cogl-quaternion.h
@@ -34,7 +34,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-vector.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-quaternion
@@ -512,7 +512,7 @@ cogl_get_static_identity_quaternion (void);
const CoglQuaternion *
cogl_get_static_zero_quaternion (void);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_QUATERNION_H__ */
diff --git a/cogl/cogl-rectangle-map.h b/cogl/cogl-rectangle-map.h
index 0b724fce..06c89afd 100644
--- a/cogl/cogl-rectangle-map.h
+++ b/cogl/cogl-rectangle-map.h
@@ -24,6 +24,7 @@
#ifndef __COGL_RECTANGLE_MAP_H
#define __COGL_RECTANGLE_MAP_H
+#include <glib.h>
#include "cogl-types.h"
typedef struct _CoglRectangleMap CoglRectangleMap;
diff --git a/cogl/cogl-renderer.h b/cogl/cogl-renderer.h
index ebb055e8..45965195 100644
--- a/cogl/cogl-renderer.h
+++ b/cogl/cogl-renderer.h
@@ -28,13 +28,11 @@
#ifndef __COGL_RENDERER_H__
#define __COGL_RENDERER_H__
-#include <glib.h>
-
#include <cogl/cogl-types.h>
#include <cogl/cogl-onscreen-template.h>
#include <cogl/cogl-error.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-renderer
@@ -385,7 +383,7 @@ cogl_renderer_set_driver (CoglRenderer *renderer,
CoglDriver
cogl_renderer_get_driver (CoglRenderer *renderer);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_RENDERER_H__ */
diff --git a/cogl/cogl-sdl.h b/cogl/cogl-sdl.h
index 0508649d..b6841f69 100644
--- a/cogl/cogl-sdl.h
+++ b/cogl/cogl-sdl.h
@@ -41,7 +41,7 @@
#pragma comment (lib, "SDLmain.lib")
#endif
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-sdl
@@ -219,6 +219,6 @@ cogl_sdl_onscreen_get_window (CoglOnscreen *onscreen);
#endif /* SDL_MAJOR_VERSION */
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_SDL_H__ */
diff --git a/cogl/cogl-snippet.h b/cogl/cogl-snippet.h
index 5348363a..fcf9af2d 100644
--- a/cogl/cogl-snippet.h
+++ b/cogl/cogl-snippet.h
@@ -32,9 +32,7 @@
#ifndef __COGL_SNIPPET_H__
#define __COGL_SNIPPET_H__
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-snippet
@@ -738,6 +736,6 @@ cogl_snippet_set_post (CoglSnippet *snippet,
const char *
cogl_snippet_get_post (CoglSnippet *snippet);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_SNIPPET_H__ */
diff --git a/cogl/cogl-sub-texture.h b/cogl/cogl-sub-texture.h
index 914b4c5b..ac06c014 100644
--- a/cogl/cogl-sub-texture.h
+++ b/cogl/cogl-sub-texture.h
@@ -31,9 +31,7 @@
#ifndef __COGL_SUB_TEXTURE_H
#define __COGL_SUB_TEXTURE_H
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-sub-texture
@@ -119,6 +117,6 @@ cogl_sub_texture_get_parent (CoglSubTexture *sub_texture);
CoglBool
cogl_is_sub_texture (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_SUB_TEXTURE_H */
diff --git a/cogl/cogl-swap-chain.h b/cogl/cogl-swap-chain.h
index 21908e98..05596a85 100644
--- a/cogl/cogl-swap-chain.h
+++ b/cogl/cogl-swap-chain.h
@@ -28,7 +28,7 @@
#ifndef __COGL_SWAP_CHAIN_H__
#define __COGL_SWAP_CHAIN_H__
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
typedef struct _CoglSwapChain CoglSwapChain;
@@ -46,6 +46,6 @@ cogl_swap_chain_set_length (CoglSwapChain *swap_chain,
CoglBool
cogl_is_swap_chain (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_SWAP_CHAIN_H__ */
diff --git a/cogl/cogl-texture-2d-gl.h b/cogl/cogl-texture-2d-gl.h
index 5136a35c..6c2c3fac 100644
--- a/cogl/cogl-texture-2d-gl.h
+++ b/cogl/cogl-texture-2d-gl.h
@@ -34,9 +34,7 @@
#include "cogl-context.h"
#include "cogl-texture-2d.h"
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_texture_2d_gl_new_from_foreign:
@@ -70,6 +68,6 @@ cogl_texture_2d_gl_new_from_foreign (CoglContext *ctx,
CoglPixelFormat format,
CoglError **error);
-G_END_DECLS
+COGL_END_DECLS
#endif /* _COGL_TEXTURE_2D_GL_H_ */
diff --git a/cogl/cogl-texture-2d-sliced.h b/cogl/cogl-texture-2d-sliced.h
index 3173d14c..363d6d8e 100644
--- a/cogl/cogl-texture-2d-sliced.h
+++ b/cogl/cogl-texture-2d-sliced.h
@@ -30,8 +30,6 @@
#include "cogl-context.h"
#include "cogl-types.h"
-#include <glib.h>
-
/**
* SECTION:cogl-texture-2d-sliced
* @short_description: Functions for creating and manipulating 2D meta
diff --git a/cogl/cogl-texture-2d.h b/cogl/cogl-texture-2d.h
index d07cdef4..fcd86f77 100644
--- a/cogl/cogl-texture-2d.h
+++ b/cogl/cogl-texture-2d.h
@@ -34,9 +34,7 @@
#include "cogl-context.h"
#include "cogl-bitmap.h"
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-texture-2d
@@ -187,6 +185,6 @@ cogl_texture_2d_new_from_bitmap (CoglBitmap *bitmap,
CoglPixelFormat internal_format,
CoglError **error);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TEXTURE_2D_H */
diff --git a/cogl/cogl-texture-3d.h b/cogl/cogl-texture-3d.h
index 1956b4df..1ddde337 100644
--- a/cogl/cogl-texture-3d.h
+++ b/cogl/cogl-texture-3d.h
@@ -31,9 +31,7 @@
#ifndef __COGL_TEXTURE_3D_H
#define __COGL_TEXTURE_3D_H
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-texture-3d
@@ -180,6 +178,6 @@ cogl_texture_3d_new_from_bitmap (CoglBitmap *bitmap,
CoglBool
cogl_is_texture_3d (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TEXTURE_3D_H */
diff --git a/cogl/cogl-texture-rectangle.h b/cogl/cogl-texture-rectangle.h
index 20de97dd..447866f8 100644
--- a/cogl/cogl-texture-rectangle.h
+++ b/cogl/cogl-texture-rectangle.h
@@ -29,7 +29,7 @@
#include "cogl-context.h"
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-texture-rectangle
@@ -199,6 +199,6 @@ cogl_texture_rectangle_new_from_foreign (CoglContext *ctx,
CoglPixelFormat format,
CoglError **error);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TEXURE_RECTANGLE_H */
diff --git a/cogl/cogl-texture.h b/cogl/cogl-texture.h
index 69d6da03..0a611975 100644
--- a/cogl/cogl-texture.h
+++ b/cogl/cogl-texture.h
@@ -38,7 +38,7 @@ typedef struct _CoglTexture CoglTexture;
#include <cogl/cogl-pixel-buffer.h>
#include <cogl/cogl-bitmap.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-texture
@@ -421,6 +421,6 @@ cogl_texture_set_region_from_bitmap (CoglTexture *texture,
unsigned int dst_height,
CoglBitmap *bitmap);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TEXTURE_H__ */
diff --git a/cogl/cogl-types.h b/cogl/cogl-types.h
index 15464f18..690e19c7 100644
--- a/cogl/cogl-types.h
+++ b/cogl/cogl-types.h
@@ -29,11 +29,20 @@
#define __COGL_TYPES_H__
#include <stdint.h>
-#include <glib-object.h>
+#include <stddef.h>
#include <cogl/cogl-defines.h>
-G_BEGIN_DECLS
+/* Guard C code in headers, while including them from C++ */
+#ifdef __cplusplus
+#define COGL_BEGIN_DECLS extern "C" {
+#define COGL_END_DECLS }
+#else
+#define COGL_BEGIN_DECLS
+#define COGL_END_DECLS
+#endif
+
+COGL_BEGIN_DECLS
/**
* CoglBool:
@@ -73,6 +82,19 @@ typedef int CoglBool;
#define FALSE 0
#endif
+#if __GNUC__ >= 4
+#define COGL_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+#else
+#define COGL_GNUC_NULL_TERMINATED
+#endif
+
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
+#define COGL_GNUC_DEPRECATED \
+ __attribute__((__deprecated__))
+#else
+#define COGL_GNUC_DEPRECATED
+#endif /* __GNUC__ */
+
/* Some structures are meant to be opaque but they have public
definitions because we want the size to be public so they can be
allocated on the stack. This macro is used to ensure that users
@@ -687,6 +709,6 @@ typedef enum { /*< prefix=COGL_READ_PIXELS >*/
COGL_READ_PIXELS_COLOR_BUFFER = 1L << 0
} CoglReadPixelsFlags;
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TYPES_H__ */
diff --git a/cogl/cogl-vector.h b/cogl/cogl-vector.h
index 3156b150..81ff4736 100644
--- a/cogl/cogl-vector.h
+++ b/cogl/cogl-vector.h
@@ -31,9 +31,7 @@
#ifndef __COGL_VECTOR_H
#define __COGL_VECTOR_H
-#include <glib.h>
-
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-vector
@@ -347,7 +345,7 @@ cogl_vector3_dot_product (const float *a, const float *b);
float
cogl_vector3_distance (const float *a, const float *b);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_VECTOR_H */
diff --git a/cogl/cogl-wayland-client.h b/cogl/cogl-wayland-client.h
index 3f290dc7..610f5589 100644
--- a/cogl/cogl-wayland-client.h
+++ b/cogl/cogl-wayland-client.h
@@ -24,8 +24,6 @@
#ifndef __COGL_WAYLAND_CLIENT_H
#define __COGL_WAYLAND_CLIENT_H
-#include <glib.h>
-
#define __COGL_H_INSIDE__
#include <cogl/cogl-wayland-renderer.h>
diff --git a/cogl/cogl-wayland-renderer.h b/cogl/cogl-wayland-renderer.h
index f5a760f7..1d9d5fac 100644
--- a/cogl/cogl-wayland-renderer.h
+++ b/cogl/cogl-wayland-renderer.h
@@ -33,7 +33,7 @@
#include <wayland-client.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_wayland_renderer_set_foreign_display:
@@ -159,6 +159,6 @@ cogl_wayland_renderer_set_foreign_shell (CoglRenderer *renderer,
struct wl_shell *
cogl_wayland_renderer_get_shell (CoglRenderer *renderer);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_WAYLAND_RENDERER_H__ */
diff --git a/cogl/cogl-wayland-server.h b/cogl/cogl-wayland-server.h
index 6e66292d..567a9f97 100644
--- a/cogl/cogl-wayland-server.h
+++ b/cogl/cogl-wayland-server.h
@@ -24,15 +24,13 @@
#ifndef __COGL_WAYLAND_SERVER_H
#define __COGL_WAYLAND_SERVER_H
-#include <glib.h>
-
#include <wayland-server.h>
#define __COGL_H_INSIDE__
#include <cogl/cogl-context.h>
#include <cogl/cogl-texture-2d.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_wayland_display_set_compositor_display:
@@ -79,6 +77,6 @@ cogl_wayland_texture_2d_new_from_buffer (CoglContext *ctx,
struct wl_buffer *buffer,
CoglError **error);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_WAYLAND_SERVER_H */
diff --git a/cogl/cogl-win32-renderer.h b/cogl/cogl-win32-renderer.h
index f05a6203..f65bc8f9 100644
--- a/cogl/cogl-win32-renderer.h
+++ b/cogl/cogl-win32-renderer.h
@@ -31,7 +31,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-renderer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_win32_renderer_handle_event:
@@ -87,6 +87,6 @@ cogl_win32_renderer_remove_filter (CoglRenderer *renderer,
CoglWin32FilterFunc func,
void *data);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_WIN32_RENDERER_H__ */
diff --git a/cogl/cogl-xlib-renderer.h b/cogl/cogl-xlib-renderer.h
index 58dc8667..a9277c68 100644
--- a/cogl/cogl-xlib-renderer.h
+++ b/cogl/cogl-xlib-renderer.h
@@ -29,12 +29,11 @@
#define __COGL_XLIB_RENDERER_H__
#include <X11/Xlib.h>
-#include <glib.h>
#define __COGL_H_INSIDE__
#include <cogl/cogl-renderer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/*
* cogl_xlib_renderer_handle_event:
@@ -140,6 +139,6 @@ cogl_xlib_renderer_set_event_retrieval_enabled (CoglRenderer *renderer,
Display *
cogl_xlib_renderer_get_display (CoglRenderer *renderer);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_XLIB_RENDERER_H__ */
diff --git a/cogl/cogl-xlib.h b/cogl/cogl-xlib.h
index 079a3220..7a6bc7ef 100644
--- a/cogl/cogl-xlib.h
+++ b/cogl/cogl-xlib.h
@@ -24,16 +24,16 @@
#ifndef __COGL_XLIB_H__
#define __COGL_XLIB_H__
-#include <glib.h>
-
#include <X11/Xlib.h>
#define __COGL_XLIB_H_INSIDE__
+#define __COGL_H_INSIDE__
+#include <cogl/cogl-types.h>
#include <cogl/cogl-clutter-xlib.h>
#include <cogl/cogl-xlib-renderer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/*
* cogl_xlib_get_display:
diff --git a/cogl/cogl.h b/cogl/cogl.h
index 875f32a5..a5001eb1 100644
--- a/cogl/cogl.h
+++ b/cogl/cogl.h
@@ -25,8 +25,6 @@
#ifndef __COGL_H__
#define __COGL_H__
-#include <glib.h>
-
#define __COGL_H_INSIDE__
/*
diff --git a/cogl/cogl1-context.h b/cogl/cogl1-context.h
index cdf21c29..9ccf74e4 100644
--- a/cogl/cogl1-context.h
+++ b/cogl/cogl1-context.h
@@ -31,13 +31,11 @@
#ifndef __COGL_1_CONTEXT_H__
#define __COGL_1_CONTEXT_H__
-#include <glib.h>
-
#include <cogl/cogl-types.h>
#include <cogl/cogl-texture.h>
#include <cogl/cogl-framebuffer.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* cogl_set_framebuffer:
@@ -154,7 +152,7 @@ cogl_pop_framebuffer (void);
* Deprecated: 1.2: The draw buffer API was replaced with a framebuffer API
*/
void
-cogl_push_draw_buffer (void) G_GNUC_DEPRECATED;
+cogl_push_draw_buffer (void) COGL_GNUC_DEPRECATED;
/**
* cogl_pop_draw_buffer:
@@ -164,7 +162,7 @@ cogl_push_draw_buffer (void) G_GNUC_DEPRECATED;
* Deprecated: 1.2: The draw buffer API was replaced with a framebuffer API
*/
void
-cogl_pop_draw_buffer (void) G_GNUC_DEPRECATED;
+cogl_pop_draw_buffer (void) COGL_GNUC_DEPRECATED;
#endif /* COGL_DISABLE_DEPRECATED */
@@ -197,6 +195,6 @@ cogl_pop_draw_buffer (void) G_GNUC_DEPRECATED;
void
cogl_flush (void);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_1_CONTEXT_H__ */
diff --git a/cogl/winsys/cogl-texture-pixmap-x11.h b/cogl/winsys/cogl-texture-pixmap-x11.h
index 77ff9425..eaa743db 100644
--- a/cogl/winsys/cogl-texture-pixmap-x11.h
+++ b/cogl/winsys/cogl-texture-pixmap-x11.h
@@ -26,11 +26,9 @@
#define __COGL_H_INSIDE__
-#include <glib.h>
-
#include <cogl/cogl-context.h>
-G_BEGIN_DECLS
+COGL_BEGIN_DECLS
/**
* SECTION:cogl-texture-pixmap-x11
@@ -183,6 +181,6 @@ cogl_texture_pixmap_x11_set_damage_object (CoglTexturePixmapX11 *texture,
CoglBool
cogl_is_texture_pixmap_x11 (void *object);
-G_END_DECLS
+COGL_END_DECLS
#endif /* __COGL_TEXTURE_PIXMAP_X11_H */
diff --git a/configure.ac b/configure.ac
index 17d696e3..59f5ce78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -391,8 +391,11 @@ AS_IF([test "x$enable_glib" = "xyes"],
[
AS_GLIBCONFIG([deps/glib])
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_srcdir)/deps"
+ COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_builddir)/deps"
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_srcdir)/deps/glib"
+ COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_builddir)/deps/glib"
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_srcdir)/deps/gmodule"
+ COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -I\$(top_builddir)/deps/gmodule"
EXPERIMENTAL_CONFIG=yes
EXPERIMENTAL_OPTIONS="$EXPERIMENTAL_OPTIONS --disable-glib,"
enable_nls=no
diff --git a/tests/conform/test-utils.h b/tests/conform/test-utils.h
index 265dc329..02af5f41 100644
--- a/tests/conform/test-utils.h
+++ b/tests/conform/test-utils.h
@@ -1,6 +1,8 @@
#ifndef _TEST_UTILS_H_
#define _TEST_UTILS_H_
+#include <glib.h>
+
/* We don't really care about functions that are defined without a
header for the unit tests so we can just disable it here */
#ifdef __GNUC__