diff --git a/configure b/configure index 4ca3d61eb5..b014e6b99c 100755 --- a/configure +++ b/configure @@ -338,6 +338,7 @@ Toolchain options: Advanced options (experts only): --malloc-prefix=PREFIX prefix malloc and related names with PREFIX + --custom-allocator=NAME use a supported custom allocator --disable-symver disable symbol versioning --enable-hardcoded-tables use hardcoded tables instead of runtime generation --disable-safe-bitstream-reader @@ -2011,6 +2012,7 @@ CMDLINE_SET=" cc cpu cross_prefix + custom_allocator cxx dep_cc doxygen @@ -5094,6 +5096,17 @@ check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync check_builtin gmtime_r time.h "time_t *time; struct tm *tm; gmtime_r(time, tm)" check_builtin localtime_r time.h "time_t *time; struct tm *tm; localtime_r(time, tm)" +case "$custom_allocator" in + jemalloc) + # jemalloc by default does not use a prefix + require libjemalloc jemalloc/jemalloc.h malloc -ljemalloc + ;; + tcmalloc) + require_pkg_config libtcmalloc gperftools/tcmalloc.h tc_malloc + malloc_prefix=tc_ + ;; +esac + check_func_headers malloc.h _aligned_malloc && enable aligned_malloc check_func ${malloc_prefix}memalign && enable memalign check_func ${malloc_prefix}posix_memalign && enable posix_memalign