Kepler does not offer yet a way to build the whole set of Windows components in a single operation, but each of the components and the Kepler launchers can be built using the existing files on the source distribution.
Kepler Window Directory Structure
The build system assumes a default directory structure for the installation:
c:\lua5.1
bin2c5.1.exe
lua5.1.dll
lua5.1.exe
lua5.1.lib
luac5.1.exe
\include
lauxlib.h
lua.h
lua.hpp
luaconf.h
lualib.h
\lua
You can create this structure using the KeplerDevPack or install the files manually using LuaBinaries (lua5_1_2_Win32_dll_lib.zip and lua5_1_2_Win32_bin.zip).
Path Details
In order to use the modules through require() the directory c:\lua5.1 should be on your package.cpath and the directory c:\lua5.1\lua on your package.path. The 'lua5.1.exe' defaults assume those directories, and for the Kepler launchers the kepler_init.lua file handles this detail, but if your Windows installation have a LUA_INIT environment variable you need to make sure that its path definitions do not conflict with the above structure.
Note that the executable directory c:\lua5.1 should be in your system PATH.
If you want to use another directory rather than c:\lua5.1 you have to set LUA_LIBDIR, LUA_INC and LUA_LIB variables on file config.win from the module.
External Libraries
The Windows builds uses the following external libraries and assumes the default installation directory for each of them:
- MySQL 5.0 - get the Windows installer, just choose the default directory
- Expat 2.0.0 - get the expatwin32 Windows installer (expatwin32bin20_0.exe) and install it in c:\expat-2.0.0
- SQLite 3.3.17 - The official SQLite download page does not offer this version anymore. Get the sqlite-amalgamation-3317.zip package from the Kepler site and expand it in c:\sqlite3
- ZZipLib 0.13.49 and Zlib 1.2.3 - To build ZZipLib and Zlib you need to compile the
.libfiles with/MT, but it is simpler to get the whole zziplib-0.13.49-kepler.zip package from the Kepler site. This package contains both libraries in binary form and the include files ready for use. Expand it in c:\zziplib-0.13.49.
Building with Visual C++ 2005 Express
Visual C++ 2005 Express ("VC2005 Express") is a free (as in "free beer") C/C++ development environment available from MSDN. It includes nmake which is what Kepler for Windows is supposed to be built with.
You will also need to install the Windows Platform SDK (you can use the link on the VC2005 Express page) and use its setenv command or define the MSSDK environment variable in VC2005 Express' \Common7\Tools\vsvars32.bat pointing to your Windows SDK directory:
set MSSDK=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2
To build each one of the Kepler modules with VC2005 Express, you should get the sources from CVS and then do:
nmake -f Makefile.win
To install the module into the default Kepler structure:
nmake -f Makefile.win install
This will copy the binary modules to the c:\lua51\lib directory while the Lua modules go to the c:\lua51\lua directory.
If you need to clean up the CVS directory after installing the modules you can use
nmake -f Makefile.win clean
If you prefer to use the VC++ IDE you should follow some other instructions for the SDK integration.
Status of VC2005 builds
(see Checklist for more details on the release process)
- CGILua - makefile OK
- Copas - makefile OK
- LuaExpat - needs 3rd party libraries (OK)
- LuaFileSystem - makefile OK
- LuaLogging - makefile OK
- LuaSQL - needs 3rd party libraries (ODBC, MySQL, SQLite, ADO - OK. Postgres, Oracle need makefiles!)
- LuaZip - needs 3rd party libraries (OK)
- MD5 - makefile OK
- Rings - makefile OK
- Xavante - makefile OK
- XavanteTray - makefile OK
Building with Visual C++ 6
Building with Visual C++ should be similar to the Visual 2005 process, but may require some makefile tweaking.