summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rebar_port_compiler.erl73
1 files changed, 37 insertions, 36 deletions
diff --git a/src/rebar_port_compiler.erl b/src/rebar_port_compiler.erl
index 19c6f79..5ae1b40 100644
--- a/src/rebar_port_compiler.erl
+++ b/src/rebar_port_compiler.erl
@@ -115,20 +115,21 @@ compile(Config, AppFile) ->
%% Only relink if necessary, given the SoName
%% and list of new binaries
lists:foreach(
- fun({SoName,Bins}) ->
- AllBins = [sets:from_list(Bins), sets:from_list(NewBins)],
- Intersection = sets:intersection(AllBins),
- case needs_link(SoName, sets:to_list(Intersection)) of
- true ->
- rebar_utils:sh(
- ?FMT("$CC ~s $LDFLAGS $DRV_LDFLAGS -o ~s",
- [string:join(Bins, " "), SoName]),
- [{env, Env}]);
- false ->
- ?INFO("Skipping relink of ~s\n", [SoName]),
- ok
- end
- end, SoSpecs)
+ fun({SoName,Bins}) ->
+ AllBins = [sets:from_list(Bins),
+ sets:from_list(NewBins)],
+ NewBins1 = sets:intersection(AllBins),
+ case needs_link(SoName, sets:to_list(NewBins1)) of
+ true ->
+ Fmt = "$CC ~s $LDFLAGS $DRV_LDFLAGS -o ~s",
+ Vars = [string:join(Bins, " "), SoName],
+ rebar_utils:sh(?FMT(Fmt, Vars),
+ [{env, Env}]);
+ false ->
+ ?INFO("Skipping relink of ~s\n", [SoName]),
+ ok
+ end
+ end, SoSpecs)
end.
clean(Config, AppFile) ->
@@ -225,8 +226,8 @@ compile_each([Source | Rest], Config, Env, NewBins, ExistingBins) ->
[Source, Bin]), [{env, Env}]);
"$CXX" ->
rebar_utils:sh(
- ?FMT("$CXX -c $CXXFLAGS $DRV_CFLAGS ~s -o ~s",
- [Source, Bin]), [{env, Env}])
+ ?FMT("$CXX -c $CXXFLAGS $DRV_CFLAGS ~s -o ~s",
+ [Source, Bin]), [{env, Env}])
end,
compile_each(Rest, Config, Env, [Bin | NewBins], ExistingBins);
@@ -274,16 +275,16 @@ compiler(_) -> "$CC".
%%
apply_defaults(Vars, Defaults) ->
dict:to_list(
- dict:merge(fun(Key, VarValue, DefaultValue) ->
- case is_expandable(DefaultValue) of
- true ->
- expand_env_variable(DefaultValue,
- Key, VarValue);
- false -> VarValue
- end
- end,
- dict:from_list(Vars),
- dict:from_list(Defaults))).
+ dict:merge(fun(Key, VarValue, DefaultValue) ->
+ case is_expandable(DefaultValue) of
+ true ->
+ expand_env_variable(DefaultValue,
+ Key, VarValue);
+ false -> VarValue
+ end
+ end,
+ dict:from_list(Vars),
+ dict:from_list(Defaults))).
%%
%% Given a list of {Key, Value} environment variables, where Key may be defined
%% multiple times, walk the list and expand each self-reference so that we
@@ -329,16 +330,16 @@ expand_vars_loop(Vars0, Count) ->
%%
expand_vars(Key, Value, Vars) ->
lists:foldl(
- fun({AKey, AValue}, Acc) ->
- NewValue = case AKey of
- Key ->
- AValue;
- _ ->
- expand_env_variable(AValue, Key, Value)
- end,
- [{AKey, NewValue} | Acc]
- end,
- [], Vars).
+ fun({AKey, AValue}, Acc) ->
+ NewValue = case AKey of
+ Key ->
+ AValue;
+ _ ->
+ expand_env_variable(AValue, Key, Value)
+ end,
+ [{AKey, NewValue} | Acc]
+ end,
+ [], Vars).
%%