Simplify TcSimplify, by removing Free
[ghc-hetmet.git] / darcs-all
1 #!/bin/sh
2
3 set -e
4
5 top_dirs="nofib testsuite"
6
7 # Figure out where to get the other repositories from,
8 # based on where this GHC repo came from.
9 defaultrepo=`cat _darcs/prefs/defaultrepo`
10 case $defaultrepo in
11   http://*) default_repo_root=`echo $defaultrepo | sed 's!/ghc$!!'`
12             default_lib_repo_root=$default_repo_root/packages;;
13   /*)       default_repo_root=$defaultrepo
14             default_lib_repo_root=$default_repo_root/libraries;;
15 esac
16
17 quiet=NO
18
19 message()
20 {
21   if [ "$quiet" = "NO" ]; then
22      echo $*
23   fi
24 }
25
26 darcsall()
27 {
28   message "== running darcs $* at the top level"
29   darcs $*
30   for dir in $top_dirs; do
31     if test -d $dir -a -d $dir/_darcs; then
32         message "== running darcs $* in $dir"
33         darcs $* --repodir $dir
34     else
35         message "== $dir not present or not a repository; skipping"
36     fi
37   done
38   for pkg in `cat libraries/core-packages libraries/extra-packages`; do
39     if test -d libraries/$pkg; then
40         message "== running darcs $* in libraries/$pkg"
41         darcs $* --repodir libraries/$pkg
42     else
43         echo "warning: $pkg doesn't seem to exist, use 'darcs-all get' to get it"
44     fi
45   done
46 }
47
48 darcsget()
49 {
50   case $* in
51     *--partial*) ;;
52     *) echo "warning: adding --partial, to override use --complete"
53   esac
54
55   repo_root=`cat _darcs/prefs/defaultrepo`
56   case $repo_root in
57     /*) lib_repos=$repo_root/libraries;;
58     *)  lib_repos=$default_lib_repo_root;;
59   esac
60
61   cd libraries
62
63   if test "$extra" = "YES"; then
64       packages=`cat core-packages extra-packages`
65   else
66       packages=`cat core-packages`
67   fi
68
69   for pkg in $packages; do
70     if test -d $pkg; then
71         echo "warning: $pkg already present; omitting"
72     else
73         repo=$lib_repos/$pkg
74         message "== running darcs get --partial $* $repo"
75         darcs get --partial $* $repo
76     fi
77   done
78 }
79
80 if test ! -d _darcs -o ! -d compiler; then
81   echo "error: darcs-all must be run from the top level of the ghc tree."
82   exit 1;
83 fi
84
85 case $* in
86   *-q*) quiet=YES;;
87 esac
88
89 # --extra says we grab the extra libs with 'get'.  It has no effect on
90 # the other commands.
91 extra=NO;
92 case $1 in
93   --extra) shift; extra=YES;
94 esac
95
96 case $1 in
97   get)  shift; darcsget $*;;
98   # Hack around whatsnew failing if there are no changes
99   w|wh|wha|what|whats|whatsn|whatsne|whatsnew) set +e; darcsall $*;;
100   *) darcsall $*;;
101 esac