First, you need to install the compiler package.
A. You need VS.NET2005 (or at least Visual C++ .NET 2005) to allow
building of the full TortoiseSVN package. This is the recommended
option, but it is not free :-(
B. If you do not have access to VS.NET you can download the free
Visual C++ 2005 Express Edition (only free for a limited period).
This will allow you to build the subversion libraries and the
SubWCRev and TortoiseBlame programs only.
- Install Visual C++ 2005 Express Edition.
Download it from http://msdn.microsoft.com/vstudio/express/visualc/
- Install Microsoft Platform SDK for Windows Server 2003 SP1
You need at least the following components of the SDK:
- Windows Core SDK
- Web Workshop (IE) SDK
- Data Access Services
- Debugging Tools
- Install MASM 6.15 from: http://win32assembly.online.fr/files/masm615.zip
and add it to the PATH environment variable
Do not bother to install WiX as you cannot build very much.
Next you need to install some utilities/programs:
- Install the java runtime. Get it from http://java.sun.com
or from this direct link:
- Install Python 2.4. You can get it from here:
- Set the path where you installed python to the PATH environement variable.
- To translate the docs, you will also need the libxml2 python bindings.
Get them from here: http://users.skynet.be/sbi/libxml-python/
- Install Perl. Get it from http://www.activestate.com/Products/ActivePerl/
- Get the WiX tools from http://wix.sourceforge.net and unzip them. (*)
Then add it to the PATH environment variable.
- If you want to include the dictionary and thesaurus in the installer/languagepacks,
then you have to download those from http://lingucomponent.openoffice.org/.
Important: Only the thesaurus in the format for OO2 will work! Earlier versions
will crash TSVN!!
- Get NSIS from http://nsis.sourceforge.net and install it.
- Install the latest Nant release. Get it from http://nant.sourceforge.net
- Add the Nant bin folder to the PATH environment variable.
You may have to logoff/logon to make the new environment variables take effect!
- create a new folder on your harddisk, e.g. SVN. Make sure you have at least
1.5 GB of free space left!!!
- create a new folder in SVN called 'common'
- Download the openssl source package from
http://www.openssl.org/source/ and unzip it to SVN\common, then rename
the folder from openssl-0.9.xx to openssl
- Download the zlib source from
http://www.gzip.org/zlib/ and unzip it to SVN\common\zlib
- The dictionary files should be placed in SVN\common\Spell
Note: the names of the files are important! They have to be
en_US.aff, en_US.dic, en_GB.aff and en_GB.dic.
- Checkout the TortoiseSVN sources from the Subversion repository into
- Download the tools to build the TSVN docs from
unzip them into SVN\TortoiseSVN\Tools\
- Make a copy of the file default.build.user.tmpl in the TSVN root folder and
rename that copy to default.build.user Then simply adjust the paths as mentioned
in that file.
- To compile the crashrpt project for TortoiseSVN, you'll need the WTL.
You can get that library from here: http://wtl.sourceforge.net/
Unzip it and then add the path to the VS.NET include path.
Hint: before you can start building TortoiseSVN, you need to call the vsvars32.bat
file which is located in %VS80COMNTOOLS%. If you don't want to do that every time,
you can have the command shell call this file automatically:
- Create a .reg file with the following code and merge it in your registry
Windows Registry Editor Version 5.00
"AutoRun"="\"C:\\Program Files\\Microsoft Visual Studio 8\\Common7\\Tools\\vsvars.bat\""
Next time you start the command prompt, that file will be executed automatically.
Note that for the Express edition you need to sort out the vars for the platform SDK
as well. The easiest way I found was to edit the supplied VC++ file
C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
Look for the :x86 label and add an extra call to setenv.cmd as shown below:
if not exist "%~dp0bin\vcvars32.bat" goto missing
rem Added SDK setup 14/12/2005 SJL
call "C:\Program Files\Microsoft Platform SDK\setenv.cmd"
Then call vsvarsall.bat when you start your command processor instead
of vsvars32 as described above.
Now, if you got some time left you can run the build script to compile
TortoiseSVN. Grab a cup of coffee - it can take up to two hours, depending on
how fast your computer is (on mine, it takes 1 hour and 50 minutes)!
will show you some help about the targets you can use
> nant setup
will compile everything, including docs and languagepacks and create the msi installer
Note: you may notice some compiler errors when the build script compiles
Subversion. The errors you will see are:
> error C2065: 'SVN_FS_WANT_DB_MAJOR' : undeclared identifier
> error C2065: 'SVN_FS_WANT_DB_MINOR' : undeclared identifier
> error C2065: 'SVN_FS_WANT_DB_PATCH' : undeclared identifier
This is expected and you don't have to worry about that. The reason for those
erros is that TortoiseSVN builds the Subversion library twice. Once with
all the ra-layers and all dbs, and once without those. The errors come
from that 'raw' build, but from libraries which aren't used in that build
anyway. Sure, the build script could just compile the libraries which
are really needed for that build, but it's much easier to just build the
whole solution instead of individual projects.
If you want to improve the build script to get rid of those errors, be our guest!
If you are building using VC++ Express, your options are somewhat limited.
Firstly you need to change the build tool in default.build.user.
There is already a line to set this up which you need to un-comment:
<property name="buildtool" value="vcexpress.exe" />
Now you need to build the Subversion libraries:
> nant Subversion
Note that the VC Express compiler works in the background without a console
window. There is a lot of disk activity with no apparent result showing
in the Nant console window. Be patient!
Before building the applications, update the version info:
> nant VersionInfo
Now you can open the SubWCRev.vcproj file to start the IDE.
Some error dialogs will come up, which you can ignore.
Right click on SubWCRev and 'Build'.
You can also right click on TortoiseBlame and build that.