summaryrefslogtreecommitdiff
path: root/src/couch/rebar.config.script
diff options
context:
space:
mode:
Diffstat (limited to 'src/couch/rebar.config.script')
-rw-r--r--src/couch/rebar.config.script17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/couch/rebar.config.script b/src/couch/rebar.config.script
index 498ce3a82..5321cff66 100644
--- a/src/couch/rebar.config.script
+++ b/src/couch/rebar.config.script
@@ -39,6 +39,13 @@ Version = case os:getenv("COUCHDB_VERSION") of
string:strip(Version0, right)
end,
+GitSha = case os:getenv("COUCHDB_GIT_SHA") of
+ false ->
+ ""; % release builds won’t get a fallback
+ GitSha0 ->
+ string:strip(GitSha0, right)
+end,
+
CouchConfig = case filelib:is_file(os:getenv("COUCHDB_CONFIG")) of
true ->
{ok, Result} = file:consult(os:getenv("COUCHDB_CONFIG")),
@@ -64,6 +71,13 @@ ConfigSrc = [["#define ", K, " ", V, $\n] || {K, V} <- ConfigH],
ConfigBin = iolist_to_binary(ConfigSrc),
ok = CopyIfDifferent(CouchJSConfig, ConfigBin),
+MD5Config = case lists:keyfind(erlang_md5, 1, CouchConfig) of
+ {erlang_md5, true} ->
+ [{d, 'ERLANG_MD5', true}];
+ _ ->
+ []
+end,
+
%% TODO support curl on Windows
{JS_CFLAGS, JS_LDFLAGS} = case lists:keyfind(with_curl, 1, CouchConfig) of
{with_curl, true} ->
@@ -142,8 +156,9 @@ AddConfig = [
{port_specs, PortSpecs},
{erl_opts, PlatformDefines ++ [
{d, 'COUCHDB_VERSION', Version},
+ {d, 'COUCHDB_GIT_SHA', GitSha},
{i, "../"}
- ]},
+ ] ++ MD5Config},
{eunit_compile_opts, PlatformDefines}
].