I’ve been getting the urge to do a full Emacs reboot lately. Inspired partly by the interesting things going on in Emacs 24, I’ve been wanting to rebuild my whole working Emacs working environment–evolved over the course of years–throw away the cruft, upgrade assorted extensions, and maybe learn a few things along the way. Oddly, there doesn’t seem to be an up-to-date PPA for Emacs 24, so I’ll build from source. To begin, I’ll grab the Emacs source code:

$ bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk emacs

Now to generate the configure script:

$ cd emacs
$ ./autogen.sh

This verifies I have the needed GNU automake stack, and spits out an executable configure script. GNU configure scripts will tell you what compile options they support if you pass the –help argument:

$ ./configure --help

As you might imagine for a project under constant development for several decades, Emacs has a lot of compile options. Many of them are already enabled by default. I’m intrigued to see an option to build with cutting-edge GTK3 libraries. I think I’ll try that, so I need to grab the libraries first:

$ sudo apt-get install libgtk-3-dev

I also need a few extra graphics-related development libraries to satisfy build requirements:

$ sudo apt-get install libgif-dev libxpm-dev

I don’t see any other options I want to tweak, so I’ll just configure with the GTK3 option:

$ ./configure --with-x-toolkit=gtk3

After that process it’s time to build Emacs. I’ll kick off the build, and then go get a cup of coffee:

$ make

What’s interesting about watching the Emacs build process is that the vast majority of the time is spent byte-compiling Lisp files. This underscores the fact that Emacs is really an editor built in Lisp, with just a small kernel of C code powering the Lisp machine at its core.

Enhanced by Zemanta

Published by Avdi Grimm


  1. May you please describe your emacs enviromnent for rails projects?! I am quite a newby when it comes to use emacs for rails… I’ve been mostly using rinari, magit, ido-mode, haml-mode, rtags, rspec-ac .. Though, I’ve built this enviromnent alone, and I don’t work with anybody else using emacs for rails. It would be very helpful to get to know what the “pros” are using… 😉

  2. “Emacs is based on the fear that the operating system may not be there someday.” – Michael Feathers

  3. With Ubuntu, the easiest way to make sure all you have all the dev packages you need is “sudo apt-get build-dep emacs”.  That will include any autotools, etc. packages too.

  4. Avdi, I just found a working PPA for emacs 24 that works nicely with thalatest Ubuntu 12.04.1:
    $ sudo add-apt-repository ppa:cassou/emacs
    $ sudo aptitude update
    $ sudo aptitude install emacs-snapshot


Leave a Reply

Your email address will not be published. Required fields are marked *