diff options
author | obi458 <[email protected]> | 2016-10-05 10:56:34 +0200 |
---|---|---|
committer | obi458 <[email protected]> | 2016-10-05 10:56:34 +0200 |
commit | f80731ef6c9250f34dd1084c521495ea02dcf4f3 (patch) | |
tree | f6f84625aef8d1550c0b5ef24a0e3517c555713b | |
parent | cf68577c1499c64c7b154160fffe14cd57fbb6ec (diff) | |
download | relx-f80731ef6c9250f34dd1084c521495ea02dcf4f3.tar.gz relx-f80731ef6c9250f34dd1084c521495ea02dcf4f3.tar.bz2 relx-f80731ef6c9250f34dd1084c521495ea02dcf4f3.zip |
win32 cross release on unix
-rw-r--r-- | src/rlx_prv_assembler.erl | 4 | ||||
-rw-r--r-- | src/rlx_util.erl | 27 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/rlx_prv_assembler.erl b/src/rlx_prv_assembler.erl index 53b7dfa..e942b64 100644 --- a/src/rlx_prv_assembler.erl +++ b/src/rlx_prv_assembler.erl @@ -335,7 +335,7 @@ write_bin_file(State, Release, OutputDir, RelDir) -> VsnRel = filename:join(BinDir, rlx_release:canonical_name(Release)), BareRel = filename:join(BinDir, RelName), ErlOpts = rlx_state:get(State, erl_opts, ""), - {OsFamily, _OsName} = os:type(), + {OsFamily, _OsName} = rlx_util:os_type(State), StartFile = case rlx_state:get(State, extended_start_script, false) of false -> @@ -483,7 +483,7 @@ include_erts(State, Release, OutputDir, RelDir) -> ErtsVersion = rlx_release:erts(Release), ErtsDir = filename:join([Prefix, "erts-" ++ ErtsVersion]), LocalErts = filename:join([OutputDir, "erts-" ++ ErtsVersion]), - {OsFamily, _OsName} = os:type(), + {OsFamily, _OsName} = rlx_util:os_type(State), case ec_file:is_dir(ErtsDir) of false -> ?RLX_ERROR({specified_erts_does_not_exist, ErtsVersion}); diff --git a/src/rlx_util.erl b/src/rlx_util.erl index efad792..b3fc2b7 100644 --- a/src/rlx_util.erl +++ b/src/rlx_util.erl @@ -41,6 +41,8 @@ intensity/0, symlink_or_copy/2]). +-export([os_type/1]). + -define(DFLT_INTENSITY, high). -define(ONE_LEVEL_INDENT, " "). %%============================================================================ @@ -326,6 +328,31 @@ intensity() -> Mode end. +os_type(State) -> + case include_erts_is_win32(State) of + true -> {win32,nt}; + false -> os:type() + end. + +include_erts_is_win32(State) -> + case rlx_state:get(State, include_erts, true) of + true -> false; + false -> false; + Path -> is_win32_erts(Path,State) + end. + +is_win32_erts(Path,State) -> + case filelib:wildcard(filename:join([Path,"bin","erl.exe"])) of + [] -> false; + _ -> + ec_cmd_log:info(rlx_state:log(State), + "Including Erts is win32 ~n", []), + true + end. + + + + %%%=================================================================== %%% Test Functions %%%=================================================================== |