%%%-------------------------------------------------------------------
%%% @author Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%% @copyright (C) 2013, Evgeniy Khramtsov
%%% @doc
%%% Rebar build script. Compliant with rebar and rebar3.
%%% @end
%%% Created :  8 May 2013 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%-------------------------------------------------------------------

Cfg = case file:consult("vars.config") of
          {ok, Terms} ->
              Terms;
          _Err ->
              []
      end ++ [{cflags, ""}, {ldflags, ""}],
{cflags, CfgCFlags} = lists:keyfind(cflags, 1, Cfg),
{ldflags, CfgLDFlags} = lists:keyfind(ldflags, 1, Cfg),

NIFPortSpec = [{"priv/lib/xml.so", ["c_src/xml.c"]},
               {"priv/lib/xml_stream.so", ["c_src/xml_stream.c"]}],

Config = [{erl_opts, [debug_info, {src_dirs, ["src"]}]},
          {port_env, [{"CFLAGS", CfgCFlags ++ " $CFLAGS -g -O2 -Wall"},
                      {"LDFLAGS", CfgLDFlags ++ " $LDFLAGS -lexpat"}]},
          {port_specs, NIFPortSpec},
          {profiles, [{test, [{erl_opts, [{src_dirs, ["src", "test"]}]}]}]},
          {plugins, [rebar3_hex, rebar3_exunit]}],
%%io:format("xml configuration:~n  ~p~n", [Config]),
Config.

%% Local Variables:
%% mode: erlang
%% End:
%% vim: set filetype=erlang tabstop=8:
