annotate mac/INSTALL @ 49015:c49640262de0

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