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