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