@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'?"; \
+ echo "Did you run 'sh boot' at the top level?"; \
exit 1; \
fi \
done
to get the other repositories:
$ cd ghc
- $ chmod +x darcs-all
- $ ./darcs-all get
+ $ chmod +x boot
+ $ ./boot
This grabs the "core" packages by default. To get the full set of
packages, instead say
- $ ./darcs-all --extra get
+ $ ./boot --extra
This also downloads the libraries that are normally bundled in the
"extralibs" package (see above).
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
set -e
-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
-
chmod +x rts/gmp/configure
+chmod +x darcs-all
+
+./darcs-all ${1+"$@"} get
autoreconf
# --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;
sub darcsget {
my $r_flags;
- if (! grep /(?:--complete|--partial)/, @_) {
+ if (! $complete && ! grep /(?:--complete|--partial)/, @_) {
warning("adding --partial, to override use --complete");
$r_flags = [@_, "--partial"];
}
if ($arg eq "-q") {
$verbose = 0;
}
+ elsif ($arg eq "--complete") {
+ $complete = 1;
+ }
elsif ($arg eq "--extra") {
$extra = 1;
}