Make boot handle getting the libraries
authorIan Lynagh <igloo@earth.li>
Mon, 30 Apr 2007 11:35:19 +0000 (11:35 +0000)
committerIan Lynagh <igloo@earth.li>
Mon, 30 Apr 2007 11:35:19 +0000 (11:35 +0000)
Makefile
README
boot
darcs-all

index edc0433..e00a844 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -72,7 +72,7 @@ check-packages :
        @for d in `cat libraries/core-packages`; do \
          if test ! -d libraries/$$d; then \
             echo "Looks like you're missing libraries/$$d,"; \
-            echo "Did you run 'sh boot' at the top level?"; \
+            echo "maybe you haven't done './darcs-all get'?"; \
             exit 1; \
          fi \
        done
diff --git a/README b/README
index 3a87322..25122a8 100644 (file)
--- a/README
+++ b/README
@@ -49,13 +49,13 @@ There are two ways to get a source tree:
   to get the other repositories:
 
      $ cd ghc
-     $ chmod +x boot
-     $ ./boot
+     $ chmod +x darcs-all
+     $ ./darcs-all get
 
   This grabs the "core" packages by default.  To get the full set of
   packages, instead say
 
-     $ ./boot --extra
+     $ ./darcs-all --extra get
 
   This also downloads the libraries that are normally bundled in the
   "extralibs" package (see above).
@@ -76,10 +76,15 @@ XML toolchain if you want to build the compiler documentation.
 
 Quick start:  the following gives you a default build:
 
+       $ sh boot
        $ ./configure
        $ make
        $ make install
 
+The "sh boot" step is only necessary if this is a tree checked out
+from darcs.  For source distributions downloaded from GHC's web site,
+this step has already been performed.
+
 These steps give you the default build, which includes everything
 optimised and built in various ways (eg. profiling libs are built).
 It can take a long time.  To customise the build, see the file
diff --git a/boot b/boot
index 014efff..11e1785 100644 (file)
--- a/boot
+++ b/boot
@@ -2,10 +2,17 @@
 
 set -e
 
-chmod +x rts/gmp/configure
-chmod +x darcs-all
+for d in `cat libraries/core-packages`
+do
+    if test ! -d libraries/$d
+    then
+        echo "Looks like you're missing libraries/$d,"
+        echo "maybe you haven't done './darcs-all get'?"
+        exit 1
+    fi
+done
 
-./darcs-all ${1+"$@"} get
+chmod +x rts/gmp/configure
 
 autoreconf
 
index 59e29e1..4e67683 100644 (file)
--- a/darcs-all
+++ b/darcs-all
@@ -32,8 +32,6 @@ my $ignore_failure = 0;
 # --extra says we grab the extra libs with 'get'.  It has no effect on
 # the other commands.
 my $extra = 0;
-# --complete gets passed onto darcs get
-my $complete = 0;
 # --nofib/--testsuite tell get to also grab the respective repos.
 # They have no effect on the other commands.
 my $nofib = 0;
@@ -92,7 +90,7 @@ sub darcsgetpackage {
 
 sub darcsget {
     my $r_flags;
-    if (! $complete && ! grep /(?:--complete|--partial)/, @_) {
+    if (! grep /(?:--complete|--partial)/, @_) {
         warning("adding --partial, to override use --complete");
         $r_flags = [@_, "--partial"];
     }
@@ -131,9 +129,6 @@ sub main {
         if ($arg eq "-q") {
             $verbose = 0;
         }
-        elsif ($arg eq "--complete") {
-            $complete = 1;
-        }
         elsif ($arg eq "--extra") {
             $extra = 1;
         }