From 01b58e6282eef559fc80719b5ebc2eee50f01450 Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Wed, 21 Aug 2024 14:26:41 +0200 Subject: clang: Add support for building clang-tidy --- src/compilers/clang-16-native.TARGETS | 56 ++++++++++++++++++++++++++++++++++- src/compilers/clang-17-native.TARGETS | 56 ++++++++++++++++++++++++++++++++++- src/compilers/clang-18-native.TARGETS | 56 ++++++++++++++++++++++++++++++++++- 3 files changed, 165 insertions(+), 3 deletions(-) (limited to 'src/compilers') diff --git a/src/compilers/clang-16-native.TARGETS b/src/compilers/clang-16-native.TARGETS index 019c42b..33b2921 100644 --- a/src/compilers/clang-16-native.TARGETS +++ b/src/compilers/clang-16-native.TARGETS @@ -133,7 +133,61 @@ , "cp -r ${LOCALBASE}/. ${DESTDIR}/." , "chmod -R +w ${DESTDIR}/*" , "mkdir build" - , "cmake -B build -S llvm ${CONF_ARGS} -DLLVM_USE_FOLDERS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON -DLLVM_ENABLE_PROJECTS=clang -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_PARALLEL_LINK_JOBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX= -DLLVM_HOST_TRIPLE=${HOST_TRIPLE} -DLLVM_NATIVE_TARGET=ON -DLIBCXXABI_ENABLE_ASSERTIONS=OFF -DLIBUNWIND_ENABLE_ASSERTIONS=OFF >configure.log 2>&1 || (cat configure.log && exit 1)" + , { "type": "join" + , "separator": " " + , "$1": + [ "cmake" + , "-B" + , "build" + , "-S" + , "llvm" + , "${CONF_ARGS}" + , "-DLLVM_USE_FOLDERS=OFF" + , "-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"] + } + ] + } + } + ] + } + ] + } + , "-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind'" + , "-DLLVM_TARGETS_TO_BUILD=X86" + , "-DLLVM_PARALLEL_LINK_JOBS=1" + , "-DCMAKE_BUILD_TYPE=Release" + , "-DCMAKE_INSTALL_PREFIX=" + , "-DLLVM_HOST_TRIPLE=${HOST_TRIPLE}" + , "-DLLVM_NATIVE_TARGET=ON" + , "-DLIBCXXABI_ENABLE_ASSERTIONS=OFF" + , "-DLIBUNWIND_ENABLE_ASSERTIONS=OFF" + , ">configure.log 2>&1 || (cat configure.log && exit 1)" + ] + } , "cmake --build build --target clang -j${NJOBS} >build.log 2>&1 || (cat configure.log build.log && exit 1)" , "export LDFLAGS=\"--gcc-toolchain=${GCC_TOOLCHAIN} ${LINK_ARGS}\"" , "cmake --build build --target all -j${NJOBS} >>build.log 2>&1 || (cat configure.log build.log && exit 1)" diff --git a/src/compilers/clang-17-native.TARGETS b/src/compilers/clang-17-native.TARGETS index 8d3ebda..19fc02e 100644 --- a/src/compilers/clang-17-native.TARGETS +++ b/src/compilers/clang-17-native.TARGETS @@ -133,7 +133,61 @@ , "cp -r ${LOCALBASE}/. ${DESTDIR}/." , "chmod -R +w ${DESTDIR}/*" , "mkdir build" - , "cmake -B build -S llvm ${CONF_ARGS} -DLLVM_USE_FOLDERS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON -DLLVM_ENABLE_PROJECTS=clang -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_PARALLEL_LINK_JOBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX= -DLLVM_HOST_TRIPLE=${HOST_TRIPLE} -DLLVM_NATIVE_TARGET=ON -DLIBCXXABI_ENABLE_ASSERTIONS=OFF -DLIBUNWIND_ENABLE_ASSERTIONS=OFF >configure.log 2>&1 || (cat configure.log && exit 1)" + , { "type": "join" + , "separator": " " + , "$1": + [ "cmake" + , "-B" + , "build" + , "-S" + , "llvm" + , "${CONF_ARGS}" + , "-DLLVM_USE_FOLDERS=OFF" + , "-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"] + } + ] + } + } + ] + } + ] + } + , "-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind'" + , "-DLLVM_TARGETS_TO_BUILD=X86" + , "-DLLVM_PARALLEL_LINK_JOBS=1" + , "-DCMAKE_BUILD_TYPE=Release" + , "-DCMAKE_INSTALL_PREFIX=" + , "-DLLVM_HOST_TRIPLE=${HOST_TRIPLE}" + , "-DLLVM_NATIVE_TARGET=ON" + , "-DLIBCXXABI_ENABLE_ASSERTIONS=OFF" + , "-DLIBUNWIND_ENABLE_ASSERTIONS=OFF" + , ">configure.log 2>&1 || (cat configure.log && exit 1)" + ] + } , "cmake --build build --target clang -j${NJOBS} >build.log 2>&1 || (cat configure.log build.log && exit 1)" , "export LDFLAGS=\"--gcc-toolchain=${GCC_TOOLCHAIN} ${LINK_ARGS}\"" , "cmake --build build --target all -j${NJOBS} >>build.log 2>&1 || (cat configure.log build.log && exit 1)" diff --git a/src/compilers/clang-18-native.TARGETS b/src/compilers/clang-18-native.TARGETS index bf2a456..e0ef548 100644 --- a/src/compilers/clang-18-native.TARGETS +++ b/src/compilers/clang-18-native.TARGETS @@ -133,7 +133,61 @@ , "cp -r ${LOCALBASE}/. ${DESTDIR}/." , "chmod -R +w ${DESTDIR}/*" , "mkdir build" - , "cmake -B build -S llvm ${CONF_ARGS} -DLLVM_USE_FOLDERS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON -DLLVM_ENABLE_PROJECTS=clang -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_PARALLEL_LINK_JOBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX= -DLLVM_HOST_TRIPLE=${HOST_TRIPLE} -DLLVM_NATIVE_TARGET=ON -DLIBCXXABI_ENABLE_ASSERTIONS=OFF -DLIBUNWIND_ENABLE_ASSERTIONS=OFF >configure.log 2>&1 || (cat configure.log && exit 1)" + , { "type": "join" + , "separator": " " + , "$1": + [ "cmake" + , "-B" + , "build" + , "-S" + , "llvm" + , "${CONF_ARGS}" + , "-DLLVM_USE_FOLDERS=OFF" + , "-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"] + } + ] + } + } + ] + } + ] + } + , "-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind'" + , "-DLLVM_TARGETS_TO_BUILD=X86" + , "-DLLVM_PARALLEL_LINK_JOBS=1" + , "-DCMAKE_BUILD_TYPE=Release" + , "-DCMAKE_INSTALL_PREFIX=" + , "-DLLVM_HOST_TRIPLE=${HOST_TRIPLE}" + , "-DLLVM_NATIVE_TARGET=ON" + , "-DLIBCXXABI_ENABLE_ASSERTIONS=OFF" + , "-DLIBUNWIND_ENABLE_ASSERTIONS=OFF" + , ">configure.log 2>&1 || (cat configure.log && exit 1)" + ] + } , "cmake --build build --target clang -j${NJOBS} >build.log 2>&1 || (cat configure.log build.log && exit 1)" , "export LDFLAGS=\"--gcc-toolchain=${GCC_TOOLCHAIN} ${LINK_ARGS}\"" , "cmake --build build --target all -j${NJOBS} >>build.log 2>&1 || (cat configure.log build.log && exit 1)" -- cgit v1.2.3