From: "Michael R. Crusoe" <crusoe@debian.org>
Date: Fri, 6 Sep 2019 14:16:07 +0900
Subject: Use the Debian packaged version of jemalloc

Forwarded: not-needed
Assisted-By: scaleway/deepseek-v4-flash-0731
---
 Makefile | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

--- a/Makefile
+++ b/Makefile
@@ -412,7 +412,6 @@ UNITTEST_EXE = $(patsubst $(UNITTEST_SRC
 
 ELFUTILS_DIR:=deps/elfutils
 RAPTOR_DIR:=deps/raptor
-JEMALLOC_DIR:=deps/jemalloc
 MIMALLOC_DIR:=deps/mimalloc
 SDSL_DIR:=deps/sdsl-lite
 GCSA2_DIR:=deps/gcsa2
@@ -507,9 +506,9 @@ ifeq ($(mimalloc),on)
 	CONFIG_OBJ += $(CONFIG_OBJ_DIR)/allocator_config_mimalloc.o
 else ifeq ($(jemalloc),on)
 	# Use jemalloc at link time
-	LINK_DEPS += $(LIB_DIR)/libjemalloc.a
+	LINK_DEPS += $(shell $(PKG_CONFIG) --variable=libdir jemalloc)/libjemalloc.a
 	# We have to use it statically or we can't get at its secret symbols.
-	LD_EXE_LIB_FLAGS += $(LIB_DIR)/libjemalloc.a
+	LD_EXE_LIB_FLAGS += $(shell $(PKG_CONFIG) --variable=libdir jemalloc)/libjemalloc.a
 	# Use the config object for jemalloc
 	CONFIG_OBJ += $(CONFIG_OBJ_DIR)/allocator_config_jemalloc.o
 else ifeq ($(jemalloc),debug)
@@ -672,19 +671,6 @@ $(LIB_DIR)/mimalloc.o: $(MIMALLOC_DIR)/s
 	cd $(MIMALLOC_DIR)/build && $(MAKE) $(FILTER)
 	cd $(MIMALLOC_DIR)/build && cp -r ../include/* $(CWD)/$(INC_DIR)/ && cp mimalloc.o $(CWD)/$(LIB_DIR)/
 
-# TODO: The normal and debug jemalloc builds can't safely be run at the same time.
-$(LIB_DIR)/libjemalloc.a: $(JEMALLOC_DIR)/src/*.c
-	rm -f $(LIB_DIR)/libjemalloc*.* && rm -Rf $(CWD)/$(INC_DIR)/jemalloc
-	cd $(JEMALLOC_DIR) && ./autogen.sh && ./configure --enable-prof --disable-libdl --prefix=`pwd` $(FILTER)
-	cd $(JEMALLOC_DIR) && $(MAKE) clean && $(MAKE) $(FILTER)
-	cd $(JEMALLOC_DIR) && cp -r include/* $(CWD)/$(INC_DIR)/ && cp lib/libjemalloc.a $(CWD)/$(LIB_DIR)/
-
-$(LIB_DIR)/libjemalloc_debug.a: $(JEMALLOC_DIR)/src/*.c
-	rm -f $(LIB_DIR)/libjemalloc*.* && rm -Rf $(CWD)/$(INC_DIR)/jemalloc
-	cd $(JEMALLOC_DIR) && ./autogen.sh && ./configure --enable-prof --disable-libdl --enable-debug --enable-fill --prefix=`pwd` $(FILTER)
-	cd $(JEMALLOC_DIR) && $(MAKE) clean && $(MAKE) $(FILTER)
-	cd $(JEMALLOC_DIR) && cp -r include/* $(CWD)/$(INC_DIR)/ && cp lib/libjemalloc.a $(CWD)/$(LIB_DIR)/libjemalloc_debug.a
-
 # Use fake patterns to tell Make that this rule generates all these files when run once.
 # Here % should always match "lib" which is a common substring.
 # See https://stackoverflow.com/a/19822767
@@ -1144,7 +1130,7 @@ test/build_graph.o: test/%.o : test/%.cp
 $(CONFIG_OBJ_DIR)/allocator_config_mimalloc.o: $(CONFIG_SRC_DIR)/allocator_config_mimalloc.cpp $(CONFIG_OBJ_DIR)/allocator_config_mimalloc.d $(DEPS) $(LIB_DIR)/mimalloc.o
 	$(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) $(DEPGEN_FLAGS) -c -o $@ $< $(FILTER)
 	@touch $@
-$(CONFIG_OBJ_DIR)/allocator_config_jemalloc.o: $(CONFIG_SRC_DIR)/allocator_config_jemalloc.cpp $(CONFIG_OBJ_DIR)/allocator_config_jemalloc.d $(DEPS) $(LIB_DIR)/libjemalloc.a
+$(CONFIG_OBJ_DIR)/allocator_config_jemalloc.o: $(CONFIG_SRC_DIR)/allocator_config_jemalloc.cpp $(CONFIG_OBJ_DIR)/allocator_config_jemalloc.d $(DEPS) $(shell $(PKG_CONFIG) --variable=libdir jemalloc)/libjemalloc.a
 	$(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) $(DEPGEN_FLAGS) -c -o $@ $< $(FILTER)
 	@touch $@
 $(CONFIG_OBJ_DIR)/allocator_config_jemalloc_debug.o: $(CONFIG_SRC_DIR)/allocator_config_jemalloc_debug.cpp $(CONFIG_OBJ_DIR)/allocator_config_jemalloc_debug.d $(DEPS) $(LIB_DIR)/libjemalloc_debug.a
@@ -1239,7 +1225,6 @@ clean: clean-vcflib
 	cd $(DEP_DIR) && cd gbwtgraph && $(MAKE) clean
 	cd $(DEP_DIR) && cd gssw && $(MAKE) clean
 	cd $(DEP_DIR) && cd htslib && $(MAKE) clean
-	cd $(DEP_DIR) && cd jemalloc && $(MAKE) clean || true
 	cd $(DEP_DIR) && cd kff-cpp-api && rm -Rf build
 	cd $(DEP_DIR) && cd libhandlegraph && rm -Rf build CMakeCache.txt CMakeFiles
 	cd $(DEP_DIR) && cd libvgio && rm -Rf build CMakeCache.txt CMakeFiles
