fix up ns-extended-platform-support-mode
[bpt/emacs.git] / mac / INSTALL
CommitLineData
c0bc7978 1* BUILDING EMACS ON MAC OS X -*- outline -*-
1a578e9b 2
ceb4c4d3 3Copyright (C) 2001, 2002, 2003, 2004, 2005,
b9b14d13 4 2006, 2007, 2008 Free Software Foundation, Inc.
7f6d64f8 5See the end of the file for license conditions.
b6955da2 6
b6955da2 7
e0f712ba 8* BUILDING EMACS ON MAC OS X
1a578e9b 9
e0f712ba
AC
10You should be able to build Emacs on Mac OS X by typing the following
11commands at the top-level directory after the source distribution is
12un-tarred.
1a578e9b 13
77a4e329 14 ./configure --enable-carbon-app
e0f712ba
AC
15 make
16 make install
1a578e9b 17
77a4e329
ST
18The last step may fail if you do not have permissions to install. If
19you try to install into /usr (with ./configure --prefix=/usr), then you
20must install as root using the sudo command. However, it is not
21recommended; see the notes section below for more details.
22
8b45f5fe 23The --enable-carbon-app specifies that the Carbon GUI application
eaccf860
YM
24should be installed into /Applications. If you want it to install in
25a different location, specify --enable-carbon-app=<mydir>
1a578e9b 26
e0f712ba
AC
27You can type `make bootstrap' instead of `make' to rebuild everything,
28including byte-compiling the Lisp files.
1a578e9b 29
77a4e329
ST
30If you are compiling on Mac OS X versions before 10.2 and have not
31installed the GNU texinfo package on your system, the build will
32complain that makeinfo cannot be found. Instructions for installing the
33GNU texinfo package are given below. Alternatively, you can type `make
34-k' instead of `make' and safely ignore the error messages and use the
35existing info files.
1a578e9b 36
8b45f5fe
YM
37After Emacs is installed, you can run a text-only terminal version by
38typing `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,
41some Carbon-specific functions such as `mac-set-file-creator' are
42still meaningful.
43
44To start Emacs as a GUI application from the terminal, the pathname to
45the executable in the bundle, i.e.,
f871a27b 46
c6ec69e7 47 /Applications/Emacs.app/Contents/MacOS/Emacs
f871a27b
AC
48
49must be typed to the shell to enable Emacs to locate its resources
8b45f5fe
YM
50correctly. You may want to create an alias to this path to quickly
51access both the terminal and GUI versions. You can specify some
52standard Emacs options when invoking Emacs in this way.
1a578e9b 53
8b45f5fe
YM
54Emacs on Mac OS X is not configured to use X11 unless either it is
55requested or the use of Carbon is disabled explicitly. So, if you are
56building Emacs to run on X Window System, you need to specify like:
9794a8cd 57
8ec7e33b 58 ./configure --with-x
9794a8cd 59
8b45f5fe
YM
60Note that the Carbon-specific functions mentioned above are not
61available on the X11-enabled build.
9794a8cd 62
eaccf860
YM
63To use colors in Terminal.app on Mac OS X 10.1, put the following
64lines in the file ~/.termcap and log in again.
1a578e9b 65
e0f712ba
AC
66-----
67# added ANSI color
68vt100|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:
80-----
81
177c0ea7 82To build the `info' files in versions prior to Mac OS X 10.2, you need
77a4e329 83to install the texinfo software.
e0f712ba
AC
84
85To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or
86a mirror. Un-tar it, enter its directory and type
87
88 ./configure
89 make
90 make install
91
177c0ea7 92The last step may need to be performed as root (sudo make install).
e0f712ba
AC
93
94You may also like to install ispell, which will allow you to use
95ispell and flyspell-mode. To install ispell from source, you first
96need to install GNU textutils.
97
98To do so, download textutils-2.0.tar.gz from ftp.gnu.org or a mirror.
99Un-tar it, enter its directory, type
100
101 ./configure --host=powerpc-apple-bsd
102 make
103 make install
177c0ea7 104
77a4e329 105Again, the last step may need to be performed as root. Note that if you
e0f712ba
AC
106run `make check', the test for `pr' will fail.
107
108Get and un-tar ispell-3.2.06.tar.gz. Look for it here:
109
110 http://fmg-www.cs.ucla.edu/geoff/ispell.html
111
112Go into its directory, type
1a578e9b 113
e0f712ba
AC
114 cp local.h.samp local.h
115
116Add a line `#define TERMLIB ""' to the end of local.h.
117
118Set the environment variable TMPDIR to an existing directory. For
119example since `/tmp' exists on my machine and I am using `bash', I
120typed
121
122 export TMPDIR=/tmp
123
124Run `make' and `make install', the latter as root.
125
b3d08fe6
ST
126* BUILDING BINARY DISTRIBUTIONS FOR MAC OS X
127
128If you are intending to build a binary distribution of Emacs, there is
129a script that will greatly simplify the process. It is called
130make-package and it is contained in this directory. It will generate
131a disc image containing a installer bundle. By default the installer
8b45f5fe 132will place the emacs common files in /usr/local/* and the Carbon
b3d08fe6
ST
133application in /Applications. Typical usage would be
134
135./make-package
136
137After running, an compressed disk image of the installer will be placed
138in a file called EmacsInstaller.dmg. This file can be then distributed
139to whomever would like a binary distribution. Here are the common
140options to user
141
177c0ea7 142--with-x - Use the X11 GUI instead of the Carbon GUI.
b3d08fe6
ST
143--prefix=DIR - Place the common emacs files in the given DIR. The
144 default is /usr/local. See note below if placing
145 in /usr
b3d08fe6
ST
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.
177c0ea7 149--app-symlink - Use a symlink inside the Application to the
b3d08fe6
ST
150 $prefix/bin/emacs to reduce disk space. Note, this
151 option may removed in the future.
152
b3d08fe6
ST
153
154For usage of other options, use the --help option.
e0f712ba 155
edf58b80
YM
156Note: due to the problem "Installing to a directory with non-ASCII
157characters in the name fails" mentioned in etc/PROBLEMS, you may not
158move a self-contained Emacs.app application bundle to a non-ASCII
159directory.
160
1a578e9b
AC
161* NOTES
162
c0bc7978 163Emacs should build and run on a PowerMac running Mac OS X 10.1 - 10.5.
1a578e9b
AC
164
165You will need around 100 MB of disk space for the source files and
166intermediate files.
167
b3d08fe6 168On Mac OS X, installing the emacs files in /usr can cause issues with
0a1bb123 169system software updates possibly overwriting the distribution. If this
b3d08fe6
ST
170is a concern, as it should be in normal binary distributions, please
171use /usr/local as the prefix for installation.
1a578e9b 172
47600d8e
ST
173Emacs supports both PowerPC and Intel-based Macintoshes. However,
174due to the unexec process that Emacs uses to dump core, it is not
175possible at this time to generate a universal binary that supports both
176architectures. In addition, Rosetta doesn't appear to work correctly
177with PowerPC builds of Emacs; you will have to recompile for Intel.
178Therefore, builds of Emacs are architecture specific.
1a578e9b 179
47600d8e 180Enjoy!
7f6d64f8
GM
181
182\f
183This file is part of GNU Emacs.
184
3187ea63 185GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 186it under the terms of the GNU General Public License as published by
3187ea63
GM
187the Free Software Foundation, either version 3 of the License, or
188(at your option) any later version.
7f6d64f8
GM
189
190GNU Emacs is distributed in the hope that it will be useful,
191but WITHOUT ANY WARRANTY; without even the implied warranty of
192MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
193GNU General Public License for more details.
194
195You should have received a copy of the GNU General Public License
3187ea63 196along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.