前期准备
-
Vc6
-
sdk2003:http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
-
Python 2.4 或者更高的版本。http://www.python.org/
-
Perl 5.8 或者更高的版本。 http://www.activestate.com/
-
awk.exe,取得http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe,并把awk95.exe改名为awk.exe。
-
Neon 0.26.1或者更高版本源码。http://www.webdav.org/neon/neon-0.26.1.tar.gz
-
Apache apr, apr-util,apr-iconv源码。http://www.apache.org/dist/apr/
-
ZLib 1.2或者更高版本的源码和二进制文件。http://www.zlib.org
-
svn源码。http://svn.collab.net/repos/svn/tags
编译svn服务器端还需要:
-
apache2的源码:http://httpd.apache.org/download.cgi
-
apache2的安装文件
-
db-4.4.20-win32.zip
-
svn-win32-libintl.zip
-
gettext-0.14.*-bin.zip,*对应不同版本。
-
nasm。 http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
-
openssl-0.9.*的源码
-
sqlite-amalgamation源码
前期操作
-
安装vc6,psdk2003(psdk安装方法见http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm)
-
使用vc6下的uuid.lib替换psdk2003下的uuid.lib
-
安装python。
-
安装perl。
-
确定编译svn所使用的盘符。
-
在确定盘符下创建SVN文件夹。如要在C盘编译svn,则在C根目录下创建文件夹SVN。
-
进入C:\SVN,创建文件夹src-trunk。
-
进入src-trunk,使用"svn co http://svn.collab.net/repos/svn/tags/1.6.1/ ."命令取得svn-1.6.1版本的代码,如果要取得其他版本代码,只需更改命令中的版本号"1.6.1"即可。
-
在cygwin下进入src-trunk/subversion下,运行命令"find . -name "*.c" -exec dos2unix{} \;" 和"find . -name "*.h" -exec dos2unix{}\;",将文件格式中多余的符号除掉。
-
修改rc-trunk/subversion/libsvn_fs_base/bdb/env.h,修改内如如下:
#define SVN_WANT_BDB
#include "svn_private_config.h"
#include <apr_pools.h>
#include <apr_file_io.h>
中添加一项#include <db.h>
修改后效果如下:
#define SVN_WANT_BDB
#include "svn_private_config.h"
#include <db.h>
#include <apr_pools.h>
#include <apr_file_io.h>
-
在SVN下创建文件夹nasm,将取得的nasmw.exe, awk.exe cl.exe ml.ERR,ml.exe,awk.exe均放入该目录下。然后将该目录的路径信息加入系统环境变量path中。如假设这里nasm路径为C:\SVN\nasm,那么修改path方法为:鼠标点击"开始"->"设置"->"控制面板"->"系统"->"高级"->"环境变量",打开环境变量面板,然后双击系统变量里面的变量path,将";C:\SVN\nasm"添加至"变量值"的后面.
-
将python的安装路径添加到path路径下。
-
将db-4.4.20-win32.zip解压至SVN文件夹下,并且命名解压后的文件名为db4-win32。同时将db4-win32\bin\的完整路径加到系统环境变量path中。
-
将gettext-0.14.*-bin.zip解压到SVN目录下,并且并命解压后的文件为gettext。同时把SVN\gettext\bin\.的完整路径加到系统环境变量path中。
-
将apache2的源码解压到SVN目录下,得到SVN\httpd-2.2.*
-
openssl-0.9.*的源码放到SVN目录下。
-
Sqlite-amalgamation源码放到SVN目录下
-
svn-win32-libintl放到SVN目录下,同时把SVN\svn-win32-libintl\bin的完整路径加到系统环境变量path中。
-
zlib源码放到SVN目录下。
-
apr、apr-util、apr-iconv、neon源码放到SVN\src-trunk下。
-
zlib二进制文件放到SVN\httpd-2.2.*\srclib下。
-
openssl源码也放到SVN\httpd-2.2.*\srclib下。
-
复制SVN\src-trunk\build\win32\vc6-build.bat.in为vc6-build.bat。修改内容为盘符,软件和源码安装路径,以及一些特殊的库文件的名字,具体参考http://172.16.40.215/Deptsvn/si/integrate_tool/SVN/tools提供的vc6-build.ba修改。
-
注册sdk2003.方法:首先打开vc6,然后关闭vc6,点开始->程序->Microsoft Platform SDK for Windows XP SP2->Visual StudioRegistration->Register PSDK Directories with Visual Studio,之后点"确定"即可.
编译
-
完成以上操作后,打开dos窗口(开始-运行-输入cmd-确定)。进入vc6的安装目录,找到VCVARS32.BAT并运行。例:
这里vc装在c:\Program Files\Microsoft Visual Studio\下,那么进入c:\Program Files\Microsoft Visual Studio\VC98\Bin",在C:\ProgramFiles\Microsoft Visual Studio\VC98\Bin>下面运行VCVARS32.BAT。
-
在当前dos窗口进入SVN目录下执行修改后的vc6-build.bat,开始编译。
-
如果编译没有报错。将如下文件复制到C:\SVN\svn-win32-trunk\bin
intl3_svn.dll libsvn_client-1.dll libsvn_delta-1.dll libsvn_subr-1.dll libsvn_diff-1.dll libsvn_ra-1.dll libsvn_repos-1.dll libsvn_fs-1.dlllibsvn_wc-1.dll
4.在dos窗口测试使用"路径\svn.exe" –version测试一下。