Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-03-23 10:51:43


David Abrahams wrote:

> Vladimir Prus <ghost_at_[hidden]> writes:
>
>> Stefan Seefeld wrote:
>>
>>>> Not only on "some Unixes"; the way libpython gets built on Linux
>>>> systems differs among the different distributions.
>>>>
>>>> We also know of having to add -lutil for pty related functions.
>>>
>>> The way this is typically solved is by querying the library / tool about
>>> its dependencies (via autotools, i.e. configure, say).
>>> I'm not sure whether boost.build has something equivalent...
>>
>> We don't have any configure-like solution at the moment. Care to work on
>> one? ;-)
>
> Well, we do have the SHELL rule. Not much more than that is needed,
> is it?

There are two approaches.

1. You have separate configure step. Some tests are compiled and run (much
like C++ Boost regression tests) and produce some files. Then, Boost.Build
reads those files, decides if tests failed or passed and makes some
decision. For this, SHELL is fine.

2. Ideally, the tests are automatically run when out-of-date. The results of
tests immediate affect Jamfile logic. For example:

  if [ configure.run-test have_dlopen.cpp ]
  {
        sources += dlopen_using_code.cpp ;
  }

This requires that we be able to update some targets before we've finished
reading all Jamfiles, and is not supported at the moment.

- Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk