Login or register Large RSS Icon

Building Kepler on Windows

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 .lib files 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.

Powered by Sputnik | XHTML 1.1