December 10, 2025
This is an update to my post about compiling Emacs 29.4 from source. Emacs has been moving forward but unfortunately my beloved Mitsuharu Emacs Mac Port has not. Happily JD Smith has picked up the mantle and there is an up-to-date (albeit experimental) Emacs 30 fork on GitHub. This post documents the steps I took to build Emacs 30.2 on my M3 MacBook Pro.
Backup and delete /Applications/Emacs.app if you have one. I highly encourage you to keep a backup of your old Emacs around for a while in case you hit any snags building the new one.
Don’t skip this step of reinstalling the latest version of the tools. You’ll need to install Xcode first if you don’t already have it. I was using Xcode 16.4 when I went through this process.
sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install
brew update brew reinstall gcc brew install libgccjit pkgconf texinfo tree-sitter jansson
The only branch I was able to successfully build was emacs-mac-30.2, but that might have changed by the time you read this.
git clone https://github.com/jdtsmith/emacs-mac
cd emacs-mac
git checkout emacs-mac-30.2
I used the self-contained configuration and followed the instructions in the README.md on the GitHub page.
./autogen.sh CFLAGS="-O2 -mcpu=native" ./configure --with-native-compilation \ --with-tree-sitter \ --with-xwidgets \ --enable-mac-app=yes \ --enable-mac-self-contained make -j6 make install
I am so happy that this project has found new life and that this flavor of Emacs will continue to be available for Mac users.