subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashod Nakashian <ashodnakash...@yahoo.com>
Subject Re: Faster build/check times
Date Sun, 15 Apr 2012 09:09:39 GMT




----- Original Message -----
> From: Daniel Shahaf <d.s@daniel.shahaf.name>
> To: Ashod Nakashian <ashodnakashian@yahoo.com>; "dev@subversion.apache.org" <dev@subversion.apache.org>
> Cc: 
> Sent: Sunday, April 15, 2012 12:16 PM
> Subject: Re: Faster build/check times
> 
> 
> 
> On Sun, Apr 15, 2012, at 00:56, Ashod Nakashian wrote:
>>  >________________________________
>>  > From: Daniel Shahaf <d.s@daniel.shahaf.name>
>>  >To: dev@subversion.apache.org 
>>  >Sent: Sunday, April 15, 2012 9:33 AM
>>  >Subject: Faster build/check times
>>  > 
>>  >Trying to enumerate ways to reduce build times.
>> 
>>  Very timely! I'm afraid I don't have anything to add, but think 
> it'd
>>  be useful to know what's the *minimum* set of features required to
>>  build the API + CLI frontend (i.e. libs + svn).
> 
> All of the following components are optional: libsvn_fs_base(bdb), 
> libsvn_ra_neon, libsvn_ra_serf, mod_dav_svn(httpd), swig, java, ctypes, kwallet, 
> gnome-keyring.  Building the 'tools' makefile target (or VS project) is 
> done by default, but it can be harmlessly left out.

Thanks! Here is what I came up with, in case it's useful to anyone:

./configure --disable-mod-activation --without-gssapi --without-apxs --without-berkeley-db
--without-neon --without-serf --without-swig --without-ctypesgen --without-kwallet --without-gnome-keyring
--disable-javahl --disable-keychain

How can the tools be disabled without modifying makefiles?

-Ash

> 
> That leaves a client that can talk svn:// and can talk file:// to FSFS 
> repositories.
> 
> SQLite, APR, APR-Util are mandatory dependencies.
> 
>> 
>>  Alternatively, what features can be disabled and still get the bare minimum 
> output?
>> 
>>  (Apologies if I'm being lazy for not playing with configure to figure 
> it out myself - I think chances are high someone has something handy for pasting 
> at an arm's length.)
>> 
>>  Cheers,
>>  -Ash
>> 
>>  P.S. Thanks Daniel for this list!
>> 
>>  >
>>  >Faster builds:
>>  >- export CONFIG_SHELL=/bin/sh (minimal sh preferred)
>>  >- out-of-tree build (i.e., run 'configure' in an empty dir), 
> with the build tree in a tmpfs
>>  >- disable unneeded components (eg, swig, bdb) when they're not 
> needed
>>  >- pass '-q' to configure, '-s' to make
>>  >- pass '-C' to configure
>>  >- pass '-j' or '-j[number]' to make
>>  >- use cpuset(1)/taskset(1) to bind make to N-1 CPUs
>>  >
>>  >Faster checks:
>>  >- PARALLEL=1
>>  >- CLEANUP="" (and rm -rf svn-test-work/ before the build)
>>  >- put svn-test-work/ in a tmpfs
>>  >- SET_LOG_LEVEL=WARN (or ERROR)
>>  >
>>  >What else?
>>  >
>>  >
>>  >Thanks,
>>  >
>>  >Daniel
>>  >
>>  >
>>  >
> 

Mime
View raw message