Merge pull request #33342 from LnL7/clang-outputs

clang: add lib output

authored by Daiderd Jordan and committed by GitHub e66a5f88 4e6a9f04

+23 -11
+4 -2
pkgs/development/compilers/llvm/3.8/clang/default.nix
··· 29 29 sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp 30 30 ''; 31 31 32 - outputs = [ "out" "python" ]; 32 + outputs = [ "out" "lib" "python" ]; 33 33 34 34 # Clang expects to find LLVMgold in its own prefix 35 35 # Clang expects to find sanitizer libraries in its own prefix ··· 37 37 ln -sv ${llvm}/lib/LLVMgold.so $out/lib 38 38 ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ 39 39 ln -sv $out/bin/clang $out/bin/cpp 40 + 41 + # Move libclang to 'lib' output 42 + moveToOutput "lib/libclang.*" "$lib" 40 43 41 44 mkdir -p $python/bin $python/share/clang/ 42 45 mv $out/bin/{git-clang-format,scan-view} $python/bin ··· 51 54 enableParallelBuilding = true; 52 55 53 56 passthru = { 54 - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both 55 57 isClang = true; 56 58 inherit llvm; 57 59 } // stdenv.lib.optionalAttrs stdenv.isLinux {
+2
pkgs/development/compilers/llvm/3.8/default.nix
··· 22 22 inherit clang-tools-extra_src stdenv; 23 23 }; 24 24 25 + libclang = self.clang-unwrapped.lib; 26 + 25 27 clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; 26 28 27 29 libstdcxxClang = ccWrapperFun {
+4 -2
pkgs/development/compilers/llvm/3.9/clang/default.nix
··· 31 31 sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp 32 32 ''; 33 33 34 - outputs = [ "out" "python" ]; 34 + outputs = [ "out" "lib" "python" ]; 35 35 36 36 # Clang expects to find LLVMgold in its own prefix 37 37 # Clang expects to find sanitizer libraries in its own prefix ··· 39 39 ln -sv ${llvm}/lib/LLVMgold.so $out/lib 40 40 ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ 41 41 ln -sv $out/bin/clang $out/bin/cpp 42 + 43 + # Move libclang to 'lib' output 44 + moveToOutput "lib/libclang.*" "$lib" 42 45 43 46 mkdir -p $python/bin $python/share/clang/ 44 47 mv $out/bin/{git-clang-format,scan-view} $python/bin ··· 53 56 enableParallelBuilding = true; 54 57 55 58 passthru = { 56 - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both 57 59 isClang = true; 58 60 inherit llvm; 59 61 } // stdenv.lib.optionalAttrs stdenv.isLinux {
+2
pkgs/development/compilers/llvm/3.9/default.nix
··· 22 22 inherit clang-tools-extra_src stdenv; 23 23 }; 24 24 25 + libclang = self.clang-unwrapped.lib; 26 + 25 27 clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; 26 28 27 29 libstdcxxClang = ccWrapperFun {
+4 -3
pkgs/development/compilers/llvm/4/clang/default.nix
··· 49 49 sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt 50 50 ''; 51 51 52 - outputs = [ "out" "python" ] 52 + outputs = [ "out" "lib" "python" ] 53 53 ++ stdenv.lib.optional enableManpages "man"; 54 54 55 55 # Clang expects to find LLVMgold in its own prefix ··· 59 59 ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ 60 60 ln -sv $out/bin/clang $out/bin/cpp 61 61 62 + # Move libclang to 'lib' output 63 + moveToOutput "lib/libclang.*" "$lib" 64 + 62 65 mkdir -p $python/bin $python/share/clang/ 63 66 mv $out/bin/{git-clang-format,scan-view} $python/bin 64 67 if [ -e $out/bin/set-xcode-analyzer ]; then 65 68 mv $out/bin/set-xcode-analyzer $python/bin 66 69 fi 67 70 mv $out/share/clang/*.py $python/share/clang 68 - 69 71 rm $out/bin/c-index-test 70 72 '' 71 73 + stdenv.lib.optionalString enableManpages '' ··· 79 81 enableParallelBuilding = true; 80 82 81 83 passthru = { 82 - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both 83 84 isClang = true; 84 85 inherit llvm; 85 86 } // stdenv.lib.optionalAttrs stdenv.isLinux {
+1
pkgs/development/compilers/llvm/4/default.nix
··· 34 34 llvm = overrideManOutput llvm; 35 35 clang-unwrapped = overrideManOutput clang-unwrapped; 36 36 37 + libclang = self.clang-unwrapped.lib; 37 38 llvm-manpages = lowPrio self.llvm.man; 38 39 clang-manpages = lowPrio self.clang-unwrapped.man; 39 40
+4 -3
pkgs/development/compilers/llvm/5/clang/default.nix
··· 50 50 sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt 51 51 ''; 52 52 53 - outputs = [ "out" "python" ] 53 + outputs = [ "out" "lib" "python" ] 54 54 ++ stdenv.lib.optional enableManpages "man"; 55 55 56 56 # Clang expects to find LLVMgold in its own prefix ··· 60 60 ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ 61 61 ln -sv $out/bin/clang $out/bin/cpp 62 62 63 + # Move libclang to 'lib' output 64 + moveToOutput "lib/libclang.*" "$lib" 65 + 63 66 mkdir -p $python/bin $python/share/clang/ 64 67 mv $out/bin/{git-clang-format,scan-view} $python/bin 65 68 if [ -e $out/bin/set-xcode-analyzer ]; then 66 69 mv $out/bin/set-xcode-analyzer $python/bin 67 70 fi 68 71 mv $out/share/clang/*.py $python/share/clang 69 - 70 72 rm $out/bin/c-index-test 71 73 '' 72 74 + stdenv.lib.optionalString enableManpages '' ··· 80 82 enableParallelBuilding = true; 81 83 82 84 passthru = { 83 - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both 84 85 isClang = true; 85 86 inherit llvm; 86 87 } // stdenv.lib.optionalAttrs stdenv.isLinux {
+1
pkgs/development/compilers/llvm/5/default.nix
··· 34 34 llvm = overrideManOutput llvm; 35 35 clang-unwrapped = overrideManOutput clang-unwrapped; 36 36 37 + libclang = self.clang-unwrapped.lib; 37 38 llvm-manpages = lowPrio self.llvm.man; 38 39 clang-manpages = lowPrio self.clang-unwrapped.man; 39 40
+1 -1
pkgs/stdenv/darwin/default.nix
··· 375 375 xz.out xz.bin libcxx libcxxabi gmp.out gnumake findutils bzip2.out 376 376 bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar 377 377 gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk 378 - gnugrep llvmPackages.clang-unwrapped patch pcre.out gettext 378 + gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext 379 379 binutils-raw.bintools binutils binutils.bintools 380 380 cc.expand-response-params 381 381 ]) ++ (with pkgs.darwin; [