Building eLua in Windows
Starting with version 0.7, building eLua in Windows is officialy supported. The following instructions were tested in Windows 7 Professional, but they should work with little or no modification in any version of Windows 7, Vista or XP. You need to download and install a few things first:
- a toolchain: building a GCC-based toolchain under Windows is possible, but not easy. We found that the easiest thing to do is to download a pre-built toolchain
and install it. Currently, all the targets supported by eLua (except i386) have at least one toolchain that runs under Windows:
- For ARM7, ARM9 and Cortex-M3 targets, you can download and install the CodeSourcery Lite Edition (supported by eLua out of the box) from
here. For reference, the version used in this tutorial is
"Sourcery G++ Lite 2009q3-68 for ARM EABI". Future (and some previous) versions of this toolchain should also work. Remember to specify
toolchain=codesourcery
when using this toolchain (see here for details). - AVR32 has its own Windows based GNU toolchain that can be downloaded from Atmel here.
- For ARM7, ARM9 and Cortex-M3 targets, you can download and install the CodeSourcery Lite Edition (supported by eLua out of the box) from
here. For reference, the version used in this tutorial is
"Sourcery G++ Lite 2009q3-68 for ARM EABI". Future (and some previous) versions of this toolchain should also work. Remember to specify
- Python: my favourite Windows distribution of Python is ActivePython. Simply download it and install it. ActivePython 2.6.4.8 will be used in this tutorial. Other Python distribution might work equally well.
- scons: download the Windows installer package from here. For this tutorial, scons 1.2.0 will be used. Remember to install scons after you install Python.
- lua: a very good and versatile Lua distribution for Windows is "Lua for Windows", it can be downloaded from here. Besides Lua itself, it includes a lot of very useful Lua modules, so I highly recommend it. Version 5.1.4.30 of Lua for Windows will be used in this tutorial.
- svn: if you need to checkout the eLua source code from the SVN repository, you need to install SVN for windows. There are a few precompiled SVN packages for Windows available, I'm using the Tigris binaries that can be downloaded from here. In this tutorial I'll use version 1.6.6. If you require developer access (svn+ssh), additional steps are needed to make "svn+ssh" work in Windows. A lot of tutorials that cover this topic are available, check for example this one.
- gcc: if you want to use the ROMFS precompile feature (see here for details) you need to build an image of the eLua cross compiler, and you need an i386
toolchain for this. I'm using MinGW for this task, it can be downloaded from here. This tutorial uses MinGW version 5.1.6. Note that you
don't need to install MSYS, MinGW should be enough. Cygwin should work equally well, or even Microsoft's Visual Studio (not tested). To build the cross compiler, run
this command from the command line:
scons -f cross-lua.py
Make sure that all the programs listed above are added to %PATH%. Most of them do this automatically, or have an option to do this automatically, but some (for example MinGW) do not and you need to add them to %PATH% manually.
After you setup your build environment as described above, follow this tutorial to build your eLua image.