mirror of
https://github.com/correl/rebar.git
synced 2024-11-27 11:09:55 +00:00
Merging w/ mainline
This commit is contained in:
commit
0f7b47ce7b
4 changed files with 24 additions and 10 deletions
|
@ -1,5 +1,6 @@
|
||||||
#!/usr/bin/env escript
|
#!/usr/bin/env escript
|
||||||
%% -*- erlang -*-
|
%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
||||||
|
%% ex: ft=erlang ts=4 sw=4 et
|
||||||
|
|
||||||
main(Args) ->
|
main(Args) ->
|
||||||
%% Get a string repr of build time
|
%% Get a string repr of build time
|
||||||
|
|
|
@ -106,13 +106,20 @@ inspect(Source, IncludePath) ->
|
||||||
-spec inspect_epp(Epp::pid(), Module::string(), Includes::[string()]) -> {string(), [string()]}.
|
-spec inspect_epp(Epp::pid(), Module::string(), Includes::[string()]) -> {string(), [string()]}.
|
||||||
inspect_epp(Epp, Module, Includes) ->
|
inspect_epp(Epp, Module, Includes) ->
|
||||||
case epp:parse_erl_form(Epp) of
|
case epp:parse_erl_form(Epp) of
|
||||||
{ok, {attribute, _, module, ActualModule}} ->
|
{ok, {attribute, _, module, ModInfo}} ->
|
||||||
%% If the module name includes package info, we get a list of atoms...
|
case ModInfo of
|
||||||
case is_list(ActualModule) of
|
%% Typical module name, single atom
|
||||||
true ->
|
ActualModule when is_atom(ActualModule) ->
|
||||||
|
ActualModuleStr = atom_to_list(ActualModule);
|
||||||
|
%% Packag-ized module name, list of atoms
|
||||||
|
ActualModule when is_list(ActualModule) ->
|
||||||
ActualModuleStr = string:join([atom_to_list(P) || P <- ActualModule], ".");
|
ActualModuleStr = string:join([atom_to_list(P) || P <- ActualModule], ".");
|
||||||
false ->
|
%% Parameterized module name, single atom
|
||||||
ActualModuleStr = atom_to_list(ActualModule)
|
{ActualModule, _} when is_atom(ActualModule) ->
|
||||||
|
ActualModuleStr = atom_to_list(ActualModule);
|
||||||
|
%% Parameterized and packagized module name, list of atoms
|
||||||
|
{ActualModule, _} when is_list(ActualModule) ->
|
||||||
|
ActualModuleStr = string:join([atom_to_list(P) || P <- ActualModule], ".")
|
||||||
end,
|
end,
|
||||||
inspect_epp(Epp, ActualModuleStr, Includes);
|
inspect_epp(Epp, ActualModuleStr, Includes);
|
||||||
{ok, {attribute, 1, file, {Module, 1}}} ->
|
{ok, {attribute, 1, file, {Module, 1}}} ->
|
||||||
|
|
|
@ -253,7 +253,9 @@ default_env() ->
|
||||||
" -I", filename:join(erts_dir(), include),
|
" -I", filename:join(erts_dir(), include),
|
||||||
" "])},
|
" "])},
|
||||||
{"DRIVER_LDFLAGS", lists:concat([" -L", code:lib_dir(erl_interface, lib),
|
{"DRIVER_LDFLAGS", lists:concat([" -L", code:lib_dir(erl_interface, lib),
|
||||||
" -lerl_interface -lei"])}].
|
" -lerl_interface -lei"])},
|
||||||
|
{"ERLANG_ARCH", integer_to_list(8 * erlang:system_info(wordsize))},
|
||||||
|
{"ERLANG_TARGET", rebar_utils:get_arch()}].
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
-export([get_cwd/0,
|
-export([get_cwd/0,
|
||||||
is_arch/1,
|
is_arch/1,
|
||||||
|
get_arch/0,
|
||||||
get_os/0,
|
get_os/0,
|
||||||
sh/2, sh/3,
|
sh/2, sh/3,
|
||||||
sh_failfast/2,
|
sh_failfast/2,
|
||||||
|
@ -48,14 +49,17 @@ get_cwd() ->
|
||||||
|
|
||||||
|
|
||||||
is_arch(ArchRegex) ->
|
is_arch(ArchRegex) ->
|
||||||
Arch = erlang:system_info(system_architecture),
|
case re:run(get_arch(), ArchRegex, [{capture, none}]) of
|
||||||
case re:run(Arch, ArchRegex, [{capture, none}]) of
|
|
||||||
match ->
|
match ->
|
||||||
true;
|
true;
|
||||||
nomatch ->
|
nomatch ->
|
||||||
false
|
false
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
get_arch() ->
|
||||||
|
Words = integer_to_list(8 * erlang:system_info(wordsize)),
|
||||||
|
erlang:system_info(system_architecture) ++ "-" ++ Words.
|
||||||
|
|
||||||
get_os() ->
|
get_os() ->
|
||||||
Arch = erlang:system_info(system_architecture),
|
Arch = erlang:system_info(system_architecture),
|
||||||
case match_first([{"linux", linux}, {"darwin", darwin}], Arch) of
|
case match_first([{"linux", linux}, {"darwin", darwin}], Arch) of
|
||||||
|
|
Loading…
Reference in a new issue