On Wed, Dec 05, 2001 at 05:00:18PM -0500, Garrett Rooney wrote:
> On Wed, Dec 05, 2001 at 04:49:30PM -0500, Mark Benedetto King wrote:
>...
> > Can we hide this in a macro? Something like
> >
> > #if SVN_FS_WANT_DB_MAJOR > 3
> > #define BDB_TXN_CHECKPOINT(e,x,y,z) (e)->txn_checkpoint(e,x,y,z)
> > #else
> > #define BDB_TXN_CHECKPOINT(e,x,y,z) txn_checkpoint(e,x,y,z)
> > #endif
>
> the question isn't 'can we', the question is 'should we'.
>
> IMO, supporting multiple versions of such a complicated and important
> library is just a bad idea. the issue isn't the interface change, the
> issue is potential bugs in the older version.
>
> i would say either switch or don't, but don't support both.
Agreed, but I think we should support both during a transitional period. If
we had a way to easily support either version, then we could simplify the
task of people wanted to test against the new BDB v4.
But given that any kind of macro would be transitional rather than
permanent, I'd say skip the macro and just use (transitional) #ifdef code in
the FS functions.
The question then becomes: what is a good patch that allows a person to
easily flip between the two versions? For example, we might be able to
change the libdb-3.3.la to libdb-$MAJOR.$MINOR.la (well, whatever the
symbols really are). That would reduce the user's change to just
configure.in. (I don't think we'd want to auto-detect one or the other)
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:51 2006