summaryrefslogtreecommitdiff
path: root/cogl/cogl-types.h
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 /cogl/cogl-types.h
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>
Diffstat (limited to 'cogl/cogl-types.h')
-rw-r--r--cogl/cogl-types.h28
1 files changed, 25 insertions, 3 deletions
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__ */