Tweak alternative layout rule
[ghc-hetmet.git] / boot
diff --git a/boot b/boot
index 3cb9f6a..644c6d9 100644 (file)
--- a/boot
+++ b/boot
@@ -1,9 +1,16 @@
 #! /bin/sh
 set -e
 
+# Create libraries/*/{ghc.mk,GNUmakefile}
+sh boot-pkgs
+
 # Check that we have all boot packages.
 for dir in `grep "^[^# ][^ ]*  *[^ ][^ ]*  *[^ ][^ ]*$" packages | sed "s/ .*//"`
 do
+    # We would like to just check for an _darcs directory here, but in
+    # an lndir tree we avoid making _darcs directories, so it doesn't
+    # exist. We therefore require that every repo has a LICENSE file
+    # instead.
     if test ! -f $dir/LICENSE
     then
         echo "Error: $dir/LICENSE doesn't exist." >&2
@@ -30,40 +37,3 @@ do
         chmod +x $f
     fi
 done
-
-libraries=
-
-for f in libraries/*; do
-  pkgs=$f/ghc-packages
-  if test -f $pkgs; then
-    for p in `cat $pkgs`; do
-      libraries="$libraries $f/$p"
-    done
-  else
-    libraries="$libraries $f"
-  fi
-done
-
-for f in $libraries; do
-   dir=`basename $f`
-   cabals=`echo $f/*.cabal`
-   if test -f $cabals; then
-       echo "Creating $f/ghc.mk"
-       rm -f $f/ghc.mk
-       pkg=`echo "$cabals" | sed -e 's#.*/##' -e 's#\.cabal$##'`
-       if test -f $f/ghc-stage; then
-           stage=`cat $f/ghc-stage`
-       else
-           stage=1
-       fi
-       top=`echo $f | sed 's#[^/]\+#..#g'`
-       echo "${f}_PACKAGE = ${pkg}" >> $f/ghc.mk
-       echo "${f}_dist-install_GROUP = libraries" >> $f/ghc.mk
-       echo "\$(eval \$(call build-package,${f},dist-install,${stage}))" >> $f/ghc.mk
-       rm -f $f/GNUmakefile
-       echo "Creating $f/GNUmakefile"
-       echo "dir = ${f}" >> $f/GNUmakefile
-       echo "TOP = ${top}" >> $f/GNUmakefile
-       echo "include \$(TOP)/mk/sub-makefile.mk" >> $f/GNUmakefile
-   fi
-done