今回から、Cygwinでビルドしています。それに合わせてこのページを書き換えました。<BR> MinGWでのビルドの記録は、こちらに置いておきます。<BR> 古いWin95用のページは、こちらに置いておきます。<BR>
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>
Cygwin のインストールとセットアップは、色んな処で解説されているので、此所では触れません。何らかのターミナルが使えて、開発環境もインストールされていることを前提とします。 但し、gnumake は、3.81 ではなく、3.80 に差し替えます。
gnuwin32 から以下のものを入手。
d:\src\ 以下で、build を実行するとすると、先ず、
bash$ cd /cygdrive/d/src bash$ mkdir DLL
として、上でダウンロードしたファイルから、必要なファイルを取り出して、DLL 以下に配置します。
更に、
bash$ mv DLL/libungif4.dll DLL/libungif.dll
しておきます。<BR> <BR>
bash だと、
bash$ export CVS_RSH="ssh" bash$ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs1
すると、d:\src\ 下に、emacs ディレクトリが出来て、ソースがチェックアウトされます。
小林さんのページから、IMEパッチを頂いて、d:\src\ へ置く。そして、
bash$ nkf --overwrite -Lu emacs-cvs-yyyymmdd-IME.patch bash$ cd emacs bash$ patch -p0 <../emacs-cvs-yyyymmdd-IME.patch2
致命的な、rejが無いか見ておく。
macemacsjp-projectから、transparency2 パッケージを頂いてきて、c:\src\ へ置く。
bash$ tar zxvf transparency-2.1.1.tar.gz bash$ cd emacs
bash$ patch -p0 < ../transparency2/transparency2.patch
gmake.defs の、以下の3行の行頭の、# を削除する。
#ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)" #CURDIR := $(shell cygpath -m $(CURDIR)) #endif
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
bash$ make bootstrap
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/
次の様な 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>
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。
表示できない画像タイプがあるときは、DLLを入れ替えてみる。
IME-patch
Buildの方法は、
emacs21-users-jaのこの辺りの議論も参考にさせていただきました。 小関さんの投稿の
;; 誰かきちんと説明の Web ページを書いてくんないかなあ。
が、このページを書くきっかけだったりします。 <BR>
1.最近ソースは、色んな所に置いて有るので、CVSじゃなくても良いかも。<BR>
2.改行コードが混在してますので、nkf で合わせてます。dos2unix でも良いのかな。<BR>