Created
July 31, 2023 17:00
-
-
Save rfl890/82b381c67e84f98ba3125aaac5bf155f to your computer and use it in GitHub Desktop.
Build lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local BASE_O = ("lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o"):split(" ") | |
local LUA_AND_LUAC_O = ("lua.o luac.o"):split(" ") | |
local cc = "clang -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_BUILD_AS_DLL" | |
-- make .o | |
for _, object in pairs(BASE_O) do | |
local cFileName = object:sub(1, #object - 1) .. "c" | |
local command = cc .. " -c -o " .. object .. " " .. cFileName | |
print(command) | |
os.execute(command) | |
end | |
for _, object in pairs(LUA_AND_LUAC_O) do | |
local cFileName = object:sub(1, #object - 1) .. "c" | |
local command = cc .. " -c -o " .. object .. " " .. cFileName | |
print(command) | |
os.execute(command) | |
end | |
-- make liblua.a | |
local command_liblua_a = "lib.exe " .. table.concat(BASE_O, " ") .. " /OUT:liblua.a" | |
print(command_liblua_a) | |
os.execute(command_liblua_a) | |
-- make dll | |
local command_dll = cc .. " -shared -o lua54.dll " .. table.concat(BASE_O, " ") | |
print(command_dll) | |
os.execute(command_dll) | |
local command_lua = cc .. " -o lua.exe lua.o lua54.lib" | |
print(command_lua) | |
os.execute(command_lua) | |
local command_luac = cc .. " -o luac.exe luac.o liblua.a" | |
print(command_luac) | |
os.execute(command_luac) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment