# Force bitrig to build with clang; gcc doesn't like us there
if [ $CFG_OSTYPE = unknown-bitrig ]
then
- step_msg "on Bitrig, forcing use of clang, disabling jemalloc"
+ step_msg "on Bitrig, forcing use of clang"
CFG_ENABLE_CLANG=1
- CFG_DISABLE_JEMALLOC=1
fi
# default gcc version under OpenBSD maybe too old, try using egcc, which is a
CXX="${CXX:-eg++}"
fi
fi
-
- step_msg "on OpenBSD, disabling jemalloc"
- CFG_DISABLE_JEMALLOC=1
-fi
-
-if [ $CFG_OSTYPE = pc-windows-gnu ]
-then
- # FIXME(#31030) - there's not a great reason to disable jemalloc here
- step_msg "on Windows, disabling jemalloc"
- CFG_DISABLE_JEMALLOC=1
fi
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
;;
*-msvc)
- # Currently the build system is not configured to build jemalloc
- # with MSVC, so we omit this optional dependency.
- step_msg "targeting MSVC, disabling jemalloc"
- CFG_DISABLE_JEMALLOC=1
- putvar CFG_DISABLE_JEMALLOC
-
# There are some MSYS python builds which will auto-translate
# windows-style paths to MSYS-style paths in Python itself.
# Unfortunately this breaks LLVM's build system as somewhere along
putvar CFG_MSVC_LIB_PATH_${bits}
;;
- *-rumprun-netbsd)
- step_msg "targeting rumprun-netbsd, disabling jemalloc"
- CFG_DISABLE_JEMALLOC=1
- putvar CFG_DISABLE_JEMALLOC
- ;;
-
- *-emscripten)
- step_msg "targeting emscripten, disabling jemalloc"
- CFG_DISABLE_JEMALLOC=1
- putvar CFG_DISABLE_JEMALLOC
- ;;
-
*)
;;
esac
fi
fi
-step_msg "making directories"
+if [ -z "$CFG_ENABLE_RUSTBUILD" ]; then
-for i in \
- doc doc/std doc/extra \
- dl tmp dist
-do
- make_dir $i
-done
+ step_msg "making directories"
-for t in $CFG_HOST
-do
- make_dir $t/llvm
-done
+ for i in \
+ doc doc/std doc/extra \
+ dl tmp dist
+ do
+ make_dir $i
+ done
-for t in $CFG_HOST
-do
- make_dir $t/rustllvm
-done
+ for t in $CFG_HOST
+ do
+ make_dir $t/llvm
+ done
-for t in $CFG_TARGET
-do
- make_dir $t/rt
- for s in 0 1 2 3
+ for t in $CFG_HOST
do
- make_dir $t/rt/stage$s
- make_dir $t/rt/jemalloc
- make_dir $t/rt/compiler-rt
- for i in \
- isaac sync test \
- arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips arch/powerpc
- do
- make_dir $t/rt/stage$s/$i
- done
+ make_dir $t/rustllvm
done
-done
-for h in $CFG_HOST
-do
- for t in $CFG_TARGET
+ for t in $CFG_TARGET
+ do
+ make_dir $t/rt
+ for s in 0 1 2 3
do
- # host bin dir stage0
- make_dir $h/stage0/bin
-
- # host lib dir stage0
- make_dir $h/stage0/lib
-
- # host test dir stage0
- make_dir $h/stage0/test
-
- # target bin dir stage0
- make_dir $h/stage0/lib/rustlib/$t/bin
-
- # target lib dir stage0
- make_dir $h/stage0/lib/rustlib/$t/lib
-
- for i in 1 2 3
- do
- # host bin dir
- make_dir $h/stage$i/bin
-
- # host lib dir
- make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE
-
- # host test dir
- make_dir $h/stage$i/test
-
- # target bin dir
- make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/bin
-
- # target lib dir
- make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/lib
- done
+ make_dir $t/rt/stage$s
+ make_dir $t/rt/jemalloc
+ make_dir $t/rt/compiler-rt
+ for i in \
+ isaac sync test \
+ arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips arch/powerpc
+ do
+ make_dir $t/rt/stage$s/$i
+ done
done
+ done
- make_dir $h/test/run-pass
- make_dir $h/test/run-pass-valgrind
- make_dir $h/test/run-pass-fulldeps
- make_dir $h/test/run-fail
- make_dir $h/test/run-fail-fulldeps
- make_dir $h/test/compile-fail
- make_dir $h/test/parse-fail
- make_dir $h/test/compile-fail-fulldeps
- make_dir $h/test/bench
- make_dir $h/test/perf
- make_dir $h/test/pretty
- make_dir $h/test/debuginfo-gdb
- make_dir $h/test/debuginfo-lldb
- make_dir $h/test/codegen
- make_dir $h/test/codegen-units
- make_dir $h/test/rustdoc
-done
+ for h in $CFG_HOST
+ do
+ for t in $CFG_TARGET
+ do
+ # host bin dir stage0
+ make_dir $h/stage0/bin
+
+ # host lib dir stage0
+ make_dir $h/stage0/lib
+
+ # host test dir stage0
+ make_dir $h/stage0/test
+
+ # target bin dir stage0
+ make_dir $h/stage0/lib/rustlib/$t/bin
+
+ # target lib dir stage0
+ make_dir $h/stage0/lib/rustlib/$t/lib
+
+ for i in 1 2 3
+ do
+ # host bin dir
+ make_dir $h/stage$i/bin
+
+ # host lib dir
+ make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE
+
+ # host test dir
+ make_dir $h/stage$i/test
+
+ # target bin dir
+ make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/bin
+
+ # target lib dir
+ make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/lib
+ done
+ done
+
+ make_dir $h/test/run-pass
+ make_dir $h/test/run-pass-valgrind
+ make_dir $h/test/run-pass-fulldeps
+ make_dir $h/test/run-fail
+ make_dir $h/test/run-fail-fulldeps
+ make_dir $h/test/compile-fail
+ make_dir $h/test/parse-fail
+ make_dir $h/test/compile-fail-fulldeps
+ make_dir $h/test/bench
+ make_dir $h/test/perf
+ make_dir $h/test/pretty
+ make_dir $h/test/debuginfo-gdb
+ make_dir $h/test/debuginfo-lldb
+ make_dir $h/test/codegen
+ make_dir $h/test/codegen-units
+ make_dir $h/test/rustdoc
+ done
+
+fi
# Configure submodules
step_msg "configuring submodules"