anchor.diff:  
               lists:foldl(F, 10, Trees)
       end.
  +
  +%%
  +%% Filter a list of env vars such that only those which match the provided
  +%% architecture regex (or do not have a regex) are returned.
  +%%
  +-spec filter_defines(ErlOpts::list(),Acc::list()) -> list().
  +filter_defines([], Acc) ->
  +    lists:reverse(Acc);
  +filter_defines([{platform_define, ArchRegex, Key} | Rest], Acc) ->
  +    case rebar_utils:is_arch(ArchRegex) of
  +        true ->
  +            filter_defines(Rest, [{d, Key} | Acc]);
  +        false ->
  +            filter_defines(Rest, Acc)
  +    end;
  +filter_defines([{platform_define, ArchRegex, Key, Value} | Rest], Acc) ->
  +    case rebar_utils:is_arch(ArchRegex) of
  +        true ->
  +            filter_defines(Rest, [{d, Key, Value} | Acc]);
  +        false ->
  +            filter_defines(Rest, Acc)
  +    end;
  +filter_defines([Opt | Rest], Acc) ->
  +    filter_defines(Rest, [Opt | Acc]).
  
positive.code:     lists:any(fun(I) -> TargetLastMod < filelib:last_modified(I) end,
                [Source] ++ Hrls).
  
  -spec internal_erl_compile(Source::string(), Config::#config{}, Outdir::string()) -> 'ok' | 'skipped'.
  internal_erl_compile(Source, Config, Outdir) ->
      %% Determine the target name and includes list by inspecting the source file
      {Module, Hrls} = inspect(Source, include_path(Source, Config)),
  
  
negative.code: 
  doterl_compile(Config, OutDir, MoreSources) ->
      FirstErls = rebar_config:get_list(Config, erl_first_files, []),
      ErlOpts = filter_defines(rebar_config:get(Config, erl_opts, []), []),
      ?DEBUG("erl_opts ~p~n",[ErlOpts]),
      %% Support the src_dirs option allowing multiple directories to
      %% contain erlang source. This might be used, for example, should eunit tests be
      %% separated from the core application source.
  