1 * BUILDING EMACS ON MAC OS Classic AND MAC OS X -*- outline -*-
3 Copyright (C) 2001, 2002, 2003, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5 See the end of the file for license conditions.
8 * BUILDING EMACS ON MAC OS X
10 You should be able to build Emacs on Mac OS X by typing the following
11 commands at the top-level directory after the source distribution is
14 ./configure --enable-carbon-app
18 The last step may fail if you do not have permissions to install. If
19 you try to install into /usr (with ./configure --prefix=/usr), then you
20 must install as root using the sudo command. However, it is not
21 recommended; see the notes section below for more details.
23 The --enable-carbon-app specifies that the Carbon GUI application
24 should be installed into /Applications. If you want it to install in
25 a different location, specify --enable-carbon-app=<mydir>
27 You can type `make bootstrap' instead of `make' to rebuild everything,
28 including byte-compiling the Lisp files.
30 If you are compiling on Mac OS X versions before 10.2 and have not
31 installed the GNU texinfo package on your system, the build will
32 complain that makeinfo cannot be found. Instructions for installing the
33 GNU texinfo package are given below. Alternatively, you can type `make
34 -k' instead of `make' and safely ignore the error messages and use the
37 After Emacs is installed, you can run a text-only terminal version by
38 typing `emacs' from a terminal (make sure your path contains
39 /usr/local/bin) or a GUI application by double-clicking on
40 /Applications/Emacs.app in the Finder. Even in the terminal version,
41 some Carbon-specific functions such as `mac-set-file-creator' are
44 To start Emacs as a GUI application from the terminal, the pathname to
45 the executable in the bundle, i.e.,
47 /Applications/Emacs.app/Contents/MacOS/Emacs
49 must be typed to the shell to enable Emacs to locate its resources
50 correctly. You may want to create an alias to this path to quickly
51 access both the terminal and GUI versions. You can specify some
52 standard Emacs options when invoking Emacs in this way.
54 Emacs on Mac OS X is not configured to use X11 unless either it is
55 requested or the use of Carbon is disabled explicitly. So, if you are
56 building Emacs to run on X Window System, you need to specify like:
60 Note that the Carbon-specific functions mentioned above are not
61 available on the X11-enabled build.
63 To use colors in Terminal.app on Mac OS X 10.1, put the following
64 lines in the file ~/.termcap and log in again.
68 vt100|vt100-am|vt100am|dec vt100:\
69 :pa#64:Co#8:Sf=\E[3%dm:Sb=\E[4%dm:op=\E[m:AF=\E[3%dm:AB=\E[4%dm:\
70 :do=^J:co#80:li#24:cl=\E[;H\E[2J:sf=2*\ED:\
71 :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
72 :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
73 :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\
74 :rf=/usr/share/tabset/vt100:\
75 :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[;r\E[0m\E(B\E)B\E[2J:\
76 :ks=\E[?1h\E=:ke=\E[?1l\E>:\
77 :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
78 :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\
79 :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
82 To build the `info' files in versions prior to Mac OS X 10.2, you need
83 to install the texinfo software.
85 To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or
86 a mirror. Un-tar it, enter its directory and type
92 The last step may need to be performed as root (sudo make install).
94 You may also like to install ispell, which will allow you to use
95 ispell and flyspell-mode. To install ispell from source, you first
96 need to install GNU textutils.
98 To do so, download textutils-2.0.tar.gz from ftp.gnu.org or a mirror.
99 Un-tar it, enter its directory, type
101 ./configure --host=powerpc-apple-bsd
105 Again, the last step may need to be performed as root. Note that if you
106 run `make check', the test for `pr' will fail.
108 Get and un-tar ispell-3.2.06.tar.gz. Look for it here:
110 http://fmg-www.cs.ucla.edu/geoff/ispell.html
112 Go into its directory, type
114 cp local.h.samp local.h
116 Add a line `#define TERMLIB ""' to the end of local.h.
118 Set the environment variable TMPDIR to an existing directory. For
119 example since `/tmp' exists on my machine and I am using `bash', I
124 Run `make' and `make install', the latter as root.
126 * BUILDING BINARY DISTRIBUTIONS FOR MAC OS X
128 If you are intending to build a binary distribution of Emacs, there is
129 a script that will greatly simplify the process. It is called
130 make-package and it is contained in this directory. It will generate
131 a disc image containing a installer bundle. By default the installer
132 will place the emacs common files in /usr/local/* and the Carbon
133 application in /Applications. Typical usage would be
137 After running, an compressed disk image of the installer will be placed
138 in a file called EmacsInstaller.dmg. This file can be then distributed
139 to whomever would like a binary distribution. Here are the common
142 --with-x - Use the X11 GUI instead of the Carbon GUI.
143 --prefix=DIR - Place the common emacs files in the given DIR. The
144 default is /usr/local. See note below if placing
146 --self-contained - Place the common emacs files inside the Emacs.app
147 itself. This makes the application trivial to
148 uninstall and copy between computers.
149 --app-symlink - Use a symlink inside the Application to the
150 $prefix/bin/emacs to reduce disk space. Note, this
151 option may removed in the future.
154 For usage of other options, use the --help option.
156 Note: due to the problem "Installing to a directory with non-ASCII
157 characters in the name fails" mentioned in etc/PROBLEMS, you may not
158 move a self-contained Emacs.app application bundle to a non-ASCII
161 * BUILDING EMACS ON MAC OS Classic
163 You can use MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be
164 downloaded free of charge from Apple.
166 ### IMPORTANT ### You can use StuffIt Expander to decompress and untar
167 the distribution. However, you *must* set the radio button in the
168 Preferences->Cross Platform->Convert text files to Macintosh format to
169 "Never". Otherwise the compiled Lisp files will be corrupted.
171 (Optional) A subset of the fonts from the GNU intlfonts-1.2
172 distribution converted to NFNT format can be obtained from
174 http://members.shaw.ca/akochoi-emacs/stories/Resources/GNU-Fonts.smi.bin
176 To build Emacs in the MPW Shell, simply set the directory to
177 ...:emacs:mac: and build the target Emacs of the make file
178 makefile.MPW. I.e., execute the commands
180 make Emacs -f makefile.MPW > Emacs.MakeScript
183 The above commands create an executable that uses the Carbon API.
184 The non-Carbon version can also be created by replacing all the
185 occurrences of `Emacs' above with `NonCarbon'. Not that the
186 non-Carbon version does not support some features such as file
187 dialogs, drag-and-drop, and Unicode menus.
189 Once built, the Emacs application (Emacs MPW) can be launched where it
194 Emacs should build and run on a PowerMac running Mac OS 8.6 - 9.2 (but
195 only tested on 9.2.2), and Mac OS X 10.1 - 10.4.
197 You will need around 100 MB of disk space for the source files and
200 Under Mac OS Classic, there is no support for building the LEIM
201 directory. However, it can be built on Mac OS X or another platform
202 and transferred to the Mac.
204 On Mac OS X, installing the emacs files in /usr can cause issues with
205 system software updates possibly overwriting the distribution. If this
206 is a concern, as it should be in normal binary distributions, please
207 use /usr/local as the prefix for installation.
209 Emacs supports both PowerPC and Intel-based Macintoshes. However,
210 due to the unexec process that Emacs uses to dump core, it is not
211 possible at this time to generate a universal binary that supports both
212 architectures. In addition, Rosetta doesn't appear to work correctly
213 with PowerPC builds of Emacs; you will have to recompile for Intel.
214 Therefore, builds of Emacs are architecture specific.
219 This file is part of GNU Emacs.
221 GNU Emacs is free software; you can redistribute it and/or modify
222 it under the terms of the GNU General Public License as published by
223 the Free Software Foundation; either version 2, or (at your option)
226 GNU Emacs is distributed in the hope that it will be useful,
227 but WITHOUT ANY WARRANTY; without even the implied warranty of
228 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
229 GNU General Public License for more details.
231 You should have received a copy of the GNU General Public License
232 along with GNU Emacs; see the file COPYING. If not, write to the
233 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
234 Boston, MA 02110-1301, USA.