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上で使うのと同じ感覚で作業できるようになったので、より便利になったと思う。