summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc.mk2
-rw-r--r--libraries/gen_contents_index31
-rw-r--r--utils/ghc-cabal/ghc-cabal.hs4
3 files changed, 23 insertions, 14 deletions
diff --git a/ghc.mk b/ghc.mk
index 23d4e5fdc9..015e3b464e 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -817,6 +817,8 @@ ifneq "$(INSTALL_LIBRARY_DOCS)" ""
for i in $(INSTALL_LIBRARY_DOCS); do \
$(INSTALL_DOC) $(INSTALL_OPTS) $$i "$(DESTDIR)$(docdir)/html/libraries/"; \
done
+ $(INSTALL_DATA) $(INSTALL_OPTS) libraries/prologue.txt "$(DESTDIR)$(docdir)/html/libraries/"
+ $(INSTALL_SCRIPT) $(INSTALL_OPTS) libraries/gen_contents_index "$(DESTDIR)$(docdir)/html/libraries/"
endif
ifneq "$(INSTALL_HTML_DOC_DIRS)" ""
for i in $(INSTALL_HTML_DOC_DIRS); do \
diff --git a/libraries/gen_contents_index b/libraries/gen_contents_index
index 99efc8fcc6..e189cac8ee 100644
--- a/libraries/gen_contents_index
+++ b/libraries/gen_contents_index
@@ -3,28 +3,35 @@
set -e
HADDOCK_ARGS=
-NAMES=
case $* in
--inplace)
HADDOCK=../inplace/bin/haddock
- HADDOCK_FILES=`ls -1 */dist-install/doc/html/*/*.haddock | sort`
- HADDOCK_FILES="$HADDOCK_FILES `ls -1 dph/*/dist-install/doc/html/*/*.haddock | sort`"
+ 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/.*[ \t]//'`
+ 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#.*/##' | sed 's#\.haddock$##' `
- 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" \
diff --git a/utils/ghc-cabal/ghc-cabal.hs b/utils/ghc-cabal/ghc-cabal.hs
index ef4e989e6c..b940a2dff5 100644
--- a/utils/ghc-cabal/ghc-cabal.hs
+++ b/utils/ghc-cabal/ghc-cabal.hs
@@ -198,8 +198,8 @@ doInstall ghc ghcpkg strip topdir directory distDir
libsubdir = toPathTemplate "$pkgid",
docdir = toPathTemplate $
if relocatableBuild
- then "$topdir/$pkg"
- else (myDocdir </> "$pkg"),
+ then "$topdir/$pkgid"
+ else (myDocdir </> "$pkgid"),
htmldir = toPathTemplate "$docdir"
}
progs = withPrograms lbi