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

Building Subversion without deprecated symbols

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Mon, 29 Sep 2008 15:45:01 -0500

Over the past few days, I've been working on compile Subversion without any of
out deprecated symbols. This of course creates libraries which don't abide by
our API compatibility guidelines, but it also creates smaller libraries which
don't have extra cruft unneeded by some of our consumers. For example, for a
statically-linked, stripped copy of the command line client:

 1705036 bytes with the deprecated symbols in
 1659976 bytes without the deprecated symbols

This may not seem like much, but I don't think some of our API consumers would
scoff at shipping a 45kB smaller tarball.

To enable this, I'd like to make a new configure-time option. To do so, I
propose the following process:
 1) Move all the deprecated symbols and definitions to a common location in each
    file. We could also move all the deprecated functions in a library to a
    common file, as has been previously suggested.
 2) Introduce SVN_EXCLUDE_DEPRECATED, dependent upon some configure-time magic.
 3) Wrap the sections created in (1) with SVN_EXCLUDE_DEPRECATED.

The one catch here is that the tests will need to be updated to remove use of
deprecated APIs. (I've already done this as part of my initial analysis.)
Although I was initially opposed to such an idea, I'm starting to come around.
Do other people have strong feelings about this?

-Hyrum

Received on 2008-09-29 22:45:23 CEST

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