Commit a3d55e4f authored by Ian Lynagh's avatar Ian Lynagh

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.
parent 33c23693
...@@ -2,30 +2,29 @@ ...@@ -2,30 +2,29 @@
set -e set -e
# Check that we have all core packages. # Check that we have all core packages.
for dir in `cat libraries/core-packages`; do for dir in `cat libraries/core-packages`
if test ! -d libraries/$dir; then do
echo "Looks like you're missing libraries/$dir, maybe you haven't done './darcs-all get'?" >&2 if test ! -d libraries/$dir
exit 1 then
fi echo "Looks like you're missing libraries/$dir." >&2
echo "Maybe you haven't done './darcs-all get'?" >&2
exit 1
fi
done done
# We don't recurse into the library packages with autoreconf anymore, # autoreconf everything that needs it.
# so we have to do this manually. To avoid a strict dependency on for dir in . libraries/*
# autoreconf, we are careful to call autoreconf only when configure do
# does not exist yet or the corresponding configure.ac/aclocal.m4 is if test -f $dir/configure.ac
# newer. This would be dead easy if every shell supported the "-nt" then
# option for "test", but this is not the case. The only portable echo "Booting $dir"
# solution seems to be via find's "-newer" option or to basically give ( cd $dir && autoreconf )
# up and replace find with perl: :-P fi
#
# 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
done done
# Alas, darcs doesn't handle file permissions, so fix a few of them. # Alas, darcs doesn't handle file permissions, so fix a few of them.
for f in boot darcs-all push-all validate; do for f in boot darcs-all push-all validate
test -f $f && chmod +x $f do
test -f $f && chmod +x $f
done done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment