summary refs log tree commit diff
path: root/pkgs/top-level/all-packages.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2007-05-02 14:59:40 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2007-05-02 14:59:40 +0000
commit0a05618f11ffd4a59a4b406bf82a868b7c4fae93 (patch)
tree927ec7c04d70af20b79f88eb1b15236125e653a5 /pkgs/top-level/all-packages.nix
parentdfd401259c7b42321896d951ccf030f705fc1cf7 (diff)
downloadnixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar.gz
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar.bz2
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar.lz
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar.xz
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.tar.zst
nixpkgs-0a05618f11ffd4a59a4b406bf82a868b7c4fae93.zip
* Fix weird behaviour with "gcc -v" due to linker flags being appended
  to the gcc invocation.

  If we pass a flag like -Wl, then gcc will call the linker unless it
  can figure out that it has to do something else (e.g., because of a
  "-c" flag).  So if no non-flag arguments are given, don't pass any
  linker flags.  This catches cases like "gcc" (should just print
  "gcc: no input files") and "gcc -v" (should print the version).

svn path=/nixpkgs/trunk/; revision=8644
Diffstat (limited to 'pkgs/top-level/all-packages.nix')
-rw-r--r--pkgs/top-level/all-packages.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d7905dcb1c2..02141eb7cae 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -669,10 +669,14 @@ rec {
     profiledCompiler = true;
   });
 
-  gcc41 = useFromStdenv (stdenv ? gcc) stdenv.gcc (wrapGCC (import ../development/compilers/gcc-4.1 {
+  gcc41 = lowPrio (useFromStdenv (stdenv ? gcc) stdenv.gcc (wrapGCC (import ../development/compilers/gcc-4.1 {
     inherit fetchurl stdenv noSysDirs;
     profiledCompiler = false;
-  }));
+  })));
+
+  # !!! GCC with the new wrapper.  Should be removed eventually (and
+  # then the lowPrio on gcc41 should go, of course).
+  gccNew = wrapGCCNew (gcc.gcc);
 
   gccApple = wrapGCC (import ../development/compilers/gcc-apple {
     inherit fetchurl stdenv noSysDirs;
@@ -842,6 +846,14 @@ rec {
     inherit stdenv binutils;
   };
 
+  wrapGCCNew = baseGCC: import ../build-support/gcc-wrapper-new {
+    nativeTools = false;
+    nativeLibc = false;
+    gcc = baseGCC;
+    libc = glibc;
+    inherit stdenv binutils;
+  };
+
 
   ### DEVELOPMENT / INTERPRETERS