anchor.diff:  
     buildInputs = [ gmp mpfr mpc libelf ]
       ++ (optional (ppl != null) ppl)
  -    ++ (optional (cloogppl != null) cloogppl)
       ++ (optional (cloog != null) cloog)
       ++ (optional (zlib != null) zlib)
       ++ (optionals langJava [ boehmgc zip unzip ])
  
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: , perl ? null # optional, for texi2pod (then pod2man); required for Java
  , gmp, mpfr, mpc, gettext, which
  , libelf                      # optional, for link-time optimizations (LTO)
  , ppl ? null, cloog ? null # optional, for the Graphite optimization framework.
  , zlib ? null, boehmgc ? null
  , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
  , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
  