Markus Schuh wrote:
> Since my build environment is awfully slow (> 12 hours for compiling
> all) I tried to speed optimize the build process in my installation of
> the TSVN sources.
Wow! 12 hours is really a *lot*! What are the specs of your machine?
> IMHO it is not necessary to always rebuild the subversion sources twice
> during the build. As soon as svn_private_config.h is changed the VS.NET
> project files should know which parts has to be recompiled. At least if
> the time stamp of the changed svn_private_config.h is newer than the
> time stamps of all already compiled *.obj files. Since
> svn_private_config.h is automatically build from svn_private_config.hw
> if it does not exist yet, it seems to be best to only delete
> svn_private_config.h after every change of svn_private_config.hw.
I know it's not necessary to rebuild twice. But it's just easier that way ;)
> Next change: In the "netless" subversion compile only the necessary
> libraries has to be compiled, so I don't compile "__ALL__" but these
> libraries one after the other. Since TSVN is a subversion client it
> should only need those libraries which other subversion clients use too.
> Therefore I changed the project in the "normal" subversion compile from
> "__ALL__" to "svn".
Even better would be if we just would compile the required library
projects. We don't need the 'svn' project either because that will build
the command line exe.
> At the moment I'm only testing. In dependence of your feedback I may try
> to produce a real patch. Here are only some of the batch lines which I
> use at the moment.
A real patch would very much be appreciated!
> ...
> if DEFINED _RELEASE (
> rem first, compile without any network/repository support
> echo building netless Subversion
> if EXIST subversion\svn_private_config.h del
> subversion\svn_private_config.h
> move /Y subversion\svn_private_config.hw
> subversion\svn_private_config_copy.hw
> copy /Y %startdir%\svn_private_config.h subversion\svn_private_config.hw
> if not EXIST Release mkdir Release
> if not EXIST Release\subversion_netless mkdir Release\subversion_netless
> :: ToDo: add a subversion dependency project "netless" and build this
> in one run
How would you add an extra project? The Subversion solution file is
built automatically by the gen-make.py script.
> for %%P in ( libsvn_client libsvn_delta libsvn_diff libsvn_fs
> libsvn_fs_base libsvn_fs_fs libsvn_ra libsvn_ra_dav libsvn_ra_local
> libsvn_ra_svn libsvn_repos libsvn_subr libsvn_wc ) do (
> devenv subversion_vcnet.sln /useenv /build release /project "%%P"
> if not EXIST Release\subversion_netless\%%P mkdir
> Release\subversion_netless\%%P
> copy Release\subversion\%%P\%%P-1.lib Release\subversion_netless\%%P
> )
That will do! No need for an extra project.
> echo building Subversion
> if EXIST subversion\svn_private_config.h del
> subversion\svn_private_config.h
> move /Y subversion\svn_private_config_copy.hw
> subversion\svn_private_config.hw
> devenv subversion_vcnet.sln /useenv /build release /project "svn"
> )
Your changes look very good! Can you create a patch of this and send it?
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sun Aug 7 19:18:03 2005