Browse Source

pass objectfile name to opts_changed instead of recalculating

pull/323/head
Tristan Sloughter 10 years ago
parent
commit
7cddb2a685
1 changed files with 4 additions and 6 deletions
  1. +4
    -6
      src/rebar_erlc_compiler.erl

+ 4
- 6
src/rebar_erlc_compiler.erl View File

@ -178,17 +178,15 @@ erl_first_files(Config, NeededErlFiles) ->
%% dependencies induced by given graph G.
needed_files(G, ErlOpts, Dir, OutDir, SourceFiles) ->
lists:filter(fun(Source) ->
Target = target_base(OutDir, Source) ++ ".beam",
TargetBase = target_base(OutDir, Source),
Target = TargetBase ++ ".beam",
Opts = [{outdir, filename:dirname(Target)}
,{i, filename:join(Dir, "include")}] ++ ErlOpts,
digraph:vertex(G, Source) > {Source, filelib:last_modified(Target)}
orelse opts_changed(Opts, Target)
orelse opts_changed(Opts, TargetBase)
end, SourceFiles).
opts_changed(Opts, Target) ->
Basename = filename:basename(Target, ".beam"),
Dirname = filename:dirname(Target),
ObjectFile = filename:join([Dirname, Basename]),
opts_changed(Opts, ObjectFile) ->
case code:load_abs(ObjectFile) of
{module, Mod} ->
Compile = Mod:module_info(compile),

Loading…
Cancel
Save