2016-12-27 10:44:07 +01:00
|
|
|
%%%----------------------------------------------------------------------
|
|
|
|
%%%
|
2017-01-02 21:41:53 +01:00
|
|
|
%%% ejabberd, Copyright (C) 2002-2017 ProcessOne
|
2016-12-27 10:44:07 +01:00
|
|
|
%%%
|
|
|
|
%%% 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.
|
|
|
|
%%%
|
|
|
|
%%%----------------------------------------------------------------------
|
2015-12-18 17:17:13 +01:00
|
|
|
|
2017-06-14 14:18:35 +02:00
|
|
|
{deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager",
|
|
|
|
{tag, {if_version_above, "17", "3.4.2", "3.2.1"}}}},
|
2017-06-07 16:18:41 +02:00
|
|
|
{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.9"}}},
|
2017-07-20 11:43:06 +02:00
|
|
|
{cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.10"}}},
|
2017-07-19 10:58:10 +02:00
|
|
|
{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.15"}}},
|
2017-06-09 10:34:35 +02:00
|
|
|
{stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.9"}}},
|
|
|
|
{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.23"}}},
|
2017-07-20 11:43:06 +02:00
|
|
|
{xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.14"}}},
|
2017-06-09 10:34:35 +02:00
|
|
|
{fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.10"}}},
|
2016-11-25 13:02:31 +01:00
|
|
|
{jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}},
|
2017-07-25 17:59:32 +02:00
|
|
|
{p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.2"}}},
|
2016-03-18 19:22:59 +01:00
|
|
|
{luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}},
|
2017-09-06 17:35:33 +02:00
|
|
|
{jose, ".*", {git, "git://github.com/potatosalad/erlang-jose.git", {tag, "1.8.4"}}},
|
2017-07-19 10:58:10 +02:00
|
|
|
{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"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql",
|
2017-06-07 16:56:00 +02:00
|
|
|
{tag, "1.0.3"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql",
|
2017-06-07 16:56:00 +02:00
|
|
|
{tag, "1.1.3"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3",
|
2016-03-03 10:34:45 +01:00
|
|
|
{tag, "1.1.5"}}}},
|
2017-01-29 14:16:35 +01:00
|
|
|
{if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam",
|
2017-06-28 16:46:48 +02:00
|
|
|
{tag, "1.0.3"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib",
|
2017-01-10 15:11:41 +01:00
|
|
|
{tag, "1.0.2"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client",
|
2016-09-16 14:59:06 +02:00
|
|
|
{tag, "2.4.1"}}}},
|
2017-01-26 16:43:47 +01:00
|
|
|
%% Elixir support, needed to run tests
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir",
|
2017-06-07 17:09:06 +02:00
|
|
|
{tag, {if_version_above, "17", "v1.4.4", "v1.1.1"}}}}},
|
2016-02-03 11:00:12 +01:00
|
|
|
%% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin
|
2017-01-26 16:43:47 +01:00
|
|
|
{if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*",
|
|
|
|
{git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv",
|
2017-06-09 10:34:35 +02:00
|
|
|
{tag, "1.0.5"}}}},
|
2016-03-31 16:05:18 +02:00
|
|
|
{if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck",
|
|
|
|
{tag, "0.8.4"}}}},
|
2016-03-31 14:36:30 +02:00
|
|
|
{if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git",
|
2016-08-05 13:03:22 +02:00
|
|
|
{tag, "1.0.5c"}}}},
|
2016-02-25 12:19:00 +01:00
|
|
|
{if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis",
|
2016-03-03 10:34:45 +01:00
|
|
|
{tag, "v1.0.8"}}}}]}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
2015-12-18 17:20:18 +01:00
|
|
|
{if_var_true, latest_deps,
|
2016-02-03 16:26:15 +01:00
|
|
|
{floating_deps, [cache_tab,
|
2016-02-03 16:13:16 +01:00
|
|
|
fast_tls,
|
2016-02-03 10:12:25 +01:00
|
|
|
stringprep,
|
2016-02-03 19:03:17 +01:00
|
|
|
fast_xml,
|
2015-12-18 17:20:18 +01:00
|
|
|
esip,
|
2016-02-03 16:13:16 +01:00
|
|
|
stun,
|
2016-02-03 10:55:40 +01:00
|
|
|
fast_yaml,
|
2016-11-19 11:03:33 +01:00
|
|
|
xmpp,
|
2015-12-18 17:20:18 +01:00
|
|
|
p1_utils,
|
|
|
|
p1_mysql,
|
|
|
|
p1_pgsql,
|
2017-07-25 17:59:32 +02:00
|
|
|
p1_oauth2,
|
2017-01-29 14:35:22 +01:00
|
|
|
epam,
|
2016-02-03 12:30:12 +01:00
|
|
|
ezlib,
|
2016-02-03 11:17:16 +01:00
|
|
|
iconv]}}.
|
2015-12-18 17:20:18 +01:00
|
|
|
|
2017-08-07 09:32:41 +02:00
|
|
|
{erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl", "src/mod_push.erl"]}.
|
2016-03-04 11:32:23 +01:00
|
|
|
|
2015-12-18 17:17:13 +01:00
|
|
|
{erl_opts, [nowarn_deprecated_function,
|
2016-11-19 11:03:33 +01:00
|
|
|
{i, "include"},
|
|
|
|
{i, "deps/fast_xml/include"},
|
|
|
|
{i, "deps/xmpp/include"},
|
2017-03-10 13:12:43 +01:00
|
|
|
{i, "deps/p1_utils/include"},
|
2016-01-18 13:10:12 +01:00
|
|
|
{if_var_false, debug, no_debug_info},
|
2016-03-21 12:01:20 +01:00
|
|
|
{if_var_true, debug, debug_info},
|
2017-05-23 12:12:48 +02:00
|
|
|
{if_var_true, sip, {d, 'SIP'}},
|
|
|
|
{if_var_true, stun, {d, 'STUN'}},
|
2015-12-18 17:17:13 +01:00
|
|
|
{if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATWAY_WORKAROUND'}},
|
|
|
|
{if_var_match, db_type, mssql, {d, 'mssql'}},
|
2016-09-08 16:29:19 +02:00
|
|
|
{if_var_true, elixir, {d, 'ELIXIR_ENABLED'}},
|
2015-12-18 17:17:13 +01:00
|
|
|
{if_var_true, erlang_deprecated_types, {d, 'ERL_DEPRECATED_TYPES'}},
|
2017-05-17 18:37:06 +02:00
|
|
|
{if_have_fun, {crypto, strong_rand_bytes, 1}, {d, 'STRONG_RAND_BYTES'}},
|
2017-08-17 18:32:15 +02:00
|
|
|
{if_have_fun, {rand, uniform, 1}, {d, 'RAND_UNIFORM'}},
|
2017-05-17 18:37:06 +02:00
|
|
|
{if_have_fun, {gb_sets, iterator_from, 2}, {d, 'GB_SETS_ITERATOR_FROM'}},
|
2017-05-13 12:11:08 +02:00
|
|
|
{if_have_fun, {public_key, short_name_hash, 1}, {d, 'SHORT_NAME_HASH'}},
|
2015-12-18 17:17:13 +01:00
|
|
|
{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}]}.
|
|
|
|
|
2017-01-26 16:43:47 +01:00
|
|
|
{if_rebar3, {plugins, [rebar3_hex, {provider_asn1, "0.2.0"}]}}.
|
|
|
|
{if_not_rebar3, {plugins, [
|
2017-06-07 16:06:28 +02:00
|
|
|
deps_erl_opts, override_deps_versions,
|
2017-01-26 16:43:47 +01:00
|
|
|
{if_var_true, elixir, rebar_elixir_compiler},
|
|
|
|
{if_var_true, elixir, rebar_exunit}
|
|
|
|
]}}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
2016-02-25 12:16:47 +01:00
|
|
|
{if_var_true, elixir,
|
|
|
|
{lib_dirs, ["deps/elixir/lib"]}}.
|
|
|
|
{if_var_true, elixir,
|
|
|
|
{src_dirs, ["include"]}}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
|
|
|
{sub_dirs, ["rel"]}.
|
|
|
|
|
|
|
|
{keep_build_info, true}.
|
|
|
|
|
|
|
|
{xref_warnings, false}.
|
|
|
|
|
2017-02-15 14:11:12 +01:00
|
|
|
{xref_checks, [deprecated_function_calls]}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
|
|
|
{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\":_/_)"},
|
2016-11-13 12:29:52 +01:00
|
|
|
{if_var_false, elixir, "(\"Elixir.*\":_/_)"},
|
2015-12-18 17:17:13 +01:00
|
|
|
{if_var_false, redis, "(\"eredis\":_/_)"}]}.
|
|
|
|
|
2016-11-19 11:03:33 +01:00
|
|
|
{eunit_compile_opts, [{i, "tools"},
|
|
|
|
{i, "include"},
|
2017-03-10 13:12:43 +01:00
|
|
|
{i, "deps/p1_utils/include"},
|
2016-11-19 11:03:33 +01:00
|
|
|
{i, "deps/fast_xml/include"},
|
|
|
|
{i, "deps/xmpp/include"}]}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
2016-05-31 11:29:19 +02:00
|
|
|
{if_version_above, "17", {cover_enabled, true}}.
|
2016-03-21 12:01:20 +01:00
|
|
|
{cover_export_enabled, true}.
|
|
|
|
|
2016-02-03 16:13:16 +01:00
|
|
|
{post_hook_configure, [{"fast_tls", []},
|
2016-02-03 10:12:25 +01:00
|
|
|
{"stringprep", []},
|
2016-02-03 10:55:40 +01:00
|
|
|
{"fast_yaml", []},
|
2017-05-23 12:12:48 +02:00
|
|
|
{if_var_true, sip, {"esip", []}},
|
2016-02-03 19:03:17 +01:00
|
|
|
{"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]},
|
2017-01-29 14:35:22 +01:00
|
|
|
{if_var_true, pam, {"epam", []}},
|
2016-02-03 12:30:12 +01:00
|
|
|
{if_var_true, zlib, {"ezlib", []}},
|
2016-02-03 11:17:16 +01:00
|
|
|
{if_var_true, iconv, {"iconv", []}}]}.
|
2015-12-18 17:17:13 +01:00
|
|
|
|
|
|
|
{port_env, [{"CFLAGS", "-g -O2 -Wall"}]}.
|
|
|
|
|
|
|
|
{port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}.
|
2016-02-03 11:00:12 +01:00
|
|
|
|
|
|
|
%% Local Variables:
|
|
|
|
%% mode: erlang
|
|
|
|
%% End:
|
2016-02-03 11:10:11 +01:00
|
|
|
%% vim: set filetype=erlang tabstop=8:
|