Make compileToCore return the module name and type environment along with bindings
[ghc-hetmet.git] / darcs-all
index 30173c2..24ed6f4 100644 (file)
--- a/darcs-all
+++ b/darcs-all
@@ -14,11 +14,16 @@ my $defaultrepo_lib;
 if ($defaultrepo =~ /:/) {
     # HTTP or SSH
     $defaultrepo_base = $defaultrepo;
-    $defaultrepo_base =~ s#/ghc$##;
+    $defaultrepo_base =~ s#/[^/]+/?$##;
     $defaultrepo_lib = "$defaultrepo_base/packages";
 }
 elsif ($defaultrepo =~ /^\//) {
-    # Local filesystem (assumes a checked-out tree):
+    # Local filesystem, absolute path (assumes a checked-out tree):
+    $defaultrepo_base = $defaultrepo;
+    $defaultrepo_lib = "$defaultrepo/libraries";
+}
+elsif ($defaultrepo =~ /^..\//) {
+    # Local filesystem, relative path (assumes a checked-out tree):
     $defaultrepo_base = $defaultrepo;
     $defaultrepo_lib = "$defaultrepo/libraries";
 }
@@ -26,7 +31,7 @@ else {
     die "Couldn't work out defaultrepo";
 }
 
-my $verbose = 1;
+my $verbose = 2;
 my $ignore_failure = 0;
 
 # --extra says we grab the extra libs with 'get'.  It has no effect on
@@ -37,34 +42,16 @@ my $extra = 0;
 my $nofib = 0;
 my $testsuite = 0;
 
-while ($#_ ne -1) {
-    my $arg = shift;
-    if ($arg eq "-q") {
-        $verbose = 0;
-    }
-    elsif ($arg eq "--extra") {
-        $extra = 1;
-    }
-    elsif ($arg eq "--nofib") {
-        $nofib = 1;
-    }
-    elsif ($arg eq "--testsuite") {
-        $testsuite = 1;
-    }
-    else {
-        unshift @_, $arg;
-        last;
-    }
-}
-
 sub message {
-    if ($verbose) {
+    if ($verbose >= 2) {
         print "@_\n";
     }
 }
 
 sub warning {
-    print "warning: @_\n";
+    if ($verbose >= 1) {
+        print "warning: @_\n";
+    }
 }
 
 sub darcs {
@@ -84,7 +71,7 @@ sub darcsall {
             message "== $dir not present or not a repository; skipping";
         }
     }
-    for my $pkg (`cat libraries/core-packages libraries/extra-packages`) {
+    for my $pkg (`cat libraries/boot-packages libraries/extra-packages`) {
         chomp $pkg;
         if (-d "libraries/$pkg") {
             darcs (@_, "--repodir", "libraries/$pkg");
@@ -125,10 +112,10 @@ sub darcsget {
 
     my @packages;
     if ($extra) {
-        @packages = `cat core-packages extra-packages`;
+        @packages = `cat boot-packages extra-packages`;
     }
     else {
-        @packages = `cat core-packages`;
+        @packages = `cat boot-packages`;
     }
 
     for my $pkg (@packages) {
@@ -142,6 +129,34 @@ sub main {
         die "error: darcs-all must be run from the top level of the ghc tree."
     }
 
+    while ($#_ ne -1) {
+        my $arg = shift;
+        # We handle -q here as well as lower down as we need to skip over it
+        # if it comes before the darcs command
+        if ($arg eq "-q") {
+            $verbose = 1;
+        }
+        elsif ($arg eq "-s") {
+            $verbose = 0;
+        }
+        elsif ($arg eq "--extra") {
+            $extra = 1;
+        }
+        elsif ($arg eq "--nofib") {
+            $nofib = 1;
+        }
+        elsif ($arg eq "--testsuite") {
+            $testsuite = 1;
+        }
+        else {
+            unshift @_, $arg;
+            if (grep /^-q$/, @_) {
+                $verbose = 1;
+            }
+            last;
+        }
+    }
+
     if ($#_ eq -1) {
         die "What do you want to do?";
     }