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,"; \
        @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
             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
   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
 
 
   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).
 
   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:
 
 
 Quick start:  the following gives you a default build:
 
+       $ sh boot
        $ ./configure
        $ make
        $ make install
 
        $ ./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
 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
 
 
 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
 
 
 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;
 # --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;
 # --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;
 
 sub darcsget {
     my $r_flags;
-    if (! $complete && ! grep /(?:--complete|--partial)/, @_) {
+    if (! grep /(?:--complete|--partial)/, @_) {
         warning("adding --partial, to override use --complete");
         $r_flags = [@_, "--partial"];
     }
         warning("adding --partial, to override use --complete");
         $r_flags = [@_, "--partial"];
     }
@@ -131,9 +129,6 @@ sub main {
         if ($arg eq "-q") {
             $verbose = 0;
         }
         if ($arg eq "-q") {
             $verbose = 0;
         }
-        elsif ($arg eq "--complete") {
-            $complete = 1;
-        }
         elsif ($arg eq "--extra") {
             $extra = 1;
         }
         elsif ($arg eq "--extra") {
             $extra = 1;
         }