INSTALLmac.txt - Installation of Vim on Macintosh

This file contains instructions for compiling Vim. If you already have an
executable version of Vim, you don't need this.

An alternate way of building that Benji Fisher uses can be found here:

	http://macvim.swdev.org/OSX/#Developers

----------------------------------------------------------------------------
Summary
----------------------------------------------------------------------------

1 MacOS X
 1.1. Carbon interface
 1.2. X (Athena, GTK, Motif) or plain text.

MacOS Classic is no longer supported.  If you really want it use Vim 6.4.

----------------------------------------------------------------------------
1 MacOS X
----------------------------------------------------------------------------

1.0 Considerations

 Only '/' supported as path separator.

1.1 Carbon interface (default)

 You can compile vim with the standard Unix routine:
   cd .../src
   make

 This will create a working Vim.app application bundle in the src
 directory.  You can move this bundle (the Vim.app directory) anywhere
 you want.  Or use this command to move it to /Applications:
   make install

 You need at least Xcode 1.5 to compile Vim 7.0.

 Configure will create a universal binary if possible.  This requires
 installing the universal SDK (currently for 10.4).

 To overrule the architecture do this before running make:

 	./configure --with-mac-arch=intel
 or
 	./configure --with-mac-arch=ppc


1.2 X-Windows or Plain Text

 If you do not want the Carbon interface, you must explicitly tell
 configure to use a different GUI.

  cd .../src
  ./configure --disable-darwin --enable-gui=gtk2
  make; make install

 NOTE: The following GUI options are supported:
	no (for text), motif, athena, nextaw
	gtk, gtk2, gnome, gnome2,

 NOTE: You need to first install XFree86 and XDarwin.
       Please visit http://www.XDarwin.org

------------------------------------------------------
