ZNC  trunk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
version.h
Go to the documentation of this file.
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 -1
24 // This one is for display purpose and to check ABI compatibility of modules
25 #define VERSION_STR "1.7.x"
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
const char * ZNC_VERSION_EXTRA