anchor.diff:  
   -spec compile(Config::rebar_config:config(), AppFile::file:filename()) -> 'ok'.
   compile(Config, _AppFile) ->
  -    ?DEPRECATED(xrl_opts, fail_on_warning, warnings_as_errors,
  -                rebar_config:get_list(Config, xrl_opts, []),
  -                "once R14B04 is released"),
  -    ?DEPRECATED(yrl_opts, fail_on_warning, warnings_as_errors,
  -                rebar_config:get_list(Config, yrl_opts, []),
  -                "once R14B04 is released"),
  -
       rebar_base_compiler:run(Config,
                               check_files(rebar_config:get_local(
                                             Config, xrl_first_files, [])),
  
positive.code:     case needs_compile(Source, Target, []) of
          true ->
              case Mod:file(Source, Opts) of
                  {ok, _, []} ->
                      ok;
                  {ok, _, _Warnings} ->
                      %% TODO: remove once R14B04 is released
                      case lists:member(fail_on_warning, Opts) of
                          true ->
                              ?FAIL;
                          false ->
                              ok
                      end;
                  _X ->
                      ?FAIL
              end;
  
negative.code: -spec compile_xrl(Source::file:filename(), Target::file:filename(),
                    Config::rebar_config:config()) -> 'ok'.
  compile_xrl(Source, Target, Config) ->
      Opts = [{scannerfile, Target} | rebar_config:get(Config, xrl_opts, [])],
      compile_xrl_yrl(Source, Target, Opts, leex).
  
  -spec compile_yrl(Source::file:filename(), Target::file:filename(),
                    Config::rebar_config:config()) -> 'ok'.
  compile_yrl(Source, Target, Config) ->
      Opts = [{parserfile, Target} | rebar_config:get(Config, yrl_opts, [])],
      compile_xrl_yrl(Source, Target, Opts, yecc).
  
  -spec compile_xrl_yrl(Source::file:filename(), Target::file:filename(),
  