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

jlibtool support for SVN

From: Justin Erenkrantz <jerenkrantz_at_apache.org>
Date: 2002-08-01 12:26:05 CEST

Some of you may follow dev@apr where I have recently been posting
about my work on jlibtool - a C-based replacement for GNU libtool
on Darwin. I've now managed to compile/link/install SVN with
jlibtool.

You may find the latest source and patches at:

http://www.apache.org/~jerenkrantz/jlibtool/

I won't waste your time with the background, but I'll point you
at my prior posts to dev@apr:

http://www.apachelabs.org/apr-mbox/200207.mbox/%3c20020718090834.GB17660@apache.org%3e
http://www.apachelabs.org/apr-mbox/200207.mbox/%3c20020731113816.GL24211@apache.org%3e

Timings for a clean build of Subversion:
 
Subversion (no in-tree dependencies) with jlibtool:
  make all 123.32s user 30.32s system 66% cpu 3:50.45 total

Subversion (no in-tree dependencies) with GNU libtool 1.4.2
  make all 1403.02s user 355.36s system 75% cpu 38:53.15 total

So, it now only takes 3min 50sec to do a *clean* build on Darwin
rather than 38min 53 sec. (And make install is also much faster.)

There are some caveats/warnings with SVN and jlibtool:

*) Neon must be built with shared library support enabled.
   (--enable-shared)
*) In order to use jlibtool, APR must be configured the
   --enable-experimental-libtool="yes" flag and the
   apr-jlibtool.patch applied. (That patch actually applies to the
   top of the httpd-2.0 tree and fixes up httpd-2.0 as well.)
*) The svn-jlibtool.patch should be able to be applied *without*
   breaking compatibility with GNU libtool. It just forces SVN
   to use APR's libtool. If APR uses jlibtool, then SVN will.
   Please read the log at the beginning of svn-jlibtool.patch for
   more details about what the patch does.
*) I only tested it with no-in-tree dependencies. (i.e. installed
   Neon, BDB, apr/apr-util/httpd-2.0 separately.) I would imagine
   that it should work even when things are in-tree, but that's
   not my configuration.
*) make check passes all tests, but libsvn_test-1.dylib and
   libsvn_test_fs-1.dylib have to be copied to the installation
   point (easy enough to add them to build.conf, I guess). It will
   also only use the installed libraries, not the in-tree copies.
   Good enough for me as it is quite fast to do 'make install.'
*) It might work on Linux. In fact, preliminary reports are that
   jlibtool is able to compile httpd-2.0 on Linux with a significant
   performance improvement as well. So, SVN should work too.

And the caveat emptor: "It works for me." If it doesn't for you,
I'd love to hear why, but my time is going to be limited as I will
now be focusing on other tasks. Patches and enhancements are
certainly welcomed.

I hope that the SVN community would be able to benefit from this.
If you do use it, please let me know or drop a line to dev@apr as
if enough people use it, I may be able to convice the APR folks to
include it in APR. Regardless, I will do my best to maintain it or
find it a permanent home where it can be maintained.

Enjoy. -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Aug 1 12:26:38 2002

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.