Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: wip/th-new
Fetching contributors…

Cannot retrieve contributors at this time

98 lines (86 sloc) 2.633 kb
#!/bin/sh
set -e
USAGE="Usage: $0 [--intree] [--verbose] [--help]"
INTREE=
VERBOSE=
HADDOCK_ARGS=
while [ "$#" -ne "0" ]
do
case "$1" in
--intree)
# We're in a GHC build tree
INTREE=yes
;;
--verbose)
VERBOSE=yes
;;
--help)
echo "$USAGE"
exit 0
;;
esac
shift
done
if [ -n "$INTREE" ]
then
[ -d dist-haddock ] || mkdir dist-haddock
cd dist-haddock
HADDOCK=../../inplace/bin/haddock
HADDOCK_ARGS="-p ../prologue.txt"
for REPO in `grep '^libraries/[^ ]* *- ' ../../packages | sed -e 's#libraries/##' -e 's/ .*//'`
do
if [ -f "../$REPO/ghc-packages" ]
then
LIBS="`cat ../$REPO/ghc-packages`"
LIBROOT="../$REPO"
else
LIBS="$REPO"
LIBROOT=".."
fi
for LIB in $LIBS
do
HADDOCK_FILE="$LIBROOT/$LIB/dist-install/doc/html/$LIB/$LIB.haddock"
if [ -f "$HADDOCK_FILE" ]
then
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"
fi
done
done
else
HADDOCK=../../../../../bin/haddock
# We don't want the GHC API to swamp the index
HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
HADDOCK_ARGS="-p prologue.txt"
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
fi
# Now create the combined contents and index pages
if [ -n "$VERBOSE" ]
then
echo $HADDOCK_ARGS
fi
$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
Jump to Line
Something went wrong with that request. Please try again.