diff options
author | Neil Roberts <neil@linux.intel.com> | 2012-11-22 18:01:10 +0000 |
---|---|---|
committer | Neil Roberts <neil@linux.intel.com> | 2012-11-26 18:03:29 +0000 |
commit | 4138b3141c2f39cddaea3d72bfc04342ed5092d0 (patch) | |
tree | 14e360aca7ea86716b632269479f04c7bef4129e /cogl/cogl-types.h | |
parent | 8b1eabdc08da89a57792f9eb666e893a6cbb4e26 (diff) | |
download | cogl-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.h | 28 |
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__ */ |