Boost logo

Boost-Build :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-08-11 17:12:50


On 08/04/2007 09:30 AM, Vladimir Prus wrote:
> Larry Evans wrote:
>
>> On 08/03/2007 01:23 PM, Larry Evans wrote:
>> [snip]
>>> * question 2
>>>
>>> The following is from gcc.jam:
>>> <-------- cut here ---------
>>> actions link bind LIBRARIES
>>> {
>>> "$(CONFIG_COMMAND)" -L"$(LINKPATH)"
>>> -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)"
>>> -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP)
>>> "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP)
>>> $(OPTIONS) $(USER_OPTIONS)
>>> #the above appears all on one line in my editor.
>>> }
>>>
>>> >-------- cut here ---------
>>>
>>> What variable values are available in the actions body? Was the
[snip]

> A rule can use the following variables:
>
> 1. Variables globally set in the module an action is in.
[snip]
In the build.v2 .xml's at:

   boost-trunk/tools/build/v2/doc/

I was unable to find a good definition of a module. The following
grep:

cd /home/evansl/prog_dev/boost-svn/ro/boost-trunk/tools/build/v2/doc/src/
find . -name \*.xml -exec grep module {} \; -ls|grep -e 'r-- '
8195376 56 -rw-r--r-- 1 evansl evansl 51254 Aug 4 13:50
./advanced.xml
8195377 40 -rw-r--r-- 1 evansl evansl 36951 Aug 4 13:50
./extending.xml
8195374 28 -rw-r--r-- 1 evansl evansl 25383 Aug 4 13:50
./architecture.xml
8195387 80 -rw-r--r-- 1 evansl evansl 77228 Aug 4 13:50
./reference.xml
8195382 16 -rw-r--r-- 1 evansl evansl 15368 Aug 4 13:50
./faq.xml
8195379 8 -rw-r--r-- 1 evansl evansl 4587 Aug 4 13:50
./v1_vs_v2.xml

shows where I looked. The closest I found was in extending.xml which
contained:

   For example, if you create a module
   <filename>obfuscate.jam</filename> containing:

and in archecture.xml which contained:

   <listitem><para>Metatargets (see the "targets.jam" module) represent
   ...
   <listitem><para>Virtual targets (see the "virtual-targets.jam"
     module) correspond to the atomic things which can be updated --

However, these only *suggest* that:

   A module is a file with extension .jam .

... and, of course, containing build.v2 code. Is that right?

Apparently someone else noticed this problem of "no module definition"
because extending.xml contains:

     for loading and configuring extensions. To make it work, your module
     <!-- "module" hasn't been defined yet. Furthermore you haven't
          said anything about where that module file must be
          placed. -->


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