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

gen-make and library dependencies

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-08-12 00:32:28 CEST

Hello

Erik Hülsmann has a problem with libraries, see
http://www.contactor.se/~dast/svn/archive-2003-08/0484.shtml

It boils down to ra_dav's use of neon and svnversion's use of
gen-make. In build.conf svnversion has

libs = libsvn_client $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)

which generates a link command that links against all the Subversion
libraries and their dependencies. The problem is that libsvn_client
pulls in libsvn_ra_dav (through libsvn_ra) which pulls in neon. With
the libs line above the neon libraries appear in the middle of the
link, and in Erik's case that upsets the subsequent Subversion
libraries.

I think I can fix Erik's problem by adding NEON_LIBS as follows

libs = libsvn_client $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)

as this causes a link command with the neon libs at the end. I don't
know if this is a gen-make feature or a libtool feature.

However the libs line for the svn program is

libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
        $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)

which includes additional Subversion libraries. Are these additional
Subversion libraries necessary? svnversion appears to get them simply
by specifiying libsvn_client. Why those and not the other Subversion
libraries?

The same question applies to other executables/libraries. Do they
need to declare all their dependents, or only the immediate
dependents. For example libsvn_client depends on libsvn_wc and
libsvn_wc depends on libsvn_subr, so does libsvn_client need to
explictitly declare that it depends on libsvn_subr or can it simply
get it through libsvn_wc. Everything appears to work if I remove
libsvn_subr from libsvn_client's libs list.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 12 00:33:20 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.