From: Douglas Gregor (gregod_at_[hidden])
Date: 2003-03-17 13:50:39
On Friday 14 March 2003 03:24 am, Vladimir Prus wrote:
> > > > If "target" is a normal file, then it's just a normal target in
> > > > Jam. If "target" is a directory, it would have to be a pseudo-target
> > > > because we can't generally guess at what the output files will be to
> > > > build a target set.
> > >
> > > One gotcha here: if we generate a directory, then I don't know any
> > > way to track dependencies. I would assume that timestamp of directory
> > > is changed whenver anything in it changes, but it's not so :-(
> > I could generate a manifest file in the output directory. Then the
> > manifest timestamp could be used instead of the directory timestamp.
> > Actually, a manifest file is a good idea anyway for "clean" targets and,
> > eventually, installation.
> "I could" means you can teach your stylesheet to do that? It will be very
'Tis done now, but not (IMHO) cleanly. HTML (multiple files) and man pages are
now supported in the BoostBook module. Here's how I did it:
- Added HTMLDIR and MANPAGES types, but with no extension because they won't
really by files.
- When creating targets of type HTMLDIR (or MANPAGES) from a BoostBook
1) Create a DocBook target (a single file) like we normally would
2) Create a HTMLDIR (or MANPAGES) target whose source is the DocBook file,
and override the name to be the name of the manifest file
3) The DocBook -> HTML (multiple files) and DocBook -> man pages actions
call a special version of the XSLT rule that also accepts a directory name
('html' for HTML, 'man' for man pages).
Everything seems to be working well. There are a few things that bother me:
- BBv2 correctly looks for 'html/HTML.manifest' (or 'man/man,manifest'), but
I've only given it the name 'manifest'. I'm guessing this comes from the
"format" parameter name, but it's at least a little scary how this just
magically works :). Also, the rest of the path that is used for single files
(e.g., bin/gcc/debug/boost.docbook) doesn't show up. That's good, but I don't
see where it went...
- Not sure how to handle "clean" targets here
- The whole thing just feels like a hack to me. Or maybe I'm paranoid?
Still no clue how to handle catalogs, unfortunately :(
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk