Set the value of Unregisterised in the bindist configure.ac
[ghc.git] / libraries / gen_contents_index
1 #!/bin/sh
2
3 set -e
4
5 USAGE="Usage: $0 [--inplace] [--verbose] [--help]"
6 INPLACE=
7 VERBOSE=
8
9 HADDOCK_ARGS=
10
11 [ -d dist-haddock ] || mkdir dist-haddock
12 cd dist-haddock
13
14 while [ "$#" -ne "0" ]
15 do
16     case "$1" in
17     --inplace)
18         INPLACE=yes
19         ;;
20     --verbose)
21         VERBOSE=yes
22         ;;
23     --help)
24         echo "$USAGE"
25         exit 0
26         ;;
27     esac
28
29     shift
30 done
31
32 if [ -n "$INPLACE" ]
33 then
34     HADDOCK=../../inplace/bin/haddock
35     for REPO in `grep '^libraries/[^ ]*  *- ' ../../packages | sed -e 's#libraries/##' -e 's/ .*//'`
36     do
37         if [ -f "../$REPO/ghc-packages" ]
38         then
39             LIBS="`cat ../$REPO/ghc-packages`"
40             LIBROOT="../$REPO"
41         else
42             LIBS="$REPO"
43             LIBROOT=".."
44         fi
45         for LIB in $LIBS
46         do
47             HADDOCK_FILE="$LIBROOT/$LIB/dist-install/doc/html/$LIB/$LIB.haddock"
48             if [ -f "$HADDOCK_FILE" ]
49             then
50                 LIBPATH=`echo "$HADDOCK_FILE" | sed 's#/dist-install.*##'`
51                 NAME=`echo "$HADDOCK_FILE" | sed 's#.*/##' | sed 's#\.haddock$##'`
52                 # It's easier to portably remove tabs with tr than to try to get
53                 # sed to do what we want
54                 VERSION=`grep -i '^version:' $LIBPATH/$NAME.cabal | sed 's/.*://' | tr -d ' \t'`
55                 HADDOCK_ARG="--read-interface=${NAME}-${VERSION},$HADDOCK_FILE"
56                 HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
57             fi
58         done
59     done
60 else
61     HADDOCK=../../../../../../bin/haddock
62     # We don't want the GHC API to swamp the index
63     HADDOCK_FILES=`ls -1 ../*/*.haddock | grep -v '/ghc\.haddock' | sort`
64     for HADDOCK_FILE in $HADDOCK_FILES
65     do
66         NAME_VERSION=`echo "$HADDOCK_FILE" | sed 's#/.*##'`
67         HADDOCK_ARG="--read-interface=${NAME_VERSION},$HADDOCK_FILE"
68         HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
69     done
70 fi
71
72 # Now create the combined contents and index pages
73 if [ -n "$VERBOSE" ]
74 then
75     echo $HADDOCK_ARGS
76 fi
77 $HADDOCK --gen-index --gen-contents -o . \
78          -t "Haskell Hierarchical Libraries" \
79          -p "../prologue.txt" \
80          $HADDOCK_ARGS
81
82 # Unhandled Windows help stuff?:
83
84 #libraries.HxS : libraries.txt
85 #        haddock ...
86 #               -k libraries
87 #               --html-help=mshelp2
88 #       ( cd $(HTML_DIR) && if Hxcomp -p libraries.HxC -o ../$@ ; then false ; else true ; fi ) || true
89 #
90 #libraries.chm : libraries.txt
91 #       haddock ...
92 #               -k libraries \
93 #               --html-help=mshelp \
94 #       ( cd $(HTML_DIR) && if hhc libraries.hhp ; then false ; else true ; fi && mv libraries.chm .. ) || true
95