summaryrefslogtreecommitdiff
path: root/configure.cmake
Commit message (Collapse)AuthorAgeFilesLines
* 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 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.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.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 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
* | | | 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
* | | | 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.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.
* | | | MDEV-24125: linux large pages, linux/mman.h neededDaniel Black2020-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | Centos/RHEL7 have the MAP_HUGE_SHIFT constant defined in linux/mman.h which needed to get included.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-10-301-2/+1
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-10-291-2/+1
| |\ \ \ | | |/ /
| | * | cleanup: use predefined CMAKE_DL_LIBSSergei Golubchik2020-10-231-2/+1
| | | | | | | | | | | | | | | | instead of, say, MY_SEARCH_LIBS(dlopen dl LIBDL)
* | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2020-08-041-8/+0
|\ \ \ \ | |/ / /
| * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2020-08-031-8/+0
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-08-031-8/+0
| | |\ \ | | | |/
| | | * Merge branch '10.1' into 10.2Oleksandr Byelkin2020-08-021-8/+0
| | | |\
| | | | * MDEV-15961: Fix stacktraces under FreeBSD (aarch64)Karthik Kamath2020-07-281-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Largely based on MySQL commit https://github.com/mysql/mysql-server/commit/75271e51d60bce8683423b208cbb43b11ca6060e MySQL Ref: BUG#24566529: BACKPORT BUG#23575445 TO 5.6 (cut) Also, the PTR_SANE macro which tries to check if a pointer is invalid (used when printing pointer values in stack traces) gave false negatives on OSX/FreeBSD. On these platforms we now simply check if the pointer is non-null. This also removes a sbrk() deprecation warning when building on OS X. (It was before only disabled with building using XCode). Removed execinfo path of MySQL patch that was already included. sbrk doesn't exist on FreeBSD aarch64. Removed HAVE_BSS_START based detection and replaced with __linux__ as it doesn't exist on OSX, Solaris or Windows. __bss_start exists on mutiple Linux architectures. Tested on FreeBSD and Linux x86_64. Being in FreeBSD ports for 2 years implies a good testing there on all FreeBSD architectures there too. MySQL-8.0.21 code is functionally identical to original commit.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2020-08-011-0/+5
|\ \ \ \ \ | |/ / / /
| * | | | aarch64: use compiler flag outline-atomics if availableTzachi Zidenberg2020-07-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | outline-atomics compilation flag changes behaviour of builtin_atomics, by adding runtime detection of LSE atomics. If these are supported, they will be used. This gains LSE atomics use without hurting compatibility with older aarch64 machines.
* | | | | MDEV-23175: my_timer_milliseconds clock_gettime for multiple platfomrsDaniel Black2020-07-281-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Small postfix to MDEV-23175 to ensure faster option on FreeBSD and compatibility to Solaris that isn't high resolution. ftime is left as a backup in case an implementation doesn't contain any of these clocks. FreeBSD $ ./unittest/mysys/my_rdtsc-t 1..11 # ----- Routine --------------- # myt.cycles.routine : 5 # myt.nanoseconds.routine : 11 # myt.microseconds.routine : 13 # myt.milliseconds.routine : 11 # myt.ticks.routine : 17 # ----- Frequency ------------- # myt.cycles.frequency : 3610295566 # myt.nanoseconds.frequency : 1000000000 # myt.microseconds.frequency : 1000000 # myt.milliseconds.frequency : 899 # myt.ticks.frequency : 136 # ----- Resolution ------------ # myt.cycles.resolution : 1 # myt.nanoseconds.resolution : 1 # myt.microseconds.resolution : 1 # myt.milliseconds.resolution : 7 # myt.ticks.resolution : 1 # ----- Overhead -------------- # myt.cycles.overhead : 26 # myt.nanoseconds.overhead : 19140 # myt.microseconds.overhead : 19036 # myt.milliseconds.overhead : 578 # myt.ticks.overhead : 21544 ok 1 - my_timer_init() did not crash ok 2 - The cycle timer is strictly increasing ok 3 - The cycle timer is implemented ok 4 - The nanosecond timer is increasing ok 5 - The nanosecond timer is implemented ok 6 - The microsecond timer is increasing ok 7 - The microsecond timer is implemented ok 8 - The millisecond timer is increasing ok 9 - The millisecond timer is implemented ok 10 - The tick timer is increasing ok 11 - The tick timer is implemented
* | | | | MDEV-23175: my_timer_milliseconds ftime deprecated - clock_gettime replacementDaniel Black2020-07-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux glibc has deprecated ftime resutlting in a compile error on Fedora-32. Per manual clock_gettime is the suggested replacement. Because my_timer_milliseconds is a relative time used by largely the perfomrance schema, CLOCK_MONOTONIC_COARSE is used. This has been available since Linux-2.6.32. The low overhead is shows in the unittest: $ unittest/mysys/my_rdtsc-t 1..11 # ----- Routine --------------- # myt.cycles.routine : 5 # myt.nanoseconds.routine : 11 # myt.microseconds.routine : 13 # myt.milliseconds.routine : 18 # myt.ticks.routine : 17 # ----- Frequency ------------- # myt.cycles.frequency : 3596597014 # myt.nanoseconds.frequency : 1000000000 # myt.microseconds.frequency : 1000000 # myt.milliseconds.frequency : 1039 # myt.ticks.frequency : 103 # ----- Resolution ------------ # myt.cycles.resolution : 1 # myt.nanoseconds.resolution : 1 # myt.microseconds.resolution : 1 # myt.milliseconds.resolution : 1 # myt.ticks.resolution : 1 # ----- Overhead -------------- # myt.cycles.overhead : 118 # myt.nanoseconds.overhead : 234 # myt.microseconds.overhead : 222 # myt.milliseconds.overhead : 30 # myt.ticks.overhead : 4946 ok 1 - my_timer_init() did not crash ok 2 - The cycle timer is strictly increasing ok 3 - The cycle timer is implemented ok 4 - The nanosecond timer is increasing ok 5 - The nanosecond timer is implemented ok 6 - The microsecond timer is increasing ok 7 - The microsecond timer is implemented ok 8 - The millisecond timer is increasing ok 9 - The millisecond timer is implemented ok 10 - The tick timer is increasing ok 11 - The tick timer is implemented
* | | | | Cleanup - remove HAVE_AIOWAIT and associated code from mysysVladislav Vaintroub2020-06-051-1/+0
| | | | | | | | | | | | | | | | | | | | HAVE_AIOWAIT had not been disabled and unused for at least 10 years.
* | | | | HAVE_LARGE_PAGES no longer globalDaniel Black2020-04-051-4/+0
| | | | |
* | | | | HAVE_LARGE_PAGE_OPTION to HAVE_LARGE_PAGESSergey Vojtovich2020-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | It isn't an "option" anymore.
* | | | | Merge pull request #1221 from ↵Daniel Black2020-04-021-2/+5
|/ / / / | | | | | | | | | | | | | | | | grooverdan/10.4-MDEV-18851-multiple-sized-large-page-support MDEV-18851: multiple sized large page support (linux)
* | | | Merge commit '10.3' into 10.4Oleksandr Byelkin2020-03-111-0/+1
|\ \ \ \ | |/ / /
| * | | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-03-061-0/+1
| |\ \ \ | | |/ /
| | * | Clean wrong cherry-pick from previous commitAnel Husakovic2020-02-201-1/+0
| | | | | | | | | | | | | | | | | | | | - Delete variable HAVE_PTHREAD_CONDATTR_SETCLOCK and check - Delete second HAVE_PTHREAD_KEY_DELETE
| | * | my_getncpus based on threads availableDaniel Black2020-02-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detecting the cpus based on sysconf of the online CPUs can significantly over estimate the number of cpus available. Wheither via numactl, cgroups, taskset, systemd constraints, docker containers and probably other mechanisms, the number of threads mysqld can be run on can be quite less. As such we use the pthread_getaffinity_np function on Linux and FreeBSD (identical API) to get the number of CPUs. The number of CPUs is the default for the thread_pool_size and a too high default will resulting in large memory usage and high context switching overhead. Closes PR #922
| | * | MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOSVlad Lesin2019-11-191-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix consists of three commits backported from 10.3: 1) Cleanup isnan() portability checks (cherry picked from commit 7ffd7fe9627d1f750a3712aebb4503e5ae8aea8e) 2) Cleanup isinf() portability checks Original problem reported by Wlad: re-compilation of 10.3 on top of 10.2 build would cache undefined HAVE_ISINF from 10.2, whereas it is expected to be 1 in 10.3. std::isinf() seem to be available on all supported platforms. (cherry picked from commit bc469a0bdf85400f7a63834f5b7af1a513dcdec9) 3) Use std::isfinite in C++ code This is addition to parent revision fixing build failures. (cherry picked from commit 54999f4e75f42baca484ae436b382ca8817df1dd)
* | | | MDEV-19696 - Cleanup gcc sync builtinsRobert Bindar2019-07-031-24/+0
| | | | | | | | | | | | | | | | | | | | Since 10.4 requires C++11 capable compiler, gcc sync builtins became dead code. Remove relevant cmake checks and cleanup include files.
* | | | MDEV-19845: Define my_timer_cycles() inlineMarko Mäkelä2019-06-281-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On clang, use __builtin_readcyclecounter() when available. Hinted by Sergey Vojtovich. (This may lead to runtime failure on ARM systems. The hardware should be available on ARMv8 (AArch64), but access to it may require special privileges.) We remove support for the proprietary Sun Microsystems compiler, and rely on clang or the __GNUC__ assembler syntax instead. For now, we retain support for IA-64 (Itanium) and 32-bit SPARC, even though those platforms are likely no longer widely used. We remove support for clock_gettime(CLOCK_SGI_CYCLE), because Silicon Graphics ceased supporting IRIX in December 2013. This was the only cycle timer interface available for MIPS. On PowerPC, we rely on the GCC 4.8 __builtin_ppc_get_timebase() (or clang __builtin_readcyclecounter()), which should be equivalent to the old assembler code on both 64-bit and 32-bit targets.