From 96b0de4c33fe53916e147ce15b04ee5a316b7b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Mon, 24 Dec 2012 16:37:54 +0100 Subject: [PATCH] gcc4.7: making the cross-built gcc respect withAbi, withArch, ... --- pkgs/development/compilers/gcc/4.7/default.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix index 0d24f19e3c3..9eb8f10115c 100644 --- a/pkgs/development/compilers/gcc/4.7/default.nix +++ b/pkgs/development/compilers/gcc/4.7/default.nix @@ -308,7 +308,16 @@ stdenv.mkDerivation ({ then "install-strip" else "install"; - crossAttrs = { + crossAttrs = let + xgccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null stdenv.cross; + xgccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null stdenv.cross; + xgccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null stdenv.cross; + xgccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null stdenv.cross; + xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else ""; + xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else ""; + xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else ""; + xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else ""; + in { AR = "${stdenv.cross.config}-ar"; LD = "${stdenv.cross.config}-ld"; CC = "${stdenv.cross.config}-gcc"; @@ -347,9 +356,11 @@ stdenv.mkDerivation ({ ) } ${if langAda then " --enable-libada" else ""} - ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} --target=${stdenv.cross.config} + ${xwithArch} + ${xwithCpu} + ${xwithAbi} + ${xwithFpu} ''; };