mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-30 08:09:04 +00:00
241 lines
9.2 KiB
Plaintext
241 lines
9.2 KiB
Plaintext
* BUILDING EMACS ON MAC OS 8/9 AND MAC OS X -*- outline -*-
|
|
|
|
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
|
|
Permission is granted to anyone to make or distribute verbatim
|
|
copies of this document as received, in any medium, provided that
|
|
the copyright notice and permission notice are preserved, and that
|
|
the distributor grants the recipient permission for further
|
|
redistribution as permitted by this notice.
|
|
|
|
Permission is granted to distribute modified versions of this
|
|
document, or of portions of it, under the above conditions,
|
|
provided also that they carry prominent notices stating who last
|
|
changed them.
|
|
|
|
* BUILDING EMACS ON MAC OS X
|
|
|
|
You should be able to build Emacs on Mac OS X by typing the following
|
|
commands at the top-level directory after the source distribution is
|
|
un-tarred.
|
|
|
|
./configure --enable-carbon-app
|
|
make
|
|
make install
|
|
|
|
The last step may fail if you do not have permissions to install. If
|
|
you try to install into /usr (with ./configure --prefix=/usr), then you
|
|
must install as root using the sudo command. However, it is not
|
|
recommended; see the notes section below for more details.
|
|
|
|
The --enable-carbon-app specifies that the carbon GUI application
|
|
should be installed into /Application. If you want it to install in a
|
|
different location, specify --enable-carbon-app=<mydir>
|
|
|
|
If you have X Window installed on your Mac and you are building Emacs
|
|
to run under Carbon and not X Window, you need to type `./configure
|
|
--without-x' instead of `./configure'.
|
|
|
|
You can type `make bootstrap' instead of `make' to rebuild everything,
|
|
including byte-compiling the Lisp files.
|
|
|
|
If you are compiling on Mac OS X versions before 10.2 and have not
|
|
installed the GNU texinfo package on your system, the build will
|
|
complain that makeinfo cannot be found. Instructions for installing the
|
|
GNU texinfo package are given below. Alternatively, you can type `make
|
|
-k' instead of `make' and safely ignore the error messages and use the
|
|
existing info files.
|
|
|
|
After Emacs is installed, you can run it by typing `emacs -nw' from a
|
|
terminal (make sure your path contains /usr/local/bin) or by
|
|
double-clicking on /Applications/Emacs.app in the Finder. To start
|
|
Emacs as a GUI application from the terminal, the pathname to the
|
|
executable in the bundle, i.e.,
|
|
|
|
/Application/Emacs.app/Contents/MacOS/Emacs
|
|
|
|
must be typed to the shell to enable Emacs to locate its resources
|
|
correctly. You may want to create a symlink or alias to this path to
|
|
quickly access both the terminal and GUI versions.
|
|
|
|
If you are building Emacs to run on Mac OS X and X Window,
|
|
instead of typing `./configure' above, type
|
|
|
|
./configure --without-carbon --with-x
|
|
|
|
|
|
To use colors in a terminal, put the following lines in the file
|
|
~/.termcap and log in again.
|
|
|
|
-----
|
|
# added ANSI color
|
|
vt100|vt100-am|vt100am|dec vt100:\
|
|
:pa#64:Co#8:Sf=\E[3%dm:Sb=\E[4%dm:op=\E[m:AF=\E[3%dm:AB=\E[4%dm:\
|
|
:do=^J:co#80:li#24:cl=\E[;H\E[2J:sf=2*\ED:\
|
|
:le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
|
|
:ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
|
|
:md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\
|
|
:rf=/usr/share/tabset/vt100:\
|
|
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[;r\E[0m\E(B\E)B\E[2J:\
|
|
:ks=\E[?1h\E=:ke=\E[?1l\E>:\
|
|
:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
|
|
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\
|
|
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
|
|
-----
|
|
|
|
To build the `info' files in versions prior to Mac OS X 10.2, you need
|
|
to install the texinfo software.
|
|
|
|
To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or
|
|
a mirror. Un-tar it, enter its directory and type
|
|
|
|
./configure
|
|
make
|
|
make install
|
|
|
|
The last step may need to be performed as root (sudo make install).
|
|
|
|
You may also like to install ispell, which will allow you to use
|
|
ispell and flyspell-mode. To install ispell from source, you first
|
|
need to install GNU textutils.
|
|
|
|
To do so, download textutils-2.0.tar.gz from ftp.gnu.org or a mirror.
|
|
Un-tar it, enter its directory, type
|
|
|
|
./configure --host=powerpc-apple-bsd
|
|
make
|
|
make install
|
|
|
|
Again, the last step may need to be performed as root. Note that if you
|
|
run `make check', the test for `pr' will fail.
|
|
|
|
Get and un-tar ispell-3.2.06.tar.gz. Look for it here:
|
|
|
|
http://fmg-www.cs.ucla.edu/geoff/ispell.html
|
|
|
|
Go into its directory, type
|
|
|
|
cp local.h.samp local.h
|
|
|
|
Add a line `#define TERMLIB ""' to the end of local.h.
|
|
|
|
Set the environment variable TMPDIR to an existing directory. For
|
|
example since `/tmp' exists on my machine and I am using `bash', I
|
|
typed
|
|
|
|
export TMPDIR=/tmp
|
|
|
|
Run `make' and `make install', the latter as root.
|
|
|
|
* BUILDING BINARY DISTRIBUTIONS FOR MAC OS X
|
|
|
|
If you are intending to build a binary distribution of Emacs, there is
|
|
a script that will greatly simplify the process. It is called
|
|
make-package and it is contained in this directory. It will generate
|
|
a disc image containing a installer bundle. By default the installer
|
|
will place the emacs common files in /usr/local/* and the carbon
|
|
application in /Applications. Typical usage would be
|
|
|
|
./make-package
|
|
|
|
After running, an compressed disk image of the installer will be placed
|
|
in a file called EmacsInstaller.dmg. This file can be then distributed
|
|
to whomever would like a binary distribution. Here are the common
|
|
options to user
|
|
|
|
--with-x - Use the X11 GUI instead of the Carbon GUI.
|
|
--prefix=DIR - Place the common emacs files in the given DIR. The
|
|
default is /usr/local. See note below if placing
|
|
in /usr
|
|
--self-contained - Place the common emacs files inside the Emacs.app
|
|
itself. This makes the application trivial to
|
|
uninstall and copy between computers.
|
|
--app-symlink - Use a symlink inside the Application to the
|
|
$prefix/bin/emacs to reduce disk space. Note, this
|
|
option may removed in the future.
|
|
|
|
|
|
For usage of other options, use the --help option.
|
|
|
|
* BUILDING EMACS ON MAC OS 8/9
|
|
|
|
You can use either Metrowerks CodeWarrior Pro 6 or MPW-GM (Aug. 2001)
|
|
to build Emacs. MPW-GM can be downloaded free of charge from Apple.
|
|
|
|
In either case, you will need MPW-GM to build the make-docfile utility
|
|
and to generate the doc string file DOC.
|
|
|
|
### IMPORTANT ### You can use StuffIt Expander to decompress and untar
|
|
the distribution. However, you *must* set the radio button in the
|
|
Preferences->Cross Platform->Convert text files to Macintosh format to
|
|
"Never". Otherwise the compiled Lisp files will be corrupted.
|
|
|
|
(Optional) A subset of the fonts from the GNU intlfonts-1.2
|
|
distribution converted to NFNT format can be obtained from
|
|
|
|
ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin
|
|
|
|
To build Emacs in the MPW Shell, simply set the directory to
|
|
...:emacs:mac: and build the target Emacs of the make file
|
|
makefile.mpw. I.e., execute the commands
|
|
|
|
make Emacs -f makefile.MPW > Emacs.MakeScript
|
|
Emacs.MakeScript
|
|
|
|
The above commands create an executable that uses the Carbon API. The
|
|
non-Carbon version can also be created by replacing all the
|
|
occurrences of `Emacs' above with `NonCarbon'. Not that the
|
|
non-Carbon version does not support some features such as file
|
|
dialogs, drag-and-drop, and unicode menus.
|
|
|
|
To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose
|
|
File->Import Project... and select the file cw6-mcp.xml. When
|
|
prompted to save the project, navigate to same directory as the file
|
|
cw6-mcp.xml, name the project emacs-cw6.mcp, and save it there. Then
|
|
choose Project->Make. Note that this does not build the DOC file. To
|
|
do so, use MPW and build the target "Doc" in makefile.MPW.
|
|
|
|
Once built, the Emacs application (Emacs CW or Emacs MPW) can be
|
|
launched where it is created.
|
|
|
|
To build an optimized version of Emacs in CodeWarrior, change the
|
|
value in the Emacs Settings->Code Generation->Global Optimization
|
|
dialog. To build a version for profiling, check the Profiler
|
|
Information box in the Emacs Settings->Code Generation->PPC Processor
|
|
dialog and include the Profiler PPC.Lib library.
|
|
|
|
* NOTES
|
|
|
|
Emacs should build and run on a PowerMac running Mac OS 8.6 - 10.4.
|
|
|
|
You will need around 100 MB of disk space for the source files and
|
|
intermediate files.
|
|
|
|
It will not run on machines running Mac OS 8/9 with more than 512 MB
|
|
of physical or virtual memory. It does not have this restriction when
|
|
it is run under Mac OS X. But the usual 128MB buffer limit of a
|
|
32-bit Emacs still exists.
|
|
|
|
Under Mac OS 8/9, there is no support for building the LEIM directory.
|
|
However, it can be built on Mac OS X or another platform and
|
|
transferred to the Mac.
|
|
|
|
On Mac OS 8/9, to use the same icon as when Emacs is built on Windows
|
|
NT, define GNU_ICON in mac/src/Emacs.r. Currently Emacs uses a
|
|
generic application icon on the Mac OS X. A better looking one is
|
|
coming soon.
|
|
|
|
On Mac OS X, installing the emacs files in /usr can cause issues with
|
|
system sofware updates possibly overwriting the distribution. If this
|
|
is a concern, as it should be in normal binary distributions, please
|
|
use /usr/local as the prefix for installation.
|
|
|
|
Emacs supports both PowerPC and Intel-based Macintoshes. However,
|
|
due to the unexec process that Emacs uses to dump core, it is not
|
|
possible at this time to generate a universal binary that supports both
|
|
architectures. In addition, Rosetta doesn't appear to work correctly
|
|
with PowerPC builds of Emacs; you will have to recompile for Intel.
|
|
Therefore, builds of Emacs are architecture specific.
|
|
|
|
Enjoy!
|