From b689737a4353e382bf7195d655307d7645781505 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 29 Feb 2012 18:03:15 +0800 Subject: [PATCH] Update clutter-version.h.win32(.in) Make it like the clutter-version.h.in template. Since we aren't having Windows-specific items in here (such as CLUTTER_FLAVOUR), perhaps we could get the dllexport stuff in clutter-version.h.in, where it can be used when necessary, and this file would be gone. --- clutter/clutter-version.h.win32.in | 157 ++++++++++++++++++++++------- 1 file changed, 118 insertions(+), 39 deletions(-) diff --git a/clutter/clutter-version.h.win32.in b/clutter/clutter-version.h.win32.in index 76efc4e3f..5f5cf6322 100644 --- a/clutter/clutter-version.h.win32.in +++ b/clutter/clutter-version.h.win32.in @@ -23,12 +23,51 @@ * */ +#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION) +#error "Only can be included directly." +#endif + /** * SECTION:clutter-version * @short_description: Versioning utility macros * * Clutter offers a set of macros for checking the version of the library - * an application was linked to. + * at compile time; it also provides a function to perform the same check + * at run time. + * + * Clutter adds version information to both API deprecations and additions; + * by definining the macros %CLUTTER_VERSION_MIN_REQUIRED and + * %CLUTTER_VERSION_MAX_ALLOWED, you can specify the range of Clutter versions + * whose API you want to use. Functions that were deprecated before, or + * introduced after, this range will trigger compiler warnings. For instance, + * if we define the following symbols: + * + * |[ + * CLUTTER_VERSION_MIN_REQUIRED = CLUTTER_VERSION_1_6 + * CLUTTER_VERSION_MAX_ALLOWED = CLUTTER_VERSION_1_8 + * ]| + * + * and we have the following functions annotated in the Clutter headers: + * + * |[ + * void clutter_function_A (void) CLUTTER_DEPRECATED_IN_1_4; + * void clutter_function_B (void) CLUTTER_DEPRECATED_IN_1_6; + * void clutter_function_C (void) CLUTTER_AVAILABLE_IN_1_8; + * void clutter_function_D (void) CLUTTER_AVAILABLE_IN_1_10; + * ]| + * + * then any application code using the functions above will get the output: + * + * |[ + * clutter_function_A: deprecation warning + * clutter_function_B: no warning + * clutter_function_C: no warning + * clutter_function_D: symbol not available warning + * ]| + * + * It is possible to disable the compiler warnings by defining the macro + * %CLUTTER_DISABLE_DEPRECATION_WARNINGS before including the clutter.h + * header. */ #ifndef __CLUTTER_VERSION_H__ @@ -93,6 +132,84 @@ G_BEGIN_DECLS (CLUTTER_MINOR_VERSION << 16) | \ (CLUTTER_MICRO_VERSION << 8)) +/* XXX - Every new stable minor release bump should add a macro here */ + +/** + * CLUTTER_VERSION_1_0: + * + * A macro that evaluates to the 1.0 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_0 (G_ENCODE_VERSION (1, 0)) + +/** + * CLUTTER_VERSION_1_2: + * + * A macro that evaluates to the 1.2 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_2 (G_ENCODE_VERSION (1, 2)) + +/** + * CLUTTER_VERSION_1_4: + * + * A macro that evaluates to the 1.4 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_4 (G_ENCODE_VERSION (1, 4)) + +/** + * CLUTTER_VERSION_1_6: + * + * A macro that evaluates to the 1.6 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_6 (G_ENCODE_VERSION (1, 6)) + +/** + * CLUTTER_VERSION_1_8: + * + * A macro that evaluates to the 1.8 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_8 (G_ENCODE_VERSION (1, 8)) + +/** + * CLUTTER_VERSION_1_10: + * + * A macro that evaluates to the 1.10 version of Clutter, in a format + * that can be used by the C pre-processor. + * + * Since: 1.10 + */ +#define CLUTTER_VERSION_1_10 (G_ENCODE_VERSION (1, 10)) + +/* evaluates to the current stable version; for development cycles, + * this means the next stable target + */ +#if (CLUTTER_MINOR_VERSION % 2) +# define CLUTTER_VERSION_CUR_STABLE (G_ENCODE_VERSION (CLUTTER_MAJOR_VERSION, CLUTTER_MINOR_VERSION + 1)) +#else +# define CLUTTER_VERSION_CUR_STABLE (G_ENCODE_VERSION (CLUTTER_MAJOR_VERSION, CLUTTER_MINOR_VERSION)) +#endif + +/* evaluates to the previous stable version */ +#if (CLUTTER_MINOR_VERSION % 2) +# define CLUTTER_VERSION_PREV_STABLE (G_ENCODE_VERSION (CLUTTER_MAJOR_VERSION, CLUTTER_MINOR_VERSION - 1)) +#else +# define CLUTTER_VERSION_PREV_STABLE (G_ENCODE_VERSION (CLUTTER_MAJOR_VERSION, CLUTTER_MINOR_VERSION - 2)) +#endif + /** * CLUTTER_CHECK_VERSION: * @major: major version, like 1 in 1.2.3 @@ -107,44 +224,6 @@ G_BEGIN_DECLS (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION > (minor)) || \ (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION == (minor) && CLUTTER_MICRO_VERSION >= (micro))) -/** - * CLUTTER_FLAVOUR: - * - * GL Windowing system used - * - * Since: 0.4 - */ -#define CLUTTER_FLAVOUR "win32" - -/** - * CLUTTER_COGL - * - * Cogl (internal GL abstraction utility library) backend. Can be "gl" or - * "gles" currently - * - * Since: 0.4 - */ -#define CLUTTER_COGL "gl" - -/** - * CLUTTER_STAGE_TYPE: - * - * The default GObject type for the Clutter stage. - * - * Since: 0.8 - */ -#define CLUTTER_STAGE_TYPE CLUTTER_TYPE_STAGE_WIN32 - -/** - * CLUTTER_NO_FPU: - * - * Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise - * - * @Deprecated: 0.6: This macro is no longer defined (identical code is used - * regardless the presence of FPU). - */ -#define CLUTTER_NO_FPU CLUTTER_NO_FPU_MACRO_WAS_REMOVED - /** * clutter_major_version: *