# This file was generated by the YaTool build system (https://github.com/yandex/yatool),
# from a source YaTool build configuration provided in ya.make files.
#
# If the repository supports both CMake and ya build configurations, please modify both of them.
#
# If only CMake build configuration is supported then modify only CMake files and note that only
# simple modifications are allowed like adding source-files to targets or adding simple properties
# like target_include_directories. These modifications will be ported to original ya.make files
# by maintainers. Any complex modifications which can't be easily ported back to the ya build
# system may be rejected.
#
# Please refer to the build instructions in the repository for more information about manual
# changes in this file.

add_library(contrib-libs-jemalloc)


target_compile_options(contrib-libs-jemalloc PRIVATE
  -funroll-loops
  -fvisibility=hidden
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

target_include_directories(contrib-libs-jemalloc PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/include
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/include
)

target_link_libraries(contrib-libs-jemalloc PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  contrib-libs-libunwind
)

target_sources(contrib-libs-jemalloc PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/arena.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/background_thread.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/base.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bin.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bin_info.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bitmap.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/buf_writer.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/cache_bin.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ckh.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/counter.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ctl.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/decay.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/div.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ecache.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/edata.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/edata_cache.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ehooks.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/emap.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/eset.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/exp_grow.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent_dss.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent_mmap.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/fxp.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hook.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpa.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpa_hooks.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpdata.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/inspect.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/jemalloc.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/jemalloc_cpp.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/large.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/log.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/malloc_io.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/mutex.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/nstime.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pa.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pa_extra.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pac.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pages.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pai.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/peak_event.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_data.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_log.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_recent.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_stats.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_sys.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/psset.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/rtree.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/safety_check.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/san.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/san_bump.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sc.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sec.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/stats.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sz.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/tcache.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/test_hooks.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/thread_event.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ticker.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/tsd.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/witness.c
)


set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/arena.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/background_thread.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/base.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bin.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bin_info.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/bitmap.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/buf_writer.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/cache_bin.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ckh.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/counter.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ctl.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/decay.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/div.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ecache.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/edata.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/edata_cache.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ehooks.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/emap.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/eset.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/exp_grow.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent_dss.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/extent_mmap.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/fxp.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hook.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpa.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpa_hooks.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/hpdata.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/inspect.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/jemalloc.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/large.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/log.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/malloc_io.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/mutex.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/nstime.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pa.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pa_extra.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pac.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pages.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/pai.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/peak_event.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_data.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_log.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_recent.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_stats.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/prof_sys.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/psset.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/rtree.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/safety_check.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/san.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/san_bump.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sc.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sec.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/stats.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/sz.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/tcache.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/test_hooks.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/thread_event.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/ticker.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/tsd.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/jemalloc/src/witness.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)
