Packages

A simple Erlang/Elixir NIF wrapper for the Proj C library

Current section

Files

Jump to
proj_nif src proj_nif.erl
Raw

src/proj_nif.erl

-module(proj_nif).
-on_load(init/0).
-export([convert_crs_to_crs/4]).
-define(APPNAME, proj_nif).
-define(LIBNAME, libproj_nif).
%% Types
%%====================================================================
%% API functions
%%====================================================================
convert_crs_to_crs(_, _, _, _) -> nif_not_loaded.
%%====================================================================
%% Internal functions
%%====================================================================
init() ->
SoName = case code:priv_dir(?APPNAME) of
{error, bad_name} ->
case filelib:is_dir(filename:join(["..", "priv", "lib"])) of
true -> filename:join([filename:join(["..", "priv", "lib"]), ?LIBNAME]);
_ -> filename:join([filename:join(["priv", "lib"]), ?LIBNAME])
end;
Dir -> filename:join([filename:join(Dir, "lib")], ?LIBNAME)
end,
erlang:load_nif(SoName, 0).