(Formatting Strings): Warn against arbitrary strings as first arg to `format'.
[bpt/emacs.git] / mac / INSTALL
index 2f1a4d4..cf82003 100644 (file)
@@ -1,6 +1,7 @@
-* BUILDING EMACS ON MAC OS 8/9 AND MAC OS X     -*- outline -*-
+* BUILDING EMACS ON MAC OS Classic AND MAC OS X     -*- outline -*-
 
-Copyright (c) 2001, 2002 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
@@ -19,11 +20,18 @@ 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
+  ./configure --enable-carbon-app
   make
   make install
 
-The last step must be performed as root.
+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
@@ -32,33 +40,30 @@ to run under Carbon and not X Window, you need to type `./configure
 You can type `make bootstrap' instead of `make' to rebuild everything,
 including byte-compiling the Lisp files.
 
-If you 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.
+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 mac/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.,
+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.,
 
-  .../emacs/mac/Emacs.app/Contents/MacOS/Emacs
+  /Application/Emacs.app/Contents/MacOS/Emacs
 
 must be typed to the shell to enable Emacs to locate its resources
-correctly.
+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, you need to
-create a directory containing statically-linked X libraries.
+If you are building Emacs to run on Mac OS X and X Window,
+instead of typing `./configure' above, type
 
-  sudo mkdir /usr/X11R6/libstatic
-  cd /usr/X11R6/libstatic
-  sudo ln -s ../lib/lib*.a ../lib/X11 .
+  ./configure --without-carbon --with-x
 
-Instead of typing `./configure' above, type
-
-  ./configure --without-carbon --with-x --x-libraries=/usr/X11R6/libstatic
 
 To use colors in a terminal, put the following lines in the file
 ~/.termcap and log in again.
@@ -79,7 +84,8 @@ vt100|vt100-am|vt100am|dec vt100:\
     :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
 -----
 
-To build the `info' files, you need to install the texinfo software.
+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
@@ -88,7 +94,7 @@ a mirror.  Un-tar it, enter its directory and type
   make
   make install
 
-The last step needs to be performed as root.
+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
@@ -100,8 +106,8 @@ Un-tar it, enter its directory, type
   ./configure --host=powerpc-apple-bsd
   make
   make install
-    
-Again, the last step needs to be performed as root.  Note that if you
+
+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:
@@ -138,37 +144,26 @@ 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. 
+--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
---without-app    -  Do not install the carbon gui in /Applications
-                   This will be commonly used for terminal-only or X
-                   windows installs.
 --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 
+--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.
 
-If you are intending to build a binary distribution for X windows, you
-will probably want to follow the directions above to create static
-X11R6 libraries and run the make-package script like this
-
-./make-package --with-x -C,--x-libraries=/usr/X11R6/libstatic
 
 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.
+* BUILDING EMACS ON MAC OS Classic
 
-In either case, you will need MPW-GM to build the make-docfile utility
-and to generate the doc string file DOC.
+You can use MPW-GM (Aug. 2001) to build Emacs.  MPW-GM can be
+downloaded free of charge from Apple.
 
-### IMPORTANT ### You can use StuffIf Expander to decompress and untar
+### 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.
@@ -176,58 +171,58 @@ Preferences->Cross Platform->Convert text files to Macintosh format to
 (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
+  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 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.
+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.
+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 - 10.2.
+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 running Mac OS 8/9 with more than 256 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.
+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 sofware updates possibly overwriting the distribution.  If this
+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.
 
-Enjoy!
+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.
+
+There are some compile-time flags that enable experimental features.
+Please use them at your own risk after reading the corresponding
+threads in the emacs-devel@gnu.org archive.
 
-Andrew.
-<akochoi@mac.com>
+  SELECT_USE_CFSOCKET (on Mac OS X): Avoid polling in sys_select (in
+  src/mac.c).
+  http://lists.gnu.org/archive/html/emacs-devel/2004-12/msg00789.html
+
+  USE_ATSUI (on Mac OS 9/Carbon): Enable ATSUI (Apple Type Services
+  for Unicode Imaging) support.
+  http://lists.gnu.org/archive/html/emacs-devel/2005-10/msg00005.html
+
+Enjoy!