このページはObsolateです。最新記事(for Win2000)は、BuildNtemacsに有ります。<BR>
Windows上には、Meadow2と云う、素晴らしい、emacsが有ります。でも、私は個人的な趣味で、emacs-21.3.50 をソースからビルドして使ってます。(通称NTEmacs21)
現在の、NTEmacs CVS先端では、image表示もサポートされており、IME.patchを当てれば、不自由を感じません。
ここでは、三好さん/小林さんの IME.patchをあてて、ビルドする方法を、紹介します。
あくまで、私のPCの環境(win95)の上での話ですので、試される場合は、自己責任でお願いします。
因みに、使ったCVSは2004-03-31版、その他のパッケージ類は、2004-04初旬に取得可能だった物です。
- 2004-05-31 2004-05-23版のCVS + emacs-cvs-20040528-IME.patch でビルド - 2004-07-26 2004-07-26版のCVS + emacs-cvs-20040719-IME.patch でビルド
又、CVS Emacs for Microsoft Windowsには、2003-12-28版のCVSで作られた、バイナリが置いてあります。<BR> 2004-07-28 現在、2004-07-09版が置かれています。<BR> IMEパッチは当たってませんので、インライン入力は出来ませんが、日本語は使えます。 お試しだったら、これで充分です。
1. 環境の整備
1.1. MinGW & MSYS をインストール
最初、Cygwin上でビルドを試みましたが、中々上手く行かないので、MSYS上で試したら、あっさり通ってしまいました。
- MinGW-3.1.0-1.exe —- MinGW そのもの - MSYS-1.0.10.exe ——- ビルドするための環境(rxvt,gcc,bash等) - msysDTK-1.0.1.exe —- csv が入ってる。別の方法でソースが入手できるなら不要。
を貰って来て、デフォルトでインストールすると、
- C:\MinGW - C:\MSYS
に、必要なファイルがインストールされる。
1.2. Cのヘッダファイル と DLL ファイル
1.2.1. Download
gnuwin32 から以下のものを入手。
- jpeg-6b-3.exe - libpng-1.2.5-1.exe - libungif-4.1.0b1-bin.zip - libungif-4.1.0b1-src.zip - tiff-3.6.1-2.exe - xpm-nox-4.2.0-bin.exe - zlib-1.2.1-1.exe
1.2.2. 展開
- jpeg-6b-3.exe - libpng-1.2.5-1.exe - tiff-3.6.1-2.exe - xpm-nox-4.2.0-bin.exe - zlib-1.2.1-1.exe
は、そのまま起動すると、C:\MinGW 以下の適切な場所に、各ファイルがインストールされる。
- libungif-4.1.0b1-bin.zip
を解凍して、libungif.dll を、C:\MinGW\bin へコピー
- libungif-4.1.0b1-src.zip
を解凍して、gif_lib.h を、C:\MinGW\include へコピー
1.3. MSYSを起動
Desktop の MSYS Icon を叩くと、MSYSが起動して、自動的に bash が立ちあがって home に login する。
mkdir /usr/local
しておく。
2. Build
2.1. CVS から ソースを取得
MSYS上で、
export CVS_RSH="ssh"<BR> cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs<BR> 1
すると、カレントディレクトリの下に、emacs ディレクトリが出来て、ソースがチェックアウトされる。
以下の様にして、xpm.h を src/X11 ディレクトリに置く。
mkdir emacs/src/X11<BR> cp /MinGW/include/xpm.h emacs/src/X11
2.2. IME patch
小林さんのページから、IMEパッチを頂いて、カレントディレクトリへ置く。
そして、
cd emacs<BR> patch -p0 <../emacs-cvs-yyyymmdd-IME.patch<BR> 2
致命的な、rejが無いか見ておく。
2.3. configure
WindowsNT系(2000,XP)だと、小林さんのページのように <nowiki> <html>
./configure.bat —with-gcc —no-cygwin —prefix \<BR> c:/usr/emacs/current —cflags -DIME_CONTROL —cflags -DRECONVERSION \<BR> —cflags=-DCLIENTEDGE —cflags -I/usr/local/include<BR> </html> </nowiki>
で良いようですが、WIndows9*系の場合、環境用のメモリーが足りませんと怒られるので、 次の様にします。
DOS 窓上で、MSYS の 作業ディレクトリに移動。
<nowiki> <html><nowiki> <html>cd emacs<BR> cd nt<BR> configure.bat —cflags=-DMEADOW —cflags=-DIME_CONTROL —with-gcc<BR> </html> </nowiki>
3.<BR>
emacs-cvs-20040528-IME.patch以降は、<BR> configure.bat —cflags=-DIME_CONTROL —with-gcc<BR> <BR> emacs-cvs-20040714-IME.patch以降は、<BR> configure.bat —cflags=-DIME_CONTROL —cflags=-DRECONVERSION<BR> —cflags=-DCLIENTEDGE —with-gcc<BR> </html> </nowiki> <BR> 無事、configureできたら、DOS窓 から exit
2.4. bootstrap
WinNT系(2000,XP)の、Cygwin 又は、MinGW上で、Configure した場合は、include file のチェックはうまく行くので、そのままMake出来ます。
win9*系で、DOS窓上でconfigureした場合、include ファイルをうまく見付けられないので、次の様にconfig.hを無理矢理書き換えます。
適当なエディターを使って、
emacs/src/config.h の最後を次の様に書きかえる。
<nowiki> <html> /* Start of settings from configure.bat. /<BR>End of settings from configure.bat. / <BR> <BR> </html> </nowiki>#define USER_CFLAGS " -DIME_CONTROL"<BR> HAVE_PNG 1<BR> HAVE_JPEG 1<BR> HAVE_GIF 1<BR> HAVE_TIFF 1<BR> HAVE_XPM 1<BR> /
MSYS に戻って、
cd nt<BR> make bootstrap <BR>
最近、bootstrap がエラーで止まることが有りますが、構わず<BR> make all で、通ってます。
これで、通りました。
*2.5. インストール**make INSTALL_DIR=/usr/local/emacs/21.3.50 install
とすれば、
c:\MSYS\1.0\local\emacs\21.3.50<BR> 以下に、インストールされる。
この侭でも大丈夫なはずだけど、変なところに、同じ名前で、バージョン違いのdllが有ったりすると、画像表示がうまく行かないので、DLLもインストール先のディレクトリへコピー。
cp /mingw/bin/libXpm-noX4.dll /usr/local/emacs/21.3.50/bin/libXpm-nox4.dll<BR> cp /mingw/bin/jpeg62.dll /usr/local/emacs/21.3.50/bin/jpeg62.dll<BR> cp /mingw/bin/libpng12.dll /usr/local/emacs/21.3.50/bin/libpng13d.dll<BR> cp /mingw/bin/libtiff3.dll /usr/local/emacs/21.3.50/bin/libtiff3.dll<BR> cp /mingw/bin/libungif.dll /usr/local/emacs/21.3.50/bin/libungif.dll<BR> cp /mingw/bin/zlib1.dll /usr/local/emacs/21.3.50/bin/zlib.dll<BR>
cp /mingw/bin/libXpm-noX4.dll /usr/local/emacs/21.3.50/bin/libXpm.dll<BR> cp /mingw/bin/jpeg62.dll /usr/local/emacs/21.3.50/bin/libjpeg.dll<BR> cp /mingw/bin/libpng12.dll /usr/local/emacs/21.3.50/bin/libpng.dll<BR> cp /mingw/bin/libtiff3.dll /usr/local/emacs/21.3.50/bin/libtiff.dll<BR> cp /mingw/bin/libungif.dll /usr/local/emacs/21.3.50/bin/libungif.dll<BR> cp /mingw/bin/zlib1.dll /usr/local/emacs/21.3.50/bin/zlib.dll<BR>
3. 作動の確認
3.1. イメージの確認
windows上で、
c:\MSYS\1.0\local\emacs\21.3.50\bin\runemacs.exe<BR> をダブルクリックして起動。
<nowiki>*scratch*</nowiki> バッファーで、(eval 'image-type)<BR> を評価して、
(png gif tiff jpeg xpm pbm xbm)
となれば、OK。
3.2. DLL の入れ替え
表示できない画像タイプがあるときは、DLLを入れ替えてみる。
私の場合、
libpng.dll
CVS Emacs for Microsoft Windows でダウンロードした、パッケージから頂きました。
libtiff.dll
何故か、 cygwinのlibtiff.dllで動いてます。
多分、環境に依存すると思うので、うまく行かない場合は、御自分で、色々トライお願いします。
4. 設定
三好さんのNTEmacsページを参考にして下さい。
1.私自身は、MSYS上のcvsを使ってませんので、動作は保証できません。MacOSX(Panther)上のcvsでソースを取得してます。<BR>
2.改行コードが混在してますので、unix2dos、dos2unixを使って、適当に合わせてください。cvsの取得の方法によっても変わります。私の場合、patch は dos2unix。<BR>
3.configure.bat は、unix2dos かな。<BR>