forked from minetest-mods/irc
Switch build system to SConstruct
This commit is contained in:
96
SConstruct
Normal file
96
SConstruct
Normal file
@ -0,0 +1,96 @@
|
||||
|
||||
vars = Variables(None, ARGUMENTS)
|
||||
|
||||
vars.AddVariables(
|
||||
PathVariable("prefix", "Installation prefix", "build",
|
||||
PathVariable.PathIsDirCreate)
|
||||
)
|
||||
|
||||
env = Environment(variables = vars)
|
||||
|
||||
Help(vars.GenerateHelpText(env))
|
||||
|
||||
env.VariantDir("$prefix", "src", 0)
|
||||
|
||||
lua_srcs = Split("""
|
||||
$prefix/lua/lapi.c
|
||||
$prefix/lua/lcode.c
|
||||
$prefix/lua/ldebug.c
|
||||
$prefix/lua/ldo.c
|
||||
$prefix/lua/ldump.c
|
||||
$prefix/lua/lfunc.c
|
||||
$prefix/lua/lgc.c
|
||||
$prefix/lua/llex.c
|
||||
$prefix/lua/lmem.c
|
||||
$prefix/lua/lobject.c
|
||||
$prefix/lua/lopcodes.c
|
||||
$prefix/lua/lparser.c
|
||||
$prefix/lua/lstate.c
|
||||
$prefix/lua/lstring.c
|
||||
$prefix/lua/ltable.c
|
||||
$prefix/lua/ltm.c
|
||||
$prefix/lua/lundump.c
|
||||
$prefix/lua/lvm.c
|
||||
$prefix/lua/lzio.c
|
||||
$prefix/lua/lauxlib.c
|
||||
$prefix/lua/lbaselib.c
|
||||
$prefix/lua/ldblib.c
|
||||
$prefix/lua/liolib.c
|
||||
$prefix/lua/lmathlib.c
|
||||
$prefix/lua/loslib.c
|
||||
$prefix/lua/ltablib.c
|
||||
$prefix/lua/lstrlib.c
|
||||
$prefix/lua/loadlib.c
|
||||
$prefix/lua/linit.c
|
||||
""")
|
||||
|
||||
luasocket_srcs = Split("""
|
||||
$prefix/luasocket/compat51.c
|
||||
$prefix/luasocket/luasocket.c
|
||||
$prefix/luasocket/timeout.c
|
||||
$prefix/luasocket/buffer.c
|
||||
$prefix/luasocket/io.c
|
||||
$prefix/luasocket/auxiliar.c
|
||||
$prefix/luasocket/options.c
|
||||
$prefix/luasocket/inet.c
|
||||
$prefix/luasocket/tcp.c
|
||||
$prefix/luasocket/udp.c
|
||||
$prefix/luasocket/except.c
|
||||
$prefix/luasocket/select.c
|
||||
$prefix/luasocket/mime.c
|
||||
""")
|
||||
|
||||
luasocket_libs = []
|
||||
env.MergeFlags("-Wall -Werror")
|
||||
|
||||
if env["PLATFORM"] == "win32":
|
||||
luasocket_srcs += ["$prefix/luasocket/wsocket.c"]
|
||||
luasocket_libs += ["wininet", "ws2_32"]
|
||||
if "mingw" in env['CC']:
|
||||
# The '-fPIC' flag generates a warning on MinGW32, which combined
|
||||
# with '-Werror' makes that an error though '-fPIC' is ignored.
|
||||
# We use '-fno-PIC' to avoid that.
|
||||
env.MergeFlags("-fno-PIC")
|
||||
else:
|
||||
luasocket_srcs += ["$prefix/luasocket/usocket.c",
|
||||
"$prefix/luasocket/unix.c"]
|
||||
|
||||
|
||||
luasocket_out = env.LoadableModule(
|
||||
target = "$prefix/luasocket",
|
||||
source = luasocket_srcs + lua_srcs,
|
||||
LIBS = luasocket_libs,
|
||||
CPPPATH = ["src/luasocket/", "src/lua/"]
|
||||
)
|
||||
|
||||
|
||||
env.InstallAs("$prefix/irc/irc", "src/LuaIRC")
|
||||
env.Install("$prefix/irc", Glob("src/luasocket/*.lua"))
|
||||
env.Install("$prefix/irc", Glob("src/*.lua"))
|
||||
env.Install("$prefix/irc", Glob("src/*.txt"))
|
||||
env.Install("$prefix/irc", "README.txt")
|
||||
env.Install("$prefix/irc", luasocket_out)
|
||||
|
||||
env.Alias("pack", "$prefix/irc")
|
||||
env.Clean("pack", "$prefix/irc")
|
||||
|
Reference in New Issue
Block a user