I've been working on some haddock-related Cabal tweaks and a "make" include file called "cabal-make", which manages syntax coloring (vis hscolour) with links from the haddock docs, web-based links to other libraries, and wiki-based user comments. It's ready to release for others' use except for one problem (as mentioned below). The --haddock-args flag ends up turning my forward slashes into backslashes (on my WinXP machine), so all of the web links are broken. I'd appreciate suggestions about this problem.
You can find an example doc generated by cabal-make (a previous implementation that didn't quite fit cabal) at http://darcs.haskell.org/packages/TV/doc/html/Interface-TV-Output.html
. Suggestions welcome.
- Conal
---------- Forwarded message ----------
From: Conal Elliott <conal@conal.net
>
Date: Jan 19, 2007 5:18 PM
Subject: Re: [Conal Elliott] Re: getting cabal to pass more info to haddock
To: Isaac Jones <ijones@syntaxpolice.org>
Cc: cabal-devel <
cabal-devel@haskell.org>
Hi Isaac. Now I see why the patch file was empty. And after some head-scratching about your note below, I'm glad the patch was empty. I hadn't noticed the --xxx-args flags for configure, and instead added a new haddock flag. Giving a flag to configure makes a lot more sense.
So now I have just a new pair of flags enable-use-packages & disable-use-packages, which control whether haddock gets automatically-generated --use-package flags.
My makefile are now performing this sort of incantation:
./setup configure --disable-use-packages --haddock-args="\
--read-interface=http://haskell.org/ghc/docs/latest/html/libraries/base,c:/ghc/ghc-6.6/doc/html/libraries/base/base.haddock
\
--read-interface=
http://haskell.org/ghc/docs/latest/html/libraries/mtl,c:/ghc/ghc-6.6/doc/html/libraries/mtl/mtl.haddock \
"
The only problem is --haddock-args ends up turning my forward slashes into backslashes, so all of the web links are broken.
Any advice?
- Conal
Hi Conel. Thanks for this! It sounds like the ideas from your
makefile could be used for Hackage for generating nice Haddock :)
There is a general meachanism for adding --foo-args for each Program
that cabal knows about; can you use this meachanism to add --foo-arg
as well, instead of special-casing for haddock?
If you do that, can you make the help output not suck? Currently it
does something like this:
--ar-args=ARGS give the args to ar
--haddock-args=ARGS give the args to haddock
--ld-args=ARGS give the args to ld
--pfesetup-args=ARGS give the args to pfesetup
--ranlib-args=ARGS give the args to ranlib
--runghc-args=ARGS give the args to runghc
--runhugs-args=ARGS give the args to runhugs
--tar-args=ARGS give the args to tar
it would be nice to concerve lines with sometthing like this:
--ar-arg=ARG --ar-args=ARGS give the arg or args to ar
--haddock-arg=ARG --haddock-args=ARGS give the arg or args to haddock
etc
The patch you sent seemed like an empty file to me. Maybe I'm just
being nihilistic ;)
peace,
isaac