MSYS2 UCRT64を使ってのビルド方法
ビルド手順はVimのバージョンによって一部変更されていることがあります。公式のビルド手順は、ソースファイル内の src/INSTALLpc.txt および、MinGW用MakefileやCygwin/MinGW共通Makefile内のコメントを参照してください。
UCRT64 環境は、従来の MSVCRT ではなく Universal C Runtime (UCRT) に対してリンクする MSYS2 のサブシステムです。Windows 10 以降では UCRT が標準で搭載されており、新規にビルドする場合は MinGW64 (MSVCRT) よりも UCRT64 を選択することが推奨されています。
-
msys2 のインストール
msys2 をダウンロードしてインストールします。以下は msys2 がインストール済みの前提で記述しています。
-
Git・GCCのインストール
スタートメニューから
MSYS2 MSYSを実行し、以下のコマンドを実行してシステムの更新を行います。pacman -SuuyMSYS2を終了して再実行するように言われた場合は、それに従ってminttyのウィンドウを閉じ、スタートメニューから再度
MSYS2 MSYSを実行し、pacman -Suuを実行します。 システムの更新が終わったら、以下のコマンドを実行してGitやGCCなど必要なパッケージをインストールします。pacman -S git mingw-w64-ucrt-x86_64-toolchainpacmanのwrapperコマンドであるpacboyを使えば、もう少し簡単に、以下のコマンドでインストールできます。
pacboy -S git toolchain:upacboyの使い方は、
pacboy helpを実行すると表示されます。パッケージ名の後に:uでUCRT64用(mingw-w64-ucrt-x86_64-)、:xでMinGW64用(mingw-w64-x86_64-)、:cでClang64用(mingw-w64-clang-x86_64-)のパッケージがインストールされます。 -
ソース取得
スタートメニューから
MSYS2 UCRT64を実行し、そこから以下を実行します。git clone https://github.com/vim/vim.gitgit cloneを実行した後にソースが更新された場合は、以下のコマンドで最新のソースを取得できます。git pull特定のバージョンを指定して取得する場合は、以下のコマンドを実行します。
git checkout v9.2.0000 -
コンパイル
vim/srcフォルダに移動し以下のコマンドを実行します。mingw32-make -f Make_ming.mak GUI=yes IME=yes MBYTE=yes \ ICONV=yes DEBUG=noPython3拡張やXPMサポートなどを有効にする場合は、以下の様に指定します(GUI版)。
mingw32-make -f Make_ming.mak GUI=yes IME=yes MBYTE=yes ICONV=yes \ PYTHON3=c:/msys64/ucrt64 DYNAMIC_PYTHON3=yes PYTHON3_VER=314 \ PYTHON3_HOME=c:/msys64/ucrt64/ \ PYTHON3INC=-Ic:/msys64/ucrt64/include/python3.14 \ DYNAMIC_PYTHON3_DLL=libpython3.14.dll \ CSCOPE=yes NETBEANS=yes STATIC_STDCPLUS=yes DEBUG=no \ XPM=c:/msys64/ucrt64CUI版(コンソール版)を同時にビルドする場合は、
GUI=noを指定してもう一度実行します。mingw32-make -f Make_ming.mak GUI=no IME=yes MBYTE=yes ICONV=yes \ PYTHON3=c:/msys64/ucrt64 DYNAMIC_PYTHON3=yes PYTHON3_VER=314 \ PYTHON3_HOME=c:/msys64/ucrt64/ \ PYTHON3INC=-Ic:/msys64/ucrt64/include/python3.14 \ DYNAMIC_PYTHON3_DLL=libpython3.14.dll \ CSCOPE=yes NETBEANS=yes STATIC_STDCPLUS=yes DEBUG=no \ XPM=c:/msys64/ucrt64GUI/CUI 双方をビルドする場合は
VIMDLL=yesを指定することで、GUI/CUI が利用する共通の DLL (vim64.dll) を生成できます。ビルドが1回で済み、サイズも多少節約できます。mingw32-make -f Make_ming.mak GUI=yes IME=yes MBYTE=yes ICONV=yes \ VIMDLL=yes \ PYTHON3=c:/msys64/ucrt64 DYNAMIC_PYTHON3=yes PYTHON3_VER=314 \ PYTHON3_HOME=c:/msys64/ucrt64/ \ PYTHON3INC=-Ic:/msys64/ucrt64/include/python3.14 \ DYNAMIC_PYTHON3_DLL=libpython3.14.dll \ CSCOPE=yes NETBEANS=yes STATIC_STDCPLUS=yes DEBUG=no \ XPM=c:/msys64/ucrt64Perl・Ruby・Lua拡張も含めて、msys2 付属のパッケージを利用する場合は以下の様に指定します。バージョン番号(
PERL_VER等)はインストールされているパッケージに合わせて適宜変更してください。mingw32-make -f Make_ming.mak GUI=yes IME=yes MBYTE=yes ICONV=yes \ PERL=c:/msys64/ucrt64 DYNAMIC_PERL=yes PERL_VER=540 \ PERLEXE=c:/msys64/ucrt64/bin/perl.exe \ PERLLIB=c:/msys64/ucrt64/lib/perl5/core_perl \ PYTHON3=c:/msys64/ucrt64 DYNAMIC_PYTHON3=yes PYTHON3_VER=314 \ PYTHON3_HOME=c:/msys64/ucrt64/ \ PYTHON3INC=-Ic:/msys64/ucrt64/include/python3.14 \ DYNAMIC_PYTHON3_DLL=libpython3.14.dll \ RUBY=c:/msys64/ucrt64 DYNAMIC_RUBY=yes RUBY_VER=34 RUBY_API_VER_LONG=3.4.0 \ LUA=c:/msys64/ucrt64 DYNAMIC_LUA=yes LUA_VER=54 \ CSCOPE=yes NETBEANS=yes STATIC_STDCPLUS=yes DEBUG=no \ XPM=c:/msys64/ucrt64注意1) 複数行に跨るのでシェルスクリプトに記載して実行して下さい。Windowsのバッチファイルで実行する場合は行末のバックスラッシュ(
\)をキャレット(^)に置き換えてください。注意2)
PYTHON3_VER、PYTHON3INC、DYNAMIC_PYTHON3_DLL等の数字は、インストールされているPythonのバージョンに合わせてください。バージョンはpacman -Qi mingw-w64-ucrt-x86_64-pythonで確認できます。Perl・Ruby・Lua も同様です。注意3)
XPM=c:/msys64/ucrt64を指定する場合は、事前にpacboy -S xpm-nox:uで XPM ライブラリをインストールしておく必要があります。
もどる
