Boost logo

Boost :

Subject: Re: [boost] Use of third-party libraries
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2014-07-25 03:49:38


On 25/07/2014 18:53, Michael Shepanski wrote:
>> Assuming there is no backend for the database I am interested in, I
>> might want to have quince core in order to develop that backend. I
>> therefore think that quince core should always be built.
>
> In that case, sooner or later you're going to have to tweak quince's jam
> file, to make the building of your backend contingent on the presence of
> some third-party library (fron MySQL or Oracle or whatever).

You're assuming that all backends must be built as part of the quince tree.

What if I wanted to write a backend private to a particular application
and never intended to be published (perhaps it's some proprietary data
format rather than a "real" database)?

If the core were always built, it could be used with a custom backend
that quince's jam file knows nothing about. (Provided that the core
itself doesn't have to be modified to add a new backend -- but I would
hope that's true as it's part of standard coding principles.)

> I'm coming around to Karsten Ahnert's idea that I should ship sqlite.
> (I wouldn't call it a "default backend", as Karsten does, because
> application code still has to make a choice -- but that's just a
> quibble.).

All of sqlite or just a connector to it? I don't have any particular
opinion on this either way, but bear in mind that if you do the former,
users may still wish to use a different version of it (perhaps they need
a bugfix from a newer version than shipped with quince), and (especially
if you don't provide a way to do that) users will expect you to keep it
up to date, which increases maintenance costs slightly.


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