Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/4c49eb512499255fe7de0e6cfc08ed138957d583

>---------------------------------------------------------------

commit 4c49eb512499255fe7de0e6cfc08ed138957d583
Author: Ian Lynagh <[email protected]>
Date:   Sun Jan 8 14:43:46 2012 +0000

    Generate the haddock contents/index pages in a dist-haddock subdirectory
    
    This is tidier, and makes it easier to clean and install them correctly

>---------------------------------------------------------------

 ghc.mk                       |   16 ++++++++--------
 libraries/gen_contents_index |   21 ++++++++++++---------
 2 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/ghc.mk b/ghc.mk
index 3805bbe..0bd3d8d 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -666,17 +666,12 @@ $(foreach p,$(PACKAGES_STAGE0),$(eval 
libraries/$p_dist-boot_DO_HADDOCK = NO))
 
 # Build the Haddock contents and index
 ifeq "$(HADDOCK_DOCS)" "YES"
-libraries/index.html: inplace/bin/haddock$(exeext) $(ALL_HADDOCK_FILES)
+libraries/dist-haddock/index.html: inplace/bin/haddock$(exeext) 
$(ALL_HADDOCK_FILES)
        cd libraries && sh gen_contents_index --inplace
 ifeq "$(phase)" "final"
-$(eval $(call all-target,library_doc_index,libraries/index.html))
+$(eval $(call all-target,library_doc_index,libraries/dist-haddock/index.html))
 endif
-INSTALL_LIBRARY_DOCS += libraries/*.html libraries/*.gif libraries/*.css 
libraries/*.js
-CLEAN_FILES += $(wildcard libraries/doc-index*   \
-                          libraries/haddock*.css \
-                          libraries/haddock*.js  \
-                          libraries/index*.html  \
-                          libraries/*.gif)
+INSTALL_LIBRARY_DOCS += libraries/dist-haddock/*
 endif
 
 # -----------------------------------------------------------------------------
@@ -1165,6 +1160,11 @@ $(foreach lib,$(PACKAGES_STAGE1) $(PACKAGES_STAGE2),\
   $(eval $(call 
clean-target,libraries/$(lib),dist-install,libraries/$(lib)/dist-install)))
 endif
 
+clean : clean_haddock_index
+.PHONY: clean_haddock_index
+clean_haddock_index:
+       $(call removeTrees,libraries/dist-haddock)
+
 clean : clean_bindistprep
 .PHONY: clean_bindistprep
 clean_bindistprep:
diff --git a/libraries/gen_contents_index b/libraries/gen_contents_index
index c8d82c8..b9aaa93 100644
--- a/libraries/gen_contents_index
+++ b/libraries/gen_contents_index
@@ -4,18 +4,21 @@ set -e
 
 HADDOCK_ARGS=
 
+[ -d dist-haddock ] || mkdir dist-haddock
+cd dist-haddock
+
 case $* in
 --inplace)
-    HADDOCK=../inplace/bin/haddock
-    for REPO in `grep '^libraries/[^ ]*  *- ' ../packages | sed -e 
's#libraries/##' -e 's/ .*//'`
+    HADDOCK=../../inplace/bin/haddock
+    for REPO in `grep '^libraries/[^ ]*  *- ' ../../packages | sed -e 
's#libraries/##' -e 's/ .*//'`
     do
-        if [ -f "$REPO/ghc-packages" ]
+        if [ -f "../$REPO/ghc-packages" ]
         then
-            LIBS="`cat $REPO/ghc-packages`"
-            LIBROOT="$REPO"
+            LIBS="`cat ../$REPO/ghc-packages`"
+            LIBROOT="../$REPO"
         else
             LIBS="$REPO"
-            LIBROOT="."
+            LIBROOT=".."
         fi
         for LIB in $LIBS
         do
@@ -34,9 +37,9 @@ case $* in
     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\.haddock' | 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#/.*##'`
@@ -50,7 +53,7 @@ esac
 echo $HADDOCK_ARGS
 $HADDOCK --gen-index --gen-contents -o . \
          -t "Haskell Hierarchical Libraries" \
-         -p "prologue.txt" \
+         -p "../prologue.txt" \
          $HADDOCK_ARGS
 
 # Unhandled Windows help stuff?:



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to