mirror of
https://github.com/Fluorohydride/ygopro.git
synced 2026-10-27 04:09:36 +08:00
44 lines
2.0 KiB
Lua
44 lines
2.0 KiB
Lua
project "event"
|
|
kind "StaticLib"
|
|
|
|
local EVENT_VERSION = (io.readfile("configure") or ""):match("NUMERIC_VERSION%s+0x(%x+)")
|
|
if not EVENT_VERSION then
|
|
print("Warning: Could not determine libevent version from the configure file, assuming 2.1.12.")
|
|
EVENT_VERSION = "02010c00" -- 2.1.12
|
|
end
|
|
EVENT_VERSION = tonumber(EVENT_VERSION, 16)
|
|
if EVENT_VERSION>=0x02020000 then
|
|
print("Warning: Using libevent version 2.2.x is not supported, please use 2.1.x, otherwise you may encounter issues.")
|
|
end
|
|
if EVENT_VERSION>=0x02010000 and WINXP_SUPPORT then
|
|
print("Warning: libevent 2.1 uses some new APIs which require Windows Vista or later, so WinXP support will be not valid.")
|
|
end
|
|
|
|
includedirs { "include", "compat" }
|
|
|
|
files { "event.c", "evthread.c", "buffer.c", "bufferevent.c", "bufferevent_sock.c",
|
|
"bufferevent_filter.c", "bufferevent_pair.c", "listener.c", "bufferevent_ratelim.c",
|
|
"evmap.c", "log.c", "evutil.c", "evutil_rand.c", "strlcpy.c", "signal.c",
|
|
"event_tagging.c", "http.c", "evdns.c", "evrpc.c" }
|
|
|
|
if EVENT_VERSION>=0x02010000 then
|
|
files { "evutil_time.c" }
|
|
end
|
|
|
|
filter "system:windows"
|
|
prebuildcommands { "xcopy /E /Y $(ProjectDir)..\\event\\WIN32-Code $(ProjectDir)..\\event\\include" }
|
|
files { "win32select.c", "evthread_win32.c", "buffer_iocp.c", "event_iocp.c", "bufferevent_async.c" }
|
|
if EVENT_VERSION>=0x02010000 then
|
|
prebuildcommands { "xcopy /E /Y $(ProjectDir)..\\event\\WIN32-Code\\nmake $(ProjectDir)..\\event\\include" }
|
|
defines { "UINT32_MAX=0xffffffffU" } -- quirk of libevent 2.1
|
|
end
|
|
if EVENT_VERSION<0x02010000 then
|
|
defines { "WIN32" } -- quirk of old libevent
|
|
end
|
|
|
|
filter "system:linux"
|
|
files { "evthread_pthread.c", "epoll.c", "epoll_sub.c", "poll.c", "select.c" }
|
|
|
|
filter "system:macosx"
|
|
files { "evthread_pthread.c", "kqueue.c", "poll.c", "select.c" }
|