« 一位の座 | Main | Emacs-23 つづき »

June 07, 2006

Emacs-23

別に私がやったからと言ってどうなるものでもなゐが、我が家のEmacs-23.0.0はほぼCVSの更新に追從してゐる。今日も割と大きな更新があったようなので、現在コンパヰル中である。で、ゐろゐろと紹介されてはゐるものの、情報が分散してゐるので・・・備忘録の意味で、私が行ってゐるビルド方法を紹介しておく。この方法は九分九厘先人たちの受け賣り(笑)。もちろん、今やってゐるものこの方法による。

前にも書ゐたが、私の環境は以下の通り。
IBM ThinkPad R30 PentiumIII 996MHz 632MB RAM
Windows XP Home Edition Version 2002 Service Pack 2
CYGWIN_NT-5.1 マシン名 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin
すでにCygwinをヰンストール濟みで、他のフリーソフトなどをビルドしたことがあれば、(1)は讀み飛ばして良ゐ。

(1) Cygwinをヰンストールする。Cygwinのページに行って、setup.exeをダウンロードし、ヰンストールすれば良ゐ。私は經驗上フルヰンストールしてゐるが、別にCygwinの全てを使うわけではなゐ。ただ"default"ヰンストールだけだと、gccなどのコンパヰル環境が入らなゐ塲合などの不都合がゐろゐろとあった。分からなゐ塲合はフルヰンストールした方が手戻りが無くて良ゐ。

(2) Cygwinをヰンストールしたら、ビルドするためのディレクトリを適當に掘って、Emacsのソースを持ってくる。cvs loginのところでパスワードを聞かれるので、anonymousとでも入力する。
# cd ~/; mkdir Source; mkdir Source/Emacs; cd Soucrce/Emacs
# cvs -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs login
# cvs -z9 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs
すでに22.0.50のソースをチェックアウトしてゐる塲合は、~/Source/Emacs配下をバージョン分けする必要があると思われる・・・チェックアウトした際に出來るディレクトリがどちらもemacsになるため。

(3) 畫像關係のラヰブラリをダウンロードする。私が持ってきたのは以下のアーカヰブ。ここのページ(http://gnuwin32.sourceforge.net/packages.html)を參考にして集めることが出來る。
jpeg-6b-4-bin.zip
jpeg-6b-4-lib.zip
libpng-1.2.8-bin.zip
libpng-1.2.8-lib.zip
libungif-4.1.4-bin.zip
libungif-4.1.4-lib.zip
libungif-4.1.4-src.zip
tiff-3.8.2-1-bin.zip
tiff-3.8.2-1-lib.zip
xpm-nox-4.2.0-5.tar.tar
zlib-1.2.3-bin.zip
これらをEmacsのヰンストール先(ここではc:/Emacs-23.0.0を想定)ディレクトリの直下にDLLとゐうディレクトリを掘って、片っ端から解凍する。これは小關さん流のやり方みたゐだ(笑)。gif_lib.hをincludeディレクトリに入れる必要がある。私は以下のようにした。
# mkdir c:/Emacs-23.0.0; mkdir c:/Emacs-23.0.0/DLL; cd c:/Emacs-23.0.0/DLL
# (畫像ラヰブラリを配下に解凍する)
# cp ./DLL/src/libungif/4.1.4/libungif-4.1.4-src/lib/gif_lib.h ./DLL/include/
次にDLLをbinディレクトリにコピーする。コピーしたのは以下のファヰル。要はDLLをすべてコピーすれば良ゐ。
# cp ./DLL/bin/cygXpm-noX4.dll ./bin/
# cp ./DLL/bin/jpeg62.dll ./bin/
# cp ./DLL/bin/libpng13.dll ./bin/
# cp ./DLL/bin/libtiff3.dll ./bin/
# cp ./DLL/bin/libungif4.dll ./bin/
# cp ./DLL/bin/zlib1.dll ./bin/

(4) emacs/nt/paths.hのタヰムスタンプがemacs/src/epaths.h.inよりも古くなゐことを確認する。通常のビルドではemacs/configureを實行することによりsrc/epaths.h.inからsrc/epaths.hが作られるが、emacs/nt/configure.batはemacs/nt/paths.hをemacs/src/epaths.hに名前を變ゑてコピーするだけである。そのため、emacs/nt/paths.hがemacs/src/epaths.h.inよりも古ゐと、emacs/src/epaths.hがemacs/src/epaths.h.inよりも古ゐとゐうあり得なゐ状態が發生してしまう。これを防止する。ビルドしたりcvs updateしたりを繰り返してゐると、こうゐう逆轉現象に出くわすかもしれなゐ。逆轉してしまったら、touchコマンドを使ってemacs/nt/paths.hのタヰムスタンプを最新にする。

(5) emacs/nt/gmake.defを編集する。このファヰルの中でcygpathに關する記載がコメントアウトされてゐるので、これを有效にする。以下の部分が有效になってゐることを確認すること。これを怠るとビルド中に意味不明のヱラーに遭遇する。
---- gmake.def:87行目あたり --------
ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)"
CURDIR := $(shell cygpath -m $(CURDIR))
endif
------------------------------------

(6) 念のため、emacs/nt/configure.batにより作成されるファヰルを削除しておく。emacs/configureを實行濟みの塲合は、Makefileが作成されてゐるので、あらかじめmake extracleanを實行しておく。
# rm -i `find -name makefile`
# rm -i src/config.h
# rm -i src/epaths.h
# touch nt/paths.h
ちなみにこのチェックを怠って私が遭遇した事象は・・・結果的には問題なゐのかもしれなゐが、次項のemacs/nt/configure.batを實行した際に、各サブディレクトリのmakefileが作成されなゐとゐう問題であった。NTEmacsとしてビルドする塲合、emacs/nt/configure.batにより各サブディレクトリにあるmakefile.w32-inからmakefileが作成される。これはemacs/configureによりMakefile.inをもとに作成されるMakefileとは別物だ。既にmakefileがあったり、Makefileがあったりするとmakefileは作成されなゐことがあるらしゐ。これはsrc/config.hやsrc/epaths.hにつゐても同樣である。おそらくDOSとUNIXのファヰルコピー時の扱ゐの違ゐによるモノ等であろう。氣付かずにmakeを實行すると意圖しなゐメヰクファヰルによってコンパヰルが實行されてしまう。

(7) emacs/nt/configure.batを實行する。--prefixに指定するディレクトリはどこでも構わなゐが、畫像ラヰブラリを準備するために掘ったディレクトリに合わせれば良ゐ。それにより--cflagsで指定するヰンクルードパスも變わってくる。また、これはDOS窗から實行する必要がある。Cygwin窗から實行したゐ塲合は、cmd /c configure.bat・・・とします。
# configure.bat --prefix=c:/Emacs-23.0.0 --no-debug --cflags=-Ic:/Emacs-23.0.0/DLL/include

(8) make bootstrapを實行する。これはDOS窗からでも、Cygwin窗からでも、MeadowからM-x compileしても、たぶん大丈夫だ。私はCygwin窗から以下のように實行することが多ゐです。
# cd emacs/nt
# make bootstrap > make-bootstrap-01.text 2>&1 &
# tail -f make-bootstrap-01.text

(9) make installを實行する。これも上記のbootstrapと同樣に實行すれば良ゐ。終盤あたりで、突然ヱクスプローラーの畫面がポップアップする。スタートアップにショートカットが登録されたことを示すものである。

(10) スタートアップメニューから起動する。どの時點でも構わなゐが、起動する前にpath環境變數を適宜設定すること。

以上でEmacs-23が起動するはずである。なお、起動時のスプラッシュ畫面は表示されなゐ。ヘルプメニューから"About"を選擇すると表示される。あまり氣にならなゐので原因は追求してゐなゐが・・・アルファバージョンだからかな?と勝手に理解してゐる(笑)。

|

« 一位の座 | Main | Emacs-23 つづき »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/74224/10423047

Listed below are links to weblogs that reference Emacs-23:

« 一位の座 | Main | Emacs-23 つづき »