1 // Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
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, as
5 // 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
11 // additional permission to link the program and your derivative works
12 // with the separately licensed software that they have included with
13 // MySQL.
14 //
15 // Without limiting anything contained in the foregoing, this file,
16 // which is part of MySQL Connector/ODBC, is also subject to the
17 // Universal FOSS Exception, version 1.0, a copy of which can be found at
18 // http://oss.oracle.com/licenses/universal-foss-exception.
19 //
20 // This program is distributed in the hope that it will be useful, but
21 // WITHOUT ANY WARRANTY; without even the implied warranty of
22 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
23 // See the GNU General Public License, version 2.0, for more details.
24 //
25 // You should have received a copy of the GNU General Public License
26 // along with this program; if not, write to the Free Software Foundation, Inc.,
27 // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 
29 #ifndef MY_CONFIG_H
30 #define MY_CONFIG_H
31 
32 /*
33  * From configure.cmake, in order of appearance
34  */
35 /* #undef HAVE_LLVM_LIBCPP */
36 /* #undef _LARGEFILE_SOURCE */
37 
38 /* Libraries */
39 #define HAVE_LIBM 1
40 /* #undef HAVE_LIBNSL */
41 #define HAVE_LIBCRYPT 1
42 /* #undef HAVE_LIBSOCKET */
43 #define HAVE_LIBDL 1
44 #define HAVE_LIBRT 1
45 /* #undef HAVE_LIBWRAP */
46 
47 /* Header files */
48 #define HAVE_ALLOCA_H 1
49 #define HAVE_ARPA_INET_H 1
50 #define HAVE_DLFCN_H 1
51 #define HAVE_EXECINFO_H 1
52 #define HAVE_FPU_CONTROL_H 1
53 #define HAVE_GRP_H 1
54 /* #undef HAVE_IEEEFP_H */
55 #define HAVE_LANGINFO_H 1
56 #define HAVE_MALLOC_H 1
57 #define HAVE_NETINET_IN_H 1
58 #define HAVE_POLL_H 1
59 #define HAVE_PWD_H 1
60 #define HAVE_STRINGS_H 1
61 #define HAVE_SYS_CDEFS_H 1
62 #define HAVE_SYS_IOCTL_H 1
63 #define HAVE_SYS_MMAN_H 1
64 #define HAVE_SYS_RESOURCE_H 1
65 #define HAVE_SYS_SELECT_H 1
66 #define HAVE_SYS_SOCKET_H 1
67 #define HAVE_TERM_H 1
68 #define HAVE_TERMIOS_H 1
69 #define HAVE_TERMIO_H 1
70 #define HAVE_UNISTD_H 1
71 #define HAVE_SYS_WAIT_H 1
72 #define HAVE_SYS_PARAM_H 1
73 #define HAVE_FNMATCH_H 1
74 #define HAVE_SYS_UN_H 1
75 /* #undef HAVE_VIS_H */
76 #define HAVE_SASL_SASL_H 1
77 
78 /* Libevent */
79 /* #undef HAVE_DEVPOLL */
80 /* #undef HAVE_SYS_DEVPOLL_H */
81 #define HAVE_SYS_EPOLL_H 1
82 #define HAVE_TAILQFOREACH 1
83 
84 /* Functions */
85 /* #undef HAVE_ALIGNED_MALLOC */
86 #define HAVE_BACKTRACE 1
87 /* #undef HAVE_PRINTSTACK */
88 #define HAVE_INDEX 1
89 #define HAVE_CLOCK_GETTIME 1
90 #define HAVE_CUSERID 1
91 /* #undef HAVE_DIRECTIO */
92 #define HAVE_FTRUNCATE 1
93 /* #undef HAVE_COMPRESS */
94 /* #undef HAVE_CRYPT */
95 /* #undef HAVE_DLOPEN */
96 #define HAVE_FCHMOD 1
97 #define HAVE_FCNTL 1
98 #define HAVE_FDATASYNC 1
99 #define HAVE_DECL_FDATASYNC 1
100 #define HAVE_FEDISABLEEXCEPT 1
101 #define HAVE_FSEEKO 1
102 #define HAVE_FSYNC 1
103 /* #undef HAVE_GETHOSTBYADDR_R */
104 /* #undef HAVE_GETHRTIME */
105 #define HAVE_GETNAMEINFO 1
106 #define HAVE_GETPASS 1
107 /* #undef HAVE_GETPASSPHRASE */
108 #define HAVE_GETPWNAM 1
109 #define HAVE_GETPWUID 1
110 #define HAVE_GETRLIMIT 1
111 #define HAVE_GETRUSAGE 1
112 #define HAVE_INITGROUPS 1
113 /* #undef HAVE_ISSETUGID */
114 #define HAVE_GETUID 1
115 #define HAVE_GETEUID 1
116 #define HAVE_GETGID 1
117 #define HAVE_GETEGID 1
118 /* #undef HAVE_LSTAT */
119 #define HAVE_MADVISE 1
120 #define HAVE_MALLOC_INFO 1
121 #define HAVE_MEMRCHR 1
122 #define HAVE_MLOCK 1
123 #define HAVE_MLOCKALL 1
124 #define HAVE_MMAP64 1
125 #define HAVE_POLL 1
126 #define HAVE_POSIX_FALLOCATE 1
127 #define HAVE_POSIX_MEMALIGN 1
128 #define HAVE_PREAD 1
129 #define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
130 #define HAVE_PTHREAD_SIGMASK 1
131 /* #undef HAVE_READLINK */
132 /* #undef HAVE_REALPATH */
133 /* #undef HAVE_SETFD */
134 #define HAVE_SIGACTION 1
135 #define HAVE_SLEEP 1
136 #define HAVE_STPCPY 1
137 #define HAVE_STPNCPY 1
138 /* #undef HAVE_STRLCPY */
139 /* #undef HAVE_STRNLEN */
140 /* #undef HAVE_STRLCAT */
141 #define HAVE_STRSIGNAL 1
142 /* #undef HAVE_FGETLN */
143 #define HAVE_STRSEP 1
144 /* #undef HAVE_TELL */
145 #define HAVE_VASPRINTF 1
146 #define HAVE_MEMALIGN 1
147 #define HAVE_NL_LANGINFO 1
148 /* #undef HAVE_HTONLL */
149 #define DNS_USE_CPU_CLOCK_FOR_ID 1
150 #define HAVE_EPOLL 1
151 /* #undef HAVE_EVENT_PORTS */
152 #define HAVE_INET_NTOP 1
153 /* #undef HAVE_WORKING_KQUEUE */
154 #define HAVE_TIMERADD 1
155 #define HAVE_TIMERCLEAR 1
156 #define HAVE_TIMERCMP 1
157 #define HAVE_TIMERISSET 1
158 
159 /* WL2373 */
160 #define HAVE_SYS_TIME_H 1
161 #define HAVE_SYS_TIMES_H 1
162 #define HAVE_TIMES 1
163 #define HAVE_GETTIMEOFDAY 1
164 
165 /* Symbols */
166 #define HAVE_LRAND48 1
167 #define GWINSZ_IN_SYS_IOCTL 1
168 #define FIONREAD_IN_SYS_IOCTL 1
169 /* #undef FIONREAD_IN_SYS_FILIO */
170 /* #undef HAVE_SIGEV_THREAD_ID */
171 /* #undef HAVE_SIGEV_PORT */
172 /* #undef HAVE_LOG2 */
173 
174 #define HAVE_ISINF 1
175 
176 /* #undef HAVE_KQUEUE_TIMERS */
177 #define HAVE_POSIX_TIMERS 1
178 
179 /* Endianess */
180 /* #undef WORDS_BIGENDIAN */
181 
182 /* Type sizes */
183 #define SIZEOF_VOIDP     8
184 #define SIZEOF_CHARP     8
185 #define SIZEOF_LONG      8
186 #define SIZEOF_SHORT     2
187 #define SIZEOF_INT       4
188 #define SIZEOF_LONG_LONG 8
189 #define SIZEOF_OFF_T     8
190 #define SIZEOF_TIME_T    8
191 /* #undef HAVE_UINT */
192 #define HAVE_ULONG 1
193 #define HAVE_U_INT32_T 1
194 #define HAVE_STRUCT_TIMESPEC
195 
196 /* Support for tagging symbols with __attribute__((visibility("hidden"))) */
197 #define HAVE_VISIBILITY_HIDDEN 1
198 
199 /* Code tests*/
200 #define STACK_DIRECTION -1
201 #define TIME_WITH_SYS_TIME 1
202 /* #undef NO_FCNTL_NONBLOCK */
203 #define HAVE_PAUSE_INSTRUCTION 1
204 /* #undef HAVE_FAKE_PAUSE_INSTRUCTION */
205 /* #undef HAVE_HMT_PRIORITY_INSTRUCTION */
206 #define HAVE_ABI_CXA_DEMANGLE 1
207 #define HAVE_BUILTIN_UNREACHABLE 1
208 #define HAVE_BUILTIN_EXPECT 1
209 #define HAVE_BUILTIN_STPCPY 1
210 /* #undef HAVE_GCC_ATOMIC_BUILTINS */
211 #define HAVE_GCC_SYNC_BUILTINS 1
212 /* #undef HAVE_VALGRIND */
213 
214 /* IPV6 */
215 /* #undef HAVE_NETINET_IN6_H */
216 /* #undef HAVE_STRUCT_SOCKADDR_IN6 */
217 /* #undef HAVE_STRUCT_IN6_ADDR */
218 /* #undef HAVE_IPV6 */
219 
220 /* #undef ss_family */
221 /* #undef HAVE_SOCKADDR_IN_SIN_LEN */
222 /* #undef HAVE_SOCKADDR_IN6_SIN6_LEN */
223 
224 /*
225  * Platform specific CMake files
226  */
227 #define MACHINE_TYPE ""
228 /* #undef HAVE_LINUX_LARGE_PAGES */
229 /* #undef HAVE_SOLARIS_LARGE_PAGES */
230 /* #undef HAVE_SOLARIS_ATOMIC */
231 /* #undef HAVE_SOLARIS_STYLE_GETHOST */
232 #define SYSTEM_TYPE "Linux"
233 /* Windows stuff, mostly functions, that have Posix analogs but named differently */
234 /* #undef IPPROTO_IPV6 */
235 /* #undef IPV6_V6ONLY */
236 /* This should mean case insensitive file system */
237 /* #undef FN_NO_CASE_SENSE */
238 
239 /*
240  * From main CMakeLists.txt
241  */
242 /* #undef MAX_INDEXES */
243 /* #undef WITH_INNODB_MEMCACHED */
244 /* #undef ENABLE_MEMCACHED_SASL */
245 /* #undef ENABLE_MEMCACHED_SASL_PWDB */
246 /* #undef ENABLED_PROFILING */
247 /* #undef HAVE_ASAN */
248 /* #undef ENABLED_LOCAL_INFILE */
249 /* #undef OPTIMIZER_TRACE */
250 #define DEFAULT_MYSQL_HOME "/usr/local"
251 #define SHAREDIR "/usr/local/"
252 #define DEFAULT_BASEDIR "/usr/local"
253 #define MYSQL_DATADIR "/usr/local"
254 #define MYSQL_KEYRINGDIR "/usr/local"
255 #define DEFAULT_CHARSET_HOME "/usr/local"
256 #define PLUGINDIR "/usr/local/"
257 /* #undef DEFAULT_SYSCONFDIR */
258 /* #undef DEFAULT_TMPDIR */
259 /* #undef INSTALL_SBINDIR */
260 /* #undef INSTALL_BINDIR */
261 /* #undef INSTALL_MYSQLSHAREDIR */
262 /* #undef INSTALL_SHAREDIR */
263 /* #undef INSTALL_PLUGINDIR */
264 /* #undef INSTALL_INCLUDEDIR */
265 /* #undef INSTALL_SCRIPTDIR */
266 /* #undef INSTALL_MYSQLDATADIR */
267 /* #undef INSTALL_MYSQLKEYRINGDIR */
268 /* #undef INSTALL_PLUGINTESTDIR */
269 /* #undef INSTALL_INFODIR */
270 /* #undef INSTALL_MYSQLTESTDIR */
271 /* #undef INSTALL_DOCREADMEDIR */
272 /* #undef INSTALL_DOCDIR */
273 /* #undef INSTALL_MANDIR */
274 /* #undef INSTALL_SUPPORTFILESDIR */
275 /* #undef INSTALL_LIBDIR */
276 
277 /*
278  * Readline
279  */
280 /* #undef HAVE_MBSTATE_T */
281 /* #undef HAVE_LANGINFO_CODESET */
282 /* #undef HAVE_WCSDUP */
283 /* #undef HAVE_WCHAR_T */
284 /* #undef HAVE_WINT_T */
285 /* #undef HAVE_CURSES_H */
286 /* #undef HAVE_NCURSES_H */
287 /* #undef USE_LIBEDIT_INTERFACE */
288 /* #undef HAVE_HIST_ENTRY */
289 /* #undef USE_NEW_EDITLINE_INTERFACE */
290 
291 /*
292  * Libedit
293  */
294 /* #undef HAVE_DECL_TGOTO */
295 
296 /*
297  * DTrace
298  */
299 /* #undef HAVE_DTRACE */
300 
301 /*
302  * Character sets
303  */
304 #define MYSQL_DEFAULT_CHARSET_NAME "latin1"
305 #define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci"
306 #define HAVE_CHARSET_armscii8 1
307 #define HAVE_CHARSET_ascii 1
308 #define HAVE_CHARSET_big5 1
309 #define HAVE_CHARSET_cp1250 1
310 #define HAVE_CHARSET_cp1251 1
311 #define HAVE_CHARSET_cp1256 1
312 #define HAVE_CHARSET_cp1257 1
313 #define HAVE_CHARSET_cp850 1
314 #define HAVE_CHARSET_cp852 1
315 #define HAVE_CHARSET_cp866 1
316 #define HAVE_CHARSET_cp932 1
317 #define HAVE_CHARSET_dec8 1
318 #define HAVE_CHARSET_eucjpms 1
319 #define HAVE_CHARSET_euckr 1
320 #define HAVE_CHARSET_gb2312 1
321 #define HAVE_CHARSET_gbk 1
322 #define HAVE_CHARSET_gb18030 1
323 #define HAVE_CHARSET_geostd8 1
324 #define HAVE_CHARSET_greek 1
325 #define HAVE_CHARSET_hebrew 1
326 #define HAVE_CHARSET_hp8 1
327 #define HAVE_CHARSET_keybcs2 1
328 #define HAVE_CHARSET_koi8r 1
329 #define HAVE_CHARSET_koi8u 1
330 #define HAVE_CHARSET_latin1 1
331 #define HAVE_CHARSET_latin2 1
332 #define HAVE_CHARSET_latin5 1
333 #define HAVE_CHARSET_latin7 1
334 #define HAVE_CHARSET_macce 1
335 #define HAVE_CHARSET_macroman 1
336 #define HAVE_CHARSET_sjis 1
337 #define HAVE_CHARSET_swe7 1
338 #define HAVE_CHARSET_tis620 1
339 #define HAVE_CHARSET_ucs2 1
340 #define HAVE_CHARSET_ujis 1
341 #define HAVE_CHARSET_utf8mb4 1
342 /* #undef HAVE_CHARSET_utf8mb3 */
343 #define HAVE_CHARSET_utf8 1
344 #define HAVE_CHARSET_utf16 1
345 #define HAVE_CHARSET_utf32 1
346 #define HAVE_UCA_COLLATIONS 1
347 
348 /*
349  * Feature set
350  */
351 /* #undef WITH_PARTITION_STORAGE_ENGINE */
352 
353 /*
354  * Performance schema
355  */
356 #define WITH_PERFSCHEMA_STORAGE_ENGINE 1
357 /* #undef DISABLE_PSI_THREAD */
358 /* #undef DISABLE_PSI_MUTEX */
359 /* #undef DISABLE_PSI_RWLOCK */
360 /* #undef DISABLE_PSI_COND */
361 /* #undef DISABLE_PSI_FILE */
362 /* #undef DISABLE_PSI_TABLE */
363 /* #undef DISABLE_PSI_SOCKET */
364 /* #undef DISABLE_PSI_STAGE */
365 /* #undef DISABLE_PSI_STATEMENT */
366 /* #undef DISABLE_PSI_SP */
367 /* #undef DISABLE_PSI_PS */
368 /* #undef DISABLE_PSI_IDLE */
369 /* #undef DISABLE_PSI_STATEMENT_DIGEST */
370 /* #undef DISABLE_PSI_METADATA */
371 /* #undef DISABLE_PSI_MEMORY */
372 /* #undef DISABLE_PSI_TRANSACTION */
373 
374 /*
375  * syscall
376 */
377 /* #undef HAVE_SYS_THREAD_SELFID */
378 #define HAVE_SYS_GETTID 1
379 /* #undef HAVE_PTHREAD_GETTHREADID_NP */
380 /* #undef HAVE_PTHREAD_SETNAME_NP */
381 #define HAVE_INTEGER_PTHREAD_SELF 1
382 
383 /* Platform-specific C++ compiler behaviors we rely upon */
384 
385 /*
386   This macro defines whether the compiler in use needs a 'typename' keyword
387   to access the types defined inside a class template, such types are called
388   dependent types. Some compilers require it, some others forbid it, and some
389   others may work with or without it. For example, GCC requires the 'typename'
390   keyword whenever needing to access a type inside a template, but msvc
391   forbids it.
392  */
393 /* #undef HAVE_IMPLICIT_DEPENDENT_NAME_TYPING */
394 
395 
396 /*
397  * MySQL version
398  */
399 /* #undef DOT_FRM_VERSION */
400 #define MYSQL_VERSION_MAJOR
401 #define MYSQL_VERSION_MINOR
402 #define MYSQL_VERSION_PATCH
403 #define MYSQL_VERSION_EXTRA ""
404 #define PACKAGE "mysql"
405 #define PACKAGE_BUGREPORT ""
406 #define PACKAGE_NAME "MySQL Server"
407 #define PACKAGE_STRING "MySQL Server "
408 #define PACKAGE_TARNAME "mysql"
409 #define PACKAGE_VERSION ""
410 #define VERSION ""
411 #define PROTOCOL_VERSION 10
412 
413 /*
414  * CPU info
415  */
416 /* #undef CPU_LEVEL1_DCACHE_LINESIZE */
417 
418 /*
419  * NDB
420  */
421 /* #undef WITH_NDBCLUSTER_STORAGE_ENGINE */
422 /* #undef HAVE_PTHREAD_SETSCHEDPARAM */
423 
424 /*
425  * Other
426  */
427 /* #undef EXTRA_DEBUG */
428 #define HAVE_CHOWN 1
429 
430 /*
431  * Hardcoded values needed by libevent/NDB/memcached
432  */
433 #define HAVE_FCNTL_H 1
434 #define HAVE_GETADDRINFO 1
435 #define HAVE_INTTYPES_H 1
436 /* libevent's select.c is not Windows compatible */
437 #ifndef _WIN32
438 #define HAVE_SELECT 1
439 #endif
440 #define HAVE_SIGNAL_H 1
441 #define HAVE_STDARG_H 1
442 #define HAVE_STDINT_H 1
443 #define HAVE_STDLIB_H 1
444 #define HAVE_STRDUP 1
445 #define HAVE_STRTOK_R 1
446 #define HAVE_STRTOLL 1
447 #define HAVE_SYS_STAT_H 1
448 #define HAVE_SYS_TYPES_H 1
449 #define SIZEOF_CHAR 1
450 
451 /*
452  * Needed by libevent
453  */
454 #define HAVE_SOCKLEN_T 1
455 
456 /* For --secure-file-priv */
457 /* #undef DEFAULT_SECURE_FILE_PRIV_DIR */
458 /* #undef DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR */
459 /* #undef HAVE_LIBNUMA */
460 
461 /* For default value of --early_plugin_load */
462 /* #undef DEFAULT_EARLY_PLUGIN_LOAD */
463 
464 #endif
465