Boost logo

Boost :

Subject: Re: [boost] Use of third-party libraries
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-07-24 04:27:57

On Thu, Jul 24, 2014 at 12:01 PM, Michael Shepanski <mps_at_[hidden]> wrote:
> On 24/07/2014 5:42 PM, Andrey Semashev wrote:
>> Having constants so that the user is able to specify the paths
>> manually (either in user-config.jam or bjam command line) is required.
>> However, on Linux (and on other UNIX-like systems as well) there are
>> standard locations for headers and libs which need not be specified in
>> the compiler command line. So if libpq is installed but the bjam
>> constants are not set you might still be able to compile your backend.
>> In order to check that you'll have to attempt to compile a test
>> application. Then there is pkgconfig, which can be used to obtain
>> these paths automatically. It is quite common in Linux and probably
>> other UNIX-like systems, although I'm not sure. Of course, how far you
>> are willing to go in inspecting the environment is up to you.
>> There is another aspect that may require test applications. I don't
>> know if that's your case but you may have requirements on specific
>> versions or features of the third party libraries. You can use test
>> applications to verify that the third party library fulfills your
>> requirements.
> Thanks. Okay, I think I understand the issues now.
> Not being an expert in either Boost.Build or any modern form of Unix, I find
> it all rather daunting, so I'd appreciate any opinions on what counts as an
> adequate, as opposed to ideal, solution. Meanwhile I will proceed on the
> assumption that no corners are to be cut.

Personally, I'd implement optional bjam constants + a test application
(which uses the constants if specified) for a start. The backend is
enabled if the test app compiles. That would be on par with the
existing Boost libraries.

Support for pkgconfig is nice to have but can be added later.
Actually, it'd be great if support for pkgconfig was included into

Boost list run by bdawes at, gregod at, cpdaniel at, john at