bintools: Add isXXX flags to check linker type

main
Shea Levy 2 years ago
parent a73b59a157
commit dee9af9323
No known key found for this signature in database
GPG Key ID: 5C0BD6957D86FE27
  1. 9
      pkgs/build-support/bintools-wrapper/default.nix
  2. 2
      pkgs/development/compilers/llvm/10/bintools/default.nix
  3. 2
      pkgs/development/compilers/llvm/11/bintools/default.nix
  4. 2
      pkgs/development/compilers/llvm/12/bintools/default.nix
  5. 2
      pkgs/development/compilers/llvm/13/bintools/default.nix
  6. 2
      pkgs/development/compilers/llvm/14/bintools/default.nix
  7. 2
      pkgs/development/compilers/llvm/7/bintools/default.nix
  8. 2
      pkgs/development/compilers/llvm/8/bintools/default.nix
  9. 2
      pkgs/development/compilers/llvm/9/bintools/default.nix
  10. 2
      pkgs/development/compilers/llvm/git/bintools/default.nix
  11. 5
      pkgs/development/tools/misc/binutils/default.nix
  12. 1
      pkgs/os-specific/darwin/binutils/default.nix

@ -31,6 +31,13 @@
# Darwin code signing support utilities
, postLinkSignHook ? null, signingUtils ? null
# Linker type
, isLld ? bintools.isLld or false
, isCctools ? bintools.isCctools or false
, isGNU ? bintools.isGNU or false
, isGold ? bintools.isGold or false
, isBfd ? bintools.isBfd or false
}:
with lib;
@ -113,6 +120,8 @@ stdenv.mkDerivation {
passthru = {
inherit bintools libc nativeTools nativeLibc nativePrefix;
inherit isLld isCctools isGNU isGold isBfd;
emacsBufferSetup = pkgs: ''
; We should handle propagation here too
(mapc

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } (''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } (''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } (''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } (''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } ''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -5,7 +5,7 @@ let
if stdenv.hostPlatform != stdenv.targetPlatform
then "${stdenv.targetPlatform.config}-"
else "";
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } (''
in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; passthru.isLld = true; } (''
mkdir -p $out/bin
for prog in ${lld}/bin/*; do
ln -s $prog $out/bin/${prefix}$(basename $prog)

@ -197,6 +197,11 @@ stdenv.mkDerivation {
inherit targetPrefix;
hasGold = enableGold;
isGNU = true;
# TODO Currently platform.linker == "gold" has no effect outside
# of building GHC. If/when that's fixed, these flags should
# probably move to the invocations of bintools-wrapper
isGold = false;
isBfd = true;
};
meta = with lib; {

@ -65,6 +65,7 @@ stdenv.mkDerivation {
passthru = {
inherit targetPrefix;
isCctools = true;
};
meta = {

Loading…
Cancel
Save