Przeglądaj źródła

Make sure that the so_specs stuff is properly backwards compatible

Dave Smith 15 lat temu
rodzic
commit
ff1cf0365b
1 zmienionych plików z 23 dodań i 14 usunięć
  1. +23
    -14
      src/rebar_port_compiler.erl

+ 23
- 14
src/rebar_port_compiler.erl Wyświetl plik

@ -344,18 +344,27 @@ source_to_bin(Source) ->
filename:rootname(Source, Ext) ++ ".o".
so_specs(Config, AppFile, Bins) ->
%% Check config to see if a custom so_name has been specified
?INFO("config ~p\n", [Config]),
case rebar_config:get(Config, so_specs, undefined) of
undefined ->
%% Get the app name, which we'll use to
%% generate the linked port driver name
case rebar_app_utils:load_app_file(AppFile) of
{ok, AppName, _} ->
SoName = ?FMT("priv/~s", [lists:concat([AppName, "_drv.so"])]),
[{SoName, Bins}];
error ->
?FAIL
end;
SoSpecs -> SoSpecs
end.
undefined ->
%% New form of so_specs is not provided. See if the old form of {so_name} is available
%% instead
SoName = case rebar_config:get(Config, so_name, undefined) of
undefined ->
%% Ok, neither old nor new form is available. Use the app name and
%% generate a sensible default.
case rebar_app_utils:load_app_file(AppFile) of
{ok, AppName, _} ->
?FMT("priv/~s", [lists:concat([AppName, "_drv.so"])]);
error ->
?FAIL
end;
AName ->
%% Old form is available -- use it
?FMT("priv/~s", [AName])
end,
[{SoName, Bins}];
SoSpecs ->
SoSpecs
end.

Ładowanie…
Anuluj
Zapisz