Version 6 (modified by adamse, 4 years ago) (diff)

Information on how to use clang on OS X 10.9

Setting up a MacOS X system for building GHC

You will need to install several tools, using one of Homebrew MacPorts or Fink.

Xcode (GCC)

For Lion (10.7), Xcode 7.3 or higher

Firstly, you need to install the Xcode Command Line tools from Apple. You can do that in two ways (the second is faster):

  1. Install all of Xcode:
    • Install Xcode from the Mac App Store.
    • Launch Xcode.
    • In the Preference dialog of Xcode, select the "Downloads" pane and install "Command line tools".
  2. Install the command line tools only:

Note well: XCode 5 doesn't come with a real GCC, and currently GHC builds most easily if you use GCC rather than clang. Note also that Xcode 5 installs a "gcc" thats actually an alias for Clang. You will need to install a real GCC, and make sure the gcc in your path points to a real gcc, or alternatively points to one of the "clang-wrapper" scripts that are available. Again, using a real GCC will be much simpler.

In both cases, you need to register as an Apple developer first (free).

OS X 10.9 Mavericks: Clang

Start by installing the latest Xcode or command line tools as per above. Then install a clang wrapper and update your GHC settings file ( for instructions)

Previous versions of OS X and Xcode

Get the most recent version of Apple's Xcode tools that you can. Your OS X CD has a version on it. You may be able to download a newer version from the Apple Developer Connection website. You may need to sign up for a free membership in the Apple Developer Connection, and downloading may still cost a little money. In later versions of OS X (10.6 / 10.7), Apple added the "App Store". Xcode is available within the App Store for "Free".

Successful builds of older GHC sources have been reported using Xcode 3.0, 2.4 and 2.4.1 on Intel Macs. Xcode 2.2.1 is known not to work out of the box on Intel Macs, and Xcode 3.0 is known not to work out of the box on PowerPC Macs (#2887). Versions prior to 3.1 may build GHC successfully, but choke on certain libraries.


Secondly, you need a installation of GHC for use as your bootstrap compiler.

You can install a binary distribution of GHC in three ways:

  1. Install the Haskell Platform.
  2. Install a binary distribution from GHC.
  3. Use one of Fink, MacPorts or Brew. If using brew, we strongly recommend using Darin's brewtap for ghc

NB: You need to use a binary distribution of GHC 7.4.1 (or later) as your bootstrap compiler.

Other tools

Thirdly, if you want to build the development version of GHC from the Git repositories, you also need to install the GNU auto tools. You can get them as follows:

  • (Homebrew): brew install autoconf automake

Fourthly, if you like to use GHC's LLVM backend:

  • (Homebrew): brew install llvm

Finally, if you want to build the documentation you need to install DocBook. You can install it like so:

  • (Homebrew): brew install docbook

DocBook is a fairly large system unto itself and configuring it to build the documentation in its various formats can be a maze. Verifying that your SGML_CATALOG_FILES and XML_CATALOG_FILES environment variables are pointed at the right places will fix most problems.