llvmPackages_5: drop

While using very old compilers is a fair usecase, it induces a maintenance churn as
we collect more and more LLVM versions for the LLVM maintainers.

Especially when we need to backport uniform changes to the whole tree,
furthermore, it consumes and waste CI resources.

+6 -2377
-14
pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch
··· 1 - diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp 2 - index 00bd60bc24bb..17416b0bd3c0 100644 3 - --- a/lib/Driver/ToolChains/CommonArgs.cpp 4 - +++ b/lib/Driver/ToolChains/CommonArgs.cpp 5 - @@ -376,8 +376,7 @@ void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args, 6 - // as gold requires -plugin to come before any -plugin-opt that -Wl might 7 - // forward. 8 - CmdArgs.push_back("-plugin"); 9 - - std::string Plugin = 10 - - ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold.so"; 11 - + std::string Plugin = "@libllvmLibdir@" "/LLVMgold.so"; 12 - CmdArgs.push_back(Args.MakeArgString(Plugin)); 13 - 14 - // Try to pass driver level flags relevant to LTO code generation down to
-127
pkgs/development/compilers/llvm/5/clang/default.nix
··· 1 - { lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 2 - , buildLlvmTools 3 - , fixDarwinDylibNames 4 - , enableManpages ? false 5 - }: 6 - 7 - let 8 - self = stdenv.mkDerivation ({ 9 - pname = "clang"; 10 - inherit version; 11 - 12 - src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s"; 13 - 14 - unpackPhase = '' 15 - unpackFile $src 16 - mv cfe-${version}* clang 17 - sourceRoot=$PWD/clang 18 - unpackFile ${clang-tools-extra_src} 19 - mv clang-tools-extra-* $sourceRoot/tools/extra 20 - ''; 21 - 22 - nativeBuildInputs = [ cmake python3 ] 23 - ++ lib.optional enableManpages python3.pkgs.sphinx 24 - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; 25 - 26 - buildInputs = [ libxml2 libllvm ]; 27 - 28 - cmakeFlags = [ 29 - "-DCMAKE_CXX_FLAGS=-std=c++11" 30 - "-DLLVM_ENABLE_RTTI=ON" 31 - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" 32 - ] ++ lib.optionals enableManpages [ 33 - "-DCLANG_INCLUDE_DOCS=ON" 34 - "-DLLVM_ENABLE_SPHINX=ON" 35 - "-DSPHINX_OUTPUT_MAN=ON" 36 - "-DSPHINX_OUTPUT_HTML=OFF" 37 - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" 38 - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 39 - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" 40 - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" 41 - ]; 42 - 43 - patches = [ 44 - ../../common/clang/5-8-purity.patch 45 - ./gnu-install-dirs.patch 46 - (substituteAll { 47 - src = ./LLVMgold-path.patch; 48 - libllvmLibdir = "${libllvm.lib}/lib"; 49 - }) 50 - ]; 51 - 52 - postPatch = '' 53 - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ 54 - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ 55 - lib/Driver/ToolChains/*.cpp 56 - '' + lib.optionalString stdenv.hostPlatform.isMusl '' 57 - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp 58 - ''; 59 - 60 - outputs = [ "out" "lib" "dev" "python" ]; 61 - 62 - postInstall = '' 63 - ln -sv $out/bin/clang $out/bin/cpp 64 - 65 - # Move libclang to 'lib' output 66 - moveToOutput "lib/libclang.*" "$lib" 67 - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ 68 - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." 69 - 70 - mkdir -p $python/bin $python/share/{clang,scan-view} 71 - mv $out/bin/{git-clang-format,scan-view} $python/bin 72 - if [ -e $out/bin/set-xcode-analyzer ]; then 73 - mv $out/bin/set-xcode-analyzer $python/bin 74 - fi 75 - mv $out/share/clang/*.py $python/share/clang 76 - mv $out/share/scan-view/*.py $python/share/scan-view 77 - rm $out/bin/c-index-test 78 - patchShebangs $python/bin 79 - 80 - mkdir -p $dev/bin 81 - cp bin/clang-tblgen $dev/bin 82 - ''; 83 - 84 - passthru = { 85 - inherit libllvm; 86 - isClang = true; 87 - hardeningUnsupportedFlags = [ "fortify3" ]; 88 - }; 89 - 90 - meta = llvm_meta // { 91 - homepage = "https://clang.llvm.org/"; 92 - description = "A C language family frontend for LLVM"; 93 - longDescription = '' 94 - The Clang project provides a language front-end and tooling 95 - infrastructure for languages in the C language family (C, C++, Objective 96 - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. 97 - It aims to deliver amazingly fast compiles, extremely useful error and 98 - warning messages and to provide a platform for building great source 99 - level tools. The Clang Static Analyzer and clang-tidy are tools that 100 - automatically find bugs in your code, and are great examples of the sort 101 - of tools that can be built using the Clang frontend as a library to 102 - parse C/C++ code. 103 - ''; 104 - mainProgram = "clang"; 105 - }; 106 - } // lib.optionalAttrs enableManpages { 107 - pname = "clang-manpages"; 108 - 109 - buildPhase = '' 110 - make docs-clang-man 111 - ''; 112 - 113 - installPhase = '' 114 - mkdir -p $out/share/man/man1 115 - # Manually install clang manpage 116 - cp docs/man/*.1 $out/share/man/man1/ 117 - ''; 118 - 119 - outputs = [ "out" ]; 120 - 121 - doCheck = false; 122 - 123 - meta = llvm_meta // { 124 - description = "man page for Clang ${version}"; 125 - }; 126 - }); 127 - in self
-242
pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index 2667b1d6892e..87c5ad58738f 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.4.3) 6 - if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) 7 - project(Clang) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - # Rely on llvm-config. 12 - set(CONFIG_OUTPUT) 13 - find_program(LLVM_CONFIG "llvm-config") 14 - @@ -344,7 +346,7 @@ include_directories(BEFORE 15 - 16 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 17 - install(DIRECTORY include/clang include/clang-c 18 - - DESTINATION include 19 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 20 - FILES_MATCHING 21 - PATTERN "*.def" 22 - PATTERN "*.h" 23 - @@ -353,7 +355,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 24 - ) 25 - 26 - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang 27 - - DESTINATION include 28 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 29 - FILES_MATCHING 30 - PATTERN "CMakeFiles" EXCLUDE 31 - PATTERN "*.inc" 32 - @@ -361,7 +363,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 33 - ) 34 - 35 - install(PROGRAMS utils/bash-autocomplete.sh 36 - - DESTINATION share/clang 37 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 38 - ) 39 - endif() 40 - 41 - diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake 42 - index e657059744a4..19da44638fe6 100644 43 - --- a/cmake/modules/AddClang.cmake 44 - +++ b/cmake/modules/AddClang.cmake 45 - @@ -99,9 +99,9 @@ macro(add_clang_library name) 46 - install(TARGETS ${name} 47 - COMPONENT ${name} 48 - ${export_to_clangtargets} 49 - - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} 50 - - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} 51 - - RUNTIME DESTINATION bin) 52 - + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 53 - + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 54 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 55 - 56 - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) 57 - add_custom_target(install-${name} 58 - @@ -143,7 +143,7 @@ macro(add_clang_tool name) 59 - 60 - install(TARGETS ${name} 61 - ${export_to_clangtargets} 62 - - RUNTIME DESTINATION bin 63 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 64 - COMPONENT ${name}) 65 - 66 - if(NOT CMAKE_CONFIGURATION_TYPES) 67 - @@ -160,5 +160,5 @@ endmacro() 68 - macro(add_clang_symlink name dest) 69 - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) 70 - # Always generate install targets 71 - - llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) 72 - + llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) 73 - endmacro() 74 - diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt 75 - index a621c02644e3..e140efc9c83c 100644 76 - --- a/lib/Headers/CMakeLists.txt 77 - +++ b/lib/Headers/CMakeLists.txt 78 - @@ -129,13 +129,13 @@ install( 79 - FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h 80 - COMPONENT clang-headers 81 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 82 - - DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) 83 - + DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) 84 - 85 - install( 86 - FILES ${cuda_wrapper_files} 87 - COMPONENT clang-headers 88 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 89 - - DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) 90 - + DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) 91 - 92 - if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's. 93 - add_custom_target(install-clang-headers 94 - diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt 95 - index ad990e010eef..92e52d05afb9 100644 96 - --- a/tools/c-index-test/CMakeLists.txt 97 - +++ b/tools/c-index-test/CMakeLists.txt 98 - @@ -48,7 +48,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 99 - set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH 100 - "@executable_path/../../lib") 101 - else() 102 - - set(INSTALL_DESTINATION bin) 103 - + set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}) 104 - endif() 105 - 106 - install(TARGETS c-index-test 107 - diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt 108 - index 04151a8e0331..13918d91c4ba 100644 109 - --- a/tools/clang-check/CMakeLists.txt 110 - +++ b/tools/clang-check/CMakeLists.txt 111 - @@ -19,4 +19,4 @@ target_link_libraries(clang-check 112 - ) 113 - 114 - install(TARGETS clang-check 115 - - RUNTIME DESTINATION bin) 116 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 117 - diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt 118 - index a13633eaefc4..9b0094783690 100644 119 - --- a/tools/clang-format/CMakeLists.txt 120 - +++ b/tools/clang-format/CMakeLists.txt 121 - @@ -20,20 +20,20 @@ if( LLVM_USE_SANITIZE_COVERAGE ) 122 - endif() 123 - 124 - install(PROGRAMS clang-format-bbedit.applescript 125 - - DESTINATION share/clang 126 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 127 - COMPONENT clang-format) 128 - install(PROGRAMS clang-format-diff.py 129 - - DESTINATION share/clang 130 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 131 - COMPONENT clang-format) 132 - install(PROGRAMS clang-format-sublime.py 133 - - DESTINATION share/clang 134 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 135 - COMPONENT clang-format) 136 - install(PROGRAMS clang-format.el 137 - - DESTINATION share/clang 138 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 139 - COMPONENT clang-format) 140 - install(PROGRAMS clang-format.py 141 - - DESTINATION share/clang 142 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 143 - COMPONENT clang-format) 144 - install(PROGRAMS git-clang-format 145 - - DESTINATION bin 146 - + DESTINATION ${CMAKE_INSTALL_BINDIR} 147 - COMPONENT clang-format) 148 - diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt 149 - index 6161d08ae587..a003292d1676 100644 150 - --- a/tools/clang-offload-bundler/CMakeLists.txt 151 - +++ b/tools/clang-offload-bundler/CMakeLists.txt 152 - @@ -21,4 +21,4 @@ target_link_libraries(clang-offload-bundler 153 - ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS} 154 - ) 155 - 156 - -install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin) 157 - +install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 158 - diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt 159 - index 771e3bdea6f0..d1396e62b28f 100644 160 - --- a/tools/clang-rename/CMakeLists.txt 161 - +++ b/tools/clang-rename/CMakeLists.txt 162 - @@ -14,11 +14,11 @@ target_link_libraries(clang-rename 163 - clangToolingRefactor 164 - ) 165 - 166 - -install(TARGETS clang-rename RUNTIME DESTINATION bin) 167 - +install(TARGETS clang-rename RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 168 - 169 - install(PROGRAMS clang-rename.py 170 - - DESTINATION share/clang 171 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 172 - COMPONENT clang-rename) 173 - install(PROGRAMS clang-rename.el 174 - - DESTINATION share/clang 175 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/clang 176 - COMPONENT clang-rename) 177 - diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt 178 - index 2dd670307636..1fe576f77ddb 100644 179 - --- a/tools/libclang/CMakeLists.txt 180 - +++ b/tools/libclang/CMakeLists.txt 181 - @@ -121,7 +121,7 @@ endif() 182 - if(INTERNAL_INSTALL_PREFIX) 183 - set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") 184 - else() 185 - - set(LIBCLANG_HEADERS_INSTALL_DESTINATION include) 186 - + set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) 187 - endif() 188 - 189 - install(DIRECTORY ../../include/clang-c 190 - diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt 191 - index 380379300b09..adfd58ed5f7d 100644 192 - --- a/tools/scan-build/CMakeLists.txt 193 - +++ b/tools/scan-build/CMakeLists.txt 194 - @@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD) 195 - ${CMAKE_BINARY_DIR}/bin/ 196 - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) 197 - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) 198 - - install(PROGRAMS bin/${BinFile} DESTINATION bin) 199 - + install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) 200 - endforeach() 201 - 202 - foreach(LibexecFile ${LibexecFiles}) 203 - @@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD) 204 - ${CMAKE_BINARY_DIR}/libexec/ 205 - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}) 206 - list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) 207 - - install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec) 208 - + install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) 209 - endforeach() 210 - 211 - foreach(ManPage ${ManPages}) 212 - @@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD) 213 - ${CMAKE_BINARY_DIR}/share/scan-build/ 214 - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}) 215 - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}) 216 - - install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build) 217 - + install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build) 218 - endforeach() 219 - 220 - add_custom_target(scan-build ALL DEPENDS ${Depends}) 221 - diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt 222 - index b305ca562a72..554bcb379061 100644 223 - --- a/tools/scan-view/CMakeLists.txt 224 - +++ b/tools/scan-view/CMakeLists.txt 225 - @@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW) 226 - ${CMAKE_BINARY_DIR}/bin/ 227 - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) 228 - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) 229 - - install(PROGRAMS bin/${BinFile} DESTINATION bin) 230 - + install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) 231 - endforeach() 232 - 233 - foreach(ShareFile ${ShareFiles}) 234 - @@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW) 235 - ${CMAKE_BINARY_DIR}/share/scan-view/ 236 - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) 237 - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) 238 - - install(FILES share/${ShareFile} DESTINATION share/scan-view) 239 - + install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view) 240 - endforeach() 241 - 242 - add_custom_target(scan-view ALL DEPENDS ${Depends})
-23
pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch
··· 1 - diff -ur compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake 2 - --- compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake 2017-05-25 00:53:24.000000000 +0900 3 - +++ compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:24:24.937433155 +0900 4 - @@ -24,7 +24,7 @@ 5 - 6 - 7 - set(ARM64 aarch64) 8 - -set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) 9 - +set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) 10 - set(X86 i386 i686) 11 - set(X86_64 x86_64) 12 - set(MIPS32 mips mipsel) 13 - diff -ur compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt 14 - --- compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt 2017-07-13 04:33:30.000000000 +0900 15 - +++ compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:24:45.945075423 +0900 16 - @@ -444,6 +444,7 @@ 17 - set(armv7_SOURCES ${arm_SOURCES}) 18 - set(armv7s_SOURCES ${arm_SOURCES}) 19 - set(armv7k_SOURCES ${arm_SOURCES}) 20 - +set(armv7l_SOURCES ${arm_SOURCES}) 21 - set(arm64_SOURCES ${aarch64_SOURCES}) 22 - 23 - # macho_embedded archs
-155
pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch
··· 1 - From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 2 - From: Will Dietz <w@wdtz.org> 3 - Date: Tue, 19 Sep 2017 13:13:06 -0500 4 - Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that 5 - needs it 6 - 7 - --- 8 - cmake/Modules/AddCompilerRT.cmake | 8 ------ 9 - test/asan/CMakeLists.txt | 52 --------------------------------------- 10 - test/tsan/CMakeLists.txt | 47 ----------------------------------- 11 - 3 files changed, 107 deletions(-) 12 - 13 - diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake 14 - index bc5fb9ff7..b64eb4246 100644 15 - --- a/cmake/Modules/AddCompilerRT.cmake 16 - +++ b/cmake/Modules/AddCompilerRT.cmake 17 - @@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) 18 - set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") 19 - set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") 20 - endif() 21 - - if(APPLE) 22 - - # Ad-hoc sign the dylibs 23 - - add_custom_command(TARGET ${libname} 24 - - POST_BUILD 25 - - COMMAND codesign --sign - $<TARGET_FILE:${libname}> 26 - - WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} 27 - - ) 28 - - endif() 29 - endif() 30 - install(TARGETS ${libname} 31 - ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} 32 - diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt 33 - index 8bfc15b5c..f23d0f71a 100644 34 - --- a/test/asan/CMakeLists.txt 35 - +++ b/test/asan/CMakeLists.txt 36 - @@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH}) 37 - endif() 38 - endforeach() 39 - 40 - -# iOS and iOS simulator test suites 41 - -# These are not added into "check-all", in order to run these tests, use 42 - -# "check-asan-iossim-x86_64" and similar. They also require that an extra env 43 - -# variable to select which iOS device or simulator to use, e.g.: 44 - -# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" 45 - -if(APPLE) 46 - - set(EXCLUDE_FROM_ALL ON) 47 - - 48 - - set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) 49 - - set(ASAN_TEST_IOS "1") 50 - - pythonize_bool(ASAN_TEST_IOS) 51 - - set(ASAN_TEST_DYNAMIC True) 52 - - 53 - - foreach(arch ${DARWIN_iossim_ARCHS}) 54 - - set(ASAN_TEST_IOSSIM "1") 55 - - pythonize_bool(ASAN_TEST_IOSSIM) 56 - - set(ASAN_TEST_TARGET_ARCH ${arch}) 57 - - set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") 58 - - set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") 59 - - get_bits_for_arch(${arch} ASAN_TEST_BITS) 60 - - string(TOUPPER ${arch} ARCH_UPPER_CASE) 61 - - set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") 62 - - configure_lit_site_cfg( 63 - - ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in 64 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg 65 - - ) 66 - - add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests" 67 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ 68 - - DEPENDS ${ASAN_TEST_DEPS}) 69 - - endforeach() 70 - - 71 - - foreach (arch ${DARWIN_ios_ARCHS}) 72 - - set(ASAN_TEST_IOSSIM "0") 73 - - pythonize_bool(ASAN_TEST_IOSSIM) 74 - - set(ASAN_TEST_TARGET_ARCH ${arch}) 75 - - set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") 76 - - set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios") 77 - - get_bits_for_arch(${arch} ASAN_TEST_BITS) 78 - - string(TOUPPER ${arch} ARCH_UPPER_CASE) 79 - - set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") 80 - - configure_lit_site_cfg( 81 - - ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in 82 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg 83 - - ) 84 - - add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests" 85 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ 86 - - DEPENDS ${ASAN_TEST_DEPS}) 87 - - endforeach() 88 - - 89 - - set(EXCLUDE_FROM_ALL OFF) 90 - -endif() 91 - - 92 - # Add unit tests. 93 - if(COMPILER_RT_INCLUDE_TESTS) 94 - set(ASAN_TEST_DYNAMIC False) 95 - diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt 96 - index a68908612..cde0accb5 100644 97 - --- a/test/tsan/CMakeLists.txt 98 - +++ b/test/tsan/CMakeLists.txt 99 - @@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH}) 100 - list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) 101 - endforeach() 102 - 103 - -# iOS and iOS simulator test suites 104 - -# These are not added into "check-all", in order to run these tests, use 105 - -# "check-tsan-iossim-x86_64" and similar. They also require an extra environment 106 - -# variable to select which iOS device or simulator to use, e.g.: 107 - -# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" 108 - -if(APPLE) 109 - - set(EXCLUDE_FROM_ALL ON) 110 - - 111 - - set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) 112 - - set(TSAN_TEST_IOS "1") 113 - - pythonize_bool(TSAN_TEST_IOS) 114 - - 115 - - set(arch "x86_64") 116 - - set(TSAN_TEST_IOSSIM "1") 117 - - pythonize_bool(TSAN_TEST_IOSSIM) 118 - - set(TSAN_TEST_TARGET_ARCH ${arch}) 119 - - set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") 120 - - set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") 121 - - string(TOUPPER ${arch} ARCH_UPPER_CASE) 122 - - set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") 123 - - configure_lit_site_cfg( 124 - - ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in 125 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg 126 - - ) 127 - - add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" 128 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ 129 - - DEPENDS ${TSAN_TEST_DEPS}) 130 - - 131 - - set(arch "arm64") 132 - - set(TSAN_TEST_IOSSIM "0") 133 - - pythonize_bool(TSAN_TEST_IOSSIM) 134 - - set(TSAN_TEST_TARGET_ARCH ${arch}) 135 - - set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") 136 - - set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios") 137 - - string(TOUPPER ${arch} ARCH_UPPER_CASE) 138 - - set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") 139 - - configure_lit_site_cfg( 140 - - ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in 141 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg 142 - - ) 143 - - add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" 144 - - ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ 145 - - DEPENDS ${TSAN_TEST_DEPS}) 146 - - 147 - - set(EXCLUDE_FROM_ALL OFF) 148 - -endif() 149 - - 150 - if(COMPILER_RT_INCLUDE_TESTS) 151 - configure_lit_site_cfg( 152 - ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in 153 - -- 154 - 2.14.1 155 -
-10
pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
··· 1 - --- a/lib/xray/xray_buffer_queue.h 2 - +++ b/lib/xray/xray_buffer_queue.h 3 - @@ -17,6 +17,7 @@ 4 - 5 - #include "sanitizer_common/sanitizer_atomic.h" 6 - #include "sanitizer_common/sanitizer_mutex.h" 7 - +#include <cstddef> 8 - #include <deque> 9 - #include <unordered_set> 10 - #include <utility>
-112
pkgs/development/compilers/llvm/5/compiler-rt/default.nix
··· 1 - { lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi 2 - , doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD 3 - }: 4 - 5 - let 6 - 7 - useLLVM = stdenv.hostPlatform.useLLVM or false; 8 - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; 9 - inherit (stdenv.hostPlatform) isMusl; 10 - 11 - in 12 - 13 - stdenv.mkDerivation { 14 - pname = "compiler-rt"; 15 - inherit version; 16 - src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy"; 17 - 18 - nativeBuildInputs = [ cmake python3 libllvm.dev ]; 19 - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; 20 - 21 - env.NIX_CFLAGS_COMPILE = toString [ 22 - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" 23 - ]; 24 - 25 - cmakeFlags = [ 26 - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" 27 - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" 28 - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" 29 - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ 30 - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 - "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 - ] ++ lib.optionals (useLLVM || bareMetal) [ 34 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 - ] ++ lib.optionals (useLLVM || bareMetal) [ 36 - "-DCMAKE_C_COMPILER_WORKS=ON" 37 - "-DCMAKE_CXX_COMPILER_WORKS=ON" 38 - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" 39 - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" 40 - ] ++ lib.optionals (useLLVM) [ 41 - "-DCOMPILER_RT_BUILD_BUILTINS=ON" 42 - "-DCMAKE_C_FLAGS=-nodefaultlibs" 43 - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program 44 - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" 45 - ] ++ lib.optionals (bareMetal) [ 46 - "-DCOMPILER_RT_OS_DIR=baremetal" 47 - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ 48 - # The compiler-rt build infrastructure sniffs supported platforms on Darwin 49 - # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails 50 - # when it tries to use libc++ and libc++api for i386. 51 - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" 52 - ]; 53 - 54 - outputs = [ "out" "dev" ]; 55 - 56 - patches = [ 57 - ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory 58 - # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce 59 - ../../common/compiler-rt/glibc.patch 60 - ./gnu-install-dirs.patch 61 - 62 - ./sys-ustat.patch 63 - ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch 64 - ./compiler-rt-5-cstddef.patch 65 - ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 66 - 67 - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks 68 - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra 69 - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd 70 - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by 71 - # a flag and turn the flag off during the stdenv build. 72 - postPatch = lib.optionalString stdenv.isDarwin '' 73 - substituteInPlace cmake/config-ix.cmake \ 74 - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' 75 - '' + lib.optionalString (useLLVM) '' 76 - substituteInPlace lib/builtins/int_util.c \ 77 - --replace "#include <stdlib.h>" "" 78 - substituteInPlace lib/builtins/clear_cache.c \ 79 - --replace "#include <assert.h>" "" 80 - substituteInPlace lib/builtins/cpu_model.c \ 81 - --replace "#include <assert.h>" "" 82 - ''; 83 - 84 - # Hack around weird upsream RPATH bug 85 - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' 86 - ln -s "$out/lib"/*/* "$out/lib" 87 - '' + lib.optionalString (useLLVM) '' 88 - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o 89 - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o 90 - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o 91 - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o 92 - '' + lib.optionalString doFakeLibgcc '' 93 - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a 94 - ''; 95 - 96 - meta = llvm_meta // { 97 - homepage = "https://compiler-rt.llvm.org/"; 98 - description = "Compiler runtime libraries"; 99 - longDescription = '' 100 - The compiler-rt project provides highly tuned implementations of the 101 - low-level code generator support routines like "__fixunsdfdi" and other 102 - calls generated when a target doesn't have a short sequence of native 103 - instructions to implement a core IR operation. It also provides 104 - implementations of run-time libraries for dynamic testing tools such as 105 - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. 106 - ''; 107 - # "All of the code in the compiler-rt project is dual licensed under the MIT 108 - # license and the UIUC License (a BSD-like license)": 109 - license = with lib.licenses; [ mit ncsa ]; 110 - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; 111 - }; 112 - }
-103
pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index f997c53410c1..ac079d89b57b 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -12,6 +12,7 @@ cmake_minimum_required(VERSION 3.4.3) 6 - # Check if compiler-rt is built as a standalone project. 7 - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) 8 - project(CompilerRT C CXX ASM) 9 - + include(GNUInstallDirs) 10 - set(COMPILER_RT_STANDALONE_BUILD TRUE) 11 - endif() 12 - 13 - diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake 14 - index bc5fb9ff722b..91fb79d1980c 100644 15 - --- a/cmake/Modules/AddCompilerRT.cmake 16 - +++ b/cmake/Modules/AddCompilerRT.cmake 17 - @@ -344,7 +344,7 @@ macro(add_compiler_rt_resource_file target_name file_name component) 18 - add_custom_target(${target_name} DEPENDS ${dst_file}) 19 - # Install in Clang resource directory. 20 - install(FILES ${file_name} 21 - - DESTINATION ${COMPILER_RT_INSTALL_PATH} 22 - + DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX} 23 - COMPONENT ${component}) 24 - add_dependencies(${component} ${target_name}) 25 - 26 - @@ -361,7 +361,7 @@ macro(add_compiler_rt_script name) 27 - add_custom_target(${name} DEPENDS ${dst}) 28 - install(FILES ${dst} 29 - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE 30 - - DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin) 31 - + DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR}) 32 - endmacro(add_compiler_rt_script src name) 33 - 34 - # Builds custom version of libc++ and installs it in <prefix>. 35 - diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake 36 - index f646975475bb..75885bf305b8 100644 37 - --- a/cmake/Modules/CompilerRTDarwinUtils.cmake 38 - +++ b/cmake/Modules/CompilerRTDarwinUtils.cmake 39 - @@ -391,7 +391,7 @@ macro(darwin_add_embedded_builtin_libraries) 40 - set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR 41 - ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded) 42 - set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR 43 - - ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded) 44 - + ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded) 45 - 46 - set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi") 47 - set(CFLAGS_i386 "-march=pentium") 48 - diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake 49 - index b38c6ca96fac..a4580414cbc8 100644 50 - --- a/cmake/base-config-ix.cmake 51 - +++ b/cmake/base-config-ix.cmake 52 - @@ -43,11 +43,11 @@ if (LLVM_TREE_AVAILABLE) 53 - else() 54 - # Take output dir and install path from the user. 55 - set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH 56 - - "Path where built compiler-rt libraries should be stored.") 57 - + "Path where built compiler-rt build artifacts should be stored.") 58 - set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH 59 - "Path where built compiler-rt executables should be stored.") 60 - - set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH 61 - - "Path where built compiler-rt libraries should be installed.") 62 - + set(COMPILER_RT_INSTALL_PATH "" CACHE PATH 63 - + "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.") 64 - option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF) 65 - option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF) 66 - # Use a host compiler to compile/link tests. 67 - @@ -67,9 +67,9 @@ if(NOT DEFINED COMPILER_RT_OS_DIR) 68 - string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR) 69 - endif() 70 - set(COMPILER_RT_LIBRARY_OUTPUT_DIR 71 - - ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) 72 - + ${COMPILER_RT_OUTPUT_DIR}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) 73 - set(COMPILER_RT_LIBRARY_INSTALL_DIR 74 - - ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR}) 75 - + ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) 76 - 77 - if(APPLE) 78 - # On Darwin if /usr/include doesn't exist, the user probably has Xcode but not 79 - diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt 80 - index ec3bf40b95e6..af119f10ee2b 100644 81 - --- a/include/CMakeLists.txt 82 - +++ b/include/CMakeLists.txt 83 - @@ -44,8 +44,8 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc") 84 - # Install sanitizer headers. 85 - install(FILES ${SANITIZER_HEADERS} 86 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 87 - - DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer) 88 - + DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer) 89 - # Install xray headers. 90 - install(FILES ${XRAY_HEADERS} 91 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 92 - - DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray) 93 - + DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray) 94 - diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt 95 - index 2c486bff821b..0ee715da95f8 100644 96 - --- a/lib/dfsan/CMakeLists.txt 97 - +++ b/lib/dfsan/CMakeLists.txt 98 - @@ -44,4 +44,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename} 99 - DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt) 100 - add_dependencies(dfsan dfsan_abilist) 101 - install(FILES ${dfsan_abilist_filename} 102 - - DESTINATION ${COMPILER_RT_INSTALL_PATH}) 103 - + DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX})
-58
pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch
··· 1 - From 521935db9de17ad08748fd050137ac83b7734835 Mon Sep 17 00:00:00 2001 2 - From: Craig Topper <craig.topper@intel.com> 3 - Date: Thu, 24 May 2018 17:59:47 +0000 4 - Subject: [PATCH] sanitizer: Use pre-computed size of struct ustat for Linux 5 - 6 - <sys/ustat.h> has been removed from glibc 2.28 by: 7 - 8 - commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 9 - Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> 10 - Date: Sun Mar 18 11:28:59 2018 +0800 11 - 12 - Deprecate ustat syscall interface 13 - This patch uses pre-computed size of struct ustat for Linux to fix 14 - 15 - https://bugs.llvm.org/show_bug.cgi?id=37418 16 - 17 - Patch by H.J. Lu. 18 - 19 - Differential Revision: https://reviews.llvm.org/D47281 20 - 21 - git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333213 91177308-0d34-0410-b5e6-96231b3b80d8 22 - --- 23 - .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- 24 - 1 file changed, 13 insertions(+), 2 deletions(-) 25 - 26 - diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 27 - index 94b8f3f627..936d818673 100644 28 - --- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 29 - +++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 30 - @@ -159,7 +159,6 @@ typedef struct user_fpregs elf_fpregset_t; 31 - # include <sys/procfs.h> 32 - #endif 33 - #include <sys/user.h> 34 - -#include <sys/ustat.h> 35 - #include <linux/cyclades.h> 36 - #include <linux/if_eql.h> 37 - #include <linux/if_plip.h> 38 - @@ -253,7 +252,19 @@ namespace __sanitizer { 39 - #endif // SANITIZER_LINUX || SANITIZER_FREEBSD 40 - 41 - #if SANITIZER_LINUX && !SANITIZER_ANDROID 42 - - unsigned struct_ustat_sz = sizeof(struct ustat); 43 - + // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which 44 - + // has been removed from glibc 2.28. 45 - +#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ 46 - + || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ 47 - + || defined(__x86_64__) 48 - +#define SIZEOF_STRUCT_USTAT 32 49 - +#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ 50 - + || defined(__powerpc__) || defined(__s390__) 51 - +#define SIZEOF_STRUCT_USTAT 20 52 - +#else 53 - +#error Unknown size of struct ustat 54 - +#endif 55 - + unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; 56 - unsigned struct_rlimit64_sz = sizeof(struct rlimit64); 57 - unsigned struct_statvfs64_sz = sizeof(struct statvfs64); 58 - #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
-140
pkgs/development/compilers/llvm/5/default.nix
··· 1 - { lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs 2 - , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith 3 - , buildLlvmTools # tools, but from the previous stage, for cross 4 - , targetLlvmLibraries # libraries, but from the next stage, for cross 5 - , targetLlvm 6 - }: 7 - 8 - let 9 - release_version = "5.0.2"; 10 - version = release_version; # differentiating these is important for rc's 11 - targetConfig = stdenv.targetPlatform.config; 12 - 13 - fetch = name: sha256: fetchurl { 14 - url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; 15 - inherit sha256; 16 - }; 17 - 18 - clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3"; 19 - 20 - llvm_meta = { 21 - license = lib.licenses.ncsa; 22 - maintainers = lib.teams.llvm.members; 23 - 24 - # See llvm/cmake/config-ix.cmake. 25 - platforms = 26 - lib.platforms.aarch64 ++ 27 - lib.platforms.arm ++ 28 - lib.platforms.mips ++ 29 - lib.platforms.power ++ 30 - lib.platforms.s390x ++ 31 - lib.platforms.wasi ++ 32 - lib.platforms.x86; 33 - }; 34 - 35 - tools = lib.makeExtensible (tools: let 36 - callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); 37 - mkExtraBuildCommands = cc: '' 38 - rsrc="$out/resource-root" 39 - mkdir "$rsrc" 40 - ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" 41 - echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags 42 - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" 43 - ''; 44 - 45 - in { 46 - 47 - libllvm = callPackage ./llvm { 48 - inherit llvm_meta; 49 - }; 50 - 51 - # `llvm` historically had the binaries. When choosing an output explicitly, 52 - # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* 53 - llvm = tools.libllvm; 54 - 55 - libllvm-polly = callPackage ./llvm { 56 - inherit llvm_meta; 57 - enablePolly = true; 58 - }; 59 - 60 - llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; }; 61 - 62 - libclang = callPackage ./clang { 63 - inherit clang-tools-extra_src llvm_meta; 64 - }; 65 - 66 - clang-unwrapped = tools.libclang; 67 - 68 - llvm-manpages = lowPrio (tools.libllvm.override { 69 - enableManpages = true; 70 - python3 = pkgs.python3; # don't use python-boot 71 - }); 72 - 73 - clang-manpages = lowPrio (tools.libclang.override { 74 - enableManpages = true; 75 - python3 = pkgs.python3; # don't use python-boot 76 - }); 77 - 78 - # pick clang appropriate for package set we are targeting 79 - clang = 80 - /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc 81 - else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM 82 - else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang 83 - else tools.libcxxClang; 84 - 85 - libstdcxxClang = wrapCCWith rec { 86 - cc = tools.clang-unwrapped; 87 - # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. 88 - libcxx = null; 89 - extraPackages = [ 90 - targetLlvmLibraries.compiler-rt 91 - ]; 92 - extraBuildCommands = mkExtraBuildCommands cc; 93 - }; 94 - 95 - libcxxClang = wrapCCWith rec { 96 - cc = tools.clang-unwrapped; 97 - libcxx = targetLlvmLibraries.libcxx; 98 - extraPackages = [ 99 - libcxx.cxxabi 100 - targetLlvmLibraries.compiler-rt 101 - ]; 102 - extraBuildCommands = mkExtraBuildCommands cc; 103 - }; 104 - 105 - lld = callPackage ./lld { 106 - inherit llvm_meta; 107 - }; 108 - 109 - lldb = callPackage ./lldb { 110 - inherit llvm_meta; 111 - }; 112 - }); 113 - 114 - libraries = lib.makeExtensible (libraries: let 115 - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); 116 - in { 117 - 118 - compiler-rt = callPackage ./compiler-rt { 119 - inherit llvm_meta; 120 - }; 121 - 122 - stdenv = overrideCC stdenv buildLlvmTools.clang; 123 - 124 - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; 125 - 126 - libcxx = callPackage ./libcxx { 127 - inherit llvm_meta; 128 - }; 129 - 130 - libcxxabi = callPackage ./libcxxabi { 131 - inherit llvm_meta; 132 - }; 133 - 134 - openmp = callPackage ./openmp { 135 - inherit llvm_meta targetLlvm; 136 - }; 137 - }); 138 - noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; 139 - 140 - in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
-79
pkgs/development/compilers/llvm/5/libcxx/default.nix
··· 1 - { lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version 2 - , cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi 3 - , libcxxabi, libcxxrt 4 - }: 5 - 6 - assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi"; 7 - 8 - stdenv.mkDerivation { 9 - pname = "libcxx"; 10 - inherit version; 11 - 12 - src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf"; 13 - 14 - postUnpack = '' 15 - unpackFile ${libcxxabi.src} 16 - export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" 17 - ''; 18 - 19 - outputs = [ "out" "dev" ]; 20 - 21 - patches = [ 22 - ./gnu-install-dirs.patch 23 - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 24 - ../../libcxx-0001-musl-hacks.patch 25 - ]; 26 - 27 - prePatch = '' 28 - substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" 29 - ''; 30 - 31 - preConfigure = '' 32 - # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package 33 - cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR") 34 - '' + lib.optionalString stdenv.hostPlatform.isMusl '' 35 - patchShebangs utils/cat_files.py 36 - ''; 37 - nativeBuildInputs = [ cmake ] 38 - ++ lib.optional stdenv.hostPlatform.isMusl python3 39 - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; 40 - 41 - buildInputs = [ cxxabi ]; 42 - 43 - cmakeFlags = [ 44 - "-DLIBCXX_LIBCPPABI_VERSION=2" 45 - "-DLIBCXX_CXX_ABI=${cxxabi.pname}" 46 - ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1" 47 - ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"; 48 - 49 - preInstall = lib.optionalString (stdenv.isDarwin) '' 50 - for file in lib/*.dylib; do 51 - if [ -L "$file" ]; then continue; fi 52 - 53 - baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1)) 54 - installName="$out/lib/$baseName" 55 - abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/') 56 - 57 - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do 58 - ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file 59 - done 60 - done 61 - ''; 62 - 63 - passthru = { 64 - isLLVM = true; 65 - inherit cxxabi; 66 - }; 67 - 68 - meta = llvm_meta // { 69 - homepage = "https://libcxx.llvm.org/"; 70 - description = "C++ standard library"; 71 - longDescription = '' 72 - libc++ is an implementation of the C++ standard library, targeting C++11, 73 - C++14 and above. 74 - ''; 75 - # "All of the code in libc++ is dual licensed under the MIT license and the 76 - # UIUC License (a BSD-like license)": 77 - license = with lib.licenses; [ mit ncsa ]; 78 - }; 79 - }
-72
pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index ca5afba86d19..ed69e4043c3d 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -22,6 +22,8 @@ set(CMAKE_MODULE_PATH 6 - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) 7 - project(libcxx CXX C) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - set(PACKAGE_NAME libcxx) 12 - set(PACKAGE_VERSION 5.0.0) 13 - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 - diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake 15 - index b1f6bee8f945..1b455fceed7f 100644 16 - --- a/cmake/Modules/HandleLibCXXABI.cmake 17 - +++ b/cmake/Modules/HandleLibCXXABI.cmake 18 - @@ -55,7 +55,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs) 19 - ) 20 - if (LIBCXX_INSTALL_HEADERS) 21 - install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" 22 - - DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir} 23 - + DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} 24 - COMPONENT libcxx 25 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 26 - ) 27 - diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt 28 - index 5a1b2ccdc426..106d3d6c1d3c 100644 29 - --- a/include/CMakeLists.txt 30 - +++ b/include/CMakeLists.txt 31 - @@ -20,7 +20,7 @@ endif() 32 - 33 - if (LIBCXX_INSTALL_HEADERS) 34 - install(DIRECTORY . 35 - - DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 36 - + DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 37 - COMPONENT cxx-headers 38 - FILES_MATCHING 39 - ${LIBCXX_HEADER_PATTERN} 40 - @@ -44,7 +44,7 @@ if (LIBCXX_INSTALL_HEADERS) 41 - set(generated_config_deps generate_config_header) 42 - # Install the generated header as __config. 43 - install(FILES ${LIBCXX_BINARY_DIR}/__generated_config 44 - - DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 45 - + DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 46 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 47 - RENAME __config 48 - COMPONENT cxx-headers) 49 - diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt 50 - index 578651423f3b..277befd631ac 100644 51 - --- a/lib/CMakeLists.txt 52 - +++ b/lib/CMakeLists.txt 53 - @@ -355,8 +355,8 @@ if (LIBCXX_INSTALL_LIBRARY) 54 - set(experimental_lib cxx_experimental) 55 - endif() 56 - install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib} 57 - - LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx 58 - - ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx 59 - + LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx 60 - + ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx 61 - ) 62 - # NOTE: This install command must go after the cxx install command otherwise 63 - # it will not be executed after the library symlinks are installed. 64 - @@ -364,7 +364,7 @@ if (LIBCXX_INSTALL_LIBRARY) 65 - # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx> 66 - # after we required CMake 3.0. 67 - install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" 68 - - DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} 69 - + DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} 70 - COMPONENT libcxx) 71 - endif() 72 - endif()
-70
pkgs/development/compilers/llvm/5/libcxxabi/default.nix
··· 1 - { lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }: 2 - 3 - stdenv.mkDerivation { 4 - pname = "libcxxabi"; 5 - inherit version; 6 - 7 - src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv"; 8 - 9 - outputs = [ "out" "dev" ]; 10 - 11 - postUnpack = '' 12 - unpackFile ${libcxx.src} 13 - unpackFile ${llvm.src} 14 - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" 15 - '' + lib.optionalString stdenv.isDarwin '' 16 - export TRIPLE=x86_64-apple-darwin 17 - '' + lib.optionalString stdenv.hostPlatform.isMusl '' 18 - patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch} 19 - ''; 20 - 21 - patches = [ 22 - ./gnu-install-dirs.patch 23 - ]; 24 - 25 - nativeBuildInputs = [ cmake ]; 26 - buildInputs = lib.optional (!stdenv.isDarwin) libunwind; 27 - 28 - preInstall = lib.optionalString stdenv.isDarwin '' 29 - for file in lib/*.dylib; do 30 - if [ -L "$file" ]; then continue; fi 31 - 32 - # Fix up the install name. Preserve the basename, just replace the path. 33 - installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))" 34 - 35 - # this should be done in CMake, but having trouble figuring out 36 - # the magic combination of necessary CMake variables 37 - # if you fancy a try, take a look at 38 - # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling 39 - ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file 40 - 41 - # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes 42 - # libcxxabi to sometimes link against a different version of itself. 43 - # Here we simply make that second reference point to ourselves. 44 - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do 45 - ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file 46 - done 47 - done 48 - ''; 49 - 50 - postInstall = '' 51 - mkdir -p "$dev/include" 52 - install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" 53 - ''; 54 - 55 - passthru = { 56 - libName = "c++abi"; 57 - }; 58 - 59 - meta = llvm_meta // { 60 - homepage = "https://libcxxabi.llvm.org/"; 61 - description = "Provides C++ standard library support"; 62 - longDescription = '' 63 - libc++abi is a new implementation of low level support for a standard C++ library. 64 - ''; 65 - # "All of the code in libc++abi is dual licensed under the MIT license and 66 - # the UIUC License (a BSD-like license)": 67 - license = with lib.licenses; [ mit ncsa ]; 68 - maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; 69 - }; 70 - }
-28
pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index 4db3328deb9c..74b39acfe588 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH 6 - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) 7 - project(libcxxabi CXX C) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - set(PACKAGE_NAME libcxxabi) 12 - set(PACKAGE_VERSION 5.0.0) 13 - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 15 - index adcc412880c9..71758665af05 100644 16 - --- a/src/CMakeLists.txt 17 - +++ b/src/CMakeLists.txt 18 - @@ -174,8 +174,8 @@ endif() 19 - add_custom_target(cxxabi DEPENDS ${LIBCXXABI_TARGETS}) 20 - 21 - install(TARGETS ${LIBCXXABI_TARGETS} 22 - - LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi 23 - - ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi 24 - + LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi 25 - + ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi 26 - ) 27 - 28 - if (NOT CMAKE_CONFIGURATION_TYPES)
-46
pkgs/development/compilers/llvm/5/lld/default.nix
··· 1 - { lib, stdenv, llvm_meta 2 - , buildLlvmTools 3 - , fetch 4 - , cmake 5 - , libllvm 6 - , version 7 - }: 8 - 9 - stdenv.mkDerivation rec { 10 - pname = "lld"; 11 - inherit version; 12 - 13 - src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6"; 14 - 15 - patches = [ 16 - ./gnu-install-dirs.patch 17 - ]; 18 - 19 - nativeBuildInputs = [ cmake ]; 20 - buildInputs = [ libllvm ]; 21 - 22 - cmakeFlags = [ 23 - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" 24 - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 25 - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" 26 - ]; 27 - 28 - # Musl's default stack size is too small for lld to be able to link Firefox. 29 - LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152"; 30 - 31 - outputs = [ "out" "lib" "dev" ]; 32 - 33 - meta = llvm_meta // { 34 - broken = stdenv.isDarwin; 35 - homepage = "https://lld.llvm.org/"; 36 - description = "The LLVM linker (unwrapped)"; 37 - longDescription = '' 38 - LLD is a linker from the LLVM project that is a drop-in replacement for 39 - system linkers and runs much faster than them. It also provides features 40 - that are useful for toolchain developers. 41 - The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) 42 - in descending order of completeness. Internally, LLD consists 43 - of several different linkers. 44 - ''; 45 - }; 46 - }
-68
pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index e2ab0e35f1ab..f68e23d2a70d 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) 6 - set(CMAKE_INCLUDE_CURRENT_DIR ON) 7 - set(LLD_BUILT_STANDALONE TRUE) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary") 12 - if(NOT LLVM_CONFIG_PATH) 13 - message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH") 14 - @@ -203,7 +205,7 @@ include_directories(BEFORE 15 - 16 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 17 - install(DIRECTORY include/ 18 - - DESTINATION include 19 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 20 - FILES_MATCHING 21 - PATTERN "*.h" 22 - PATTERN ".svn" EXCLUDE 23 - diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake 24 - index fd1d44199ca6..2ec1831ed8f6 100644 25 - --- a/cmake/modules/AddLLD.cmake 26 - +++ b/cmake/modules/AddLLD.cmake 27 - @@ -20,9 +20,9 @@ macro(add_lld_library name) 28 - install(TARGETS ${name} 29 - COMPONENT ${name} 30 - ${export_to_lldtargets} 31 - - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} 32 - - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} 33 - - RUNTIME DESTINATION bin) 34 - + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 35 - + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 36 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 37 - 38 - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) 39 - add_custom_target(install-${name} 40 - @@ -56,7 +56,7 @@ macro(add_lld_tool name) 41 - 42 - install(TARGETS ${name} 43 - ${export_to_lldtargets} 44 - - RUNTIME DESTINATION bin 45 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 46 - COMPONENT ${name}) 47 - 48 - if(NOT CMAKE_CONFIGURATION_TYPES) 49 - @@ -73,5 +73,5 @@ endmacro() 50 - macro(add_lld_symlink name dest) 51 - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) 52 - # Always generate install targets 53 - - llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) 54 - + llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) 55 - endmacro() 56 - diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt 57 - index 2df10697ff66..94aa8d092220 100644 58 - --- a/tools/lld/CMakeLists.txt 59 - +++ b/tools/lld/CMakeLists.txt 60 - @@ -13,7 +13,7 @@ target_link_libraries(lld 61 - ) 62 - 63 - install(TARGETS lld 64 - - RUNTIME DESTINATION bin) 65 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 66 - 67 - if(NOT LLD_SYMLINKS_TO_CREATE) 68 - set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld)
-88
pkgs/development/compilers/llvm/5/lldb/default.nix
··· 1 - { lib, stdenv, llvm_meta 2 - , fetch 3 - , fetchpatch 4 - , cmake 5 - , zlib 6 - , ncurses 7 - , swig 8 - , which 9 - , libedit 10 - , libxml2 11 - , libllvm 12 - , libclang 13 - , python3 14 - , version 15 - , darwin 16 - }: 17 - 18 - stdenv.mkDerivation rec { 19 - pname = "lldb"; 20 - inherit version; 21 - 22 - src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq"; 23 - 24 - patches = [ 25 - # Fix PythonString::GetString for >=python-3.7 26 - (fetchpatch { 27 - url = "https://github.com/llvm/llvm-project/commit/5457b426f5e15a29c0acc8af1a476132f8be2a36.patch"; 28 - sha256 = "1zbx4m0m8kbg0wq6740jcw151vb2pb1p25p401wiq8diqqagkjps"; 29 - stripLen = 1; 30 - }) 31 - ./gnu-install-dirs.patch 32 - ]; 33 - 34 - postPatch = '' 35 - # Fix up various paths that assume llvm and clang are installed in the same place 36 - sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \ 37 - cmake/modules/LLDBStandalone.cmake 38 - sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \ 39 - cmake/modules/LLDBStandalone.cmake 40 - sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \ 41 - cmake/modules/LLDBStandalone.cmake 42 - ''; 43 - 44 - outputs = [ "out" "lib" "dev" ]; 45 - 46 - nativeBuildInputs = [ 47 - cmake python3 which swig 48 - ]; 49 - 50 - buildInputs = [ 51 - ncurses zlib libedit libxml2 libllvm 52 - ] ++ lib.optionals stdenv.isDarwin [ 53 - darwin.libobjc 54 - darwin.apple_sdk.libs.xpc 55 - darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa 56 - ]; 57 - 58 - CXXFLAGS = "-fno-rtti"; 59 - hardeningDisable = [ "format" ]; 60 - 61 - cmakeFlags = [ 62 - "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" 63 - "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic 64 - ] ++ lib.optionals doCheck [ 65 - "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" 66 - "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" 67 - ]; 68 - 69 - doCheck = false; 70 - 71 - postInstall = '' 72 - mkdir -p $out/share/man/man1 73 - cp ../docs/lldb.1 $out/share/man/man1/ 74 - ''; 75 - 76 - meta = llvm_meta // { 77 - homepage = "https://lldb.llvm.org/"; 78 - description = "A next-generation high-performance debugger"; 79 - longDescription = '' 80 - LLDB is a next generation, high-performance debugger. It is built as a set 81 - of reusable components which highly leverage existing libraries in the 82 - larger LLVM Project, such as the Clang expression parser and LLVM 83 - disassembler. 84 - ''; 85 - # never built on aarch64-darwin since first introduction in nixpkgs 86 - broken = stdenv.isDarwin && stdenv.isAarch64; 87 - }; 88 - }
-76
pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index ada293811b3e..6c2149309f65 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH 6 - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" 7 - ) 8 - 9 - +include(GNUInstallDirs) 10 - + 11 - include(LLDBStandalone) 12 - include(LLDBConfig) 13 - include(AddLLDB) 14 - diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake 15 - index 4c6f1efd673d..179a12b49cce 100644 16 - --- a/cmake/modules/AddLLDB.cmake 17 - +++ b/cmake/modules/AddLLDB.cmake 18 - @@ -54,14 +54,14 @@ function(add_lldb_library name) 19 - endif() 20 - install(TARGETS ${name} 21 - COMPONENT ${name} 22 - - RUNTIME DESTINATION bin 23 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 24 - LIBRARY DESTINATION ${out_dir} 25 - ARCHIVE DESTINATION ${out_dir}) 26 - else() 27 - install(TARGETS ${name} 28 - COMPONENT ${name} 29 - - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} 30 - - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) 31 - + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 32 - + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 33 - endif() 34 - if (NOT CMAKE_CONFIGURATION_TYPES) 35 - add_custom_target(install-${name} 36 - @@ -126,7 +126,7 @@ function(add_lldb_executable name) 37 - if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_FRAMEWORK AND LLDB_BUILD_FRAMEWORK )) 38 - install(TARGETS ${name} 39 - COMPONENT ${name} 40 - - RUNTIME DESTINATION bin) 41 - + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 42 - if (NOT CMAKE_CONFIGURATION_TYPES) 43 - add_custom_target(install-${name} 44 - DEPENDS ${name} 45 - diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake 46 - index 726552675f47..f1f769f34446 100644 47 - --- a/cmake/modules/LLDBConfig.cmake 48 - +++ b/cmake/modules/LLDBConfig.cmake 49 - @@ -276,7 +276,7 @@ include_directories(BEFORE 50 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 51 - install(DIRECTORY include/ 52 - COMPONENT lldb_headers 53 - - DESTINATION include 54 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 55 - FILES_MATCHING 56 - PATTERN "*.h" 57 - PATTERN ".svn" EXCLUDE 58 - @@ -286,7 +286,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 59 - 60 - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ 61 - COMPONENT lldb_headers 62 - - DESTINATION include 63 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 64 - FILES_MATCHING 65 - PATTERN "*.h" 66 - PATTERN ".svn" EXCLUDE 67 - diff --git a/tools/intel-mpx/CMakeLists.txt b/tools/intel-mpx/CMakeLists.txt 68 - index 29ba9a1cacec..30e2f9334b95 100644 69 - --- a/tools/intel-mpx/CMakeLists.txt 70 - +++ b/tools/intel-mpx/CMakeLists.txt 71 - @@ -12,4 +12,4 @@ target_link_libraries(lldb-intel-mpxtable 72 - PUBLIC liblldb LLVMSupport) 73 - 74 - install(TARGETS lldb-intel-mpxtable 75 - - LIBRARY DESTINATION bin) 76 - + LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR})
-283
pkgs/development/compilers/llvm/5/llvm/default.nix
··· 1 - { lib, stdenv, llvm_meta 2 - , pkgsBuildBuild 3 - , fetch 4 - , fetchpatch 5 - , cmake 6 - , python3 7 - , libffi 8 - , enableGoldPlugin ? libbfd.hasPluginAPI 9 - , libbfd 10 - , libxml2 11 - , ncurses 12 - , version 13 - , release_version 14 - , zlib 15 - , buildLlvmTools 16 - , debugVersion ? false 17 - , enableManpages ? false 18 - , enableSharedLibraries ? !enableManpages 19 - , enablePolly ? false 20 - }: 21 - 22 - let 23 - inherit (lib) optional optionals optionalString; 24 - 25 - # Used when creating a versioned symlinks of libLLVM.dylib 26 - versionSuffixes = with lib; 27 - let parts = splitVersion release_version; in 28 - imap (i: _: concatStringsSep "." (take i parts)) parts; 29 - in 30 - 31 - stdenv.mkDerivation (rec { 32 - pname = "llvm"; 33 - inherit version; 34 - 35 - src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm"; 36 - polly_src = fetch "polly" "1f4i1qsw7ywx25v262p8syz339zcbvfkx295xz26hmqrn944xa6x"; 37 - 38 - unpackPhase = '' 39 - unpackFile $src 40 - mv llvm-${version}* llvm 41 - sourceRoot=$PWD/llvm 42 - '' + optionalString enablePolly '' 43 - unpackFile $polly_src 44 - mv polly-* $sourceRoot/tools/polly 45 - ''; 46 - 47 - outputs = [ "out" "lib" "dev" "python" ]; 48 - 49 - nativeBuildInputs = [ cmake python3 ] 50 - ++ optional enableManpages python3.pkgs.sphinx; 51 - 52 - buildInputs = [ libxml2 libffi ]; 53 - 54 - propagatedBuildInputs = [ ncurses zlib ]; 55 - 56 - patches = [ 57 - (fetchpatch { 58 - url = "https://bugzilla.redhat.com/attachment.cgi?id=1389687"; 59 - name = "llvm-gcc8-type-mismatch.patch"; 60 - sha256 = "0ga2123aclq3x9w72d0rm0az12m8c1i4r1106vh701hf4cghgbch"; 61 - }) 62 - ./fix-gcc9.patch 63 - #(fetchpatch { 64 - # name = "llvm-fix-gcc9.patch"; 65 - # url = "https://reviews.llvm.org/file/data/zs3ck5ryvc5n672fd2kw/PHID-FILE-byoqefzwmkd7qnlip4v2/file"; 66 - # sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i"; 67 - # stripLen = 1; 68 - #}) 69 - 70 - # When cross-compiling we configure llvm-config-native with an approximation 71 - # of the flags used for the normal LLVM build. To avoid the need for building 72 - # a native libLLVM.so (which would fail) we force llvm-config to be linked 73 - # statically against the necessary LLVM components always. 74 - ../../llvm-config-link-static.patch 75 - 76 - ./gnu-install-dirs.patch 77 - 78 - # Fix invalid std::string(nullptr) for GCC 12 79 - (fetchpatch { 80 - name = "nvptx-gcc-12.patch"; 81 - url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch"; 82 - sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3"; 83 - stripLen = 1; 84 - }) 85 - 86 - ../../llvm-7-musl.patch 87 - ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; 88 - 89 - postPatch = optionalString stdenv.isDarwin '' 90 - substituteInPlace cmake/modules/AddLLVM.cmake \ 91 - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ 92 - --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' "" 93 - '' + '' 94 - # FileSystem permissions tests fail with various special bits 95 - substituteInPlace unittests/Support/CMakeLists.txt \ 96 - --replace "Path.cpp" "" 97 - rm unittests/Support/Path.cpp 98 - 99 - # llvm-5 does not support dwarf-5 style info, fails on gcc-11. 100 - rm test/tools/llvm-symbolizer/print_context.c 101 - '' + optionalString stdenv.isAarch64 '' 102 - patch -p0 < ${../../aarch64.patch} 103 - '' + optionalString stdenv.hostPlatform.isMusl '' 104 - patch -p1 -i ${../../TLI-musl.patch} 105 - substituteInPlace unittests/Support/CMakeLists.txt \ 106 - --replace "add_subdirectory(DynamicLibrary)" "" 107 - rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp 108 - '' + '' 109 - # Tweak tests to ignore namespace part of type to support 110 - # gcc-12: https://gcc.gnu.org/PR103598. 111 - # The change below mangles strings like: 112 - # CHECK-NEXT: Starting llvm::Function pass manager run. 113 - # to: 114 - # CHECK-NEXT: Starting {{.*}}Function pass manager run. 115 - for f in \ 116 - test/Other/new-pass-manager.ll \ 117 - test/Other/new-pm-defaults.ll \ 118 - test/Other/new-pm-lto-defaults.ll \ 119 - test/Other/new-pm-thinlto-defaults.ll \ 120 - test/Other/pass-pipeline-parsing.ll \ 121 - test/Transforms/Inline/cgscc-incremental-invalidate.ll \ 122 - test/Transforms/Inline/clear-analyses.ll \ 123 - ; do 124 - echo "PATCH: $f" 125 - substituteInPlace $f \ 126 - --replace 'Starting llvm::' 'Starting {{.*}}' \ 127 - --replace 'Finished llvm::' 'Finished {{.*}}' 128 - done 129 - ''; 130 - 131 - preConfigure = '' 132 - # Workaround for configure flags that need to have spaces 133 - cmakeFlagsArray+=( 134 - -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar' 135 - ) 136 - ''; 137 - 138 - # hacky fix: created binaries need to be run before installation 139 - preBuild = '' 140 - mkdir -p $out/ 141 - ln -sv $PWD/lib $out 142 - ''; 143 - 144 - cmakeBuildType = if debugVersion then "Debug" else "Release"; 145 - 146 - cmakeFlags = with stdenv; let 147 - # These flags influence llvm-config's BuildVariables.inc in addition to the 148 - # general build. We need to make sure these are also passed via 149 - # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native 150 - # will return different results from the cross llvm-config. 151 - # 152 - # Some flags don't need to be repassed because LLVM already does so (like 153 - # CMAKE_BUILD_TYPE), others are irrelevant to the result. 154 - flagsForLlvmConfig = [ 155 - "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/" 156 - "-DLLVM_ENABLE_RTTI=ON" 157 - ] ++ optionals enableSharedLibraries [ 158 - "-DLLVM_LINK_LLVM_DYLIB=ON" 159 - ]; 160 - in flagsForLlvmConfig ++ [ 161 - "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc 162 - "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" 163 - "-DLLVM_ENABLE_FFI=ON" 164 - 165 - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" 166 - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" 167 - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" 168 - ] 169 - ++ lib.optionals enableManpages [ 170 - "-DLLVM_BUILD_DOCS=ON" 171 - "-DLLVM_ENABLE_SPHINX=ON" 172 - "-DSPHINX_OUTPUT_MAN=ON" 173 - "-DSPHINX_OUTPUT_HTML=OFF" 174 - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" 175 - ] ++ lib.optionals (enableGoldPlugin) [ 176 - "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" 177 - ] ++ lib.optionals (isDarwin) [ 178 - "-DLLVM_ENABLE_LIBCXX=ON" 179 - "-DCAN_TARGET_i386=false" 180 - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 181 - "-DCMAKE_CROSSCOMPILING=True" 182 - "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen" 183 - ( 184 - let 185 - nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; 186 - nativeBintools = nativeCC.bintools.bintools; 187 - nativeToolchainFlags = [ 188 - "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc" 189 - "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++" 190 - "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar" 191 - "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip" 192 - "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib" 193 - ]; 194 - # We need to repass the custom GNUInstallDirs values, otherwise CMake 195 - # will choose them for us, leading to wrong results in llvm-config-native 196 - nativeInstallFlags = [ 197 - "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" 198 - "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin" 199 - "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include" 200 - "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib" 201 - "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec" 202 - ]; 203 - in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=" 204 - + lib.concatStringsSep ";" (lib.concatLists [ 205 - flagsForLlvmConfig 206 - nativeToolchainFlags 207 - nativeInstallFlags 208 - ]) 209 - ) 210 - ]; 211 - 212 - postBuild = '' 213 - rm -fR $out 214 - ''; 215 - 216 - preCheck = '' 217 - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib 218 - ''; 219 - 220 - postInstall = '' 221 - mkdir -p $python/share 222 - mv $out/share/opt-viewer $python/share/opt-viewer 223 - moveToOutput "bin/llvm-config*" "$dev" 224 - substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ 225 - --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \ 226 - --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" 227 - substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \ 228 - --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")' 229 - '' 230 - + optionalString (stdenv.isDarwin && enableSharedLibraries) '' 231 - ${lib.concatMapStringsSep "\n" (v: '' 232 - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib 233 - '') versionSuffixes} 234 - '' 235 - + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 236 - cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 237 - ''; 238 - 239 - doCheck = stdenv.isLinux && (!stdenv.isi686) 240 - && (stdenv.hostPlatform == stdenv.buildPlatform); 241 - 242 - checkTarget = "check-all"; 243 - 244 - requiredSystemFeatures = [ "big-parallel" ]; 245 - meta = llvm_meta // { 246 - homepage = "https://llvm.org/"; 247 - description = "A collection of modular and reusable compiler and toolchain technologies"; 248 - longDescription = '' 249 - The LLVM Project is a collection of modular and reusable compiler and 250 - toolchain technologies. Despite its name, LLVM has little to do with 251 - traditional virtual machines. The name "LLVM" itself is not an acronym; it 252 - is the full name of the project. 253 - LLVM began as a research project at the University of Illinois, with the 254 - goal of providing a modern, SSA-based compilation strategy capable of 255 - supporting both static and dynamic compilation of arbitrary programming 256 - languages. Since then, LLVM has grown to be an umbrella project consisting 257 - of a number of subprojects, many of which are being used in production by 258 - a wide variety of commercial and open source projects as well as being 259 - widely used in academic research. Code in the LLVM project is licensed 260 - under the "Apache 2.0 License with LLVM exceptions". 261 - ''; 262 - }; 263 - } // lib.optionalAttrs enableManpages { 264 - pname = "llvm-manpages"; 265 - 266 - buildPhase = '' 267 - make docs-llvm-man 268 - ''; 269 - 270 - propagatedBuildInputs = []; 271 - 272 - installPhase = '' 273 - make -C docs install 274 - ''; 275 - 276 - outputs = [ "out" ]; 277 - 278 - doCheck = false; 279 - 280 - meta = llvm_meta // { 281 - description = "man pages for LLVM ${version}"; 282 - }; 283 - })
-33
pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch
··· 1 - diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp 2 - index f79cb0e6..c6279046 100644 3 - --- a/lib/Target/Mips/MipsFastISel.cpp 4 - +++ b/lib/Target/Mips/MipsFastISel.cpp 5 - @@ -70,6 +70,7 @@ 6 - #include <cassert> 7 - #include <cstdint> 8 - #include <new> 9 - +#include <array> 10 - 11 - #define DEBUG_TYPE "mips-fastisel" 12 - 13 - @@ -1309,13 +1310,13 @@ bool MipsFastISel::fastLowerArguments() { 14 - return false; 15 - } 16 - 17 - - const ArrayRef<MCPhysReg> GPR32ArgRegs = {Mips::A0, Mips::A1, Mips::A2, 18 - - Mips::A3}; 19 - - const ArrayRef<MCPhysReg> FGR32ArgRegs = {Mips::F12, Mips::F14}; 20 - - const ArrayRef<MCPhysReg> AFGR64ArgRegs = {Mips::D6, Mips::D7}; 21 - - ArrayRef<MCPhysReg>::iterator NextGPR32 = GPR32ArgRegs.begin(); 22 - - ArrayRef<MCPhysReg>::iterator NextFGR32 = FGR32ArgRegs.begin(); 23 - - ArrayRef<MCPhysReg>::iterator NextAFGR64 = AFGR64ArgRegs.begin(); 24 - + std::array<MCPhysReg, 4> GPR32ArgRegs = {{Mips::A0, Mips::A1, Mips::A2, 25 - + Mips::A3}}; 26 - + std::array<MCPhysReg, 2> FGR32ArgRegs = {{Mips::F12, Mips::F14}}; 27 - + std::array<MCPhysReg, 2> AFGR64ArgRegs = {{Mips::D6, Mips::D7}}; 28 - + auto NextGPR32 = GPR32ArgRegs.begin(); 29 - + auto NextFGR32 = FGR32ArgRegs.begin(); 30 - + auto NextAFGR64 = AFGR64ArgRegs.begin(); 31 - 32 - struct AllocatedReg { 33 - const TargetRegisterClass *RC;
-106
pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch
··· 1 - diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt 2 - index 9ddc0f7ff81d..7ca45f286d47 100644 3 - --- a/tools/polly/CMakeLists.txt 4 - +++ b/tools/polly/CMakeLists.txt 5 - @@ -2,7 +2,11 @@ 6 - if (NOT DEFINED LLVM_MAIN_SRC_DIR) 7 - project(Polly) 8 - cmake_minimum_required(VERSION 3.4.3) 9 - +endif() 10 - + 11 - +include(GNUInstallDirs) 12 - 13 - +if (NOT DEFINED LLVM_MAIN_SRC_DIR) 14 - # Where is LLVM installed? 15 - find_package(LLVM CONFIG REQUIRED) 16 - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) 17 - @@ -157,14 +161,14 @@ include_directories( 18 - 19 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 20 - install(DIRECTORY include/ 21 - - DESTINATION include 22 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 23 - FILES_MATCHING 24 - PATTERN "*.h" 25 - PATTERN ".svn" EXCLUDE 26 - ) 27 - 28 - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ 29 - - DESTINATION include 30 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 31 - FILES_MATCHING 32 - PATTERN "*.h" 33 - PATTERN "CMakeFiles" EXCLUDE 34 - diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt 35 - index 969292cd6b00..d7aea77bdd20 100644 36 - --- a/tools/polly/cmake/CMakeLists.txt 37 - +++ b/tools/polly/cmake/CMakeLists.txt 38 - @@ -79,18 +79,18 @@ file(GENERATE 39 - 40 - # Generate PollyConfig.cmake for the install tree. 41 - unset(POLLY_EXPORTS) 42 - -set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 43 - +set(POLLY_INSTALL_PREFIX "") 44 - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") 45 - -set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 46 - -set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") 47 - +set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 48 - +set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 49 - if (POLLY_BUNDLED_ISL) 50 - set(POLLY_CONFIG_INCLUDE_DIRS 51 - - "${POLLY_INSTALL_PREFIX}/include" 52 - - "${POLLY_INSTALL_PREFIX}/include/polly" 53 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" 54 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" 55 - ) 56 - else() 57 - set(POLLY_CONFIG_INCLUDE_DIRS 58 - - "${POLLY_INSTALL_PREFIX}/include" 59 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" 60 - ${ISL_INCLUDE_DIRS} 61 - ) 62 - endif() 63 - @@ -100,12 +100,12 @@ endif() 64 - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) 65 - get_target_property(tgt_type ${tgt} TYPE) 66 - if (tgt_type STREQUAL "EXECUTABLE") 67 - - set(tgt_prefix "bin/") 68 - + set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") 69 - else() 70 - - set(tgt_prefix "lib/") 71 - + set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") 72 - endif() 73 - 74 - - set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 75 - + set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 76 - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) 77 - 78 - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") 79 - diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 80 - index 32bed50bb060..cca5bfff4970 100644 81 - --- a/tools/polly/cmake/polly_macros.cmake 82 - +++ b/tools/polly/cmake/polly_macros.cmake 83 - @@ -44,8 +44,8 @@ macro(add_polly_library name) 84 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly") 85 - install(TARGETS ${name} 86 - EXPORT LLVMExports 87 - - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} 88 - - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) 89 - + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} 90 - + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 91 - endif() 92 - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 93 - endmacro(add_polly_library) 94 - diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt 95 - index 286c04fba287..07905e68f595 100644 96 - --- a/tools/polly/lib/External/CMakeLists.txt 97 - +++ b/tools/polly/lib/External/CMakeLists.txt 98 - @@ -268,7 +268,7 @@ if (POLLY_BUNDLED_ISL) 99 - install(DIRECTORY 100 - ${ISL_SOURCE_DIR}/include/ 101 - ${ISL_BINARY_DIR}/include/ 102 - - DESTINATION include/polly 103 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly 104 - FILES_MATCHING 105 - PATTERN "*.h" 106 - PATTERN "CMakeFiles" EXCLUDE
-386
pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index c1e03aed4809..8b8bbb8c403e 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -279,15 +279,21 @@ if (CMAKE_BUILD_TYPE AND 6 - message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") 7 - endif() 8 - 9 - +include(GNUInstallDirs) 10 - + 11 - set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) 12 - 13 - -set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") 14 - +set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING 15 - + "Path for binary subdirectory (defaults to 'bin')") 16 - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) 17 - 18 - set(LLVM_UTILS_INSTALL_DIR "bin" CACHE STRING 19 - "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)") 20 - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) 21 - 22 - +set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING 23 - + "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) 24 - + 25 - # They are used as destination of target generators. 26 - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) 27 - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) 28 - @@ -512,9 +518,9 @@ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OF 29 - option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) 30 - option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON) 31 - 32 - -set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html" 33 - +set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html" 34 - CACHE STRING "Doxygen-generated HTML documentation install directory") 35 - -set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html" 36 - +set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html" 37 - CACHE STRING "OCamldoc-generated HTML documentation install directory") 38 - 39 - option (LLVM_BUILD_EXTERNAL_COMPILER_RT 40 - @@ -945,7 +951,7 @@ add_subdirectory(cmake/modules) 41 - 42 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 43 - install(DIRECTORY include/llvm include/llvm-c 44 - - DESTINATION include 45 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 46 - COMPONENT llvm-headers 47 - FILES_MATCHING 48 - PATTERN "*.def" 49 - @@ -957,7 +963,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 50 - ) 51 - 52 - install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm 53 - - DESTINATION include 54 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 55 - COMPONENT llvm-headers 56 - FILES_MATCHING 57 - PATTERN "*.def" 58 - diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake 59 - index 1c922651b133..d555fd627a4f 100644 60 - --- a/cmake/modules/AddLLVM.cmake 61 - +++ b/cmake/modules/AddLLVM.cmake 62 - @@ -589,11 +589,11 @@ macro(add_llvm_library name) 63 - else() 64 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR 65 - (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM")) 66 - - set(install_dir lib${LLVM_LIBDIR_SUFFIX}) 67 - + set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 68 - if(ARG_SHARED OR BUILD_SHARED_LIBS) 69 - if(WIN32 OR CYGWIN OR MINGW) 70 - set(install_type RUNTIME) 71 - - set(install_dir bin) 72 - + set(install_dir ${CMAKE_INSTALL_BINDIR}) 73 - else() 74 - set(install_type LIBRARY) 75 - endif() 76 - @@ -637,9 +637,9 @@ macro(add_llvm_loadable_module name) 77 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 78 - if(WIN32 OR CYGWIN) 79 - # DLL platform 80 - - set(dlldir "bin") 81 - + set(dlldir "${CMAKE_INSTALL_BINDIR}") 82 - else() 83 - - set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") 84 - + set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 85 - endif() 86 - 87 - if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR 88 - @@ -651,7 +651,7 @@ macro(add_llvm_loadable_module name) 89 - install(TARGETS ${name} 90 - ${export_to_llvmexports} 91 - LIBRARY DESTINATION ${dlldir} 92 - - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) 93 - + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 94 - endif() 95 - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 96 - endif() 97 - @@ -864,7 +864,7 @@ macro(add_llvm_example name) 98 - endif() 99 - add_llvm_executable(${name} ${ARGN}) 100 - if( LLVM_BUILD_EXAMPLES ) 101 - - install(TARGETS ${name} RUNTIME DESTINATION examples) 102 - + install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) 103 - endif() 104 - set_target_properties(${name} PROPERTIES FOLDER "Examples") 105 - endmacro(add_llvm_example name) 106 - @@ -1275,7 +1275,7 @@ function(llvm_install_library_symlink name dest type) 107 - set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) 108 - set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) 109 - 110 - - set(output_dir lib${LLVM_LIBDIR_SUFFIX}) 111 - + set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 112 - if(WIN32 AND "${type}" STREQUAL "SHARED") 113 - set(output_dir bin) 114 - endif() 115 - @@ -1293,7 +1293,7 @@ function(llvm_install_library_symlink name dest type) 116 - endif() 117 - endfunction() 118 - 119 - -function(llvm_install_symlink name dest) 120 - +function(llvm_install_symlink name dest output_dir) 121 - cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) 122 - foreach(path ${CMAKE_MODULE_PATH}) 123 - if(EXISTS ${path}/LLVMInstallSymlink.cmake) 124 - @@ -1316,7 +1316,7 @@ function(llvm_install_symlink name dest) 125 - set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) 126 - 127 - install(SCRIPT ${INSTALL_SYMLINK} 128 - - CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" 129 - + CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" 130 - COMPONENT ${component}) 131 - 132 - if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE) 133 - @@ -1400,7 +1400,8 @@ function(add_llvm_tool_symlink link_name target) 134 - endif() 135 - 136 - if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) 137 - - llvm_install_symlink(${link_name} ${target}) 138 - + GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) 139 - + llvm_install_symlink(${link_name} ${target} ${output_dir}) 140 - endif() 141 - endif() 142 - endfunction() 143 - @@ -1452,9 +1453,9 @@ function(llvm_setup_rpath name) 144 - 145 - if (APPLE) 146 - set(_install_name_dir INSTALL_NAME_DIR "@rpath") 147 - - set(_install_rpath "@loader_path/../lib" ${extra_libdir}) 148 - + set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir}) 149 - elseif(UNIX) 150 - - set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) 151 - + set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) 152 - if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") 153 - set_property(TARGET ${name} APPEND_STRING PROPERTY 154 - LINK_FLAGS " -Wl,-z,origin ") 155 - diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake 156 - index 1d8094cc505f..afdbe6e6d19c 100644 157 - --- a/cmake/modules/AddOCaml.cmake 158 - +++ b/cmake/modules/AddOCaml.cmake 159 - @@ -140,9 +140,9 @@ function(add_ocaml_library name) 160 - endforeach() 161 - 162 - if( APPLE ) 163 - - set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") 164 - + set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 165 - elseif( UNIX ) 166 - - set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") 167 - + set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 168 - endif() 169 - list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") 170 - 171 - diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake 172 - index 4540c5c36c8e..4cefb17fbd55 100644 173 - --- a/cmake/modules/AddSphinxTarget.cmake 174 - +++ b/cmake/modules/AddSphinxTarget.cmake 175 - @@ -73,7 +73,7 @@ function (add_sphinx_target builder project) 176 - 177 - elseif (builder STREQUAL html) 178 - string(TOUPPER "${project}" project_upper) 179 - - set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html" 180 - + set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html" 181 - CACHE STRING "HTML documentation install directory for ${project}") 182 - 183 - # '/.' indicates: copy the contents of the directory directly into 184 - diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt 185 - index ac4b0b7c0304..21a6a3da8667 100644 186 - --- a/cmake/modules/CMakeLists.txt 187 - +++ b/cmake/modules/CMakeLists.txt 188 - @@ -1,4 +1,4 @@ 189 - -set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) 190 - +set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") 191 - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") 192 - 193 - # First for users who use an installed LLVM, create the LLVMExports.cmake file. 194 - @@ -84,11 +84,11 @@ foreach(p ${_count}) 195 - set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} 196 - get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") 197 - endforeach(p) 198 - -set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include") 199 - -set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}") 200 - +set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") 201 - +set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") 202 - set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") 203 - set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") 204 - -set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") 205 - +set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") 206 - set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") 207 - set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") 208 - configure_file( 209 - diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake 210 - index 482697b06baf..af2ac1e6c979 100644 211 - --- a/cmake/modules/LLVMInstallSymlink.cmake 212 - +++ b/cmake/modules/LLVMInstallSymlink.cmake 213 - @@ -10,7 +10,7 @@ function(install_symlink name target outdir) 214 - set(LINK_OR_COPY copy) 215 - endif() 216 - 217 - - set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/") 218 - + set(bindir "${DESTDIR}${outdir}/") 219 - 220 - message("Creating ${name}") 221 - 222 - diff --git a/docs/CMake.rst b/docs/CMake.rst 223 - index b6ebf37adc92..34c73d2869e0 100644 224 - --- a/docs/CMake.rst 225 - +++ b/docs/CMake.rst 226 - @@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``. 227 - **LLVM_LIBDIR_SUFFIX**:STRING 228 - Extra suffix to append to the directory where libraries are to be 229 - installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` 230 - - to install libraries to ``/usr/lib64``. 231 - + to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. 232 - 233 - **CMAKE_C_FLAGS**:STRING 234 - Extra flags to use when compiling C source files. 235 - @@ -461,8 +461,8 @@ LLVM-specific variables 236 - 237 - **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING 238 - The path to install Doxygen-generated HTML documentation to. This path can 239 - - either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 240 - - `share/doc/llvm/doxygen-html`. 241 - + either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 242 - + `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`. 243 - 244 - **LLVM_ENABLE_SPHINX**:BOOL 245 - If specified, CMake will search for the ``sphinx-build`` executable and will make 246 - @@ -493,13 +493,33 @@ LLVM-specific variables 247 - 248 - **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING 249 - The path to install Sphinx-generated HTML documentation to. This path can 250 - - either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 251 - - `share/doc/llvm/html`. 252 - + either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 253 - + `${CMAKE_INSTALL_DOCDIR}/${project}/html`. 254 - 255 - **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING 256 - The path to install OCamldoc-generated HTML documentation to. This path can 257 - - either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 258 - - `share/doc/llvm/ocaml-html`. 259 - + either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 260 - + `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`. 261 - + 262 - +**CMAKE_INSTALL_BINDIR**:STRING 263 - + The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``. 264 - + Defaults to `bin`. 265 - + 266 - +**CMAKE_INSTALL_LIBDIR**:STRING 267 - + The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``. 268 - + Defaults to `lib`. 269 - + 270 - +**CMAKE_INSTALL_INCLUDEDIR**:STRING 271 - + The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``. 272 - + Defaults to `include`. 273 - + 274 - +**CMAKE_INSTALL_DOCDIR**:STRING 275 - + The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``. 276 - + Defaults to `share/doc`. 277 - + 278 - +**CMAKE_INSTALL_MANDIR**:STRING 279 - + The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``. 280 - + Defaults to `share/man`. 281 - 282 - **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL 283 - OS X Only: If enabled CMake will generate a target named 284 - @@ -651,9 +671,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). 285 - 286 - This file is available in two different locations. 287 - 288 - -* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where 289 - - ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM. 290 - - On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. 291 - +* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where 292 - + ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are 293 - + installed as part of an installed version of LLVM. This is typically 294 - + ``cmake/llvm/`` within the lib directory. On Linux, this is typically 295 - + ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. 296 - 297 - * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where 298 - ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only 299 - diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt 300 - index 1d5ca3ba92b0..026f5453c1da 100644 301 - --- a/include/llvm/CMakeLists.txt 302 - +++ b/include/llvm/CMakeLists.txt 303 - @@ -4,5 +4,5 @@ add_subdirectory(Support) 304 - # If we're doing an out-of-tree build, copy a module map for generated 305 - # header files into the build area. 306 - if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 307 - - configure_file(module.modulemap.build module.modulemap COPYONLY) 308 - + configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) 309 - endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 310 - diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in 311 - index f201e1f7bff0..4582ed556a02 100644 312 - --- a/tools/llvm-config/BuildVariables.inc.in 313 - +++ b/tools/llvm-config/BuildVariables.inc.in 314 - @@ -24,6 +24,10 @@ 315 - #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" 316 - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" 317 - #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" 318 - +#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" 319 - +#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" 320 - +#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" 321 - +#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" 322 - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" 323 - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" 324 - #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" 325 - diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp 326 - index 08b096afb052..2deae0dcfacc 100644 327 - --- a/tools/llvm-config/llvm-config.cpp 328 - +++ b/tools/llvm-config/llvm-config.cpp 329 - @@ -332,12 +332,26 @@ int main(int argc, char **argv) { 330 - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); 331 - } else { 332 - ActivePrefix = CurrentExecPrefix; 333 - - ActiveIncludeDir = ActivePrefix + "/include"; 334 - - SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); 335 - - sys::fs::make_absolute(ActivePrefix, path); 336 - - ActiveBinDir = path.str(); 337 - - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; 338 - - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; 339 - + { 340 - + SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR)); 341 - + sys::fs::make_absolute(ActivePrefix, path); 342 - + ActiveIncludeDir = std::string(path.str()); 343 - + } 344 - + { 345 - + SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR)); 346 - + sys::fs::make_absolute(ActivePrefix, path); 347 - + ActiveBinDir = std::string(path.str()); 348 - + } 349 - + { 350 - + SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX)); 351 - + sys::fs::make_absolute(ActivePrefix, path); 352 - + ActiveLibDir = std::string(path.str()); 353 - + } 354 - + { 355 - + SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR)); 356 - + sys::fs::make_absolute(ActivePrefix, path); 357 - + ActiveCMakeDir = std::string(path.str()); 358 - + } 359 - ActiveIncludeOption = "-I" + ActiveIncludeDir; 360 - } 361 - 362 - diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt 363 - index 6e913519a809..85641eef721f 100644 364 - --- a/tools/lto/CMakeLists.txt 365 - +++ b/tools/lto/CMakeLists.txt 366 - @@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) 367 - add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen) 368 - 369 - install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h 370 - - DESTINATION include/llvm-c 371 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c 372 - COMPONENT LTO) 373 - 374 - if (APPLE) 375 - diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt 376 - index 19b606933082..27b9f71b3d79 100644 377 - --- a/tools/opt-viewer/CMakeLists.txt 378 - +++ b/tools/opt-viewer/CMakeLists.txt 379 - @@ -8,6 +8,6 @@ set (files 380 - 381 - foreach (file ${files}) 382 - install(PROGRAMS ${file} 383 - - DESTINATION share/opt-viewer 384 - + DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer 385 - COMPONENT opt-viewer) 386 - endforeach (file)
-37
pkgs/development/compilers/llvm/5/openmp/default.nix
··· 1 - { lib 2 - , stdenv 3 - , llvm_meta 4 - , fetch 5 - , cmake 6 - , llvm 7 - , targetLlvm 8 - , perl 9 - , version 10 - }: 11 - 12 - stdenv.mkDerivation { 13 - pname = "openmp"; 14 - inherit version; 15 - 16 - src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir"; 17 - 18 - nativeBuildInputs = [ cmake perl ]; 19 - buildInputs = [ 20 - (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm) 21 - ]; 22 - 23 - meta = llvm_meta // { 24 - homepage = "https://openmp.llvm.org/"; 25 - description = "Support for the OpenMP language"; 26 - longDescription = '' 27 - The OpenMP subproject of LLVM contains the components required to build an 28 - executable OpenMP program that are outside the compiler itself. 29 - Contains the code for the runtime library against which code compiled by 30 - "clang -fopenmp" must be linked before it can run and the library that 31 - supports offload to target devices. 32 - ''; 33 - # "All of the code is dual licensed under the MIT license and the UIUC 34 - # License (a BSD-like license)": 35 - license = with lib.licenses; [ mit ncsa ]; 36 - }; 37 - }
-1
pkgs/test/default.nix
··· 67 67 # libcxx does not build for some reason on aarch64-linux 68 68 (filterAttrs (n: _: n != "llvmPackages_7")) 69 69 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ 70 - (filterAttrs (n: _: n != "llvmPackages_5")) 71 70 (filterAttrs (n: _: n != "llvmPackages_6")) 72 71 (filterAttrs (n: _: n != "llvmPackages_7")) 73 72 (filterAttrs (n: _: n != "llvmPackages_8"))
-1
pkgs/top-level/aliases.nix
··· 161 161 cvs_fast_export = cvs-fast-export; # Added 2021-06-10 162 162 163 163 # these are for convenience, not for backward compat and shouldn't expire 164 - clang5Stdenv = lowPrio llvmPackages_5.stdenv; 165 164 clang6Stdenv = lowPrio llvmPackages_6.stdenv; 166 165 clang7Stdenv = lowPrio llvmPackages_7.stdenv; 167 166 clang8Stdenv = lowPrio llvmPackages_8.stdenv;
+2 -17
pkgs/top-level/all-packages.nix
··· 15644 15644 }; 15645 15645 15646 15646 clang = llvmPackages.clang; 15647 - clang_5 = llvmPackages_5.clang; 15648 15647 clang_6 = llvmPackages_6.clang; 15649 15648 clang_7 = llvmPackages_7.clang; 15650 15649 clang_8 = llvmPackages_8.clang; ··· 15659 15658 15660 15659 clang-tools = callPackage ../development/tools/clang-tools { 15661 15660 llvmPackages = llvmPackages_14; 15662 - }; 15663 - 15664 - clang-tools_5 = callPackage ../development/tools/clang-tools { 15665 - llvmPackages = llvmPackages_5; 15666 15661 }; 15667 15662 15668 15663 clang-tools_6 = callPackage ../development/tools/clang-tools { ··· 16597 16592 }; 16598 16593 16599 16594 lld = llvmPackages.lld; 16600 - lld_5 = llvmPackages_5.lld; 16601 16595 lld_6 = llvmPackages_6.lld; 16602 16596 lld_7 = llvmPackages_7.lld; 16603 16597 lld_8 = llvmPackages_8.lld; ··· 16611 16605 lld_16 = llvmPackages_16.lld; 16612 16606 16613 16607 lldb = lldb_14; 16614 - lldb_5 = llvmPackages_5.lldb; 16615 16608 lldb_6 = llvmPackages_6.lldb; 16616 16609 lldb_7 = llvmPackages_7.lldb; 16617 16610 lldb_8 = llvmPackages_8.lldb; ··· 16625 16618 lldb_16 = llvmPackages_16.lldb; 16626 16619 16627 16620 llvm = llvmPackages.llvm; 16628 - llvm_5 = llvmPackages_5.llvm; 16629 16621 llvm_6 = llvmPackages_6.llvm; 16630 16622 llvm_7 = llvmPackages_7.llvm; 16631 16623 llvm_8 = llvmPackages_8.llvm; ··· 16657 16649 minSupported = toString (lib.trivial.max (choose stdenv.hostPlatform) (choose 16658 16650 stdenv.targetPlatform)); 16659 16651 in pkgs.${"llvmPackages_${minSupported}"}; 16660 - 16661 - llvmPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/llvm/5 { 16662 - inherit (stdenvAdapters) overrideCC; 16663 - buildLlvmTools = buildPackages.llvmPackages_5.tools; 16664 - targetLlvm = targetPackages.llvmPackages_5.llvm or llvmPackages_5.llvm; 16665 - targetLlvmLibraries = targetPackages.llvmPackages_5.libraries or llvmPackages_5.libraries; 16666 - }); 16667 16652 16668 16653 llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 { 16669 16654 inherit (stdenvAdapters) overrideCC; ··· 17758 17743 ### End of CuboCore 17759 17744 17760 17745 maude = callPackage ../development/interpreters/maude { 17761 - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; 17746 + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; 17762 17747 }; 17763 17748 17764 17749 me_cleaner = callPackage ../tools/misc/me_cleaner { }; ··· 40028 40013 40029 40014 root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix { 40030 40015 inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; 40031 - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; 40016 + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; 40032 40017 }); 40033 40018 40034 40019 rinetd = callPackage ../servers/rinetd { };
+4 -2
pkgs/top-level/release.nix
··· 143 143 144 144 jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux 145 145 jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-linux 146 - jobs.tests.cc-wrapper.llvmPackages_5.clang.x86_64-linux 147 - jobs.tests.cc-wrapper.llvmPackages_5.libcxx.x86_64-linux 148 146 jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux 149 147 jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-linux 148 + jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux 149 + jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux 150 + jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux 151 + jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux 150 152 jobs.tests.cc-multilib-gcc.x86_64-linux 151 153 jobs.tests.cc-multilib-clang.x86_64-linux 152 154 jobs.tests.stdenv-inputs.x86_64-linux