anchor.diff:  %% parse transforms, behaviours etc.) located in their directories or given
   %% InclDirs. Note that last modification times stored in vertices already respect
   %% dependencies induced by given graph G.
  -init_erlcinfo(InclDirs, Erls, Dir) ->
  +init_erlcinfo(InclDirs, Erls, Dir, OutDir) ->
       G = digraph:new([acyclic]),
       try restore_erlcinfo(G, InclDirs, Dir)
       catch
  
positive.code:     case filelib:is_regular(Source) of
          true ->
              %% Actually exists, don't delete
              ok;
          false ->
              Target = target_base(OutDir, Source) ++ ".beam",
              ?DEBUG("Source ~s is gone, deleting previous beam file if it exists ~s", [Source, Target]),
              file:delete(Target),
              digraph:del_vertex(G, Source)
      end.
  
  opts_changed(NewOpts, Target) ->
  
negative.code: 
      OutDir1 = proplists:get_value(outdir, ErlOpts, OutDir),
  
      G = init_erlcinfo(proplists:get_all_values(i, ErlOpts), AllErlFiles, Dir, OutDir),
  
      NeededErlFiles = needed_files(G, ErlOpts, Dir, OutDir1, AllErlFiles),
      {ErlFirstFiles, ErlOptsFirst} = erl_first_files(Config, ErlOpts, Dir, NeededErlFiles),
  