binutils-unwrapped-all-targets: fix build on Darwin
gas isn't built for Darwin, so previously this failed when trying to
install it:
make: Entering directory '/private/tmp/nix-build-binutils-2.44.drv-0/build'
make: *** /private/tmp/nix-build-binutils-2.44.drv-0/build-arm64-apple-darwin/gas: No such file or directory. Stop.
make: Leaving directory '/private/tmp/nix-build-binutils-2.44.drv-0/build'
Fixes: 437ad124ac ("binutils-unwrapped-all-targets: per-target gas")
This commit is contained in:
@@ -38,6 +38,9 @@ let
|
||||
# on the PATH to both be usable.
|
||||
targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
|
||||
|
||||
# gas is disabled for some targets via noconfigdirs in configure.
|
||||
targetHasGas = !stdenv.targetPlatform.isDarwin;
|
||||
|
||||
# gas isn't multi-target, even with --enable-targets=all, so we do
|
||||
# separate builds of just gas for each target.
|
||||
#
|
||||
@@ -45,7 +48,9 @@ let
|
||||
# additional targets here as required.
|
||||
allGasTargets =
|
||||
allGasTargets'
|
||||
++ lib.optional (!lib.elem targetPlatform.config allGasTargets') targetPlatform.config;
|
||||
++ lib.optional (
|
||||
targetHasGas && !lib.elem targetPlatform.config allGasTargets'
|
||||
) targetPlatform.config;
|
||||
allGasTargets' = [
|
||||
"aarch64-unknown-linux-gnu"
|
||||
"alpha-unknown-linux-gnu"
|
||||
@@ -328,6 +333,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
$makeFlags "''${makeFlagsArray[@]}" $installFlags "''${installFlagsArray[@]}" \
|
||||
install-exec-bindir
|
||||
done
|
||||
''
|
||||
+ lib.optionalString (withAllTargets && targetHasGas) ''
|
||||
ln -s $out/bin/${stdenv.targetPlatform.config}-as $out/bin/as
|
||||
'';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user