改変スクリプト

Vim/GVimのビルドと実行環境の作成


このページではMinGWでWindows用の Vim/GVimをビルドして、Vim/GVimを実行可能な環境を作成する手順について書かれています。
android用Vimについては以下を参照してください
android用Vimのビルドと実行環境の作成


MinGWのインストール

まずMinGWをインストールします。
http://sourceforge.net/projects/mingw/files/
インストール先はデフォルト(C:\MinGW)のままにして下さい。
変更した場合は後述のPATH設定を変更する必要があります。

x64版をビルドする場合はMinGW64をインストールします。
http://sourceforge.net/projects/mingw-w64/
以降はMinGWで32bit版を作成する手順なのでMinGW64を使用して64bit版のVimをビルドする場合は makeの実行ファイル名やパスを適宜読み替えて下さい。

Vimのソースをダウンロード

次にhttp://www.vim.orgのダウンロードページからPC用のソースをダウンロードします。

http://www.vim.org/download.php#pc
ver7.3であれば、vim73_46src.zip(数値部分はバージョンに応じて読み替え)です。

以降はC:\tempに zipファイルを解凍して、ソースはC:\temp\vim\vim73\srcに有るとします。
以降は pathやバージョンを適宜読み替えてください。

最新ソース

最新ソースやランタイムライブラリはmercurialで取得できます。
最新ソースでビルドする

コンパイル


コマンドプロンプトを使わずコンパイル

  1. バッチファイルをダウンロードして解凍
  2. C:\temp\vim\vim73にmakevim.batをコピー。
  3. makevim.batをダブルクリック。
  4. binに作成された実行ファイルがコピーされます。
MinGWのパス変更やPerl, Python, Ruby 等のインターフェイスを使用する場合は該当部分を有効にして下さい。

(注意)
x64版をビルドするには ARCH=x86-64 を指定する必要があるので適宜変更してください。
mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64


コマンドプロンプトからコンパイル

コマンドプロンプトはWindowsXpだとスタートメニュー→全てのプログラム→アクセサリにあります。
  1. コマンドプロンプトを開く。
  2. cd C:\temp\vim\vim73\src
  3. set PATH=C:\MinGW\bin;%PATH%
  4. mingw32-make -f Make_ming.mak
コンパイルを最初からやり直すなら make clean を実行します。
mingw32-make -f Make_ming.mak clean

(注意)
x64版をビルドするには ARCH=x86-64 を指定する必要があります。
mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64

Vimの実行環境パッケージ構築

コンパイルした実行ファイルは実行環境に上書きして使いますが、自分で一から実行環境を構築する事も出来ます。
本ページで配布しているオールインワンパッケージの作成方法

ランタイムライブラリはmercurialでも取得できます。
最新ソースでビルドする

オプションを変更する

必要に応じて各種オプションを設定するか、makeファイルを書き換えてビルドして下さい。

OLEが有効なgvim.exeを作成する場合

mingw32-make -f Make_ming.mak OLE=yes

コンソール版vim.exeを作成する場合

mingw32-make -f Make_ming.mak GUI=no

Python、Perl、Rubyなどのインターフェイスや各種オプションも変更できます。
各種オプションについては Make_ming.mak を参照して書き換えて下さい。
毎回コマンドから指定するのも面倒なので「バッチファイル」を作成した方がよいかもしれません。

Python、Perl、Rubyなどのバージョンによってエラーが出る場合はVimのソースにパッチを当てると対応されている事があります。
ソースにパッチを当てる


Perl を有効にしたい場合

コンパイルのオプション指定
mingw32-make -f Make_ming.mak PERL=C:/Perl PERL_VER=516 DYNAMIC_PERL=yes
pathや使用しているバージョンは環境に応じて変更してください。
Perlのバージョンによってはパッチが必要です。


Python を有効にしたい場合

コンパイルのオプション指定
mingw32-make -f Make_ming.mak PYTHON=C:/Python27 PYTHON_VER=27 DYNAMIC_PYTHON=yes
pathや使用しているバージョンは環境に応じて変更してください。
Pythonのバージョンによってはパッチが必要です。

vim 7.3以降では python2 と python3 の両方のインターフェイスを有効に出来ます。
mingw32-make -f Make_ming.mak PYTHON=C:/Python27 PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON3=C:/Python33 PYTHON3_VER=33 DYNAMIC_PYTHON3=yes


Ruby を有効にしたい場合


Ruby 1.8 の場合

コンパイルのオプション指定
mingw32-make -f Make_ming.mak RUBY=C:/ruby183 RUBY_VER=18 RUBY_VER_LONG=1.8 DYNAMIC_RUBY=yes

Ruby 1.9.3 の場合

コンパイルのオプション指定
mingw32-make -f Make_ming.mak RUBY=C:/ruby193 RUBY_VER=19 RUBY_VER_LONG=1.9.1 DYNAMIC_RUBY=yes

pathや使用しているバージョンは環境に応じて変更してください。
Rubyのバージョンによってはパッチが必要です。
Ruby関係のオプションは互換性のない変更が何度かあったので必ずmakefileのコメントを参照するようにしてください。


ActiveScriptRuby等で dll名が異なる場合はオプション指定を追加しなければいけない場合があります。
RUBY_PLATFORM=i386-mswin32_100 RUBY_INSTALL_NAME=msvcr100-ruby191

config.hでエラーが出る場合

注意 : Ruby対応の Vim/GVimを MinGWでコンパイルしてエラーが出る場合は Rubyの config.hを一時的に書き換える必要が有ります。
          コンパイル後は元に戻してかまいません。
          Rubyは http://rubyinstaller.org がヘッダを書き換える必要がないので良いかもしれません。

書き換えるファイル
C:\ruby\lib\ruby\1.8\i386-mswin32\config.h

config.h 行頭の三行をコメントアウトします。
改変前
#if _MSC_VER != 1200
#error MSC version unmatch
#endif
改変後
/*#if _MSC_VER != 1200
#error MSC version unmatch
#endif*/

最新ソースでビルドする

ちゃんとコンパイルできるのを確認したら、最新のソースでビルドするのも良いかもしれません。
特に理由がない限りバージョン管理ツールを利用して最新ソースを取得してください。

バージョン管理ツールで最新ソースを取得する

最新ソースを取得する推奨方法はバージョン管理ツールを使用することです。
vim7.3では Mercurialが推奨されているので TortoiseHgをインストールします。
TortoiseHg

vimのリポジトリは以下にあります。
http://code.google.com/p/vim/source/checkout

c:/temp/vim73 にソースとランタイムをクローンする手順は以下の通りです。
  1. c:/temp/vim73 というフォルダを作成して移動
  2. 右クリック→TortoiseHg→Cloneを選択
  3. 「ソース」に https://code.google.com/p/vim/ を指定する
  4. 以降は必要に応じて 右クリック→TortoiseHg→Synchronizeを実行します

ランタイムライブラリも更新されるので、適宜実行環境へコピーしてください。



Comments