Cygwin で Emacs 26 をビルド

Avast の誤検出で大変な目に遭っていましたが、
なんとか直ってきました。

emacs のビルドを自分のためにもメモしておきます。
すぐ忘れるのでw

ソースは The GNU Operating System and the Free Software Movement からダウンロードしてください。
企業では「GPL 汚染」とか言われたりしますのでw
エンタープライズ用途の場合は、いろいろ注意しなければいけません。
ライセンス形態にはとても神経を使いますね。

でも、自宅で個人使用なら何も気にする必要はありません。
この自由感! GPL最高!! むしろ汚染して!!www

./configure --with-w32 --without-imagemagick --without-xim --with-gnutls=no

コンフィグを実行すると tputs が無いとエラーになります。
「--without-imagemagick」を付けると直ると解説しているサイトがありますが、 Emacs 26 ではダメみたいです(いらないかも)。
解決するには setup で libncurses-devel をインストールします。
f:id:umeaji:20181201095229p:plain

コンフィグは通るので、次はビルドです。
make すると iconv.h が無いとエラーになります。
解決するには setup で libiconv のソースをインストールします。
f:id:umeaji:20181201095446p:plain
(↑ソースにチェックを入れてください。このスクショでは入ってませんw)
ソースはなぜかバージョン 1.14-2 までしか選べません。
バイナリは 1.14-3 なのに変ですが、ここでは気にしないで 1.14-2 をインストールします。

一旦 setup を終了して、また setup を起動するとバージョンが古いと pending に挙がるので、
(やっぱり変だよね?)、
最新のバージョン 1.14-3 をそのままインストールします。
これで make が通ります。

インストールの前に起動確認です。

% ./src/emacs -q

f:id:umeaji:20181201100136p:plain
Emacs が起動すれば OK です。インストールします。
あとは、設定ファイル (~/.emacs.el)と elisp パッケージを
/usr/local/share/emacs/site-lisp や /usr/local/share/emacs/26.1/site-lisp あたりに用意して...
f:id:umeaji:20181201100720p:plain
完成です!!


ちなみに、

コンフィグのオプションで XIM は使わないと設定していますが、
他の Windows 用エディタのように普通に Google IME で日本語が入力できたりしますw

もちろん、SKK で日本語が入力できます。
SKK は、elisp のみで書かれたシンプルで動作が軽く誤変換率が少ない素晴らしい日本語入力システムです。