anchor.diff:               "cflags=-fexceptions"
              else
                "";
  +
  +  withToolset = stdenv.lib.optionalString (toolset != null) " --with-toolset=${toolset}";
   in
   
   stdenv.mkDerivation {
  
positive.code:   buildInputs = [icu expat zlib bzip2 python];
  
    configureScript = "./bootstrap.sh";
    configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
  
    buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
  
    # normal install does not install bjam, this is a separate step
    installPhase = ''
      cd tools/build/v2
      sh bootstrap.sh
      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install
    '';
  
    crossAttrs = rec {
  
negative.code: { stdenv, fetchurl, icu, expat, zlib, bzip2, python
  , toolset ? null
  , enableRelease ? true
  , enableDebug ? false
  , enableSingleThreaded ? false
  