Codebase list erlang-p1-xml / debian/0.2014.02.28-2 rebar.config.script.in
debian/0.2014.02.28-2

Tree @debian/0.2014.02.28-2 (Download .tar.gz)

rebar.config.script.in @debian/0.2014.02.28-2raw · history · blame

%%%-------------------------------------------------------------------
%%% @author Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%% @copyright (C) 2013, Evgeniy Khramtsov
%%% @doc
%%%
%%% @end
%%% Created :  8 May 2013 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%-------------------------------------------------------------------
Cfg = [{full_xml, @full_xml@},
       {flash_hack, @flash_hack@},
       {nif, @nif@}].

Macros = lists:flatmap(
           fun({full_xml, true}) ->
                   [{d, 'FULL_XML_SUPPORT'}];
              ({nif, true}) ->
                   [{d, 'NIF'}];
              ({flash_hack, true}) ->
                   [{d, 'ENABLE_FLASH_HACK'}];
              (_) ->
                   []
           end, Cfg),

NIFPortSpec = case lists:keysearch(nif, 1, Cfg) of
                  {value, {nif, true}} ->
                      [{"priv/lib/xml.so", ["c_src/xml.c"]}];
                  _ ->
                      []
              end,

FlashHackFlag = case lists:keysearch(flash_hack, 1, Cfg) of
                    {value, {flash_hack, true}} ->
                        " -DENABLE_FLASH_HACK";
                    _ ->
                        ""
                end,

Config = [{erl_opts, [debug_info, {src_dirs, [src, specs]}|Macros]},
          {port_env, [{"CFLAGS", "$CFLAGS -g -O2 -Wall" ++ FlashHackFlag},
                      {"LDFLAGS", "$LDFLAGS -lexpat"}]},
          {port_specs, [{"priv/lib/expat_erl.so", ["c_src/expat_erl.c"]}
                        | NIFPortSpec]}],
%%io:format("xml configuration:~n  ~p~n", [Config]),
Config.

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