anchor.diff:        }
       ''
   
  -    + optionalString (!nativeLibc) (if (!targetPlatform.isDarwin) then ''
  +    + optionalString (libc != null) (if (!targetPlatform.isDarwin) then ''
         dynamicLinker="${libc_lib}/lib/$dynamicLinker"
         echo $dynamicLinker > $out/nix-support/dynamic-linker
   
  
positive.code: # script that sets up the right environment variables so that the
  # compiler and the linker just "work".
  
  { name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
  , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
  , zlib ? null, extraPackages ? [], extraBuildCommands ? ""
  , dyld ? null # TODO: should this be a setup-hook on dyld?
  
negative.code:   ccVersion = (builtins.parseDrvName cc.name).version;
    ccName = (builtins.parseDrvName cc.name).name;
  
    libc_bin = if libc == null then null else getBin libc;
    libc_dev = if libc == null then null else getDev libc;
    libc_lib = if libc == null then null else getLib libc;
    cc_solib = getLib cc;
    binutils_bin = if nativeTools then "" else getBin binutils;
    # The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
  