<追記 2017/06/12>
以下の内容は、今日、既に古すぎる情報となっています。
現在は、公式で、githubにホストしてあり、gitでソースが取得できます。
また、各パッチの管理等は、guiltを使っていますが、あまりしっくり来ていません。
取りあえず、quiltやhgのmq extentionと同じコマンド体型なのでそのまま使っている感じです。
</追記 2017/06/12>
さて、前から幾分たって、お久しぶりですが、早速vimの話です。
私は、数年前Windowsを使用していた時から、KaoriYaさんところのvimを使っていたので、
プライベートでも仕事でも、Linux (Ubuntu) に移行した後も、KaoriYa版vimと同じ様に
Migemo等々をつかいたかったので、自前でビルドして使っています。
あまり見当たらなかったので、簡単にまとめてみます。
皆さん、わかりやすくまとめられているので、先に参照されると良いと思います。(2013/02/06 追記)
まず環境を整え、ソースの取得
vim-jp.orgのLinuxでのビルド方法を参考に、「ソース取得」まで進める。KaoriYaパッチをあてる
KaoriYaさんのところから、Win32でもWin64でもいいからダウンロードし、zipを展開したpatchディレクトリにあるkaoriya-hg.diffをあてる。この時、hgの最新ソースと、KaoriYaさんのところのパッチのパッチバージョンが揃っていると、patchコマンドが失敗しないのでいい感じです。
$ unzip vim73-kaoriya-win64-20130131.zip $ cd vim $ patch -p 1 < ../vim73-kaoriya-win64/patch/kaoriya-hg.diff
configure.inにパッチをあてる
ここで、さらにconfigure.inにpatchあてます。どうやら、AC_DEFINEの行は改行されていなければいけない様子(?)で、
これをやらないと、最後のmakeで、libmigemoがリンクできずにundefined symbolになってしまいました。
なので、下記のdiffを適当名前で保存して、
--- ./src/configure.in.bak 2013-02-02 01:09:57.432359586 +0900 +++ ./src/configure.in 2013-02-02 01:10:40.360572462 +0900 @@ -3565,7 +3565,8 @@ if test "$enable_migemo" = "yes"; then AC_MSG_RESULT(no) AC_CHECK_LIB(migemo, migemo_open, - [LIBS="$LIBS -lmigemo" AC_DEFINE(HAVE_MIGEMO)],,) + [LIBS="$LIBS -lmigemo" + AC_DEFINE(HAVE_MIGEMO)],,) else AC_MSG_RESULT(yes) fiパッチをあてます
$ patch -p 1 < ../migemo_configure.in.patch
autoconfで、configureの再生成
次に、./src/configure.inが更新されても./src/auto/configureは自動で再生成されないようなので、 ./srcに入って、autoconfを実行させる。vim的にはmake autoconfでいいようだ。$ cd src $ make autoconfここで、自宅のUbuntu 10.04では、autoconfが失敗した。
その場合は、autoconf2.13パッケージをuninstallすれば、標準のautoconf(versionは2.65?)が使用され、 無事に./src/auto/configureが再生成される。
C/migemo (libmigemo) のインストール (2013/02/05 追記)
C/migemoについて書き忘れていました。Ubuntu10.04の場合、簡単な方法は憩いの場さんのPPAを登録し、aptコマンドでインストールする方法です。
$ sudo add-apt-repository ppa:ikoinoba/ppa $ sudo apt-get install cmigemo libmigemo-devもうひとつの方法としては、KaoriYaさんのC/Migemoから、ソースをダウンロードしてビルドします。 (最近、google codeからgithubに移行したようです)
$ git clone https://github.com/koron/cmigemo $ cd cmigemo $ ./configure $ make gcc $ sudo make installUbuntu12.04からは公式のuniverseリポジトリにあるので、簡単にインストールできます。
$ sudo apt-get install cmigemo libmigemo-dev
configure、makeの実行
ここでようやく、./configureして、makeの実行だ。$ cd ../ # ./srcの中にいたので一個上に上がる。 $ ./configure./configure の オプションは、環境ごとにpython3が使える使えないがあったので以下の通り。
スペック厨なので、とりあえず何でも使えるようにしてする。
CFLAGSは適当に拾ったものを使用させていただいております。基本的には-march=nativeだけやりたかった。
Ubuntu 12.04のLDFLAGSは mattnさんのブログから、ヒントもらいx86-64用に設定してます。
Ubuntu 10.04
./configure --prefix=/usr/local --with-features=huge --enable-pythoninterp=yes --disable-python3interp --enable-rubyinterp=yes --enable-perlinterp=yes --enable-luainterp=yes --enable-tclinterp=yes --enable-cscope --enable-gui=gtk2 --enable-fail-if-missing CFLAGS='-march=native -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE -D_REENTRANT -D_REENTRANT=1 -D_THREAD_SAFE=1'Ubuntu 12.04
./configure --prefix=/usr/local --with-features=huge --enable-python3interp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --enable-perlinterp=yes --enable-luainterp=yes --enable-tclinterp=yes --enable-cscope --enable-gui=gtk2 --enable-fail-if-missing CFLAGS='-march=native -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE -D_REENTRANT -D_REENTRANT=1 -D_THREAD_SAFE=1' LDFLAGS='-L/usr/lib/x86_64-linux-gnu'そして適当に、make
$ make -j4 $ sudo make installとかする。
以上。