]> git.lizzy.rs Git - rust.git/blobdiff - configure
Correct Iterator trait documentation
[rust.git] / configure
index 631c5f49f0643a40045588f1e204f00bd2e1610c..e1113fba46b7c329ba0baf60c131be66a8d3936b 100755 (executable)
--- a/configure
+++ b/configure
@@ -606,6 +606,7 @@ opt stage0-landing-pads 1 "enable landing pads during bootstrap with stage0"
 opt dist-host-only 0 "only install bins for the host architecture"
 opt inject-std-version 1 "inject the current compiler version of libstd into programs"
 opt llvm-version-check 1 "check if the LLVM version is supported, build anyway"
+opt rustbuild 0 "use the rust and cargo based build system"
 
 # Optimization and debugging options. These may be overridden by the release channel, etc.
 opt_nosave optimize 1 "build optimized rust code"
@@ -728,12 +729,12 @@ step_msg "looking for build programs"
 
 probe_need CFG_CURLORWGET  curl wget
 if [ -z "$CFG_PYTHON_PROVIDED" ]; then
-    probe_need CFG_PYTHON      python2.7 python2.6 python2 python
+    probe_need CFG_PYTHON      python2.7 python2 python
 fi
 
 python_version=$($CFG_PYTHON -V 2>&1)
-if [ $(echo $python_version | grep -c '^Python 2\.[4567]') -ne 1 ]; then
-    err "Found $python_version, but LLVM requires Python 2.4-2.7"
+if [ $(echo $python_version | grep -c '^Python 2\.7') -ne 1 ]; then
+    err "Found $python_version, but Python 2.7 is required"
 fi
 
 # If we have no git directory then we are probably a tarball distribution
@@ -1326,103 +1327,107 @@ then
     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"
 
 # Have to be in the top of src directory for this
-if [ -z $CFG_DISABLE_MANAGE_SUBMODULES ]
+if [ -z $CFG_DISABLE_MANAGE_SUBMODULES ] && [ -z $CFG_ENABLE_RUSTBUILD ]
 then
     cd ${CFG_SRC_DIR}
 
@@ -1481,7 +1486,11 @@ do
         ;;
     esac
 
-    if [ -z $CFG_LLVM_ROOT ]
+    if [ -n "$CFG_ENABLE_RUSTBUILD" ]
+    then
+        msg "not configuring LLVM, rustbuild in use"
+        do_reconfigure=0
+    elif [ -z $CFG_LLVM_ROOT ]
     then
         LLVM_BUILD_DIR=${CFG_BUILD_DIR}$t/llvm
         if [ -n "$CFG_DISABLE_OPTIMIZE_LLVM" ]
@@ -1812,8 +1821,15 @@ do
     putvar $CFG_LLVM_INST_DIR
 done
 
+if [ -n "$CFG_ENABLE_RUSTBUILD" ]
+then
+    INPUT_MAKEFILE=src/bootstrap/mk/Makefile.in
+else
+    INPUT_MAKEFILE=Makefile.in
+fi
+
 msg
-copy_if_changed ${CFG_SRC_DIR}Makefile.in ./Makefile
+copy_if_changed ${CFG_SRC_DIR}${INPUT_MAKEFILE} ./Makefile
 move_if_changed config.tmp config.mk
 rm -f config.tmp
 touch config.stamp