Commit | Line | Data |
---|---|---|
c0bc7978 | 1 | * BUILDING EMACS ON MAC OS X -*- outline -*- |
1a578e9b | 2 | |
ceb4c4d3 | 3 | Copyright (C) 2001, 2002, 2003, 2004, 2005, |
b9b14d13 | 4 | 2006, 2007, 2008 Free Software Foundation, Inc. |
7f6d64f8 | 5 | See the end of the file for license conditions. |
b6955da2 | 6 | |
b6955da2 | 7 | |
e0f712ba | 8 | * BUILDING EMACS ON MAC OS X |
1a578e9b | 9 | |
e0f712ba AC |
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 | |
12 | un-tarred. | |
1a578e9b | 13 | |
77a4e329 | 14 | ./configure --enable-carbon-app |
e0f712ba AC |
15 | make |
16 | make install | |
1a578e9b | 17 | |
77a4e329 ST |
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. | |
22 | ||
8b45f5fe | 23 | The --enable-carbon-app specifies that the Carbon GUI application |
eaccf860 YM |
24 | should be installed into /Applications. If you want it to install in |
25 | a different location, specify --enable-carbon-app=<mydir> | |
1a578e9b | 26 | |
e0f712ba AC |
27 | You can type `make bootstrap' instead of `make' to rebuild everything, |
28 | including byte-compiling the Lisp files. | |
1a578e9b | 29 | |
77a4e329 ST |
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 | |
35 | existing info files. | |
1a578e9b | 36 | |
8b45f5fe YM |
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 | |
42 | still meaningful. | |
43 | ||
44 | To start Emacs as a GUI application from the terminal, the pathname to | |
45 | the executable in the bundle, i.e., | |
f871a27b | 46 | |
c6ec69e7 | 47 | /Applications/Emacs.app/Contents/MacOS/Emacs |
f871a27b AC |
48 | |
49 | must be typed to the shell to enable Emacs to locate its resources | |
8b45f5fe YM |
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. | |
1a578e9b | 53 | |
8b45f5fe YM |
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: | |
9794a8cd | 57 | |
8ec7e33b | 58 | ./configure --with-x |
9794a8cd | 59 | |
8b45f5fe YM |
60 | Note that the Carbon-specific functions mentioned above are not |
61 | available on the X11-enabled build. | |
9794a8cd | 62 | |
eaccf860 YM |
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. | |
1a578e9b | 65 | |
e0f712ba AC |
66 | ----- |
67 | # added ANSI color | |
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: | |
80 | ----- | |
81 | ||
177c0ea7 | 82 | To build the `info' files in versions prior to Mac OS X 10.2, you need |
77a4e329 | 83 | to install the texinfo software. |
e0f712ba AC |
84 | |
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 | |
87 | ||
88 | ./configure | |
89 | make | |
90 | make install | |
91 | ||
177c0ea7 | 92 | The last step may need to be performed as root (sudo make install). |
e0f712ba AC |
93 | |
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. | |
97 | ||
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 | |
100 | ||
101 | ./configure --host=powerpc-apple-bsd | |
102 | make | |
103 | make install | |
177c0ea7 | 104 | |
77a4e329 | 105 | Again, the last step may need to be performed as root. Note that if you |
e0f712ba AC |
106 | run `make check', the test for `pr' will fail. |
107 | ||
108 | Get 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 | ||
112 | Go into its directory, type | |
1a578e9b | 113 | |
e0f712ba AC |
114 | cp local.h.samp local.h |
115 | ||
116 | Add a line `#define TERMLIB ""' to the end of local.h. | |
117 | ||
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 | |
120 | typed | |
121 | ||
122 | export TMPDIR=/tmp | |
123 | ||
124 | Run `make' and `make install', the latter as root. | |
125 | ||
b3d08fe6 ST |
126 | * BUILDING BINARY DISTRIBUTIONS FOR MAC OS X |
127 | ||
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 | |
8b45f5fe | 132 | will place the emacs common files in /usr/local/* and the Carbon |
b3d08fe6 ST |
133 | application in /Applications. Typical usage would be |
134 | ||
135 | ./make-package | |
136 | ||
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 | |
140 | options 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 | |
154 | For usage of other options, use the --help option. | |
e0f712ba | 155 | |
edf58b80 YM |
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 | |
159 | directory. | |
160 | ||
1a578e9b AC |
161 | * NOTES |
162 | ||
c0bc7978 | 163 | Emacs should build and run on a PowerMac running Mac OS X 10.1 - 10.5. |
1a578e9b AC |
164 | |
165 | You will need around 100 MB of disk space for the source files and | |
166 | intermediate files. | |
167 | ||
b3d08fe6 | 168 | On Mac OS X, installing the emacs files in /usr can cause issues with |
0a1bb123 | 169 | system software updates possibly overwriting the distribution. If this |
b3d08fe6 ST |
170 | is a concern, as it should be in normal binary distributions, please |
171 | use /usr/local as the prefix for installation. | |
1a578e9b | 172 | |
47600d8e ST |
173 | Emacs supports both PowerPC and Intel-based Macintoshes. However, |
174 | due to the unexec process that Emacs uses to dump core, it is not | |
175 | possible at this time to generate a universal binary that supports both | |
176 | architectures. In addition, Rosetta doesn't appear to work correctly | |
177 | with PowerPC builds of Emacs; you will have to recompile for Intel. | |
178 | Therefore, builds of Emacs are architecture specific. | |
1a578e9b | 179 | |
47600d8e | 180 | Enjoy! |
7f6d64f8 GM |
181 | |
182 | \f | |
183 | This file is part of GNU Emacs. | |
184 | ||
185 | GNU Emacs is free software; you can redistribute it and/or modify | |
186 | it under the terms of the GNU General Public License as published by | |
4a9f99bd | 187 | the Free Software Foundation; either version 3, or (at your option) |
7f6d64f8 GM |
188 | any later version. |
189 | ||
190 | GNU Emacs is distributed in the hope that it will be useful, | |
191 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
192 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
193 | GNU General Public License for more details. | |
194 | ||
195 | You should have received a copy of the GNU General Public License | |
196 | along with GNU Emacs; see the file COPYING. If not, write to the | |
197 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
198 | Boston, MA 02110-1301, USA. |