summaryrefslogtreecommitdiff
path: root/configure.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.6 into 10.7Marko Mäkelä2022-10-131-1/+0
|\
| * Merge 10.5 into 10.6Marko Mäkelä2022-10-061-1/+0
| |\
| | * Merge 10.4 into 10.5Marko Mäkelä2022-10-061-1/+0
| | |\
| | | * Remove HAVE_SNPRINTFMarko Mäkelä2022-10-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This fixes up commit 77c184df7c056da7364e606ac977cc2d3cd826ad which explicitly specifies that we use ISO/IEC 9899:1999 (C99), which includes the snprintf() function.
* | | | Merge 10.6 into 10.7Marko Mäkelä2022-08-241-8/+0
|\ \ \ \ | |/ / /
| * | | Revert aligned_alloc() addition from MDEV-28836Brad Smith2022-08-221-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As pointed out with MDEV-29308 there are issues with the code as is. MariaDB is built as C++11 / C99. aligned_alloc() is not guarenteed to be exposed when building with any mode other than C++17 / C11. The other *BSD's have their stdlib.h header to expose the function with C+11 anyway, but the issue exists in the C99 code too, the build just does not use -Werror. Linux globally defines _GNU_SOURCE hiding the issue as well.
* | | | Merge 10.6 into 10.7Marko Mäkelä2022-07-271-0/+2
|\ \ \ \ | |/ / /
| * | | Merge 10.5 into 10.6Marko Mäkelä2022-07-271-0/+2
| |\ \ \ | | |/ /
| | * | Merge 10.4 into 10.5Marko Mäkelä2022-07-271-0/+2
| | |\ \ | | | |/
| | | * Merge branch '10.3' into 10.4Oleksandr Byelkin2022-07-271-0/+2
| | | |\
| | | | * MDEV-27686 Moving libexecinfo out of FreeBSD / OpenBSD specific CMake codeVladislav Vaintroub2022-07-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On all Unix platforms, link libexecinfo as system library, if it contains backtrace_symbols_fd function, and libc does not contain this function Also remove cmake/os/OpenBSD.cmake, as after the fix it serves no purpose.
* | | | | Merge 10.6 into 10.7Marko Mäkelä2022-06-221-1/+8
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-28836 fixupMarko Mäkelä2022-06-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On GNU/Linux, even though the C11 aligned_alloc() appeared in GNU libc early on, some custom memory allocators did not implement it until recently. For example, before gperftools/gperftools@d406f2285390c402e824dd28e6992f7f890dcdf9 the free() in tcmalloc would fail to free memory that was returned by aligned_alloc(), because the latter would map to the built-in allocator of libc. The Linux specific memalign() has a similar interface and is safer to use, because it has been available for a longer time. For AddressSanitizer, we will use aligned_alloc() so that the constraint on size can be enforced. buf_tmp_reserve_compression_buf(): When HAVE_ALIGNED_ALLOC holds, round up the size to be an integer multiple of the alignment. pfs_malloc(): In the unit test stub, round up the size to be an integer multiple of the alignment.
* | | | | Merge 10.6 into 10.7Marko Mäkelä2022-06-211-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-28836: Memory alignment cleanupMarko Mäkelä2022-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Table_cache_instance: Define the structure aligned at the CPU cache line, and remove a pad[] data member. Krunal Bauskar reported this to improve performance on ARMv8. aligned_malloc(): Wrapper for the Microsoft _aligned_malloc() and the ISO/IEC 9899:2011 <stdlib.h> aligned_alloc(). Note: The parameters are in the Microsoft order (size, alignment), opposite of aligned_alloc(alignment, size). Note: The standard defines that size must be an integer multiple of alignment. It is enforced by AddressSanitizer but not by GNU libc on Linux. aligned_free(): Wrapper for the Microsoft _aligned_free() and the standard free(). HAVE_ALIGNED_ALLOC: A new test. Unfortunately, support for aligned_alloc() may still be missing on some platforms. We will fall back to posix_memalign() for those cases. HAVE_MEMALIGN: Remove, along with any use of the nonstandard memalign(). PFS_ALIGNEMENT (sic): Removed; we will use CPU_LEVEL1_DCACHE_LINESIZE. PFS_ALIGNED: Defined using the C++11 keyword alignas. buf_pool_t::page_hash_table::create(), lock_sys_t::hash_table::create(): lock_sys_t::hash_table::resize(): Pad the allocation size to an integer multiple of the alignment. Reviewed by: Vladislav Vaintroub
* | | | | Merge branch '10.6' into 10.7Sergei Golubchik2022-05-111-0/+16
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.5' into 10.6Sergei Golubchik2022-05-101-0/+16
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Sergei Golubchik2022-05-091-0/+16
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.3' into 10.4Sergei Golubchik2022-05-081-0/+16
| | | |\ \ | | | | |/
| | | | * Merge branch '10.2' into 10.3Oleksandr Byelkin2022-05-031-0/+16
| | | | |\
| | | | | * MDEV-27758: Errors when building Connect engine on os x 11.6.2Dmitry Shulga2022-04-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added checking for support of vfork by a platform where building being done. Set HAVE_VFORK macros in case vfork() system call is supported. Use vfork() system call if the macros HAVE_VFORK is set, else use fork().
* | | | | | Merge branch '10.6' into 10.7Oleksandr Byelkin2022-02-041-6/+20
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2022-02-031-6/+20
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-011-6/+20
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2022-01-301-6/+20
| | | |\ \ \ | | | | |/ /
| | | | * | improve checks for libatomic linkingalexfanqi2021-12-301-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code piece is adapted from https://github.com/KDE/krita/blob/451e1415fd1b3a0f9c24de2fd4707d1b1e164236/cmake/modules/CheckAtomic.cmake#L23 Fixes: f502ccbcb5dfce29067434885a23db8d1bd5f134 Fixes: https://bugs.gentoo.org/828065 Tested-by: Yixun Lan <dlan@gentoo.org> Reviewed-by: Daniel Black
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-10-221-1/+19
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.5 into 10.6Marko Mäkelä2021-10-211-1/+19
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.4 into 10.5Marko Mäkelä2021-10-211-1/+19
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.3 into 10.4Marko Mäkelä2021-10-211-1/+19
| | | |\ \ \ | | | | |/ /
| | | | * | Link with libatomic to enable C11 atomics supportVicențiu Ciorbaru2021-10-191-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some architectures (mips) require libatomic to support proper atomic operations. Check first if support is available without linking, otherwise use the library. Contributors: James Cowgill <jcowgill@debian.org> Jessica Clarke <jrtc27@debian.org> Vicențiu Ciorbaru <vicentiu@mariadb.org>
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-08-041-0/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2021-08-021-0/+1
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2021-07-311-0/+1
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2021-07-311-0/+1
| | | |\ \ \ | | | | |/ /
| | | | * | Merge 10.2 into 10.3Marko Mäkelä2021-07-221-0/+1
| | | | |\ \ | | | | | |/
| | | | | * Add feature summary at the end of cmake.Heinz Wiesinger2021-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a short overview over found/missing dependencies as well as enabled/disabled features. Initial author Heinz Wiesinger <heinz@m2mobi.com> Additions by Vicențiu Ciorbaru <vicentiu@mariadb.org> * Report all plugins enabled via MYSQL_ADD_PLUGIN * Simplify code. Eliminate duplication by making use of WITH_xxx variable values to set feature "ON" / "OFF" state. Reviewed by: wlad@mariadb.com (code details) serg@mariadb.com (the idea)
| | | * | | Merge 10.3 into 10.4Marko Mäkelä2021-04-211-0/+1
| | | |\ \ \ | | | | |/ /
| | | | * | Fix riscv64 build failure by linking correctly with pthreadbb-10.3-ottok-MDEV-23892-pthreadOtto Kekäläinen2021-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link with -pthread instead of -lpthread, and do that for all architectures. Contributors: Aurelien Jarno <aurelien@aurel32.net> Closes: #1717
* | | | | | Added support to MEM_ROOT for write protected memoryMonty2021-07-181-0/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for thing like Item_true and Item_false that we allocated and initalize once and want to ensure that nothing can change them Main changes: - Memory protection is achived by allocating memory with mmap() and protect it from write with mprotect() - init_alloc_root(...,MY_ROOT_USE_MPROTECT) will create a memroot that one can later use with protect_root() to turn it read only or turn it back to read-write. All allocations to this memroot is done with mmap() to ensure page alligned allocations. - alloc_root() code was rearranged to combine normal and valgrind code. - init_alloc_root() now changes block size to be power of 2's, to get less memory fragmentation. - Changed MEM_ROOT structure to make it smaller. Also renamed MEM_ROOT m_psi_key to psi_key. - Moved MY_THREAD_SPECIFIC marker in MEM_ROOT from block size (old hack) to flags. - Added global variable my_system_page_size. This is initialized at startup.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-04-151-4/+5
|\ \ \ \ \ | |/ / / /
| * | | | Fix riscv64 build failure by linking correctly with pthreadbb-10.5-ottok-pr1722-conc-utf8Otto Kekäläinen2021-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link with -pthread instead of -lpthread, and do that for all architectures. Contributors: Aurelien Jarno <aurelien@aurel32.net> Closes: #1717
| * | | | Fix cross-compile to consider CMAKE_CROSSCOMPILING_EMULATORbb-10.5-danielblack-pr1805-cross-compileJustin Jagieniak2021-04-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMAKE_CROSSCOMPILING_EMULATOR is defined, a cross-compile can be made, however with native (emulated) execution possible. This commit takes those points in the build system that execute built targets natively and allow these to be executed in a crosscompile if CMAKE_CROSSCOMPILING_EMULATOR is defined. Closes #1805
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-04-141-0/+1
|\ \ \ \ \ | |/ / / /
| * | | | mysqld: print status display subset of memory usage.bb-10.5-danielblack-pr1803-darwin-debug-memoryDavid CARLIER2021-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | leveling up to some degree with linux's mallinfo* api for the memory usage display with debug build with malloc_zone Darwin api. Closes: #1803
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-03-271-0/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-03-271-0/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-03-271-0/+1
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-03-271-0/+1
| | | |\ \ | | | | |/
| | | | * Replace mallinfo with mallinfo2 on supported systemsMichael Okoko2021-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `mallinfo` is deprecated since glibc 2.33 and has been replaced by mallinfo2. The deprecation causes building the server to fail if glibc version is > 2.33. Check if mallinfo2 exist on the system and use it instead.