diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index e4163f020c00..c898651da528 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -1,10 +1,15 @@ -{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo }: +{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo +, target ? null }: +let + basename = "gdb-7.0"; +in stdenv.mkDerivation rec { - name = "gdb-7.0"; + name = basename + stdenv.lib.optionalString (target != null) + ("-" + target.config); src = fetchurl { - url = "mirror://gnu/gdb/${name}.tar.bz2"; + url = "mirror://gnu/gdb/${basename}.tar.bz2"; sha256 = "1k9y271gnnvi0fny8ycydcd79snigwh88rgwi03ad782r2awcl67"; }; @@ -14,7 +19,8 @@ stdenv.mkDerivation rec { configureFlags = '' --with-gmp=${gmp} --with-mpfr=${mpfr} --with-system-readline --with-expat --with-libexpat-prefix=${expat} - ''; + '' + stdenv.lib.optionalString (target != null) + " --target=${target.config}"; postInstall = '' # Remove Info files already provided by Binutils and other packages. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d14ab17f94f..0413a0af2175 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2985,6 +2985,12 @@ let readline = readline5; }; + gdbCross = import ../development/tools/misc/gdb { + inherit fetchurl stdenv ncurses gmp mpfr expat texinfo; + readline = readline5; + target = crossSystem; + }; + valgrind = import ../development/tools/analysis/valgrind { inherit fetchurl stdenv perl gdb; };