]> git.lizzy.rs Git - rust.git/commitdiff
mk: Allow usage of a local jemalloc install
authorAlex Crichton <alex@alexcrichton.com>
Sat, 7 Jun 2014 06:52:56 +0000 (23:52 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 12 Jun 2014 07:28:01 +0000 (00:28 -0700)
This adds a new configure option, --jemalloc-root, which will specify a location
at which libjemalloc_pic.a must live. This library is then used for the build
triple as the jemalloc library to link.

configure
mk/rt.mk

index e3cf990d47ca9da955c31ec09907b4fa1f24e03f..c68697f53891cc1128afb43d1f42c7fab25217b8 100755 (executable)
--- a/configure
+++ b/configure
@@ -425,6 +425,7 @@ opt verify-install 1 "verify installed binaries work"
 valopt prefix "/usr/local" "set installation prefix"
 valopt local-rust-root "/usr/local" "set prefix for local rust binary"
 valopt llvm-root "" "set LLVM root"
+valopt jemalloc-root "" "set jemalloc root"
 valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
 valopt mingw32-cross-path "" "MinGW32 cross compiler path"
 
@@ -1198,6 +1199,7 @@ putvar CFG_ANDROID_CROSS_PATH
 putvar CFG_MINGW32_CROSS_PATH
 putvar CFG_MANDIR
 putvar CFG_DISABLE_INJECT_STD_VERSION
+putvar CFG_JEMALLOC_ROOT
 
 # Avoid spurious warnings from clang by feeding it original source on
 # ccache-miss rather than preprocessed input.
index a75cb8aa4deb2f3a88e8dcb38db56b71fed4614d..f865ef2ffafa2f23ab87890bd6d40857489376aa 100644 (file)
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -253,8 +253,9 @@ else
 endif
 JEMALLOC_LIB_$(1) := $$(RT_OUTPUT_DIR_$(1))/$$(JEMALLOC_NAME_$(1))
 JEMALLOC_BUILD_DIR_$(1) := $$(RT_OUTPUT_DIR_$(1))/jemalloc
+JEMALLOC_LOCAL_$(1) := $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1))
 
-$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
+$$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
        @$$(call E, make: jemalloc)
        cd "$$(JEMALLOC_BUILD_DIR_$(1))"; "$(S)src/jemalloc/configure" \
                $$(JEMALLOC_ARGS_$(1)) --enable-cc-silence --with-jemalloc-prefix=je_ \
@@ -265,7 +266,20 @@ $$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
                CPPFLAGS="-I $(S)src/rt/" \
                EXTRA_CFLAGS="$$(CFG_CFLAGS_$(1)) -g1"
        $$(Q)$$(MAKE) -C "$$(JEMALLOC_BUILD_DIR_$(1))" build_lib_static
-       $$(Q)cp $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1)) $$(JEMALLOC_LIB_$(1))
+
+ifeq ($(1),$$(CFG_BUILD))
+ifneq ($$(CFG_JEMALLOC_ROOT),)
+$$(JEMALLOC_LIB_$(1)): $$(CFG_JEMALLOC_ROOT)/libjemalloc_pic.a
+       @$$(call E, copy: jemalloc)
+       $$(Q)cp $$< $$@
+else
+$$(JEMALLOC_LIB_$(1)):
+       $$(Q)cp $$< $$@
+endif
+else
+$$(JEMALLOC_LIB_$(1)):
+       $$(Q)cp $$< $$@
+endif
 
 ################################################################################
 # compiler-rt