From 933897c5f57cb2ec2e8b53829b74a4b2b572f718 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Mon, 20 May 2013 01:15:50 -0400 Subject: [PATCH] integrate jemalloc into the build --- configure | 3 ++- mk/rt.mk | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 767eb332ac1..e581631b71d 100755 --- a/configure +++ b/configure @@ -683,7 +683,8 @@ do for i in \ isaac linenoise sync test \ arch/i386 arch/x86_64 arch/arm arch/mips \ - libuv libuv/src/ares libuv/src/eio libuv/src/ev + libuv libuv/src/ares libuv/src/eio libuv/src/ev \ + jemalloc do make_dir rt/$t/stage$s/$i done diff --git a/mk/rt.mk b/mk/rt.mk index d8d74d0d0e3..025639bf91d 100644 --- a/mk/rt.mk +++ b/mk/rt.mk @@ -97,18 +97,23 @@ RUNTIME_S_$(1)_$(2) := rt/arch/$$(HOST_$(1))/_context.S \ ifeq ($$(CFG_WINDOWSY_$(1)), 1) LIBUV_OSTYPE_$(1)_$(2) := win LIBUV_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/libuv/libuv.a + JEMALLOC_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/jemalloc/lib/libjemalloc_pic.a else ifeq ($(OSTYPE_$(1)), apple-darwin) LIBUV_OSTYPE_$(1)_$(2) := mac LIBUV_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/libuv/libuv.a + JEMALLOC_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/jemalloc/lib/libjemalloc_pic.a else ifeq ($(OSTYPE_$(1)), unknown-freebsd) LIBUV_OSTYPE_$(1)_$(2) := unix/freebsd LIBUV_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/libuv/libuv.a + JEMALLOC_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/jemalloc/lib/libjemalloc_pic.a else ifeq ($(OSTYPE_$(1)), linux-androideabi) LIBUV_OSTYPE_$(1)_$(2) := unix/android LIBUV_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/libuv/libuv.a + JEMALLOC_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/jemalloc/lib/libjemalloc_pic.a else LIBUV_OSTYPE_$(1)_$(2) := unix/linux LIBUV_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/libuv/libuv.a + JEMALLOC_LIB_$(1)_$(2) := rt/$(1)/stage$(2)/jemalloc/lib/libjemalloc_pic.a endif RUNTIME_DEF_$(1)_$(2) := rt/rustrt$(CFG_DEF_SUFFIX_$(1)) @@ -124,8 +129,6 @@ ALL_OBJ_FILES += $$(RUNTIME_OBJS_$(1)_$(2)) MORESTACK_OBJ_$(1)_$(2) := rt/$(1)/stage$(2)/arch/$$(HOST_$(1))/morestack.o ALL_OBJ_FILES += $$(MORESTACK_OBJS_$(1)_$(2)) -RUNTIME_LIBS_$(1)_$(2) := $$(LIBUV_LIB_$(1)_$(2)) - rt/$(1)/stage$(2)/%.o: rt/%.cpp $$(MKFILE_DEPS) @$$(call E, compile: $$@) $$(Q)$$(call CFG_COMPILE_CXX_$(1), $$@, $$(RUNTIME_INCS_$(1)_$(2)) \ @@ -146,11 +149,10 @@ rt/$(1)/stage$(2)/arch/$$(HOST_$(1))/libmorestack.a: $$(MORESTACK_OBJ_$(1)_$(2)) $$(Q)$(AR_$(1)) rcs $$@ $$< rt/$(1)/stage$(2)/$(CFG_RUNTIME_$(1)): $$(RUNTIME_OBJS_$(1)_$(2)) $$(MKFILE_DEPS) \ - $$(RUNTIME_DEF_$(1)_$(2)) \ - $$(RUNTIME_LIBS_$(1)_$(2)) + $$(RUNTIME_DEF_$(1)_$(2)) $$(LIBUV_LIB_$(1)_$(2)) $$(JEMALLOC_LIB_$(1)_$(2)) @$$(call E, link: $$@) $$(Q)$$(call CFG_LINK_CXX_$(1),$$@, $$(RUNTIME_OBJS_$(1)_$(2)) \ - $$(CFG_GCCISH_POST_LIB_FLAGS_$(1)) $$(RUNTIME_LIBS_$(1)_$(2)) \ + $$(JEMALLOC_LIB_$(1)_$(2)) $$(CFG_GCCISH_POST_LIB_FLAGS_$(1)) $$(LIBUV_LIB_$(1)_$(2)) \ $$(CFG_LIBUV_LINK_FLAGS_$(1)),$$(RUNTIME_DEF_$(1)_$(2)),$$(CFG_RUNTIME_$(1))) # FIXME: For some reason libuv's makefiles can't figure out the @@ -199,6 +201,9 @@ $$(LIBUV_LIB_$(1)_$(2)): $$(LIBUV_DEPS) V=$$(VERBOSE) endif +$$(JEMALLOC_LIB_$(1)_$(2)): + cd $$(CFG_BUILD_DIR)/rt/$(1)/stage$(2)/jemalloc; $(S)src/rt/jemalloc/configure --disable-experimental + $$(Q)$$(MAKE) -C $$(CFG_BUILD_DIR)/rt/$(1)/stage$(2)/jemalloc # These could go in rt.mk or rustllvm.mk, they're needed for both.