magcho's blog

M1 macでemacs-ngをビルドする

Created at: Last updated at:

先日Intel mac向けにemacs-ngをビルドする記事を書きました。しばらく使ってみましたが深刻な問題が起こることもなく常用できそうだったのでM1 mac向けにもビルドして普段使いしたいと思った次第です。

ビルド手順

ビルドに必要な依存関係をドキュメントに従ってインストールします。https://emacs-ng.github.io/emacs-ng/build/building/

以下のコマンドでビルドします。

brew install gnutls texinfo autoconf zlib libgccjit jansson

export CPATH="$CPATH:$(brew --prefix libgccjit)/include"
export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix libgccjit)/lib/gcc/11"

./autogen.sh

./configure --with-json --with-native-compilation --with-modules --without-x --with-gnutls --with-xml2

make -j8

make install

今回は--with-native-compilation--with-jsonを有効化します。jsonの方はlibjanssonをbrewでインストールし、configure時にオプションを渡してあげればOKです。

native compilationの方は、現状コンパイラがlibgccjitのパスを見つけられないみたいなので、環境変数を利用してコンパイラにパスを渡しておけばビルドできます。

追記

インストール先を/opt/emacs-ngにしたかったので最近は以下のオプションでコンパイルしています

./configure \
 --enable-locallisppath=/opt/emacs-ng/share/site-lisp \
 --infodir=/opt/emacs-ng/share/info/emacs \
 --prefix=/opt/emacs-ng \
 --with-json \
 --with-native-compilation \
 --with-modules \
 --with-gnutls \
 --with-xml2 \
 --without-x \
 --without-ns \
 --without-dbus \
 --without-imagemagick \
 --without-selinux

google analyticsを導入しています