summaryrefslogtreecommitdiff
path: root/boot-pkgs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-05-14 10:57:04 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-05-14 10:57:04 +0000
commit11e3da87d34465406147927fd89fb64b147cfaca (patch)
tree2bb4d5c952077562eec73d3fba7e48c0439f7d05 /boot-pkgs
parentcd12c32de77ac18a69ed1733a558095567ec5ba8 (diff)
downloadhaskell-11e3da87d34465406147927fd89fb64b147cfaca.tar.gz
main repeated 'make maintainer-clean' not fail
Diffstat (limited to 'boot-pkgs')
-rw-r--r--boot-pkgs39
1 files changed, 39 insertions, 0 deletions
diff --git a/boot-pkgs b/boot-pkgs
new file mode 100644
index 0000000000..4892b52054
--- /dev/null
+++ b/boot-pkgs
@@ -0,0 +1,39 @@
+#! /bin/sh
+set -e
+
+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