1d8306416cfaa13dca1f2906661ea7e6623c4b6e
[ghc-hetmet.git] / libraries / gen_contents_index
1 #!/bin/sh
2
3 set -e
4
5 HADDOCK_ARGS=
6
7 case $* in
8 --inplace)
9     HADDOCK=../inplace/bin/haddock
10     HADDOCK_FILES=`ls -1     */dist-install/doc/html/*/*.haddock | sort`
11     if [ -d dph ]
12     then
13         DPH_HADDOCK_FILES=`ls -1 dph/*/dist-install/doc/html/*/*.haddock | sort`
14         HADDOCK_FILES="$HADDOCK_FILES $DPH_HADDOCK_FILES"
15     fi
16     for HADDOCK_FILE in $HADDOCK_FILES
17     do
18         LIBPATH=`echo "$HADDOCK_FILE" | sed 's#/dist-install.*##'`
19         NAME=`echo "$HADDOCK_FILE" | sed 's#.*/##' | sed 's#\.haddock$##'`
20         # It's easier to portably remove tabs with tr than to try to get
21         # sed to do what we want
22         VERSION=`grep -i '^version:' $LIBPATH/$NAME.cabal | sed 's/.*://' | tr -d ' \t'`
23         HADDOCK_ARG="--read-interface=${NAME}-${VERSION},$HADDOCK_FILE"
24         HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
25     done
26     ;;
27 *)
28     HADDOCK=../../../../../bin/haddock
29     # We don't want the GHC API to swamp the index
30     HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
31     for HADDOCK_FILE in $HADDOCK_FILES
32     do
33         NAME_VERSION=`echo "$HADDOCK_FILE" | sed 's#/.*##'`
34         HADDOCK_ARG="--read-interface=${NAME_VERSION},$HADDOCK_FILE"
35         HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
36     done
37     ;;
38 esac
39
40 # Now create the combined contents and index pages
41 $HADDOCK --gen-index --gen-contents -o . \
42          -t "Haskell Hierarchical Libraries" \
43          -p "prologue.txt" \
44          $HADDOCK_ARGS
45
46 # Unhandled Windows help stuff?:
47
48 #libraries.HxS : libraries.txt
49 #        haddock ...
50 #               -k libraries
51 #               --html-help=mshelp2
52 #       ( cd $(HTML_DIR) && if Hxcomp -p libraries.HxC -o ../$@ ; then false ; else true ; fi ) || true
53 #
54 #libraries.chm : libraries.txt
55 #       haddock ...
56 #               -k libraries \
57 #               --html-help=mshelp \
58 #       ( cd $(HTML_DIR) && if hhc libraries.hhp ; then false ; else true ; fi && mv libraries.chm .. ) || true
59