diff options
author | Ryan Lahfa <masterancpp@gmail.com> | 2023-10-12 02:26:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-12 02:26:16 +0200 |
commit | 5829a85d6f37721a125d7746e28c6dd16c7b6c85 (patch) | |
tree | 2bfdb2b91fd17b6745f3640c6986be6180230cb5 /pkgs/development/compilers/rust | |
parent | 7909827752645f46c9ebc0d71e3b5934d0a074a0 (diff) | |
parent | 6783b22c9e888af4c0b5250be52865aa481f0c9f (diff) | |
download | nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar.gz nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar.bz2 nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar.lz nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar.xz nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.tar.zst nixlib-5829a85d6f37721a125d7746e28c6dd16c7b6c85.zip |
Merge pull request #257950 from RaitoBezarius/rustc-clang
Diffstat (limited to 'pkgs/development/compilers/rust')
-rw-r--r-- | pkgs/development/compilers/rust/rustc.nix | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 32178bfc1028..91f06ab53f6e 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -66,15 +66,18 @@ in stdenv.mkDerivation rec { # We need rust to build rust. If we don't provide it, configure will try to download it. # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py configureFlags = let + prefixForStdenv = stdenv: "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}"; + ccPrefixForStdenv = stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang" else "cc"}"; + cxxPrefixForStdenv = stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang++" else "c++"}"; setBuild = "--set=target.${rust.toRustTarget stdenv.buildPlatform}"; setHost = "--set=target.${rust.toRustTarget stdenv.hostPlatform}"; setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}"; - ccForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc"; - cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++"; - ccForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc"; - cxxForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}c++"; - ccForTarget = "${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}cc"; - cxxForTarget = "${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}c++"; + ccForBuild = ccPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; + cxxForBuild = cxxPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; + ccForHost = ccPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; + cxxForHost = cxxPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; + ccForTarget = ccPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; + cxxForTarget = cxxPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; in [ "--release-channel=stable" "--set=build.rustc=${rustc}/bin/rustc" |