summaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2007-09-07 12:28:47 +0000
committerIan Lynagh <igloo@earth.li>2007-09-07 12:28:47 +0000
commita3d55e4f4a365a79b765e489e80ab6f05fe47c7c (patch)
tree15eeb6700cb204297a438968f5443cca367f6684 /boot
parent33c2369367f33de4f5754454bd099afc3811ad1a (diff)
downloadhaskell-a3d55e4f4a365a79b765e489e80ab6f05fe47c7c.tar.gz
Rejig boot
find on Windows doesn't understand -L, so stop trying to be clever and just autoreconf everything. Also, print out the names of directories as we autoreconf them, so that if autoreconfing one breaks then we know which one it was.
Diffstat (limited to 'boot')
-rw-r--r--boot41
1 files changed, 20 insertions, 21 deletions
diff --git a/boot b/boot
index a21691ff21..f2128de5b9 100644
--- a/boot
+++ b/boot
@@ -2,30 +2,29 @@
set -e
# Check that we have all core packages.
-for dir in `cat libraries/core-packages`; do
- if test ! -d libraries/$dir; then
- echo "Looks like you're missing libraries/$dir, maybe you haven't done './darcs-all get'?" >&2
- exit 1
- fi
+for dir in `cat libraries/core-packages`
+do
+ if test ! -d libraries/$dir
+ then
+ echo "Looks like you're missing libraries/$dir." >&2
+ echo "Maybe you haven't done './darcs-all get'?" >&2
+ exit 1
+ fi
done
-# We don't recurse into the library packages with autoreconf anymore,
-# so we have to do this manually. To avoid a strict dependency on
-# autoreconf, we are careful to call autoreconf only when configure
-# does not exist yet or the corresponding configure.ac/aclocal.m4 is
-# newer. This would be dead easy if every shell supported the "-nt"
-# option for "test", but this is not the case. The only portable
-# solution seems to be via find's "-newer" option or to basically give
-# up and replace find with perl: :-P
-#
-# perl -e 'print "configure.ac\n" if -M "configure.ac" < -M "configure"'
-for dir in . libraries/*; do
- if test -f $dir/configure.ac; then
- ( cd $dir ; { test ! -f configure || test -n "`find -L configure.ac -newer configure`" || (test -f aclocal.m4 && test -n "`find -L aclocal.m4 -newer configure`"); } && autoreconf )
- fi
+# autoreconf everything that needs it.
+for dir in . libraries/*
+do
+ if test -f $dir/configure.ac
+ then
+ echo "Booting $dir"
+ ( cd $dir && autoreconf )
+ fi
done
# Alas, darcs doesn't handle file permissions, so fix a few of them.
-for f in boot darcs-all push-all validate; do
- test -f $f && chmod +x $f
+for f in boot darcs-all push-all validate
+do
+ test -f $f && chmod +x $f
done
+