Monday, December 21, 2009

Emacs 23 On Leopard


Just a quick note on building emacs-cvs (emacs23+) on Mac OS 10.6.

First, check emacs out:



$ mkdir Emacs; cd Emacs  
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs co emacs-cvs
Or check it out via Bazaar:


$ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs-bzr 


 Now create a scratch directory:
$ mkdir emacs-build
$ cd emacs-build

To build the mac App bundle of emacs:





$ ../emacs-cvs/configure --with-ns
$ make install 
$ open nextstep/Emacs.app # just a test to confirm it works before installing
$ sudo cp -r src/Emacs.app /Applications

To build a more old school x11/commandline emacs as well as replacing the emacs22 that ships as the
default on Snow Leopard.  This is my preferred install as I tend to stick to the commandline whenever possible:





$ ../emacs-cvs/configure --prefix=/usr --with-x-toolkit=no --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no
$ make
$ ./src/emacs -q # just a test to confirm it's working before installing
$ sudo make install


4 comments:

  1. Thanks for this!

    When I run the generated binary ./src/emacs, it launches a separate X11 instance. Is there any way to have emacs launch in the Terminal itself?

    ReplyDelete
  2. Ah, just do ./src/emacs -nw.

    -nw stands for "no window" I think.

    Hope you're enjoying Emacs!

    ReplyDelete
  3. Under OSX 10.6.5, I get the following:
    configure: error: I couldn't find termcap functions (tputs and friends).
    Maybe some development libraries/packages are missing? Try installing
    libncurses-dev(el), libterminfo-dev(el) or similar.

    Where would I get these?

    ReplyDelete
  4. @kds:

    Sorry for the late reply, I had comment moderation on and no notifications setup so it languished for a while.

    Hopefully you've already sorted out your issues but I think you'll want to look into grabbing Fink and installing it.

    http://www.finkproject.org/

    Then you should be able to do:

    $ fink install ncurses-dev

    ReplyDelete