X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=boot;h=644c6d9ea251a8bde192f9ab449ad3c6b66344d6;hp=9c5f1c5d7f2b717ae7b900d9831ccd77b6f9f8cb;hb=2662dbc5b2c30fc11ccb99e7f9b2dba794d680ba;hpb=f986a83107850e6031a0635d49fe99d8a3e9085e diff --git a/boot b/boot index 9c5f1c5..644c6d9 100644 --- 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,39 +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 "\$(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