----- Original Message -----
> From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
> To: Ashod Nakashian <ashodnakashian_at_yahoo.com>; "dev_at_subversion.apache.org" <dev_at_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_at_daniel.shahaf.name>
>> >To: dev_at_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
>> >
>> >
>> >
>
Received on 2012-04-15 11:10:19 CEST