diff options
Diffstat (limited to 'src/compilers/clang-19-native.TARGETS')
-rw-r--r-- | src/compilers/clang-19-native.TARGETS | 52 |
1 files changed, 45 insertions, 7 deletions
diff --git a/src/compilers/clang-19-native.TARGETS b/src/compilers/clang-19-native.TARGETS index 6ab96c3..652d329 100644 --- a/src/compilers/clang-19-native.TARGETS +++ b/src/compilers/clang-19-native.TARGETS @@ -65,10 +65,7 @@ { "type": ["@", "rules", "CC/foreign/shell", "data"] , "arguments_config": ["TOOLCHAIN_CONFIG"] , "project": ["patched_sources"] - , "localbase": - [ "binutils_dir" - , ["@", "iwyu", "", "sources"] - ] + , "localbase": ["binutils_dir", ["@", "iwyu", "", "sources"]] , "cmds": [ { "type": "join" , "$1": @@ -154,6 +151,48 @@ , "-DLLVM_INCLUDE_DOCS=OFF" , "-DLLVM_INCLUDE_TESTS=OFF" , "-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON" + , { "type": "join" + , "$1": + [ "-DLLVM_ENABLE_PROJECTS=" + , { "type": "join_cmd" + , "$1": + [ { "type": "join" + , "separator": ";" + , "$1": + { "type": "++" + , "$1": + [ ["clang"] + , { "type": "if" + , "cond": + { "type": "lookup" + , "key": "INCLUDE_LINTER" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": ["clang-tools-extra"] + } + , { "type": "if" + , "cond": + { "type": "lookup" + , "key": "INCLUDE_LLD" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": ["lld"] + } + ] + } + } + ] + } + ] + } , { "type": "if" , "cond": { "type": "lookup" @@ -168,12 +207,11 @@ { "type": "join" , "separator": " " , "$1": - [ "-DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra'" - , "-DLLVM_EXTERNAL_PROJECTS=iwyu" + [ "-DLLVM_EXTERNAL_PROJECTS=iwyu" , "-DLLVM_EXTERNAL_IWYU_SOURCE_DIR=${LOCALBASE}/iwyu" ] } - , "else": "-DLLVM_ENABLE_PROJECTS=clang" + , "else": "" } , "-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind'" , "-DLLVM_TARGETS_TO_BUILD=X86" |