Setting up the External Compiler for use with Fire

When you download Fire, it comes with everything you need to run Fire and the Elements compiler, bundled in Fire.app. This includes a stripped-down version of the Mono runtime, as well as the Elements Compiler itself.

The version of the compiler inside Fire always matches the version of Fire itself.

In some cases, you might want to install an external version of the Elements Compiler. There can be several reasons for this – you might, for example, want to use the compiler from the command prompt or in automated builds, or maybe you received a newer version of the compiler with bug fixes from our support team and don't have a new version of Fire to match. It's also conceivable that you want to use an older version of the compiler (for whatever reason), but use it with the latest version of Fire.

The Elements Compiler "Mac & Linux Distro"

The Elements compiler is made available as a separate download on elementscompiler.com and/or on the Beta portal

Please refer to the Installing the Command Line Compiler topic for details on how to install the "External" compiler, system wide.

Once installed, the compiler is available globally to be used with xbuild, Mono's command line build tool. For example, you can build a project simply by calling xbuild MyProject.sln in Terminal.

Using the External Compiler inside of Fire

By default, Fire will keep using its internal version of the compiler for building. But you can change that by going to the Preferences dialog via ⌘, or the "Fire|Preferences" menu, switching to the "Build" tab, and checking the "Use external Elements Compiler" checkbox at the very bottom:

The next time you hit Build (⌘B) or Run (⌘R), Fire will use the externally installed compiler.

Note: Don't forget about this setting, and to turn it back off should you later want to go back to the embedded compiler (which is recommended for normal use). If you leave this setting on and later update Fire, Fire will keep using the (older) external compiler, unless you remember to always update that as well.

See Also