anchor.diff:  , langC ? true, langCC ? true, langFortran ? false
   , langObjC ? targetPlatform.isDarwin
   , langObjCpp ? targetPlatform.isDarwin
  -, langJava ? false
   , langGo ? false
   , profiledCompiler ? false
   , staticCompiler ? false
   , enableShared ? true
   , texinfo ? null
  -, perl ? null # optional, for texi2pod (then pod2man); required for Java
  +, perl ? null # optional, for texi2pod (then pod2man)
   , gmp, mpfr, libmpc, gettext, which
   , libelf                      # optional, for link-time optimizations (LTO)
   , isl ? null # optional, for the Graphite optimization framework.
  -, zlib ? null, boehmgc ? null
  -, zip ? null, unzip ? null, pkgconfig ? null
  +, zlib ? null
  +,   pkgconfig ? null
   , gtk2 ? null, libart_lgpl ? null
   , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
   , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
   , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
  -, x11Support ? langJava
  +, x11Support ? false
   , enableMultilib ? false
   , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins
   , name ? "gcc"
  
positive.code:           (  optional langC        "c"
            ++ optional langCC       "c++"
            ++ optional langFortran  "fortran"
            ++ optional langJava     "java"
            ++ optional langGo       "go"
            ++ optional langObjC     "objc"
            ++ optional langObjCpp   "obj-c++"
  
negative.code: , buildPackages
  }:
  
  # LTO needs libelf and zlib.
  assert libelf != null -> zlib != null;
  
  