mirror of
				https://github.com/lunarmodules/luasocket.git
				synced 2025-10-31 18:35:45 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			135 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| package = "LuaSocket"
 | |
| version = "scm-3"
 | |
| source = {
 | |
|   url = "git+https://github.com/lunarmodules/luasocket.git",
 | |
|   branch = "master"
 | |
| }
 | |
| description = {
 | |
|   summary = "Network support for the Lua language",
 | |
|   detailed = [[
 | |
|       LuaSocket is a Lua extension library composed of two parts: a set of C
 | |
|       modules that provide support for the TCP and UDP transport layers, and a
 | |
|       set of Lua modules that provide functions commonly needed by applications
 | |
|       that deal with the Internet.
 | |
|    ]],
 | |
|   homepage = "https://github.com/lunarmodules/luasocket",
 | |
|   license = "MIT"
 | |
| }
 | |
| dependencies = {
 | |
|   "lua >= 5.1"
 | |
| }
 | |
| 
 | |
| local function make_plat(plat)
 | |
|   local defines = {
 | |
|     unix = {
 | |
|       "LUASOCKET_DEBUG"
 | |
|     },
 | |
|     macosx = {
 | |
|       "LUASOCKET_DEBUG",
 | |
|       "UNIX_HAS_SUN_LEN"
 | |
|     },
 | |
|     win32 = {
 | |
|       "LUASOCKET_DEBUG",
 | |
|       "NDEBUG"
 | |
|     },
 | |
|     mingw32 = {
 | |
|       "LUASOCKET_DEBUG",
 | |
|       -- "LUASOCKET_INET_PTON",
 | |
|       "WINVER=0x0501"
 | |
|     }
 | |
|   }
 | |
|   local modules = {
 | |
|     ["socket.core"] = {
 | |
|       sources = {
 | |
|         "src/luasocket.c"
 | |
|         , "src/timeout.c"
 | |
|         , "src/buffer.c"
 | |
|         , "src/io.c"
 | |
|         , "src/auxiliar.c"
 | |
|         , "src/options.c"
 | |
|         , "src/inet.c"
 | |
|         , "src/except.c"
 | |
|         , "src/select.c"
 | |
|         , "src/tcp.c"
 | |
|         , "src/udp.c"
 | |
|         , "src/compat.c" },
 | |
|       defines = defines[plat],
 | |
|       incdir = "/src"
 | |
|     },
 | |
|     ["mime.core"] = {
 | |
|       sources = { "src/mime.c", "src/compat.c" },
 | |
|       defines = defines[plat],
 | |
|       incdir = "/src"
 | |
|     },
 | |
|     ["socket.http"]    = "src/http.lua",
 | |
|     ["socket.url"]     = "src/url.lua",
 | |
|     ["socket.tp"]      = "src/tp.lua",
 | |
|     ["socket.ftp"]     = "src/ftp.lua",
 | |
|     ["socket.headers"] = "src/headers.lua",
 | |
|     ["socket.smtp"]    = "src/smtp.lua",
 | |
|     ltn12              = "src/ltn12.lua",
 | |
|     socket             = "src/socket.lua",
 | |
|     mime               = "src/mime.lua"
 | |
|   }
 | |
|   if plat == "unix"
 | |
|     or plat == "macosx"
 | |
|     or plat == "haiku"
 | |
|   then
 | |
|     modules["socket.core"].sources[#modules["socket.core"].sources+1] = "src/usocket.c"
 | |
|     if plat == "haiku" then
 | |
|       modules["socket.core"].libraries = {"network"}
 | |
|     end
 | |
|     modules["socket.unix"] = {
 | |
|       sources = {
 | |
|         "src/buffer.c"
 | |
|         , "src/compat.c"
 | |
|         , "src/auxiliar.c"
 | |
|         , "src/options.c"
 | |
|         , "src/timeout.c"
 | |
|         , "src/io.c"
 | |
|         , "src/usocket.c"
 | |
|         , "src/unix.c"
 | |
|         , "src/unixdgram.c"
 | |
|         , "src/unixstream.c" },
 | |
|       defines = defines[plat],
 | |
|       incdir = "/src"
 | |
|     }
 | |
|     modules["socket.serial"] = {
 | |
|       sources = {
 | |
|         "src/buffer.c"
 | |
|         , "src/compat.c"
 | |
|         , "src/auxiliar.c"
 | |
|         , "src/options.c"
 | |
|         , "src/timeout.c"
 | |
|         , "src/io.c"
 | |
|         , "src/usocket.c"
 | |
|         , "src/serial.c" },
 | |
|       defines = defines[plat],
 | |
|       incdir = "/src"
 | |
|     }
 | |
|   end
 | |
|   if  plat == "win32"
 | |
|     or plat == "mingw32"
 | |
|   then
 | |
|     modules["socket.core"].sources[#modules["socket.core"].sources+1] = "src/wsocket.c"
 | |
|     modules["socket.core"].libraries = { "ws2_32" }
 | |
|     modules["socket.core"].libdirs = {}
 | |
|   end
 | |
|   return { modules = modules }
 | |
| end
 | |
| 
 | |
| build = {
 | |
|   type = "builtin",
 | |
|   platforms = {
 | |
|     unix = make_plat("unix"),
 | |
|     macosx = make_plat("macosx"),
 | |
|     haiku = make_plat("haiku"),
 | |
|     win32 = make_plat("win32"),
 | |
|     mingw32 = make_plat("mingw32")
 | |
|   },
 | |
|   copy_directories = {
 | |
|     "docs"
 | |
|     , "samples"
 | |
|     , "test" }
 | |
| }
 |