ClickHouse/contrib/jemalloc-cmake
2024-09-26 12:22:40 +02:00
..
include/jemalloc
include_darwin_aarch64/jemalloc/internal
include_darwin_x86_64/jemalloc/internal
include_freebsd_aarch64/jemalloc/internal
include_freebsd_ppc64le/jemalloc/internal
include_freebsd_x86_64/jemalloc/internal
include_linux_aarch64/jemalloc/internal
include_linux_ppc64le/jemalloc/internal
include_linux_riscv64/jemalloc/internal
include_linux_s390x/jemalloc/internal
include_linux_x86_64/jemalloc/internal
include_linux_x86_64_musl/jemalloc/internal
CMakeLists.txt Update CMakeLists.txt 2024-09-26 12:22:40 +02:00
README

It allows to integrate JEMalloc into CMake project.

- Remove JEMALLOC_HAVE_ATTR_FORMAT_GNU_PRINTF because it's non standard.
- Added JEMALLOC_CONFIG_MALLOC_CONF substitution
- Add musl support (USE_MUSL)
- Also note, that darwin build requires JEMALLOC_PREFIX, while others do not
- JEMALLOC_HAVE_CLOCK_MONOTONIC_COARSE should be disabled

  CLOCK_MONOTONIC_COARSE can go backwards after clock_adjtime(ADJ_FREQUENCY)
  Let's disable it for now, and this menas that CLOCK_MONOTONIC will be used,
  and this, should not be a problem, since:
  - jemalloc do not call clock_gettime() that frequently
  - the difference is CLOCK_MONOTONIC 20ns and CLOCK_MONOTONIC_COARSE 4ns

  This can be done with the following command:

      gg JEMALLOC_HAVE_CLOCK_MONOTONIC_COARSE | cut -d: -f1 | xargs sed -i 's@#define JEMALLOC_HAVE_CLOCK_MONOTONIC_COARSE@/* #undef JEMALLOC_HAVE_CLOCK_MONOTONIC_COARSE */@'