package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

69 lines
2.7 KiB

package("luajit")
set_homepage("http://luajit.org")
set_description("A Just-In-Time Compiler (JIT) for the Lua programming language.")
set_urls("http://luajit.org/download/LuaJIT-$(version).tar.gz",
"http://luajit.org/git/luajit-2.0.git",
"http://repo.or.cz/luajit-2.0.git")
add_versions("2.0.0", "deaed645c4a093c5fb250c30c9933c9131ee05c94b13262d58f6e0b60b338c15")
add_versions("2.0.1", "2371cceb53453d8a7b36451e6a0ccdb66236924545d6042ddd4c34e9668990c0")
add_versions("2.0.2", "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38")
add_versions("2.0.3", "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79")
add_versions("2.0.4", "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d")
add_versions("2.0.5", "874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979")
add_includedirs("include/luajit")
if not is_plat("windows") then
add_syslinks("dl")
end
on_load(function (package)
if is_plat("windows") then
package:addenv("PATH", "lib")
end
package:addenv("PATH", "bin")
end)
on_install("windows", function (package)
os.cd("src")
if not package:config("shared") then
os.vrun("msvcbuild.bat static")
elseif package:debug() then
os.vrun("msvcbuild.bat debug")
else
os.vrun("msvcbuild.bat")
end
os.cp("luajit.exe", package:installdir("bin"))
os.cp("lua51.lib", package:installdir("lib"))
if package:config("shared") then
os.cp("lua51.dll", package:installdir("lib"))
end
os.cp("*.h", package:installdir("include/luajit"))
end)
on_install("macosx", "linux", function (package)
io.gsub("./Makefile", "export PREFIX= /usr/local", "export PREFIX=" .. package:installdir())
if package:debug() then
io.gsub("./src/Makefile", "CCDEBUG=", "CCDEBUG= -g")
end
if package:config("shared") then
io.gsub("./src/Makefile", "BUILDMODE= mixed", "BUILDMODE= dynamic")
else
io.gsub("./src/Makefile", "BUILDMODE= mixed", "BUILDMODE= static")
end
os.vrun("make")
os.cp("src/luajit", package:installdir("bin"))
if package:config("shared") then
os.cp("src/*" .. (is_plat("macosx") and ".dylib" or ".so"), package:installdir("lib"))
else
os.cp("src/*.a", package:installdir("lib"))
end
os.cp("src/*.h", package:installdir("include/luajit"))
end)
on_test(function (package)
os.vrun("luajit -e \"print('hello xmake!')\"")
assert(package:has_cfuncs("lua_pcall", {includes = "luajit.h"}))
end)