Skip to content
Andy Arvanitis edited this page Jul 31, 2013 · 18 revisions

With a few limitations, Eero can be integrated with Xcode.

The Xcode 4+ plugin adds support for Eero's custom clang compiler, making it selectable in the project build settings. It assumes the compiler is installed at /usr/local/eerolanguage/. If you've installed it somewhere else, you can change it to a different location by modifying the ExecPath in file Eero 1.0.xcspec.

If you are building the eero clang compiler yourself (instead of using the pre-built binaries), make sure to use the --prefix option when configuring the build.

To install the plugin, simply copy the bundle to ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/.

Once this is done, you can do builds and source-level debugging with eero source files for Mac and iOS applications (simulator and device).

Syntax highlighter

The plugin does not enable syntax highlighting/coloring. You can add basic keyword-based highlighting by running the eero_colors_xcode.sh script (thanks to the Google Go project for their script). Before running it, make sure the desired installation of Xcode is selected for the system using OS X's xcode-select command.

Static analyzer

The plugin also doesn't automatically enable the static analyzer to recognize eero source code. However, this is easy to do using a script from the LLVM project. Start by downloading the binary files from their Clang Static Analyzer page. Then, follow the instructions from their Running the analyzer within Xcode page to point to your installed eero compiler — usually /usr/local/eerolanguage/bin/clang. As was the case with the colorizer, make sure the right Xcode version is selected using xcode-select.

$ sudo set-xcode-analyzer --use-checker-build=/usr/local/eerolanguage/bin/clang

Note that the eero version of the clang compiler is based on the latest open source clang builds, so using it for static analysis has the advantages (and disadvantages) described in the "Why try open source builds?" section of the page.

Clone this wiki locally