On Sun, Apr 15, 2012, at 02:09, Ashod Nakashian wrote: > > > > > ----- Original Message ----- > > From: Daniel Shahaf <d...@daniel.shahaf.name> > > To: Ashod Nakashian <ashodnakash...@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...@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? >
'make bin atomic-ra-revprop-change entries-dump' instead of 'make'. (The last two are in $(TEST_DEPS), and are needed to run certain py tests manually, but there is no test-deps convenience target to avoid listing them explicitly by.) And while I'm on the topic, another useful invocation: % make check TESTS="`echo subversion/tests/cmdline/{basic_tests.py,merge_tests.py}`" > -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 > >> > > >> > > >> > > >