anchor.diff:  
   # LTO needs libelf and zlib.
   assert libelf != null -> zlib != null;
  -
  -# Cannot use both cloog and cloog-ppl
  -assert cloog != null -> cloogppl == null;
   
   with stdenv.lib;
   with builtins;
  
positive.code:     ;
  
    configureFlagsArray = stdenv.lib.optionals
      (ppl != null && ppl.dontDisableStatic == true)
          [ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ];
  
    configureFlags = "
      ${if enableMultilib then "" else "--disable-multilib"}
      ${if enableShared then "" else "--disable-shared"}
      ${if ppl != null then "--with-ppl=${ppl}" else ""}
      ${if cloogppl != null then "--with-cloog=${cloogppl}" else ""}
      ${if cloog != null then 
        "--with-cloog=${cloog} --enable-cloog-backend=isl" 
        else ""}
  
negative.code: 
    buildInputs = [ gmp mpfr mpc libelf ]
      ++ (optional (ppl != null) ppl)
      ++ (optional (cloog != null) cloog)
      ++ (optional (zlib != null) zlib)
      ++ (optionals langJava [ boehmgc zip unzip ])
  