@@ -97,18 +97,23 @@ RUNTIME_S_$(1)_$(2) := rt/arch/$$(HOST_$(1))/_context.S \
97
97
ifeq ($$(CFG_WINDOWSY_$(1 ) ) , 1)
98
98
LIBUV_OSTYPE_$(1)_$(2) := win
99
99
LIBUV_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /libuv/libuv.a
100
+ JEMALLOC_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /jemalloc/lib/libjemalloc_pic.a
100
101
else ifeq ($(OSTYPE_$(1)), apple-darwin)
101
102
LIBUV_OSTYPE_$(1)_$(2) := mac
102
103
LIBUV_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /libuv/libuv.a
104
+ JEMALLOC_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /jemalloc/lib/libjemalloc_pic.a
103
105
else ifeq ($(OSTYPE_$(1)), unknown-freebsd)
104
106
LIBUV_OSTYPE_$(1)_$(2) := unix/freebsd
105
107
LIBUV_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /libuv/libuv.a
108
+ JEMALLOC_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /jemalloc/lib/libjemalloc_pic.a
106
109
else ifeq ($(OSTYPE_$(1)), linux-androideabi)
107
110
LIBUV_OSTYPE_$(1)_$(2) := unix/android
108
111
LIBUV_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /libuv/libuv.a
112
+ JEMALLOC_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /jemalloc/lib/libjemalloc_pic.a
109
113
else
110
114
LIBUV_OSTYPE_$(1)_$(2) := unix/linux
111
115
LIBUV_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /libuv/libuv.a
116
+ JEMALLOC_LIB_$(1)_$(2) := rt/$(1 ) /stage$(2 ) /jemalloc/lib/libjemalloc_pic.a
112
117
endif
113
118
114
119
RUNTIME_DEF_$(1 ) _$(2 ) := rt/rustrt$(CFG_DEF_SUFFIX_$(1 ) )
@@ -124,8 +129,6 @@ ALL_OBJ_FILES += $$(RUNTIME_OBJS_$(1)_$(2))
124
129
MORESTACK_OBJ_$(1 ) _$(2 ) := rt/$(1 ) /stage$(2 ) /arch/$$(HOST_$(1 ) ) /morestack.o
125
130
ALL_OBJ_FILES += $$(MORESTACK_OBJS_$(1 ) _$(2 ) )
126
131
127
- RUNTIME_LIBS_$(1 ) _$(2 ) := $$(LIBUV_LIB_$(1 ) _$(2 ) )
128
-
129
132
rt/$(1 ) /stage$(2 ) /%.o: rt/%.cpp $$(MKFILE_DEPS )
130
133
@$$(call E, compile: $$@ )
131
134
$$(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))
146
149
$$(Q )$(AR_$(1 ) ) rcs $$@ $$<
147
150
148
151
rt/$(1 ) /stage$(2 ) /$(CFG_RUNTIME_$(1 ) ) : $$(RUNTIME_OBJS_$(1 ) _$(2 ) ) $$(MKFILE_DEPS ) \
149
- $$(RUNTIME_DEF_$(1 ) _$(2 ) ) \
150
- $$(RUNTIME_LIBS_$(1 ) _$(2 ) )
152
+ $$(RUNTIME_DEF_$(1 ) _$(2 ) ) $$(LIBUV_LIB_$(1 ) _$(2 ) ) $$(JEMALLOC_LIB_$(1 ) _$(2 ) )
151
153
@$$(call E, link: $$@ )
152
154
$$(Q )$$(call CFG_LINK_CXX_$(1 ) ,$$@ , $$(RUNTIME_OBJS_$(1 ) _$(2 ) ) \
153
- $$(CFG_GCCISH_POST_LIB_FLAGS_$(1 ) ) $$(RUNTIME_LIBS_ $(1 ) _$(2 ) ) \
155
+ $$(JEMALLOC_LIB_ $( 1 ) _ $( 2 ) ) $$( CFG_GCCISH_POST_LIB_FLAGS_$(1 ) ) $$(LIBUV_LIB_ $(1 ) _$(2 ) ) \
154
156
$$(CFG_LIBUV_LINK_FLAGS_$(1 ) ) ,$$(RUNTIME_DEF_$(1 ) _$(2 ) ) ,$$(CFG_RUNTIME_$(1 ) ) )
155
157
156
158
# FIXME: For some reason libuv's makefiles can't figure out the
@@ -199,6 +201,9 @@ $$(LIBUV_LIB_$(1)_$(2)): $$(LIBUV_DEPS)
199
201
V=$$(VERBOSE )
200
202
endif
201
203
204
+ $$(JEMALLOC_LIB_$(1 ) _$(2 ) ) :
205
+ cd $$(CFG_BUILD_DIR ) /rt/$(1 ) /stage$(2 ) /jemalloc; $(S ) src/rt/jemalloc/configure --disable-experimental
206
+ $$(Q )$$(MAKE ) -C $$(CFG_BUILD_DIR ) /rt/$(1 ) /stage$(2 ) /jemalloc
202
207
203
208
# These could go in rt.mk or rustllvm.mk, they're needed for both.
204
209
0 commit comments