NTEmacs22 CVS + IME.patch を Build する

今回から、Cygwinでビルドしています。それに合わせてこのページを書き換えました。<BR> MinGWでのビルドの記録は、こちらに置いておきます。<BR> 古いWin95用のページは、こちらに置いておきます。<BR>

  1. まえがき
  2. 環境の整備
  3. Build
  4. 作動の確認
  5. 設定
  6. Links

1. まえがき

Windows上には、Meadow2と云う、素晴らしい、emacsが有ります。でも、私は個人的な趣味で、emacs-22.0.50 をソースからビルドして使ってます。(通称NTEmacs22)

現在の、NTEmacs CVS先端では、image表示もサポートされており、IME.patchを当てれば、不自由を感じません。

ここでは、三好さん/小林さんの IME.patchをあてて、ビルドする方法を、紹介します。

あくまで、私のPCの環境(win2000)の上での話ですので、試される場合は、自己責任でお願いします。<BR>

因みに、最近は安定しているので、<BR>

最近は、Build で、こけることは殆んど有りません。<BR>

又、CVS Emacs for Microsoft Windowsには、2005-04-16版のCVSで作られた、バイナリが置いてあります。<BR> IMEパッチは当たってませんので、インライン入力は出来ませんが、日本語は使えます。<BR> お試しだったら、これで充分です。<BR>


2. 環境の整備

2.1. Cygwin のインストール

Cygwin のインストールとセットアップは、色んな処で解説されているので、此所では触れません。何らかのターミナルが使えて、開発環境もインストールされていることを前提とします。 但し、gnumake は、3.81 ではなく、3.80 に差し替えます。

2.2. Cのヘッダファイル と DLL ファイル

2.2.1. Download

gnuwin32 から以下のものを入手。

2.2.2. 展開

d:\src\ 以下で、build を実行するとすると、先ず、

bash$ cd /cygdrive/d/src
bash$ mkdir DLL

として、上でダウンロードしたファイルから、必要なファイルを取り出して、DLL 以下に配置します。

更に、

bash$ mv DLL/libungif4.dll DLL/libungif.dll

しておきます。<BR> <BR>


3. Build

3.1. CVS から ソースを取得

bash だと、

bash$ export CVS_RSH="ssh"
bash$ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs
1

すると、d:\src\ 下に、emacs ディレクトリが出来て、ソースがチェックアウトされます。

3.2. インライン日本語入力パッチ (IME patch)

小林さんのページから、IMEパッチを頂いて、d:\src\ へ置く。そして、

bash$ nkf --overwrite -Lu emacs-cvs-yyyymmdd-IME.patch
bash$ cd emacs
bash$ patch -p0 <../emacs-cvs-yyyymmdd-IME.patch
2

致命的な、rejが無いか見ておく。

3.3. 半透明化パッチ (transparency2 patch)

macemacsjp-projectから、transparency2 パッケージを頂いてきて、c:\src\ へ置く。

bash$ tar zxvf transparency-2.1.1.tar.gz
bash$ cd emacs
bash$ patch -p0 < ../transparency2/transparency2.patch

3.5. gmake.defs の編集

gmake.defs の、以下の3行の行頭の、# を削除する。

#ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)"
#CURDIR	        := $(shell cygpath -m $(CURDIR))
#endif

3.6. configure

bash$ cd nt
bash$ ./configure.bat --with-gcc --no-cygwin --prefix d:/cygwin/usr/local/emacs/22.0.50 --cflags -DIME_CONTROL --cflags -DRECONVERSION --cflags -DCLIENTEDGE --no-debug --cflags -I/home/matsuan/src/emacs/cvs/DLL

3.7. bootstrap

bash$ make bootstrap

3.8. インストール

bash$ make install

とすれば、

d:/cygwin/usr/local/emacs/22.0.50

以下に、インストールされる。

この侭でも大丈夫なはずだけど、変なところに、同じ名前で、バージョン違いのdllが有ったりすると、画像表示がうまく行かないので、DLLもインストール先のディレクトリへコピー。

bash$ cp DLL/*.dll d:/cygwin/usr/local/emacs/22.0.50/bin/

3.9. 最適化ビルド

次の様な shell script を、make_emacs 等として作成しておいて、make の替わりに使っています。<BR>

make ARCH_CFLAGS="-D_X86_=1 -c -mno-cygwin -O3 -march=pentium-m" $1 $2 $3 $4 $5

-marchの処は、環境に合わせてください。<BR> 画像の表示や、IMEの表示が大分速くなったような気がします。<BR>


4. 作動の確認

4.1. イメージの確認

windows上で、

d:/cygwin/usr/local/emacs/22.0.50/runemacs.exe

をダブルクリックして起動。<nowiki>*scratch*</nowiki> バッファーで、

(eval 'image-types)

を評価して、

(png gif tiff jpeg xpm pbm xbm)

となれば、OK。

4.2. DLL の入れ替え

表示できない画像タイプがあるときは、DLLを入れ替えてみる。


5. 設定


6. Links

Emacs

IME-patch

Buildの方法は、

emacs21-users-jaのこの辺りの議論も参考にさせていただきました。 小関さんの投稿

;; 誰かきちんと説明の Web ページを書いてくんないかなあ。

が、このページを書くきっかけだったりします。 <BR>


1.最近ソースは、色んな所に置いて有るので、CVSじゃなくても良いかも。<BR>

2.改行コードが混在してますので、nkf で合わせてます。dos2unix でも良いのかな。<BR>