Commit | Line | Data |
---|---|---|
0a1bb123 | 1 | * BUILDING EMACS ON MAC OS Classic AND MAC OS X -*- outline -*- |
1a578e9b | 2 | |
ceb4c4d3 | 3 | Copyright (C) 2001, 2002, 2003, 2004, 2005, |
4e6835db | 4 | 2006, 2007 Free Software Foundation, Inc. |
b6955da2 AC |
5 | |
6 | Permission is granted to anyone to make or distribute verbatim | |
7 | copies of this document as received, in any medium, provided that | |
8 | the copyright notice and permission notice are preserved, and that | |
9 | the distributor grants the recipient permission for further | |
10 | redistribution as permitted by this notice. | |
11 | ||
12 | Permission is granted to distribute modified versions of this | |
13 | document, or of portions of it, under the above conditions, | |
14 | provided also that they carry prominent notices stating who last | |
15 | changed them. | |
16 | ||
e0f712ba | 17 | * BUILDING EMACS ON MAC OS X |
1a578e9b | 18 | |
e0f712ba AC |
19 | You should be able to build Emacs on Mac OS X by typing the following |
20 | commands at the top-level directory after the source distribution is | |
21 | un-tarred. | |
1a578e9b | 22 | |
77a4e329 | 23 | ./configure --enable-carbon-app |
e0f712ba AC |
24 | make |
25 | make install | |
1a578e9b | 26 | |
77a4e329 ST |
27 | The last step may fail if you do not have permissions to install. If |
28 | you try to install into /usr (with ./configure --prefix=/usr), then you | |
29 | must install as root using the sudo command. However, it is not | |
30 | recommended; see the notes section below for more details. | |
31 | ||
8b45f5fe | 32 | The --enable-carbon-app specifies that the Carbon GUI application |
77a4e329 ST |
33 | should be installed into /Application. If you want it to install in a |
34 | different location, specify --enable-carbon-app=<mydir> | |
1a578e9b | 35 | |
e0f712ba AC |
36 | You can type `make bootstrap' instead of `make' to rebuild everything, |
37 | including byte-compiling the Lisp files. | |
1a578e9b | 38 | |
77a4e329 ST |
39 | If you are compiling on Mac OS X versions before 10.2 and have not |
40 | installed the GNU texinfo package on your system, the build will | |
41 | complain that makeinfo cannot be found. Instructions for installing the | |
42 | GNU texinfo package are given below. Alternatively, you can type `make | |
43 | -k' instead of `make' and safely ignore the error messages and use the | |
44 | existing info files. | |
1a578e9b | 45 | |
8b45f5fe YM |
46 | After Emacs is installed, you can run a text-only terminal version by |
47 | typing `emacs' from a terminal (make sure your path contains | |
48 | /usr/local/bin) or a GUI application by double-clicking on | |
49 | /Applications/Emacs.app in the Finder. Even in the terminal version, | |
50 | some Carbon-specific functions such as `mac-set-file-creator' are | |
51 | still meaningful. | |
52 | ||
53 | To start Emacs as a GUI application from the terminal, the pathname to | |
54 | the executable in the bundle, i.e., | |
f871a27b | 55 | |
77a4e329 | 56 | /Application/Emacs.app/Contents/MacOS/Emacs |
f871a27b AC |
57 | |
58 | must be typed to the shell to enable Emacs to locate its resources | |
8b45f5fe YM |
59 | correctly. You may want to create an alias to this path to quickly |
60 | access both the terminal and GUI versions. You can specify some | |
61 | standard Emacs options when invoking Emacs in this way. | |
1a578e9b | 62 | |
8b45f5fe YM |
63 | Emacs on Mac OS X is not configured to use X11 unless either it is |
64 | requested or the use of Carbon is disabled explicitly. So, if you are | |
65 | building Emacs to run on X Window System, you need to specify like: | |
9794a8cd | 66 | |
8ec7e33b | 67 | ./configure --with-x |
9794a8cd | 68 | |
8b45f5fe YM |
69 | Note that the Carbon-specific functions mentioned above are not |
70 | available on the X11-enabled build. | |
9794a8cd | 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 | |
8b45f5fe | 141 | will place the emacs common files in /usr/local/* and the Carbon |
b3d08fe6 ST |
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 | ||
b3d08fe6 ST |
162 | |
163 | For usage of other options, use the --help option. | |
e0f712ba | 164 | |
0a1bb123 | 165 | * BUILDING EMACS ON MAC OS Classic |
e0f712ba | 166 | |
9b2232dd | 167 | You can use MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be |
00d110be | 168 | downloaded free of charge from Apple. |
e0f712ba | 169 | |
0772ffb2 | 170 | ### IMPORTANT ### You can use StuffIt Expander to decompress and untar |
e0f712ba | 171 | the distribution. However, you *must* set the radio button in the |
fa0b4c14 AC |
172 | Preferences->Cross Platform->Convert text files to Macintosh format to |
173 | "Never". Otherwise the compiled Lisp files will be corrupted. | |
174 | ||
00d110be | 175 | (Optional) A subset of the fonts from the GNU intlfonts-1.2 |
e0f712ba AC |
176 | distribution converted to NFNT format can be obtained from |
177 | ||
00d110be | 178 | http://members.shaw.ca/akochoi-emacs/stories/Resources/GNU-Fonts.smi.bin |
1a578e9b AC |
179 | |
180 | To build Emacs in the MPW Shell, simply set the directory to | |
181 | ...:emacs:mac: and build the target Emacs of the make file | |
0a1bb123 | 182 | makefile.MPW. I.e., execute the commands |
1a578e9b AC |
183 | |
184 | make Emacs -f makefile.MPW > Emacs.MakeScript | |
185 | Emacs.MakeScript | |
186 | ||
9b2232dd KS |
187 | The above commands create an executable that uses the Carbon API. |
188 | The non-Carbon version can also be created by replacing all the | |
c2b735aa YM |
189 | occurrences of `Emacs' above with `NonCarbon'. Not that the |
190 | non-Carbon version does not support some features such as file | |
0a1bb123 | 191 | dialogs, drag-and-drop, and Unicode menus. |
c2b735aa | 192 | |
00d110be YM |
193 | Once built, the Emacs application (Emacs MPW) can be launched where it |
194 | is created. | |
1a578e9b | 195 | |
1a578e9b AC |
196 | * NOTES |
197 | ||
0a1bb123 YM |
198 | Emacs should build and run on a PowerMac running Mac OS 8.6 - 9.2 (but |
199 | only tested on 9.2.2), and Mac OS X 10.1 - 10.4. | |
1a578e9b AC |
200 | |
201 | You will need around 100 MB of disk space for the source files and | |
202 | intermediate files. | |
203 | ||
0a1bb123 YM |
204 | Under Mac OS Classic, there is no support for building the LEIM |
205 | directory. However, it can be built on Mac OS X or another platform | |
206 | and transferred to the Mac. | |
1a578e9b | 207 | |
b3d08fe6 | 208 | On Mac OS X, installing the emacs files in /usr can cause issues with |
0a1bb123 | 209 | system software updates possibly overwriting the distribution. If this |
b3d08fe6 ST |
210 | is a concern, as it should be in normal binary distributions, please |
211 | use /usr/local as the prefix for installation. | |
1a578e9b | 212 | |
47600d8e ST |
213 | Emacs supports both PowerPC and Intel-based Macintoshes. However, |
214 | due to the unexec process that Emacs uses to dump core, it is not | |
215 | possible at this time to generate a universal binary that supports both | |
216 | architectures. In addition, Rosetta doesn't appear to work correctly | |
217 | with PowerPC builds of Emacs; you will have to recompile for Intel. | |
218 | Therefore, builds of Emacs are architecture specific. | |
1a578e9b | 219 | |
47600d8e | 220 | Enjoy! |