diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix index 90b8ea2581e8..388c24e63364 100644 --- a/pkgs/development/compilers/llvm/3.8/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix @@ -29,7 +29,7 @@ let sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp ''; - outputs = [ "out" "python" ]; + outputs = [ "out" "lib" "python" ]; # Clang expects to find LLVMgold in its own prefix # Clang expects to find sanitizer libraries in its own prefix @@ -38,6 +38,9 @@ let ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv $out/bin/clang $out/bin/cpp + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + mkdir -p $python/bin $python/share/clang/ mv $out/bin/{git-clang-format,scan-view} $python/bin if [ -e $out/bin/set-xcode-analyzer ]; then @@ -51,7 +54,6 @@ let enableParallelBuilding = true; passthru = { - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both isClang = true; inherit llvm; } // stdenv.lib.optionalAttrs stdenv.isLinux { diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix index a660d4aea5fd..9e37f93dbddc 100644 --- a/pkgs/development/compilers/llvm/3.8/default.nix +++ b/pkgs/development/compilers/llvm/3.8/default.nix @@ -22,6 +22,8 @@ let inherit clang-tools-extra_src stdenv; }; + libclang = self.clang-unwrapped.lib; + clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; libstdcxxClang = ccWrapperFun { diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix index ec2ec27df363..f215aadc4d98 100644 --- a/pkgs/development/compilers/llvm/3.9/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix @@ -31,7 +31,7 @@ let sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp ''; - outputs = [ "out" "python" ]; + outputs = [ "out" "lib" "python" ]; # Clang expects to find LLVMgold in its own prefix # Clang expects to find sanitizer libraries in its own prefix @@ -40,6 +40,9 @@ let ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv $out/bin/clang $out/bin/cpp + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + mkdir -p $python/bin $python/share/clang/ mv $out/bin/{git-clang-format,scan-view} $python/bin if [ -e $out/bin/set-xcode-analyzer ]; then @@ -53,7 +56,6 @@ let enableParallelBuilding = true; passthru = { - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both isClang = true; inherit llvm; } // stdenv.lib.optionalAttrs stdenv.isLinux { diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index c58adc3f92da..a675bcceb1c9 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -22,6 +22,8 @@ let inherit clang-tools-extra_src stdenv; }; + libclang = self.clang-unwrapped.lib; + clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; libstdcxxClang = ccWrapperFun { diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix index 8d40ee3c8aa2..404b65c56ab7 100644 --- a/pkgs/development/compilers/llvm/4/clang/default.nix +++ b/pkgs/development/compilers/llvm/4/clang/default.nix @@ -49,7 +49,7 @@ let sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt ''; - outputs = [ "out" "python" ] + outputs = [ "out" "lib" "python" ] ++ stdenv.lib.optional enableManpages "man"; # Clang expects to find LLVMgold in its own prefix @@ -59,13 +59,15 @@ let ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ ln -sv $out/bin/clang $out/bin/cpp + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + mkdir -p $python/bin $python/share/clang/ mv $out/bin/{git-clang-format,scan-view} $python/bin if [ -e $out/bin/set-xcode-analyzer ]; then mv $out/bin/set-xcode-analyzer $python/bin fi mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test '' + stdenv.lib.optionalString enableManpages '' @@ -79,7 +81,6 @@ let enableParallelBuilding = true; passthru = { - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both isClang = true; inherit llvm; } // stdenv.lib.optionalAttrs stdenv.isLinux { diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix index 5a44cb868253..89cb181e405e 100644 --- a/pkgs/development/compilers/llvm/4/default.nix +++ b/pkgs/development/compilers/llvm/4/default.nix @@ -34,6 +34,7 @@ let llvm = overrideManOutput llvm; clang-unwrapped = overrideManOutput clang-unwrapped; + libclang = self.clang-unwrapped.lib; llvm-manpages = lowPrio self.llvm.man; clang-manpages = lowPrio self.clang-unwrapped.man; diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix index b003d2f334ac..aaddd020a729 100644 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/pkgs/development/compilers/llvm/5/clang/default.nix @@ -50,7 +50,7 @@ let sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt ''; - outputs = [ "out" "python" ] + outputs = [ "out" "lib" "python" ] ++ stdenv.lib.optional enableManpages "man"; # Clang expects to find LLVMgold in its own prefix @@ -60,13 +60,15 @@ let ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ ln -sv $out/bin/clang $out/bin/cpp + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + mkdir -p $python/bin $python/share/clang/ mv $out/bin/{git-clang-format,scan-view} $python/bin if [ -e $out/bin/set-xcode-analyzer ]; then mv $out/bin/set-xcode-analyzer $python/bin fi mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test '' + stdenv.lib.optionalString enableManpages '' @@ -80,7 +82,6 @@ let enableParallelBuilding = true; passthru = { - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both isClang = true; inherit llvm; } // stdenv.lib.optionalAttrs stdenv.isLinux { diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index a7e16c08ce96..26342095da79 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -34,6 +34,7 @@ let llvm = overrideManOutput llvm; clang-unwrapped = overrideManOutput clang-unwrapped; + libclang = self.clang-unwrapped.lib; llvm-manpages = lowPrio self.llvm.man; clang-manpages = lowPrio self.clang-unwrapped.man; diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 2542d2428859..38d5cabf186e 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -375,7 +375,7 @@ in rec { xz.out xz.bin libcxx libcxxabi gmp.out gnumake findutils bzip2.out bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk - gnugrep llvmPackages.clang-unwrapped patch pcre.out gettext + gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext binutils-raw.bintools binutils binutils.bintools cc.expand-response-params ]) ++ (with pkgs.darwin; [