• R/O
  • SSH
  • HTTPS

tortoisesvn:


File Info

Rev. 26865
Größe 7,026 Bytes
Zeit 2015-10-04 22:16:02
Autor stefankueng
Log Message

Merged revision(s) r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858, r26859, , r26861, r26862 from trunk:
* Set unicode mode for the ini file.
* Unescape and trim entered urls in the project monitor.
* the "break locks" checkbox in the cleanup dialog is now unchecked by default, and remembers its state between sessions.
* Reset the readonly flag when copying files during a vendor drop.
* Get the last error before trying to stop the progress dialog, because that command set the last error to something else.
* Use WiX 3.10.
* Create the applications folder before copying files there.
* only clear what's built.
* Build a separate 32-bit version of the svn dll which is used only on x64 OS for the 32-bit apps file-open/save dialogs. The dll is built to link statically against the CRT and the apr libs. Also all networking stuff is omitted since the shell extension doesn't need those - it keeps the dll small.
* Ensure the settings are read from the x64 registry hive even for the 32-bit shell extension.
* Use the shell cache instead of reading directly from the registry.

Content

// To build this file, execute "nant APIDocs"
// After that, you can read the compiled version at doc\output\TortoiseSVNAPI.chm

/**
\page build Build instructions

\section Introduction Introduction
Compiling TortoiseSVN is not very difficult, but it requires several steps
to finish, at least when you do it the first time.

Unlike other big open source projects, once you have built all the libraries
TortoiseSVN depends on, you can use the familiar VisualStudio IDE to build
and debug the binaries. No need to run the build script for every little change.

So don't give up if you read through the next section you will find all the requirements.
You need to perform most steps only once.

\section Requirements Requirements

\subsection Requirements1 First, you need to install the compiler package.

-# You need VS2015 to allow building of the full TortoiseSVN package.
   If you don't have Visual Studio yet, you can download and install
   the community edition for free. Make sure to leave the checkbox for
   "Microsoft Foundation library" checked in the first installer dialog.
   If you want to build the msi make sure the "Tools for Redistributing
   Applications" are installed.

\subsection Requirements2 Next you need to install some utilities/programs.
- Java runtime                      http://www.java.com
- Python 2.6(\b 1 \b 3)             http://www.python.org/windows/
- libxml2 python bindings(\b 2)     http://users.skynet.be/sbi/libxml-python/
- Perl                              http://strawberryperl.com/releases.html
                                    or
                                    http://www.activestate.com/Products/ActivePerl/
- WiX 3.10(\b 1)                    http://wixtoolset.org/
- NAnt 0.92(\b 1)                   http://nant.sourceforge.net

(\b 1) Add the paths of the binaries to the PATH environment variable. You may have to
    logoff/logon to make the new environment variables take effect!
(\b 2) right-click on the installer file and "run as administrator" to install it.
(\b 3) use 32 bit installer (even on x64 OS)


\subsection Requirements3 Finally, you may need to install some fonts.
- Arabic(\b Optional)         http://www7.bev.net/civic/icb/quran/Iqraa_ttf.zip
- Japanese(\b Optional)       msgothic.ttc and msmincho.ttc should be available
                              if you activate support for international fonts in your OS.
- Chinese(\b Optional)        simhei.ttf and simsun.httf should be available
                              if you activate support for international fonts in your OS.

\section Preparations Preparations

Now you're almost ready. Only a few more steps to do:
- create a new folder on your harddisk, e.g. SVN. Make sure you have at least
  4 GB of free space left!!!
- Checkout the TortoiseSVN sources from the Subversion repository into
  SVN\TortoiseSVN
- Make a copy of the file default.build.user.tmpl in the TortoiseSVN root folder and
  rename that copy to default.build.user. Then adjust the paths as mentioned
  in that file. You may leave it unchanged if you installed / copied everything
  into the suggested default paths.
- Make a copy of the file doc\doc.build.user.tmpl and rename that copy to
  doc\doc.build.user. Then adjust the paths in that file according to your
  setup. You need to edit this file if your installed version of Tortoise has a different
  working-copy database version than the tool expects.
- Unzip (if necessary) and copy the font files into %WINDIR%\Fonts.
  You will need them only if you are building the respective language packs.
- run 'nant init' to fetch and unzip the required tools


\section build32 Building 32 bit packages

  Hint: before you can start building TortoiseSVN, you need to call the vsvars32.bat
  file which is located in \%VS140COMNTOOLS%.

  Now, if you got some time left you can run the build script to compile
  TortoiseSVN. Grab a cup of coffee, depending on how fast your computer is!
  TortoiseSVN build can take advantage of multi-core machines.

  Note: if you set the Visual Studio tools for win32, you can not build the
  64-bit version of TortoiseSVN. Trying to use the 'x64' nant target will
  result in a build error.
  To build the 64-bit version, you have to call the 64-bit Visual Studio tools.
  And with the 64-bit tools, you can not build the 32-bit version of TortoiseSVN.
  Basically: you need to set up the corresponding Visual Studio tools for the build.

\verbatim
  > nant
\endverbatim
  will show you some help about the targets you can use

\verbatim
  > nant setup
\endverbatim
  will compile everything, including docs and language packs and create the msi installer

  If you encounter any build errors, you can run nant again like this:
\verbatim
  > nant setup -l:buildlog.txt
\endverbatim
  which will create a build log file which you can use to analyze where
  exactly the build failed.

  Now you need to build the Subversion libraries:
\verbatim
  > nant Subversion
\endverbatim

\section build64cross Building 64 bit packages on win32 (cross-compile)

  First, we build some 32-bit SVN utilities you will need later
  during the build process. Follow the instructions above or just
  open "Microsoft Visual Studio 2015" -> "Visual Studio Tools" ->
  "Visual Studio 2015 Command Prompt", change to the TortoiseSVN source
  directory and run

\verbatim
  > nant release binaries
\endverbatim

  Now, build the x64 packages: Open
  "Microsoft Visual Studio 2015" -> "Visual Studio Tools" ->
  "Visual Studio 2015 x64 Cross Tools Command Prompt", change to the
  TortoiseSVN source directory and run

\verbatim
  > nant x64 cross release setup
\endverbatim

  After the script finished, the packages can be found in bin.

\section build64 Building 64 bit packages on x64

  To build native packages on your 64 bit Windows, just open
  "Microsoft Visual Studio 2015" -> "Visual Studio Tools" ->
  "Visual Studio 2015 Win64 Command Prompt", change to the
  TortoiseSVN source directory and run
  
  Note that to build the x64 msi file, you also have to build the
  win32 version of TortoiseSVN first since the x64 msi includes
  the win32 version of the shell extension.

\verbatim
  > nant x64 release setup
\endverbatim

  After the script finished, the packages can be found in bin.

\section clean Cleaning the build directories

  To clean the files you just built, open a command prompt as explained
  above, change to the TortoiseSVN source directory and run

\verbatim
  > nant release clean
\endverbatim

  You have to run the clean target when altering between x86 and x64 builds. You will find that
  Language\Tortoise.pot gets deleted, which is normal behavior. This generated file is
  present in the repository so the translators don't need to execute the entire
  build if they only wish to update documentation.

\section buildhelp Learning the current build options

  Many other settings can be used. You can see a description of the available nant targets
  by running

\verbatim
  > nant help
\endverbatim

*/
Show on old repository browser