MySQL  8.0.27
Source Code Documentation
config.h
Go to the documentation of this file.
1 /* Copyright (c) 2009, 2021, Oracle and/or its affiliates.
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License, version 2.0,
5  as published by the Free Software Foundation.
6 
7  This program is also distributed with certain software (including
8  but not limited to OpenSSL) that is licensed under separate terms,
9  as designated in a particular file or component or in included license
10  documentation. The authors of MySQL hereby grant you an additional
11  permission to link the program and your derivative works with the
12  separately licensed software that they have included with MySQL.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License, version 2.0, for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22 
23 #ifndef MY_CONFIG_H
24 #define MY_CONFIG_H
25 
26 /*
27  * From configure.cmake, in order of appearance
28  */
29 
30 /* Libraries */
31 #define HAVE_LIBM 1
32 /* #undef HAVE_LIBNSL */
33 /* #undef HAVE_LIBSOCKET */
34 #define HAVE_LIBDL 1
35 #define HAVE_LIBRT 1
36 /* #undef HAVE_LIBWRAP */
37 /* #undef HAVE_LIBWRAP_PROTOTYPES */
38 
39 /* Header files */
40 #define HAVE_ALLOCA_H 1
41 #define HAVE_ARPA_INET_H 1
42 #define HAVE_DLFCN_H 1
43 #define HAVE_EXECINFO_H 1
44 #define HAVE_FPU_CONTROL_H 1
45 #define HAVE_GRP_H 1
46 #define HAVE_LANGINFO_H 1
47 #define HAVE_MALLOC_H 1
48 #define HAVE_NETINET_IN_H 1
49 #define HAVE_POLL_H 1
50 #define HAVE_PWD_H 1
51 #define HAVE_STRINGS_H 1
52 #define HAVE_SYS_CDEFS_H 1
53 #define HAVE_SYS_IOCTL_H 1
54 #define HAVE_SYS_MMAN_H 1
55 #define HAVE_SYS_PRCTL_H 1
56 #define HAVE_SYS_RESOURCE_H 1
57 #define HAVE_SYS_SELECT_H 1
58 #define HAVE_SYS_SOCKET_H 1
59 #define HAVE_TERM_H 1
60 #define HAVE_TERMIOS_H 1
61 #define HAVE_TERMIO_H 1
62 #define HAVE_UNISTD_H 1
63 #define HAVE_SYS_WAIT_H 1
64 #define HAVE_SYS_PARAM_H 1
65 #define HAVE_FNMATCH_H 1
66 #define HAVE_SYS_UN_H 1
67 #define HAVE_SASL_SASL_H 1
68 
69 /* Functions */
70 /* #undef HAVE_ALIGNED_MALLOC */
71 #define HAVE_BACKTRACE 1
72 #define HAVE_INDEX 1
73 #define HAVE_CHOWN 1
74 #define HAVE_CUSERID 1
75 /* #undef HAVE_DIRECTIO */
76 #define HAVE_FTRUNCATE 1
77 #define HAVE_FCHMOD 1
78 #define HAVE_FCNTL 1
79 #define HAVE_FDATASYNC 1
80 #define HAVE_DECL_FDATASYNC 1
81 #define HAVE_FEDISABLEEXCEPT 1
82 #define HAVE_FSYNC 1
83 /* #undef HAVE_GETHRTIME */
84 #define HAVE_GETPASS 1
85 /* #undef HAVE_GETPASSPHRASE */
86 #define HAVE_GETPWNAM 1
87 #define HAVE_GETPWUID 1
88 #define HAVE_GETRUSAGE 1
89 #define HAVE_INITGROUPS 1
90 /* #undef HAVE_ISSETUGID */
91 #define HAVE_GETUID 1
92 #define HAVE_GETEUID 1
93 #define HAVE_GETGID 1
94 #define HAVE_GETEGID 1
95 /* #undef HAVE_LSAN_DO_RECOVERABLE_LEAK_CHECK */
96 #define HAVE_MADVISE 1
97 #define HAVE_MALLOC_INFO 1
98 #define HAVE_MLOCK 1
99 #define HAVE_MLOCKALL 1
100 #define HAVE_MMAP64 1
101 #define HAVE_POLL 1
102 #define HAVE_POSIX_FALLOCATE 1
103 #define HAVE_POSIX_MEMALIGN 1
104 #define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
105 #define HAVE_PTHREAD_GETAFFINITY_NP 1
106 #define HAVE_PTHREAD_SIGMASK 1
107 #define HAVE_PTHREAD_SETNAME_NP_LINUX 1
108 /* #undef HAVE_PTHREAD_SETNAME_NP_MACOS */
109 /* #undef HAVE_SET_THREAD_DESCRIPTION */
110 #define HAVE_SLEEP 1
111 #define HAVE_STPCPY 1
112 #define HAVE_STPNCPY 1
113 /* #undef HAVE_STRLCPY */
114 /* #undef HAVE_STRLCAT */
115 #define HAVE_STRPTIME 1
116 #define HAVE_STRSIGNAL 1
117 /* #undef HAVE_TELL */
118 #define HAVE_VASPRINTF 1
119 #define HAVE_MEMALIGN 1
120 #define HAVE_NL_LANGINFO 1
121 /* #undef HAVE_HTONLL */
122 #define HAVE_EPOLL 1
123 
124 /* WL2373 */
125 #define HAVE_SYS_TIME_H 1
126 #define HAVE_SYS_TIMES_H 1
127 #define HAVE_TIMES 1
128 #define HAVE_GETTIMEOFDAY 1
129 
130 /* Symbols */
131 #define HAVE_LRAND48 1
132 #define GWINSZ_IN_SYS_IOCTL 1
133 #define FIONREAD_IN_SYS_IOCTL 1
134 /* #undef FIONREAD_IN_SYS_FILIO */
135 #define HAVE_MADV_DONTDUMP 1
136 #define HAVE_O_TMPFILE
137 
138 /* #undef HAVE_KQUEUE */
139 #define HAVE_SETNS 1
140 /* #undef HAVE_KQUEUE_TIMERS */
141 #define HAVE_POSIX_TIMERS 1
142 
143 /* Endianess */
144 /* #undef WORDS_BIGENDIAN */
145 #define HAVE_ENDIAN_CONVERSION_MACROS 1
146 
147 /* Type sizes */
148 #define SIZEOF_VOIDP 8
149 #define SIZEOF_CHARP 8
150 #define SIZEOF_LONG 8
151 #define SIZEOF_SHORT 2
152 #define SIZEOF_INT 4
153 #define SIZEOF_LONG_LONG 8
154 #define SIZEOF_TIME_T 8
155 #define HAVE_ULONG 1
156 #define HAVE_U_INT32_T 1
157 #define HAVE_TM_GMTOFF 1
158 
159 /* Support for tagging symbols with __attribute__((visibility("hidden"))) */
160 #define HAVE_VISIBILITY_HIDDEN 1
161 
162 /* Code tests*/
163 #define HAVE_CLOCK_GETTIME 1
164 #define HAVE_CLOCK_REALTIME 1
165 #define STACK_DIRECTION -1
166 #define TIME_WITH_SYS_TIME 1
167 /* #undef NO_FCNTL_NONBLOCK */
168 #define HAVE_PAUSE_INSTRUCTION 1
169 /* #undef HAVE_FAKE_PAUSE_INSTRUCTION */
170 /* #undef HAVE_HMT_PRIORITY_INSTRUCTION */
171 #define HAVE_ABI_CXA_DEMANGLE 1
172 #define HAVE_BUILTIN_UNREACHABLE 1
173 #define HAVE_BUILTIN_EXPECT 1
174 #define HAVE_BUILTIN_STPCPY 1
175 #define HAVE_GCC_SYNC_BUILTINS 1
176 /* #undef HAVE_VALGRIND */
177 #define HAVE_SYS_GETTID 1
178 /* #undef HAVE_PTHREAD_GETTHREADID_NP */
179 /* #undef HAVE_PTHREAD_THREADID_NP */
180 #define HAVE_INTEGER_PTHREAD_SELF 1
181 #define HAVE_PTHREAD_SETNAME_NP 1
182 
183 /* IPV6 */
184 /* #undef HAVE_NETINET_IN6_H */
185 /* #undef HAVE_STRUCT_IN6_ADDR */
186 
187 /*
188  * Platform specific CMake files
189  */
190 #define MACHINE_TYPE "x86_64"
191 /* #undef LINUX_ALPINE */
192 /* #undef LINUX_SUSE */
193 #define HAVE_LINUX_LARGE_PAGES 1
194 /* #undef HAVE_SOLARIS_LARGE_PAGES */
195 /* #undef HAVE_SOLARIS_ATOMIC */
196 /* #undef WITH_SYSTEMD_DEBUG */
197 #define SYSTEM_TYPE "Linux"
198 /* This should mean case insensitive file system */
199 /* #undef FN_NO_CASE_SENSE */
200 /* #undef APPLE_ARM */
201 
202 /*
203  * From main CMakeLists.txt
204  */
205 /* #undef CHECK_ERRMSG_FORMAT */
206 #define MAX_INDEXES 64U
207 /* #undef WITH_INNODB_MEMCACHED */
208 /* #undef ENABLE_MEMCACHED_SASL */
209 /* #undef ENABLE_MEMCACHED_SASL_PWDB */
210 #define ENABLED_PROFILING 1
211 /* #undef HAVE_ASAN */
212 /* #undef HAVE_LSAN */
213 /* #undef HAVE_UBSAN */
214 /* #undef HAVE_TSAN */
215 /* #undef ENABLED_LOCAL_INFILE */
216 #define KERBEROS_LIB_CONFIGURED
217 #define SCRAM_LIB_CONFIGURED
218 /* #undef WITH_HYPERGRAPH_OPTIMIZER */
219 /* #undef KERBEROS_LIB_SSPI */
220 
221 /* Lock Order */
222 /* #undef WITH_LOCK_ORDER */
223 
224 /* Character sets and collations */
225 #define DEFAULT_MYSQL_HOME "/usr/local/mysql"
226 #define SHAREDIR "/usr/local/mysql/share"
227 #define DEFAULT_BASEDIR "/usr/local/mysql"
228 #define MYSQL_DATADIR "/usr/local/mysql/data"
229 #define MYSQL_KEYRINGDIR "/usr/local/mysql/keyring"
230 #define DEFAULT_CHARSET_HOME "/usr/local/mysql"
231 #define PLUGINDIR "/usr/local/mysql/lib/plugin"
232 #define DEFAULT_SYSCONFDIR "/usr/local/mysql/etc"
233 #define DEFAULT_TMPDIR P_tmpdir
234 /*
235  * Readline
236  */
237 #define HAVE_MBSTATE_T
238 #define HAVE_LANGINFO_CODESET
239 #define HAVE_WCSDUP
240 #define HAVE_WCHAR_T 1
241 #define HAVE_WINT_T 1
242 #define HAVE_CURSES_H 1
243 /* #undef HAVE_NCURSES_H */
244 #define USE_LIBEDIT_INTERFACE 1
245 #define HAVE_HIST_ENTRY 1
246 #define USE_NEW_EDITLINE_INTERFACE 1
247 #define EDITLINE_HAVE_COMPLETION_CHAR 1
248 /* #undef EDITLINE_HAVE_COMPLETION_INT */
249 
250 
251 /*
252  * Libedit
253  */
254 #define HAVE_GETLINE 1
255 /* #undef HAVE___SECURE_GETENV */
256 #define HAVE_SECURE_GETENV 1
257 /* #undef HAVE_VIS */
258 /* #undef HAVE_UNVIS */
259 /* #undef HAVE_GETPW_R_DRAFT */
260 #define HAVE_GETPW_R_POSIX
261 
262 /*
263  * Character sets
264  */
265 #define MYSQL_DEFAULT_CHARSET_NAME "utf8mb4"
266 #define MYSQL_DEFAULT_COLLATION_NAME "utf8mb4_0900_ai_ci"
267 
268 /*
269  * Performance schema
270  */
271 #define WITH_PERFSCHEMA_STORAGE_ENGINE 1
272 /* #undef DISABLE_PSI_THREAD */
273 /* #undef DISABLE_PSI_MUTEX */
274 /* #undef DISABLE_PSI_RWLOCK */
275 /* #undef DISABLE_PSI_COND */
276 /* #undef DISABLE_PSI_FILE */
277 /* #undef DISABLE_PSI_TABLE */
278 /* #undef DISABLE_PSI_SOCKET */
279 /* #undef DISABLE_PSI_STAGE */
280 /* #undef DISABLE_PSI_STATEMENT */
281 /* #undef DISABLE_PSI_SP */
282 /* #undef DISABLE_PSI_PS */
283 /* #undef DISABLE_PSI_IDLE */
284 /* #undef DISABLE_PSI_ERROR */
285 /* #undef DISABLE_PSI_STATEMENT_DIGEST */
286 /* #undef DISABLE_PSI_METADATA */
287 /* #undef DISABLE_PSI_MEMORY */
288 /* #undef DISABLE_PSI_TRANSACTION */
289 
290 /*
291  * MySQL version
292  */
293 #define MYSQL_VERSION_MAJOR 8
294 #define MYSQL_VERSION_MINOR 0
295 #define MYSQL_VERSION_PATCH 27
296 #define MYSQL_VERSION_EXTRA ""
297 #define PACKAGE "mysql"
298 #define PACKAGE_VERSION "8.0.27"
299 #define VERSION "8.0.27"
300 #define PROTOCOL_VERSION 10
301 
302 /*
303  * CPU info
304  */
305 #define CPU_LEVEL1_DCACHE_LINESIZE 64
306 
307 #define CPU_PAGE_SIZE 4096
308 
309 
310 /*
311  * NDB
312  */
313 /* #undef HAVE_GETRLIMIT */
314 /* #undef WITH_NDBCLUSTER_STORAGE_ENGINE */
315 /* #undef HAVE_PTHREAD_SETSCHEDPARAM */
316 
317 /*
318  * Other
319  */
320 /* #undef EXTRA_DEBUG */
321 #define HANDLE_FATAL_SIGNALS 1
322 
323 /*
324  * Hardcoded values needed by libevent/NDB/memcached
325  */
326 #define HAVE_FCNTL_H 1
327 #define HAVE_GETADDRINFO 1
328 #define HAVE_INTTYPES_H 1
329 /* libevent's select.c is not Windows compatible */
330 #ifndef _WIN32
331 #define HAVE_SELECT 1
332 #endif
333 #define HAVE_SIGNAL_H 1
334 #define HAVE_STDARG_H 1
335 #define HAVE_STDINT_H 1
336 #define HAVE_STDLIB_H 1
337 #define HAVE_STRTOK_R 1
338 #define HAVE_STRTOLL 1
339 #define HAVE_SYS_STAT_H 1
340 #define HAVE_SYS_TYPES_H 1
341 #define SIZEOF_CHAR 1
342 
343 /* For --secure-file-priv */
344 #define DEFAULT_SECURE_FILE_PRIV_DIR "NULL"
345 #define HAVE_LIBNUMA 1
346 
347 /* For default value of --early_plugin_load */
348 /* #undef DEFAULT_EARLY_PLUGIN_LOAD */
349 
350 /* For default value of --partial_revokes */
351 #define DEFAULT_PARTIAL_REVOKES 0
352 
353 #define SO_EXT ".so"
354 
355 
356 /* From libmysql/CMakeLists.txt */
357 #define HAVE_UNIX_DNS_SRV 1
358 /* #undef HAVE_WIN32_DNS_SRV */
359 
360 /* ARM crc32 support */
361 /* #undef HAVE_ARMV8_CRC32_INTRINSIC */
362 
363 #endif