diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index 771c16d84b7b..aa8ecc62e55a 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -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" diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index c0593cd781ed..57d7438fcd3a 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -1,12 +1,15 @@ { 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}")