mirror of
				https://github.com/ctruLua/ctruLua.git
				synced 2025-10-27 16:39:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| PROJECT = 'zlib'
 | |
| 
 | |
| IF=choose
 | |
| J=path.join
 | |
| 
 | |
| if LUA_VER == '5.2' then
 | |
|   LUA_NEED = 'lua52'
 | |
|   LUA_DIR  = ENV.LUA_DIR_5_2 or ENV.LUA_DIR
 | |
|   LUA_RUNNER = 'lua52'
 | |
| else
 | |
|   LUA_NEED = 'lua'
 | |
|   LUA_DIR  = ENV.LUA_DIR
 | |
|   LUA_RUNNER = 'lua'
 | |
| end
 | |
| 
 | |
| DYNAMIC  = DYNAMIC or false
 | |
| 
 | |
| ZLIB_NEED = IF(DYNAMIC, 'zlib-static-md', 'zlib-static-mt')
 | |
| 
 | |
| INSTALL_DIR = INSTALL_DIR or J(LUA_DIR,'libs',PROJECT)
 | |
| 
 | |
| build = c.shared{PROJECT, 
 | |
|   -- base     = 'src',
 | |
|   src      = '*.c',
 | |
|   needs    = { LUA_NEED, ZLIB_NEED },
 | |
|   dynamic  = DYNAMIC,
 | |
|   strip    = true,
 | |
|   defines  = IF(MSVC, "STRUCT_INT=__int64"),
 | |
|   libflags = IF(MSVC, "/EXPORT:luaopen_" .. PROJECT),
 | |
| }
 | |
| 
 | |
| target('build', build)
 | |
| 
 | |
| install = target('install', {
 | |
|   file.group{odir=J(INSTALL_DIR, 'share');src = build };
 | |
|   file.group{odir=J(INSTALL_DIR, 'share');src = 'gzip.lua' };
 | |
|   file.group{odir=J(INSTALL_DIR, 'test'); src = 'test_*.lua'};
 | |
| })
 | |
| 
 | |
| local function run(file, cwd)
 | |
|   print()
 | |
|   print("run " .. file)
 | |
|   if not TESTING then
 | |
|     if cwd then lake.chdir(cwd) end
 | |
|     os.execute( LUA_RUNNER .. ' ' .. file )
 | |
|     if cwd then lake.chdir("<") end
 | |
|     print()
 | |
|   end
 | |
| end
 | |
| 
 | |
| target('test', install, function()
 | |
|   local test_dir = J(INSTALL_DIR,'test')
 | |
|   run(J(test_dir,'test_zlib3.lua'), test_dir)
 | |
|   run(J(test_dir,'test_zlib2.lua'), test_dir)
 | |
|   run(J(test_dir,'test_prologue.lua'), test_dir)
 | |
|   run(J(test_dir,'test_gzip.lua'), test_dir)
 | |
| end)
 | |
| 
 | 
