From 46a94cbb43975e06bdb66f47974d09d7b3b36a22 Mon Sep 17 00:00:00 2001 From: moteus Date: Wed, 5 Sep 2012 16:09:46 +0400 Subject: Support Lua 5.2 Add tests from http://scite-ru.googlecode.com/ Add lakefile --- lakefile | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 lakefile (limited to 'lakefile') diff --git a/lakefile b/lakefile new file mode 100644 index 0000000..98c1945 --- /dev/null +++ b/lakefile @@ -0,0 +1,74 @@ +if not WINDOWS then quit('This is only windwos module!') end + +if LUA_VER == '5.2' then + LUA_NEED = 'lua52' + LUA_DIR = ENV.LUA_DIR_5_2 or ENV.LUA_DIR +else + LUA_NEED = 'lua' + LUA_DIR = ENV.LUA_DIR +end + +lake.define_need('unicode',function()return{ + defines = {"UNICODE"; "_UNICODE"}; + flags = "/UMBS /U_MBS"; +} end) + +INSTALL_DIR = INSTALL_DIR or J(LUA_DIR,'libs','winreg') + +winreg = c.shared{'winreg', + base = 'src'; + src = {"lua_int64","lua_mtutil","lua_tstring","luawin_dllerror", + "win_privileges","win_registry","win_trace","winreg","l52util" + }; + defines = L( + {'WIN32','_WIN32','_WINDOWS'}, + {"WIN32_LEAN_AND_MEAN"; "WINDLL"; "USRDLL"}, + IF(DEBUG, {'_DEBUG', 'DEBUG'},'NDEBUG'), + IF(MSVC, {'_CRT_SECURE_NO_WARNINGS'}), + IF(MSVC, {'_WIN32_WINNT=0x0400','WINVER=0x0400', '_WIN32_IE=0x0300'}), + IF(MSVC, {'CRTAPI1=_cdecl','CRTAPI2=_cdecl','_X86_=1'}), + 'WINREG_EXPORTS', 'WINREG_API=__declspec(dllexport)' + ); + flags = IF(MSVC, + IF(DEBUG, {'-Z7' , '-Od', --[['-MLd']]}, {'-O2', --[['-ML']]}), + '-Os -DNDEBUG -s' + ); + libflags = IF(MSVC,IF(DEBUG, '-debug:full -debugtype:cv', '-DEBUG -OPT:REF -OPT:ICF')); + needs = {LUA_NEED,IF(UNICODE, 'unicode')}; + libs = {"advapi32", "kernel32", "user32"}; + optimize = false; +} + +target('build',{winreg}) + +install = target('install', { + file.group{odir=J(INSTALL_DIR, 'test'); + src = J('test','*.*');recurse=true; + }; + file.group{odir=J(INSTALL_DIR, 'doc'); + src = J('doc','*.*');recurse=true; + }; + target(J(INSTALL_DIR, 'bin', winreg.target), winreg, CP ); +}) + +target('test', install, function() + if TESTING then + lake.chdir('test') + for file in path.mask('*.lua') do + print("run " .. file) + end + lake.chdir('<') + end + if not TESTING then + lake.chdir(J(INSTALL_DIR,'test')) + for file in path.mask('*.lua') do + print("run " .. file) + if not utils.execute( LUA_EXE .. ' ' .. file ) then + quit("FAIL!") + end + end + lake.chdir('<') + end +end) + +default('build') -- cgit v1.2.3