anchor.diff:    }
   
     // Build dart_api_dl.o.
  -  await _run(clang, [
  -    '-DDART_SHARED_LIB',
  -    '-DNDEBUG',
  -    '-fno-exceptions',
  -    if (os != 'windows') '-fPIC',
  -    '-O3',
  -    '-target',
  -    target,
  -    '-I',
  -    sdkIncDir.toFilePath(),
  -    '-I',
  -    outDir.resolve('include/').toFilePath(),
  -    '-c',
  -    sdkIncDir.resolve('dart_api_dl.c').toFilePath(),
  -    '-o',
  -    outDir.resolve('dart_api_dl.o').toFilePath()
  -  ]);
  +  await _run(
  +    clang,
  +    [
  +      '-DDART_SHARED_LIB',
  +      '-DNDEBUG',
  +      '-fno-exceptions',
  +      if (os != 'windows') '-fPIC',
  +      '-O3',
  +      '-target',
  +      target,
  +      '-I',
  +      sdkIncDir.toFilePath(),
  +      '-I',
  +      outDir.resolve('include/').toFilePath(),
  +      '-c',
  +      sdkIncDir.resolve('dart_api_dl.c').toFilePath(),
  +      '-o',
  +      outDartApi.toFilePath()
  +    ],
  +    output: outDartApi,
  +  );
   
     // Build finalizers.o.
  -  await _run(clang, [
  -    '-DDART_SHARED_LIB',
  -    '-DNDEBUG',
  -    '-fno-exceptions',
  -    if (os != 'windows') '-fPIC',
  -    '-O3',
  -    '-target',
  -    target,
  -    '-I',
  -    sdkIncDir.toFilePath(),
  -    '-I',
  -    outDir.resolve('include/').toFilePath(),
  -    '-c',
  -    srcDir.resolve('finalizers.c').toFilePath(),
  -    '-o',
  -    outDir.resolve('finalizers.o').toFilePath()
  -  ]);
  +  await _run(
  +    clang,
  +    [
  +      '-DDART_SHARED_LIB',
  +      '-DNDEBUG',
  +      '-fno-exceptions',
  +      if (os != 'windows') '-fPIC',
  +      '-O3',
  +      '-target',
  +      target,
  +      '-I',
  +      sdkIncDir.toFilePath(),
  +      '-I',
  +      outDir.resolve('include/').toFilePath(),
  +      '-c',
  +      srcDir.resolve('finalizers.c').toFilePath(),
  +      '-o',
  +      outFinalizers.toFilePath()
  +    ],
  +    output: outFinalizers,
  +  );
   
     // Link wasmer, dart_api_dl, and finalizers to create the output library.
  -  await _run(clang, [
  -    '-shared',
  -    if (args['sysroot'] != null) '--sysroot=${args['sysroot']}',
  -    if (os != 'windows') '-fPIC',
  -    if (os == 'windows') ...[
  -      '-lws2_32',
  -      '-ladvapi32',
  -      '-lbcrypt',
  -      '-luserenv',
  -      '-z',
  -      '/DEF:${srcDir.resolve('module.g.def').toFilePath()}',
  -      '-z',
  -      '/NODEFAULTLIB:MSVCRT',
  +  await _run(
  +    clang,
  +    [
  +      '-shared',
  +      if (args['sysroot'] != null) '--sysroot=${args['sysroot']}',
  +      if (os != 'windows') '-fPIC',
  +      if (os == 'windows') ...[
  +        '-lws2_32',
  +        '-ladvapi32',
  +        '-lbcrypt',
  +        '-luserenv',
  +        '-z',
  +        '/DEF:${srcDir.resolve('module.g.def').toFilePath()}',
  +        '-z',
  +        '/NODEFAULTLIB:MSVCRT',
  +      ],
  +      '-lm',
  +      '-target',
  +      target,
  +      outDartApi.toFilePath(),
  +      outFinalizers.toFilePath(),
  +      outWasmer.toFilePath(),
  +      '-o',
  +      outLib.toFilePath()
       ],
  -    '-lm',
  -    '-target',
  -    target,
  -    outDir.resolve('dart_api_dl.o').toFilePath(),
  -    outDir.resolve('finalizers.o').toFilePath(),
  -    outDir.resolve('$target/release/${_getWasmerLib(os)}').toFilePath(),
  -    '-o',
  -    outLib
  -  ]);
  -}
  +    output: outLib,
  +  );
  +}
  
positive.code:       srcDir.resolve('Cargo.toml').toFilePath(),
        '--release'
      ],
      environment: {
        if (args['clang'] != null) 'CC': clang,
        if (args['clangpp'] != null) ...{
  
negative.code:       ? Uri.directory(args['out-dir'] as String)
        : _getOutDir(Directory.current.uri);
    final os = _getOsFromTarget(target);
    final outLib = outDir.resolve(_getOutLib(os));
    final outWasmer = outDir.resolve('$target/release/${_getWasmerLib(os)}');
    final outDartApi = outDir.resolve('dart_api_dl.o');
    final outFinalizers = outDir.resolve('finalizers.o');
  
    print('Dart SDK directory: ${sdkDir.toFilePath()}');
    print('Dart SDK include directory: ${sdkIncDir.toFilePath()}');
  