Windows環境でのコンパイルに関しては、Subversion本体のINSTALLよりポイントを押さえたStepByStepになっていて分かりやすい。
改行コードは Subversion本体をCVSでチェックアウトすることでCRLFに、apache2 をWindows用ソースを展開することでCRLFに。 zlib, BerkeleyDBはコンパイル済みファイルを展開したのみ。 openssl, neon についてはtar玉を展開してLFのまんまで作業した。
ドキュメントの山場、VisualStudioのプロジェクト生成するところは次のように指定した。
c:\python23\python gen-make.py -t vcproj --with-openssl=D:/home/h/subv/common/openssl --with-zlib=D:/home/h/subv/common/zlib
ただし出来上がってVC.Netで開くのは subversion_vcnet.sln ファイル。ここだけbuild.txtが間違っている。
SWIGをそもそもインストールしていないせいでSWIG関係がこける以外はうまくいった。
当初はVC++6.0で作業しようとしたのだが。
VC6用のものを作る場合は、gen-make.py に対して-t dspを指定すると、subversion_msvc.dswが作成される。
これをVisualStudioで開いてバッチビルドをかけると
「shfolder.lib がない」というエラーでコンパイルが完了しない。
ググったところPlatform SDKに含まれるらしいので Platform SDK Updateからインストールして、 gen-make.pyを実行するコンソールは Platform SDK Windows2000 build Environment で開いてみた。 …あんまり変わらない。といったところであきらめて VC.Net に移動したのだった。
無事 svn.exe が出来たので楽勝かと思ったら、atlapp.hが開けないとな。ATLの仲間のWTLが必要らしい。
Windows Template Library (WTL) 7.0 をダウンロードして、展開して出てきたインクルードファイルを TortoiseSVN/src/crashrpt にコピー。
Debugの方はBuildが通った。Releaseはiconv関係のライブラリを探して止まってしまうような。あと一息。