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

Re: [Patch] Add missing dependencies in build.conf

From: Max Bowsher <maxb_at_ukf.net>
Date: 2003-05-26 16:06:45 CEST

Ben Collins-Sussman wrote:
> I don't understand why you need to do this. Dozens and dozens of
> people have been building subversion for more than a year, and we've
> never had to define this dependency before. What makes your system
> different?

I'm using Cygwin, and building libsvn_* as DLLs.

This dependency does not need to be declared if building libsvn_* as static
libs, because they can contain undefined references, provided they are
satisfied when the library is linked into a program. I skimmed through
build.conf, and it seems that every user of libsvn_ra_svn is also explicitly
using libsvn_ra_delta, expaining why the static build succeeded.

However, Windows DLLs cannot contain undefined references, hence
libsvn_ra_svn.la needs libsvn_ra_delta.la on the link command line.

(Ditto for libsvn_ra_dav)

IIRC unix shared libs do permit undefined references, explaining why this
has not been a problem on other platforms.

> Was this determined?

I don't understand. *How* was this determined?

The build failed with undefined references, so I added correct library to
satisfy those references to the link line.
Also verified by examining the import table of the produced DLLs, and again
by grepping the libsvn_ra_{svn,dav} source for functions beginning
svn_delta_ and svn_txdelta_. The relevant functions are (for both
libsvn_ra_svn and _dav):
    svn_delta_default_editor
    svn_txdelta_parse_svndiff
    svn_txdelta_to_svndiff

Max.

> "Max Bowsher" <maxb@ukf.net> writes:
>
>> There are two dependencies that are not declared in build.conf.
>>
>> Max.
>>
>>
>> * build.conf (libsvn_ra_dav): Add libsvn_delta dependency.
>> (libsvn_ra_svn): Ditto.
>>
>> Index: build.conf
>> ===================================================================
>> --- build.conf (revision 6047)
>> +++ build.conf (working copy)
>> @@ -143,7 +143,7 @@
>> type = lib
>> path = subversion/libsvn_ra_dav
>> install = dav-lib
>> -libs = libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)
>> +libs = libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
>> $(NEON_LIBS)
>> custom = ra-module
>>
>> # Accessing repositories via SVN
>> @@ -151,7 +151,7 @@
>> type = lib
>> path = subversion/libsvn_ra_svn
>> install = base-lib
>> -libs = libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
>> +libs = libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
>> custom = ra-module
>>
>> # Accessing repositories via direct libsvn_fs
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>> For additional commands, e-mail: dev-help@subversion.tigris.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon May 26 16:07:47 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.