summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc/common/platform-flags.nix
blob: 66af8c4a4cc77949ca54f756f670f67727dfe884 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{ lib, targetPlatform }:

let
  p =  targetPlatform.gcc or {}
    // targetPlatform.parsed.abi;
in lib.concatLists [
  (lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64
  (lib.optional (p ? cpu) "--with-cpu=${p.cpu}")
  (lib.optional (p ? abi) "--with-abi=${p.abi}")
  (lib.optional (p ? fpu) "--with-fpu=${p.fpu}")
  (lib.optional (p ? float) "--with-float=${p.float}")
  (lib.optional (p ? mode) "--with-mode=${p.mode}")
  (lib.optional
    (let tp = targetPlatform; in tp.isPower && tp.libc == "glibc" && tp.is64bit && tp.isLittleEndian)
    "--with-long-double-128")
]