具体時には Apache.dsw の InstallBin をコンパイルしないときには不要
awk.exe (awk95.exe をダウンロードして awk.exe に名前変更する)
リリース版のバイナリを入手して、最新のソースコードを入手する。
インストーラ形式を使うときは、国際化対応版のコンパイルするときに
環境変数 APR_ICONV_PATH と 環境変数 PATHの設定に注意が必要。
svn co http://svn.apache.org/repos/asf/subversion/trunk trunkファイアフォール等のために、外部サイトへのアクセスができない場合 以下のように httpsでアクセスするとうまくいくことがあります。
svn co https://svn.apache.org/repos/asf/subversion/trunk trunk
db4-win32\ │ ├─bin │ │ │ ├─db_archive.exe │ ├─db_checkpoint.exe │ │ ... (中略) ... │ ├─excxx_txnguide_inmem.exe │ ├─libdb44.dll │ └─libdb44d.dll │ ├─include │ │ │ ├─db.h │ └─db_cxx.h │ └─lib │ ├─libdb44.exp ├─libdb44.lib ├─libdb44d.exp ├─libdb44d.lib ├─libdb44s.lib └─libdb44sd.lib
│ ├─common │ │ │ ├─db4-win32 │ ├─httpd-2.2.3 │ ├─neon-0.26.2 │ └─zlib-1.2.3 │ └─trunk (subversion のソースコード) │ ├─INSTALL │ ... (中略) ... └─gen-make.py
c:\...\trunk> python gen-make.py -t dsp --with-neon=..\common\neon-0.26.2 --with-berkeley-db=..\common\db4-win32 --with-zlib=..\common\zlib-1.2.3 --with-httpd=..\common\httpd-2.2.3ルートディレクトリにプロジェクトワークスペースができる
subversion_msvc.dsw以下のディレクトリにプロジェクトファイルができる
build\win32\msvc-dsp
r22841 以降のバージョンではデフォルトで subversion のライブラリを 独立した DLL としてコンパイルするようになっています。 もし static ライブラリとしてコンパイルするためにはプロジェクトファイル 作成時に、--disable-shared をつけて実行してください。
C:\...\trunk> python gen-make.py -t dsp --with-neon=..\common\neon-0.26.2 --with-berkeley-db=..\common\db4-win32 --with-zlib=..\common\zlib-1.2.3 --with-httpd=..\common\httpd-2.2.3 --disable-shared
このオプションをつけないでプロジェクトファイルを 作成した場合、実行時に Subversion library の各種DLL を実行ファイルと 同じディレクトリにコピーする必要があります。( libsvn_repos-1.dll 等)
コマンドラインから行う場合
msdev subversion_msvc.dsw /MAKE "__ALL__ - Win32 Release"
msdev subversion_msvc.dsw /MAKE "__ALL_TESTS__ - Win32 Release"
│ ├─libapr-1.dll ( APR 0.9.x の場合 libapr.dll) ├─libapriconv-1.dll (同様に libapriconv.dll ) ├─libaprutil-1.dll (同様に libaprutil.dll ) ├─libdb44.dll ├─svn.exe ├─svnadmin.exe ├─svndumpfilter.exe ├─svnlook.exe ├─svnserve.exe ├─svnsync.exe └─svnversion.exe
│ ├─libapr-1.dll ( APR 0.9.x の場合 libapr.dll) ├─libapriconv-1.dll (同様に libapriconv.dll ) ├─libaprutil-1.dll (同様に libaprutil.dll ) ├─libdb44.dll ├─libsvn_client-1.dll ├─libsvn_delta-1.dll ├─libsvn_diff-1.dll ├─libsvn_fs-1.dll ├─libsvn_ra-1.dll ├─libsvn_repos-1.dll ├─libsvn_subr-1.dll ├─libsvn_wc-1.dll ├─svn.exe ├─svnadmin.exe ├─svndumpfilter.exe ├─svnlook.exe ├─svnserve.exe ├─svnsync.exe └─svnversion.exe
c:\...\trunk\Release\subversion\svn> svn Type 'svn help' for usage.
c:\...\trunk\Release\subversion\svn> svn --version svn, version 1.5.0 (dev build) compiled Nov 18 2007, 16:21:05 Copyright (C) 2000-2007 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme
error C2065: 'CSIDL_COMMON_APPDATA' : 定義されていない識別子です。Visual C++ 6 の標準ヘッダでは定義されていない変数や関数が使用されているので、 Platform SDK 2003 February (VC6をサポートする最後のPlatform SDK) をインストールして、そのヘッダファイルのディレクトリパスを一番上に指定する。
Subversion のバイナリをインストーラでインストール した場合、システムの PATH 環境変数に Subversion の コマンドのパスが指定されている場合があります。 そうすると、subversion のバイナリはこちらの APR をロードするので、バイナリ互換性のない APR が インストールされていると落ちます。
このため PATH 環境変数から別のバージョンの APR を削除するか、インストーラでインストール してバイナリをコンパイルしたファイルで すべて上書きするようにしてください。