Carbon版 Emacs 22.1 をビルドして使っています。その方法を紹介しておきます。
最近は、銭谷さん版CarbonEmacsや、AquaMacs 等々パッケージになった物も、多く配布されていますが、私は、昔ながらに、自家ビルドしています。
又、最近、ビルドの方法を紹介したページも、散見しますが、ちょっと勘違いかな?見たいな所も見受けられるので、私の理解している所を紹介しておきます。
MacOSX 用の開発ツール、Xcode が必要です。
speedbar 等と相性悪いので、銭谷さん版CarbonEmacs には収録されていません。
でも、私的には、Emacs には、メニューバー、ツールバー、スクロールバーは要らないので、パッチを当てます。
--- macterm.c.orig 2007-02-13 17:28:39.000000000 +0900
+++ macterm.c 2007-03-09 17:21:29.000000000 +0900
@@ -10198,6 +10198,8 @@
{
/* Active input area is displayed in the echo area. */
w = XWINDOW (echo_area_window);
+ if (!w)
+ return eventNotHandledErr;
f = WINDOW_XFRAME (w);
}
else
これを、MacUIM.patch として、保存しておきます。
MacUIM がアクティブだと、Carbon Emacs の起動に失敗します。で、このパッチを当てます。
尚、2007-07 以降の CVS では、違った方法で回避されています。
Leopard になってから、その侭では Build 出来なくなったので、Yamamoto さんが、bug-gnu-emacs に投稿されたパッチを当てます。でも、22-BASE 用なの、ちょっと手直しして、22.1 用にしたものを、こちらに置いておきます。
以下に紹介する方法では、"make bootstrap" をしていません。実は、リリース版 lisp file は、既に、バイトコンパイルしてあるので、bootstrap は必要無いのです。
その分、一度、素の状態でビルドしてから、パッチを当てて、再度必要なファイルだけコンパイルし直すことになるので、手数は増えますが、時間は大幅に節約できます。
$ tar zxvf emacs-22.1.tar.gz $ tar zxvf transparency-3.1.0.tar.gz $ tar zxvf hide_menubar.tar.gz $ mkdir carbon $ cd carbon $ patch -p1 <../unexmacosx.c.patch ## for Leopard $ ../emacs-22.1/configure CFLAGS="-O3 -pipe" --prefix=/Applications/Emacs.app/Contents/Resources --enable-carbon-app=/Applications --without-x $ make
$ cd ../emacs-22.1 $ patch -p0 <../transparensy3/transparency3.patch $ patch -p1 <../hide_menubar.patch $ cd src $ patch -p0 <../../MacUIM.patch $ cd ../../carbon
$ ../emacs-22.1/configure CFLAGS="-O3 -pipe" --prefix=/Applications/Emacs.app/Contents/Resources --enable-carbon-app=/Applications --without-x $ make $ cd lisp $ make recompile $ cd .. $ make all $ sudo make install
4回 make してますが、各々、
な、意味が有ります。
又、ソースは、emacs-22.1 フォルダに有るのに、ビルドは、carbon フォルダで実施しています。分けることにより、同一のソースから、コンパイルオプションを変えたバイナリを作ったり、複数のターゲットマシン用のバイナリをクロスビルドすることが容易になります。