Check whether the main function is actually exported (#414)
[ghc-hetmet.git] / libraries / gen_contents_index
index db84b1d..59f59dd 100644 (file)
@@ -3,30 +3,39 @@
 set -e
 
 HADDOCK_ARGS=
-NAMES=
 
 case $* in
 --inplace)
-    HADDOCK=../utils/haddock/install-inplace/bin/haddock
-    HADDOCK_FILES=`ls -1 */dist/doc/html/*/*.haddock | sort`
+    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
+        LIBPATH=`echo "$HADDOCK_FILE" | sed 's#/dist-install.*##'`
+        NAME=`echo "$HADDOCK_FILE" | sed 's#.*/##' | sed 's#\.haddock$##'`
+        VERSION=`grep -i '^version:' $LIBPATH/$NAME.cabal | sed 's/.*[[:space:]]//'`
+        HADDOCK_ARG="--read-interface=${NAME}-${VERSION},$HADDOCK_FILE"
+        HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
+    done
     ;;
 *)
-    HADDOCK=../../../../bin/haddock
+    HADDOCK=../../../../../bin/haddock
     # We don't want the GHC API to swamp the index
-    HADDOCK_FILES=`ls -1 */*.haddock | grep -v "ghc/" | sort`
+    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
 
-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
-
 # Now create the combined contents and index pages
 $HADDOCK --gen-index --gen-contents -o . \
          -t "Haskell Hierarchical Libraries" \
+         -p "prologue.txt" \
          $HADDOCK_ARGS
 
 # Unhandled Windows help stuff?: