]> code.delx.au - gnu-emacs/blobdiff - mac/INSTALL
*** empty log message ***
[gnu-emacs] / mac / INSTALL
index 1846a550cfc05160da91d2ce9aae9d863e71a06e..477f9b328c4eba3a1e334b472bda1ce5dac2cdb9 100644 (file)
@@ -1,6 +1,7 @@
-* BUILDING EMACS ON THE MAC OS     -*- outline -*-
+* BUILDING EMACS ON MAC OS Classic AND MAC OS X     -*- outline -*-
 
-Copyright (c) 2001 Free Software Foundation, Inc.
+Copyright (C) 2001, 2002, 2003, 2004, 2005,
+   2006 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
@@ -13,95 +14,199 @@ Copyright (c) 2001 Free Software Foundation, Inc.
    provided also that they carry prominent notices stating who last
    changed them.
 
-You can use either Metrowerks CodeWarrior Pro 5 or 6 or MPW-GM
-(Aug. 2000) to build Emacs.  MPW-GM can be downloaded free of charge
-from Apple at
+* BUILDING EMACS ON MAC OS X
 
-  http://developer.apple.com/tools/mpw-tools/
+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.
 
-You will need MPW-GM to build the make-docfile utility and to generate
-the doc string file DOC.
+  ./configure --enable-carbon-app
+  make
+  make install
 
-To decompress files, you can use MacGzip from
+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.
 
-  http://persephone.cps.unizar.es/~spd/gzip
+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>
 
-and to untar them, you can use tar 4.0 from
+You can type `make bootstrap' instead of `make' to rebuild everything,
+including byte-compiling the Lisp files.
 
-  http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/tar-40b.hqx
+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.
 
-(Optional) If you wish to fetch files from the Emacs CVS repository
-directly to your Mac, you can use the CVS client MacCVS, which can be
-downloaded from
+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.,
 
-  http://www.wincvs.org/
+  /Application/Emacs.app/Contents/MacOS/Emacs
 
-(Optional) A subset of the fonts from the GNU intlfonts-1.2
-distribution converted to NFNT format can be obtained from
+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 System,
+instead of typing `./configure' above, type
+
+  ./configure --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.
 
-  ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin
+Set the environment variable TMPDIR to an existing directory.  For
+example since `/tmp' exists on my machine and I am using `bash', I
+typed
 
-### IMPORTANT ### If you use StuffIf Expander to decompress and untar
-the distribution, you *must* set the radio button in the
+  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.
 
-* BUILDING EMACS
+(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
+makefile.MPW.  I.e., execute the commands
 
   make Emacs -f makefile.MPW > Emacs.MakeScript
   Emacs.MakeScript
 
-To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose
-File->Import Project...  and select the file cw5-mcp.xml or
-cw6-mcp.xml, depending on which verison of CodeWarrior used.  When
-prompted to save the project, navigate to same directory as the file
-cw[56]-mcp.xml, name it emacs-cw5.mcp or 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.
+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 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.
-
-To build optimized or debugging version of Emacs in MPW, follow the
-comment in makefile.MPW to enable the -opt speed or -sym on option
-(see note below).
+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.1 - 9.0.
+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.
 
-It will not run on machines with more than 256 MB of physical or
-virtual memory.
-
-Currently there is no support for building the LEIM directory on the
-Mac.  However, it can be built on another platform and transferred to
-the Mac.
-
-When Emacs is built with "-opt speed" enabled in makefile.MPW,
-optimization causes the functions reset_buffer_local_variables in
-buffer.c, syms_of_lread in lread.c, and x_draw_hollow_cursor in
-macterm.c to crash.  Avoid this by enclosing them in the following
-pragmas.
-
-  #pragma options opt off
+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.
 
-  <function definition...>
+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.
 
-  #pragma options opt reset
+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.
 
-To use the same icon as when Emacs is built on Windows NT, define
-GNU_ICON in mac/src/Emacs.r.
+Enjoy!