On 12/18/06, Branko Èibej <brane@xbc.nu> wrote:
> Vlad Georgescu wrote:
> [...]
>
> > * svn_ra_dav_init and svn_ra_serf_init. These (deprecated) functions
> > are declared in svn_ra.h. Depending on how you build Subversion, only
> > one of these will be defined, so we can't export both. To handle this,
> > I added some extra logic to extractor.py to determine which of neon
> > and serf is linked in and, based on that decision, only export the
> > appropriate function.
>
> I wonder ... this lets us "randomly" create DLLs that might not be
> binary compatible, from the same source. I suspect the Unix build is
> similarly broken.
>
> In a case like this, I'd prefer to always export both functions, and
> only tweak the source to have one of them return APR_ENOTIMPL (or the
> svn_error_t* equivalent).
Good idea. I've added stubs like this to libsvn_ra/ra_loader.c, one
for each RA library:
#ifndef SVN_LIBSVN_CLIENT_LINKS_RA_FOO
svn_error_t *
svn_ra_foo_init(int abi_version,
apr_pool_t *pool,
apr_hash_t *hash)
{
return svn_error_create(SVN_ERR_RA_NOT_IMPLEMENTED, NULL, NULL);
}
#endif
I attached the updated log message and patch.
--
Vlad
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Dec 18 17:02:45 2006