-
-
Notifications
You must be signed in to change notification settings - Fork 376
Linux
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.
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.
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.
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
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.
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.
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