%% -*- mode: erlang;erlang-indent-level: 2;indent-tabs-mode: nil -*-
%% {erl_opts, [debug_info]}.

%% {so_specs,
%%  [{"priv/bcrypt_nif.so",
%%    ["c_src/*.c"]}]}.
{port_env, [
  {"DRV_LDFLAGS","-shared $ERL_LDFLAGS -lpthread"},
  {"darwin", "DRV_LDFLAGS", "-bundle -flat_namespace -undefined suppress $ERL_LDFLAGS -lpthread"},
  {"solaris", "ERL_LDFLAGS", "-lnsl $ERL_LDFLAGS"},
  {"DRV_CFLAGS","-Ic_src -Wall -fPIC $ERL_CFLAGS"},
  {"LDFLAGS", "$LDFLAGS -lpthread"}
]}.

{port_specs, [
    {"priv/bcrypt_nif.so", ["c_src/*.c"]},
    {"priv/bcrypt", [
        "c_src/bcrypt_port.c",
        "c_src/bcrypt.c",
        "c_src/blowfish.c"
    ]}
]}.

%% These post_hooks are for rebar2. rebar.config.script removes them if
%% rebar3 is detected
{post_hooks,
 [{clean, "make -C c_src clean"},
  {compile, "make -C c_src"}]}.

%% plugins and provider_hooks are for rebar3. rebar.config.script removes them
%% if rebar2 is detected
{plugins, [pc]}.
{provider_hooks, [
  {pre, [
    {compile, {pc, compile}},
    {clean, {pc, clean}}
  ]}
]}.
