diff options
Diffstat (limited to 'tools/dev/unix-build/README')
-rw-r--r-- | tools/dev/unix-build/README | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/dev/unix-build/README b/tools/dev/unix-build/README new file mode 100644 index 0000000..6110d8e --- /dev/null +++ b/tools/dev/unix-build/README @@ -0,0 +1,66 @@ +Introduction +============ +Makefile.svn aids Subversion developers on unix-like systems set up an +SVN development environment without requiring root priviliges. It does +this by fetching Subversion along with many of its dependencies from +the internet and building them using sane defaults suitable for +development (for example, it invokes --enable-maintainer-mode while +compiling Subversion itself). However, indirect dependencies are not +covered; you need OpenSSL installed to get SSL support in neon and +serf for example. Also, it doesn't build all the bindings by default +(javahl for example). + +This README only covers basic usage. Please read Makefile.svn for more +details. + +Requirements +============ +In addition to the usual GNU buildtools including a sane compiler and +GNU autotools, some version of Subversion is required to be in +$PATH. It is used to fetch the desired version of Subversion from the +repository. + +Usage +===== +First, choose a directory $(SVN_DEV) to set up the environment. Note +that this directory cannot be changed later because the script +hardcodes build and link paths relative to the current working +directory. + +To fetch and build trunk, simply don't pass anything. +Pass the branch you want to build in BRANCH, e.g. + $ make BRANCH="1.5.x" +You can also pass a tag to build: + $ make TAG="1.6.6" +And you can specify a working copy to use, in case you need more +than one working copy of the same branch: + $ make BRANCH="1.6.x" WC="1.6.x-test2" + +When the script has finished fetching and building, it uses +$(SVN_DEV)/prefix to install Subversion libraries and +binaries. $(SVN_DEV)/prefix/svn-trunk (or whatever you choose to +build) will contain the latest Subversion binaries: you should add +$(SVN_DEV)/prefix/svn-trunk/bin to your $PATH to use them. The +Makefile in $(SVN_DEV)/svn-trunk is configured to build with sane +options: while developing Subversion, simply `svn up` to pull the +latest changes, `make` and `make install` to install the binaries in +$(SVN_DEV)/prefix/svn-trunk. + +If at any point, you want to re-configure any of the packages to the +default configuration in Makefile.svn, just run the "<PACKAGE>-reset" +target in Makefile.svn before trying to rebuild again. If, in the +extreme case, you want to remove everything including the installed +binaries effectively returning to the starting point, use the "nuke" +target. + +Extended usage +============== +The script can also run Subversion's regression test suite via all +repository backends and RA methods. It generates the necessary +configuration files and starts svnserve and httpd daemons +automatically on non-privileged ports. The default test target to test +everything is "svn-check". + +Notes +===== +The script currently doesn't build Ctypes Python bindings. |