以下の手順を既に行っていることを前提としています。
│
├─common
│ │
│ ├─db4-win32
│ ├─svn-win32-libintl
│ ├─openssl-0.9.8d
│ ├─httpd-2.0.59
│ ├─neon-0.26.2
│ └─zlib-1.2.3
│
└─trunk (subversion のソースコード)
│
├─INSTALL
│ ... (中略) ...
└─gen-make.py
svn-win32-libintl\ │ ├─bin │ │ │ ├─intl3_svn.dll │ └─intl3_svn.pdb │ ├─inc │ │ │ └─libintl.h │ ├─lib │ │ │ └─intl3_svn.lib │ ├─diff-0.14.1.txt ← patch を当てたバージョンを使用しているらしい。これがその修正内容。 └─README.txt
C:\
└─ gettext-0.14.4-bin
│
├─bin
│ │
│ │ ... (中略) ...
│ └─msgfmt.exe
... (以下略) ...
c:\...\trunk> python gen-make.py -t vcproj --vsnet-version=2005 --disable-shared --with-openssl=..\common\openssl-0.9.8d --with-libintl=..\common\svn-win32-libintl --with-neon=..\common\neon-0.26.2 --with-zlib=..\common\zlib-1.2.3 --with-berkeley-db=..\common\db4-win32 --with-httpd=..\common\httpd-2.2.3ルートディレクトリにソリューションファイルができる
subversion_vcnet.sln以下のディレクトリにプロジェクトファイルができる
build\win32\vcnet-vcproj
Subversion 1.5 では apr-iconv を使わなくなったので、 APR_ICONV_PATH の環境変数をセットする必要はありません。
share\
│
└─locale
│
├─de
│ │
│ └─LC_MESSAGES
│ │
│ └─subversion.mo
│
│ ... (中略) ...
│
│
├─ja
│ │
│ └─LC_MESSAGES
│ │
│ └─subversion.mo
│
│ ... (中略) ...
│
└─zh_TW
│
└─LC_MESSAGES
│
└─subversion.mo
以下のようなスクリプトを作成して *.mo ファイルがあるディレクトリで
実行すると上記のようなディレクトリ構造を作成できる。
#!/usr/bin/perl
use File::Copy;
use File::Path;
@mo_files = <*.mo>;
foreach $mo_file ( @mo_files ){
$lang = $mo_file;
$lang =~ s!\.mo$!!;
$dir = "../share/locale/$lang/LC_MESSAGES";
$mov_file = "$dir/subversion.mo";
mkpath $dir;
copy $mo_file, $mov_file;
}
subversion
│
├─bin
│ │
│ ├─intl3_svn.dll
│ ├─libapr-1.dll ( APR 0.9.x の場合 libapr.dll)
│ ├─libapriconv-1.dll (同様に libapriconv.dll )
│ ├─libaprutil-1.dll (同様に libaprutil.dll )
│ ├─libdb44.dll
│ ├─libeay32.dll
│ ├─ssleay32.dll
│ ├─svn.exe
│ ├─svnadmin.exe
│ ├─svndumpfilter.exe
│ ├─svnlook.exe
│ ├─svnserve.exe
│ ├─svnsync.exe
│ └─svnversion.exe
│
├─iconv ← このディレクトリの絶対パスを APR_ICONV_PATH に設定する
│ │
│ │ ... (中略)
│ ├─cp932.so
│ │ ... (中略)
│ ├─utf-16.so
│ └─utf-8.so
│
└─share
│
└─locale ← svn.exe 等からの相対パスで ../share/locale になるようにする
│
├─de
│ │
│ └─LC_MESSAGES
│ │
│ └─subversion.mo
│
│ ... (中略) ...
│
├─ja
│ │
│ └─LC_MESSAGES
│ │
│ └─subversion.mo ← ja.mo を名前変更したもの
│
│
│ ... (中略) ...
│
└─zh_TW
│
└─LC_MESSAGES
│
└─subversion.mo
c:\...\trunk\Release\subversion\svn> svn --version svn, バージョン 1.5.0 (dev build) コンパイル日時: Nov 18 2007, 16:21:05 Copyright (C) 2000-2007 CollabNet. Subversion はオープンソースソフトウェアです。 http://subversion.tigris.org/ を参照してください。 この製品には、CollabNet (http://www.Collab.Net/) によって開発されたソフトウェア が含まれています。 以下のリポジトリアクセス (RA) モジュールが利用できます: * ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します * ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。 - 'svn' スキームを操作します * ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。 - 'file' スキームを操作します
--------------------構成: locale - Win32 Release--------------------
1>------ すべてのリビルド開始: プロジェクト: locale, 構成: Release Win32 ------
1>メイクファイル プロジェクト動作を実行しています。
1>サブディレクトリまたはファイル ..\..\Release\mo は既に存在します。
1>Running msgfmt on de.po...
... 中略 ...
1>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
1>Running msgfmt on ja.po...
1>'msgfmt.exe' は、内部コマンドまたは外部コマンド、
1>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
... 中略 ...
1>Running msgfmt on zh_TW.po...
1>'msgfmt.exe' は、内部コマンドまたは外部コマンド、
1>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
1>ビルドログは "....\trunk\build\win32\Release\BuildLog.htm" に保存されました。
1>locale - エラー 0、警告 0
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
python.exe へのパスが通っていません。Visual Studio 2005 の設定 を参照してください。
c:\...\trunk\Release\subversion\svn> svn ?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149?\227?\130?\146?\231 ?\159?\165?\227?\130?\138?\227?\129?\159?\227?\129?\132?\227?\129?\168?\227?\129 ?\141?\227?\129?\175 'svn help' ?\227?\129?\168?\230?\137?\147?\227?\129?\163? \227?\129?\166?\227?\129?\143?\227?\129?\160?\227?\129? \149?\227?\129?\132?\227?\128?\130
c:\...\trunk\Release\subversion\svn> svn 使用方法を知りたいときは 'svn help' と打ってください。