Skip to content
Snippets Groups Projects
Commit 010b1de3 authored by Kostyantyn Vorobyov's avatar Kostyantyn Vorobyov
Browse files

Pristine version of dlmalloc

parent a9af38b5
No related branches found
No related tags found
No related merge requests found
......@@ -73,6 +73,7 @@ doc/doxygen/doxygen.cfg
doc/doxygen/html
doc/doxygen/warn.log
lib/libeacsl-jemalloc.a
lib/libeacsl-dlmalloc.a
lib/libeacsl-gmp.a
lib/libeacsl-rtl-bittree.a
lib/libeacsl-rtl-segment.a
......
......@@ -150,6 +150,11 @@ endif
################################################
EACSL_LIBDIR := $(EACSL_PLUGIN_DIR)/lib
############
# JEMALLOC #
############
EACSL_JEMALLOC_DIR := $(EACSL_PLUGIN_DIR)/contrib/libjemalloc
EACSL_JEMALLOC_LIBNAME = libeacsl-jemalloc.a
EACSL_JEMALLOC_LIB = $(EACSL_LIBDIR)/$(EACSL_JEMALLOC_LIBNAME)
......@@ -159,38 +164,55 @@ $(EACSL_JEMALLOC_LIB):
$(MKDIR) $(EACSL_LIBDIR)
$(CP) $(EACSL_JEMALLOC_DIR)/lib/libjemalloc.a $@
EACSL_GMP_DIR := $(EACSL_PLUGIN_DIR)/contrib/libgmp
EACSL_GMP_LIBNAME = libeacsl-gmp.a
EACSL_GMP_LIB = $(EACSL_LIBDIR)/$(EACSL_GMP_LIBNAME)
EACSL_GMP_DIR := $(EACSL_PLUGIN_DIR)/contrib/libgmp
EACSL_GMP_MINI = mini-gmp.o
############
# DLMALLOC #
############
EACSL_DLMALLOC_DIR := $(EACSL_PLUGIN_DIR)/contrib/libdlmalloc
EACSL_DLMALLOC_LIBNAME = libeacsl-dlmalloc.a
EACSL_DLMALLOC_LIB = $(EACSL_LIBDIR)/$(EACSL_DLMALLOC_LIBNAME)
EACSL_DLMALLOC_SRC = $(EACSL_DLMALLOC_DIR)/dlmalloc.c
EACSL_DLMALLOC_OBJ = dlmalloc.o
EACSL_DLMALLOC_FLAGS = \
-DHAVE_MORECORE=0 \
-DHAVE_MMAP=1 \
-DNO_MALLINFO=1 \
-DNO_MALLOC_STATS=1 \
-DMSPACES=1
$(EACSL_DLMALLOC_LIB): $(EACSL_DLMALLOC_SRC)
$(MKDIR) $(EACSL_LIBDIR)
echo 'CC $<'
$(CC) $< -c -O2 -g3 -o$(EACSL_DLMALLOC_OBJ) $(EACSL_DLMALLOC_FLAGS)
echo 'AR $@'
$(AR) crus $@ $(EACSL_DLMALLOC_OBJ)
echo 'RANLIB $@'
ranlib $@
ifeq (@FULL_GMP@, no)
############
# Mini GMP #
# GMP #
############
CPPGMPFLAGS += -Dmalloc=__e_acsl_native_malloc
CPPGMPFLAGS += -Drealloc=__e_acsl_native_realloc
CPPGMPFLAGS += -Dfree=__e_acsl_native_free
$(EACSL_GMP_LIB): $(EACSL_GMP_DIR)/mini-gmp/mini-gmp.c
EACSL_GMP_DIR := $(EACSL_PLUGIN_DIR)/contrib/libgmp
EACSL_GMP_LIBNAME = libeacsl-gmp.a
EACSL_GMP_LIB = $(EACSL_LIBDIR)/$(EACSL_GMP_LIBNAME)
EACSL_GMP_OBJ = mini-gmp.o
EACSL_GMP_SRC = $(EACSL_GMP_DIR)/mini-gmp.c
EACSL_GMP_FLAGS = \
-Dmalloc=__e_acsl_native_malloc \
-Drealloc=__e_acsl_native_realloc \
-Dfree=__e_acsl_native_free
$(EACSL_GMP_LIB): $(EACSL_GMP_SRC)
$(MKDIR) $(EACSL_LIBDIR)
echo 'CC $< '
$(CC) $< $(CPPGMPFLAGS) -c -O2 -g3 -o$(EACSL_GMP_MINI)
$(CC) $< $(EACSL_GMP_FLAGS) -c -O2 -g3 -o$(EACSL_GMP_OBJ)
echo 'AR $@'
$(AR) crus $(EACSL_GMP_LIB) $(EACSL_GMP_MINI)
$(AR) crus $(EACSL_GMP_LIB) $(EACSL_GMP_OBJ)
echo 'RANLIB $@'
ranlib $(EACSL_GMP_LIB)
else
############
# Full GMP #
############
$(EACSL_GMP_LIB):
cd $(EACSL_GMP_DIR) && $(MAKE) $(MAKEOPTS)
$(MKDIR) $(EACSL_LIBDIR)
$(CP) $(EACSL_GMP_DIR)/.libs/libgmp.a $@
endif
all:: $(EACSL_JEMALLOC_LIB) $(EACSL_GMP_LIB)
all:: $(EACSL_DLMALLOC_LIB) $(EACSL_JEMALLOC_LIB) $(EACSL_GMP_LIB)
e-acsl-distclean::
$(PRINT_RM) e-acsl contrib libraries
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment