Merge pull request #264364 from RaitoBezarius/drop-llvm

authored by

Ryan Lahfa and committed by
GitHub
7870f05a 867939d7

+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 # libcxx does not build for some reason on aarch64-linux 68 (filterAttrs (n: _: n != "llvmPackages_7")) 69 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ 70 - (filterAttrs (n: _: n != "llvmPackages_5")) 71 (filterAttrs (n: _: n != "llvmPackages_6")) 72 (filterAttrs (n: _: n != "llvmPackages_7")) 73 (filterAttrs (n: _: n != "llvmPackages_8"))
··· 67 # libcxx does not build for some reason on aarch64-linux 68 (filterAttrs (n: _: n != "llvmPackages_7")) 69 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ 70 (filterAttrs (n: _: n != "llvmPackages_6")) 71 (filterAttrs (n: _: n != "llvmPackages_7")) 72 (filterAttrs (n: _: n != "llvmPackages_8"))
-1
pkgs/top-level/aliases.nix
··· 161 cvs_fast_export = cvs-fast-export; # Added 2021-06-10 162 163 # these are for convenience, not for backward compat and shouldn't expire 164 - clang5Stdenv = lowPrio llvmPackages_5.stdenv; 165 clang6Stdenv = lowPrio llvmPackages_6.stdenv; 166 clang7Stdenv = lowPrio llvmPackages_7.stdenv; 167 clang8Stdenv = lowPrio llvmPackages_8.stdenv;
··· 161 cvs_fast_export = cvs-fast-export; # Added 2021-06-10 162 163 # these are for convenience, not for backward compat and shouldn't expire 164 clang6Stdenv = lowPrio llvmPackages_6.stdenv; 165 clang7Stdenv = lowPrio llvmPackages_7.stdenv; 166 clang8Stdenv = lowPrio llvmPackages_8.stdenv;
+2 -17
pkgs/top-level/all-packages.nix
··· 15646 }; 15647 15648 clang = llvmPackages.clang; 15649 - clang_5 = llvmPackages_5.clang; 15650 clang_6 = llvmPackages_6.clang; 15651 clang_7 = llvmPackages_7.clang; 15652 clang_8 = llvmPackages_8.clang; ··· 15661 15662 clang-tools = callPackage ../development/tools/clang-tools { 15663 llvmPackages = llvmPackages_14; 15664 - }; 15665 - 15666 - clang-tools_5 = callPackage ../development/tools/clang-tools { 15667 - llvmPackages = llvmPackages_5; 15668 }; 15669 15670 clang-tools_6 = callPackage ../development/tools/clang-tools { ··· 16599 }; 16600 16601 lld = llvmPackages.lld; 16602 - lld_5 = llvmPackages_5.lld; 16603 lld_6 = llvmPackages_6.lld; 16604 lld_7 = llvmPackages_7.lld; 16605 lld_8 = llvmPackages_8.lld; ··· 16613 lld_16 = llvmPackages_16.lld; 16614 16615 lldb = lldb_14; 16616 - lldb_5 = llvmPackages_5.lldb; 16617 lldb_6 = llvmPackages_6.lldb; 16618 lldb_7 = llvmPackages_7.lldb; 16619 lldb_8 = llvmPackages_8.lldb; ··· 16627 lldb_16 = llvmPackages_16.lldb; 16628 16629 llvm = llvmPackages.llvm; 16630 - llvm_5 = llvmPackages_5.llvm; 16631 llvm_6 = llvmPackages_6.llvm; 16632 llvm_7 = llvmPackages_7.llvm; 16633 llvm_8 = llvmPackages_8.llvm; ··· 16659 minSupported = toString (lib.trivial.max (choose stdenv.hostPlatform) (choose 16660 stdenv.targetPlatform)); 16661 in pkgs.${"llvmPackages_${minSupported}"}; 16662 - 16663 - llvmPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/llvm/5 { 16664 - inherit (stdenvAdapters) overrideCC; 16665 - buildLlvmTools = buildPackages.llvmPackages_5.tools; 16666 - targetLlvm = targetPackages.llvmPackages_5.llvm or llvmPackages_5.llvm; 16667 - targetLlvmLibraries = targetPackages.llvmPackages_5.libraries or llvmPackages_5.libraries; 16668 - }); 16669 16670 llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 { 16671 inherit (stdenvAdapters) overrideCC; ··· 17760 ### End of CuboCore 17761 17762 maude = callPackage ../development/interpreters/maude { 17763 - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; 17764 }; 17765 17766 me_cleaner = callPackage ../tools/misc/me_cleaner { }; ··· 40028 40029 root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix { 40030 inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; 40031 - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; 40032 }); 40033 40034 rinetd = callPackage ../servers/rinetd { };
··· 15646 }; 15647 15648 clang = llvmPackages.clang; 15649 clang_6 = llvmPackages_6.clang; 15650 clang_7 = llvmPackages_7.clang; 15651 clang_8 = llvmPackages_8.clang; ··· 15660 15661 clang-tools = callPackage ../development/tools/clang-tools { 15662 llvmPackages = llvmPackages_14; 15663 }; 15664 15665 clang-tools_6 = callPackage ../development/tools/clang-tools { ··· 16594 }; 16595 16596 lld = llvmPackages.lld; 16597 lld_6 = llvmPackages_6.lld; 16598 lld_7 = llvmPackages_7.lld; 16599 lld_8 = llvmPackages_8.lld; ··· 16607 lld_16 = llvmPackages_16.lld; 16608 16609 lldb = lldb_14; 16610 lldb_6 = llvmPackages_6.lldb; 16611 lldb_7 = llvmPackages_7.lldb; 16612 lldb_8 = llvmPackages_8.lldb; ··· 16620 lldb_16 = llvmPackages_16.lldb; 16621 16622 llvm = llvmPackages.llvm; 16623 llvm_6 = llvmPackages_6.llvm; 16624 llvm_7 = llvmPackages_7.llvm; 16625 llvm_8 = llvmPackages_8.llvm; ··· 16651 minSupported = toString (lib.trivial.max (choose stdenv.hostPlatform) (choose 16652 stdenv.targetPlatform)); 16653 in pkgs.${"llvmPackages_${minSupported}"}; 16654 16655 llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 { 16656 inherit (stdenvAdapters) overrideCC; ··· 17745 ### End of CuboCore 17746 17747 maude = callPackage ../development/interpreters/maude { 17748 + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; 17749 }; 17750 17751 me_cleaner = callPackage ../tools/misc/me_cleaner { }; ··· 40013 40014 root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix { 40015 inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; 40016 + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; 40017 }); 40018 40019 rinetd = callPackage ../servers/rinetd { };
+4 -2
pkgs/top-level/release.nix
··· 143 144 jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux 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 jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux 149 jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-linux 150 jobs.tests.cc-multilib-gcc.x86_64-linux 151 jobs.tests.cc-multilib-clang.x86_64-linux 152 jobs.tests.stdenv-inputs.x86_64-linux
··· 143 144 jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux 145 jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-linux 146 jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux 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 152 jobs.tests.cc-multilib-gcc.x86_64-linux 153 jobs.tests.cc-multilib-clang.x86_64-linux 154 jobs.tests.stdenv-inputs.x86_64-linux