EBViewのコンパイル(Windows編) *** 警告 *** ソースからコンパイルするのは、環境準備を含め、とても大変です。よほどのことがない限り、バイナリを使うのがいいと思います。 ************ Windowsでは、Cygwinを使ってコンパイルします。ただし、-mno-cygwinでコンパイルされるので、動作環境にはCygwinは必要ありません。MinGWでもいいのかもしれませんが、試していません。 このあたりについては、"cygwin mingw"などでインターネットを検索すると、解説しているページがあります。 1. Cygwinのインストール 以下からCygwinをインストールします。 http://www.cygwin.com/ ちなみに、私はGCCはバージョン3ではなく、バージョン2.95.3-9を使っています。 2.ライブラリのインストール 以下からGTKなどのライブラリ一式をインストールします。 http://www.gimp.org/~tml/gimp/win32/ インストールするディレクトリはどこでも構いませんが、C:\cygwin\usr\local(Cygwin環境内では /usr/local になる)の下にするか、C:\gtk などのように別のディレクトリにします。私は後者としました。 また、以下からPOSIX Threads for Win32を取ってきてインストールします。 http://sources.redhat.com/pthreads-win32/ さらに、以下から正規表現ライブラリをとってきます。 http://www2.odn.ne.jp/munesato/sylpheed/ 全部で以下のアーカイブが必要になります(2003年6月25日時点)。 dirent.zip freetype-2.1.2-1-lib.zip freetype-2.1.2-bin.zip gettext-dev-0.10.40-20020904.zip libiconv-1.8.w32-1.bin.zip libintl-0.10.40-tml-20020904.zip libjpeg-6b-bin.zip libjpeg-6b-lib.zip libpng-1.2.4-1-bin.zip libpng-1.2.4-1-lib.zip pkgconfig-0.14.zip tiff-3.5.7-bin.zip tiff-3.5.7-lib.zip zlib-1.1.4-bin.zip zlib-1.1.4-lib.zip atk-1.0.3-20020821.zip atk-dev-1.0.3-20020821.zip glib-2.2.1.zip glib-dev-2.2.1.zip gtk+-2.2.1.zip gtk+-dev-2.2.1.zip pango-1.2.1.zip pango-dev-1.2.1.zip pthreads-2003-05-10.exe regex-dev-20020423.lzh 3. EB Libraryのインストール 以下からソースを取ってきます(これを書いている時点では3.3.2)。 http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html 適当に展開します。configureを実行する前に環境変数を設定します。 export CFLAGS="-mno-cygwin -fnative-struct" export CPPFLAGS="-DWIN32 -DDOS_FILE_PATH -I/cygdrive/c/gtk/include" export LDFLAGS="-L/usr/local/lib -L/cygdrive/c/gtk/lib" export CC=gcc-2 パスは、GTKなどのライブラリをインストールしたディレクトリを指定します。 コンパイルします。 ./configure make cd eb make install cd .. make eb.conf cp eb.conf /usr/local/etc makeの途中でgetopt関係のエラーになっても、とりあえず無視します。 4. EBViewのコンパイル 以下を実行します。 ./configure make 出来たバイナリやデータファイルは、このドキュメントの最後にあるディレクトリ構成に従って、手動でコピーします。 5. GTKのIME用IMモジュールをインストールします。 ファイルは以下にあります(これを書いている時点での最新は0.0.3)。 http://imime.sourceforge.jp/ 通常に./configure, makeしてもDLLができないので、以下のようなシェルスクリプトを作って実行します。 ****** ここから****** #!/bin/sh CC=gcc-2 LD=ld DLLTOOL=dlltool DLLNAME=im-ime.dll OBJS="imime.o gtkimcontextime.o" CFLAGS="-I/cygdrive/c/gtk/include -I/cygdrive/c/gtk/include/atk-1.0 -I/cygdrive/c/gtk/include/glib-2.0 -I/cygdrive/c/gtk/include/gtk-2.0 -I/cygdrive/c/gtk/include/pango-1.0 -I/cygdrive/c/gtk/lib/glib-2.0/include -I/cygdrive/c/gtk/lib/gtk-2.0/include -mno-cygwin -fnative-struct" LIBS="-lintl -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -limm32" LDFLAGS="-L/usr/local/lib -L/cygdrive/c/gtk/lib -mno-cygwin -fnative-struct -mwindows" ${CC} -c ${CFLAGS} imime.c ${CC} -c ${CFLAGS} gtkimcontextime.c dlltool --export-all --output-def im-ime.def ${OBJS} dllwrap --target i386-mingw32 --mno-cygwin --export-all --def im-ime.def --driver-name gcc-2 -o im-ime.dll ${OBJS} ${LDFLAGS} ${LIBS} ****** ここまで****** できたim-ime.dllを、lib/gtk-2.0/2.2.0/immodules/ にコピーし、 etc/gkt-2.0/gtk.immodules に以下の行を追加します。 "/target/build/lib/gtk-2.0/2.2.0/immodules/im-ime.dll" "win32ime" "Windows IME" "gtk+" "" "*" または、ファイル自体を gtk-query-immodules-2.0.exe コマンドで作成します。 6. Windows版固有の事項 Windows版では、ebview.exeがあるディレクトリにdataというディレクトリを作成し、そこにメッセージカタログファイル、ヘルプファイル、gtkrcファイル、各種定義ファイルを入れます。例えば、ebview.exeをC:\Program Files\ebviewに入れる場合、以下のようになります。 C:\Program Files\ebview: ebview.exe C:\Program Files\ebview\data gtkrc about.en about.jp endinglist.xml endinglist-ja.xml searchengines.xml shortcut.xml C:\Program Files\ebview\data\help *.html C:\Program Files\ebview\data\ja\LC_MESSAGES ebview.mo