summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-09-20 07:17:03 +0800
committerGitHub <[email protected]>2022-09-20 07:17:03 +0800
commitb17aafa3ba887d41fb9dc067c401c5930bc3f79f (patch)
tree2d724311eaca789e44a7ef89ea0908470887701c
parentc8dc37772dbd9250297d59778dd45c99e25c70a3 (diff)
parenta3afa19af78efbf72c9201d5499afc8ae3a1d8ab (diff)
Merge pull request #2833 from shithappens2016/remove-fbuiltin-module-map-on-windows-mingw
remove `-fbuiltin-module-map` in the (windows)mingw environment make the compilation work
-rw-r--r--xmake/rules/c++/modules/modules_support/clang.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang.lua b/xmake/rules/c++/modules/modules_support/clang.lua
index e67bacef1..4eaee0a84 100644
--- a/xmake/rules/c++/modules/modules_support/clang.lua
+++ b/xmake/rules/c++/modules/modules_support/clang.lua
@@ -487,11 +487,15 @@ end
function get_builtinmodulemapflag(target)
local builtinmodulemapflag = _g.builtinmodulemapflag
if builtinmodulemapflag == nil then
- local compinst = target:compiler("cxx")
- if compinst:has_flags("-fbuiltin-module-map", "cxxflags", {flagskey = "clang_builtin_module_map"}) then
- builtinmodulemapflag = "-fbuiltin-module-map"
+ -- this flag seems clang on mingw doesn't distribute it
+ -- @see https://github.com/xmake-io/xmake/pull/2833
+ if not target:is_plat("mingw") then
+ local compinst = target:compiler("cxx")
+ if compinst:has_flags("-fbuiltin-module-map", "cxxflags", {flagskey = "clang_builtin_module_map"}) then
+ builtinmodulemapflag = "-fbuiltin-module-map"
+ end
+ assert(builtinmodulemapflag, "compiler(clang): does not support c++ module!")
end
- assert(builtinmodulemapflag, "compiler(clang): does not support c++ module!")
_g.builtinmodulemapflag = builtinmodulemapflag or false
end
return builtinmodulemapflag or nil