Boost logo

Boost :

From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-06-28 04:23:11


Reece Dunn wrote:
> Andy Little wrote:
>> "David Abrahams" wrote
>>> "Andy Little"writes:
>>>
>>>> Whenever I invoke bjam I get this first:
>>>>
>>>> warning: Python location is not configured
>>>> warning: the Boost.Python library won't be built
>>>> Building Boost.Regex with the optional Unicode/ICU support
>>>> disabled. Please refer to the Boost.Regex documentation for more
>>>> information (and if you don't know what ICU is then you probably
>>>> don't need it).
>>>>
>>>> Thanks Bjam. You know what? I really don't care!
>>>
>>> Got anything constructive to say about it?
>>
>> Nope. Just more ranting I'm afraid...
>>
>> The fact is that all my tests and examples seem to build fine
>> without me having done anything about configuring Python or Regex,
>> so these messages are completely bogus AFAICS. What purpose do they
>> serve?
>
> What you may not realise is that Boost.IOStreams will generate
> warnings about
> mizzing ZLib and BZip2 libraries. However, for these you need to say:
>
> bjam --v2 --debug-configuration
>
> It would make sense to do the same for the Python and RegEx
> libraries. That
> way, if you run into build/configuration problems, you will be warned
> about the
> missing libraries and if you don't care (like Andy :)), then you
> won't see anything.
> It will also make things cleaner.

+1 to that, or something similar.

I've also been annoyed by that for some time now, as it shows up even if you
use e.g. 'use-project boost : $(BOOST_ROOT)' from within your own projects.

- For the Python library, would it be possible to only output that if the
Python library should actually be built? Even if I invoke Boost.Build using
e.g. "bjam --with-thread" the message appears.

- For the libraries where the messages refer to optional parts: Try to
implicitly build the optional parts if the supporting components can be
found. Add optional command-line arguments that should be used if you know
that you need those extensions, and fail the build if not. If the library
should not be actually built - don't output anything.

As an example, to _require_ ICU support when building regex:

"bjam --with-regex --regex-with-icu"

To not use ICU, even if it exists:

"bjam --with-regex --regex-without-icu"

Perhaps also add a global "--extensions-on" or "--extensions-off" option for
stuff requiring optional libraries?

Just my .02 EUR.

// Johan


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