Procházet zdrojové kódy

Fix regression in port_compiler needs_link check

pull/3/head
Tuncer Ayaz před 13 roky
rodič
revize
b48cc0c7eb
1 změnil soubory, kde provedl 12 přidání a 6 odebrání
  1. +12
    -6
      src/rebar_port_compiler.erl

+ 12
- 6
src/rebar_port_compiler.erl Zobrazit soubor

@ -115,11 +115,11 @@ compile(Config, AppFile) ->
%% Only relink if necessary, given the Target %% Only relink if necessary, given the Target
%% and list of new binaries %% and list of new binaries
lists:foreach( lists:foreach(
fun({Target, Sources}) ->
Bins = lists:map(fun source_to_bin/1, Sources),
fun({Target, Bins}) ->
AllBins = [sets:from_list(Bins), AllBins = [sets:from_list(Bins),
sets:from_list(NewBins)], sets:from_list(NewBins)],
Intersection = sets:intersection(AllBins), Intersection = sets:intersection(AllBins),
?DEBUG("Bins: ~p NewBins: ~p~n", [Bins, NewBins]),
case needs_link(Target, sets:to_list(Intersection)) of case needs_link(Target, sets:to_list(Intersection)) of
true -> true ->
LinkTemplate = select_link_template(Target), LinkTemplate = select_link_template(Target),
@ -559,14 +559,20 @@ make_port_specs(Config, AppFile, Bins) ->
true true
end, PortSpecs), end, PortSpecs),
%% TODO: DEPRECATED: remove support for non-port_specs syntax %% TODO: DEPRECATED: remove support for non-port_specs syntax
%% drop ArchRegex from specs %% drop ArchRegex from specs
lists:map(fun({_, Target, Sources}) ->
{Target, Sources};
(Spec) ->
Spec
lists:map(fun({_, Target, RawSources}) ->
{Target, sources_to_bins(RawSources)};
({Target, RawSources}) ->
{Target, sources_to_bins(RawSources)}
end, Specs0) end, Specs0)
end. end.
sources_to_bins(RawSources) ->
Sources = lists:flatmap(fun filelib:wildcard/1, RawSources),
lists:map(fun source_to_bin/1, Sources).
%% DEPRECATED %% DEPRECATED
make_so_specs(Config, AppFile, Bins) -> make_so_specs(Config, AppFile, Bins) ->
case rebar_config:get(Config, so_specs, undefined) of case rebar_config:get(Config, so_specs, undefined) of

Načítá se…
Zrušit
Uložit