Github User Fetcher
1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
graphene-version-macros.h
Go to the documentation of this file.
1
/* graphene-version.h: Versioning macros
2
*
3
* SPDX-License-Identifier: MIT
4
*
5
* Copyright 2014 Emmanuele Bassi
6
*
7
* Permission is hereby granted, free of charge, to any person obtaining a copy
8
* of this software and associated documentation files (the "Software"), to deal
9
* in the Software without restriction, including without limitation the rights
10
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
* copies of the Software, and to permit persons to whom the Software is
12
* furnished to do so, subject to the following conditions:
13
*
14
* The above copyright notice and this permission notice shall be included in
15
* all copies or substantial portions of the Software.
16
*
17
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
* THE SOFTWARE.
24
*/
25
26
#pragma once
27
28
#if !defined(GRAPHENE_H_INSIDE) && !defined(GRAPHENE_COMPILATION)
29
#error "Only graphene.h can be included directly."
30
#endif
31
32
#include "
graphene-version.h
"
33
34
/**
35
* GRAPHENE_ENCODE_VERSION:
36
* @major: a major version
37
* @minor: a minor version
38
* @micro: a micro version
39
*
40
* Encodes the given components into a value that can be used for
41
* version checks.
42
*
43
* Since: 1.0
44
*/
45
#define GRAPHENE_ENCODE_VERSION(major,minor,micro) \
46
((major) << 24 | (minor) << 16 | (micro) << 8)
47
48
#define _GRAPHENE_ENCODE_VERSION(maj,min) \
49
((maj) << 16 | (min) << 8)
50
51
#ifdef GRAPHENE_DISABLE_DEPRECATION_WARNINGS
52
# define GRAPHENE_DEPRECATED _GRAPHENE_PUBLIC
53
# define GRAPHENE_DEPRECATED_FOR(f) _GRAPHENE_PUBLIC
54
# define GRAPHENE_UNAVAILABLE(maj,min) _GRAPHENE_PUBLIC
55
#else
56
# define GRAPHENE_DEPRECATED _GRAPHENE_DEPRECATED _GRAPHENE_PUBLIC
57
# define GRAPHENE_DEPRECATED_FOR(f) _GRAPHENE_DEPRECATED_FOR(f) _GRAPHENE_PUBLIC
58
# define GRAPHENE_UNAVAILABLE(maj,min) _GRAPHENE_UNAVAILABLE(maj,min) _GRAPHENE_PUBLIC
59
#endif
60
61
/**
62
* GRAPHENE_VERSION:
63
*
64
* The current version of the library, as encoded through
65
* the %GRAPHENE_ENCODE_VERSION macro. Can be used for version
66
* checking, for instance:
67
*
68
* |[<!-- language="C" -->
69
* #if GRAPHENE_VERSION >= GRAPHENE_ENCODE_VERSION (1, 2, 3)
70
* // code that uses API introduced after version 1.2.3
71
* #endif
72
* ]|
73
*
74
* Since: 1.0
75
*/
76
#define GRAPHENE_VERSION \
77
GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION, \
78
GRAPHENE_MINOR_VERSION, \
79
GRAPHENE_MICRO_VERSION)
80
81
#define GRAPHENE_CHECK_VERSION(major,minor,micro) \
82
((major) > GRAPHENE_MAJOR_VERSION || \
83
(major) == GRAPHENE_MAJOR_VERSION && (minor) > GRAPHENE_MINOR_VERSION || \
84
(major) == GRAPHENE_MAJOR_VERSION && (minor) == GRAPHENE_MINOR_VERSION && (micro) >= GRAPHENE_MICRO_VERSION)
85
86
/* evaluates to the current stable release; for development cycles
87
* this means the next stable target.
88
*/
89
#if (GRAPHENE_MINOR_VERSION == 99)
90
# define GRAPHENE_VERSION_CUR_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION + 1, 0))
91
#elif (GRAPHENE_MINOR_VERSION % 2)
92
# define GRAPHENE_VERSION_CUR_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION, GRAPHENE_MINOR_VERSION + 1))
93
#else
94
# define GRAPHENE_VERSION_CUR_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION, GRAPHENE_MINOR_VERSION))
95
#endif
96
97
/* evaluates to the previous stable version */
98
#if (GRAPHENE_MINOR_VERSION == 99)
99
# define GRAPHENE_VERSION_PREV_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION + 1, 0))
100
#elif (GRAPHENE_MINOR_VERSION % 2)
101
# define GRAPHENE_VERSION_PREV_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION, GRAPHENE_MINOR_VERSION - 1))
102
#else
103
# define GRAPHENE_VERSION_PREV_STABLE (_GRAPHENE_ENCODE_VERSION (GRAPHENE_MAJOR_VERSION, GRAPHENE_MINOR_VERSION - 2))
104
#endif
105
106
/* version defines
107
*
108
* remember to add new macros at the beginning of each development cycle
109
*/
110
111
#define GRAPHENE_VERSION_1_0 (_GRAPHENE_ENCODE_VERSION (1, 0))
112
#define GRAPHENE_VERSION_1_2 (_GRAPHENE_ENCODE_VERSION (1, 2))
113
#define GRAPHENE_VERSION_1_4 (_GRAPHENE_ENCODE_VERSION (1, 4))
114
#define GRAPHENE_VERSION_1_6 (_GRAPHENE_ENCODE_VERSION (1, 6))
115
#define GRAPHENE_VERSION_1_8 (_GRAPHENE_ENCODE_VERSION (1, 8))
116
#define GRAPHENE_VERSION_1_10 (_GRAPHENE_ENCODE_VERSION (1, 10))
117
118
#ifndef GRAPHENE_VERSION_MIN_REQUIRED
119
# define GRAPHENE_VERSION_MIN_REQUIRED (GRAPHENE_VERSION_1_0)
120
#endif
121
122
#ifndef GRAPHENE_VERSION_MAX_ALLOWED
123
# if GRAPHENE_VERSION_MIN_REQUIRED > GRAPHENE_VERSION_PREV_STABLE
124
# define GRAPHENE_VERSION_MAX_ALLOWED (GRAPHENE_VERSION_MIN_REQUIRED)
125
# else
126
# define GRAPHENE_VERSION_MAX_ALLOWED (GRAPHENE_VERSION_CUR_STABLE)
127
# endif
128
#endif
129
130
/* sanity checks */
131
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_MIN_REQUIRED
132
# error "GRAPHENE_VERSION_MAX_ALLOWED must be >= GRAPHENE_VERSION_MIN_REQUIRED"
133
#endif
134
#if GRAPHENE_VERSION_MIN_REQUIRED < GRAPHENE_VERSION_1_0
135
# error "GRAPHENE_VERSION_MIN_REQUIRED must be >= GRAPHENE_VERSION_1_0"
136
#endif
137
138
/* unconditional */
139
#define GRAPHENE_DEPRECATED_IN_1_0 GRAPHENE_DEPRECATED
140
#define GRAPHENE_DEPRECATED_IN_1_0_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
141
#define GRAPHENE_AVAILABLE_IN_1_0 _GRAPHENE_PUBLIC
142
143
/* Graphene 1.2 */
144
#if GRAPHENE_VERSION_MIN_REQUIRED >= GRAPHENE_VERSION_1_2
145
# define GRAPHENE_DEPRECATED_IN_1_2 GRAPHENE_DEPRECATED
146
# define GRAPHENE_DEPRECATED_IN_1_2_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
147
#else
148
# define GRAPHENE_DEPRECATED_IN_1_2 _GRAPHENE_PUBLIC
149
# define GRAPHENE_DEPRECATED_IN_1_2_FOR(f) _GRAPHENE_PUBLIC
150
#endif
151
152
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_1_2
153
# define GRAPHENE_AVAILABLE_IN_1_2 GRAPHENE_UNAVAILABLE(1,2)
154
#else
155
# define GRAPHENE_AVAILABLE_IN_1_2 _GRAPHENE_PUBLIC
156
#endif
157
158
/* Graphene 1.4 */
159
#if GRAPHENE_VERSION_MIN_REQUIRED >= GRAPHENE_VERSION_1_4
160
# define GRAPHENE_DEPRECATED_IN_1_4 GRAPHENE_DEPRECATED
161
# define GRAPHENE_DEPRECATED_IN_1_4_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
162
#else
163
# define GRAPHENE_DEPRECATED_IN_1_4 _GRAPHENE_PUBLIC
164
# define GRAPHENE_DEPRECATED_IN_1_4_FOR(f) _GRAPHENE_PUBLIC
165
#endif
166
167
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_1_4
168
# define GRAPHENE_AVAILABLE_IN_1_4 GRAPHENE_UNAVAILABLE(1,4)
169
#else
170
# define GRAPHENE_AVAILABLE_IN_1_4 _GRAPHENE_PUBLIC
171
#endif
172
173
/* Graphene 1.6 */
174
#if GRAPHENE_VERSION_MIN_REQUIRED >= GRAPHENE_VERSION_1_6
175
# define GRAPHENE_DEPRECATED_IN_1_6 GRAPHENE_DEPRECATED
176
# define GRAPHENE_DEPRECATED_IN_1_6_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
177
#else
178
# define GRAPHENE_DEPRECATED_IN_1_6 _GRAPHENE_PUBLIC
179
# define GRAPHENE_DEPRECATED_IN_1_6_FOR(f) _GRAPHENE_PUBLIC
180
#endif
181
182
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_1_6
183
# define GRAPHENE_AVAILABLE_IN_1_6 GRAPHENE_UNAVAILABLE(1,6)
184
#else
185
# define GRAPHENE_AVAILABLE_IN_1_6 _GRAPHENE_PUBLIC
186
#endif
187
188
/* Graphene 1.8 */
189
#if GRAPHENE_VERSION_MIN_REQUIRED >= GRAPHENE_VERSION_1_8
190
# define GRAPHENE_DEPRECATED_IN_1_8 GRAPHENE_DEPRECATED
191
# define GRAPHENE_DEPRECATED_IN_1_8_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
192
#else
193
# define GRAPHENE_DEPRECATED_IN_1_8 _GRAPHENE_PUBLIC
194
# define GRAPHENE_DEPRECATED_IN_1_8_FOR(f) _GRAPHENE_PUBLIC
195
#endif
196
197
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_1_8
198
# define GRAPHENE_AVAILABLE_IN_1_8 GRAPHENE_UNAVAILABLE(1,8)
199
#else
200
# define GRAPHENE_AVAILABLE_IN_1_8 _GRAPHENE_PUBLIC
201
#endif
202
203
/* Graphene 1.10 */
204
#if GRAPHENE_VERSION_MIN_REQUIRED >= GRAPHENE_VERSION_1_10
205
# define GRAPHENE_DEPRECATED_IN_1_10 GRAPHENE_DEPRECATED
206
# define GRAPHENE_DEPRECATED_IN_1_10_FOR(f) GRAPHENE_DEPRECATED_FOR(f)
207
#else
208
# define GRAPHENE_DEPRECATED_IN_1_10 _GRAPHENE_PUBLIC
209
# define GRAPHENE_DEPRECATED_IN_1_10_FOR(f) _GRAPHENE_PUBLIC
210
#endif
211
212
#if GRAPHENE_VERSION_MAX_ALLOWED < GRAPHENE_VERSION_1_10
213
# define GRAPHENE_AVAILABLE_IN_1_10 GRAPHENE_UNAVAILABLE(1,10)
214
#else
215
# define GRAPHENE_AVAILABLE_IN_1_10 _GRAPHENE_PUBLIC
216
#endif
graphene-version.h
nix
store
z8bykf5nzmfh6jq23a5kd86xjdk0s0x6-graphene-1.10.8-dev
include
graphene-1.0
graphene-version-macros.h
Generated by
1.10.0