Przeglądaj źródła

Add support for arch specific port_sources

On one project I have a need to specify port_sources on R14 only
and on another different project port_sources for Darwin and Linux.
To this end add support to handle tuples of the form
{ArchRegex, PortSource} in the port_sources list, eg:

    {port_sources, [{"R14", ["c_src/*.c"]}]}.
pull/3/head
Andrew Tunnell-Jones 14 lat temu
committed by Tuncer Ayaz
rodzic
commit
b52b82cc29
1 zmienionych plików z 13 dodań i 1 usunięć
  1. +13
    -1
      src/rebar_port_compiler.erl

+ 13
- 1
src/rebar_port_compiler.erl Wyświetl plik

@ -37,7 +37,11 @@
%% Supported configuration variables:
%%
%% * port_sources - Erlang list of files and/or wildcard strings to be compiled
%% * port_sources - Erlang list of files and/or wildcard strings to be
%% compiled. Platform specific sources can be specified
%% by enclosing a string in a tuple of the form
%% {Regex, String} wherein Regex is a regular expression
%% that is checked against the system architecture.
%%
%% * so_specs - Erlang list of tuples of the form {"priv/so_name.so", ["c_src/object_file_name.o"]} useful for
%% building multiple *.so files.
@ -136,6 +140,14 @@ clean(Config, AppFile) ->
expand_sources([], Acc) ->
Acc;
expand_sources([{ArchRegex, Spec} | Rest], Acc) ->
case rebar_utils:is_arch(ArchRegex) of
true ->
Acc2 = filelib:wildcard(Spec) ++ Acc,
expand_sources(Rest, Acc2);
false ->
expand_sources(Rest, Acc)
end;
expand_sources([Spec | Rest], Acc) ->
Acc2 = filelib:wildcard(Spec) ++ Acc,
expand_sources(Rest, Acc2).

Ładowanie…
Anuluj
Zapisz