#!/bin/sh

set -e

HADDOCK=/home/ian/local/bin/haddock
HADDOCK_ARGS=
NAMES=

case $* in
--inplace)
    GHC_PKG=../utils/ghc-pkg/ghc-pkg-inplace
    for DIR in */
    do
        NAME=${DIR%/}
        HADDOCK_FILE=$NAME/dist/doc/html/$NAME/$NAME.haddock
        if [ -f $HADDOCK_FILE ]
        then
            FULLNAME=$NAME-`$GHC_PKG field $NAME version | sed 's#^version: *##'` 
            HADDOCK_ARGS="$HADDOCK_ARGS --read-interface=$FULLNAME,$HADDOCK_FILE"
            NAMES="$NAMES $NAME"
        fi
    done
    ;;
*)
    HADDOCK_FILES=`ls -1 */*.haddock | sort`
    for HADDOCK_FILE in $HADDOCK_FILES
    do
        NAME=`echo "$HADDOCK_FILE" | sed "s#/.*##"`
        HADDOCK_ARGS="$HADDOCK_ARGS --read-interface=$NAME,$HADDOCK_FILE"
        NAMES="$NAMES $NAME"
    done
    ;;
esac

# Now create the combined contents and index pages
$HADDOCK --gen-index --gen-contents -o . \
         -t "Haskell Hierarchical Libraries" \
         $HADDOCK_ARGS

# Unhandled Windows help stuff?:

#libraries.HxS : libraries.txt
#	 haddock ...
#		-k libraries
#		--html-help=mshelp2
#	( cd $(HTML_DIR) && if Hxcomp -p libraries.HxC -o ../$@ ; then false ; else true ; fi ) || true
#
#libraries.chm : libraries.txt
#	haddock ...
#		-k libraries \
#		--html-help=mshelp \
#	( cd $(HTML_DIR) && if hhc libraries.hhp ; then false ; else true ; fi && mv libraries.chm .. ) || true

