Add TCMALLOC option to build of rocksdb

pull/570/head
Martin Boehm 2021-02-17 13:30:19 +01:00 committed by Martin
parent 3fe28d185c
commit 212b767925
2 changed files with 9 additions and 1 deletions

View File

@ -2,6 +2,7 @@ BIN_IMAGE = blockbook-build
DEB_IMAGE = blockbook-build-deb
PACKAGER = $(shell id -u):$(shell id -g)
NO_CACHE = false
TCMALLOC =
ARGS ?=
TARGETS=$(subst .json,, $(shell ls configs/coins))
@ -44,7 +45,7 @@ build-images: clean-images
.bin-image:
@if [ $$(build/tools/image_status.sh $(BIN_IMAGE):latest build/docker) != "ok" ]; then \
echo "Building image $(BIN_IMAGE)..."; \
docker build --no-cache=$(NO_CACHE) -t $(BIN_IMAGE) build/docker/bin; \
docker build --no-cache=$(NO_CACHE) --build-arg TCMALLOC=$(TCMALLOC) -t $(BIN_IMAGE) build/docker/bin; \
else \
echo "Image $(BIN_IMAGE) is up to date"; \
fi

View File

@ -15,9 +15,16 @@ ENV GOPATH=/go
ENV PATH=$PATH:$GOPATH/bin
ENV CGO_CFLAGS="-I/opt/rocksdb/include"
ENV CGO_LDFLAGS="-L/opt/rocksdb -ldl -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4"
ARG TCMALLOC
RUN mkdir /build
RUN if [ -n "${TCMALLOC}" ]; then \
echo "Using TCMALLOC"; \
apt-get install -y google-perftools; \
ln -s /usr/lib/libtcmalloc.so.4 /usr/lib/libtcmalloc.so;\
fi
# install and configure go
RUN cd /opt && wget https://dl.google.com/go/$GOLANG_VERSION.tar.gz && \
tar xf $GOLANG_VERSION.tar.gz