Boost logo

Boost-Build :

Subject: [Boost-build] [Build] Extender Manual, Generators, Actions
From: Lee Winter (lee.j.i.winter_at_[hidden])
Date: 2009-04-20 22:39:36


The Build Extender Manual gives examples and describes creating new
file types. It gives examples and describes derived generators for
new file types. And it gives examples of actions for new file types,
but does not decribe them. Is there a written description for such
actions?

If there is no written description, can anyone provide information on
the example in the manual? It is as follows:

      import type ;
      import generators ;
      type.register VERBATIM : verbatim ;
      generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
      actions inline-file
      {
          "./inline-file.py" $(<) $(>)
      }

The areas I'm seeking clarification of are as follow:

1. The manual states that "...the name of the action block should be
specifed when creating targets."

What targets are created in the above example?

2. The manual states that "By convention, generators use the same
name of the action block as their own id."

In the example above, is the name of the generator
"verbatim.inline-file" or "inline-file"? If the former what magic
connects the generator name to the action named with a substring of
the generator's name? Is the file type ("verbatim") automatically
suppressed?

3. The construct "./inline-file.py" is not described in the manual.
It appears to be the invocation of a python script named
"inline-file". Is it? If so, what is the role of the leading "./"?

4. If the shell command needs to invoke a filter program handling
stdin and stdout pipes rather than a typical command-line program that
takes file names as arguments, how should such a filter action be
defined?

Thanks in advance for any clarification.

Lee Winter
NP Engineering
Nashua, New Hampshire


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