Unverified Commit e303eb2b authored by Sergei Trofimovich's avatar Sergei Trofimovich Committed by GitHub
Browse files

Merge pull request #225328 from eliasnaur/platform-flags

gcc: tighten platform flags special-case for aarch64-darwin
parents b38feaef c10a195a
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -217,8 +217,7 @@ let
    ++ lib.optional javaAwtGtk "--enable-java-awt=gtk"
    ++ lib.optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}"

    # TODO: aarch64-darwin has clang stdenv and its arch and cpu flag values are incompatible with gcc
    ++ lib.optionals (!(stdenv.isDarwin && stdenv.isAarch64)) (import ../common/platform-flags.nix { inherit (stdenv)  targetPlatform; inherit lib; })
    ++ import ../common/platform-flags.nix { inherit (stdenv)  targetPlatform; inherit lib; }
    ++ lib.optionals (targetPlatform != hostPlatform) crossConfigureFlags
    ++ lib.optional disableBootstrap' "--disable-bootstrap"

+5 −2
Original line number Diff line number Diff line
{ lib, targetPlatform }:

let
  isAarch64Darwin = targetPlatform.isDarwin && targetPlatform.isAarch64;
  gcc = targetPlatform.gcc or {};
  p =  gcc
    // 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}")
  # --with-arch= is unknown flag on x86_64 and aarch64-darwin.
  (lib.optional (!targetPlatform.isx86_64 && !isAarch64Darwin && p ? arch) "--with-arch=${p.arch}")
  # --with-cpu on aarch64-darwin fails with "Unknown cpu used in --with-cpu=apple-a13".
  (lib.optional (!isAarch64Darwin && 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}")