You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@galois.collab.net> on 2001/01/31 13:16:30 UTC

Re: New libsvn_delta dependencies in tests

Kevin Pilch-Bisson <ke...@pilch-bisson.net> writes:
> I noticed as I was building this morning that since we now have the
> default editor (thanks all), every test project which has a LDADD of the
> test_editor, now also needs libsvn_delta.  We can fix this one of two
> ways.
> 
> 1) Put the @SVN_LIBSVN_DELTA_LIBS@ in the LDADD for each test the uses
> @SVN_TESTS_EDITOR_LIBS@ in each Makefile.am that needs it or
> 
> 2) Change the definition of @SVN_TESTS_EDITOR_LIBS@ to automagically
> include libsvn_delta.la, since it will always be required.
> 
> What are people's preferences?

The latter would be best, IMHO.

-K


> >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Kevin Pilch-Bisson
> kevin@pilch-bisson.net
> http://www.pilch-bisson.net
> PGP Public Key At http://pgp.pilch-bisson.net
> 
> --3V7upXqbjpZ4EhLz
> Content-Type: application/pgp-signature
> Content-Disposition: inline
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.4 (GNU/Linux)
> Comment: For info see http://www.gnupg.org
> 
> iD8DBQE6eBgKgJlk/lQdbnARAjYzAKCKwV+7Ncg37ejdWAtYPij5glsUawCfTog9
> oHrEMFhXdGFddyvde65jXl4=
> =6DnM
> -----END PGP SIGNATURE-----
> 
> --3V7upXqbjpZ4EhLz--

Re: New libsvn_delta dependencies in tests

Posted by Karl Fogel <kf...@galois.collab.net>.
Ben Collins-Sussman <su...@newton.collab.net> writes:
> > Originally, I thought so too, but now I am of two minds.  While it would
> > be nice to just have to put @SVN_TESTS_EDITOR_LIBS@ to get everything
> > you need.  Why does this not apply also to say, @SVN_LIBSVN_DELTA@
> > including libexpat, libsvn_subr, etc.  If we were to go this way, I say
> > it should then apply to all the @SVN_*@ variables, but if we do this,
> > then people will probably redundantly put things there, not realizing
> > that something else will automiatically grab it.

Redundant link requests should be harmless, like redundant includes.

In an ideal world, if module A depends on module B, bringing in B
should also bring in everything B depends on.  A shouldn't need to
know B's requirements -- that's B's job.  The whole point of having B
modularized is that A doesn't need to know the details of what goes on
in B, and B's own dependencies are part of those details, I would
think.

The fact that it's difficult to support these clear divisions with our
current technology is not an argument against having them, but it
might be an argument for why we shouldn't spend too much time trying
to achieve perfection.

> Yeah, I agree.  Sure, we *could* compress all the build variables down
> to a single variable.  But I think that makes things less readable.  I
> think it's important to see a real list of dependencies, even if most
> targets have the same list.  Our build system is already
> overly-abstracted as it is.  =)

No -- we can't compress all the variables down to a single variable,
because a part A depend on two other parts B and C that don't
themselves depend on each other.  I think there is an unambiguous
definition of "perfection" here, in which every part automatically
brings in anything it depends on, and doesn't need to be told by its
dependee what those might be.

Whether we can meet that definition, I'm not sure.  I certainly don't
think it's worth spending much effort on right now, anyway.

-K

Re: New libsvn_delta dependencies in tests

Posted by Ben Collins-Sussman <su...@newton.collab.net>.
Kevin Pilch-Bisson <ke...@pilch-bisson.net> writes:

> Originally, I thought so too, but now I am of two minds.  While it would
> be nice to just have to put @SVN_TESTS_EDITOR_LIBS@ to get everything
> you need.  Why does this not apply also to say, @SVN_LIBSVN_DELTA@
> including libexpat, libsvn_subr, etc.  If we were to go this way, I say
> it should then apply to all the @SVN_*@ variables, but if we do this,
> then people will probably redundantly put things there, not realizing
> that something else will automiatically grab it.

Yeah, I agree.  Sure, we *could* compress all the build variables down
to a single variable.  But I think that makes things less readable.  I
think it's important to see a real list of dependencies, even if most
targets have the same list.  Our build system is already
overly-abstracted as it is.  =)

Re: New libsvn_delta dependencies in tests

Posted by Kevin Pilch-Bisson <ke...@pilch-bisson.net>.
On Wed, Jan 31, 2001 at 07:16:30AM -0600, Karl Fogel wrote:
> Kevin Pilch-Bisson <ke...@pilch-bisson.net> writes:
> > I noticed as I was building this morning that since we now have the
> > default editor (thanks all), every test project which has a LDADD of the
> > test_editor, now also needs libsvn_delta.  We can fix this one of two
> > ways.
> > 
> > 1) Put the @SVN_LIBSVN_DELTA_LIBS@ in the LDADD for each test the uses
> > @SVN_TESTS_EDITOR_LIBS@ in each Makefile.am that needs it or
> > 
> > 2) Change the definition of @SVN_TESTS_EDITOR_LIBS@ to automagically
> > include libsvn_delta.la, since it will always be required.
> > 
> > What are people's preferences?
> 
> The latter would be best, IMHO.
> 
Originally, I thought so too, but now I am of two minds.  While it would
be nice to just have to put @SVN_TESTS_EDITOR_LIBS@ to get everything
you need.  Why does this not apply also to say, @SVN_LIBSVN_DELTA@
including libexpat, libsvn_subr, etc.  If we were to go this way, I say
it should then apply to all the @SVN_*@ variables, but if we do this,
then people will probably redundantly put things there, not realizing
that something else will automiatically grab it.

Anyone else?
-- 
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kevin Pilch-Bisson
kevin@pilch-bisson.net
http://www.pilch-bisson.net
PGP Public Key At http://pgp.pilch-bisson.net