1/* Copyright (c) 2009, 2013, 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 as published by
5 the Free Software Foundation; version 2 of the License.
6
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
11
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
15
16#ifndef MY_CONFIG_H
17#define MY_CONFIG_H
18#define DOT_FRM_VERSION 6
19/* Headers we may want to use. */
20#define STDC_HEADERS 1
21#define _GNU_SOURCE 1
22#define HAVE_ALLOCA_H 1
23#define HAVE_ARPA_INET_H 1
24#define HAVE_ASM_MSR_H 1
25#define HAVE_ASM_TERMBITS_H 1
26#define HAVE_CRYPT_H 1
27#define HAVE_CURSES_H 1
28/* #undef HAVE_BFD_H */
29/* #undef HAVE_NDIR_H */
30#define HAVE_DIRENT_H 1
31#define HAVE_DLFCN_H 1
32#define HAVE_EXECINFO_H 1
33#define HAVE_FCNTL_H 1
34#define HAVE_FENV_H 1
35#define HAVE_FLOAT_H 1
36#define HAVE_FNMATCH_H 1
37#define HAVE_FPU_CONTROL_H 1
38#define HAVE_GRP_H 1
39/* #undef HAVE_IA64INTRIN_H */
40/* #undef HAVE_IEEEFP_H */
41#define HAVE_INTTYPES_H 1
42/* #undef HAVE_KQUEUE */
43#define HAVE_LIMITS_H 1
44#define HAVE_LINK_H 1
45#define HAVE_LINUX_UNISTD_H 1
46#define HAVE_LOCALE_H 1
47#define HAVE_MALLOC_H 1
48#define HAVE_MEMORY_H 1
49#define HAVE_NETINET_IN_H 1
50#define HAVE_PATHS_H 1
51#define HAVE_POLL_H 1
52#define HAVE_PWD_H 1
53#define HAVE_SCHED_H 1
54/* #undef HAVE_SELECT_H */
55/* #undef HAVE_SOLARIS_LARGE_PAGES */
56#define HAVE_STDDEF_H 1
57#define HAVE_STDLIB_H 1
58#define HAVE_STDARG_H 1
59#define HAVE_STRINGS_H 1
60#define HAVE_STRING_H 1
61#define HAVE_STDINT_H 1
62/* #undef HAVE_SYNCH_H */
63/* #undef HAVE_SYSENT_H */
64#define HAVE_SYS_DIR_H 1
65#define HAVE_SYS_FILE_H 1
66/* #undef HAVE_SYS_FPU_H */
67#define HAVE_SYS_IOCTL_H 1
68#define HAVE_SYS_IPC_H 1
69/* #undef HAVE_SYS_MALLOC_H */
70#define HAVE_SYS_MMAN_H 1
71/* #undef HAVE_SYS_NDIR_H */
72/* #undef HAVE_SYS_PTE_H */
73/* #undef HAVE_SYS_PTEM_H */
74#define HAVE_SYS_PRCTL_H 1
75#define HAVE_SYS_RESOURCE_H 1
76#define HAVE_SYS_SELECT_H 1
77#define HAVE_SYS_SHM_H 1
78#define HAVE_SYS_SOCKET_H 1
79/* #undef HAVE_SYS_SOCKIO_H */
80#define HAVE_SYS_UTSNAME_H 1
81#define HAVE_SYS_STAT_H 1
82/* #undef HAVE_SYS_STREAM_H */
83#define HAVE_SYS_SYSCALL_H 1
84#define HAVE_SYS_TIMEB_H 1
85#define HAVE_SYS_TIMES_H 1
86#define HAVE_SYS_TIME_H 1
87#define HAVE_SYS_TYPES_H 1
88#define HAVE_SYS_UN_H 1
89/* #undef HAVE_SYS_VADVISE_H */
90#define HAVE_SYS_STATVFS_H 1
91#define HAVE_UCONTEXT_H 1
92#define HAVE_TERM_H 1
93/* #undef HAVE_TERMBITS_H */
94#define HAVE_TERMIOS_H 1
95#define HAVE_TERMIO_H 1
96#define HAVE_TERMCAP_H 1
97#define HAVE_TIME_H 1
98#define HAVE_UNISTD_H 1
99#define HAVE_UTIME_H 1
100/* #undef HAVE_VARARGS_H */
101/* #undef HAVE_SYS_UTIME_H */
102#define HAVE_SYS_WAIT_H 1
103#define HAVE_SYS_PARAM_H 1
104
105/* Libraries */
106/* #undef HAVE_LIBWRAP */
107/* #undef HAVE_SYSTEMD */
108/* #undef HAVE_CRC32_VPMSUM */
109
110/* Does "struct timespec" have a "sec" and "nsec" field? */
111/* #undef HAVE_TIMESPEC_TS_SEC */
112
113/* Readline */
114/* #undef HAVE_HIST_ENTRY */
115/* #undef USE_LIBEDIT_INTERFACE */
116#define USE_NEW_READLINE_INTERFACE 1
117
118#define FIONREAD_IN_SYS_IOCTL 1
119#define GWINSZ_IN_SYS_IOCTL 1
120/* #undef TIOCSTAT_IN_SYS_IOCTL */
121/* #undef FIONREAD_IN_SYS_FILIO */
122
123/* Functions we may want to use. */
124#define HAVE_ACCEPT4 1
125#define HAVE_ACCESS 1
126/* #undef HAVE_AIOWAIT */
127#define HAVE_ALARM 1
128#define HAVE_ALLOCA 1
129/* #undef HAVE_BFILL */
130#define HAVE_INDEX 1
131#define HAVE_CLOCK_GETTIME 1
132#define HAVE_CRYPT 1
133#define HAVE_CUSERID 1
134#define HAVE_DLADDR 1
135#define HAVE_DLERROR 1
136#define HAVE_DLOPEN 1
137#define HAVE_FCHMOD 1
138#define HAVE_FCNTL 1
139#define HAVE_FDATASYNC 1
140#define HAVE_DECL_FDATASYNC 1
141#define HAVE_FEDISABLEEXCEPT 1
142#define HAVE_FESETROUND 1
143/* #undef HAVE_FP_EXCEPT */
144#define HAVE_FSEEKO 1
145#define HAVE_FSYNC 1
146#define HAVE_FTIME 1
147#define HAVE_GETIFADDRS 1
148#define HAVE_GETCWD 1
149#define HAVE_GETHOSTBYADDR_R 1
150/* #undef HAVE_GETHRTIME */
151#define HAVE_GETPAGESIZE 1
152#define HAVE_GETPASS 1
153/* #undef HAVE_GETPASSPHRASE */
154#define HAVE_GETPWNAM 1
155#define HAVE_GETPWUID 1
156#define HAVE_GETRLIMIT 1
157#define HAVE_GETRUSAGE 1
158#define HAVE_GETTIMEOFDAY 1
159#define HAVE_GETWD 1
160#define HAVE_GMTIME_R 1
161/* #undef gmtime_r */
162#define HAVE_IN_ADDR_T 1
163#define HAVE_INITGROUPS 1
164#define HAVE_ISNAN 1
165#define HAVE_ISINF 1
166#define HAVE_LARGE_PAGE_OPTION 1
167#define HAVE_LDIV 1
168#define HAVE_LRAND48 1
169#define HAVE_LOCALTIME_R 1
170#define HAVE_LOG2 1
171#define HAVE_LSTAT 1
172#define HAVE_MEMALIGN 1
173/* #define HAVE_MLOCK 1 see Bug#54662 */
174#define HAVE_NPTL 1
175#define HAVE_NL_LANGINFO 1
176#define HAVE_MADVISE 1
177#define HAVE_DECL_MADVISE 1
178/* #undef HAVE_DECL_MHA_MAPSIZE_VA */
179#define HAVE_MALLINFO 1
180#define HAVE_MEMCPY 1
181#define HAVE_MEMMOVE 1
182#define HAVE_MKSTEMP 1
183#define HAVE_MKOSTEMP 1
184#define HAVE_MLOCKALL 1
185#define HAVE_MMAP 1
186#define HAVE_MMAP64 1
187#define HAVE_PERROR 1
188#define HAVE_POLL 1
189#define HAVE_POSIX_FALLOCATE 1
190#define HAVE_LINUX_FALLOC_H 1
191#define HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE 1
192#define HAVE_PREAD 1
193#define HAVE_PAUSE_INSTRUCTION 1
194/* #undef HAVE_FAKE_PAUSE_INSTRUCTION */
195/* #undef HAVE_RDTSCLL */
196/* #undef HAVE_READ_REAL_TIME */
197/* #undef HAVE_PTHREAD_ATTR_CREATE */
198#define HAVE_PTHREAD_ATTR_GETGUARDSIZE 1
199#define HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
200#define HAVE_PTHREAD_ATTR_SETSCOPE 1
201#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
202/* #undef HAVE_PTHREAD_CONDATTR_CREATE */
203#define HAVE_PTHREAD_KEY_DELETE 1
204#define HAVE_PTHREAD_KILL 1
205#define HAVE_PTHREAD_RWLOCK_RDLOCK 1
206#define HAVE_PTHREAD_SIGMASK 1
207/* #undef HAVE_PTHREAD_YIELD_NP */
208#define HAVE_PTHREAD_YIELD_ZERO_ARG 1
209#define PTHREAD_ONCE_INITIALIZER PTHREAD_ONCE_INIT
210#define HAVE_PUTENV 1
211/* #undef HAVE_READDIR_R */
212#define HAVE_READLINK 1
213#define HAVE_REALPATH 1
214#define HAVE_RENAME 1
215#define HAVE_RINT 1
216/* #undef HAVE_RWLOCK_INIT */
217#define HAVE_SCHED_YIELD 1
218#define HAVE_SELECT 1
219#define HAVE_SETENV 1
220#define HAVE_SETLOCALE 1
221#define HAVE_SETUPTERM 1
222#define HAVE_SIGSET 1
223#define HAVE_SIGACTION 1
224/* #undef HAVE_SIGTHREADMASK */
225#define HAVE_SIGWAIT 1
226#define HAVE_SLEEP 1
227#define HAVE_SNPRINTF 1
228#define HAVE_STPCPY 1
229#define HAVE_STRERROR 1
230#define HAVE_STRCOLL 1
231#define HAVE_STRNLEN 1
232#define HAVE_STRPBRK 1
233#define HAVE_STRTOK_R 1
234#define HAVE_STRTOLL 1
235#define HAVE_STRTOUL 1
236#define HAVE_STRTOULL 1
237/* #undef HAVE_TELL */
238/* #undef HAVE_THR_SETCONCURRENCY */
239/* #undef HAVE_THR_YIELD */
240#define HAVE_TIME 1
241#define HAVE_TIMES 1
242#define HAVE_VIDATTR 1
243#define HAVE_VIO_READ_BUFF 1
244#define HAVE_VASPRINTF 1
245#define HAVE_VSNPRINTF 1
246#define HAVE_FTRUNCATE 1
247#define HAVE_TZNAME 1
248/* Symbols we may use */
249/* #undef HAVE_SYS_ERRLIST */
250/* used by stacktrace functions */
251#define HAVE_BSS_START 1
252#define HAVE_BACKTRACE 1
253#define HAVE_BACKTRACE_SYMBOLS 1
254#define HAVE_BACKTRACE_SYMBOLS_FD 1
255/* #undef HAVE_PRINTSTACK */
256#define HAVE_IPV6 1
257/* #undef ss_family */
258/* #undef HAVE_SOCKADDR_IN_SIN_LEN */
259/* #undef HAVE_SOCKADDR_IN6_SIN6_LEN */
260#define STRUCT_TIMESPEC_HAS_TV_SEC 1
261#define STRUCT_TIMESPEC_HAS_TV_NSEC 1
262
263#define USE_MB 1
264#define USE_MB_IDENT 1
265
266/* this means that valgrind headers and macros are available */
267/* #undef HAVE_VALGRIND_MEMCHECK_H */
268
269/* this means WITH_VALGRIND - we change some code paths for valgrind */
270/* #undef HAVE_valgrind */
271
272/* Types we may use */
273#ifdef __APPLE__
274 /*
275 Special handling required for OSX to support universal binaries that
276 mix 32 and 64 bit architectures.
277 */
278 #if(__LP64__)
279 #define SIZEOF_LONG 8
280 #else
281 #define SIZEOF_LONG 4
282 #endif
283 #define SIZEOF_VOIDP SIZEOF_LONG
284 #define SIZEOF_CHARP SIZEOF_LONG
285 #define SIZEOF_SIZE_T SIZEOF_LONG
286#else
287/* No indentation, to fetch the lines from verification scripts */
288#define SIZEOF_LONG 8
289#define SIZEOF_VOIDP 8
290#define SIZEOF_CHARP 8
291#define SIZEOF_SIZE_T 8
292#endif
293
294#define HAVE_LONG 1
295#define HAVE_CHARP 1
296#define SIZEOF_INT 4
297#define HAVE_INT 1
298#define SIZEOF_LONG_LONG 8
299#define HAVE_LONG_LONG 1
300#define SIZEOF_OFF_T 8
301#define HAVE_OFF_T 1
302/* #undef SIZEOF_UCHAR */
303/* #undef HAVE_UCHAR */
304#define SIZEOF_UINT 4
305#define HAVE_UINT 1
306#define SIZEOF_ULONG 8
307#define HAVE_ULONG 1
308/* #undef SIZEOF_INT8 */
309/* #undef HAVE_INT8 */
310/* #undef SIZEOF_UINT8 */
311/* #undef HAVE_UINT8 */
312/* #undef SIZEOF_INT16 */
313/* #undef HAVE_INT16 */
314/* #undef SIZEOF_UINT16 */
315/* #undef HAVE_UINT16 */
316/* #undef SIZEOF_INT32 */
317/* #undef HAVE_INT32 */
318/* #undef SIZEOF_UINT32 */
319/* #undef HAVE_UINT32 */
320/* #undef SIZEOF_INT64 */
321/* #undef HAVE_INT64 */
322/* #undef SIZEOF_UINT64 */
323/* #undef HAVE_UINT64 */
324
325#define SOCKET_SIZE_TYPE socklen_t
326
327#define HAVE_MBSTATE_T 1
328
329#define MAX_INDEXES 64
330
331#define QSORT_TYPE_IS_VOID 1
332#define RETQSORTTYPE void
333
334#define RETSIGTYPE void
335#define VOID_SIGHANDLER 1
336#define HAVE_SIGHANDLER_T 1
337#define STRUCT_RLIMIT struct rlimit
338
339#ifdef __APPLE__
340 #if __BIG_ENDIAN
341 #define WORDS_BIGENDIAN 1
342 #endif
343#else
344/* #undef WORDS_BIGENDIAN */
345#endif
346
347/* Define to `__inline__' or `__inline' if that's what the C compiler calls
348 it, or to nothing if 'inline' is not supported under any name. */
349#define C_HAS_inline 1
350#if !(C_HAS_inline)
351#ifndef __cplusplus
352# define inline
353#endif
354#endif
355
356
357#define TARGET_OS_LINUX 1
358
359#define HAVE_WCTYPE_H 1
360#define HAVE_WCHAR_H 1
361#define HAVE_LANGINFO_H 1
362#define HAVE_MBRLEN 1
363#define HAVE_MBSRTOWCS 1
364#define HAVE_MBRTOWC 1
365#define HAVE_WCWIDTH 1
366#define HAVE_ISWLOWER 1
367#define HAVE_ISWUPPER 1
368#define HAVE_TOWLOWER 1
369#define HAVE_TOWUPPER 1
370#define HAVE_ISWCTYPE 1
371#define HAVE_WCHAR_T 1
372
373
374#define HAVE_STRCASECMP 1
375#define HAVE_TCGETATTR 1
376
377#define HAVE_WEAK_SYMBOL 1
378#define HAVE_ABI_CXA_DEMANGLE 1
379#define HAVE_ATTRIBUTE_CLEANUP 1
380
381#define HAVE_POSIX_SIGNALS 1
382/* #undef HAVE_BSD_SIGNALS */
383
384/* #undef HAVE_SVR3_SIGNALS */
385/* #undef HAVE_V7_SIGNALS */
386#define HAVE_ERR_remove_thread_state 1
387
388/* #undef HAVE_SOLARIS_STYLE_GETHOST */
389
390#define HAVE_GCC_ATOMIC_BUILTINS 1
391#define HAVE_GCC_C11_ATOMICS 1
392/* #undef HAVE_SOLARIS_ATOMIC */
393#define HAVE_DECL_SHM_HUGETLB 1
394#define HAVE_LINUX_LARGE_PAGES 1
395#define HUGETLB_USE_PROC_MEMINFO 1
396/* #undef NO_FCNTL_NONBLOCK */
397#define NO_ALARM 1
398
399/* #undef _LARGE_FILES */
400#define _LARGEFILE_SOURCE 1
401/* #undef _LARGEFILE64_SOURCE */
402
403#define TIME_WITH_SYS_TIME 1
404
405#define STACK_DIRECTION -1
406
407#define SYSTEM_TYPE "Linux"
408#define MACHINE_TYPE "x86_64"
409#define DEFAULT_MACHINE "x86_64"
410/* #undef HAVE_DTRACE */
411
412#define SIGNAL_WITH_VIO_CLOSE 1
413
414/* Windows stuff, mostly functions, that have Posix analogs but named differently */
415/* #undef S_IROTH */
416/* #undef S_IFIFO */
417/* #undef IPPROTO_IPV6 */
418/* #undef IPV6_V6ONLY */
419/* #undef sigset_t */
420/* #undef mode_t */
421/* #undef SIGQUIT */
422/* #undef SIGPIPE */
423/* #undef isnan */
424/* #undef popen */
425/* #undef pclose */
426/* #undef ssize_t */
427/* #undef strcasecmp */
428/* #undef strncasecmp */
429/* #undef snprintf */
430/* #undef strtok_r */
431/* #undef strtoll */
432/* #undef strtoull */
433/* #undef vsnprintf */
434#if defined(_MSC_VER) && (_MSC_VER > 1800)
435#define tzname _tzname
436#define P_tmpdir "C:\\TEMP"
437#endif
438#if defined(_MSC_VER) && (_MSC_VER > 1310)
439# define HAVE_SETENV
440#define setenv(a,b,c) _putenv_s(a,b)
441#endif
442#define PSAPI_VERSION 1 /* for GetProcessMemoryInfo() */
443
444/* We don't want the min/max macros */
445#ifdef __WIN__
446#define NOMINMAX 1
447#endif
448
449/*
450 MySQL features
451*/
452/* #undef ENABLED_LOCAL_INFILE */
453#define ENABLED_PROFILING 1
454/* #undef EXTRA_DEBUG */
455/* #undef USE_SYMDIR */
456
457/* Character sets and collations */
458#define MYSQL_DEFAULT_CHARSET_NAME "latin1"
459#define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci"
460
461#define USE_MB 1
462#define USE_MB_IDENT 1
463
464/* This should mean case insensitive file system */
465/* #undef FN_NO_CASE_SENSE */
466
467#define HAVE_CHARSET_armscii8 1
468#define HAVE_CHARSET_ascii 1
469#define HAVE_CHARSET_big5 1
470#define HAVE_CHARSET_cp1250 1
471#define HAVE_CHARSET_cp1251 1
472#define HAVE_CHARSET_cp1256 1
473#define HAVE_CHARSET_cp1257 1
474#define HAVE_CHARSET_cp850 1
475#define HAVE_CHARSET_cp852 1
476#define HAVE_CHARSET_cp866 1
477#define HAVE_CHARSET_cp932 1
478#define HAVE_CHARSET_dec8 1
479#define HAVE_CHARSET_eucjpms 1
480#define HAVE_CHARSET_euckr 1
481#define HAVE_CHARSET_gb2312 1
482#define HAVE_CHARSET_gbk 1
483#define HAVE_CHARSET_geostd8 1
484#define HAVE_CHARSET_greek 1
485#define HAVE_CHARSET_hebrew 1
486#define HAVE_CHARSET_hp8 1
487#define HAVE_CHARSET_keybcs2 1
488#define HAVE_CHARSET_koi8r 1
489#define HAVE_CHARSET_koi8u 1
490#define HAVE_CHARSET_latin1 1
491#define HAVE_CHARSET_latin2 1
492#define HAVE_CHARSET_latin5 1
493#define HAVE_CHARSET_latin7 1
494#define HAVE_CHARSET_macce 1
495#define HAVE_CHARSET_macroman 1
496#define HAVE_CHARSET_sjis 1
497#define HAVE_CHARSET_swe7 1
498#define HAVE_CHARSET_tis620 1
499#define HAVE_CHARSET_ucs2 1
500#define HAVE_CHARSET_ujis 1
501#define HAVE_CHARSET_utf8mb4 1
502/* #undef HAVE_CHARSET_utf8mb3 */
503#define HAVE_CHARSET_utf8 1
504#define HAVE_CHARSET_utf16 1
505#define HAVE_CHARSET_utf32 1
506#define HAVE_UCA_COLLATIONS 1
507#define HAVE_COMPRESS 1
508#define HAVE_EncryptAes128Ctr 1
509#define HAVE_EncryptAes128Gcm 1
510
511/*
512 Stuff that always need to be defined (compile breaks without it)
513*/
514#define HAVE_SPATIAL 1
515#define HAVE_RTREE_KEYS 1
516#define HAVE_QUERY_CACHE 1
517#define BIG_TABLES 1
518
519/*
520 Important storage engines (those that really need define
521 WITH_<ENGINE>_STORAGE_ENGINE for the whole server)
522*/
523#define WITH_INNOBASE_STORAGE_ENGINE 1
524#define WITH_PARTITION_STORAGE_ENGINE 1
525#define WITH_PERFSCHEMA_STORAGE_ENGINE 1
526#define WITH_ARIA_STORAGE_ENGINE 1
527#define USE_ARIA_FOR_TMP_TABLES 1
528
529#define DEFAULT_MYSQL_HOME "/usr/local/mysql"
530#define SHAREDIR "/usr/local/mysql/share"
531#define DEFAULT_BASEDIR "/usr/local/mysql"
532#define MYSQL_DATADIR "/usr/local/mysql/data"
533#define DEFAULT_CHARSET_HOME "/usr/local/mysql"
534#define PLUGINDIR "/usr/local/mysql/lib/plugin"
535/* #undef DEFAULT_SYSCONFDIR */
536#define DEFAULT_TMPDIR P_tmpdir
537
538/* #undef SO_EXT */
539
540#define MYSQL_VERSION_MAJOR 10
541#define MYSQL_VERSION_MINOR 3
542#define MYSQL_VERSION_PATCH 7
543#define MYSQL_VERSION_EXTRA ""
544
545#define PACKAGE "mysql"
546#define PACKAGE_BUGREPORT ""
547#define PACKAGE_NAME "MySQL Server"
548#define PACKAGE_STRING "MySQL Server 10.3.7"
549#define PACKAGE_TARNAME "mysql"
550#define PACKAGE_VERSION "10.3.7"
551#define VERSION "10.3.7"
552#define PROTOCOL_VERSION 10
553
554#define MALLOC_LIBRARY "system"
555
556/* time_t related defines */
557
558#define SIZEOF_TIME_T 8
559/* #undef TIME_T_UNSIGNED */
560
561#ifndef EMBEDDED_LIBRARY
562/* #undef WSREP_INTERFACE_VERSION */
563#define WITH_WSREP 1
564#define WSREP_PROC_INFO 1
565#endif
566
567#ifdef _AIX
568/*
569 AIX includes inttypes.h from sys/types.h
570 Explicitly request format macros before the first inclusion of inttypes.h
571*/
572#define __STDC_FORMAT_MACROS
573#endif
574
575#endif
576