1
+// SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+#include <stdio.h>
4
+#include "./config.h"
5
+
6
+// Optional features
7
+
8
+#ifdef ENABLE_ACLK
9
+#define FEAT_CLOUD "YES"
10
+#else
11
+#define FEAT_CLOUD "NO"
12
+#endif
13
+
14
+#ifdef ENABLE_DBENGINE
15
+#define FEAT_DBENGINE "YES"
16
+#else
17
+#define FEAT_DBENGINE "NO"
18
+#endif
19
+
20
+#if defined(HAVE_X509_VERIFY_PARAM_set1_host) && HAVE_X509_VERIFY_PARAM_set1_host == 1
21
+#define FEAT_TLS_HOST_VERIFY "YES"
22
+#else
23
+#define FEAT_TLS_HOST_VERIFY "NO"
24
+#endif
25
+
26
+#ifdef ENABLE_HTTPS
27
+#define FEAT_NATIVE_HTTPS "YES"
28
+#else
29
+#define FEAT_NATIVE_HTTPS "NO"
30
+#endif
31
+
32
+// Optional libraries
33
+
34
+#ifdef ENABLE_JSONC
35
+#define FEAT_JSONC "YES"
36
+#else
37
+#define FEAT_JSONC "NO"
38
+#endif
39
+
40
+#ifdef ENABLE_JEMALLOC
41
+#define FEAT_JEMALLOC "YES"
42
+#else
43
+#define FEAT_JEMALLOC "NO"
44
+#endif
45
+
46
+#ifdef ENABLE_TCMALLOC
47
+#define FEAT_TCMALLOC "YES"
48
+#else
49
+#define FEAT_TCMALLOC "NO"
50
+#endif
51
+
52
+#ifdef HAVE_CAPABILITY
53
+#define FEAT_LIBCAP "YES"
54
+#else
55
+#define FEAT_LIBCAP "NO"
56
+#endif
57
+
58
+#ifdef ACLK_NO_LIBMOSQ
59
+#define FEAT_MOSQUITTO "NO"
60
+#else
61
+#define FEAT_MOSQUITTO "YES"
62
+#endif
63
+
64
+#ifdef ACLK_NO_LWS
65
+#define FEAT_LWS "NO"
66
+#else
67
+#define FEAT_LWS "YES"
68
+#endif
69
+
70
+#ifdef NETDATA_WITH_ZLIB
71
+#define FEAT_ZLIB "YES"
72
+#else
73
+#define FEAT_ZLIB "NO"
74
+#endif
75
+
76
+#ifdef STORAGE_WITH_MATH
77
+#define FEAT_LIBM "YES"
78
+#else
79
+#define FEAT_LIBM "NO"
80
+#endif
81
+
82
+#ifdef HAVE_CRYPTO
83
+#define FEAT_CRYPTO "YES"
84
+#else
85
+#define FEAT_CRYPTO "NO"
86
+#endif
87
+
88
+// Optional plugins
89
+
90
+#ifdef ENABLE_APPS_PLUGIN
91
+#define FEAT_APPS_PLUGIN "YES"
92
+#else
93
+#define FEAT_APPS_PLUGIN "NO"
94
+#endif
95
+
96
+#ifdef HAVE_FREEIPMI
97
+#define FEAT_IPMI "YES"
98
+#else
99
+#define FEAT_IPMI "NO"
100
+#endif
101
+
102
+#ifdef HAVE_CUPS
103
+#define FEAT_CUPS "YES"
104
+#else
105
+#define FEAT_CUPS "NO"
106
+#endif
107
+
108
+#ifdef HAVE_LIBMNL
109
+#define FEAT_NFACCT "YES"
110
+#else
111
+#define FEAT_NFACCT "NO"
112
+#endif
113
+
114
+#ifdef HAVE_LIBXENSTAT
115
+#define FEAT_XEN "YES"
116
+#else
117
+#define FEAT_XEN "NO"
118
+#endif
119
+
120
+#ifdef HAVE_XENSTAT_VBD_ERROR
121
+#define FEAT_XEN_VBD_ERROR "YES"
122
+#else
123
+#define FEAT_XEN_VBD_ERROR "NO"
124
+#endif
125
+
126
+#ifdef HAVE_LIBBPF
127
+#define FEAT_EBPF "YES"
128
+#else
129
+#define FEAT_EBPF "NO"
130
+#endif
131
+
132
+#ifdef HAVE_SETNS
133
+#define FEAT_CGROUP_NET "YES"
134
+#else
135
+#define FEAT_CGROUP_NET "NO"
136
+#endif
137
+
138
+#ifdef ENABLE_PERF_PLUGIN
139
+#define FEAT_PERF "YES"
140
+#else
141
+#define FEAT_PERF "NO"
142
+#endif
143
+
144
+#ifdef ENABLE_SLABINFO
145
+#define FEAT_SLABINFO "YES"
146
+#else
147
+#define FEAT_SLABINFO "NO"
148
+#endif
149
+
150
+// Optional Exporters
151
+
152
+#ifdef HAVE_KINESIS
153
+#define FEAT_KINESIS "YES"
154
+#else
155
+#define FEAT_KINESIS "NO"
156
+#endif
157
+
158
+#ifdef ENABLE_EXPORTING_PUBSUB
159
+#define FEAT_PUBSUB "YES"
160
+#else
161
+#define FEAT_PUBSUB "NO"
162
+#endif
163
+
164
+#ifdef HAVE_MONGOC
165
+#define FEAT_MONGO "YES"
166
+#else
167
+#define FEAT_MONGO "NO"
168
+#endif
169
+
170
+#ifdef ENABLE_PROMETHEUS_REMOTE_WRITE
171
+#define FEAT_REMOTE_WRITE "YES"
172
+#else
173
+#define FEAT_REMOTE_WRITE "NO"
174
+#endif
175
+
176
+
177
+void print_build_info(void) {
178
+ printf("Configure options: %s\n", CONFIGURE_COMMAND);
179
+
180
+ printf("Features:\n");
181
+ printf(" dbengine: %s\n", FEAT_DBENGINE);
182
+ printf(" Native HTTPS: %s\n", FEAT_NATIVE_HTTPS);
183
+ printf(" Netdata Cloud: %s\n", FEAT_CLOUD);
184
+ printf(" TLS Host Verification: %s\n", FEAT_TLS_HOST_VERIFY);
185
+
186
+ printf("Libraries:\n");
187
+ printf(" jemalloc: %s\n", FEAT_JEMALLOC);
188
+ printf(" JSON-C: %s\n", FEAT_JSONC);
189
+ printf(" libcap: %s\n", FEAT_LIBCAP);
190
+ printf(" libcrypto: %s\n", FEAT_CRYPTO);
191
+ printf(" libm: %s\n", FEAT_LIBM);
192
+ printf(" LWS: %s\n", FEAT_LWS);
193
+ printf(" mosquitto: %s\n", FEAT_MOSQUITTO);
194
+ printf(" tcalloc: %s\n", FEAT_TCMALLOC);
195
+ printf(" zlib: %s\n", FEAT_ZLIB);
196
+
197
+ printf("Plugins:\n");
198
+ printf(" apps: %s\n", FEAT_APPS_PLUGIN);
199
+ printf(" cgroup Network Tracking: %s\n", FEAT_CGROUP_NET);
200
+ printf(" CUPS: %s\n", FEAT_CUPS);
201
+ printf(" EBPF: %s\n", FEAT_EBPF);
202
+ printf(" IPMI: %s\n", FEAT_IPMI);
203
+ printf(" NFACCT: %s\n", FEAT_NFACCT);
204
+ printf(" perf: %s\n", FEAT_PERF);
205
+ printf(" slabinfo: %s\n", FEAT_SLABINFO);
206
+ printf(" Xen: %s\n", FEAT_XEN);
207
+ printf(" Xen VBD Error Tracking: %s\n", FEAT_XEN_VBD_ERROR);
208
+
209
+ printf("Exporters:\n");
210
+ printf(" AWS Kinesis: %s\n", FEAT_KINESIS);
211
+ printf(" GCP PubSub: %s\n", FEAT_PUBSUB);
212
+ printf(" MongoDB: %s\n", FEAT_MONGO);
213
+ printf(" Prometheus Remote Write: %s\n", FEAT_REMOTE_WRITE);
214
+};