summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.5 into 10.6Marko Mäkelä2021-04-151-2/+2
|\
| * Fix cross-compile to consider CMAKE_CROSSCOMPILING_EMULATORbb-10.5-danielblack-pr1805-cross-compileJustin Jagieniak2021-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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-2/+2
|\ \ | |/
| * Merge 10.4 into 10.5Marko Mäkelä2021-04-141-2/+2
| |\
| | * Merge 10.3 into 10.4Marko Mäkelä2021-04-141-2/+2
| | |\
| | | * Merge 10.2 into 10.3Marko Mäkelä2021-04-141-2/+2
| | | |\
| | | | * -DMYSQL_MAINTAINER_MODE=NOSergei Golubchik2021-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | also add =WARN as an alias for =OFF and clarify the help text
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-03-271-9/+5
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-03-271-9/+5
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-03-271-9/+5
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-03-271-9/+5
| | | |\ \ | | | | |/
| | | | * cmake cleanup: drop support for ancient clang in WITH_ASAN optionEugene Kosov2021-03-261-10/+0
| | | | |
| | | | * MDEV-25238 add support for -fsanitize-address-use-after-scopeEugene Kosov2021-03-261-0/+6
| | | | | | | | | | | | | | | | | | | | Use like this: cmake -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON
| | | | * MDEV-24034 Policy CMP0075 is not set during compileVladislav Vaintroub2020-12-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The policy is not set for 10.2 If it is set, CMake would complain about bundled zlib for which the policy is not set. Fix: - Set policy for 10.2 for the top level project. For 10.3+ it was already set - Cleanup zlib to remove unneeded stuff. It is an internal static library, it needs none of PROJECT, library versioning, RC file on Windows. The name of the library on Unix does not make any difference, since it is static and compiled in.
* | | | | CMake cleanup: Make WITH_URING, WITH_PMEM BooleanMarko Mäkelä2021-03-201-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new default values WITH_URING:BOOL=OFF, WITH_PMEM:BOOL=OFF imply that the dependencies are optional. An explicit request WITH_URING=ON or WITH_PMEM=ON will cause the build to fail if the requested dependencies are not available. Last, to prevent a feature to be built in even though the built-time dependencies are available, the following can be used: cmake -DCMAKE_DISABLE_FIND_PACKAGE_URING=1 cmake -DCMAKE_DISABLE_FIND_PACKAGE_PMEM=1 This cleanup was suggested by Vladislav Vaintroub.
* | | | | MDEV-24883 add io_uring support for tpoolMarko Mäkelä2021-03-151-1/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | liburing is a new optional dependency (WITH_URING=auto|yes|no) that replaces libaio when it is available. aio_uring: class which wraps io_uring stuff aio_uring::bind()/unbind(): optional optimization aio_uring::submit_io(): mutex prevents data race. liburing calls are thread-unsafe. But if you look into it's implementation you'll see atomic operations. They're used for synchronization between kernel and user-space only. That's why our own synchronization is still needed. For systemd, we add LimitMEMLOCK=524288 (ulimit -l 524288) because the io_uring_setup system call that is invoked by io_uring_queue_init() requests locked memory. The value was found empirically; with 262144, we would occasionally fail to enable io_uring when using the maximum values of innodb_read_io_threads=64 and innodb_write_io_threads=64. aio_uring::thread_routine(): Tolerate -EINTR return from io_uring_wait_cqe(), because it may occur on shutdown on Ubuntu 20.10 (Groovy Gorilla). This was mostly implemented by Eugene Kosov. Systemd integration and improved startup/shutdown error handling by Marko Mäkelä.
* | | | Added support of WITH_GPROF to cmakeMonty2020-08-201-1/+6
| | | |
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-07-201-1/+2
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-07-201-1/+2
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2020-07-201-2/+3
| | |\ \ | | | |/
| | | * Merge 10.1 into 10.2Marko Mäkelä2020-07-201-1/+2
| | | |\
| | | | * check_linker_flag: use for linker flagsDaniel Black2020-07-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wl,-z,relro,-z,now are linker flags and should be checked as such. TODO: perform module, exe shared checks separately rather than a pure linker check.
* | | | | always use python3Sergei Golubchik2020-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because columnstore uses python3, so rocksdb can be picky too. python3 is present in all supported distros. and python2 is obsolete anyway.
* | | | | When compiling with RelWithDebInfo, always use -fno-omit-frame-pointerVladislav Vaintroub2020-06-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | (if this option is present). perf, and other tools that do stack walking works much better with it.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2020-06-031-0/+3
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2020-06-031-0/+3
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.2 into 10.3Marko Mäkelä2020-06-021-0/+3
| | |\ \ \ | | | |/ /
| | | * | cmake: quieterSergei Golubchik2020-05-311-0/+3
| | | | |
| | | * | Merge branch '10.1' into 10.2mariadb-10.2.32Oleksandr Byelkin2020-05-081-2/+3
| | | |\ \ | | | | |/
| | | | * MDEV-21437 MariaDB's SUSE/SLES packages don't "provide" all of the same ↵Sergei Golubchik2020-05-051-2/+3
| | | | | | | | | | | | | | | | | | | | capabilities as the platform's default packages
* | | | | MDEV-22641: Provide SIMD optimized wrapper for zlib crc32() (#1558)mysqlonarm2020-06-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing implementation used my_checksum (from mysys) for calculating table checksum and binlog checksum. This implementation was optimized for powerpc only and lacked SIMD implementation for x86 (using clmul) and ARM (using ACLE) instead used zlib-crc32. mariabackup had its own copy of the crc32 implementation using hardware optimized implementation only for x86 and lagged hardware based implementation for powerpc and ARM. Patch helps unifies all such calls and help aggregate all of them using an unified interface my_checksum(). Said unification also enables hardware optimized calls for all architecture viz. x86, ARM, POWERPC. Default always fallback to zlib crc32. Thanks to Daniel Black for reviewing, fixing and testing PowerPC changes. Thanks to Marko and Daniel for early code feedback.
* | | | | Merge branch '10.4' into 10.5Sergei Golubchik2020-05-091-4/+6
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.3' into 10.4Sergei Golubchik2020-05-091-4/+6
| |\ \ \ \ | | |/ / /
| | * | | MDEV-22123 On RHEL8 mariadb-server is not providedSergei Golubchik2020-05-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setup alternative name for rhel8/centos8 use correct C/C version when providing mariadb-connector-c and other changes for installation over distro packages to work: dnf install mariadb-server dnf install --allowerasing MariaDB-{server,common,client,shared}*.rpm
* | | | | Merge 10.4 into 10.5Marko Mäkelä2020-05-051-1/+6
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2020-05-051-1/+6
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-05-041-0/+5
| | |\ \ \ | | | |/ /
| | | * | add WITH_DBUG_TRACE CMake variableEugene Kosov2020-04-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a way do disable DBUG_ENTER()/DBUG_EXIT() stuff which is needed to dbug trace. Those who doesn't need it may avoid tests slowdown with -DWITH_DBUG_TRACE=OFF dbug/tests.c: add define which is neede always in this test innodb.log_file_name_debug.test: do not depend on DBUG trace stuff in test Benchmark results: each test eats less CPU and you can have more parallel jobs in MTR. patched: ./mtr -mem -par=8 -suite=innodb 185.34s user 86.85s system 133% cpu 3:23.27 total ./mtr -mem -par=8 -suite=main 80.96s user 36.01s system 182% cpu 1:04.07 total main.select [ pass ] 1660 main.select [ pass ] 1513 main.select [ pass ] 1543 main.select [ pass ] 1660 main.select [ pass ] 1521 main.select [ pass ] 1511 main.select [ pass ] 1508 main.select [ pass ] 1520 main.select [ pass ] 1514 main.select [ pass ] 1522 vanilla: ./mtr -mem -par=8 -suite=innodb 203.61s user 92.16s system 140% cpu 3:30.16 total ./mtr -mem -par=8 -suite=main 94.11s user 35.51s system 206% cpu 1:02.69 total main.select [ pass ] 2032 main.select [ pass ] 2017 main.select [ pass ] 2040 main.select [ pass ] 2183 main.select [ pass ] 2253 main.select [ pass ] 2075 main.select [ pass ] 2109 main.select [ pass ] 2080 main.select [ pass ] 2098 main.select [ pass ] 2114
* | | | | MDEV-22454 Allow -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ONVladislav Vaintroub2020-05-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable IPO (interprocedural optimization, aka /GL) on Windows on libraries, from which server.dll exports symbols - exporting symbols does not work for objects compiled with /GL.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2020-03-301-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2020-03-301-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.2 into 10.3Marko Mäkelä2020-03-301-1/+1
| | |\ \ \ | | | |/ /
| | | * | unoptimized -fsanitize=undefined build on clang requires more stack spaceEugene Kosov2020-03-231-1/+1
| | | | |
| | | * | Update install layout to account for multi-arch setupDaniel Black2020-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup install_layout to account for multi-arch setup and remove redundant defines in debian rules. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
* | | | | MDEV-21580: Allow packed sort keys in sort bufferVarun Gupta2020-03-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This task deals with packing the sort key inside the sort buffer, which would lead to efficient usage of the memory allocated for the sort buffer. The changes brought by this feature are 1) Sort buffers would have sort keys of variable length 2) The format for sort keys inside the sort buffer would look like |<sort_length><null_byte><key_part1><null_byte><key_part2>.......| sort_length is the extra bytes that are required to store the variable length of a sort key. 3) When packing of sort key is done we store the ORIGINAL VALUES inside the sort buffer and not the STRXFRM form (mem-comparable sort keys). 4) Special comparison function packed_keys_comparison() is introduced to compare 2 sort keys. This patch also contains contributions from Sergei Petrunia.
* | | | | libpmem cmake macrosSergey Vojtovich2020-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also added support for MAP_SYNC. It allows to achieve decent performance with DAX devices even when libpmem is unavailable. Fixed Windows version of my_msync(): according to manual FlushViewOfFile() may return before flush is actually completed. It is advised to issue FlushFileBuffers() after FlushViewOfFile().
* | | | | MDEV-14024 PCRE2.Alexey Botchkov2019-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | Related changes in the server code.
* | | | | MDEV-16264: Add threadpool libraryVladislav Vaintroub2019-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The library is capable of - asynchronous execution of tasks (and optionally waiting for them) - asynchronous file IO This is implemented using libaio on Linux and completion ports on Windows. Elsewhere, async io is "simulated", which means worker threads are performing synchronous IO. - timers, scheduling work asynchronously in some point of the future. Also periodic timers are implemented.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-061-30/+19
|\ \ \ \ \ | |/ / / /
| * | | | always build wsrep libraries staticSergei Golubchik2019-08-261-7/+4
| | | | | | | | | | | | | | | | | | | | even if -DBUILD_SHARED_LIBS=ON was used