mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-26 10:49:33 +00:00
230 lines
8.5 KiB
Plaintext
230 lines
8.5 KiB
Plaintext
* BUILDING EMACS ON MAC OS Classic AND MAC OS X -*- outline -*-
|
||
|
||
Copyright (C) 2001, 2002, 2003, 2004, 2005,
|
||
2006, 2007 Free Software Foundation, Inc.
|
||
See the end of the file for license conditions.
|
||
|
||
|
||
* 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>
|
||
|
||
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 a text-only terminal version by
|
||
typing `emacs' from a terminal (make sure your path contains
|
||
/usr/local/bin) or a GUI application by double-clicking on
|
||
/Applications/Emacs.app in the Finder. Even in the terminal version,
|
||
some Carbon-specific functions such as `mac-set-file-creator' are
|
||
still meaningful.
|
||
|
||
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 an alias to this path to quickly
|
||
access both the terminal and GUI versions. You can specify some
|
||
standard Emacs options when invoking Emacs in this way.
|
||
|
||
Emacs on Mac OS X is not configured to use X11 unless either it is
|
||
requested or the use of Carbon is disabled explicitly. So, if you are
|
||
building Emacs to run on X Window System, you need to specify like:
|
||
|
||
./configure --with-x
|
||
|
||
Note that the Carbon-specific functions mentioned above are not
|
||
available on the X11-enabled build.
|
||
|
||
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 Classic
|
||
|
||
You can use MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be
|
||
downloaded free of charge from Apple.
|
||
|
||
### 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
|
||
|
||
http://members.shaw.ca/akochoi-emacs/stories/Resources/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.
|
||
|
||
Once built, the Emacs application (Emacs MPW) can be launched where it
|
||
is created.
|
||
|
||
* NOTES
|
||
|
||
Emacs should build and run on a PowerMac running Mac OS 8.6 - 9.2 (but
|
||
only tested on 9.2.2), and Mac OS X 10.1 - 10.4.
|
||
|
||
You will need around 100 MB of disk space for the source files and
|
||
intermediate files.
|
||
|
||
Under Mac OS Classic, 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 X, installing the emacs files in /usr can cause issues with
|
||
system software 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!
|
||
|
||
|
||
This file is part of GNU Emacs.
|
||
|
||
GNU Emacs is free software; you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation; either version 2, or (at your option)
|
||
any later version.
|
||
|
||
GNU Emacs is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with GNU Emacs; see the file COPYING. If not, write to the
|
||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||
Boston, MA 02110-1301, USA.
|