Skip to content
Joshua Granick edited this page Jan 1, 2014 · 2 revisions

Compatibility

Support is primarily tested on Ubuntu 10.10 and newer, however Lime should be compatible with practically all Linux distributions. Software, OpenGL 1 and OpenGL 2+ graphics are supported.

Dependencies

If you decide to target C++ on Linux, you will need g++ installed. If you are building from Lime from the source, you will also need libgl1-mesa-dev and libglu1-mesa-dev, and g++-multilib, gcc-multilib if you are on a 64-bit distribution, if you want to compile 32-bit binaries.

Targets

Targeting Linux, you can choose either C++ or Neko. Using C++ will be best for performance, and is recommended when making releases as well as performance testing. Neko is valuable because it compiles almost instantly, which is valuable during development, and since it is a virtual machine it can sometimes provide a stack trace where native C++ may hard crash (such as a NULL pointer exception).

Theoretically, Neko could also be used for cross-desktop builds (such as Linux from Windows) but there are some minor issues that would need to be resolved for Neko to find its library dependencies.

Architectures

Lime supports both 32- and 64-bit builds for Linux, and will use the host architecture of your system by default. If you have "multilib" support installed, you can also compile 32-bit applications from a 64-bit host system. You can control the architecture used (rather than assuming the default) by using "-32" or "-64" flags:

lime test linux -32
lime test linux -64

Components

We use SDL 2 to handle windowing, events and input on Windows, and OpenAL-Soft for audio. Other dependencies include libjpeg, libpng, Freetype and cURL.

Future

There is a known issue when running Lime binaries with a working directory other than its own. The system we use elsewhere to determine the calling executable path can return "/usr/bin/sh" and other (unrelated) paths, so we need to implement a reliable (cross-distribution) mechanism to ensure the proper working directory for relative paths to work.

The command-line tools do not support RPM or DEB generation, but this would be a nice feature, as these formats can be difficult to create by hand.

Compiling

You can use "linux" as the target when using "lime" commands:

lime test linux

This will use C++ by default. You can target Neko using the "-neko" flag:

lime test linux -neko
Clone this wiki locally