空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

Building Emacs on Cygwin

いままでバイナリ配布されているNTEmacsを使っていたけど「gnupack + Cygwin/Emacs24 が快適 - ああああ」というのを読んで同感だったので、ちょっと自前でビルドしてみた。下にあるとおり、3つのコマンドで簡単にインストールできるので、私にはgnupackのありがたみはよくわからないけれども。

参照元のスクリーンショットを見ると、Console内でEmacsを使っているみたいだったけど、私はWindowsの標準的な窓で作業がしたかったので、

$ ./configure --with-w32
$ make -j4

として、明示的にWindowsのウィンドウシステムを使うように指定した。途中でpkg-configが古いとか、libncursesが必要だとかエラーが出たので、それらを追加でインストールする必要があった。そして最後に

$ make install

でインストール完了。

これだけでも十分だけど、Cygwinターミナルを介さずにWindowsのアプリとして普通にダブルクリックで実行したかったので、そのためのバッチファイルを作成した。ただ単にemacs-24.3.exeをダブルクリックすると、DLLが見つからないと怒られる。DLLへのパスを正しく設定してダブルクリックすると、ちゃんと起動はするものの、無駄に空白のコンソールが開いてしまう。その無駄なコンソールを表示させないようにするために、runというコマンドを経由して起動する必要がある。

以上を踏まえると、バッチファイルの中身は以下のような感じになる。

@echo off
C:
set PATH=C:\cygwin\bin;%PATH%
set HOME=C:\Users\User
cd "%HOME%"
"C:\cygwin\bin\run.exe" /usr/local/bin/emacs

自前でCygwinを使ってビルドすることの欠点は、Cygwinをアップデートすると、ときどき動かなくなってリビルドが必要になるときがあること。それを除けば細かいことを気にせずにLinux上で使うのと同じ感覚で作業できるようになったので、より便利になったと思う。

f:id:xoinu:20130720065516p:plain