]> jfr.im git - irc/znc/znc.git/blob - include/znc/version.h
ZNC 1.7.4-rc1
[irc/znc/znc.git] / include / znc / version.h
1 /*
2 Copyright (C) 2004-2018 ZNC, see the NOTICE file for details.
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 */
16 #ifndef ZNC_VERSION_H
17 #define ZNC_VERSION_H
18
19 #ifndef BUILD_WITH_CMAKE
20 // The following defines are for #if comparison (preprocessor only likes ints)
21 #define VERSION_MAJOR 1
22 #define VERSION_MINOR 7
23 #define VERSION_PATCH 4
24 // This one is for display purpose and to check ABI compatibility of modules
25 #define VERSION_STR "1.7.4"
26 #endif
27
28 // Don't use this one
29 #define VERSION (VERSION_MAJOR + VERSION_MINOR / 10.0)
30
31 // autoconf: You can add -DVERSION_EXTRA="stuff" to your CXXFLAGS!
32 // CMake: You can add -DVERSION_EXTRA=stuff to cmake!
33 #ifndef VERSION_EXTRA
34 #define VERSION_EXTRA ""
35 #endif
36 extern const char* ZNC_VERSION_EXTRA;
37
38 // Compilation options which affect ABI
39
40 #ifdef HAVE_IPV6
41 #define ZNC_VERSION_TEXT_IPV6 "yes"
42 #else
43 #define ZNC_VERSION_TEXT_IPV6 "no"
44 #endif
45
46 #ifdef HAVE_LIBSSL
47 #define ZNC_VERSION_TEXT_SSL "yes"
48 #else
49 #define ZNC_VERSION_TEXT_SSL "no"
50 #endif
51
52 #ifdef HAVE_THREADED_DNS
53 #define ZNC_VERSION_TEXT_DNS "threads"
54 #else
55 #define ZNC_VERSION_TEXT_DNS "blocking"
56 #endif
57
58 #ifdef HAVE_ICU
59 #define ZNC_VERSION_TEXT_ICU "yes"
60 #else
61 #define ZNC_VERSION_TEXT_ICU "no"
62 #endif
63
64 #ifdef HAVE_I18N
65 #define ZNC_VERSION_TEXT_I18N "yes"
66 #else
67 #define ZNC_VERSION_TEXT_I18N "no"
68 #endif
69
70 #define ZNC_COMPILE_OPTIONS_STRING \
71 "IPv6: " ZNC_VERSION_TEXT_IPV6 ", SSL: " ZNC_VERSION_TEXT_SSL \
72 ", DNS: " ZNC_VERSION_TEXT_DNS ", charset: " ZNC_VERSION_TEXT_ICU \
73 ", i18n: " ZNC_VERSION_TEXT_I18N
74
75 #endif // !ZNC_VERSION_H