Switch license to GPLv3 or later.
[bpt/emacs.git] / mac / INSTALL
CommitLineData
0a1bb123 1* BUILDING EMACS ON MAC OS Classic AND MAC OS X -*- outline -*-
1a578e9b 2
ceb4c4d3 3Copyright (C) 2001, 2002, 2003, 2004, 2005,
4e6835db 4 2006, 2007 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
0a1bb123 161* BUILDING EMACS ON MAC OS Classic
e0f712ba 162
9b2232dd 163You can use MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be
00d110be 164downloaded free of charge from Apple.
e0f712ba 165
0772ffb2 166### IMPORTANT ### You can use StuffIt Expander to decompress and untar
e0f712ba 167the distribution. However, you *must* set the radio button in the
fa0b4c14
AC
168Preferences->Cross Platform->Convert text files to Macintosh format to
169"Never". Otherwise the compiled Lisp files will be corrupted.
170
00d110be 171(Optional) A subset of the fonts from the GNU intlfonts-1.2
e0f712ba
AC
172distribution converted to NFNT format can be obtained from
173
00d110be 174 http://members.shaw.ca/akochoi-emacs/stories/Resources/GNU-Fonts.smi.bin
1a578e9b
AC
175
176To build Emacs in the MPW Shell, simply set the directory to
177...:emacs:mac: and build the target Emacs of the make file
0a1bb123 178makefile.MPW. I.e., execute the commands
1a578e9b
AC
179
180 make Emacs -f makefile.MPW > Emacs.MakeScript
181 Emacs.MakeScript
182
9b2232dd
KS
183The above commands create an executable that uses the Carbon API.
184The non-Carbon version can also be created by replacing all the
c2b735aa
YM
185occurrences of `Emacs' above with `NonCarbon'. Not that the
186non-Carbon version does not support some features such as file
0a1bb123 187dialogs, drag-and-drop, and Unicode menus.
c2b735aa 188
00d110be
YM
189Once built, the Emacs application (Emacs MPW) can be launched where it
190is created.
1a578e9b 191
1a578e9b
AC
192* NOTES
193
0a1bb123
YM
194Emacs should build and run on a PowerMac running Mac OS 8.6 - 9.2 (but
195only tested on 9.2.2), and Mac OS X 10.1 - 10.4.
1a578e9b
AC
196
197You will need around 100 MB of disk space for the source files and
198intermediate files.
199
0a1bb123
YM
200Under Mac OS Classic, there is no support for building the LEIM
201directory. However, it can be built on Mac OS X or another platform
202and transferred to the Mac.
1a578e9b 203
b3d08fe6 204On Mac OS X, installing the emacs files in /usr can cause issues with
0a1bb123 205system software updates possibly overwriting the distribution. If this
b3d08fe6
ST
206is a concern, as it should be in normal binary distributions, please
207use /usr/local as the prefix for installation.
1a578e9b 208
47600d8e
ST
209Emacs supports both PowerPC and Intel-based Macintoshes. However,
210due to the unexec process that Emacs uses to dump core, it is not
211possible at this time to generate a universal binary that supports both
212architectures. In addition, Rosetta doesn't appear to work correctly
213with PowerPC builds of Emacs; you will have to recompile for Intel.
214Therefore, builds of Emacs are architecture specific.
1a578e9b 215
47600d8e 216Enjoy!
7f6d64f8
GM
217
218\f
219This file is part of GNU Emacs.
220
221GNU Emacs is free software; you can redistribute it and/or modify
222it under the terms of the GNU General Public License as published by
4a9f99bd 223the Free Software Foundation; either version 3, or (at your option)
7f6d64f8
GM
224any later version.
225
226GNU Emacs is distributed in the hope that it will be useful,
227but WITHOUT ANY WARRANTY; without even the implied warranty of
228MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
229GNU General Public License for more details.
230
231You should have received a copy of the GNU General Public License
232along with GNU Emacs; see the file COPYING. If not, write to the
233Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
234Boston, MA 02110-1301, USA.