Commit | Line | Data |
---|---|---|
e0f712ba | 1 | * BUILDING EMACS ON MAC OS 8/9 AND MAC OS X -*- outline -*- |
1a578e9b | 2 | |
e0f712ba | 3 | Copyright (c) 2001, 2002 Free Software Foundation, Inc. |
b6955da2 AC |
4 | |
5 | Permission is granted to anyone to make or distribute verbatim | |
6 | copies of this document as received, in any medium, provided that | |
7 | the copyright notice and permission notice are preserved, and that | |
8 | the distributor grants the recipient permission for further | |
9 | redistribution as permitted by this notice. | |
10 | ||
11 | Permission is granted to distribute modified versions of this | |
12 | document, or of portions of it, under the above conditions, | |
13 | provided also that they carry prominent notices stating who last | |
14 | changed them. | |
15 | ||
e0f712ba | 16 | * BUILDING EMACS ON MAC OS X |
1a578e9b | 17 | |
e0f712ba AC |
18 | You should be able to build Emacs on Mac OS X by typing the following |
19 | commands at the top-level directory after the source distribution is | |
20 | un-tarred. | |
1a578e9b | 21 | |
77a4e329 | 22 | ./configure --enable-carbon-app |
e0f712ba AC |
23 | make |
24 | make install | |
1a578e9b | 25 | |
77a4e329 ST |
26 | The last step may fail if you do not have permissions to install. If |
27 | you try to install into /usr (with ./configure --prefix=/usr), then you | |
28 | must install as root using the sudo command. However, it is not | |
29 | recommended; see the notes section below for more details. | |
30 | ||
31 | The --enable-carbon-app specifies that the carbon GUI application | |
32 | should be installed into /Application. If you want it to install in a | |
33 | different location, specify --enable-carbon-app=<mydir> | |
1a578e9b | 34 | |
a4581dd3 AC |
35 | If you have X Window installed on your Mac and you are building Emacs |
36 | to run under Carbon and not X Window, you need to type `./configure | |
37 | --without-x' instead of `./configure'. | |
38 | ||
e0f712ba AC |
39 | You can type `make bootstrap' instead of `make' to rebuild everything, |
40 | including byte-compiling the Lisp files. | |
1a578e9b | 41 | |
77a4e329 ST |
42 | If you are compiling on Mac OS X versions before 10.2 and have not |
43 | installed the GNU texinfo package on your system, the build will | |
44 | complain that makeinfo cannot be found. Instructions for installing the | |
45 | GNU texinfo package are given below. Alternatively, you can type `make | |
46 | -k' instead of `make' and safely ignore the error messages and use the | |
47 | existing info files. | |
1a578e9b | 48 | |
e0f712ba AC |
49 | After Emacs is installed, you can run it by typing `emacs -nw' from a |
50 | terminal (make sure your path contains /usr/local/bin) or by | |
77a4e329 ST |
51 | double-clicking on /Applications/Emacs.app in the Finder. To start |
52 | Emacs as a GUI application from the terminal, the pathname to the | |
53 | executable in the bundle, i.e., | |
f871a27b | 54 | |
77a4e329 | 55 | /Application/Emacs.app/Contents/MacOS/Emacs |
f871a27b AC |
56 | |
57 | must be typed to the shell to enable Emacs to locate its resources | |
77a4e329 ST |
58 | correctly. You may want to create a symlink or alias to this path to |
59 | quickly access both the terminal and GUI versions. | |
1a578e9b | 60 | |
9794a8cd AC |
61 | If you are building Emacs to run on Mac OS X and X Window, you need to |
62 | create a directory containing statically-linked X libraries. | |
63 | ||
64 | sudo mkdir /usr/X11R6/libstatic | |
65 | cd /usr/X11R6/libstatic | |
66 | sudo ln -s ../lib/lib*.a ../lib/X11 . | |
67 | ||
68 | Instead of typing `./configure' above, type | |
69 | ||
70 | ./configure --without-carbon --with-x --x-libraries=/usr/X11R6/libstatic | |
71 | ||
e0f712ba AC |
72 | To use colors in a terminal, put the following lines in the file |
73 | ~/.termcap and log in again. | |
1a578e9b | 74 | |
e0f712ba AC |
75 | ----- |
76 | # added ANSI color | |
77 | vt100|vt100-am|vt100am|dec vt100:\ | |
78 | :pa#64:Co#8:Sf=\E[3%dm:Sb=\E[4%dm:op=\E[m:AF=\E[3%dm:AB=\E[4%dm:\ | |
79 | :do=^J:co#80:li#24:cl=\E[;H\E[2J:sf=2*\ED:\ | |
80 | :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\ | |
81 | :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ | |
82 | :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\ | |
83 | :rf=/usr/share/tabset/vt100:\ | |
84 | :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[;r\E[0m\E(B\E)B\E[2J:\ | |
85 | :ks=\E[?1h\E=:ke=\E[?1l\E>:\ | |
86 | :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ | |
87 | :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ | |
88 | :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: | |
89 | ----- | |
90 | ||
177c0ea7 | 91 | To build the `info' files in versions prior to Mac OS X 10.2, you need |
77a4e329 | 92 | to install the texinfo software. |
e0f712ba AC |
93 | |
94 | To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or | |
95 | a mirror. Un-tar it, enter its directory and type | |
96 | ||
97 | ./configure | |
98 | make | |
99 | make install | |
100 | ||
177c0ea7 | 101 | The last step may need to be performed as root (sudo make install). |
e0f712ba AC |
102 | |
103 | You may also like to install ispell, which will allow you to use | |
104 | ispell and flyspell-mode. To install ispell from source, you first | |
105 | need to install GNU textutils. | |
106 | ||
107 | To do so, download textutils-2.0.tar.gz from ftp.gnu.org or a mirror. | |
108 | Un-tar it, enter its directory, type | |
109 | ||
110 | ./configure --host=powerpc-apple-bsd | |
111 | make | |
112 | make install | |
177c0ea7 | 113 | |
77a4e329 | 114 | Again, the last step may need to be performed as root. Note that if you |
e0f712ba AC |
115 | run `make check', the test for `pr' will fail. |
116 | ||
117 | Get and un-tar ispell-3.2.06.tar.gz. Look for it here: | |
118 | ||
119 | http://fmg-www.cs.ucla.edu/geoff/ispell.html | |
120 | ||
121 | Go into its directory, type | |
1a578e9b | 122 | |
e0f712ba AC |
123 | cp local.h.samp local.h |
124 | ||
125 | Add a line `#define TERMLIB ""' to the end of local.h. | |
126 | ||
127 | Set the environment variable TMPDIR to an existing directory. For | |
128 | example since `/tmp' exists on my machine and I am using `bash', I | |
129 | typed | |
130 | ||
131 | export TMPDIR=/tmp | |
132 | ||
133 | Run `make' and `make install', the latter as root. | |
134 | ||
b3d08fe6 ST |
135 | * BUILDING BINARY DISTRIBUTIONS FOR MAC OS X |
136 | ||
137 | If you are intending to build a binary distribution of Emacs, there is | |
138 | a script that will greatly simplify the process. It is called | |
139 | make-package and it is contained in this directory. It will generate | |
140 | a disc image containing a installer bundle. By default the installer | |
141 | will place the emacs common files in /usr/local/* and the carbon | |
142 | application in /Applications. Typical usage would be | |
143 | ||
144 | ./make-package | |
145 | ||
146 | After running, an compressed disk image of the installer will be placed | |
147 | in a file called EmacsInstaller.dmg. This file can be then distributed | |
148 | to whomever would like a binary distribution. Here are the common | |
149 | options to user | |
150 | ||
177c0ea7 | 151 | --with-x - Use the X11 GUI instead of the Carbon GUI. |
b3d08fe6 ST |
152 | --prefix=DIR - Place the common emacs files in the given DIR. The |
153 | default is /usr/local. See note below if placing | |
154 | in /usr | |
b3d08fe6 ST |
155 | --self-contained - Place the common emacs files inside the Emacs.app |
156 | itself. This makes the application trivial to | |
157 | uninstall and copy between computers. | |
177c0ea7 | 158 | --app-symlink - Use a symlink inside the Application to the |
b3d08fe6 ST |
159 | $prefix/bin/emacs to reduce disk space. Note, this |
160 | option may removed in the future. | |
161 | ||
162 | If you are intending to build a binary distribution for X windows, you | |
163 | will probably want to follow the directions above to create static | |
164 | X11R6 libraries and run the make-package script like this | |
165 | ||
166 | ./make-package --with-x -C,--x-libraries=/usr/X11R6/libstatic | |
167 | ||
168 | For usage of other options, use the --help option. | |
e0f712ba AC |
169 | |
170 | * BUILDING EMACS ON MAC OS 8/9 | |
171 | ||
172 | You can use either Metrowerks CodeWarrior Pro 6 or MPW-GM (Aug. 2001) | |
173 | to build Emacs. MPW-GM can be downloaded free of charge from Apple. | |
174 | ||
175 | In either case, you will need MPW-GM to build the make-docfile utility | |
176 | and to generate the doc string file DOC. | |
177 | ||
178 | ### IMPORTANT ### You can use StuffIf Expander to decompress and untar | |
179 | the distribution. However, you *must* set the radio button in the | |
fa0b4c14 AC |
180 | Preferences->Cross Platform->Convert text files to Macintosh format to |
181 | "Never". Otherwise the compiled Lisp files will be corrupted. | |
182 | ||
e0f712ba AC |
183 | (Optional) A subset of the fonts from the GNU intlfonts-1.2 |
184 | distribution converted to NFNT format can be obtained from | |
185 | ||
186 | ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin | |
1a578e9b AC |
187 | |
188 | To build Emacs in the MPW Shell, simply set the directory to | |
189 | ...:emacs:mac: and build the target Emacs of the make file | |
190 | makefile.mpw. I.e., execute the commands | |
191 | ||
192 | make Emacs -f makefile.MPW > Emacs.MakeScript | |
193 | Emacs.MakeScript | |
194 | ||
195 | To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose | |
e0f712ba | 196 | File->Import Project... and select the file cw6-mcp.xml. When |
2d7d0390 | 197 | prompted to save the project, navigate to same directory as the file |
e0f712ba AC |
198 | cw6-mcp.xml, name the project emacs-cw6.mcp, and save it there. Then |
199 | choose Project->Make. Note that this does not build the DOC file. To | |
200 | do so, use MPW and build the target "Doc" in makefile.MPW. | |
1a578e9b AC |
201 | |
202 | Once built, the Emacs application (Emacs CW or Emacs MPW) can be | |
203 | launched where it is created. | |
204 | ||
205 | To build an optimized version of Emacs in CodeWarrior, change the | |
206 | value in the Emacs Settings->Code Generation->Global Optimization | |
207 | dialog. To build a version for profiling, check the Profiler | |
208 | Information box in the Emacs Settings->Code Generation->PPC Processor | |
209 | dialog and include the Profiler PPC.Lib library. | |
210 | ||
1a578e9b AC |
211 | * NOTES |
212 | ||
b3d08fe6 | 213 | Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.2. |
1a578e9b AC |
214 | |
215 | You will need around 100 MB of disk space for the source files and | |
216 | intermediate files. | |
217 | ||
e0f712ba AC |
218 | It will not run on machines running Mac OS 8/9 with more than 256 MB |
219 | of physical or virtual memory. It does not have this restriction when | |
220 | it is run under Mac OS X. But the usual 128MB buffer limit of a | |
221 | 32-bit Emacs still exists. | |
1a578e9b | 222 | |
e0f712ba AC |
223 | Under Mac OS 8/9, there is no support for building the LEIM directory. |
224 | However, it can be built on Mac OS X or another platform and | |
225 | transferred to the Mac. | |
1a578e9b | 226 | |
e0f712ba AC |
227 | On Mac OS 8/9, to use the same icon as when Emacs is built on Windows |
228 | NT, define GNU_ICON in mac/src/Emacs.r. Currently Emacs uses a | |
229 | generic application icon on the Mac OS X. A better looking one is | |
230 | coming soon. | |
1a578e9b | 231 | |
b3d08fe6 ST |
232 | On Mac OS X, installing the emacs files in /usr can cause issues with |
233 | system sofware updates possibly overwriting the distribution. If this | |
234 | is a concern, as it should be in normal binary distributions, please | |
235 | use /usr/local as the prefix for installation. | |
1a578e9b | 236 | |
e0f712ba | 237 | Enjoy! |
1a578e9b | 238 | |
e0f712ba AC |
239 | Andrew. |
240 | <akochoi@mac.com> |