% vim: set ft=erlang : -*- erlang -*- % Magic lines for code editors

% Licensed under the Apache License, Version 2.0 (the "License"); you may not
% use this file except in compliance with the License. You may obtain a copy of
% the License at
%
%   http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
% License for the specific language governing permissions and limitations under
% the License.

HaveDreyfus = element(1, file:list_dir("../dreyfus")) == ok.

HastingsHome = os:getenv("HASTINGS_HOME", "../hastings").
HaveHastings = element(1, file:list_dir(HastingsHome)) == ok.

CurrOpts = case lists:keyfind(erl_opts, 1, CONFIG) of
    {erl_opts, Opts} -> Opts;
    false -> []
end,

NewOpts =
    if HaveDreyfus -> [{d, 'HAVE_DREYFUS'}]; true -> [] end ++
    if HaveHastings -> [{d, 'HAVE_HASTINGS'}]; true -> [] end ++
    [{i, "../"}] ++ CurrOpts.

lists:keystore(erl_opts, 1, CONFIG, {erl_opts, NewOpts}).
