summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstar9029 <[email protected]>2025-02-24 14:45:32 +0800
committerstar9029 <[email protected]>2025-02-24 14:45:32 +0800
commitd4b5d636be7d4bb033313cf98699431ff0969af2 (patch)
tree82074ca007634aeaf9ab7040dc5b874d40c378df
parentdc7a9621629cf94652338fd1f15d9cab412412bb (diff)
Improve lto flag
-rw-r--r--xmake/core/package/package.lua4
-rw-r--r--xmake/rules/c++/build_optimization/config.lua4
2 files changed, 2 insertions, 6 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index 7abd5105a..d6eae8a1b 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -2389,9 +2389,7 @@ function _instance:_generate_lto_configs(sourcekind)
local cflag = sourcekind == "cxx" and "cxxflags" or "cflags"
if cc == "cl" then
configs[cflag] = "-GL"
- elseif cc == "clang_cl" then
- configs[cflag] = "/clang:-flto=thin"
- elseif cc == "clang" or cc == "clangxx" then
+ elseif cc == "clang" or cc == "clangxx" or cc == "clang_cl" then
configs[cflag] = "-flto=thin"
elseif cc == "gcc" or cc == "gxx" then
configs[cflag] = "-flto"
diff --git a/xmake/rules/c++/build_optimization/config.lua b/xmake/rules/c++/build_optimization/config.lua
index 72b82a63a..4324bcf76 100644
--- a/xmake/rules/c++/build_optimization/config.lua
+++ b/xmake/rules/c++/build_optimization/config.lua
@@ -30,9 +30,7 @@ function _add_lto_optimization(target, sourcekind)
local cflag = sourcekind == "cxx" and "cxxflags" or "cflags"
if cc == "cl" then
target:add(cflag, "-GL")
- elseif cc == "clang_cl" then
- target:add(cflag, "/clang:-flto=thin")
- elseif cc == "clang" or cc == "clangxx" then
+ elseif cc == "clang" or cc == "clangxx" or cc == "clang_cl" then
target:add(cflag, "-flto=thin")
elseif cc == "gcc" or cc == "gxx" then
target:add(cflag, "-flto")