summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-15 15:22:11 +0800
committerruki <[email protected]>2022-05-15 15:22:11 +0800
commit1fcec0d2fc97f359e6dd18753363564e7c0c608b (patch)
treeff62cf0d09a0a4fca9ddf4eeddd548752c912b3e
parent1c819339371bc483263906704463c0fd25b70ae6 (diff)
improve client compile
-rw-r--r--xmake/modules/private/service/distcc_build/client_session.lua35
1 files changed, 20 insertions, 15 deletions
diff --git a/xmake/modules/private/service/distcc_build/client_session.lua b/xmake/modules/private/service/distcc_build/client_session.lua
index 0383fa42d..a07dbdfe0 100644
--- a/xmake/modules/private/service/distcc_build/client_session.lua
+++ b/xmake/modules/private/service/distcc_build/client_session.lua
@@ -133,6 +133,26 @@ function client_session:_gcc_iorunv(program, argv, opt)
os.runv(program, cppflags, opt)
-- do compile
+ self:_compile(sourcefile, cppfile, objectfile, flags, opt)
+end
+
+-- run compilation job for g++
+function client_session:_gxx_iorunv(program, argv, opt)
+ return self:_gcc_iorunv(program, argv, opt)
+end
+
+-- run compilation job for clang
+function client_session:_clang_iorunv(program, argv, opt)
+ return self:_gcc_iorunv(program, argv, opt)
+end
+
+-- run compilation job for clang++
+function client_session:_clangxx_iorunv(program, argv, opt)
+ return self:_gcc_iorunv(program, argv, opt)
+end
+
+-- do compile
+function client_session:_compile(sourcefile, cppfile, objectfile, flags, opt)
local ok = false
local errors
local tool = opt.tool
@@ -163,21 +183,6 @@ function client_session:_gcc_iorunv(program, argv, opt)
assert(ok, errors or "unknown errors!")
end
--- run compilation job for g++
-function client_session:_gxx_iorunv(program, argv, opt)
- return self:_gcc_iorunv(program, argv, opt)
-end
-
--- run compilation job for clang
-function client_session:_clang_iorunv(program, argv, opt)
- return self:_gcc_iorunv(program, argv, opt)
-end
-
--- run compilation job for clang++
-function client_session:_clangxx_iorunv(program, argv, opt)
- return self:_gcc_iorunv(program, argv, opt)
-end
-
-- get work directory
function client_session:workdir()
return path.join(self:server():workdir(), "sessions", self:id())