set -e
-if [ -e base/dist ]
-then
- HADDOCK_FILES=`ls -1 */dist/doc/html/*/*.haddock | sort`
-else
- HADDOCK_FILES=`ls -1 */*.haddock | sort`
-fi
+HADDOCK_ARGS=
-# Automagically create the prologue for the combined index via a
-# header, the package prologues (in alphabetical order of the
-# packages) and a footer.
-{
- cat libraries-header.txt
- echo
- # Hack to find out if we're in a build tree or installed docs
+case $* in
+--inplace)
+ HADDOCK=../inplace/bin/haddock
+ HADDOCK_FILES1=`ls -1 */dist-install/doc/html/*/*.haddock | sort`
+ HADDOCK_FILES2=`ls -1 dph/*/dist-install/doc/html/*/*.haddock | sort`
+ HADDOCK_FILES="$HADDOCK_FILES1 $HADDOCK_FILES2"
for HADDOCK_FILE in $HADDOCK_FILES
do
- NAME=`echo "$HADDOCK_FILE" | sed "s#/.*##"`
- if [ "$NAME" != haskell98 ]
- then
- echo "[@${NAME}@]"
- grep -v '^ *$$' "$NAME"/prologue.txt
- echo
- HADDOCK_ARGS="$HADDOCK_ARGS --read-interface=$NAME,$HADDOCK_FILE"
- fi
+ LIBPATH=`echo "$HADDOCK_FILE" | sed 's#/dist-install.*##'`
+ NAME=`echo "$HADDOCK_FILE" | sed 's#.*/##' | sed 's#\.haddock$##'`
+ # It's easier to portably remove tabs with tr than to try to get
+ # sed to do what we want
+ VERSION=`grep -i '^version:' $LIBPATH/$NAME.cabal | sed 's/.*://' | tr -d ' \t'`
+ HADDOCK_ARG="--read-interface=${NAME}-${VERSION},$HADDOCK_FILE"
+ HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
done
- cat libraries-footer.txt
- echo
-} > libraries.txt
+ ;;
+*)
+ HADDOCK=../../../../../bin/haddock
+ # We don't want the GHC API to swamp the index
+ HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
+ for HADDOCK_FILE in $HADDOCK_FILES
+ do
+ NAME_VERSION=`echo "$HADDOCK_FILE" | sed 's#/.*##'`
+ HADDOCK_ARG="--read-interface=${NAME_VERSION},$HADDOCK_FILE"
+ HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
+ done
+ ;;
+esac
# Now create the combined contents and index pages
-haddock --gen-index --gen-contents -o . \
- -t "Haskell Hierarchical Libraries" \
- -p libraries.txt \
- $HADDOCK_ARGS
+$HADDOCK --gen-index --gen-contents -o . \
+ -t "Haskell Hierarchical Libraries" \
+ -p "prologue.txt" \
+ $HADDOCK_ARGS
# Unhandled Windows help stuff?: