From 284b5fd7cffc5af758aa82588d054baf8841a45b Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 2 Jul 2020 10:56:58 +0100 Subject: [PATCH] libsysprof-capture: Rework version macros to drop GLib dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They’re equivalent, using deprecation markers suitable for modern compilers. Signed-off-by: Philip Withnall Helps: #40 --- .../sysprof-version-macros.h | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/src/libsysprof-capture/sysprof-version-macros.h b/src/libsysprof-capture/sysprof-version-macros.h index 8fa1df6f..8152735d 100644 --- a/src/libsysprof-capture/sysprof-version-macros.h +++ b/src/libsysprof-capture/sysprof-version-macros.h @@ -64,34 +64,48 @@ #define _SYSPROF_EXTERN extern #endif +#if defined(__GNUC__) || defined (__clang__) +#define _SYSPROF_DEPRECATED __attribute__((__deprecated__)) +#define _SYSPROF_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead"))) +#define _SYSPROF_UNAVAILABLE(maj,min) __attribute__((__deprecated__("Not available before " #maj "." #min))) +#elif defined(_MSC_VER) +#define _SYSPROF_DEPRECATED __declspec(deprecated) +#define _SYSPROF_DEPRECATED_FOR(f) __declspec(deprecated("is deprecated. Use '" #f "' instead")) +#define _SYSPROF_UNAVAILABLE(maj,min) __declspec(deprecated("is not available before " #maj "." #min)) +#else +#define _SYSPROF_DEPRECATED +#define _SYSPROF_DEPRECATED_FOR(f) +#define _SYSPROF_UNAVAILABLE(maj,min) +#endif + #ifdef SYSPROF_DISABLE_DEPRECATION_WARNINGS #define SYSPROF_DEPRECATED _SYSPROF_EXTERN #define SYSPROF_DEPRECATED_FOR(f) _SYSPROF_EXTERN #define SYSPROF_UNAVAILABLE(maj,min) _SYSPROF_EXTERN #else -#define SYSPROF_DEPRECATED G_DEPRECATED _SYSPROF_EXTERN -#define SYSPROF_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _SYSPROF_EXTERN -#define SYSPROF_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _SYSPROF_EXTERN +#define SYSPROF_DEPRECATED _SYSPROF_DEPRECATED _SYSPROF_EXTERN +#define SYSPROF_DEPRECATED_FOR(f) _SYSPROF_DEPRECATED_FOR(f) _SYSPROF_EXTERN +#define SYSPROF_UNAVAILABLE(maj,min) _SYSPROF_UNAVAILABLE(maj,min) _SYSPROF_EXTERN #endif -#define SYSPROF_VERSION_3_34 (G_ENCODE_VERSION (3, 34)) -#define SYSPROF_VERSION_3_36 (G_ENCODE_VERSION (3, 36)) -#define SYSPROF_VERSION_3_38 (G_ENCODE_VERSION (3, 38)) +#define SYSPROF_VERSION_3_34 (SYSPROF_ENCODE_VERSION (3, 34, 0)) +#define SYSPROF_VERSION_3_36 (SYSPROF_ENCODE_VERSION (3, 36, 0)) +#define SYSPROF_VERSION_3_38 (SYSPROF_ENCODE_VERSION (3, 38, 0)) #if (SYSPROF_MINOR_VERSION == 99) -# define SYSPROF_VERSION_CUR_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION + 1, 0)) +# define SYSPROF_VERSION_CUR_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION + 1, 0, 0)) #elif (SYSPROF_MINOR_VERSION % 2) -# define SYSPROF_VERSION_CUR_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION + 1)) +# define SYSPROF_VERSION_CUR_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION + 1, 0)) #else -# define SYSPROF_VERSION_CUR_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION)) +# define SYSPROF_VERSION_CUR_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION, 0)) #endif #if (SYSPROF_MINOR_VERSION == 99) -# define SYSPROF_VERSION_PREV_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION + 1, 0)) +# define SYSPROF_VERSION_PREV_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION + 1, 0, 0)) #elif (SYSPROF_MINOR_VERSION % 2) -# define SYSPROF_VERSION_PREV_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION - 1)) +# define SYSPROF_VERSION_PREV_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION - 1, 0)) #else -# define SYSPROF_VERSION_PREV_STABLE (G_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION - 2)) +# define SYSPROF_VERSION_PREV_STABLE (SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION - 2, 0)) #endif /**