[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Issue 1627: Create subversion DLLs on Windows

From: Branko Čibej <brane_at_xbc.nu>
Date: 2006-12-18 02:31:41 CET

Vlad Georgescu wrote:
> This patch changes the build system on Windows as follows:

This is absolutely phenomenal work, Vlad! And exactly what I wanted all
along. Thanks! Bravo!


> * 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).

> * Visual Studio refuses to build a project's outputs if a project has
> no source files, as is the case with our dll projects. As a
> workaround, I added an empty.c file to each such project.

Yup. We could even generate such a file ... but keeping a single copy in
build/win32 is just fine (and probably simpler, too).

> Note: I only tested this patch with Visual Studio 2005. It would
> probably be trivial to make it work with VC++ 6.0.
> The changes to build.conf and win-tests.py are based on Russell
> Yanofsky's patches attached to issue 1627.

What can I say ... this looks beautiful. And I promise (once again...)
to really, really find time to test this -- like, this year. :)

-- Brane

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Dec 18 02:32:14 2006

This is an archived mail posted to the Subversion Dev mailing list.