diff --git a/configure b/configure index 536a938eaed..2829f981462 100755 --- a/configure +++ b/configure @@ -582,6 +582,7 @@ valopt sysconfdir "/etc" "install system configuration files" valopt datadir "${CFG_PREFIX}/share" "install data" valopt infodir "${CFG_PREFIX}/share/info" "install additional info" valopt llvm-root "" "set LLVM root" +valopt python "" "set path to python" valopt jemalloc-root "" "set directory where libjemalloc_pic.a is located" valopt build "${DEFAULT_BUILD}" "GNUs ./configure syntax LLVM build triple" valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path" @@ -695,7 +696,9 @@ putvar CFG_BOOTSTRAP_KEY step_msg "looking for build programs" probe_need CFG_CURLORWGET curl wget -probe_need CFG_PYTHON python2.7 python2.6 python2 python +if [ -z "$CFG_PYTHON_PROVIDED" ]; then + probe_need CFG_PYTHON python2.7 python2.6 python2 python +fi python_version=$($CFG_PYTHON -V 2>&1) if [ $(echo $python_version | grep -c '^Python 2\.[4567]') -ne 1 ]; then @@ -849,13 +852,6 @@ then putvar CFG_LOCAL_RUST_ROOT fi -# Force freebsd to build with clang; gcc doesn't like us there -if [ $CFG_OSTYPE = unknown-freebsd ] -then - step_msg "on FreeBSD, forcing use of clang" - CFG_ENABLE_CLANG=1 -fi - # Force bitrig to build with clang; gcc doesn't like us there if [ $CFG_OSTYPE = unknown-bitrig ] then diff --git a/mk/docs.mk b/mk/docs.mk index f3fa4fd908c..922b67d7cc9 100644 --- a/mk/docs.mk +++ b/mk/docs.mk @@ -265,7 +265,7 @@ endef $(foreach crate,$(CRATES),$(eval $(call DEF_LIB_DOC,$(crate)))) COMPILER_DOC_TARGETS := $(CRATES:%=doc/%/index.html) -ifdef CFG_COMPILER_DOCS +ifdef CFG_ENABLE_COMPILER_DOCS DOC_TARGETS += $(COMPILER_DOC_TARGETS) else DOC_TARGETS += $(DOC_CRATES:%=doc/%/index.html) diff --git a/src/doc/trpl/mutability.md b/src/doc/trpl/mutability.md index e30825badcc..ef569a09e21 100644 --- a/src/doc/trpl/mutability.md +++ b/src/doc/trpl/mutability.md @@ -159,7 +159,7 @@ b.x = 10; // error: cannot assign to immutable field `b.x` [struct]: structs.html -However, by using `Cell<T>`, you can emulate field-level mutability: +However, by using [`Cell<T>`][cell], you can emulate field-level mutability: ```rust use std::cell::Cell; @@ -176,4 +176,6 @@ point.y.set(7); println!("y: {:?}", point.y); ``` +[cell]: ../std/cell/struct.Cell.html + This will print `y: Cell { value: 7 }`. We’ve successfully updated `y`. diff --git a/src/librustc_back/target/freebsd_base.rs b/src/librustc_back/target/freebsd_base.rs index dcf1a12f2c9..3ec6307c72f 100644 --- a/src/librustc_back/target/freebsd_base.rs +++ b/src/librustc_back/target/freebsd_base.rs @@ -18,11 +18,6 @@ pub fn opts() -> TargetOptions { executables: true, morestack: true, has_rpath: true, - pre_link_args: vec!( - "-L/usr/local/lib".to_string(), - "-L/usr/local/lib/gcc46".to_string(), - "-L/usr/local/lib/gcc44".to_string(), - ), .. Default::default() } diff --git a/src/libstd/sys/common/stack.rs b/src/libstd/sys/common/stack.rs index fadeebc8150..11982ebc572 100644 --- a/src/libstd/sys/common/stack.rs +++ b/src/libstd/sys/common/stack.rs @@ -139,7 +139,6 @@ pub unsafe fn record_os_managed_stack_bounds(stack_lo: usize, _stack_hi: usize) pub unsafe fn record_sp_limit(limit: usize) { return target_record_sp_limit(limit); - // x86-64 #[cfg(all(target_arch = "x86_64", any(target_os = "macos", target_os = "ios")))] #[inline(always)] @@ -164,7 +163,6 @@ pub unsafe fn record_sp_limit(limit: usize) { asm!("movq $0, %fs:32" :: "r"(limit) :: "volatile") } - // x86 #[cfg(all(target_arch = "x86", any(target_os = "macos", target_os = "ios")))] #[inline(always)] @@ -182,8 +180,8 @@ pub unsafe fn record_sp_limit(limit: usize) { unsafe fn target_record_sp_limit(_: usize) { } - // mips, arm - Some brave soul can port these to inline asm, but it's over - // my head personally + // mips, arm - The implementations are a bit big for inline asm! + // They can be found in src/rt/arch/$target_arch/record_sp.S #[cfg(any(target_arch = "mips", target_arch = "mipsel", all(target_arch = "arm", not(target_os = "ios"))))] @@ -221,7 +219,6 @@ pub unsafe fn record_sp_limit(limit: usize) { pub unsafe fn get_sp_limit() -> usize { return target_get_sp_limit(); - // x86-64 #[cfg(all(target_arch = "x86_64", any(target_os = "macos", target_os = "ios")))] #[inline(always)] @@ -255,7 +252,6 @@ pub unsafe fn get_sp_limit() -> usize { return limit; } - // x86 #[cfg(all(target_arch = "x86", any(target_os = "macos", target_os = "ios")))] #[inline(always)] @@ -278,8 +274,8 @@ pub unsafe fn get_sp_limit() -> usize { return 1024; } - // mips, arm - Some brave soul can port these to inline asm, but it's over - // my head personally + // mips, arm - The implementations are a bit big for inline asm! + // They can be found in src/rt/arch/$target_arch/record_sp.S #[cfg(any(target_arch = "mips", target_arch = "mipsel", all(target_arch = "arm", not(target_os = "ios"))))]