%%%---------------------------------------------------------------------- %%% %%% ejabberd, Copyright (C) 2002-2017 ProcessOne %%% %%% This program is free software; you can redistribute it and/or %%% modify it under the terms of the GNU General Public License as %%% published by the Free Software Foundation; either version 2 of the %%% License, or (at your option) any later version. %%% %%% This program is distributed in the hope that it will be useful, %%% but WITHOUT ANY WARRANTY; without even the implied warranty of %%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %%% General Public License for more details. %%% %%% You should have received a copy of the GNU General Public License along %%% with this program; if not, write to the Free Software Foundation, Inc., %%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. %%% %%%---------------------------------------------------------------------- {deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager", {tag, {if_version_above, "17", "3.4.2", "3.2.1"}}}}, {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.9"}}}, {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.10"}}}, {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.15"}}}, {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.9"}}}, {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.23"}}}, {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.14"}}}, {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.10"}}}, {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}, {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.2"}}}, {luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}}, {jose, ".*", {git, "git://github.com/potatosalad/erlang-jose.git", {branch, "master"}}}, {if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.14"}}}}, {if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.15"}}}}, {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql", {tag, "1.0.3"}}}}, {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql", {tag, "1.1.3"}}}}, {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3", {tag, "1.1.5"}}}}, {if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam", {tag, "1.0.3"}}}}, {if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib", {tag, "1.0.2"}}}}, {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", {tag, "2.4.1"}}}}, %% Elixir support, needed to run tests {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", {tag, {if_version_above, "17", "v1.4.4", "v1.1.1"}}}}}, %% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin {if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*", {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}}, {if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv", {tag, "1.0.5"}}}}, {if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck", {tag, "0.8.4"}}}}, {if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git", {tag, "1.0.5c"}}}}, {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", {tag, "v1.0.8"}}}}]}. {if_var_true, latest_deps, {floating_deps, [cache_tab, fast_tls, stringprep, fast_xml, esip, stun, fast_yaml, xmpp, p1_utils, p1_mysql, p1_pgsql, p1_oauth2, epam, ezlib, iconv]}}. {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl", "src/mod_push.erl"]}. {erl_opts, [nowarn_deprecated_function, {i, "include"}, {i, "deps/fast_xml/include"}, {i, "deps/xmpp/include"}, {i, "deps/p1_utils/include"}, {if_var_false, debug, no_debug_info}, {if_var_true, debug, debug_info}, {if_var_true, sip, {d, 'SIP'}}, {if_var_true, stun, {d, 'STUN'}}, {if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATWAY_WORKAROUND'}}, {if_var_match, db_type, mssql, {d, 'mssql'}}, {if_var_true, elixir, {d, 'ELIXIR_ENABLED'}}, {if_var_true, erlang_deprecated_types, {d, 'ERL_DEPRECATED_TYPES'}}, {if_have_fun, {crypto, strong_rand_bytes, 1}, {d, 'STRONG_RAND_BYTES'}}, {if_have_fun, {rand, uniform, 1}, {d, 'RAND_UNIFORM'}}, {if_have_fun, {gb_sets, iterator_from, 2}, {d, 'GB_SETS_ITERATOR_FROM'}}, {if_have_fun, {public_key, short_name_hash, 1}, {d, 'SHORT_NAME_HASH'}}, %% {if_have_fun, {public_key, generate_key, 1}, {d, 'GENERATE_RSA_KEY'}}, {if_version_above, "19", {d, 'GENERATE_RSA_KEY'}}, {if_var_true, hipe, native}, {src_dirs, [asn1, src, {if_var_true, tools, tools}, {if_var_true, elixir, include}]}]}. {deps_erl_opts, [{if_var_true, hipe, native}]}. {if_rebar3, {plugins, [rebar3_hex, {provider_asn1, "0.2.0"}]}}. {if_not_rebar3, {plugins, [ deps_erl_opts, override_deps_versions, {if_var_true, elixir, rebar_elixir_compiler}, {if_var_true, elixir, rebar_exunit} ]}}. {if_var_true, elixir, {lib_dirs, ["deps/elixir/lib"]}}. {if_var_true, elixir, {src_dirs, ["include"]}}. {sub_dirs, ["rel"]}. {keep_build_info, true}. {xref_warnings, false}. {xref_checks, [deprecated_function_calls]}. {xref_exclusions, [ "(\"gen_transport\":_/_)", "(\"eprof\":_/_)", {if_var_false, mysql, "(\".*mysql.*\":_/_)"}, {if_var_false, pgsql, "(\".*pgsql.*\":_/_)"}, {if_var_false, pam, "(\"epam\":_/_)"}, {if_var_false, riak, "(\"riak.*\":_/_)"}, {if_var_true, riak, "(\"riak_object\":_/_)"}, {if_var_false, zlib, "(\"ezlib\":_/_)"}, {if_var_false, http, "(\"lhttpc\":_/_)"}, {if_var_false, iconv, "(\"iconv\":_/_)"}, {if_var_false, odbc, "(\"odbc\":_/_)"}, {if_var_false, sqlite, "(\"sqlite3\":_/_)"}, {if_var_false, elixir, "(\"Elixir.*\":_/_)"}, {if_var_false, redis, "(\"eredis\":_/_)"}]}. {eunit_compile_opts, [{i, "tools"}, {i, "include"}, {i, "deps/p1_utils/include"}, {i, "deps/fast_xml/include"}, {i, "deps/xmpp/include"}]}. {if_version_above, "17", {cover_enabled, true}}. {cover_export_enabled, true}. {post_hook_configure, [{"fast_tls", []}, {"stringprep", []}, {"fast_yaml", []}, {if_var_true, sip, {"esip", []}}, {"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, {if_var_true, pam, {"epam", []}}, {if_var_true, zlib, {"ezlib", []}}, {if_var_true, iconv, {"iconv", []}}]}. {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}. {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. %% Local Variables: %% mode: erlang %% End: %% vim: set filetype=erlang tabstop=8: